SpyBara
Go Premium

Documentation 2026-09-17 05:00 UTC to 2026-09-18 23:58 UTC

123 files changed +5,745 −2,465. View all changes and history on the product overview
2026
Wed 30 23:00 Tue 29 23:58 Mon 28 22:59 Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02

accessibility.md +60 −54

Details

6 6 

7> Richten Sie Claude Code für Bildschirmleser wie VoiceOver und NVDA ein, sowie Einstellungen für Bildschirmlupe, reduzierte Bewegung und farbenblindfreundliche Designs.7> Richten Sie Claude Code für Bildschirmleser wie VoiceOver und NVDA ein, sowie Einstellungen für Bildschirmlupe, reduzierte Bewegung und farbenblindfreundliche Designs.

8 8 

9Claude Code verfügt über einen Bildschirmleser-Modus, der die visuelle Terminaloberfläche durch einfachen, linearen Text ersetzt. Anstelle von Kästchen, Fortschrittsanimationen und direkten Neuzeichnungen gibt der Modus beschriftete Zeilen aus, die ein Bildschirmleser wie VoiceOver oder NVDA der Reihe nach vorliest, sodass Sie ein vollständiges Gespräch führen, Werkzeugberechtigungen genehmigen und die Ausgabe von Anfang bis Ende überprüfen können.9Claude Code verfügt über einen Bildschirmleser-Modus, der die visuelle Terminaloberfläche durch einfachen, linearen Text ersetzt. Anstelle von Kästchen, Fortschrittsanimationen und direkten Neuzeichnungen gibt Claude Code beschriftete Zeilen aus, die ein Bildschirmleser wie VoiceOver oder NVDA der Reihe nach vorliest. Sie können ein vollständiges Gespräch führen, Werkzeugberechtigungen genehmigen und die Ausgabe von Anfang bis Ende überprüfen.

10 10 

11Der Bildschirmleser-Modus ist optional. Wenn Sie stattdessen eine Bildschirmlupe, reduzierte Bewegung oder ein farbenblindfreundliches Design verwenden, siehe [Barrierefreiheitseinstellungen außerhalb des Bildschirmleser-Modus](#accessibility-settings-beyond-screen-reader-mode).11Der Bildschirmleser-Modus ist optional. Wenn Sie stattdessen eine Bildschirmlupe, reduzierte Bewegung oder ein farbenblindfreundliches Design verwenden, legen Sie `CLAUDE_CODE_ACCESSIBILITY`, `prefersReducedMotion` oder `theme` aus der Tabelle [Barrierefreiheitseinstellungen](#accessibility-settings) fest. Der Bildschirmleser-Modus passt nur die Terminaloberfläche an, daher benötigen Sie ihn nicht im Chat-Panel der VS Code-Erweiterung. In Claude Code v2.1.236 oder später [kündigt die Erweiterung Konversationsaktivität für Ihren Bildschirmleser an](/docs/de/vs-code#use-a-screen-reader), ohne dass eine Einstellung erforderlich ist.

12 

13<Note>

14 Der Bildschirmleser-Modus erfordert Claude Code v2.1.181 oder später. Frühere Versionen lehnen das Flag `--ax-screen-reader` mit `error: unknown option '--ax-screen-reader'` ab.

15</Note>

16 12 

17<h2 id="turn-on-screen-reader-mode">13<h2 id="turn-on-screen-reader-mode">

18 Bildschirmleser-Modus aktivieren14 Bildschirmleser-Modus aktivieren


21Wählen Sie die Methode, die Ihrer Häufigkeit der Bildschirmleser-Nutzung entspricht:17Wählen Sie die Methode, die Ihrer Häufigkeit der Bildschirmleser-Nutzung entspricht:

22 18 

23* Für eine Sitzung: Führen Sie `claude --ax-screen-reader` aus.19* Für eine Sitzung: Führen Sie `claude --ax-screen-reader` aus.

24* Für Sitzungen, die von einer Shell aus gestartet werden: Setzen Sie die Umgebungsvariable `CLAUDE_AX_SCREEN_READER` auf `1`. In Bash oder Zsh führen Sie `export CLAUDE_AX_SCREEN_READER=1` aus; in PowerShell führen Sie `$env:CLAUDE_AX_SCREEN_READER = "1"` aus. Fügen Sie die Zeile zu Ihrem Shell-Profil hinzu, um alle Shells abzudecken.20* Für Sitzungen, die von einer Shell aus gestartet werden: Setzen Sie die Umgebungsvariable `CLAUDE_AX_SCREEN_READER` auf `1`. In Bash oder Zsh führen Sie `export CLAUDE_AX_SCREEN_READER=1` aus. In PowerShell führen Sie `$env:CLAUDE_AX_SCREEN_READER = "1"` aus. Fügen Sie diese Zeile zu Ihrem Shell-Profil hinzu, um sie für zukünftige Shells beizubehalten.

25* Für jede Sitzung auf dem Computer: Fügen Sie `"axScreenReader": true` zu Ihrer Benutzerdatei [Einstellungsdatei](/docs/de/settings) hinzu. Dies deckt jedes Terminal ab, einschließlich des integrierten VS Code-Terminals.21* Für jede Sitzung auf dem Computer: Fügen Sie `"axScreenReader": true` zu Ihrer Benutzerdatei [Einstellungsdatei](/docs/de/settings) hinzu. Die Einstellung gilt in jedem Terminal, einschließlich des integrierten VS Code-Terminals.

26 22 

27<Note>23Wenn Sie Methoden kombinieren, wendet Claude Code das Flag [`--ax-screen-reader`](/docs/de/cli-reference#cli-flags) über die Umgebungsvariable [`CLAUDE_AX_SCREEN_READER`](/docs/de/env-vars#variables) an, und die Variable über die Einstellung [`axScreenReader`](/docs/de/settings-reference#axscreenreader).

28 Die Methoden sind in Prioritätsreihenfolge aufgelistet: Das Flag [`--ax-screen-reader`](/docs/de/cli-reference#cli-flags) überschreibt die Umgebungsvariable [`CLAUDE_AX_SCREEN_READER`](/docs/de/env-vars), die die Einstellung [`axScreenReader`](/docs/de/settings#available-settings) überschreibt.

29</Note>

30 24 

31Wenn Sie Claude Code über SSH verwenden, setzen Sie die Umgebungsvariable oder Einstellung auf dem Remote-Computer, auf dem Claude Code ausgeführt wird.25Wenn Sie Claude Code über SSH verwenden, legen Sie die Umgebungsvariable oder Einstellung auf dem Remote-Computer fest, auf dem Claude Code ausgeführt wird.

32 26 

33Wenn der Modus aktiviert ist, gibt Claude Code zunächst eine Bestätigungszeile aus, die die Methode benennt, die ihn aktiviert hat: `[Screen Reader Mode: on via flag]`, `[Screen Reader Mode: on via env]` oder `[Screen Reader Mode: on via settings]`. Das Methodenbenennungsformat erfordert Claude Code v2.1.206 oder später. Wenn Claude Code sich selbst neu startet, beispielsweise um die Installation eines Updates abzuschließen, erbt der neue Prozess den Modus durch die Umgebungsvariable `CLAUDE_AX_SCREEN_READER`, sodass seine Bestätigungszeile `[Screen Reader Mode: on via env]` lautet, unabhängig davon, welche Methode Sie verwendet haben.27Die erste Zeile, die Claude Code ausgibt, bestätigt den Modus: `[Screen Reader Mode: on via flag]`, `[Screen Reader Mode: on via env]` oder `[Screen Reader Mode: on via settings]`.

34Frühere Versionen geben `[Accessible screen reader mode: on]` aus.

35 28 

36<h2 id="turn-off-screen-reader-mode">29<h2 id="turn-off-screen-reader-mode">

37 Bildschirmleser-Modus deaktivieren30 Bildschirmleser-Modus deaktivieren

38</h2>31</h2>

39 32 

40Kehren Sie die Methode um, die den Modus aktiviert hat: Starten Sie ohne das Flag, heben Sie die Umgebungsvariable auf, oder setzen Sie `axScreenReader` auf `false`. Das Setzen von `CLAUDE_AX_SCREEN_READER=0` hält den Modus aus, auch wenn die Einstellung `true` ist.33Kehren Sie die Methode um, die den Modus aktiviert hat: Starten Sie ohne das Flag, heben Sie die Umgebungsvariable auf, oder setzen Sie `axScreenReader` auf `false`. Wenn Sie `CLAUDE_AX_SCREEN_READER` auf `0` setzen, behält Claude Code den Modus aus, auch wenn die Einstellung `true` ist.

34 

35<h2 id="accessibility-settings">

36 Barrierefreiheitseinstellungen

37</h2>

38 

39Die Tabelle listet jede Barrierefreiheitsoption auf, ob Sie sie als Flag, Umgebungsvariable oder Einstellung festlegen, und was sie ändert.

40 

41| Option | Typ | Was es ändert |

42| :---------------------------------------------------------------------- | :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

43| [`--ax-screen-reader`](/docs/de/cli-reference#cli-flags) | Flag | Bildschirmleser-Modus für eine Sitzung. |

44| [`CLAUDE_AX_SCREEN_READER`](/docs/de/env-vars#variables) | Umgebungsvariable | Bildschirmleser-Modus für Sitzungen, die von der Shell aus gestartet werden, in der Sie sie festlegen. |

45| [`axScreenReader`](/docs/de/settings-reference#axscreenreader) | Einstellung | Bildschirmleser-Modus für jede Sitzung, wenn `true`. |

46| [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/de/env-vars#variables) | Umgebungsvariable | Wie lange Claude Code nach der Bestätigungszeile wartet, bevor es die erste Eingabeaufforderung im Bildschirmleser-Modus zeichnet. Erfordert Claude Code v2.1.217 oder später. |

47| [`CLAUDE_AX_PREPARK_MS`](/docs/de/env-vars#variables) | Umgebungsvariable | Wie lange Claude Code mit dem Cursor am Anfang der Zeile wartet, bevor es eine neue oder geänderte Zeile im Bildschirmleser-Modus schreibt. Erfordert Claude Code v2.1.233 oder später. |

48| [`CLAUDE_CODE_ACCESSIBILITY`](/docs/de/env-vars#variables) | Umgebungsvariable | Ein Terminal-Cursor, der für Bildschirmlupe wie macOS Zoom sichtbar bleibt, wenn Sie ihn auf `1` setzen. Der Cursor folgt der Eingabemarke und, in Claude Code v2.1.218 oder später, der hervorgehobenen Zeile in Menüs und Panels wie `/config` und `/plugin`. |

49| [`prefersReducedMotion`](/docs/de/settings-reference#prefersreducedmotion) | Einstellung | Reduzierte oder keine Spinner, Shimmer und andere Animationen, wenn `true`. |

50| [`theme`](/docs/de/settings-reference#theme) | Einstellung | Die Oberflächenfarben, einschließlich der farbenblindfreundlichen Designs `dark-daltonized` und `light-daltonized`. Sie können auch eines mit [`/theme`](/docs/de/commands#all-commands) auswählen. |

51| [`preferredNotifChannel`](/docs/de/settings-reference#preferrednotifchannel) | Einstellung | Mit dem Wert `"terminal_bell"`, eine Terminal-Glocke außerhalb des Bildschirmleser-Modus, wenn Claude auf Sie wartet. |

41 52 

42<h2 id="what-your-screen-reader-hears">53<h2 id="what-your-screen-reader-hears">

43 Was Ihr Bildschirmleser hört54 Was Ihr Bildschirmleser hört


45 56 

46Im Bildschirmleser-Modus schreibt Claude Code flachen Text:57Im Bildschirmleser-Modus schreibt Claude Code flachen Text:

47 58 

48* keine Zeichnungszeichen für die Oberflächenelemente59* Keine Zeichnungszeichen für die Oberflächenelemente

49* keine nur farbbasierten Hinweise60* Keine nur farbbasierten Hinweise

50* keine Neuzeichnungen von Inhalten, die sich nicht geändert haben; Fortschrittsanzeigen werden als statischer Text dargestellt61* Keine Neuzeichnungen von Inhalten, die sich nicht geändert haben. Fortschrittsanzeigen werden als statischer Text dargestellt

51* Tabellen in Claudes Antworten werden als `Header: value`-Sätze statt als Zeichnungsgitter gelesen. Erfordert Claude Code v2.1.198 oder später; frühere Versionen zeichnen Tabellen auch im Bildschirmleser-Modus als Gitter.62* Tabellen in Claudes Antworten werden als `Header: value`-Sätze statt als Zeichnungsgitter gelesen

52 63 

53Die Ausgabe sammelt sich im Scrollback Ihres Terminals an, sodass Sie frühere Züge mit den Überprüfungsbefehlen Ihres Bildschirmlesers oder der Suchfunktion Ihres Terminals erneut lesen können.64Claude Code lässt alles, was es ausgibt, in Ihrem Terminal-Scrollback, sodass Sie frühere Züge mit den Überprüfungsbefehlen Ihres Bildschirmlesers oder der Suchfunktion Ihres Terminals erneut lesen können. Claude Code ignoriert die Einstellung [`tui`](/docs/de/settings-reference#tui) im Bildschirmleser-Modus. Abgesehen von den angehängten Hintergrundsitzungen, die unter [Bekannte Einschränkungen](#known-limitations) aufgelistet sind, gibt es scrollenden Text statt [Vollbildrendering](/docs/de/fullscreen) aus.

54 65 

55Der Bildschirmleser-Modus wird als einfacher scrollender Text dargestellt, auch wenn Sie das [Vollbildrendering](/docs/de/fullscreen) mit der Einstellung [`tui`](/docs/de/settings#available-settings) aktiviert haben; die Einstellung hat keine Auswirkung, während der Modus aktiv ist. Angehängte Hintergrundsitzungen werden weiterhin im Vollbildmodus dargestellt; siehe [Bekannte Einschränkungen](#known-limitations).66Claude Code wartet auch an zwei Stellen, damit Ihr Bildschirmleser mithalten kann:

56 67 

57Jede Nachricht im Transkript beginnt mit einer Beschriftung, die Ihr Bildschirmleser ankündigt und benennt, was es ist: Ihre Nachrichten, Claudes Antworten, Werkzeugaktivität, Fehler und Eingabeaufforderungen. Die Beschriftungen sind auch durchsuchbar, sodass Sie zwischen Abschnitten des Transkripts springen können, indem Sie den Scrollback Ihres Terminals durchsuchen:68* Nachdem Claude Code die Bestätigungszeile ausgibt, wartet es 3 Sekunden, bevor es die Eingabeaufforderung zeichnet, damit Ihr Bildschirmleser die Zeile beenden kann. Drücken Sie eine beliebige Taste, um das Warten zu beenden. Um die Länge des Wartens zu ändern, legen Sie [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/de/env-vars#variables) fest.

69* Bevor Claude Code eine neue oder geänderte Zeile schreibt, z. B. einen Hinweis oder mehr von Claudes Antwort, bewegt es den Cursor an den Anfang der Zeile und wartet 50 Millisekunden. Ihr Bildschirmleser liest dann die Zeile von ihrem ersten Zeichen. Zeichen, die Sie am Ende der Eingabezeile eingeben oder löschen, werden sofort angezeigt. Um die Länge des Wartens zu ändern, legen Sie [`CLAUDE_AX_PREPARK_MS`](/docs/de/env-vars#variables) fest.

70 

71Jede Nachricht im Transkript beginnt mit einer Beschriftung, die Ihr Bildschirmleser ankündigt und benennt, was es ist: Ihre Nachrichten, Claudes Antworten und Denken, Werkzeugaktivität, Fehler und Warnungen sowie Eingabeaufforderungen. Die Beschriftungen sind auch durchsuchbar, sodass Sie zwischen Abschnitten des Transkripts springen können, indem Sie Ihren Terminal-Scrollback durchsuchen:

58 72 

59| Beschriftung | Bedeutung |73| Beschriftung | Bedeutung |

60| :--------------------- | :----------------------------------------------------------------------------------------------------------- |74| :--------------------- | :----------------------------------------------------------------------------------------------------------- |

61| `you:` | Ihre Nachrichten |75| `you:` | Ihre Nachrichten |

62| `claude:` | Claudes Antworten |76| `claude:` | Claudes Antworten |

77| `thinking:` | Claudes Denken |

63| `tool:` | Werkzeugaktivität, z. B. eine Dateibearbeitung oder ein ausgeführter Befehl |78| `tool:` | Werkzeugaktivität, z. B. eine Dateibearbeitung oder ein ausgeführter Befehl |

64| `tool error:` | Ein Werkzeug, das fehlgeschlagen ist |79| `tool error:` | Ein Werkzeug, das fehlgeschlagen ist |

65| `error:` | Ein Fehler in der Konversation, z. B. eine fehlgeschlagene API-Anfrage |80| `error:` | Ein Fehler in der Konversation, z. B. eine fehlgeschlagene API-Anfrage |

81| `warning:` | Eine Warnung von Claude Code, z. B. ein Wechsel zu einem Fallback-Modell |

66| `Permission Required:` | Eine Berechtigungsaufforderung, die auf Ihre Antwort wartet |82| `Permission Required:` | Eine Berechtigungsaufforderung, die auf Ihre Antwort wartet |

67| `Cost:` | Die Sitzungskostenzusammenfassung, wenn Claude Code beendet wird, wenn Ihr Konto [Kosten anzeigt](/docs/de/costs) |83| `Cost:` | Die Sitzungskostenzusammenfassung, wenn Claude Code beendet wird, wenn Ihr Konto [Kosten anzeigt](/docs/de/costs) |

68 84 

69Der Terminal-Cursor folgt der Eingabemarke, sodass der Befehl zum Lesen der aktuellen Zeile eines Bildschirmlesers die Frage „Wo bin ich?" mit der Eingabeaufforderung beantwortet, die Sie bearbeiten.85Claude Code behält den Terminal-Cursor auf der Eingabemarke, sodass der Befehl zum Lesen der aktuellen Zeile Ihres Bildschirmlesers die Eingabeaufforderung liest, die Sie bearbeiten.

86 

87Während Sie am Ende der Eingabezeile eingeben, oder dort `Backspace` drücken, schreibt Claude Code nur die Zeichen, die sich ändern. Ihr Bildschirmleser gibt nur diese Zeichen aus.

88 

89Wenn Sie ein Wort oder eine Zeile mit einem der [Textbearbeitungs-Shortcuts](/docs/de/interactive-mode#text-editing) löschen, kündigt Claude Code den gelöschten Text an:

90 

91* Löschen von Wörtern mit `Ctrl+W` oder `Alt+D`, oder mit `Option+Delete` auf macOS oder `Ctrl+Backspace` unter Windows

92* Löschen zum Anfang der Zeile mit `Ctrl+U` oder `Cmd+Backspace`

93* Löschen zum Ende der Zeile mit `Ctrl+K`

94 

95Wenn Sie [Berechtigungsmodi](/docs/de/permission-modes) mit `Shift+Tab` durchlaufen, kündigt Claude Code den Berechtigungsmodus an, auf dem Sie landen, z. B. `[plan mode on]` oder `[accept edits on]`. Claude Code gibt die Ankündigung einmal aus und wiederholt sie nicht bei späteren Neuzeichnungen.

70 96 

71<h3 id="jump-between-turns">97<h3 id="jump-between-turns">

72 Zwischen Zügen springen98 Zwischen Zügen springen

73</h3>99</h3>

74 100 

75Claude Code gibt OSC 133-Shell-Integrations-Marker an Zuggrenzen aus, sodass die Taste zum Springen zur vorherigen Eingabeaufforderung Ihres Terminals zwischen Zügen wechselt, ohne das gesamte Transkript zu lesen:101Claude Code gibt OSC 133 Shell-Integrations-Marker an Zuggrenzen aus, sodass die Taste zum Springen zur vorherigen Eingabeaufforderung Ihres Terminals zwischen Zügen wechselt, ohne das gesamte Transkript zu lesen:

76 102 

77* iTerm2: Cmd+Shift+Up103* iTerm2: Cmd+Shift+Up

78* VS Code-Terminal: Ctrl+Up unter Windows, Cmd+Up auf macOS104* VS Code-Terminal: Ctrl+Up unter Windows, Cmd+Up auf macOS


85 Menüs und Eingabeaufforderungen beantworten111 Menüs und Eingabeaufforderungen beantworten

86</h2>112</h2>

87 113 

88Im Bildschirmleser-Modus werden Menüs, die Sie normalerweise mit den Pfeiltasten navigieren würden, einschließlich Berechtigungsaufforderungen, zu nummerierten Listen. Jede Option wird als nummerierte Zeile angekündigt, gefolgt von einer Eingabeaufforderung `Enter selection`, die den gültigen Bereich benennt. Geben Sie die Nummer der gewünschten Option ein und drücken Sie die Eingabetaste.114Im Bildschirmleser-Modus werden Menüs, die Sie normalerweise mit den Pfeiltasten navigieren würden, einschließlich Berechtigungsaufforderungen, zu nummerierten Listen. Claude Code kündigt jede Option als nummerierte Zeile an, gefolgt von einer Eingabeaufforderung `Enter selection`, die den gültigen Bereich benennt. Geben Sie die Nummer der gewünschten Option ein und drücken Sie die Eingabetaste.

89 115 

90* Um ein verwerfbares Menü abzubrechen: Drücken Sie Escape. Seine Eingabeaufforderung endet mit `or Escape to cancel`.116* Drücken Sie Escape, um ein Menü abzubrechen, dessen Eingabeaufforderung mit `or Escape to cancel` endet.

91* Wenn Sie eine Nummer eingeben, die nicht auf der Liste steht: Claude Code kündigt den gültigen Bereich an und lässt Sie es erneut versuchen.117* Wenn Sie eine Nummer eingeben, die nicht auf der Liste steht, kündigt Claude Code den gültigen Bereich an und lässt Sie es erneut versuchen.

118 

119Der [`/effort`](/docs/de/model-config#adjust-effort-level) Selektor, der außerhalb des Bildschirmleser-Modus ein Schieberegler ist, wird zur gleichen Art von nummerierter Liste.

92 120 

93Ja-oder-Nein-Aufforderungen fragen nach einer eingegebenen Antwort statt eines Zwei-Optionen-Menüs. Antworten Sie mit `y` oder `n` und drücken Sie die Eingabetaste. `yes` und `no` funktionieren auch.121Ja-oder-Nein-Aufforderungen fragen nach einer eingegebenen Antwort statt eines Zwei-Optionen-Menüs. Antworten Sie mit `y` oder `n` und drücken Sie die Eingabetaste. `yes` und `no` funktionieren auch.

94 122 


99Im Bildschirmleser-Modus läutet Claude Code die Terminal-Glocke, wenn es Ihre Aufmerksamkeit braucht, sodass Sie nicht ständig das Transkript überprüfen müssen. Die Glocke läutet, wenn:127Im Bildschirmleser-Modus läutet Claude Code die Terminal-Glocke, wenn es Ihre Aufmerksamkeit braucht, sodass Sie nicht ständig das Transkript überprüfen müssen. Die Glocke läutet, wenn:

100 128 

101* Claude eine Antwort beendet129* Claude eine Antwort beendet

102* eine Berechtigungsaufforderung erscheint130* Eine Eingabeaufforderung oder ein Dialog Ihre Antwort benötigt, z. B. eine Berechtigungsaufforderung

103* ein Werkzeug, das länger als 5 Sekunden lief, beendet wird131* Ein Werkzeug, das länger als 5 Sekunden lief, beendet wird

104 

105Die Glocke ist die Standard-Warnung Ihres Terminals. Um sie stummzuschalten, ändern Sie die Glockeneinstellung in Ihrer Terminalanwendung. Die Glocke erfordert keinen Bildschirmleser-Modus: Außerhalb des Modus setzen Sie [`preferredNotifChannel`](/docs/de/settings#available-settings) auf `"terminal_bell"` für ähnliche Warnungen, wenn Claude auf Sie wartet. Siehe [Terminal-Glocke oder Benachrichtigung erhalten](/docs/de/terminal-config#get-a-terminal-bell-or-notification).

106 

107<h2 id="accessibility-settings-beyond-screen-reader-mode">

108 Barrierefreiheitseinstellungen außerhalb des Bildschirmleser-Modus

109</h2>

110 

111Diese Optionen behandeln Barrierefreiheitsanforderungen außerhalb des Bildschirmleser-Modus. Alle funktionieren zusammen mit ihm.

112 132 

113* Die Umgebungsvariable `CLAUDE_CODE_ACCESSIBILITY` [environment variable](/docs/de/env-vars) ist für Bildschirmlupe. Setzen Sie `CLAUDE_CODE_ACCESSIBILITY=1`, um den nativen Terminal-Cursor sichtbar zu halten, damit Lupen wie macOS Zoom die Cursor-Position verfolgen können.133Die Glocke ist die Standard-Warnung Ihres Terminals. Um sie stummzuschalten, ändern Sie die Glockeneinstellung in Ihrer Terminalanwendung. Außerhalb des Bildschirmleser-Modus legen Sie [`preferredNotifChannel`](/docs/de/settings-reference#preferrednotifchannel) auf `"terminal_bell"` fest, um eine [ähnliche Glocke](/docs/de/terminal-config#get-a-terminal-bell-or-notification) zu erhalten, wenn Claude auf Sie wartet.

114* Die Einstellung `prefersReducedMotion` [setting](/docs/de/settings#available-settings) reduziert oder deaktiviert Spinner, Shimmer und andere Animationen, ohne den Rest der Oberfläche zu ändern.

115* Die Einstellung `theme` [setting](/docs/de/settings#available-settings) wählt die Oberflächenfarben aus, einschließlich der farbenblindfreundlichen Designs `dark-daltonized` und `light-daltonized`.

116 134 

117<h2 id="known-limitations">135<h2 id="known-limitations">

118 Bekannte Einschränkungen136 Bekannte Einschränkungen


121Einige Verhaltensweisen sind nicht für den Bildschirmleser-Modus angepasst:139Einige Verhaltensweisen sind nicht für den Bildschirmleser-Modus angepasst:

122 140 

123* Der Bildschirmleser-Modus wird nicht automatisch aktiviert, wenn ein Bildschirmleser ausgeführt wird.141* Der Bildschirmleser-Modus wird nicht automatisch aktiviert, wenn ein Bildschirmleser ausgeführt wird.

124* Modusänderungen, z. B. das Eingeben des [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode), werden noch nicht angekündigt.142* Claude Code kündigt eine Berechtigungsmodus-Änderung nicht an, die auf andere Weise als durch Durchlaufen mit `Shift+Tab` vorgenommen wird, z. B. das Eingeben des [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) aus einem Befehl.

125* Das Anhängen an eine [Hintergrundsitzung](/docs/de/agent-view) mit `claude attach` oder aus der Agent-Ansicht betritt den alternativen Bildschirm des Terminals, der keinen nativen Scrollback hat. Dies ist das [gleiche Verhalten wie bei anderen angehängten Sitzungen](/docs/de/fullscreen). Um herauszukommen, drücken Sie den linken Pfeil bei einer leeren Eingabeaufforderung oder Ctrl+Z, wenn ein Dialog den Fokus hat.143* Das Anhängen an eine [Hintergrundsitzung](/docs/de/agent-view) mit `claude attach` oder aus der Agent-Ansicht betritt den alternativen Bildschirm des Terminals, der keinen nativen Scrollback hat. Dies ist das [gleiche Verhalten wie bei anderen angehängten Sitzungen](/docs/de/fullscreen). Um herauszukommen, drücken Sie den linken Pfeil bei einer leeren Eingabeaufforderung, oder Ctrl+Z, wenn ein Dialog den Fokus hat.

126* Claude Code kündigt Kosten in der Zusammenfassung an, die es beim Beenden ausgibt, nicht pro Zug.144* Claude Code kündigt Kosten in der Zusammenfassung an, die es beim Beenden ausgibt, nicht pro Zug.

127* Der Bildschirmleser-Modus ändert den [nicht-interaktiven Modus](/docs/de/headless) mit dem Flag `-p` nicht. Der nicht-interaktive Modus schreibt bereits einfachen Text und bleibt eine Alternative zum Scripting.145* Der Bildschirmleser-Modus ändert den [nicht-interaktiven Modus](/docs/de/headless) mit dem Flag `-p` nicht. Der nicht-interaktive Modus schreibt bereits einfachen Text und bleibt eine Alternative zum Scripting.

128 146 


131</h2>149</h2>

132 150 

133Wenn etwas mit Ihrem Bildschirmleser, Ihrer Lupe oder Ihrem Terminal nicht funktioniert, öffnen Sie ein Problem im [Claude Code Issue Tracker](https://github.com/anthropics/claude-code/issues) und erwähnen Sie Ihre Hilfstechnologie im Titel. Fügen Sie Ihr Betriebssystem, Ihre Terminalanwendung sowie den Namen und die Version Ihrer Hilfstechnologie in den Bericht ein.151Wenn etwas mit Ihrem Bildschirmleser, Ihrer Lupe oder Ihrem Terminal nicht funktioniert, öffnen Sie ein Problem im [Claude Code Issue Tracker](https://github.com/anthropics/claude-code/issues) und erwähnen Sie Ihre Hilfstechnologie im Titel. Fügen Sie Ihr Betriebssystem, Ihre Terminalanwendung sowie den Namen und die Version Ihrer Hilfstechnologie in den Bericht ein.

134 

135<h2 id="related-resources">

136 Verwandte Ressourcen

137</h2>

138 

139Diese Seiten enthalten die vollständigen Referenzeinträge und verwandte Einrichtung für das, was diese Seite behandelt:

140 

141* [Einstellungen](/docs/de/settings#available-settings): die Einträge `axScreenReader`, `prefersReducedMotion`, `theme` und `preferredNotifChannel`

142* [Umgebungsvariablen](/docs/de/env-vars): die Einträge `CLAUDE_AX_SCREEN_READER` und `CLAUDE_CODE_ACCESSIBILITY`

143* [CLI-Referenz](/docs/de/cli-reference#cli-flags): das Flag `--ax-screen-reader`

144* [Terminal-Konfiguration](/docs/de/terminal-config): Glocken, Benachrichtigungen und Designs außerhalb des Bildschirmleser-Modus

145* [Nicht-interaktiver Modus](/docs/de/headless): Skriptgesteuerte `claude -p`-Läufe, die einfachen Text ohne Bildschirmleser-Modus schreiben

admin-setup.md +3 −2

Details

36| Google Cloud's Agent Platform | Sie möchten vorhandene GCP-Compliance-Kontrollen und Abrechnung erben |36| Google Cloud's Agent Platform | Sie möchten vorhandene GCP-Compliance-Kontrollen und Abrechnung erben |

37| Microsoft Foundry | Sie möchten vorhandene Azure-Compliance-Kontrollen und Abrechnung erben |37| Microsoft Foundry | Sie möchten vorhandene Azure-Compliance-Kontrollen und Abrechnung erben |

38 38 

39Einige Claude Code-Funktionen erfordern ein claude.ai-Konto. [Claude Code im Web](/docs/de/claude-code-on-the-web), [Routinen](/docs/de/routines), [Code Review](/docs/de/code-review), [Remote Control](/docs/de/remote-control) und die [Chrome-Erweiterung](/docs/de/chrome) sind nicht über Console API-Schlüssel oder Cloud-Provider-Anmeldedaten allein verfügbar. Wenn Sie über Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry bereitstellen, planen Sie, ob Entwickler auch Claude für Teams oder Enterprise-Sitze benötigen. Jede Funktionsseite listet ihre Plan-Anforderungen auf.39Einige Claude Code-Funktionen erfordern ein claude.ai-Konto. [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), [Routinen](/docs/de/routines), [Code Review](/docs/de/code-review), [Remote Control](/docs/de/remote-control) und die [Chrome-Erweiterung](/docs/de/chrome) sind nicht über Console API-Schlüssel oder Cloud-Provider-Anmeldedaten allein verfügbar. Wenn Sie über Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry bereitstellen, planen Sie, ob Entwickler auch Claude für Teams oder Enterprise-Sitze benötigen. Jede Funktionsseite listet ihre Plan-Anforderungen auf.

40 40 

41Für den vollständigen Anbietervergleich mit Authentifizierung, Regionen und Funktionsparität siehe [Übersicht zur Enterprise-Bereitstellung](/docs/de/third-party-integrations). Die Auth-Einrichtung für jeden Anbieter finden Sie unter [Authentifizierung](/docs/de/authentication).41Für den vollständigen Anbietervergleich mit Authentifizierung, Regionen und Funktionsparität siehe [Übersicht zur Enterprise-Bereitstellung](/docs/de/third-party-integrations). Die Auth-Einrichtung für jeden Anbieter finden Sie unter [Authentifizierung](/docs/de/authentication).

42 42 


102| [Verwaltete Richtlinie CLAUDE.md](/docs/de/memory#deploy-organization-wide-claude-md) | Organisationsweite Anweisungen, die in jeder Sitzung geladen werden, können nicht ausgeschlossen werden | Datei im verwalteten Richtlinienpfad |102| [Verwaltete Richtlinie CLAUDE.md](/docs/de/memory#deploy-organization-wide-claude-md) | Organisationsweite Anweisungen, die in jeder Sitzung geladen werden, können nicht ausgeschlossen werden | Datei im verwalteten Richtlinienpfad |

103| [MCP-Server-Kontrolle](/docs/de/managed-mcp) | Einschränken, welche MCP-Server Benutzer hinzufügen oder verbinden können, einen festen Satz bereitstellen oder Remote-Server neben ihren eigenen für jeden Benutzer bereitstellen | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers` oder eine bereitgestellte `managed-mcp.json`-Datei |103| [MCP-Server-Kontrolle](/docs/de/managed-mcp) | Einschränken, welche MCP-Server Benutzer hinzufügen oder verbinden können, einen festen Satz bereitstellen oder Remote-Server neben ihren eigenen für jeden Benutzer bereitstellen | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers` oder eine bereitgestellte `managed-mcp.json`-Datei |

104| [Plugin-Marketplace-Kontrolle](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) | Einschränken, von welchen Marketplace-Quellen Benutzer hinzufügen und installieren können, CLI-Flags ablehnen, die Plugins, Agents und MCP-Server für einen einzelnen Lauf sideloaden, [`command`-Plugin-Quellen](/docs/de/plugin-marketplaces#command-sources) blockieren und Allowlisten, welche Plugins von Marketplaces vorgeschlagen werden können | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |104| [Plugin-Marketplace-Kontrolle](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) | Einschränken, von welchen Marketplace-Quellen Benutzer hinzufügen und installieren können, CLI-Flags ablehnen, die Plugins, Agents und MCP-Server für einen einzelnen Lauf sideloaden, [`command`-Plugin-Quellen](/docs/de/plugin-marketplaces#command-sources) blockieren und Allowlisten, welche Plugins von Marketplaces vorgeschlagen werden können | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |

105| [Anpassungssperre](/docs/de/settings-reference#strictpluginonlycustomization) | Blockieren Sie Skills, Agents, Hooks und MCP-Server aus Benutzer- und Projektquellen, damit sie nur aus Plugins oder verwalteten Einstellungen stammen können | `strictPluginOnlyCustomization` |105| [Anpassungssperre](/docs/de/settings-reference#strictpluginonlycustomization) | Blockieren Sie Skills, Agents, Hooks und MCP-Server aus Benutzer- und Projektquellen, damit sie nur aus Plugins oder verwalteten Einstellungen stammen können. Das Sperren von Skills stoppt auch die [Skills, die Ihre Entwickler auf claude.ai aktivieren](/docs/de/skills#where-synced-skills-load) vom Synchronisieren | `strictPluginOnlyCustomization` |

106| [Claude.ai-Synchronisierung deaktivieren](/docs/de/settings-reference#syncclaudeaiskills) | Verhindern Sie, dass Claude Code die [Skills](/docs/de/skills#how-synced-skills-behave) und [Plugins](/docs/de/plugins-reference#synced-plugins) lädt, die Ihre Entwickler auf claude.ai aktivieren. Wenn Sie Skills für Ihre Organisation auf claude.ai ausschalten, stoppt Claude Code die Synchronisierung beider, und in v2.1.273 oder später entfernt es auch die bereits synchronisierten. Um eines davon zu stoppen, ohne Skills auszuschalten, setzen Sie seinen Schlüssel in verwalteten Einstellungen auf `false` | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |

106| [Hook-Einschränkungen](/docs/de/settings-reference#allowmanagedhooksonly) | Einschränken, welche Hooks ausgeführt werden, und HTTP-Hook-URLs einschränken; siehe [was unter `allowManagedHooksOnly` ausgeführt wird](/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly) für die vollständige Effektliste | `allowManagedHooksOnly`, `allowedHttpHookUrls` |107| [Hook-Einschränkungen](/docs/de/settings-reference#allowmanagedhooksonly) | Einschränken, welche Hooks ausgeführt werden, und HTTP-Hook-URLs einschränken; siehe [was unter `allowManagedHooksOnly` ausgeführt wird](/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly) für die vollständige Effektliste | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

107| [Anmeldung erzwingen](/docs/de/settings-reference#forceloginmethod) | Anmeldung auf eine bestimmte Methode oder Anthropic-Organisation beschränken. Die Methodenbeschränkung gilt über die VS Code-Erweiterung, Agent SDK, `claude setup-token` und `/install-github-app` hinweg, und der Terminal-Bildschirm für interaktive Anmeldung, erreichbar durch `/login` oder Onboarding beim ersten Start, wählt die Methode vor, ohne sie zu erzwingen; Claude Code überprüft die Organisation für claude.ai-Kontoanmeldungen im Terminal, VS Code-Erweiterung und Agent SDK, und überprüft sie nicht für Claude Console-Anmeldungen oder für [Gateway](/docs/de/claude-apps-gateway)-Anmeldung. Vor v2.1.212 galten nur Terminal-Anmeldungen für beide Schlüssel. Wenn festgelegt, werden Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, beim Start blockiert; Cloud-Provider-Sitzungen sind nicht betroffen | `forceLoginMethod`, `forceLoginOrgUUID` |108| [Anmeldung erzwingen](/docs/de/settings-reference#forceloginmethod) | Anmeldung auf eine bestimmte Methode oder Anthropic-Organisation beschränken. Die Methodenbeschränkung gilt über die VS Code-Erweiterung, Agent SDK, `claude setup-token` und `/install-github-app` hinweg, und der Terminal-Bildschirm für interaktive Anmeldung, erreichbar durch `/login` oder Onboarding beim ersten Start, wählt die Methode vor, ohne sie zu erzwingen; Claude Code überprüft die Organisation für claude.ai-Kontoanmeldungen im Terminal, VS Code-Erweiterung und Agent SDK, und überprüft sie nicht für Claude Console-Anmeldungen oder für [Gateway](/docs/de/claude-apps-gateway)-Anmeldung. Vor v2.1.212 galten nur Terminal-Anmeldungen für beide Schlüssel. Wenn festgelegt, werden Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, beim Start blockiert; Cloud-Provider-Sitzungen sind nicht betroffen | `forceLoginMethod`, `forceLoginOrgUUID` |

108| [Agent-Ansicht deaktivieren](/docs/de/agent-view#how-background-sessions-are-hosted) | Schalten Sie `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor aus | `disableAgentView` |109| [Agent-Ansicht deaktivieren](/docs/de/agent-view#how-background-sessions-are-hosted) | Schalten Sie `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor aus | `disableAgentView` |

Details

222 222 

223Die Budget-Obergrenze deckt [Subagenten](/docs/de/agent-sdk/subagents) ab: ihre Ausgaben zählen zur Gesamtsumme. Sobald die Ausgaben die Obergrenze erreichen, schlägt das Spawnen eines weiteren Subagenten mit `Budget limit reached` fehl, und Claude Code stoppt alle noch laufenden Hintergrund-Subagenten. Die Durchsetzungsverhalten der Obergrenze erfordern Claude Code v2.1.217 oder später.223Die Budget-Obergrenze deckt [Subagenten](/docs/de/agent-sdk/subagents) ab: ihre Ausgaben zählen zur Gesamtsumme. Sobald die Ausgaben die Obergrenze erreichen, schlägt das Spawnen eines weiteren Subagenten mit `Budget limit reached` fehl, und Claude Code stoppt alle noch laufenden Hintergrund-Subagenten. Die Durchsetzungsverhalten der Obergrenze erfordern Claude Code v2.1.217 oder später.

224 224 

225Mit [Streaming-Eingabe](/docs/de/agent-sdk/streaming-vs-single-mode) bleibt eine Nachricht, die noch in der Warteschlange steht, wenn ein Durchlauf bei der max-turns-Grenze endet, in der Warteschlange. Claude Code fügt sie nicht zum letzten Modellaufruf dieses Durchlaufs hinzu. Es startet einen neuen Durchlauf für die Nachricht, und die max-turns-Zählung beginnt für diesen Durchlauf von vorne.225Mit [Streaming-Eingabe](/docs/de/agent-sdk/streaming-vs-single-mode) bleibt eine Nachricht, die noch in der Warteschlange steht, wenn ein Durchlauf bei der max-turns-Grenze endet, in der Warteschlange. Claude Code fügt sie nicht zum letzten Modellaufruf dieses Durchlaufs hinzu. Es startet einen neuen Durchlauf für die Nachricht, und die max-turns-Zählung beginnt für diesen Durchlauf von vorne. Das Budget-Gesamtbudget wird über Nachrichten hinweg kumuliert, und sobald die Ausgaben `maxBudgetUsd` erreichen, enden spätere Nachrichten in derselben Konversation mit dem `error_max_budget_usd`-Ergebnis. Ein [`/clear`](/docs/de/agent-sdk/cost-tracking) startet das Budget neu.

226 226 

227<h3 id="effort-level">227<h3 id="effort-level">

228 Anstrengungsgrad228 Anstrengungsgrad


267 Modell267 Modell

268</h3>268</h3>

269 269 

270Wenn Sie `model` nicht setzen, verwendet das SDK Claudes Code-Standard, der von Ihrer Authentifizierungsmethode und Ihrem Abonnement abhängt. Setzen Sie es explizit (z. B. `model="claude-sonnet-5"`), um ein bestimmtes Modell zu fixieren oder um ein kleineres Modell für schnellere, günstigere Agenten zu verwenden. Siehe [models](https://platform.claude.com/docs/en/about-claude/models) für verfügbare IDs.270Setzen Sie die `model`-Option, um auszuwählen, welches Modell die Sitzung ausführt. Weitere Informationen finden Sie unter [Choose a model](/docs/de/agent-sdk/configuration#choose-a-model).

271 271 

272<h2 id="the-context-window">272<h2 id="the-context-window">

273 Das Kontextfenster273 Das Kontextfenster


362 362 

363Das Feld `result` enthält die endgültige Textausgabe und ist nur in der `success`-Variante vorhanden, daher überprüfen Sie immer den Subtyp, bevor Sie es lesen.363Das Feld `result` enthält die endgültige Textausgabe und ist nur in der `success`-Variante vorhanden, daher überprüfen Sie immer den Subtyp, bevor Sie es lesen.

364 364 

365Alle Ergebnis-Subtypen enthalten `total_cost_usd`, `usage`, `num_turns` und `session_id`, daher können Sie Kosten verfolgen und fortfahren, auch nach Fehlern. Zwei Dinge, auf die Sie achten sollten:365Alle Ergebnis-Subtypen enthalten `total_cost_usd`, `usage`, `num_turns` und `session_id`, daher können Sie Kosten verfolgen und fortfahren, auch nach Fehlern. Achten Sie auf diese Fälle:

366 366 

367* Nach einem Sitzungsabsturz ist das endgültige Ergebnis ein `error_during_execution`, dessen Kostenfelder möglicherweise auf Null gesetzt sind und dessen `stop_reason` `null` ist, und der Prozess beendet sich nach dem Ausgeben. Siehe [Gesamtsummen nach einem Sitzungsabsturz wiederherstellen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).367* Nach einem Sitzungsabsturz ist das endgültige Ergebnis ein `error_during_execution`, dessen Kostenfelder möglicherweise auf Null gesetzt sind und dessen `stop_reason` `null` ist, und der Prozess beendet sich nach dem Ausgeben. Siehe [Gesamtsummen nach einem Sitzungsabsturz wiederherstellen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).

368* In Python sind `total_cost_usd`, `usage` und `model_usage` als optional typisiert, daher überprüfen Sie, dass sie nicht `None` sind, bevor Sie sie lesen.368* In Python sind `total_cost_usd`, `usage` und `model_usage` als optional typisiert, daher überprüfen Sie, dass sie nicht `None` sind, bevor Sie sie lesen.

Details

8 8 

9Das Agent SDK basiert auf der gleichen Grundlage wie Claude Code, was bedeutet, dass Ihre SDK-Agenten Zugriff auf die gleichen dateisystemgestützten Funktionen haben: Projektanweisungen (`CLAUDE.md` und Regeln), Skills, Hooks und mehr.9Das Agent SDK basiert auf der gleichen Grundlage wie Claude Code, was bedeutet, dass Ihre SDK-Agenten Zugriff auf die gleichen dateisystemgestützten Funktionen haben: Projektanweisungen (`CLAUDE.md` und Regeln), Skills, Hooks und mehr.

10 10 

11Wenn Sie `settingSources` weglassen, liest `query()` die gleichen Dateisystemeinstellungen wie die Claude Code CLI: Benutzer-, Projekt- und lokale Einstellungen, CLAUDE.md-Dateien und `.claude/`-Skills, Agenten und Befehle. Um ohne diese auszuführen, übergeben Sie `settingSources: []`, was den Agenten auf das beschränkt, was Sie programmgesteuert konfigurieren. Verwaltete Richtlinieneinstellungen und die globale `~/.claude.json`-Konfiguration werden unabhängig von dieser Option gelesen. Siehe [Was settingSources nicht kontrolliert](#what-settingsources-does-not-control).11Wenn Sie `settingSources` weglassen, liest `query()` die gleichen Dateisystemeinstellungen wie die Claude Code CLI: Benutzer-, Projekt- und lokale Einstellungen, CLAUDE.md-Dateien und `.claude/`-Skills, Agenten und Befehle. Um ohne diese auszuführen, übergeben Sie `settingSources: []`, was den Agenten auf das beschränkt, was Sie programmgesteuert konfigurieren. Verwaltete Richtlinieneinstellungen und die globale `~/.claude.json`-Konfiguration werden unabhängig von dieser Option gelesen. Weitere Informationen finden Sie unter [Was settingSources nicht kontrolliert](#what-settingsources-does-not-control).

12 12 

13<h2 id="control-filesystem-settings-with-settingsources">13<h2 id="control-filesystem-settings-with-settingsources">

14 Dateisystemeinstellungen mit settingSources kontrollieren14 Dateisystemeinstellungen mit settingSources kontrollieren


107 Projektanweisungen (CLAUDE.md und Regeln)107 Projektanweisungen (CLAUDE.md und Regeln)

108</h2>108</h2>

109 109 

110`CLAUDE.md`-Dateien und `.claude/rules/*.md`-Dateien geben Ihrem Agenten persistenten Kontext über Ihr Projekt: Codierungskonventionen, Build-Befehle, Architekturentscheidungen und Anweisungen. Wenn `settingSources` `"project"` enthält (wie im obigen Beispiel), lädt das SDK diese Dateien beim Sitzungsstart in den Kontext. Der Agent folgt dann Ihren Projektkonventionen, ohne dass Sie sie in jedem Prompt wiederholen müssen.110`CLAUDE.md`-Dateien und `.claude/rules/*.md`-Dateien geben Ihrem Agenten persistenten Kontext über Ihr Projekt: Codierungskonventionen, Build-Befehle, Architekturentscheidungen und Anweisungen. Wenn `settingSources` `"project"` enthält, wie im [`settingSources`-Beispiel](#control-filesystem-settings-with-settingsources), lädt das SDK diese Dateien beim Sitzungsstart in den Kontext. Der Agent folgt dann Ihren Projektkonventionen, ohne dass Sie sie in jedem Prompt wiederholen müssen.

111 111 

112<h3 id="claude-md-load-locations">112<h3 id="claude-md-load-locations">

113 CLAUDE.md-Ladeorte113 CLAUDE.md-Ladeorte

agent-sdk/configuration.md +315 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Konfigurieren Sie Ihren Agent

6 

7> Konfigurieren Sie Agent SDK-Sitzungen: stellen Sie das Optionsobjekt zusammen, legen Sie das Modell, die Umgebung und Limits fest, und finden Sie die Seite jeder Funktionsoption.

8 

9Eine Agent SDK-Sitzung liest die Konfiguration aus Einstellungsdateien, Umgebungsvariablen und dem `options`-Objekt, das Sie beim Starten übergeben. Diese Seite zeigt, wie Sie das `options`-Objekt zusammenstellen und welche Einstellungsdateien und Umgebungsvariablen die Kontrolle übernehmen.

10 

11Für jeden Optionstyp und Standard siehe die [`Options`](/docs/de/agent-sdk/typescript#options) (TypeScript) und [`ClaudeAgentOptions`](/docs/de/agent-sdk/python#claudeagentoptions) (Python) Referenzen.

12 

13<h2 id="pass-options-to-a-session">

14 Optionen an eine Sitzung übergeben

15</h2>

16 

17Jeder `query()`-Aufruf akzeptiert ein Optionsobjekt: `Options` in TypeScript, `ClaudeAgentOptions` in Python. Jedes Feld ist optional, und eine Sitzung, die ohne Optionen gestartet wird, läuft mit den SDK-Standardwerten. Das folgende Beispiel konfiguriert eine schreibgeschützte Sitzung, die die offenen TODOs eines Projekts zusammenfasst. Paare lesen sich als TypeScript / Python, wo sich die Schreibweisen unterscheiden:

18 

19* **`model`**: wählt das Modell

20* **`allowedTools` / `allowed_tools`**: genehmigt vorab eine schreibgeschützte Werkzeugliste

21* **`maxTurns` / `max_turns`**: begrenzt die Anzahl der Züge

22* **`cwd`**: legt das Arbeitsverzeichnis fest

23 

24<CodeGroup>

25 ```typescript TypeScript theme={null}

26 import { query } from "@anthropic-ai/claude-agent-sdk";

27 

28 for await (const message of query({

29 prompt: "Summarize the open TODOs in this repo",

30 options: {

31 model: "claude-sonnet-5",

32 allowedTools: ["Read", "Glob", "Grep"],

33 maxTurns: 8,

34 cwd: "/path/to/repo",

35 },

36 })) {

37 if (message.type === "result" && message.subtype === "success" && !message.is_error) {

38 console.log(message.result);

39 }

40 }

41 ```

42 

43 ```python Python theme={null}

44 import asyncio

45 

46 from claude_agent_sdk import ClaudeAgentOptions, ResultMessage, query

47 

48 async def main():

49 options = ClaudeAgentOptions(

50 model="claude-sonnet-5",

51 allowed_tools=["Read", "Glob", "Grep"],

52 max_turns=8,

53 cwd="/path/to/repo",

54 )

55 

56 async for message in query(

57 prompt="Summarize the open TODOs in this repo",

58 options=options,

59 ):

60 if isinstance(message, ResultMessage) and not message.is_error:

61 print(message.result)

62 

63 asyncio.run(main())

64 ```

65</CodeGroup>

66 

67Zeigen Sie `cwd` auf eines Ihrer eigenen Projekte und führen Sie das Beispiel aus. Die Zusammenfassung der offenen TODOs dieses Projekts wird gedruckt, wenn die Ergebnismeldung ankommt.

68 

69`allowedTools` (TypeScript) oder `allowed_tools` (Python) genehmigt die aufgelisteten Werkzeuge vorab, sodass Aufrufe an sie ohne Genehmigung ausgeführt werden. Werkzeuge außerhalb der Liste bleiben verfügbar. Wenn Claude ein nicht aufgelistetes Werkzeug aufruft, entscheidet der Genehmigungsmodus, ob der Aufruf ausgeführt wird. Weitere Informationen finden Sie unter [Allow and deny rules](/docs/de/agent-sdk/permissions#allow-and-deny-rules).

70 

71<h2 id="load-settings-files">

72 Einstellungsdateien laden

73</h2>

74 

75Einstellungsdateien liefern Konfigurationen über das Optionsobjekt hinaus. Zwei Optionen steuern, wie sie geladen werden:

76 

77* **`settingSources` / `setting_sources`**: steuert, welche Dateisystemquellen geladen werden: Benutzer, Projekt und lokal. Einstellungsdateien und CLAUDE.md-Dateien kommen durch diese Quellen an.

78* **`settings`**: lädt einen Einstellungsdateipfad oder eine Inline-JSON-Zeichenkette in beiden Sprachen, und TypeScript akzeptiert auch ein Einstellungsobjekt. Welche Form Sie auch übergeben, sie überschreibt Benutzer-, Projekt- und lokale Dateisystemeinstellungen; nur verwaltete Richtlinieneinstellungen haben einen höheren Rang. Die Referenzen dokumentieren die vollständige Rangfolge unter [Settings precedence](/docs/de/agent-sdk/typescript#settings-precedence) für TypeScript und [Settings precedence](/docs/de/agent-sdk/python#settings-precedence) für Python.

79 

80Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. Weitere Informationen finden Sie unter [Use Claude Code features in the SDK](/docs/de/agent-sdk/claude-code-features).

81 

82<h2 id="choose-a-model">

83 Wählen Sie ein Modell

84</h2>

85 

86Wenn die `model`-Option, Ihre Einstellungen oder Ihre Umgebung kein Modell auswählen, startet eine neue Sitzung auf [Claude Code's default model](/docs/de/model-config#default-model-setting). Für die Reihenfolge dieser Quellen siehe [Setting your model](/docs/de/model-config#setting-your-model). Setzen Sie `model`, um ein bestimmtes Modell festzulegen, oder wählen Sie ein kleineres für schnellere, günstigere Agenten. Der Wert nimmt einen Modellalias oder einen vollständigen Modellnamen an; Aliase und die Versionen, zu denen sie aufgelöst werden, sind unter [Model aliases](/docs/de/model-config#model-aliases) aufgelistet.

87 

88Setzen Sie `fallbackModel` (TypeScript) oder `fallback_model` (Python), um ein Sicherungsmodell zu benennen. Wenn das primäre Modell überlastet oder nicht verfügbar ist, wechselt die Sitzung zum Sicherungsmodell. Das primäre Modell wird zu Beginn jedes Benutzerzugs erneut versucht, sodass die Sitzung zu ihm zurückkehrt, sobald der Ausfall vorbei ist.

89 

90In beiden Sprachen akzeptiert die Option ein einzelnes Modell oder eine kommagetrennte Liste von Sicherungen. Für die Reihenfolge und die Kettenbegrenzung siehe [Fallback model chains](/docs/de/model-config#fallback-model-chains). In TypeScript wirft ein Fallback gleich `model` einen Fehler beim Start.

91 

92Die folgenden Beispiele zeigen eine Fallback-Liste in TypeScript und ein einzelnes Fallback in Python:

93 

94<CodeGroup>

95 ```typescript TypeScript theme={null}

96 const options = {

97 model: "claude-fable-5",

98 fallbackModel: "claude-opus-5,claude-sonnet-5",

99 };

100 ```

101 

102 ```python Python theme={null}

103 options = ClaudeAgentOptions(

104 model="claude-fable-5",

105 fallback_model="claude-opus-5",

106 )

107 ```

108</CodeGroup>

109 

110<span id="sampling-parameters" />

111 

112<Note>

113 Die [Messages API](https://platform.claude.com/docs/en/api/messages) Anfrageparameter `temperature`, `top_p` und `max_tokens` haben keine Felder auf dem Optionsobjekt in beiden Sprachen. Setzen Sie stattdessen die [effort level](/docs/de/agent-sdk/agent-loop#effort-level) oder ein [spend cap](#limit-turns-and-spend), oder rufen Sie die Messages API auf, wenn Sie diese Parameter direkt benötigen.

114</Note>

115 

116<h2 id="set-environment-variables">

117 Umgebungsvariablen setzen

118</h2>

119 

120Die `env`-Option setzt Umgebungsvariablen für den Claude Code-Prozess, der Ihre Sitzung ausführt. Ob Ihre Werte die geerbte Umgebung ersetzen oder sich über sie hinweg zusammensetzen, unterscheidet sich je nach Sprache:

121 

122* **TypeScript**: `env` ersetzt die Subprozessumgebung

123* **Python**: das SDK setzt Ihre Werte über die geerbte Umgebung zusammen, und Ihre Werte überschreiben die geerbten

124 

125In TypeScript verteilen Sie `process.env` in `env`, um geerbte Variablen wie `PATH`, `HOME` und `ANTHROPIC_API_KEY` zu behalten. Wenn Sie `env` nicht setzen, erbt der Subprozess Ihre Umgebung in beiden Sprachen.

126 

127Das Beispiel leitet API-Verkehr durch ein Gateway, indem es `ANTHROPIC_BASE_URL` setzt.

128 

129<CodeGroup>

130 ```typescript TypeScript theme={null}

131 const options = {

132 env: { ...process.env, ANTHROPIC_BASE_URL: "https://gateway.example.com" },

133 };

134 ```

135 

136 ```python Python theme={null}

137 options = ClaudeAgentOptions(

138 env={"ANTHROPIC_BASE_URL": "https://gateway.example.com"},

139 )

140 ```

141</CodeGroup>

142 

143Die Variablen, die Sie übergeben, können auch Claude Code selbst konfigurieren. Für die Variablen, die der Claude Code-Prozess liest, siehe [Environment variables](/docs/de/env-vars). Um API-Timeouts und Stall-Erkennung auf diese Weise zu optimieren, folgen Sie dem Abschnitt Handle slow or stalled API responses in der [TypeScript reference](/docs/de/agent-sdk/typescript#handle-slow-or-stalled-api-responses) oder der [Python reference](/docs/de/agent-sdk/python#handle-slow-or-stalled-api-responses).

144 

145<h2 id="set-the-working-directory">

146 Legen Sie das Arbeitsverzeichnis fest

147</h2>

148 

149Setzen Sie `cwd`, um die Sitzung in einem bestimmten Verzeichnis auszuführen. Wenn Sie `cwd` nicht setzen, läuft die Sitzung im Arbeitsverzeichnis Ihres Prozesses. Keines der SDKs hat einen Setter für `cwd`. Um in einem anderen Verzeichnis auszuführen, starten Sie eine weitere Sitzung mit diesem `cwd`.

150 

151Claude Code liest das Arbeitsverzeichnis, um Folgendes zu bestimmen:

152 

153* **Projekteinstellungen und Hooks**: welche Projekteinstellungen und Hooks geladen werden]\(/de/agent-sdk/claude-code-features)

154* **Skills**: wo [session skills are discovered](/docs/de/agent-sdk/skills)

155* **Sitzungsspeicher**: zu welchem Projekt eine [stored session belongs to](/docs/de/agent-sdk/session-storage)

156 

157Um Werkzeugen den Zugriff auf Dateien außerhalb des Arbeitsverzeichnisses zu ermöglichen, fügen Sie Pfade mit `additionalDirectories` (TypeScript) oder `add_dirs` (Python) hinzu. Für den Umfang dieser Berechtigung siehe [Additional directories grant file access, not configuration](/docs/de/permissions#additional-directories-grant-file-access-not-configuration).

158 

159<h2 id="limit-turns-and-spend">

160 Begrenzen Sie Züge und Ausgaben

161</h2>

162 

163Begrenzen Sie Züge und Ausgaben mit `maxTurns` / `max_turns` und `maxBudgetUsd` / `max_budget_usd`. Beide Limits sind deaktiviert, wenn nicht gesetzt. Wenn eine Sitzung ein Limit erreicht, endet der Lauf mit einer Ergebnismeldung, deren Subtyp das Limit benennt, `error_max_turns` oder `error_max_budget_usd`. Was danach passiert, unterscheidet sich je nach Eingabemodus:

164 

165* **Single-shot `query()`**: das SDK gibt das Cap-Ergebnis aus und wirft dann, also wickeln Sie die Schleife in einen Try-Block, um über den Fehler hinaus zu gehen

166* **Streaming input**: die Sitzung bleibt über ein Cap-Ergebnis hinaus aktiv, und die Max-Turns-Anzahl beginnt für jede eingereihte Nachricht von vorne. Das Budget-Total sammelt sich über Nachrichten an, und sobald die Ausgaben das Limit erreichen, enden spätere Nachrichten in derselben Konversation mit demselben Budget-Ergebnis. Ein [`/clear`](/docs/de/agent-sdk/cost-tracking) startet das Budget neu

167 

168Die beiden Limits behandeln `0` unterschiedlich:

169 

170* **`maxTurns` / `max_turns`**: `0` führt die Sitzung ohne Zuglimit aus, dasselbe wie das Nicht-Setzen der Option

171* **`maxBudgetUsd` / `max_budget_usd`**: die CLI lehnt `0` als ungültigen Betrag beim Start ab, und die Sitzung läuft nie

172 

173Weitere Informationen zu beiden Limits, einschließlich Subagent-Ausgaben, finden Sie unter [Turns and budget](/docs/de/agent-sdk/agent-loop#turns-and-budget).

174 

175<h2 id="change-configuration-mid-session">

176 Ändern Sie die Konfiguration während der Sitzung

177</h2>

178 

179Wenn Sie eine Sitzung mit [streaming input](/docs/de/agent-sdk/streaming-vs-single-mode) starten, können Sie ihr Modell und ihren Genehmigungsmodus während der Ausführung wechseln. Wo Sie die Setter aufrufen, unterscheidet sich je nach Sprache:

180 

181* **TypeScript**: Methoden auf dem Objekt, das `query()` zurückgibt

182* **Python**: Methoden auf [`ClaudeSDKClient`](/docs/de/agent-sdk/python#claudesdkclient), da `query()` einen einfachen Iterator ohne Kontrollmethoden zurückgibt

183 

184Beide Sprachen haben die gleichen Setter:

185 

186* **`setModel()` / `set_model()`**: wechselt das Modell. Rufen Sie es ohne Modell auf, um zu [Claude Code's default model](/docs/de/model-config#default-model-setting) zu wechseln, anstatt zum `model`, das Sie in Optionen übergeben haben.

187* **`setPermissionMode()` / `set_permission_mode()`**: wechselt den Genehmigungsmodus

188 

189TypeScript hat auch `applyFlagSettings()` und `updateSettings()`:

190 

191* **`applyFlagSettings()`**: wendet Einstellungen zur Laufzeit an, wie in `await session.applyFlagSettings({ effortLevel: "high" })`. Die Methode nimmt Einstellungsdateischlüssel anstelle von Optionsfeldern, also überprüfen Sie die [`applyFlagSettings()` reference](/docs/de/agent-sdk/typescript#applyflagsettings) für das Schema und für welche Schlüssel während der Sitzung wirksam werden.

192* **`updateSettings()`**: schreibt einen zulassungslisten Satz von Schlüsseln in die lokale Einstellungsdatei des Projekts, wie in `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`. Die geschriebenen Schlüssel treten bei der nächsten Anfrage der Sitzung in Kraft und bleiben für spätere Sitzungen bestehen, die `local`-Einstellungen laden. Die Zeile der Methode in der [methods table](/docs/de/agent-sdk/typescript#methods) benennt die zulassungslisten Schlüssel und die Versionsuntergrenze.

193 

194Das folgende Beispiel führt eine zweizügige Sitzung aus, ändert die Konfiguration zwischen den Zügen und druckt das Modell, das jeden Zug beantwortet hat. In TypeScript hält der Prompt-Stream die zweite Nachricht, bis die Setter ausgeführt wurden, und der zweite Zug läuft auf dem neuen Modell.

195 

196<CodeGroup>

197 ```typescript TypeScript theme={null}

198 import { query, type SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";

199 

200 function userMessage(text: string): SDKUserMessage {

201 return { type: "user", message: { role: "user", content: text }, parent_tool_use_id: null };

202 }

203 

204 // Hold the second prompt until the setters have run.

205 let startSecondTurn!: () => void;

206 const secondTurnReady = new Promise<void>((resolve) => {

207 startSecondTurn = resolve;

208 });

209 

210 async function* turnPrompts(): AsyncGenerator<SDKUserMessage, void> {

211 yield userMessage("Reply with exactly: ready");

212 await secondTurnReady;

213 yield userMessage("Reply with exactly: done");

214 }

215 

216 const session = query({

217 prompt: turnPrompts(),

218 options: {

219 model: "claude-sonnet-5",

220 },

221 });

222 

223 let turnModel = "";

224 let completedTurns = 0;

225 

226 for await (const message of session) {

227 if (message.type === "assistant") {

228 turnModel = message.message.model;

229 } else if (message.type === "result") {

230 completedTurns += 1;

231 if (completedTurns === 1) {

232 console.log(`First turn model: ${turnModel}`);

233 await session.setModel("claude-opus-5");

234 await session.setPermissionMode("acceptEdits");

235 startSecondTurn();

236 } else {

237 console.log(`Second turn model: ${turnModel}`);

238 break;

239 }

240 }

241 }

242 ```

243 

244 ```python Python theme={null}

245 import asyncio

246 

247 from claude_agent_sdk import AssistantMessage, ClaudeAgentOptions, ClaudeSDKClient

248 

249 async def main():

250 options = ClaudeAgentOptions(model="claude-sonnet-5")

251 

252 async with ClaudeSDKClient(options=options) as client:

253 await client.query("Reply with exactly: ready")

254 first_model = ""

255 async for message in client.receive_response():

256 if isinstance(message, AssistantMessage):

257 first_model = message.model

258 

259 await client.set_model("claude-opus-5")

260 await client.set_permission_mode("acceptEdits")

261 

262 await client.query("Reply with exactly: done")

263 second_model = ""

264 async for message in client.receive_response():

265 if isinstance(message, AssistantMessage):

266 second_model = message.model

267 

268 print(f"First turn model: {first_model}")

269 print(f"Second turn model: {second_model}")

270 

271 asyncio.run(main())

272 ```

273</CodeGroup>

274 

275Auf der Claude API druckt das Programm `First turn model: claude-sonnet-5`, dann `Second turn model: claude-opus-5` nach dem Wechsel.

276 

277<Note>

278 Jedes Modell hat seinen eigenen Prompt-Cache, sodass nach einem Wechsel während der Sitzung die nächste Anfrage die vollständige Konversation ungecacht zu den Sätzen des neuen Modells neu berechnet. Weitere Informationen finden Sie unter [Switching models](/docs/de/prompt-caching#switching-models).

279</Note>

280 

281<h2 id="configure-specific-features">

282 Konfigurieren Sie spezifische Funktionen

283</h2>

284 

285Die folgende Tabelle ordnet jede Option der Funktion zu, die sie konfiguriert. Für Optionen, die diese Seite nicht abdeckt, siehe die [TypeScript](/docs/de/agent-sdk/typescript#options) und [Python](/docs/de/agent-sdk/python#claudeagentoptions) Referenzen. Wenn Sie Ihr Ziel kennen, aber nicht welche Option es erfüllt, beginnen Sie mit [Choose the right feature](/docs/de/agent-sdk/claude-code-features#choose-the-right-feature).

286 

287| TypeScript | Python | Steuert | Abgedeckt in |

288| ------------------------- | --------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

289| `permissionMode` | `permission_mode` | Was der Agent ohne Genehmigung tun kann | [Configure permissions](/docs/de/agent-sdk/permissions) |

290| `allowedTools` | `allowed_tools` | Welche Werkzeugaufrufe vorab genehmigt sind | [Configure permissions](/docs/de/agent-sdk/permissions) |

291| `canUseTool` | `can_use_tool` | Ihr Genehmigungsrückruf für Werkzeugaufrufe | [Handle tool approval requests](/docs/de/agent-sdk/user-input#handle-tool-approval-requests) |

292| `systemPrompt` | `system_prompt` | Die Anweisungen des Agenten | [Modifying system prompts](/docs/de/agent-sdk/modifying-system-prompts) |

293| `settingSources` | `setting_sources` | Welche Dateisystemeinstellungen geladen werden | [Use Claude Code features in the SDK](/docs/de/agent-sdk/claude-code-features) |

294| `mcpServers` | `mcp_servers` | Externe Werkzeugserver | [Connect to external tools with MCP](/docs/de/agent-sdk/mcp) |

295| `agents` | `agents` | Subagent-Definitionen | [Subagents](/docs/de/agent-sdk/subagents) |

296| `hooks` | `hooks` | Rückrufe an Lebenszykluspunkten | [Hooks](/docs/de/agent-sdk/hooks) |

297| `skills` | `skills` | Welche Skills geladen werden | [Extend agents with skills](/docs/de/agent-sdk/skills) |

298| `plugins` | `plugins` | Welche Plugins geladen werden | [Plugins](/docs/de/agent-sdk/plugins) |

299| `outputFormat` | `output_format` | Strukturierte Ausgabeschemas | [Structured outputs](/docs/de/agent-sdk/structured-outputs) |

300| `resume` | `resume` | Fortsetzen einer gespeicherten Sitzung | [Sessions](/docs/de/agent-sdk/sessions) |

301| `forkSession` | `fork_session` | Verzweigung einer Sitzung | [Sessions](/docs/de/agent-sdk/sessions) |

302| `sessionStore` | `session_store` | Externe Sitzungspersistenz | [Session storage](/docs/de/agent-sdk/session-storage) |

303| `enableFileCheckpointing` | `enable_file_checkpointing` | Rückgängig machbare Dateibearbeitungen | [File checkpointing](/docs/de/agent-sdk/file-checkpointing) |

304| `effort` | `effort` | Wie viel Arbeit Claude in Antworten investiert | [Effort level](/docs/de/agent-sdk/agent-loop#effort-level) |

305| `sandbox` | `sandbox` | Sandbox-Verhalten für Werkzeugausführung | [TypeScript](/docs/de/agent-sdk/typescript#sandbox-configuration) und [Python](/docs/de/agent-sdk/python#sandbox-configuration) Referenzen, mit Bereitstellungskontext in [Secure deployment](/docs/de/agent-sdk/secure-deployment) |

306 

307<h2 id="next-steps">

308 Nächste Schritte

309</h2>

310 

311Um Konfiguration in funktionierenden Agenten zusammengesetzt zu sehen:

312 

313* **[Quickstart](/docs/de/agent-sdk/quickstart)**: bauen und führen Sie einen ersten Agent von Anfang bis Ende aus

314* **[Examples](/docs/de/agent-sdk/examples)**: finden Sie ein vollständiges, ausführbares Projekt oder ein geführtes Claude Cookbook-Rezept, das dem entspricht, was Sie bauen möchten

315* **[Multi-tenant isolation](/docs/de/agent-sdk/hosting#multi-tenant-isolation)**: isolieren Sie die Einstellungen und den Speicher jedes Mandanten mit `settingSources` / `setting_sources`, `env` und `cwd`

Details

8 8 

9Das Claude Agent SDK bietet detaillierte Token-Nutzungsinformationen für jede Interaktion mit Claude. Dieser Leitfaden erklärt, wie Sie die Nutzung ordnungsgemäß verfolgen und die Kostenberichterstattung verstehen, besonders bei parallelen Tool-Verwendungen und mehrstufigen Gesprächen.9Das Claude Agent SDK bietet detaillierte Token-Nutzungsinformationen für jede Interaktion mit Claude. Dieser Leitfaden erklärt, wie Sie die Nutzung ordnungsgemäß verfolgen und die Kostenberichterstattung verstehen, besonders bei parallelen Tool-Verwendungen und mehrstufigen Gesprächen.

10 10 

11Für die vollständige API-Dokumentation siehe die [TypeScript SDK-Referenz](/de/agent-sdk/typescript) und [Python SDK-Referenz](/de/agent-sdk/python).11Für die vollständige API-Dokumentation siehe die [TypeScript SDK-Referenz](/docs/de/agent-sdk/typescript) und [Python SDK-Referenz](/docs/de/agent-sdk/python).

12 12 

13<Warning>13<Warning>

14 Die Felder `total_cost_usd` und `costUSD` sind clientseitige Schätzungen, keine verbindlichen Abrechnungsdaten. Das SDK berechnet sie lokal aus einer Preistabelle, die zur Build-Zeit gebündelt wird, daher können sie von dem abweichen, was Sie tatsächlich abgerechnet bekommen, wenn:14 Die Felder `total_cost_usd` und `costUSD` sind clientseitige Schätzungen, keine verbindlichen Abrechnungsdaten. Das SDK berechnet sie lokal aus einer Preistabelle, die zur Build-Zeit gebündelt wird, daher können sie von dem abweichen, was Sie tatsächlich abgerechnet bekommen, wenn:


33 33 

34Die Kostenverfolgung hängt davon ab, zu verstehen, wie das SDK Nutzungsdaten umfasst:34Die Kostenverfolgung hängt davon ab, zu verstehen, wie das SDK Nutzungsdaten umfasst:

35 35 

36* **`query()` Aufruf:** eine Invokation der `query()` Funktion des SDK. Ein einzelner Aufruf kann mehrere Schritte beinhalten (Claude antwortet, verwendet Tools, erhält Ergebnisse, antwortet erneut). Jeder Aufruf erzeugt am Ende eine [`result`](/de/agent-sdk/typescript#sdkresultmessage) Nachricht.36* **`query()` Aufruf:** eine Invokation der `query()` Funktion des SDK. Ein einzelner Aufruf kann mehrere Schritte beinhalten (Claude antwortet, verwendet Tools, erhält Ergebnisse, antwortet erneut). Jeder Aufruf erzeugt am Ende eine [`result`](/docs/de/agent-sdk/typescript#sdkresultmessage) Nachricht.

37* **Schritt:** ein einzelner Request/Response-Zyklus innerhalb eines `query()` Aufrufs. Jeder Schritt erzeugt Assistenten-Nachrichten mit Token-Nutzung.37* **Schritt:** ein einzelner Request/Response-Zyklus innerhalb eines `query()` Aufrufs. Jeder Schritt erzeugt Assistenten-Nachrichten mit Token-Nutzung.

38* **Sitzung:** eine Serie von `query()` Aufrufen, die durch eine Sitzungs-ID verknüpft sind (mit der `resume` Option). Jeder `query()` Aufruf innerhalb einer Sitzung meldet seine eigenen Kosten unabhängig.38* **Sitzung:** eine Serie von `query()` Aufrufen, die durch eine Sitzungs-ID verknüpft sind (mit der `resume` Option). Jeder `query()` Aufruf innerhalb einer Sitzung meldet seine eigenen Kosten unabhängig.

39 39 


47 </Step>47 </Step>

48 48 

49 <Step title="Die Ergebnis-Nachricht bietet die kumulative Schätzung">49 <Step title="Die Ergebnis-Nachricht bietet die kumulative Schätzung">

50 Wenn der `query()` Aufruf abgeschlossen ist, gibt das SDK eine Ergebnis-Nachricht mit `total_cost_usd` und kumulativer `usage` aus. Dies ist in TypeScript ([`SDKResultMessage`](/de/agent-sdk/typescript#sdkresultmessage)) und Python ([`ResultMessage`](/de/agent-sdk/python#resultmessage)) verfügbar. Wenn Sie mehrere `query()` Aufrufe tätigen (zum Beispiel in einer mehrstufigen Sitzung), spiegelt jedes Ergebnis nur die Kosten dieses einzelnen Aufrufs wider. Wenn Sie nur die geschätzte Summe benötigen, können Sie die Nutzung pro Schritt ignorieren und diesen einzelnen Wert lesen.50 Wenn der `query()` Aufruf abgeschlossen ist, gibt das SDK eine Ergebnis-Nachricht mit `total_cost_usd` und kumulativer `usage` aus. Dies ist in TypeScript ([`SDKResultMessage`](/docs/de/agent-sdk/typescript#sdkresultmessage)) und Python ([`ResultMessage`](/docs/de/agent-sdk/python#resultmessage)) verfügbar. Wenn Sie mehrere `query()` Aufrufe tätigen (zum Beispiel in einer mehrstufigen Sitzung), spiegelt jedes Ergebnis nur die Kosten dieses einzelnen Aufrufs wider. Wenn Sie nur die geschätzte Summe benötigen, können Sie die Nutzung pro Schritt ignorieren und diesen einzelnen Wert lesen.

51 </Step>51 </Step>

52</Steps>52</Steps>

53 53 


55 Gesamtkosten einer Abfrage abrufen55 Gesamtkosten einer Abfrage abrufen

56</h2>56</h2>

57 57 

58Die Ergebnis-Nachricht ([TypeScript](/de/agent-sdk/typescript#sdkresultmessage), [Python](/de/agent-sdk/python#resultmessage)) markiert das Ende der Agent-Schleife für einen `query()`-Aufruf. Sie enthält `total_cost_usd`, die geschätzte kumulative Kosten über alle Schritte in diesem Aufruf. Dies funktioniert sowohl für erfolgreiche als auch für Fehler-Ergebnisse. Wenn Sie Sitzungen verwenden, um mehrere `query()`-Aufrufe zu tätigen, spiegelt jedes Ergebnis nur die Kosten dieses einzelnen Aufrufs wider.58Die Ergebnis-Nachricht ([TypeScript](/docs/de/agent-sdk/typescript#sdkresultmessage), [Python](/docs/de/agent-sdk/python#resultmessage)) markiert das Ende der Agent-Schleife für einen `query()`-Aufruf. Sie enthält `total_cost_usd`, die geschätzte kumulative Kosten über alle Schritte in diesem Aufruf. Dies funktioniert sowohl für erfolgreiche als auch für Fehler-Ergebnisse. Wenn Sie Sitzungen verwenden, um mehrere `query()`-Aufrufe zu tätigen, spiegelt jedes Ergebnis nur die Kosten dieses einzelnen Aufrufs wider.

59 59 

60Die drei Felder auf Ergebnis-Ebene unterscheiden sich darin, was sie zählen, wenn der Agent [Subagenten](/de/agent-sdk/subagents) erzeugt. Verwenden Sie `modelUsage` oder `model_usage` in Python für die Gesamtbaum-Token-Abrechnung; das Feld `usage` unterschätzt, sobald Verschachtelung auftritt.60Die drei Felder auf Ergebnis-Ebene unterscheiden sich darin, was sie zählen, wenn der Agent [Subagenten](/docs/de/agent-sdk/subagents) erzeugt. Verwenden Sie `modelUsage` oder `model_usage` in Python für die Gesamtbaum-Token-Abrechnung; das Feld `usage` unterschätzt, sobald Verschachtelung auftritt.

61 61 

62| Feld | Subagenten-Aktivität |62| Feld | Subagenten-Aktivität |

63| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |63| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |


112 Nutzung pro Schritt und pro Modell verfolgen112 Nutzung pro Schritt und pro Modell verfolgen

113</h2>113</h2>

114 114 

115Die Beispiele in diesem Abschnitt verwenden TypeScript-Feldnamen. In Python sind die entsprechenden Felder [`AssistantMessage.usage`](/de/agent-sdk/python#assistantmessage) und `AssistantMessage.message_id` für die Nutzung pro Schritt, und [`ResultMessage.model_usage`](/de/agent-sdk/python#resultmessage) für Aufschlüsselungen pro Modell.115Die Beispiele in diesem Abschnitt verwenden TypeScript-Feldnamen. In Python sind die entsprechenden Felder [`AssistantMessage.usage`](/docs/de/agent-sdk/python#assistantmessage) und `AssistantMessage.message_id` für die Nutzung pro Schritt, und [`ResultMessage.model_usage`](/docs/de/agent-sdk/python#resultmessage) für Aufschlüsselungen pro Modell.

116 116 

117<h3 id="track-per-step-usage">117<h3 id="track-per-step-usage">

118 Nutzung pro Schritt verfolgen118 Nutzung pro Schritt verfolgen


161 Nutzung pro Modell aufschlüsseln161 Nutzung pro Modell aufschlüsseln

162</h3>162</h3>

163 163 

164Die Ergebnis-Nachricht enthält [`modelUsage`](/de/agent-sdk/typescript#modelusage), eine Zuordnung von Modellname zu Token-Zählungen und Kosten pro Modell. Dies ist nützlich, wenn Sie mehrere Modelle ausführen (zum Beispiel Haiku für Sub-Agenten und Opus für den Haupt-Agenten) und sehen möchten, wohin die Tokens gehen.164Die Ergebnis-Nachricht enthält [`modelUsage`](/docs/de/agent-sdk/typescript#modelusage), eine Zuordnung von Modellname zu Token-Zählungen und Kosten pro Modell. Dies ist nützlich, wenn Sie mehrere Modelle ausführen (zum Beispiel Haiku für Sub-Agenten und Opus für den Haupt-Agenten) und sehen möchten, wohin die Tokens gehen.

165 165 

166Das folgende Beispiel führt eine Abfrage aus und gibt die Kosten und Token-Aufschlüsselung für jedes verwendete Modell aus:166Das folgende Beispiel führt eine Abfrage aus und gibt die Kosten und Token-Aufschlüsselung für jedes verwendete Modell aus:

167 167 


294* `cache_creation_input_tokens`: Tokens, die zum Erstellen neuer Cache-Einträge verwendet werden (berechnet zu einem höheren Satz als Standard-Input-Tokens).294* `cache_creation_input_tokens`: Tokens, die zum Erstellen neuer Cache-Einträge verwendet werden (berechnet zu einem höheren Satz als Standard-Input-Tokens).

295* `cache_read_input_tokens`: Tokens, die aus vorhandenen Cache-Einträgen gelesen werden (berechnet zu einem reduzierten Satz).295* `cache_read_input_tokens`: Tokens, die aus vorhandenen Cache-Einträgen gelesen werden (berechnet zu einem reduzierten Satz).

296 296 

297Verfolgen Sie diese separat von `input_tokens`, um Cache-Einsparungen zu verstehen. In TypeScript sind diese Felder auf dem [`Usage`](/de/agent-sdk/typescript#usage) Objekt typisiert. In Python erscheinen sie als Schlüssel im [`ResultMessage.usage`](/de/agent-sdk/python#resultmessage) dict (zum Beispiel, `message.usage.get("cache_read_input_tokens", 0)`).297Verfolgen Sie diese separat von `input_tokens`, um Cache-Einsparungen zu verstehen. In TypeScript sind diese Felder auf dem [`Usage`](/docs/de/agent-sdk/typescript#usage) Objekt typisiert. In Python erscheinen sie als Schlüssel im [`ResultMessage.usage`](/docs/de/agent-sdk/python#resultmessage) dict (zum Beispiel, `message.usage.get("cache_read_input_tokens", 0)`).

298 298 

299<h3 id="extend-the-prompt-cache-ttl-to-one-hour">299<h3 id="extend-the-prompt-cache-ttl-to-one-hour">

300 Prompt-Cache-TTL auf eine Stunde verlängern300 Prompt-Cache-TTL auf eine Stunde verlängern


302 302 

303Cache-Einträge, die vom SDK geschrieben werden, verwenden standardmäßig eine 5-Minuten-TTL, wenn Sie sich mit einem API-Schlüssel authentifizieren oder auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry ausführen. Wenn Ihre Workload viele kurze Sitzungen gegen das gleiche System-Prompt und den gleichen Kontext mit Lücken länger als 5 Minuten zwischen ihnen ausführt, läuft der Cache zwischen Sitzungen ab und jede neue Sitzung zahlt den vollen Input-Preis.303Cache-Einträge, die vom SDK geschrieben werden, verwenden standardmäßig eine 5-Minuten-TTL, wenn Sie sich mit einem API-Schlüssel authentifizieren oder auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry ausführen. Wenn Ihre Workload viele kurze Sitzungen gegen das gleiche System-Prompt und den gleichen Kontext mit Lücken länger als 5 Minuten zwischen ihnen ausführt, läuft der Cache zwischen Sitzungen ab und jede neue Sitzung zahlt den vollen Input-Preis.

304 304 

305Um eine 1-Stunden-TTL bei Cache-Schreibvorgängen anzufordern, setzen Sie die [`ENABLE_PROMPT_CACHING_1H`](/de/env-vars) Umgebungsvariable. Sie können sie in Ihrer Shell- oder Container-Umgebung exportieren oder sie durch `options.env` übergeben.305Um eine 1-Stunden-TTL bei Cache-Schreibvorgängen anzufordern, setzen Sie die [`ENABLE_PROMPT_CACHING_1H`](/docs/de/env-vars) Umgebungsvariable. Sie können sie in Ihrer Shell- oder Container-Umgebung exportieren oder sie durch `options.env` übergeben.

306 306 

307Das folgende Beispiel aktiviert 1-Stunden-TTL für einen Agenten, der auf Amazon Bedrock ausgeführt wird:307Das folgende Beispiel aktiviert 1-Stunden-TTL für einen Agenten, der auf Amazon Bedrock ausgeführt wird:

308 308 


350 Verwandte Dokumentation350 Verwandte Dokumentation

351</h2>351</h2>

352 352 

353* [TypeScript SDK Referenz](/de/agent-sdk/typescript) - Vollständige API-Dokumentation353* [TypeScript SDK Referenz](/docs/de/agent-sdk/typescript) - Vollständige API-Dokumentation

354* [SDK Übersicht](/de/agent-sdk/overview) - Erste Schritte mit dem SDK354* [SDK Übersicht](/docs/de/agent-sdk/overview) - Erste Schritte mit dem SDK

355* [SDK Berechtigungen](/de/agent-sdk/permissions) - Verwaltung von Tool-Berechtigungen355* [SDK Berechtigungen](/docs/de/agent-sdk/permissions) - Verwaltung von Tool-Berechtigungen

Details

138 138 

139Übergeben Sie den MCP Server, den Sie erstellt haben, an `query` über die `mcpServers` Option. Der Schlüssel in `mcpServers` wird zum `{server_name}` Segment im vollständig qualifizierten Namen jedes Tools: `mcp__{server_name}__{tool_name}`. Listen Sie diesen Namen in `allowedTools` auf, damit das Tool ohne Genehmigungsaufforderung ausgeführt wird.139Übergeben Sie den MCP Server, den Sie erstellt haben, an `query` über die `mcpServers` Option. Der Schlüssel in `mcpServers` wird zum `{server_name}` Segment im vollständig qualifizierten Namen jedes Tools: `mcp__{server_name}__{tool_name}`. Listen Sie diesen Namen in `allowedTools` auf, damit das Tool ohne Genehmigungsaufforderung ausgeführt wird.

140 140 

141Diese Snippets verwenden den `weatherServer` aus dem [Beispiel oben](#weather-tool-example) erneut, um Claude zu fragen, wie das Wetter an einem bestimmten Ort ist.141Diese Snippets verwenden den `weatherServer` aus dem [Wetter-Tool-Beispiel](#weather-tool-example) erneut, um Claude zu fragen, wie das Wetter an einem bestimmten Ort ist.

142 142 

143<CodeGroup>143<CodeGroup>

144 ```python Python theme={null}144 ```python Python theme={null}

Details

826 826 

827Claude Code führt jeden Callback mit einem Timeout aus, den Sie in Sekunden mit dem Feld `timeout` auf seinem `HookMatcher` festlegen. Wenn Sie keinen festlegen, verwendet Claude Code den Standard des Ereignisses: 600 Sekunden für die meisten Ereignisse, 30 Sekunden für `UserPromptSubmit`, `PreModelSwitch` und `PostModelSwitch`, und 10 Sekunden für `MessageDisplay`. Claude Code führt `SessionEnd` Callbacks während des Herunterfahrens unter dem kürzeren [SessionEnd-Timeout-Budget](/docs/de/hooks#sessionend-input) aus, standardmäßig 1,5 Sekunden.827Claude Code führt jeden Callback mit einem Timeout aus, den Sie in Sekunden mit dem Feld `timeout` auf seinem `HookMatcher` festlegen. Wenn Sie keinen festlegen, verwendet Claude Code den Standard des Ereignisses: 600 Sekunden für die meisten Ereignisse, 30 Sekunden für `UserPromptSubmit`, `PreModelSwitch` und `PostModelSwitch`, und 10 Sekunden für `MessageDisplay`. Claude Code führt `SessionEnd` Callbacks während des Herunterfahrens unter dem kürzeren [SessionEnd-Timeout-Budget](/docs/de/hooks#sessionend-input) aus, standardmäßig 1,5 Sekunden.

828 828 

829Wenn ein Callback sein Timeout überschreitet, bricht Claude Code es ab und behandelt es als fehlgeschlagenen Hook: Es verwirft die Ausgabe des Callbacks und die Sitzung wird fortgesetzt, anstatt zu hängen. Was danach passiert, hängt vom Ereignis ab:829Wenn ein Callback sein Timeout überschreitet, bricht Claude Code es ab und verwirft seine Ausgabe, und die Sitzung wird fortgesetzt, anstatt zu hängen. Was danach passiert, hängt vom Ereignis ab:

830 830 

831* `PreToolUse`: Claude Code führt den Tool-Aufruf nicht aus, Claude erhält ein Tool-Ergebnis, das besagt, dass der Hook nicht vor seinem Timeout geantwortet hat, und der Turn wird fortgesetzt. Wenn ein anderer `PreToolUse` Hook eine explizite Ablehnung zurückgegeben hat, erhält Claude stattdessen diese Ablehnung. Vor v2.1.210 meldete Claude Code das Timeout an Claude als Benutzerabweisung, was unbeaufsichtigte Sitzungen zum Stoppen und Warten auf Eingabe führte.831* `PreToolUse`: Claude Code führt den Tool-Aufruf nicht aus, Claude erhält ein Tool-Ergebnis, das besagt, dass der Hook nicht vor seinem Timeout geantwortet hat, und der Turn wird fortgesetzt. Wenn ein anderer `PreToolUse` Hook eine explizite Ablehnung zurückgegeben hat, erhält Claude stattdessen diese Ablehnung. Vor v2.1.210 meldete Claude Code das Timeout an Claude als Benutzerabweisung, was unbeaufsichtigte Sitzungen zum Stoppen und Warten auf Eingabe führte.

832* `PostToolUse` und `PostToolUseFailure`: Claude Code behält das Tool-Ergebnis bei und der Turn wird fortgesetzt.832* `PostToolUse` und `PostToolUseFailure`: Claude Code behält das Tool-Ergebnis bei und der Turn wird fortgesetzt.

833* `UserPromptSubmit` und [`UserPromptExpansion`](/docs/de/hooks#userpromptexpansion): Claude Code blockiert die Aufforderung mit einer Nachricht, die den Hook und das Timeout benennt, und die Sitzung wird fortgesetzt. Da ein Callback bei diesen Ereignissen als Richtlinien-Gate fungieren kann, lässt Claude Code niemals eine abgelaufene Aufforderung ungeprüft durch. Vor v2.1.208 endete Claude Code die Abfrage mit `error_during_execution`, wenn ein Callback bei diesen Ereignissen abgelaufen ist.833* `UserPromptSubmit` und [`UserPromptExpansion`](/docs/de/hooks#userpromptexpansion): Claude Code blockiert die Aufforderung mit einer Nachricht, die den Hook und das Timeout benennt, und die Sitzung wird fortgesetzt. Da ein Callback bei diesen Ereignissen als Richtlinien-Gate fungieren kann, lässt Claude Code niemals eine abgelaufene Aufforderung ungeprüft durch. Vor v2.1.208 endete Claude Code die Abfrage mit `error_during_execution`, wenn ein Callback bei diesen Ereignissen abgelaufen ist.

834* `Stop` und `SubagentStop`: Claude Code zeigt eine Warnung an und der Agent stoppt normal.834* `Stop` und `SubagentStop`: der abgelaufene Callback zählt als Rückgabe ohne Entscheidung. Der Agent oder Subagent stoppt, als hätte dieser Callback es erlaubt, und eine Entscheidung von Ihren anderen Hooks bei dem Ereignis wird immer noch angewendet. Vor Claude Code v2.1.273 zählte ein abgelaufener `Stop` oder `SubagentStop` Callback als fehlgeschlagener Hook-Lauf, und Claude Code verwarf die Entscheidungen Ihrer anderen Hooks bei dem Ereignis.

835* `SessionStart`: der abgelaufene Callback zählt als Rückgabe ohne Ausgabe, und die Sitzung wird mit der Ausgabe Ihrer anderen `SessionStart` Hooks fortgesetzt.

835* `PreModelSwitch`: Claude Code blockiert den Modellwechsel. Ein Hook, der nicht antwortet, hat den Wechsel nicht genehmigt.836* `PreModelSwitch`: Claude Code blockiert den Modellwechsel. Ein Hook, der nicht antwortet, hat den Wechsel nicht genehmigt.

836* Andere Ereignisse, wie `Notification`, `PreCompact` und `PostModelSwitch`: Claude Code protokolliert den Fehler und wird fortgesetzt.837* Andere Ereignisse, wie `Notification`, `PreCompact` und `PostModelSwitch`: Claude Code protokolliert den Fehler und wird fortgesetzt.

837 838 

839Das erste Mal, wenn ein `Stop` oder `SessionStart` Callback in der Hauptsitzung abläuft, fügt Claude Code auch eine [`SDKInformationalMessage`](/docs/de/agent-sdk/typescript#sdkinformationalmessage) zum Nachrichtenstrom hinzu, die besagt, dass die App, die die Sitzung steuert, nicht geantwortet hat. Spätere Timeouts wiederholen diese Nachricht nicht, während Ihre App nicht reagiert.

840 

838Wenn Sie die Abfrage unterbrechen, während ein Callback ausstehend ist, bricht Claude Code den ausstehenden Tool-Aufruf ab. Vor v2.1.208 konnte der Tool-Aufruf noch fortfahren, wenn Sie während eines ausstehenden `PreToolUse` Callbacks unterbrochen haben.841Wenn Sie die Abfrage unterbrechen, während ein Callback ausstehend ist, bricht Claude Code den ausstehenden Tool-Aufruf ab. Vor v2.1.208 konnte der Tool-Aufruf noch fortfahren, wenn Sie während eines ausstehenden `PreToolUse` Callbacks unterbrochen haben.

839 842 

840Wenn Ihr Callback mehr Zeit benötigt, legen Sie einen höheren `timeout` auf seinem `HookMatcher` fest. In TypeScript verwenden Sie das `AbortSignal` aus dem dritten Callback-Argument, um Abbruch elegant zu behandeln, wenn das Timeout abläuft.843Wenn Ihr Callback mehr Zeit benötigt, legen Sie einen höheren `timeout` auf seinem `HookMatcher` fest. In TypeScript verwenden Sie das `AbortSignal` aus dem dritten Callback-Argument, um Abbruch elegant zu behandeln, wenn das Timeout abläuft.

Details

147 147 

148 declare const userInput: string;148 declare const userInput: string;

149 declare const sessionId: string; // looked up from your database by user149 declare const sessionId: string; // looked up from your database by user

150 declare const sessionStore: SessionStore; // S3, Redis, Postgres, or your own adapter150 declare const sessionStore: SessionStore; // an object store, key-value store, database, or your own adapter

151 151 

152 for await (const message of query({152 for await (const message of query({

153 prompt: userInput,153 prompt: userInput,


163 163 

164 user_input: str = ...164 user_input: str = ...

165 session_id: str = ... # looked up from your database by user165 session_id: str = ... # looked up from your database by user

166 session_store: SessionStore = ... # S3, Redis, Postgres, or your own adapter166 session_store: SessionStore = ... # an object store, key-value store, database, or your own adapter

167 167 

168 168 

169 async def main():169 async def main():


244 Sitzungs- und Zustandspersistenz244 Sitzungs- und Zustandspersistenz

245</h3>245</h3>

246 246 

247Der Standard-lokale Datenträger geht bei Neustart, Herunterskalierung oder Verschiebung auf einen anderen Knoten verloren. Für jede Sitzung, die ein Benutzer fortsetzen möchte, spiegeln Sie das Transkript mit einem [`SessionStore`-Adapter](/docs/de/agent-sdk/session-storage) zu dauerhaftem Speicher. Siehe [Referenzimplementierungen](/docs/de/agent-sdk/session-storage#reference-implementations) für S3-, Redis- und Postgres-Adapter sowie eine Konformitätssuite für Ihre eigenen.247Der Standard-lokale Datenträger geht bei Neustart, Herunterskalierung oder Verschiebung auf einen anderen Knoten verloren. Für jede Sitzung, die ein Benutzer fortsetzen möchte, spiegeln Sie das Transkript mit einem [`SessionStore`-Adapter](/docs/de/agent-sdk/session-storage) zu dauerhaftem Speicher. Siehe [Referenzimplementierungen](/docs/de/agent-sdk/session-storage#reference-implementations) für Beispieladapter für einen Objektspeicher, einen Schlüssel-Wert-Speicher und eine Datenbank sowie eine Konformitätssuite für Ihre eigenen.

248 248 

249Drei Dinge, die Sie über das Verhalten von `SessionStore` wissen sollten:249Drei Dinge, die Sie über das Verhalten von `SessionStore` wissen sollten:

250 250 

agent-sdk/mcp.md +12 −1

Details

156 Verbindungszeitpunkt156 Verbindungszeitpunkt

157</h2>157</h2>

158 158 

159Claude Code registriert die Server, die Sie in `options.mcpServers` übergeben, beim Start und sendet die [Init-Nachricht](#error-handling), sobald die Wartezeit für die erste Runde, falls vorhanden, abgelaufen ist. Ohne `options.mcpServers` wartet Claude Code 2 Sekunden auf ausstehende Server, bevor die erste Runde beginnt, sodass Server, die aus [Konfigurationsdateien](#from-a-config-file) wie `.mcp.json` geladen werden, häufig beim Init den Status `pending` anzeigen. Wenn jeder `options.mcpServers`-Server verbunden wird und ob er die erste Runde verzögert, hängt von seinem Typ ab:159Claude Code registriert die Server, die Sie in `options.mcpServers` übergeben, beim Start und sendet die [Init-Nachricht](#error-handling), sobald die Wartezeit für die erste Runde, falls vorhanden, abgelaufen ist. Ob jeder `options.mcpServers`-Server die erste Runde verzögert und wann er sich verbindet, hängt von seinem Typ ab:

160 160 

161| Servertyp | Verzögert die erste Runde? | Wartezeit-Timeout für die erste Runde |161| Servertyp | Verzögert die erste Runde? | Wartezeit-Timeout für die erste Runde |

162| :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |162| :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |


164| Remote-Server mit zwischengespeicherter Werkzeugliste, gespeichert von Claude Code aus einer vorherigen Verbindung | Nein; die zwischengespeicherten Werkzeuge sind ab der ersten Runde verfügbar | Keine; verbindet sich beim ersten Werkzeugaufruf, und diese aufgeschobene Verbindung hat ihr eigenes Timeout |164| Remote-Server mit zwischengespeicherter Werkzeugliste, gespeichert von Claude Code aus einer vorherigen Verbindung | Nein; die zwischengespeicherten Werkzeuge sind ab der ersten Runde verfügbar | Keine; verbindet sich beim ersten Werkzeugaufruf, und diese aufgeschobene Verbindung hat ihr eigenes Timeout |

165| In-Process-[SDK-Server](#sdk-mcp-servers) | Ja, bis zur Verbindung und Auflistung der Werkzeuge | Keine; die Verbindungs- und Werkzeugauflistungsanfragen haben jeweils ihr eigenes Timeout |165| In-Process-[SDK-Server](#sdk-mcp-servers) | Ja, bis zur Verbindung und Auflistung der Werkzeuge | Keine; die Verbindungs- und Werkzeugauflistungsanfragen haben jeweils ihr eigenes Timeout |

166 166 

167Server, die aus [Konfigurationsdateien](#from-a-config-file) wie `.mcp.json` oder aus Plugins geladen werden, zeigen häufig `pending` in der Init-Nachricht an. Wenn `options.mcpServers` einen Stdio-, HTTP- oder SSE-Server enthält, wartet die erste Runde auch auf diese ausstehenden Server, bis zu `MCP_TIMEOUT`. Wenn `options.mcpServers` leer ist oder nur SDK-Server enthält, wartet die erste Runde stattdessen bis zu 2 Sekunden:

168 

169* **Mit [Werkzeugsuche](/docs/de/agent-sdk/tool-search), der Standardeinstellung**: Die Wartezeit umfasst noch ausstehende Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, und nicht die übrigen. Die übrigen bleiben im Hintergrund verbunden. [Werkzeugverfügbarkeit](/docs/de/mcp#tool-availability) beschreibt, wie Claude auf ihre Werkzeuge zugreift, sobald sie verbunden sind.

170* **Ohne Werkzeugsuche**: Die Wartezeit umfasst jeden ausstehenden Server. [Werkzeugsuche konfigurieren](/docs/de/agent-sdk/tool-search#configure-tool-search) behandelt, wie die Werkzeugsuche deaktiviert wird. Wenn Sie das `ToolSearch`-Werkzeug aus der Sitzung ausschließen, beispielsweise durch `disallowedTools`, wird die Sitzung auch ohne Werkzeugsuche ausgeführt.

171 

172Wenn Sie `permissionPromptToolName` setzen, wartet die erste Runde auch in jedem Fall auf den Server dieses Werkzeugs, bis zu `MCP_TIMEOUT`.

173 

174Um die Wartezeit für die erste Runde selbst zu setzen, fügen Sie `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` zur [`env`-Option](/docs/de/agent-sdk/configuration#set-environment-variables) hinzu, beispielsweise `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`. Die erste Runde wartet dann bis zu dieser Anzahl von Millisekunden auf jeden ausstehenden Server, unabhängig davon, ob die Werkzeugsuche verfügbar ist. Diese Frist ersetzt auch die `MCP_TIMEOUT`-Wartezeit für die erste Runde für Stdio-, HTTP- und SSE-Server in `options.mcpServers`. `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` erfordert Claude Code v2.1.274 oder später.

175 

176Server, die noch ausstehend sind, wenn die Wartezeit endet, bleiben im Hintergrund verbunden. Setzen Sie die Variable auf `0`, um die Wartezeit zu überspringen. Ein `permissionPromptToolName`-Server behält seine eigene `MCP_TIMEOUT`-Wartezeit unabhängig vom Wert bei.

177 

167Um den Start selbst in einer separaten, früheren Phase als die Wartezeit für die erste Runde zu blockieren, bevor die Init-Nachricht gesendet wird:178Um den Start selbst in einer separaten, früheren Phase als die Wartezeit für die erste Runde zu blockieren, bevor die Init-Nachricht gesendet wird:

168 179 

169* Setzen Sie [`MCP_CONNECTION_NONBLOCKING`](/docs/de/env-vars) auf `0`, um den gesamten Verbindungsstapel zu blockieren. Claude Code begrenzt diese Wartezeit standardmäßig auf 5 Sekunden. Passen Sie die Obergrenze mit der Umgebungsvariablen [`MCP_CONNECT_TIMEOUT_MS`](/docs/de/env-vars) in Millisekunden an. Server, die bei dieser Frist noch ausstehend sind, bleiben im Hintergrund verbunden.180* Setzen Sie [`MCP_CONNECTION_NONBLOCKING`](/docs/de/env-vars) auf `0`, um den gesamten Verbindungsstapel zu blockieren. Claude Code begrenzt diese Wartezeit standardmäßig auf 5 Sekunden. Passen Sie die Obergrenze mit der Umgebungsvariablen [`MCP_CONNECT_TIMEOUT_MS`](/docs/de/env-vars) in Millisekunden an. Server, die bei dieser Frist noch ausstehend sind, bleiben im Hintergrund verbunden.

Details

152 152 

153Nach der Erstellung aktivieren Sie Ausgabestile über:153Nach der Erstellung aktivieren Sie Ausgabestile über:

154 154 

155* **CLI**: Führen Sie `/config` aus und wählen Sie einen Ausgabestil155* **CLI**: Führen Sie `/output-style <style>` aus, zum Beispiel `/output-style concise`, oder führen Sie `/config` aus und wählen Sie einen. Der Befehl `/output-style` erfordert Claude Code v2.1.269 oder später.

156* **Einstellungen**: Setzen Sie `outputStyle` in `.claude/settings.local.json`156* **Einstellungen**: Setzen Sie `outputStyle` in `.claude/settings.local.json`

157* **TypeScript SDK**: Setzen Sie `outputStyle` innerhalb des Inline-`settings`-Objekts, das an `query()` übergeben wird, oder verweisen Sie `settings` auf eine Einstellungsdatei, die es setzt. `outputStyle` ist kein Feld auf oberster Ebene von `Options`:157* **TypeScript SDK**: Setzen Sie `outputStyle` innerhalb des Inline-`settings`-Objekts, das an `query()` übergeben wird, oder verweisen Sie `settings` auf eine Einstellungsdatei, die es setzt. `outputStyle` ist kein Feld auf oberster Ebene von `Options`:

158 158 


352 Den statischen Teil einer benutzerdefinierten Eingabeaufforderung zwischenspeichern352 Den statischen Teil einer benutzerdefinierten Eingabeaufforderung zwischenspeichern

353</h4>353</h4>

354 354 

355Im TypeScript SDK können Sie eine benutzerdefinierte Eingabeaufforderung als Array von Zeichenketten statt als eine Zeichenkette übergeben, mit dem `SYSTEM_PROMPT_DYNAMIC_BOUNDARY`-Marker zwischen dem statischen Teil und dem Rest. Verwenden Sie dies, wenn Ihre Eingabeaufforderung Anweisungen kombiniert, die bei jeder Anfrage gleich sind, mit Kontext, der sich pro Anfrage ändert, wie z. B. der Kunde oder das Ticket, das der Agent bearbeitet. Wenn Sie beide Teile als eine Zeichenkette übergeben, ändert eine Änderung des Pro-Anfrage-Teils die gesamte Systemaufforderung, sodass die statischen Anweisungen auch den Cache verfehlen. Diese Form ist im Python SDK nicht verfügbar, dessen `system_prompt`-Option eine Zeichenkette, eine Voreinstellung oder eine [Datei](/docs/de/agent-sdk/python#systempromptfile) akzeptiert.355Im TypeScript SDK können Sie eine benutzerdefinierte Eingabeaufforderung als Array von Zeichenketten statt als eine Zeichenkette übergeben, mit dem `SYSTEM_PROMPT_DYNAMIC_BOUNDARY`-Marker zwischen dem statischen Teil und dem Rest. Verwenden Sie dies, wenn Ihre Eingabeaufforderung Anweisungen kombiniert, die bei jeder Anfrage gleich sind, mit Kontext, der sich pro Anfrage ändert, wie z. B. der Kunde oder das Ticket, das der Agent bearbeitet. Wenn Sie beide Teile als eine Zeichenkette übergeben, ändert eine Änderung des Pro-Anfrage-Teils die gesamte Systemaufforderung, sodass die statischen Anweisungen auch den Cache verfehlen. Diese Form ist im Python SDK nicht verfügbar; [`ClaudeAgentOptions`](/docs/de/agent-sdk/python#claudeagentoptions) listet die Formen auf, die `system_prompt` akzeptiert.

356 356 

357<Note>357<Note>

358 Das SDK teilt die Eingabeaufforderung nur, wenn es die Claude API direkt aufruft oder auf [Claude Platform on AWS](/docs/de/claude-platform-on-aws) ausgeführt wird. In jeder anderen Konfiguration, wie Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder ein [LLM-Gateway](/docs/de/llm-gateway-connect), und wann immer Sie [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) setzen, sendet das SDK die gesamte Eingabeaufforderung als einen Block, genauso wie das Übergeben einer Zeichenkette.358 Das SDK teilt die Eingabeaufforderung nur, wenn es die Claude API direkt aufruft oder auf [Claude Platform on AWS](/docs/de/claude-platform-on-aws) ausgeführt wird. In jeder anderen Konfiguration, wie Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder ein [LLM-Gateway](/docs/de/llm-gateway-connect), und wann immer Sie [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) setzen, sendet das SDK die gesamte Eingabeaufforderung als einen Block, genauso wie das Übergeben einer Zeichenkette.


393 393 

394Standardmäßig erstellt Claude Code die Systemaufforderung einmal, bei der ersten Anfrage einer Sitzung, mit Ihrem `append`-Text oder benutzerdefinierten Eingabeaufforderung eingeschlossen, und zeichnet sie in der Sitzung auf. Bis die Sitzung komprimiert wird, verwendet jede spätere Anfrage diese aufgezeichnete Eingabeaufforderung, auch nachdem Sie zur Sitzung mit `resume` oder `continue` zurückkehren. Wenn Sie eine andere `append` oder benutzerdefinierte Eingabeaufforderung bei diesem späteren Aufruf übergeben, wird sie wirksam, sobald die Sitzung komprimiert wird oder in einer neuen Sitzung.394Standardmäßig erstellt Claude Code die Systemaufforderung einmal, bei der ersten Anfrage einer Sitzung, mit Ihrem `append`-Text oder benutzerdefinierten Eingabeaufforderung eingeschlossen, und zeichnet sie in der Sitzung auf. Bis die Sitzung komprimiert wird, verwendet jede spätere Anfrage diese aufgezeichnete Eingabeaufforderung, auch nachdem Sie zur Sitzung mit `resume` oder `continue` zurückkehren. Wenn Sie eine andere `append` oder benutzerdefinierte Eingabeaufforderung bei diesem späteren Aufruf übergeben, wird sie wirksam, sobald die Sitzung komprimiert wird oder in einer neuen Sitzung.

395 395 

396Wenn Sie Claude Code im [Bare-Modus](/docs/de/headless#start-faster-with-bare-mode) starten, indem Sie `--bare` durch `extraArgs` übergeben oder `CLAUDE_CODE_SIMPLE=1` setzen, bleibt die Aufzeichnung aus, es sei denn, Sie setzen `snapshot: true` auf der Objektform von `systemPrompt`. Das Aufzeichnen einer `append` oder benutzerdefinierten Eingabeaufforderung standardmäßig erfordert Claude Code v2.1.265 oder später, das das TypeScript Agent SDK ab v0.3.265 bündelt. Vor Claude Code v2.1.268 erstellten Sitzungen, die keine [Funktionsflags abrufen](/docs/de/env-vars#features-that-need-feature-flag-fetching), einschließlich Sitzungen auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, die Eingabeaufforderung bei jeder Anfrage neu und `snapshot` hatte keine Auswirkung.396<h4 id="update-claude’s-instructions-mid-session">

397 Aktualisieren Sie Claudes Anweisungen während der Sitzung

398</h4>

399 

400Wenn sich die Anweisungen, die Sie in die Systemaufforderung eingefügt haben, ändern müssen, während eine Sitzung läuft, beispielsweise weil Ihr Benutzer den Agenten in einen schreibgeschützten Modus umgeschaltet hat oder seine Konfiguration in Ihrer App bearbeitet hat, senden Sie die neuen Anweisungen in der Konversation statt `systemPrompt` zu ändern:

401 

402* **In Ihrer nächsten Nachricht**: Beziehen Sie die neuen Anweisungen in die nächste Benutzernachricht ein, die Sie senden.

403* **Aus einem Hook**: Geben Sie [`additionalContext`](/docs/de/hooks#add-context-for-claude) aus einem `UserPromptSubmit` oder `PostToolUse` [Hook-Callback](/docs/de/agent-sdk/hooks#outputs) zurück, geschrieben als eine sachliche Aussage wie „Der Arbeitsbereich ist jetzt schreibgeschützt". Das SDK fügt den Text an der Stelle in die Konversation ein, an der der Hook ausgelöst wurde, sodass die aufgezeichnete Eingabeaufforderung unverändert bleibt.

404 

405<h4 id="turn-recording-off-while-you-iterate-on-wording">

406 Schalten Sie die Aufzeichnung aus, während Sie an der Formulierung arbeiten

407</h4>

408 

409Während Sie an der Formulierung der Eingabeaufforderung arbeiten und möchten, dass jede Bearbeitung eine Sitzung erreicht, die Sie fortsetzen, setzen Sie `snapshot` auf false auf der Objektform der Systemaufforderung. Claude Code erstellt dann die Eingabeaufforderung bei jeder Anfrage neu. Das Feld ist auf der Voreinstellungs- und benutzerdefinierten Form von [`systemPrompt`](/docs/de/agent-sdk/typescript#options) in TypeScript und von [`system_prompt`](/docs/de/agent-sdk/python#systempromptpreset) in Python verfügbar und erfordert `@anthropic-ai/claude-agent-sdk` v0.3.257 oder später oder `claude-agent-sdk` v0.2.153 oder später.

410 

411Halten Sie die Aufzeichnung in der Produktion ein. Mit ausgeschalteter Aufzeichnung erreicht eine andere `append` oder benutzerdefinierte Eingabeaufforderung auf einer fortgesetzten Sitzung Claude beim nächsten Durchgang, und diese Anfrage kann den [Prompt-Cache](/docs/de/prompt-caching#how-the-cache-is-organized) der Sitzung nicht wiederverwenden. Wo die API [bewahrtes Denken](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) erzwingt, verliert Claude auch sein Denken aus früheren Durchgängen.

412 

413Außerhalb von [Cloud-Sitzungen](/docs/de/cloud-environments), wenn Sie Claude Code im [Bare-Modus](/docs/de/headless#start-faster-with-bare-mode) starten, indem Sie `--bare` durch `extraArgs` übergeben oder `CLAUDE_CODE_SIMPLE=1` setzen, bleibt die Aufzeichnung aus, es sei denn, Sie setzen `snapshot: true`.

397 414 

398Um die Eingabeaufforderung stattdessen bei jeder Anfrage neu zu erstellen, setzen Sie `snapshot: false` auf der Objektform von `systemPrompt` im TypeScript SDK: `{ type: "preset", preset: "claude_code", append, snapshot: false }` oder `{ type: "custom", prompt, snapshot: false }`. Verwenden Sie diese Form, während Sie an der Formulierung der Eingabeaufforderung arbeiten, oder wenn Ihre Anwendung `append` zwischen Aufrufen ändert, die die gleiche Sitzung fortsetzen. Das Feld `snapshot` erfordert `@anthropic-ai/claude-agent-sdk` v0.3.257 oder später.415Das Aufzeichnen einer `append` oder benutzerdefinierten Eingabeaufforderung standardmäßig erfordert Claude Code v2.1.265 oder später, das das TypeScript Agent SDK ab v0.3.265 und das Python Agent SDK ab v0.2.153 bündelt. Vor Claude Code v2.1.268 erstellten Sitzungen, die keine [Funktionsflags abrufen](/docs/de/env-vars#features-that-need-feature-flag-fetching), einschließlich Sitzungen auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, die Eingabeaufforderung bei jeder Anfrage neu und `snapshot` hatte keine Auswirkung.

399 416 

400<h2 id="compare-the-four-approaches">417<h2 id="compare-the-four-approaches">

401 Vergleich der vier Ansätze418 Vergleich der vier Ansätze

Details

249| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |249| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

250| `OTEL_LOG_USER_PROMPTS=1` | Prompt-Text auf `claude_code.user_prompt`-Events und auf dem `claude_code.interaction`-Span |250| `OTEL_LOG_USER_PROMPTS=1` | Prompt-Text auf `claude_code.user_prompt`-Events und auf dem `claude_code.interaction`-Span |

251| `OTEL_LOG_TOOL_DETAILS=1` | Tool-Eingabeargumente (Dateipfade, Shell-Befehle, Suchmuster) auf `claude_code.tool_result`-Events |251| `OTEL_LOG_TOOL_DETAILS=1` | Tool-Eingabeargumente (Dateipfade, Shell-Befehle, Suchmuster) auf `claude_code.tool_result`-Events |

252| `OTEL_LOG_TOOL_CONTENT=1` | Vollständige Tool-Eingabe- und Ausgabetexte als Span-Events auf `claude_code.tool`, gekürzt auf 60 KB standardmäßig, konfigurierbar über `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, was Claude Code v2.1.214 oder später erfordert. Erfordert, dass [Tracing](#read-agent-traces) aktiviert ist |252| `OTEL_LOG_TOOL_CONTENT=1` | Ein [`tool.output`-Span-Event](/docs/de/monitoring-usage#tool-output-span-event) auf `claude_code.tool` mit Dateiinhalten und Bash-Ausgabe, gekürzt auf 60 KB standardmäßig, konfigurierbar über `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, was Claude Code v2.1.214 oder später erfordert. Erfordert, dass [Tracing](#read-agent-traces) aktiviert ist. Span-Attribute tragen Tool-Inhalte unter [ihren eigenen Gates](/docs/de/monitoring-usage#new-context-gates) |

253| `OTEL_LOG_RAW_API_BODIES` | Vollständige Anthropic Messages API-Anfrage und Antwort JSON als `claude_code.api_request_body` und `claude_code.api_response_body` Log-Events. Setzen Sie auf `1` für Inline-Texte gekürzt auf 60 KB standardmäßig, oder `file:<dir>` für ungekürzte Texte auf der Festplatte mit einem `body_ref`-Pfad im Event. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` konfiguriert das Inline-Kürzungslimit, und erfordert Claude Code v2.1.214 oder später. Texte enthalten die gesamte Gesprächshistorie und haben erweiterte Denkinhalte redigiert. Das Aktivieren davon impliziert Zustimmung zu allem, was die drei obigen Variablen offenbaren würden |253| `OTEL_LOG_RAW_API_BODIES` | Vollständige Anthropic Messages API-Anfrage und Antwort JSON als `claude_code.api_request_body` und `claude_code.api_response_body` Log-Events. Setzen Sie auf `1` für Inline-Texte gekürzt auf 60 KB standardmäßig, oder `file:<dir>` für ungekürzte Texte auf der Festplatte mit einem `body_ref`-Pfad im Event. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` konfiguriert das Inline-Kürzungslimit, und erfordert Claude Code v2.1.214 oder später. Texte enthalten die gesamte Gesprächshistorie und haben erweiterte Denkinhalte redigiert. Das Aktivieren davon impliziert Zustimmung zu allem, was die drei obigen Variablen offenbaren würden |

254 254 

255Lassen Sie diese ungesetzt, es sei denn, Ihre Observability-Pipeline ist genehmigt, um die Daten zu speichern, die Ihr Agent verarbeitet. Siehe [Sicherheit und Datenschutz](/docs/de/monitoring-usage#security-and-privacy) in der Überwachungsreferenz für die vollständige Liste der Attribute und des Redaktionsverhaltens.255Lassen Sie diese ungesetzt, es sei denn, Ihre Observability-Pipeline ist genehmigt, um die Daten zu speichern, die Ihr Agent verarbeitet. Siehe [Sicherheit und Datenschutz](/docs/de/monitoring-usage#security-and-privacy) in der Überwachungsreferenz für die vollständige Liste der Attribute und des Redaktionsverhaltens.

Details

78 78 

79* „Claude Agent" (bevorzugt für Dropdown-Menüs)79* „Claude Agent" (bevorzugt für Dropdown-Menüs)

80* „Claude" (wenn bereits in einem Menü mit der Bezeichnung „Agents")80* „Claude" (wenn bereits in einem Menü mit der Bezeichnung „Agents")

81* „{YourAgentName} Powered by Claude" (wenn Sie einen vorhandenen Agentennamen haben)81* „\{YourAgentName} Powered by Claude" (wenn Sie einen vorhandenen Agentennamen haben)

82 82 

83**Nicht erlaubt:**83**Nicht erlaubt:**

84 84 

Details

301 301 

302Dateibearbeitungen werden im Planungsmodus nie automatisch genehmigt, auch wenn eine Allow-Regel übereinstimmt. Sie werden stattdessen durch Ihren `canUseTool`-Callback abgefragt. In Claude Code v2.1.212 oder später erreichen Shell-Befehle, die Dateien ändern, wie `touch` und `rm`, Ihren `canUseTool`-Callback auf die gleiche Weise.302Dateibearbeitungen werden im Planungsmodus nie automatisch genehmigt, auch wenn eine Allow-Regel übereinstimmt. Sie werden stattdessen durch Ihren `canUseTool`-Callback abgefragt. In Claude Code v2.1.212 oder später erreichen Shell-Befehle, die Dateien ändern, wie `touch` und `rm`, Ihren `canUseTool`-Callback auf die gleiche Weise.

303 303 

304Wenn Sie `allowDangerouslySkipPermissions: true` zusammen mit `permissionMode: 'plan'` festlegen, erreichen Dateibearbeitungen und Shell-Befehle, die Dateien ändern, weiterhin Ihren `canUseTool`-Callback. Die Option ermöglicht es Ihnen, später mit `setPermissionMode()` zu `bypassPermissions` zu wechseln.

305 

304Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben verarbeiten](/docs/de/agent-sdk/user-input#handle-clarifying-questions) für die Verarbeitung dieser Aufforderungen.306Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben verarbeiten](/docs/de/agent-sdk/user-input#handle-clarifying-questions) für die Verarbeitung dieser Aufforderungen.

305 307 

306**Verwenden Sie, wenn:** Sie möchten, dass Claude Änderungen vorschlägt, ohne sie auszuführen, z. B. während einer Code-Überprüfung oder wenn Sie Änderungen genehmigen müssen, bevor sie vorgenommen werden.308**Verwenden Sie, wenn:** Sie möchten, dass Claude Änderungen vorschlägt, ohne sie auszuführen, z. B. während einer Code-Überprüfung oder wenn Sie Änderungen genehmigen müssen, bevor sie vorgenommen werden.

Details

119</h4>119</h4>

120 120 

121| Parameter | Typ | Beschreibung |121| Parameter | Typ | Beschreibung |

122| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------- |122| :------------- | :---------------------------------------------- | :---------------------------------------------------------------------------------------------------------- |

123| `name` | `str` | Eindeutige Kennung für das Tool |123| `name` | `str` | Eindeutige Kennung für das Tool |

124| `description` | `str` | Lesbare Beschreibung, was das Tool tut |124| `description` | `str` | Lesbare Beschreibung, was das Tool tut |

125| `input_schema` | `type \| dict[str, Any]` | Schema, das die Eingabeparameter des Tools definiert (siehe unten) |125| `input_schema` | `type \| dict[str, Any]` | Schema, das die Eingabeparameter des Tools definiert. Siehe [Eingabeschema-Optionen](#input-schema-options) |

126| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | Optionale MCP-Tool-Anmerkungen, die Verhaltenshinweise für Clients bereitstellen |126| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | Optionale MCP-Tool-Anmerkungen, die Verhaltenshinweise für Clients bereitstellen |

127 127 

128<h4 id="input-schema-options">128<h4 id="input-schema-options">


537| `receive_response()` | Empfangen Sie Nachrichten bis einschließlich einer ResultMessage |537| `receive_response()` | Empfangen Sie Nachrichten bis einschließlich einer ResultMessage |

538| `interrupt()` | Senden Sie ein Unterbrechungssignal (funktioniert nur im Streaming-Modus) |538| `interrupt()` | Senden Sie ein Unterbrechungssignal (funktioniert nur im Streaming-Modus) |

539| `set_permission_mode(mode)` | Ändern Sie den Berechtigungsmodus für die aktuelle Sitzung |539| `set_permission_mode(mode)` | Ändern Sie den Berechtigungsmodus für die aktuelle Sitzung |

540| `set_model(model)` | Ändern Sie das Modell für die aktuelle Sitzung. Übergeben Sie `None`, um auf Standard zurückzusetzen |540| `set_model(model)` | Ändern Sie das Modell für die aktuelle Sitzung. Übergeben Sie `None`, um auf [Claude Code's Standardmodell](/docs/de/model-config) zurückzusetzen |

541| `rewind_files(user_message_id)` | Stellen Sie Dateien in ihren Zustand bei der angegebenen Benutzernachricht wieder her. Erfordert `enable_file_checkpointing=True`. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |541| `rewind_files(user_message_id)` | Stellen Sie Dateien in ihren Zustand bei der angegebenen Benutzernachricht wieder her. Erfordert `enable_file_checkpointing=True`. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |

542| `get_mcp_status()` | Rufen Sie den Status aller konfigurierten MCP-Server ab. Gibt [`McpStatusResponse`](#mcpstatusresponse) zurück |542| `get_mcp_status()` | Rufen Sie den Status aller konfigurierten MCP-Server ab. Gibt [`McpStatusResponse`](#mcpstatusresponse) zurück |

543| `reconnect_mcp_server(server_name)` | Versuchen Sie, eine Verbindung zu einem MCP-Server herzustellen, der fehlgeschlagen ist oder getrennt wurde |543| `reconnect_mcp_server(server_name)` | Versuchen Sie, eine Verbindung zu einem MCP-Server herzustellen, der fehlgeschlagen ist oder getrennt wurde |


845class ClaudeAgentOptions:845class ClaudeAgentOptions:

846 tools: list[str] | ToolsPreset | None = None846 tools: list[str] | ToolsPreset | None = None

847 allowed_tools: list[str] = field(default_factory=list)847 allowed_tools: list[str] = field(default_factory=list)

848 system_prompt: str | SystemPromptPreset | SystemPromptFile | None = None848 system_prompt: str | SystemPromptPreset | SystemPromptCustom | SystemPromptFile | None = None

849 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)849 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)

850 strict_mcp_config: bool = False850 strict_mcp_config: bool = False

851 permission_mode: PermissionMode | None = None851 permission_mode: PermissionMode | None = None


894```894```

895 895 

896| Eigenschaft | Typ | Standard | Beschreibung |896| Eigenschaft | Typ | Standard | Beschreibung |

897| :---------------------------- | :------------------------------------------------------------------------------------ | :---------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |897| :---------------------------- | :------------------------------------------------------------------------------------ | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Tools-Konfiguration. Verwenden Sie `{"type": "preset", "preset": "claude_code"}` für die Standard-Tools von Claude Code |898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Tools-Konfiguration. Verwenden Sie `{"type": "preset", "preset": "claude_code"}` für die Standard-Tools von Claude Code |

899| `allowed_tools` | `list[str]` | `[]` | Tools, die automatisch genehmigt werden, ohne zu fragen. Dies beschränkt Claude nicht nur auf diese Tools. Wenn Sie einen der [Task-Tracking-Tools](/docs/de/agent-sdk/todo-tracking#model-availability) hier nennen, aktiviert Claude Code die Sitzung auch. Andere nicht aufgelistete Tools fallen durch `permission_mode` und `can_use_tool`. Verwenden Sie `disallowed_tools`, um Tools zu blockieren. Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |899| `allowed_tools` | `list[str]` | `[]` | Tools, die automatisch genehmigt werden, ohne zu fragen. Dies beschränkt Claude nicht nur auf diese Tools. Wenn Sie einen der [Task-Tracking-Tools](/docs/de/agent-sdk/todo-tracking#model-availability) hier nennen, aktiviert Claude Code die Sitzung auch. Andere nicht aufgelistete Tools fallen durch `permission_mode` und `can_use_tool`. Verwenden Sie `disallowed_tools`, um Tools zu blockieren. Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |

900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptFile \| None` | `None` | System-Prompt-Konfiguration. Übergeben Sie eine Zeichenkette für einen benutzerdefinierten Prompt, `{"type": "preset", "preset": "claude_code"}` für den System-Prompt von Claude Code mit optionalem `"append"`, oder `{"type": "file", "path": "..."}` zum Laden eines großen Prompts von der Festplatte. Siehe [`SystemPromptPreset`](#systempromptpreset) und [`SystemPromptFile`](#systempromptfile) |900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | System-Prompt-Konfiguration. Übergeben Sie eine Zeichenkette für einen benutzerdefinierten Prompt, `{"type": "preset", "preset": "claude_code"}` für den System-Prompt von Claude Code mit optionalem `"append"`, `{"type": "custom", "prompt": "..."}` für einen benutzerdefinierten Prompt, der auch `"snapshot"` setzen kann, oder `{"type": "file", "path": "..."}` zum Laden eines großen Prompts von der Festplatte. Siehe [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom) und [`SystemPromptFile`](#systempromptfile) |

901| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP-Server-Konfigurationen oder Pfad zur Konfigurationsdatei |901| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP-Server-Konfigurationen oder Pfad zur Konfigurationsdatei |

902| `strict_mcp_config` | `bool` | `False` | Wenn `True`, verwenden Sie nur die Server, die in `mcp_servers` übergeben werden, und ignorieren Sie das Projekt `.mcp.json`, Benutzereinstellungen, von Plugins bereitgestellte MCP-Server und [claude.ai-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai). Entspricht dem CLI-Flag `--strict-mcp-config` |902| `strict_mcp_config` | `bool` | `False` | Wenn `True`, verwenden Sie nur die Server, die in `mcp_servers` übergeben werden, und ignorieren Sie das Projekt `.mcp.json`, Benutzereinstellungen, von Plugins bereitgestellte MCP-Server und [claude.ai-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai). Entspricht dem CLI-Flag `--strict-mcp-config` |

903| `permission_mode` | `PermissionMode \| None` | `None` | Berechtigungsmodus für die Tool-Nutzung |903| `permission_mode` | `PermissionMode \| None` | `None` | Berechtigungsmodus für die Tool-Nutzung |


905| `resume` | `str \| None` | `None` | Sitzungs-ID zum Fortsetzen |905| `resume` | `str \| None` | `None` | Sitzungs-ID zum Fortsetzen |

906| `session_id` | `str \| None` | `None` | Verwenden Sie eine bestimmte Sitzungs-ID statt einer automatisch generierten. Muss eine gültige UUID sein. Kann nicht mit `continue_conversation` oder `resume` kombiniert werden, es sei denn, `fork_session` ist auch gesetzt |906| `session_id` | `str \| None` | `None` | Verwenden Sie eine bestimmte Sitzungs-ID statt einer automatisch generierten. Muss eine gültige UUID sein. Kann nicht mit `continue_conversation` oder `resume` kombiniert werden, es sei denn, `fork_session` ist auch gesetzt |

907| `max_turns` | `int \| None` | `None` | Maximale agentengesteuerte Umdrehungen (Tool-Use-Rundgänge) |907| `max_turns` | `int \| None` | `None` | Maximale agentengesteuerte Umdrehungen (Tool-Use-Rundgänge) |

908| `max_budget_usd` | `float \| None` | `None` | Stoppen Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Verglichen mit der gleichen Schätzung wie `total_cost_usd`; siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) für Genauigkeitsvorbehalt |908| `max_budget_usd` | `float \| None` | `None` | Stoppen Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Verglichen mit der gleichen Schätzung wie `total_cost_usd`. Für Genauigkeitsvorbehalt und Zurücksetzen-Verhalten siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) |

909| `disallowed_tools` | `list[str]` | `[]` | Tools, die verweigert werden. Ein einfacher Name wie `"Bash"` entfernt das Tool aus Claudes Kontext. Eine scoped-Regel wie `"Bash(rm *)"` lässt das Tool verfügbar und verweigert übereinstimmende Aufrufe in jedem Berechtigungsmodus, einschließlich `bypassPermissions`, für den Befehl [wie geschrieben](/docs/de/permissions#bash-rule-limits). Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |909| `disallowed_tools` | `list[str]` | `[]` | Tools, die verweigert werden. Ein einfacher Name wie `"Bash"` entfernt das Tool aus Claudes Kontext. Eine scoped-Regel wie `"Bash(rm *)"` lässt das Tool verfügbar und verweigert übereinstimmende Aufrufe in jedem Berechtigungsmodus, einschließlich `bypassPermissions`, für den Befehl [wie geschrieben](/docs/de/permissions#bash-rule-limits). Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |

910| `enable_file_checkpointing` | `bool` | `False` | Aktivieren Sie die Dateienänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |910| `enable_file_checkpointing` | `bool` | `False` | Aktivieren Sie die Dateienänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |

911| `model` | `str \| None` | `None` | Claude-Modell-Alias oder vollständiger Modellname. Siehe [akzeptierte Werte und anbieter-spezifische IDs](/docs/de/model-config#available-models) |911| `model` | `str \| None` | `None` | Claude-Modell-Alias oder vollständiger Modellname. Siehe [akzeptierte Werte und anbieter-spezifische IDs](/docs/de/model-config#available-models) |

912| `fallback_model` | `str \| None` | `None` | Fallback-Modell, das verwendet wird, wenn das primäre Modell fehlschlägt |912| `fallback_model` | `str \| None` | `None` | Fallback-Modell, das verwendet wird, wenn das primäre Modell fehlschlägt. Akzeptiert eine kommagetrennte Liste. Anleitungen finden Sie unter [Modell auswählen](/docs/de/agent-sdk/configuration#choose-a-model) |

913| `betas` | `list[SdkBeta]` | `[]` | Beta-Funktionen zum Aktivieren. Siehe [`SdkBeta`](#sdkbeta) für verfügbare Optionen |913| `betas` | `list[SdkBeta]` | `[]` | Beta-Funktionen zum Aktivieren. Siehe [`SdkBeta`](#sdkbeta) für verfügbare Optionen |

914| `output_format` | `dict[str, Any] \| None` | `None` | Ausgabeformat für strukturierte Antworten (z. B. `{"type": "json_schema", "schema": {...}}`). Siehe [Strukturierte Ausgaben](/docs/de/agent-sdk/structured-outputs) für Details |914| `output_format` | `dict[str, Any] \| None` | `None` | Ausgabeformat für strukturierte Antworten (z. B. `{"type": "json_schema", "schema": {...}}`). Siehe [Strukturierte Ausgaben](/docs/de/agent-sdk/structured-outputs) für Details |

915| `permission_prompt_tool_name` | `str \| None` | `None` | MCP-Tool-Name für Berechtigungsaufforderungen |915| `permission_prompt_tool_name` | `str \| None` | `None` | MCP-Tool-Name für Berechtigungsaufforderungen |

916| `cwd` | `str \| Path \| None` | `None` | Aktuelles Arbeitsverzeichnis |916| `cwd` | `str \| Path \| None` | `None` | Aktuelles Arbeitsverzeichnis |

917| `cli_path` | `str \| Path \| None` | `None` | Benutzerdefinierter Pfad zur Claude Code CLI-Ausführungsdatei |917| `cli_path` | `str \| Path \| None` | `None` | Benutzerdefinierter Pfad zur Claude Code CLI-Ausführungsdatei |

918| `settings` | `str \| None` | `None` | Pfad zur Einstellungsdatei |918| `settings` | `str \| None` | `None` | Pfad zu einer Einstellungsdatei oder einer Inline-JSON-Zeichenkette |

919| `add_dirs` | `list[str \| Path]` | `[]` | Zusätzliche Verzeichnisse, auf die Claude zugreifen kann. Das SDK übergibt jeden Eintrag an Claude Code als `--add-dir`, daher lädt Claude Code mit der `project`-Einstellungsquelle auch [die Skills, Befehle und Subagenten des Verzeichnisses](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) |919| `add_dirs` | `list[str \| Path]` | `[]` | Zusätzliche Verzeichnisse, auf die Claude zugreifen kann. Das SDK übergibt jeden Eintrag an Claude Code als `--add-dir`, daher lädt Claude Code mit der `project`-Einstellungsquelle auch [die Skills, Befehle und Subagenten des Verzeichnisses](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) |

920| `env` | `dict[str, str]` | `{}` | Umgebungsvariablen, die auf der geerbten Prozessumgebung zusammengeführt werden. Siehe [Umgebungsvariablen](/docs/de/env-vars) für Variablen, die die zugrunde liegende CLI liest, und [Langsame oder steckengebliebene API-Antworten handhaben](#handle-slow-or-stalled-api-responses) für Timeout-bezogene Variablen |920| `env` | `dict[str, str]` | `{}` | Umgebungsvariablen, die auf der geerbten Prozessumgebung zusammengeführt werden. Siehe [Umgebungsvariablen](/docs/de/env-vars) für Variablen, die die zugrunde liegende CLI liest, und [Langsame oder steckengebliebene API-Antworten handhaben](#handle-slow-or-stalled-api-responses) für Timeout-bezogene Variablen |

921| `extra_args` | `dict[str, str \| None]` | `{}` | Zusätzliche CLI-Argumente, die direkt an die CLI übergeben werden |921| `extra_args` | `dict[str, str \| None]` | `{}` | Zusätzliche CLI-Argumente, die direkt an die CLI übergeben werden |


934| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Programmgesteuert definierte Subagenten |934| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Programmgesteuert definierte Subagenten |

935| `plugins` | `list[SdkPluginConfig]` | `[]` | Laden Sie benutzerdefinierte Plugins aus lokalen Pfaden. Siehe [Plugins](/docs/de/agent-sdk/plugins) für Details |935| `plugins` | `list[SdkPluginConfig]` | `[]` | Laden Sie benutzerdefinierte Plugins aus lokalen Pfaden. Siehe [Plugins](/docs/de/agent-sdk/plugins) für Details |

936| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Konfigurieren Sie das Sandbox-Verhalten programmgesteuert. Siehe [Sandbox-Einstellungen](#sandboxsettings) für Details |936| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Konfigurieren Sie das Sandbox-Verhalten programmgesteuert. Siehe [Sandbox-Einstellungen](#sandboxsettings) für Details |

937| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI-Standard: alle Quellen) | Kontrollieren Sie, welche Dateisystem-Einstellungen geladen werden. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. Verwaltete Richtlinieneinstellungen werden unabhängig davon geladen; Server-verwaltete Einstellungen werden abgerufen, wenn sich die Sitzung mit einer Organisationsanmeldedaten auf einer [berechtigten Konfiguration](/docs/de/server-managed-settings#platform-availability) authentifiziert. Siehe [Claude Code-Funktionen verwenden](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) |937| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI-Standard: alle Quellen) | Kontrollieren Sie, welche Dateisystem-Einstellungen geladen werden. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. Mit `skills` gesetzt und dieses Feld nicht gesetzt, werden nur Benutzer- und Projektquellen geladen. Setzen Sie `setting_sources` explizit, um lokale Einstellungen zu behalten. Endpoint-verwaltete Richtlinie wird unabhängig davon geladen; Server-verwaltete Einstellungen werden abgerufen, wenn sich die Sitzung mit einer Organisationsanmeldedaten auf einer [berechtigten Konfiguration](/docs/de/server-managed-settings#platform-availability) authentifiziert. Für Eingaben, die unabhängig von dieser Option gelesen werden, siehe [Was settingSources nicht kontrolliert](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

938| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, die der Sitzung zur Verfügung stehen. Übergeben Sie `"all"`, um jeden erkannten Skill zu aktivieren, oder eine Liste von Skill-Namen. Übergeben Sie nur exakte Namen. Das SDK lehnt fehlerhafte und Wildcard-Form-Namen mit einem `ValueError` ab, bevor der Claude Code-Prozess gestartet wird; diese Überprüfung erfordert Python Agent SDK 0.2.129 oder später. Wenn gesetzt, aktiviert das SDK das Skill-Tool automatisch in `allowed_tools`. Wenn Sie auch `tools` übergeben, schließen Sie `"Skill"` in diese Liste ein. Siehe [Skills](/docs/de/agent-sdk/skills) |938| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, die der Sitzung zur Verfügung stehen. Übergeben Sie `"all"`, um jeden erkannten Skill zu aktivieren, oder eine Liste von Skill-Namen. Übergeben Sie nur exakte Namen. Das SDK lehnt fehlerhafte und Wildcard-Form-Namen mit einem `ValueError` ab, bevor der Claude Code-Prozess gestartet wird; diese Überprüfung erfordert Python Agent SDK 0.2.129 oder später. Wenn gesetzt, aktiviert das SDK das Skill-Tool automatisch in `allowed_tools`. Wenn Sie auch `tools` übergeben, schließen Sie `"Skill"` in diese Liste ein. Siehe [Skills](/docs/de/agent-sdk/skills) |

939| `max_thinking_tokens` | `int \| None` | `None` | *Veraltet* - Maximale Token für Thinking-Blöcke. Verwenden Sie stattdessen `thinking` |939| `max_thinking_tokens` | `int \| None` | `None` | *Veraltet* - Maximale Token für Thinking-Blöcke. Verwenden Sie stattdessen `thinking` |

940| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Steuert das Verhalten des erweiterten Denkens. Hat Vorrang vor `max_thinking_tokens` |940| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Steuert das Verhalten des erweiterten Denkens. Hat Vorrang vor `max_thinking_tokens` |


1002 preset: Literal["claude_code"]1002 preset: Literal["claude_code"]

1003 append: NotRequired[str]1003 append: NotRequired[str]

1004 exclude_dynamic_sections: NotRequired[bool]1004 exclude_dynamic_sections: NotRequired[bool]

1005 snapshot: NotRequired[bool]

1005```1006```

1006 1007 

1007| Feld | Erforderlich | Beschreibung |1008| Feld | Erforderlich | Beschreibung |


1010| `preset` | Ja | Muss `"claude_code"` sein, um den System-Prompt von Claude Code zu verwenden |1011| `preset` | Ja | Muss `"claude_code"` sein, um den System-Prompt von Claude Code zu verwenden |

1011| `append` | Nein | Zusätzliche Anweisungen, die an den Preset-System-Prompt angehängt werden |1012| `append` | Nein | Zusätzliche Anweisungen, die an den Preset-System-Prompt angehängt werden |

1012| `exclude_dynamic_sections` | Nein | Verschieben Sie sitzungsspezifischen Kontext wie Arbeitsverzeichnis, Git-Repo-Flag und Auto-Memory-Pfade aus dem System-Prompt in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über Benutzer und Maschinen hinweg. Siehe [System-Prompts ändern](/docs/de/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1013| `exclude_dynamic_sections` | Nein | Verschieben Sie sitzungsspezifischen Kontext wie Arbeitsverzeichnis, Git-Repo-Flag und Auto-Memory-Pfade aus dem System-Prompt in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über Benutzer und Maschinen hinweg. Siehe [System-Prompts ändern](/docs/de/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

1014| `snapshot` | Nein | Setzen Sie auf `False`, um den System-Prompt bei jeder Anfrage neu zu erstellen, anstatt [den Prompt wiederzuverwenden, den die Sitzung bei ihrer ersten Anfrage aufgezeichnet hat](/docs/de/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Erfordert `claude-agent-sdk` v0.2.153 oder später |

1015 

1016<h3 id="systempromptcustom">

1017 `SystemPromptCustom`

1018</h3>

1019 

1020Ein benutzerdefinierter System-Prompt in Objektform, äquivalent zum Übergeben einer Zeichenkette als `system_prompt`, der auch `snapshot` setzen kann. Erfordert `claude-agent-sdk` v0.2.153 oder später.

1021 

1022```python theme={null}

1023class SystemPromptCustom(TypedDict):

1024 type: Literal["custom"]

1025 prompt: str

1026 snapshot: NotRequired[bool]

1027```

1028 

1029| Feld | Erforderlich | Beschreibung |

1030| :--------- | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |

1031| `type` | Ja | Muss `"custom"` sein |

1032| `prompt` | Ja | Der System-Prompt-Text. Wird an die CLI als Befehlszeilenargument übergeben, daher gelten die [Befehlszeilenlängenbeschränkungen](#systempromptfile) |

1033| `snapshot` | Nein | Gleich wie [`SystemPromptPreset.snapshot`](#systempromptpreset), angewendet auf `prompt` |

1013 1034 

1014<h3 id="systempromptfile">1035<h3 id="systempromptfile">

1015 `SystemPromptFile`1036 `SystemPromptFile`


1048 Standardverhalten1069 Standardverhalten

1049</h4>1070</h4>

1050 1071 

1051Wenn `setting_sources` weggelassen oder `None` ist, lädt `query()` die gleichen Dateisystem-Einstellungen wie die Claude Code CLI: Benutzer, Projekt und lokal. Verwaltete Richtlinieneinstellungen werden in allen Fällen geladen; Server-verwaltete Einstellungen werden abgerufen, wenn sich die Sitzung mit einer Organisationsanmeldedaten auf einer [berechtigten Konfiguration](/docs/de/server-managed-settings#platform-availability) authentifiziert. Siehe [Was settingSources nicht kontrolliert](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) für Eingaben, die unabhängig von dieser Option gelesen werden, und wie man sie deaktiviert.1072Wenn `setting_sources` weggelassen oder `None` ist und `skills` nicht gesetzt ist, lädt `query()` die gleichen Dateisystem-Einstellungen wie die Claude Code CLI: Benutzer, Projekt und lokal. Mit `skills` gesetzt, beschreibt die [`setting_sources`](#claudeagentoptions)-Zeile den aktuellen Standard. Endpoint-verwaltete Richtlinie wird in allen Fällen geladen; Server-verwaltete Einstellungen werden abgerufen, wenn sich die Sitzung mit einer Organisationsanmeldedaten auf einer [berechtigten Konfiguration](/docs/de/server-managed-settings#platform-availability) authentifiziert. Weitere Informationen finden Sie unter [Was settingSources nicht kontrolliert](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control).

1052 1073 

1053<h4 id="why-use-setting_sources">1074<h4 id="why-use-setting_sources">

1054 Warum setting\_sources verwenden1075 Warum setting\_sources verwenden


11412. Projekteinstellungen (`.claude/settings.json`)11622. Projekteinstellungen (`.claude/settings.json`)

11423. Benutzereinstellungen (`~/.claude/settings.json`)11633. Benutzereinstellungen (`~/.claude/settings.json`)

1143 1164 

1144Programmgesteuerte Optionen wie `agents` und `allowed_tools` überschreiben Benutzer-, Projekt- und lokale Dateisystem-Einstellungen. Verwaltete Richtlinieneinstellungen haben Vorrang vor programmgesteuerten Optionen.1165Programmgesteuerte Optionen wie `agents`, `allowed_tools` und `settings` überschreiben Benutzer-, Projekt- und lokale Dateisystem-Einstellungen. Verwaltete Richtlinieneinstellungen haben Vorrang vor programmgesteuerten Optionen.

1145 1166 

1146<h3 id="agentdefinition">1167<h3 id="agentdefinition">

1147 `AgentDefinition`1168 `AgentDefinition`


2704 "run_in_background": bool | None, # Agenten laufen standardmäßig im Hintergrund; auf False setzen, um synchron auszuführen2725 "run_in_background": bool | None, # Agenten laufen standardmäßig im Hintergrund; auf False setzen, um synchron auszuführen

2705 "name": str | None, # Name für den erzeugten Agent2726 "name": str | None, # Name für den erzeugten Agent

2706 "team_name": str | None, # Veraltet; wird ignoriert2727 "team_name": str | None, # Veraltet; wird ignoriert

2707 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # Veraltet; wird ignoriert. Der Berechtigungsmodus des Subagenten wird durch Vererbungsregeln bestimmt; die Agent-Definitions-Frontmatter kann ihn überschreiben2728 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # Veraltet; wird ignoriert. Die Vererbungsregeln für Subagenten bestimmen den Berechtigungsmodus eines Subagenten

2708 "isolation": "worktree" | "remote" | None, # Isolationsmodus für die Änderungen des Agenten2729 "isolation": "worktree" | "remote" | None, # Isolationsmodus für die Änderungen des Agenten

2709}2730}

2710```2731```


2780```python theme={null}2801```python theme={null}

2781{2802{

2782 "status": "remote_launched",2803 "status": "remote_launched",

2783 "taskId": str, # ID der Remote-Aufgabe2804 "taskId": str, # ID der versendeten Aufgabe

2784 "sessionUrl": str, # Link zur Remote-Cloud-Sitzung2805 "sessionUrl": str, # Link zur Cloud-Sitzung

2785 "description": str, # Die Aufgabenbeschreibung2806 "description": str, # Die Aufgabenbeschreibung

2786 "prompt": str, # Der Prompt, den der Agent ausführt2807 "prompt": str, # Der Prompt, den der Agent ausführt

2787 "outputFile": str, # Dateipfad, in den die Ausgabe des Agenten geschrieben wird2808 "outputFile": str, # Dateipfad, in den die Ausgabe des Agenten geschrieben wird

2788}2809}

2789```2810```

2790 2811 

2791Gibt das Ergebnis vom Subagenten zurück. Die Ausgabe wird nach dem `status`-Feld diskriminiert: `"completed"` für abgeschlossene Aufgaben, `"async_launched"` für Hintergrundaufgaben und `"remote_launched"` für Aufgaben, die Claude Code an eine Remote-Cloud-Sitzung versendet hat, wobei `sessionUrl` auf diese Sitzung verweist und `taskId` sie identifiziert. Wenn Claude Code [den isolierten Worktree des Subagenten behalten hat](/docs/de/worktrees#isolate-subagents-with-worktrees), ist `worktreePath` in der `completed`-Variante der Ort, wo man ihn findet, und `worktreeBranch` ist sein Branch, wenn Claude Code den Worktree mit Git erstellt hat.2812Gibt das Ergebnis vom Subagenten zurück. Die Ausgabe wird nach dem `status`-Feld diskriminiert: `"completed"` für abgeschlossene Aufgaben, `"async_launched"` für Hintergrundaufgaben und `"remote_launched"` für Aufgaben, die Claude Code an eine Cloud-Sitzung versendet hat, wobei `sessionUrl` auf diese Sitzung verweist und `taskId` sie identifiziert. Wenn Claude Code [den isolierten Worktree des Subagenten behalten hat](/docs/de/worktrees#isolate-subagents-with-worktrees), ist `worktreePath` in der `completed`-Variante der Ort, wo man ihn findet, und `worktreeBranch` ist sein Branch, wenn Claude Code den Worktree mit Git erstellt hat.

2792 2813 

2793In der `completed`-Variante benennt `resolvedModel` das Modell, auf dem der Subagent gestartet wurde, das sich vom angeforderten `model`-Input unterscheiden kann, wenn [`availableModels`](/docs/de/model-config#restrict-model-selection) oder eine andere Überschreibung gilt. Dieses Feld erfordert Claude Code v2.1.174 oder später. In der `async_launched`-Variante benennt `resolvedModel` das Modell in Verwendung, wenn der Agent in den Hintergrund wechselte, sodass ein Wechsel, der vor dem Hintergrund stattfand, dort widergespiegelt wird. Das `modelsUsed`-Feld in beiden Varianten listet die verwendeten Modelle in Reihenfolge auf, mit zusammengefassten aufeinanderfolgenden Wiederholungen; es wird nur gesetzt, wenn das Modell während des Durchlaufs gewechselt wurde. `modelsUsed` und das Hintergrund-Zeit-`resolvedModel`-Verhalten erfordern Claude Code v2.1.212 oder später.2814In der `completed`-Variante benennt `resolvedModel` das Modell, auf dem der Subagent gestartet wurde, das sich vom angeforderten `model`-Input unterscheiden kann, wenn [`availableModels`](/docs/de/model-config#restrict-model-selection) oder eine andere Überschreibung gilt. Dieses Feld erfordert Claude Code v2.1.174 oder später. In der `async_launched`-Variante benennt `resolvedModel` das Modell in Verwendung, wenn der Agent in den Hintergrund wechselte, sodass ein Wechsel, der vor dem Hintergrund stattfand, dort widergespiegelt wird. Das `modelsUsed`-Feld in beiden Varianten listet die verwendeten Modelle in Reihenfolge auf, mit zusammengefassten aufeinanderfolgenden Wiederholungen; es wird nur gesetzt, wenn das Modell während des Durchlaufs gewechselt wurde. `modelsUsed` und das Hintergrund-Zeit-`resolvedModel`-Verhalten erfordern Claude Code v2.1.212 oder später.

2794 2815 

Details

62 </Tab>62 </Tab>

63 63 

64 <Tab title="Python (uv)">64 <Tab title="Python (uv)">

65 [uv](https://docs.astral.sh/uv/) ist ein schneller Python-Paketmanager, der virtuelle Umgebungen automatisch verwaltet:65 [Installieren Sie uv](https://docs.astral.sh/uv/), einen schnellen Python-Paketmanager, der virtuelle Umgebungen automatisch verwaltet. Initialisieren Sie dann ein Projekt und fügen Sie das SDK hinzu:

66 66 

67 ```bash theme={null}67 ```bash theme={null}

68 uv init68 uv init


356 356 

357Mit aktiviertem `Bash` versuchen Sie: `"Write unit tests for utils.py, run them, and fix any failures"`357Mit aktiviertem `Bash` versuchen Sie: `"Write unit tests for utils.py, run them, and fix any failures"`

358 358 

359Jedes dieser Snippets setzt Felder auf demselben Optionsobjekt. Weitere Informationen finden Sie unter [Konfigurieren Sie Ihren Agenten](/docs/de/agent-sdk/configuration).

360 

359<h2 id="key-concepts">361<h2 id="key-concepts">

360 Wichtige Konzepte362 Wichtige Konzepte

361</h2>363</h2>


376 378 

377Jetzt, da Sie Ihren ersten Agenten erstellt haben, erfahren Sie, wie Sie seine Funktionen erweitern und ihn an Ihren Anwendungsfall anpassen:379Jetzt, da Sie Ihren ersten Agenten erstellt haben, erfahren Sie, wie Sie seine Funktionen erweitern und ihn an Ihren Anwendungsfall anpassen:

378 380 

381* **[Konfigurieren Sie Ihren Agenten](/docs/de/agent-sdk/configuration)**: Stellen Sie das Optionsobjekt zusammen und finden Sie die Seite, die jede Einstellung abdeckt

379* **[Berechtigungen](/docs/de/agent-sdk/permissions)**: Steuern Sie, was Ihr Agent tun kann und wann er Genehmigung benötigt382* **[Berechtigungen](/docs/de/agent-sdk/permissions)**: Steuern Sie, was Ihr Agent tun kann und wann er Genehmigung benötigt

380* **[Hooks](/docs/de/agent-sdk/hooks)**: Führen Sie benutzerdefinierten Code vor oder nach Tool-Aufrufen aus383* **[Hooks](/docs/de/agent-sdk/hooks)**: Führen Sie benutzerdefinierten Code vor oder nach Tool-Aufrufen aus

381* **[Sitzungen](/docs/de/agent-sdk/sessions)**: Erstellen Sie Multi-Turn-Agenten, die den Kontext beibehalten384* **[Sitzungen](/docs/de/agent-sdk/sessions)**: Erstellen Sie Multi-Turn-Agenten, die den Kontext beibehalten

Details

4 4 

5# Sitzungen in externem Speicher persistieren5# Sitzungen in externem Speicher persistieren

6 6 

7> Spiegeln Sie Sitzungstranskripte zu S3, Redis oder Ihrem eigenen Backend, damit andere Hosts Ihre Sitzungen fortsetzen können.7> Spiegeln Sie Agent SDK-Sitzungstranskripte in Ihren eigenen Objektspeicher, Key-Value-Store oder Ihre Datenbank, damit andere Hosts Ihre Sitzungen fortsetzen können.

8 8 

9Standardmäßig schreibt das SDK Sitzungstranskripte in JSONL-Dateien unter `~/.claude/projects/` im lokalen Dateisystem. Ein `SessionStore`-Adapter ermöglicht es Ihnen, diese Transkripte in Ihrem eigenen Backend zu spiegeln, z. B. in S3, Redis oder einer Datenbank, sodass eine auf einem Host erstellte Sitzung auf einem anderen Host mit einem übereinstimmenden Arbeitsverzeichnis fortgesetzt werden kann.9Standardmäßig schreibt das SDK Sitzungstranskripte in JSONL-Dateien unter `~/.claude/projects/` im lokalen Dateisystem. Ein `SessionStore`-Adapter ermöglicht es Ihnen, diese Transkripte in Ihrem eigenen Backend zu spiegeln, z. B. in einem Objektspeicher, einem Key-Value-Store oder einer Datenbank, sodass eine auf einem Host erstellte Sitzung auf einem anderen Host mit einem übereinstimmenden Arbeitsverzeichnis fortgesetzt werden kann.

10 10 

11Häufige Gründe für die Verwendung eines Session Store:11Häufige Gründe für die Verwendung eines Session Store:

12 12 

13* **Multi-Host-Bereitstellungen.** Serverlose Funktionen, automatisch skalierte Worker und CI-Runner teilen sich kein Dateisystem. Ein gemeinsamer Store ermöglicht es Replikaten, die Sitzungen voneinander fortzusetzen.13* **Multi-Host-Bereitstellungen.** Serverlose Funktionen, automatisch skalierte Worker und CI-Runner teilen sich kein Dateisystem. Ein gemeinsamer Store ermöglicht es Replikaten, die Sitzungen voneinander fortzusetzen.

14* **Dauerhaftigkeit.** Lokale Container sind kurzlebig. Ein Store, der von S3 oder einer Datenbank unterstützt wird, übersteht Neustarts und Neubereitstellungen.14* **Dauerhaftigkeit.** Lokale Container sind kurzlebig. Ein externer Store übersteht Neustarts und Neubereitstellungen.

15* **Compliance und Audit.** Bewahren Sie Transkripte in Speicher auf, den Sie bereits kontrollieren, mit Ihren eigenen Aufbewahrungsrichtlinien, Verschlüsselung und Zugriffskontrolle.15* **Compliance und Audit.** Bewahren Sie Transkripte in Speicher auf, den Sie bereits kontrollieren, mit Ihren eigenen Aufbewahrungsrichtlinien, Verschlüsselung und Zugriffskontrolle.

16 16 

17<h2 id="the-sessionstore-interface">17<h2 id="the-sessionstore-interface">


197 197 

198Implementieren Sie `append` und `load` gegen Ihr Backend. Fügen Sie `listSessions`, `listSessionSummaries`, `delete` und `listSubkeys` hinzu, wenn Sie möchten, dass `listSessions()`, Metadaten-Lesevorgänge mit einem Aufruf, `deleteSession()` und Subagent-Wiederaufnahme gegen den Store funktionieren.198Implementieren Sie `append` und `load` gegen Ihr Backend. Fügen Sie `listSessions`, `listSessionSummaries`, `delete` und `listSubkeys` hinzu, wenn Sie möchten, dass `listSessions()`, Metadaten-Lesevorgänge mit einem Aufruf, `deleteSession()` und Subagent-Wiederaufnahme gegen den Store funktionieren.

199 199 

200Einträge, die an `append` übergeben werden, sind als `SessionStoreEntry` typisiert (ein `{ type: string; ... }`-Objekt). Behandeln Sie sie als undurchsichtige JSON-sichere Werte: persistieren Sie sie in Reihenfolge und geben Sie sie von `load` in der gleichen Reihenfolge zurück. `load` muss Einträge zurückgeben, die tiefengleich mit dem sind, was angehängt wurde; Byte-gleiche Serialisierung ist nicht erforderlich, daher sind Backends wie Postgres `jsonb`, die Objektschlüssel neu ordnen, in Ordnung.200Einträge, die an `append` übergeben werden, sind als `SessionStoreEntry` typisiert (ein `{ type: string; ... }`-Objekt). Behandeln Sie sie als undurchsichtige JSON-sichere Werte: persistieren Sie sie in Reihenfolge und geben Sie sie von `load` in der gleichen Reihenfolge zurück. `load` muss Einträge zurückgeben, die tiefengleich mit dem sind, was angehängt wurde; Byte-gleiche Serialisierung ist nicht erforderlich, daher sind Backends, die Objektschlüssel neu ordnen, wie eine binäre JSON-Spaltentyp, in Ordnung.

201 201 

202<h2 id="reference-implementations">202<h2 id="reference-implementations">

203 Referenzimplementierungen203 Referenzimplementierungen

204</h2>204</h2>

205 205 

206Das TypeScript SDK-Repository enthält ausführbare Referenz-Adapter für S3, Redis und Postgres unter [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores). Sie werden nicht auf npm veröffentlicht; kopieren Sie die `src/`-Datei, die Sie benötigen, in Ihr Projekt und installieren Sie den entsprechenden Backend-Client.206Beide SDK-Repositories enthalten ausführbare Referenz-Adapter unter [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) in TypeScript und [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) in Python. Es gibt einen Adapter pro Speichertyp, und jeder zeigt, wie `append` und `load` auf diese Art von Backend abgebildet werden. Sie werden nicht als Pakete veröffentlicht; kopieren Sie den Adapter für den Typ, der Ihrem Backend am nächsten kommt, in Ihr Projekt, installieren Sie den Client Ihres Backends, und passen Sie ihn an.

207 207 

208| Adapter | Backend-Client | Speichermodell |208| Speichertyp | Speichermodell | Beispiel-Adapter |

209| :----------------------------------------------------------------------------------------------------------------------------- | :------------------- | :-------------------------------------------------------------------------------- |209| :------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

210| [`S3SessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3) | `@aws-sdk/client-s3` | Eine JSONL-Teildatei pro `append()`; `load()` listet auf, sortiert und verkettet. |210| Objektspeicher | Eine Teildatei pro `append()`; `load()` listet die Teile auf, sortiert sie und verkettet sie. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |

211| [`RedisSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis) | `ioredis` | `RPUSH`/`LRANGE`-Liste pro Transkript, plus einen sortierten Satz-Sitzungsindex. |211| Schlüssel-Wert-Speicher | Eine Liste pro Transkript, die `append()` hinzufügt und `load()` im Bereich liest, plus ein sortierter Index von Sitzungen. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |

212| [`PostgresSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres) | `pg` | Eine Zeile pro Eintrag in einer `jsonb`-Tabelle, geordnet nach `BIGSERIAL`. |212| Relationale Datenbank oder Dokumentspeicher | Eine Zeile oder ein Dokument pro Eintrag, gespeichert als JSON und geordnet nach einem Schlüssel, der beim Einfügen zugewiesen wird. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |

213 213 

214Jeder Adapter nimmt eine vorkonfigurierte Client-Instanz an, sodass Sie Anmeldedaten, TLS, Region und Pooling kontrollieren. Zum Beispiel mit S3:214Jeder Adapter nimmt eine vorkonfigurierte Client-Instanz an, sodass Sie Anmeldedaten, TLS, Region und Pooling kontrollieren. Das folgende Beispiel verbindet den Objektspeicher-Adapter mit `query()` und setzt dann auf einem anderen Host fort:

215 215 

216```typescript TypeScript theme={null}216```typescript TypeScript theme={null}

217import { query } from "@anthropic-ai/claude-agent-sdk";217import { query } from "@anthropic-ai/claude-agent-sdk";


316 Spiegelschreibvorgänge sind Best-Effort316 Spiegelschreibvorgänge sind Best-Effort

317</h3>317</h3>

318 318 

319Wenn `append()` ablehnt, versucht das SDK den Batch bis zu zwei weitere Male mit kurzer Backoff-Zeit erneut, insgesamt höchstens drei Versuche. Ein Aufruf, der eine Zeitüberschreitung aufweist, wird nicht erneut versucht, da der ursprüngliche Aufruf möglicherweise noch ankommt. Wenn der Batch immer noch fehlschlägt, protokolliert das SDK den Fehler, gibt eine `{ type: "system", subtype: "mirror_error" }`-Nachricht in den Iterator aus, verwirft den Batch und setzt die Abfrage fort. Da ein Store-Ausfall den Agenten nicht unterbricht, da der Subprozess zuerst lokal schreibt. Überwachen Sie auf `mirror_error`, wenn Sie Datenverluste im Store erkennen müssen. Bei einem Durchlauf, der [vom Store wiederaufgenommen wird](#resume-from-the-store), hat ein verworfener Batch keine überlebende Kopie, sobald der Durchlauf endet. Da ein erneut versuchter Batch Einträge, die bereits angekommen sind, erneut bereitstellen kann, deduplizieren Sie nach `entry.uuid` in Ihrer `append()`-Implementierung.319Wenn `append()` ablehnt, versucht das SDK den Batch bis zu zwei weitere Male mit kurzer Backoff-Zeit erneut, insgesamt höchstens drei Versuche. Ein Aufruf, der eine Zeitüberschreitung aufweist, wird nicht erneut versucht, da der ursprüngliche Aufruf möglicherweise noch ankommt. Wenn der Batch immer noch fehlschlägt, protokolliert das SDK den Fehler, gibt eine `{ type: "system", subtype: "mirror_error" }`-Nachricht in den Iterator aus, verwirft den Batch und setzt die Abfrage fort. Da ein erneut versuchter Batch Einträge, die bereits angekommen sind, erneut bereitstellen kann, deduplizieren Sie nach `entry.uuid` in Ihrer `append()`-Implementierung.

320 

321Ein Store-Ausfall unterbricht den Agenten nicht, da der Subprozess zuerst lokal schreibt. Überwachen Sie auf `mirror_error`, wenn Sie Datenverluste im Store erkennen müssen. Bei einem Durchlauf, der [vom Store wiederaufgenommen wird](#resume-from-the-store), hat ein verworfener Batch keine überlebende Kopie, sobald der Durchlauf endet.

320 322 

321<h3 id="getsessionmessages-returns-the-post-compaction-chain">323<h3 id="getsessionmessages-returns-the-post-compaction-chain">

322 `getSessionMessages` gibt die Post-Komprimierungs-Kette zurück324 `getSessionMessages` gibt die Post-Komprimierungs-Kette zurück


340 Aufbewahrung342 Aufbewahrung

341</h3>343</h3>

342 344 

343Das SDK löscht niemals von selbst aus Ihrem Store. Die Aufbewahrung ist die Verantwortung des Adapters: implementieren Sie TTLs, S3-Lebenszyklusrichtlinien oder geplante Bereinigung gemäß Ihren Compliance-Anforderungen.345Das SDK löscht niemals von selbst aus Ihrem Store. Die Aufbewahrung ist die Verantwortung des Adapters: verwenden Sie die Ablauf- oder Lebenszyklusmechanismen Ihres Backends oder führen Sie geplante Bereinigung gemäß Ihren Compliance-Anforderungen durch.

344 346 

345Lokale Transkripte unter `CLAUDE_CONFIG_DIR` werden unabhängig durch die `cleanupPeriodDays`-Einstellung bereinigt, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically). Ein Durchlauf, der [vom Store wiederaufgenommen wird](#resume-from-the-store), hinterlässt kein lokales Transkript, daher ist für diese Durchläufe die Aufbewahrung Ihres Stores die einzige Aufbewahrung, die es gibt.347Lokale Transkripte unter `CLAUDE_CONFIG_DIR` werden unabhängig durch die `cleanupPeriodDays`-Einstellung bereinigt, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically). Ein Durchlauf, der [vom Store wiederaufgenommen wird](#resume-from-the-store), hinterlässt kein lokales Transkript, daher ist für diese Durchläufe die Aufbewahrung Ihres Stores die einzige Aufbewahrung, die es gibt.

346 348 


371* [Mit Sitzungen arbeiten](/docs/de/agent-sdk/sessions): Fortsetzen, Wiederaufnehmen und Forken ohne einen benutzerdefinierten Store373* [Mit Sitzungen arbeiten](/docs/de/agent-sdk/sessions): Fortsetzen, Wiederaufnehmen und Forken ohne einen benutzerdefinierten Store

372* [Das SDK hosten](/docs/de/agent-sdk/hosting): Bereitstellungsmuster für Multi-Host-Umgebungen374* [Das SDK hosten](/docs/de/agent-sdk/hosting): Bereitstellungsmuster für Multi-Host-Umgebungen

373* [TypeScript `Options`](/docs/de/agent-sdk/typescript#options): Vollständige Optionsreferenz375* [TypeScript `Options`](/docs/de/agent-sdk/typescript#options): Vollständige Optionsreferenz

374* [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores): Ausführbare S3-, Redis- und Postgres-Referenz-Adapter376* [Referenzimplementierungen](#reference-implementations): Ausführbare Beispieladapter für einen Objektspeicher, einen Schlüssel-Wert-Speicher und eine Datenbank in beiden SDK-Repositories

Details

181 181 

182Senden Sie einen Befehl, indem Sie ihn in Ihre Eingabeaufforderungszeichenfolge einbeziehen, auf die gleiche Weise wie Sie normalen Text senden. Das Versenden hängt nicht von der `skills`-Option ab. Das Senden von `/<name>` führt eine vom Benutzer aufzurufende Skill aus, auch wenn Ihre `skills`-Liste sie auslässt. Befehle, die auf Gesprächsverlauf wirken, wie `/compact`, benötigen vorherige Nachrichten, um damit zu arbeiten.182Senden Sie einen Befehl, indem Sie ihn in Ihre Eingabeaufforderungszeichenfolge einbeziehen, auf die gleiche Weise wie Sie normalen Text senden. Das Versenden hängt nicht von der `skills`-Option ab. Das Senden von `/<name>` führt eine vom Benutzer aufzurufende Skill aus, auch wenn Ihre `skills`-Liste sie auslässt. Befehle, die auf Gesprächsverlauf wirken, wie `/compact`, benötigen vorherige Nachrichten, um damit zu arbeiten.

183 183 

184Ein `/<name>`, das weder einem Befehl in der Sitzung noch einem integrierten Claude Code-Befehl entspricht, führt nicht zu einem Fehler bei der Abfrage. Claude Code sendet die Eingabeaufforderung als gewöhnliche Nachricht an Claude, mit einem Hinweis, dass der Befehl nicht ausgeführt wurde, sodass die Abfrage einen Modelldurchlauf verbraucht und Claudes Antwort zurückgibt. Vor v2.1.274 gab ein `/<name>`, das nichts entsprach, `Unknown command: /<name>` als Ergebnis ohne einen Modelldurchlauf zurück.

185 

186Ein `/<name>`, das einem integrierten Claude Code-Befehl entspricht, der in der Sitzung nicht verfügbar ist, wie `/theme`, gibt `/theme isn't available in this environment.` als Ergebnis ohne einen Modelldurchlauf zurück.

187 

184<Note>188<Note>

185 Ein Befehl kann das `maxTurns` / `max_turns`-Limit wie jede andere Eingabeaufforderung treffen und die Abfrage mit einem Fehlerergebnis statt `success` beenden. Für den Fehlerergebnis-Vertrag siehe [Behandeln Sie das Ergebnis](/docs/de/agent-sdk/agent-loop#handle-the-result). Wenn Ihr Befehl das Limit treffen könnte, wickeln Sie die Schleife in einen `try`/`catch` in TypeScript oder `try`/`except` in Python ein, wie in [Einzelne Nachrichteneingabe](/docs/de/agent-sdk/streaming-vs-single-mode#single-message-input) gezeigt, oder setzen Sie `maxTurns` hoch genug, damit die Arbeit abgeschlossen wird.189 Ein Befehl kann das `maxTurns` / `max_turns`-Limit wie jede andere Eingabeaufforderung treffen und die Abfrage mit einem Fehlerergebnis statt `success` beenden. Für den Fehlerergebnis-Vertrag siehe [Behandeln Sie das Ergebnis](/docs/de/agent-sdk/agent-loop#handle-the-result). Wenn Ihr Befehl das Limit treffen könnte, wickeln Sie die Schleife in einen `try`/`catch` in TypeScript oder `try`/`except` in Python ein, wie in [Einzelne Nachrichteneingabe](/docs/de/agent-sdk/streaming-vs-single-mode#single-message-input) gezeigt, oder setzen Sie `maxTurns` hoch genug, damit die Arbeit abgeschlossen wird.

186</Note>190</Note>

Details

153</h3>153</h3>

154 154 

155| Feld | Typ | Erforderlich | Beschreibung |155| Feld | Typ | Erforderlich | Beschreibung |

156| :---------------- | :---------------------------------------------------------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| :---------------- | :---------------------------------------------------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

157| `description` | `string` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden soll |157| `description` | `string` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden soll |

158| `prompt` | `string` | Ja | Der System-Prompt des Agenten, der seine Rolle und sein Verhalten definiert |158| `prompt` | `string` | Ja | Der System-Prompt des Agenten, der seine Rolle und sein Verhalten definiert |

159| `tools` | `string[]` | Nein | Array von zulässigen Tool-Namen. Falls weggelassen, erbt jeden [für Subagenten verfügbaren Tool](/docs/de/sub-agents#available-tools) |159| `tools` | `string[]` | Nein | Array von zulässigen Tool-Namen. Falls weggelassen, erbt jeden [für Subagenten verfügbaren Tool](/docs/de/sub-agents#available-tools) |


165| `initialPrompt` | `string` | Nein | Wird automatisch als erste Benutzer-Runde eingereicht, wenn dieser Agent als Haupt-Thread-Agent läuft. Wird ignoriert, wenn der Agent als Subagent aufgerufen wird |165| `initialPrompt` | `string` | Nein | Wird automatisch als erste Benutzer-Runde eingereicht, wenn dieser Agent als Haupt-Thread-Agent läuft. Wird ignoriert, wenn der Agent als Subagent aufgerufen wird |

166| `maxTurns` | `number` | Nein | Maximale Anzahl von Agent-Runden, bevor der Agent stoppt. Wenn der Agent das Limit erreicht, gibt Claude Code seine Ausgabe als teilweise markiert zurück, und Sie können [den Agent fortsetzen](#resume-subagents), um fortzufahren. Die teilweise Markierung erfordert Claude Code v2.1.246 oder später |166| `maxTurns` | `number` | Nein | Maximale Anzahl von Agent-Runden, bevor der Agent stoppt. Wenn der Agent das Limit erreicht, gibt Claude Code seine Ausgabe als teilweise markiert zurück, und Sie können [den Agent fortsetzen](#resume-subagents), um fortzufahren. Die teilweise Markierung erfordert Claude Code v2.1.246 oder später |

167| `background` | `boolean` | Nein | Führen Sie diesen Agent als nicht-blockierende Hintergrund-Aufgabe aus, wenn er aufgerufen wird |167| `background` | `boolean` | Nein | Führen Sie diesen Agent als nicht-blockierende Hintergrund-Aufgabe aus, wenn er aufgerufen wird |

168| `omitClaudeMd` | `boolean` | Nein | Führen Sie diesen Agent ohne die Benutzer-, Projekt- und lokalen CLAUDE.md-Dateien aus, wenn er als Subagent läuft; verwaltete Richtliniendateien werden weiterhin geladen. Wird ignoriert, wenn der Agent als Haupt-Thread-Agent läuft. Erfordert TypeScript Agent SDK v0.3.271 oder später. Das Python SDK [`AgentDefinition`](/docs/de/agent-sdk/python#agentdefinition) hat dieses Feld nicht |

168| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Nein | Reasoning-Aufwandsstufe für diesen Agent |169| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Nein | Reasoning-Aufwandsstufe für diesen Agent |

169| `permissionMode` | `PermissionMode` | Nein | Berechtigungsmodus für die Tool-Ausführung innerhalb dieses Agenten. Die [Subagenten-Vererbungsregeln](/docs/de/agent-sdk/permissions#available-modes) entscheiden, wann er angewendet wird |170| `permissionMode` | `PermissionMode` | Nein | Berechtigungsmodus für die Tool-Ausführung innerhalb dieses Agenten. Die [Subagenten-Vererbungsregeln](/docs/de/agent-sdk/permissions#available-modes) entscheiden, wann er angewendet wird |

170 171 


197Die folgende Tabelle zeigt, welche Inhalte der Kontext eines Nicht-Fork-Subagenten enthält und was er nicht enthält.198Die folgende Tabelle zeigt, welche Inhalte der Kontext eines Nicht-Fork-Subagenten enthält und was er nicht enthält.

198 199 

199| Der Subagent erhält | Der Subagent erhält nicht |200| Der Subagent erhält | Der Subagent erhält nicht |

200| :--------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------ |201| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------ |

201| Seinen eigenen System-Prompt (`AgentDefinition.prompt`) und den Prompt des Agent-Tools | Die Konversationshistorie oder Tool-Ergebnisse des übergeordneten Agenten |202| Seinen eigenen System-Prompt (`AgentDefinition.prompt`) und den Prompt des Agent-Tools | Die Konversationshistorie oder Tool-Ergebnisse des übergeordneten Agenten |

202| Projekt CLAUDE.md (geladen über [`settingSources`](/docs/de/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)) | Vorgeladene Skill-Inhalte, sofern nicht in `AgentDefinition.skills` aufgelistet |203| Projekt CLAUDE.md (geladen über [`settingSources`](/docs/de/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)), sofern der Agent nicht [`omitClaudeMd`](#agentdefinition-configuration) setzt | Vorgeladene Skill-Inhalte, sofern nicht in `AgentDefinition.skills` aufgelistet |

203| Tool-Definitionen (geerbt vom übergeordneten Agent oder die Teilmenge in `tools`, [gefiltert für Hintergrund-Läufe](/docs/de/sub-agents#available-tools)) | Der System-Prompt des übergeordneten Agenten |204| Tool-Definitionen (geerbt vom übergeordneten Agent oder die Teilmenge in `tools`, [gefiltert für Hintergrund-Läufe](/docs/de/sub-agents#available-tools)) | Der System-Prompt des übergeordneten Agenten |

204 205 

205<Note>206<Note>

Details

481Konfigurationsobjekt für die `query()`-Funktion.481Konfigurationsobjekt für die `query()`-Funktion.

482 482 

483| Eigenschaft | Typ | Standard | Beschreibung |483| Eigenschaft | Typ | Standard | Beschreibung |

484| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |484| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

485| `abortController` | `AbortController` | `new AbortController()` | Controller zum Abbrechen von Operationen |485| `abortController` | `AbortController` | `new AbortController()` | Controller zum Abbrechen von Operationen |

486| `additionalDirectories` | `string[]` | `[]` | Zusätzliche Verzeichnisse, auf die Claude zugreifen kann. Das SDK übergibt jeden Eintrag an Claude Code als `--add-dir`, sodass mit der `project`-Einstellung Claude Code auch [die Skills, Befehle und Subagenten des Verzeichnisses lädt](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) |486| `additionalDirectories` | `string[]` | `[]` | Zusätzliche Verzeichnisse, auf die Claude zugreifen kann. Das SDK übergibt jeden Eintrag an Claude Code als `--add-dir`, sodass Claude Code mit der `project`-Einstellung auch [die Fähigkeiten, Befehle und Subagenten des Verzeichnisses lädt](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) |

487| `agent` | `string` | `undefined` | Agent-Name für den Hauptthread. Der Agent muss in der `agents`-Option oder in den Einstellungen definiert sein |487| `agent` | `string` | `undefined` | Agent-Name für den Hauptthread. Der Agent muss in der `agents`-Option oder in den Einstellungen definiert sein |

488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Programmatische Definition von Subagenten |488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Subagenten programmgesteuert definieren |

489| `agentProgressSummaries` | `boolean` | `false` | Wenn `true`, generieren Sie einzeilige Fortschrittsübersichten für Subagenten und leiten Sie diese auf [`task_progress`](#sdktaskprogressmessage)-Ereignissen über das `summary`-Feld weiter. Gilt für Vordergrund- und Hintergrund-Subagenten |489| `agentProgressSummaries` | `boolean` | `false` | Wenn `true`, werden einzeilige Fortschrittsübersichten für Subagenten generiert und auf [`task_progress`](#sdktaskprogressmessage)-Ereignissen über das `summary`-Feld weitergeleitet. Gilt für Vordergrund- und Hintergrund-Subagenten |

490| `allowDangerouslySkipPermissions` | `boolean` | `false` | Aktivieren Sie das Umgehen von Berechtigungen. Erforderlich bei Verwendung von `permissionMode: 'bypassPermissions'` |490| `allowDangerouslySkipPermissions` | `boolean` | `false` | Ermöglicht das Umgehen von Berechtigungen. Erforderlich bei Verwendung von `permissionMode: 'bypassPermissions'`, beim Start oder später über `setPermissionMode()`. Siehe [Plan-Modus](/docs/de/agent-sdk/permissions#plan-mode-plan), um zu sehen, wie er mit `permissionMode: 'plan'` interagiert |

491| `allowedTools` | `string[]` | `[]` | Tools, die automatisch genehmigt werden, ohne zu fragen. Dies beschränkt Claude nicht nur auf diese Tools. Wenn Sie eines der [Task-Tracking-Tools](/docs/de/agent-sdk/todo-tracking#model-availability) hier nennen, aktiviert Claude Code die Sitzung auch. Andere nicht aufgelistete Tools fallen durch `permissionMode` und `canUseTool`. Verwenden Sie `disallowedTools`, um Tools zu blockieren. Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |491| `allowedTools` | `string[]` | `[]` | Tools, die automatisch genehmigt werden, ohne zu fragen. Dies beschränkt Claude nicht nur auf diese Tools. Wenn Sie eines der [Task-Tracking-Tools](/docs/de/agent-sdk/todo-tracking#model-availability) hier nennen, aktiviert Claude Code auch die Sitzung. Andere nicht aufgelistete Tools fallen unter `permissionMode` und `canUseTool`. Verwenden Sie `disallowedTools`, um Tools zu blockieren. Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |

492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Beta-Funktionen aktivieren |492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Beta-Funktionen aktivieren |

493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Benutzerdefinierte Berechtigungsfunktion, die nur aufgerufen wird, wenn der [Berechtigungsfluss](/docs/de/agent-sdk/permissions#how-permissions-are-evaluated) zu einer Eingabeaufforderung führt. Nicht aufgerufen für Aufrufe, die von `allowedTools`, Allow-Regeln oder `permissionMode` automatisch genehmigt werden. Eine Allow-Regel genehmigt nicht vorab die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves). Siehe [`CanUseTool`](#canusetool) für Details |493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Benutzerdefinierte Berechtigungsfunktion, die nur aufgerufen wird, wenn der [Berechtigungsfluss](/docs/de/agent-sdk/permissions#how-permissions-are-evaluated) zu einer Eingabeaufforderung führt. Wird nicht für Aufrufe aufgerufen, die von `allowedTools`, Allow-Regeln oder `permissionMode` automatisch genehmigt werden. Eine Allow-Regel genehmigt nicht vorab die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves). Siehe [`CanUseTool`](#canusetool) für Details |

494| `continue` | `boolean` | `false` | Setzen Sie die neueste Konversation fort |494| `continue` | `boolean` | `false` | Setzen Sie das neueste Gespräch fort |

495| `cwd` | `string` | `process.cwd()` | Aktuelles Arbeitsverzeichnis |495| `cwd` | `string` | `process.cwd()` | Aktuelles Arbeitsverzeichnis |

496| `debug` | `boolean` | `false` | Aktivieren Sie den Debug-Modus für den Claude Code-Prozess |496| `debug` | `boolean` | `false` | Debug-Modus für den Claude Code-Prozess aktivieren |

497| `debugFile` | `string` | `undefined` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus |497| `debugFile` | `string` | `undefined` | Debug-Protokolle in einen bestimmten Dateipfad schreiben. Aktiviert implizit den Debug-Modus |

498| `disallowedTools` | `string[]` | `[]` | Tools, die verweigert werden. Ein einfacher Name wie `"Bash"` entfernt das Tool aus Claudes Kontext. Eine scoped-Regel wie `"Bash(rm *)"` lässt das Tool verfügbar und verweigert übereinstimmende Aufrufe in jedem Berechtigungsmodus, einschließlich `bypassPermissions`, für den Befehl [wie geschrieben](/docs/de/permissions#bash-rule-limits). Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |498| `disallowedTools` | `string[]` | `[]` | Tools zu verweigern. Ein einfacher Name wie `"Bash"` entfernt das Tool aus Claudes Kontext. Eine scoped-Regel wie `"Bash(rm *)"` lässt das Tool verfügbar und verweigert übereinstimmende Aufrufe in jedem Berechtigungsmodus, einschließlich `bypassPermissions`, für den Befehl [wie geschrieben](/docs/de/permissions#bash-rule-limits). Siehe [Berechtigungen](/docs/de/agent-sdk/permissions#allow-and-deny-rules) |

499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Steuert, wie viel Aufwand Claude in seine Antwort investiert. Funktioniert mit adaptivem Denken, um die Denktiefe zu lenken. Siehe [Aufwandsstufe anpassen](/docs/de/model-config#adjust-effort-level) |499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Steuert, wie viel Aufwand Claude in seine Antwort investiert. Funktioniert mit adaptivem Denken, um die Denktiefe zu lenken. Siehe [Anstrengungsstufe anpassen](/docs/de/model-config#adjust-effort-level) |

500| `enableFileCheckpointing` | `boolean` | `false` | Aktivieren Sie die Dateienänderungsverfolgung zum Zurückspulen. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |500| `enableFileCheckpointing` | `boolean` | `false` | Dateiänderungsverfolgung zum Zurückspulen aktivieren. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |

501| `env` | `Record<string, string \| undefined>` | `process.env` | Umgebungsvariablen. Wenn gesetzt, ersetzt dies die Subprocess-Umgebung, anstatt sie mit `process.env` zusammenzuführen. Übergeben Sie daher `{ ...process.env, YOUR_VAR: 'value' }`, um geerbte Variablen wie `PATH` beizubehalten. Siehe [Langsame oder steckengebliebene API-Antworten verarbeiten](#handle-slow-or-stalled-api-responses) für ein Beispiel dieses Musters und [Umgebungsvariablen](/docs/de/env-vars) für Variablen, die die zugrunde liegende CLI liest. Setzen Sie `CLAUDE_AGENT_SDK_CLIENT_APP`, um Ihre App im User-Agent-Header zu identifizieren |501| `env` | `Record<string, string \| undefined>` | `process.env` | Umgebungsvariablen. Wenn gesetzt, ersetzt dies die Subprocess-Umgebung, anstatt sie mit `process.env` zu zusammenzuführen, also übergeben Sie `{ ...process.env, YOUR_VAR: 'value' }`, um vererbte Variablen wie `PATH` zu behalten. Siehe [Langsame oder steckengebliebene API-Antworten behandeln](#handle-slow-or-stalled-api-responses) für ein Beispiel dieses Musters und [Umgebungsvariablen](/docs/de/env-vars) für Variablen, die die zugrunde liegende CLI liest. Setzen Sie `CLAUDE_AGENT_SDK_CLIENT_APP`, um Ihre App im User-Agent-Header zu identifizieren |

502| `executable` | `'bun' \| 'deno' \| 'node'` | Automatisch erkannt | JavaScript-Laufzeit zum Verwenden |502| `executable` | `'bun' \| 'deno' \| 'node'` | Automatisch erkannt | Zu verwendende JavaScript-Laufzeit |

503| `executableArgs` | `string[]` | `[]` | Argumente, die an die ausführbare Datei übergeben werden sollen |503| `executableArgs` | `string[]` | `[]` | Argumente, die an die ausführbare Datei übergeben werden |

504| `extraArgs` | `Record<string, string \| null>` | `{}` | Zusätzliche Argumente |504| `extraArgs` | `Record<string, string \| null>` | `{}` | Zusätzliche Argumente |

505| `fallbackModel` | `string` | `undefined` | Modell, das verwendet werden soll, wenn das primäre fehlschlägt |505| `fallbackModel` | `string` | `undefined` | Modell, das verwendet wird, wenn das primäre Modell fehlschlägt. Akzeptiert eine kommagetrennte Liste. Für die Reihenfolge und die Obergrenze siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains). Für Anleitungen siehe [Modell wählen](/docs/de/agent-sdk/configuration#choose-a-model) |

506| `forkSession` | `boolean` | `false` | Beim Fortsetzen mit `resume` zu einer neuen Sitzungs-ID verzweigen, anstatt die ursprüngliche Sitzung fortzusetzen |506| `forkSession` | `boolean` | `false` | Beim Fortsetzen mit `resume` zu einer neuen Sitzungs-ID verzweigen, anstatt die ursprüngliche Sitzung fortzusetzen |

507| `forwardSubagentText` | `boolean` | `false` | Leiten Sie Subagenten-Text und Denk-Blöcke als Assistenten- und Benutzer-Nachrichten mit `parent_tool_use_id` weiter, damit Consumer ein verschachteltes Transkript rendern können. Ohne diese Option gibt Claude Code nur `tool_use`- und `tool_result`-Blöcke von Subagenten aus. Nachrichten von Subagenten in jeder Verschachtelungstiefe werden auf Claude Code v2.1.219 und später weitergeleitet; vor v2.1.219 erschienen nur Nachrichten von Subagenten der Tiefe 1 |507| `forwardSubagentText` | `boolean` | `false` | Subagenten-Text und Denkblöcke als Assistent- und Benutzernachrichten mit `parent_tool_use_id` gesetzt weiterleiten, damit Consumer ein verschachteltes Transkript rendern können. Ohne diese Option gibt Claude Code Subagenten-`tool_use`- und `tool_result`-Blöcke aus, aber keinen Text oder Denken. Nachrichten von Subagenten in jeder Verschachtelungstiefe werden auf Claude Code v2.1.219 und später weitergeleitet; vor v2.1.219 erschienen nur Nachrichten von Tiefe-1-Subagenten |

508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Hook-Callbacks für Ereignisse |508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Hook-Callbacks für Ereignisse |

509| `includeHookEvents` | `boolean` | `false` | Schließen Sie Hook-Lebenszyklusereignisse im Nachrichtenstrom als [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) und [`SDKHookResponseMessage`](#sdkhookresponsemessage) ein. Lebenszyklusereignisse für `SessionStart`- und `Setup`-Hooks sind immer enthalten und benötigen diese Option nicht. Einige Hook-Ereignisse wie `Notification`, `SessionEnd`, `PreCompact` und `PostCompact` erzeugen niemals eine `SDKHookStartedMessage`, auch nicht mit dieser Option. Für diese Ereignisse gibt Claude Code immer noch eine `SDKHookProgressMessage` aus, während ein Command-Hook, der länger als eine Sekunde läuft, Ausgabe erzeugt, und gibt eine `SDKHookResponseMessage` nur aus, wenn ein Hook [der im Hintergrund läuft](/docs/de/hooks#run-hooks-in-the-background) beendet wird |509| `includeHookEvents` | `boolean` | `false` | Hook-Lebenszyklusereignisse in den Nachrichtenstrom als [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) und [`SDKHookResponseMessage`](#sdkhookresponsemessage) einbeziehen. Lebenszyklusereignisse für `SessionStart`- und `Setup`-Hooks sind immer enthalten und benötigen diese Option nicht. Einige Hook-Ereignisse wie `Notification`, `SessionEnd`, `PreCompact` und `PostCompact` erzeugen niemals eine `SDKHookStartedMessage`, auch nicht mit dieser Option. Für diese Ereignisse gibt Claude Code weiterhin eine `SDKHookProgressMessage` aus, während ein Befehl-Hook, der länger als eine Sekunde läuft, Ausgabe erzeugt, und gibt eine `SDKHookResponseMessage` nur aus, wenn ein Hook [der im Hintergrund läuft](/docs/de/hooks#run-hooks-in-the-background) beendet wird |

510| `includePartialMessages` | `boolean` | `false` | Teilweise Nachrichtenereignisse einbeziehen |510| `includePartialMessages` | `boolean` | `false` | Teilweise Nachrichtenereignisse einbeziehen |

511| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout in Millisekunden für jeden `sessionStore.load()`- und `sessionStore.listSubkeys()`-Aufruf während der Resume-Materialisierung. Wenn sich der Adapter nicht innerhalb dieses Fensters einigt, schlägt die Abfrage fehl, anstatt zu hängen. Wird ignoriert, wenn `sessionStore` nicht gesetzt ist |511| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout in Millisekunden für jeden `sessionStore.load()`- und `sessionStore.listSubkeys()`-Aufruf während der Materialisierung beim Fortsetzen. Wenn sich der Adapter nicht innerhalb dieses Fensters einigt, schlägt die Abfrage fehl, anstatt zu hängen. Wird ignoriert, wenn `sessionStore` nicht gesetzt ist |

512| `managedSettings` | `Settings` | `undefined` | Richtlinien-Tier-Einstellungen, die Ihr Host-Prozess der gespawnten Sitzung bereitstellt. Auf Maschinen mit von Administratoren bereitgestellten verwalteten Einstellungen ignoriert Claude Code diese, es sei denn, die höchste Priorität des Administrators setzt `parentSettingsBehavior: 'merge'`, und führt sie niemals zusammen, während ein [`policyHelper`](/docs/de/settings-reference#policyhelper) verwaltete Einstellungen bereitstellt. Zusammengeführte Werte durchlaufen einen restriktiv-only-Filter; [Beschränken Sie übergeordnete Einstellungen](/docs/de/claude-apps-gateway#restrict-parent-settings) behandelt, was der Filter zulässt und die `allowManaged*Only`-Sperren. Ein Host, der [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars) setzt, hat drei Schlüssel, die direkt aus dieser Nutzlast gelesen werden: seine [Modellkonfiguration](/docs/de/model-config#restrict-model-selection) auf Claude Code v2.1.222 oder später, [`modelPricing`](/docs/de/settings-reference#modelpricing), wenn keine verwaltete Quelle es auf v2.1.246 oder später setzt, und seinen `ENABLE_TOOL_SEARCH`-Env-Eintrag auf v2.1.247 oder später |512| `managedSettings` | `Settings` | `undefined` | Richtlinien-Tier-Einstellungen, die Ihr Host-Prozess der erzeugten Sitzung bereitstellt. Auf Maschinen mit von Administratoren bereitgestellten verwalteten Einstellungen ignoriert Claude Code diese, es sei denn, die höchste Priorität der verwalteten Quelle des Administrators setzt `parentSettingsBehavior: 'merge'`, und führt sie niemals zusammen, während ein [`policyHelper`](/docs/de/settings-reference#policyhelper) verwaltete Einstellungen bereitstellt. Zusammengeführte Werte durchlaufen einen restriktiven Filter; [Übergeordnete Einstellungen einschränken](/docs/de/claude-apps-gateway#restrict-parent-settings) behandelt, was der Filter zulässt und die `allowManaged*Only`-Sperren. Ein Host, der [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars) setzt, hat drei Schlüssel, die direkt aus dieser Nutzlast gelesen werden: seine [Modellkonfiguration](/docs/de/model-config#restrict-model-selection) auf Claude Code v2.1.222 oder später, [`modelPricing`](/docs/de/settings-reference#modelpricing), wenn keine verwaltete Quelle sie auf v2.1.246 oder später setzt, und seinen `ENABLE_TOOL_SEARCH`-Env-Eintrag auf v2.1.247 oder später |

513| `maxBudgetUsd` | `number` | `undefined` | Beenden Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Verglichen mit derselben Schätzung wie `total_cost_usd`; siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) für Genauigkeitsvorbehalt |513| `maxBudgetUsd` | `number` | `undefined` | Beenden Sie die Abfrage, wenn die clientseitige Kostenschätzung diesen USD-Wert erreicht. Verglichen mit der gleichen Schätzung wie `total_cost_usd`. Für Genauigkeitsvorbehalt und Zurücksetzen-Verhalten siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) |

514| `maxThinkingTokens` | `number` | `undefined` | *Veraltet:* Verwenden Sie stattdessen `thinking`. Maximale Token für den Denkprozess |514| `maxThinkingTokens` | `number` | `undefined` | *Veraltet:* Verwenden Sie stattdessen `thinking`. Maximale Token für den Denkprozess |

515| `maxTurns` | `number` | `undefined` | Maximale agentengesteuerte Turns (Tool-Use-Roundtrips) |515| `maxTurns` | `number` | `undefined` | Maximale agentengesteuerte Umdrehungen (Tool-Use-Roundtrips) |

516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP-Server-Konfigurationen |516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP-Serverkonfigurationen |

517| `model` | `string` | Standard aus CLI | Claude-Modell-Alias oder vollständiger Modellname. Siehe [akzeptierte Werte und Provider-spezifische IDs](/docs/de/model-config#available-models) |517| `model` | `string` | Standard aus CLI | Claude-Modellalias oder vollständiger Modellname. Siehe [akzeptierte Werte und anbieter-spezifische IDs](/docs/de/model-config#available-models) |

518| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback für die Verarbeitung von MCP-Elicitierungsanfragen. Wird aufgerufen, wenn ein MCP-Server Benutzereingaben anfordert und kein Hook dies zuerst verarbeitet. Wenn nicht bereitgestellt, werden unbehandelte Elicitierungsanfragen automatisch abgelehnt |518| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Callback zur Behandlung von MCP-Elicitierungsanfragen. Wird aufgerufen, wenn ein MCP-Server Benutzereingaben anfordert und kein Hook es zuerst behandelt. Wenn nicht bereitgestellt, werden unbehandelte Elicitierungsanfragen automatisch abgelehnt |

519| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Definieren Sie das Ausgabeformat für Agent-Ergebnisse. Siehe [Strukturierte Ausgaben](/docs/de/agent-sdk/structured-outputs) für Details |519| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Definieren Sie das Ausgabeformat für Agentenergebnisse. Siehe [Strukturierte Ausgaben](/docs/de/agent-sdk/structured-outputs) für Details |

520| `outputStyle` | `string` | `undefined` | Nicht ein `Options`-Feld. Setzen Sie `outputStyle` im Inline-[`settings`](/docs/de/settings)-Objekt oder einer Einstellungsdatei. Siehe [Aktivieren Sie einen Ausgabestil](/docs/de/agent-sdk/modifying-system-prompts#activate-an-output-style) |520| `outputStyle` | `string` | `undefined` | Keine `Options`-Feld. Setzen Sie `outputStyle` im Inline-[`settings`](/docs/de/settings)-Objekt oder einer Einstellungsdatei. Siehe [Ausgabestil aktivieren](/docs/de/agent-sdk/modifying-system-prompts#activate-an-output-style) |

521| `pathToClaudeCodeExecutable` | `string` | Automatisch aufgelöst aus gebündelter nativer Binärdatei | Pfad zur Claude Code-Ausführungsdatei. Nur erforderlich, wenn optionale Abhängigkeiten während der Installation übersprungen wurden oder Ihre Plattform nicht in der unterstützten Menge enthalten ist |521| `pathToClaudeCodeExecutable` | `string` | Automatisch aufgelöst aus gebündelter nativer Binärdatei | Pfad zur Claude Code-Ausführungsdatei. Nur erforderlich, wenn optionale Abhängigkeiten während der Installation übersprungen wurden oder Ihre Plattform nicht in der unterstützten Menge enthalten ist |

522| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | Berechtigungsmodus für die Sitzung |522| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | Berechtigungsmodus für die Sitzung |

523| `permissionPromptToolName` | `string` | `undefined` | MCP-Tool-Name für Berechtigungsaufforderungen |523| `permissionPromptToolName` | `string` | `undefined` | MCP-Tool-Name für Berechtigungsaufforderungen |

524| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Wer beantwortet Berechtigungsaufforderungen: `'host'` leitet sie an Ihren [`canUseTool`](#canusetool)-Callback oder das `permissionPromptToolName`-Tool weiter, und `'none'` [verweigert die Aufrufe, die sonst aufgefordert hätten](/docs/de/agent-sdk/permissions#how-permissions-are-evaluated). Erfordert Claude Code v2.1.259 oder später |524| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Wer beantwortet Berechtigungsaufforderungen: `'host'` leitet sie an Ihren [`canUseTool`](#canusetool)-Callback oder das `permissionPromptToolName`-Tool weiter, und `'none'` [verweigert die Aufrufe, die sonst aufgefordert hätten](/docs/de/agent-sdk/permissions#how-permissions-are-evaluated). Erfordert Claude Code v2.1.259 oder später |

525| `persistSession` | `boolean` | `true` | Wenn `false`, deaktiviert die Sitzungspersistenz auf der Festplatte. Sitzungen können später nicht fortgesetzt werden |525| `persistSession` | `boolean` | `true` | Wenn `false`, wird die Sitzungspersistenz auf der Festplatte deaktiviert. Sitzungen können später nicht fortgesetzt werden |

526| `planModeInstructions` | `string` | `undefined` | Benutzerdefinierte Workflow-Anweisungen für den Plan-Modus. Wenn `permissionMode` `'plan'` ist, ersetzt diese Zeichenkette den Standard-Plan-Modus-Workflow-Body. Die CLI umhüllt ihn immer noch mit der schreibgeschützten Durchsetzungspräambel und dem ExitPlanMode-Protokoll-Footer |526| `planModeInstructions` | `string` | `undefined` | Benutzerdefinierte Workflow-Anweisungen für den Plan-Modus. Wenn `permissionMode` `'plan'` ist, ersetzt dieser String den Standard-Plan-Modus-Workflow-Text. Die CLI umhüllt ihn immer noch mit der schreibgeschützten Durchsetzungspräambel und der ExitPlanMode-Protokoll-Fußzeile |

527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Laden Sie benutzerdefinierte Plugins aus lokalen Pfaden. Siehe [Plugins](/docs/de/agent-sdk/plugins) für Details |527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Laden Sie benutzerdefinierte Plugins aus lokalen Pfaden. Siehe [Plugins](/docs/de/agent-sdk/plugins) für Details |

528| `promptSuggestions` | `boolean` | `false` | Aktivieren Sie Eingabeaufforderungsvorschläge. Nach einem Turn gibt Claude Code eine `prompt_suggestion`-Nachricht mit einer vorhergesagten nächsten Benutzer-Eingabeaufforderung aus. Claude Code generiert für einige Turns keinen Vorschlag, z. B. während Ihr Konto sich dem oder am Nutzungslimit nähert. Siehe [Wenn Claude Code Vorschläge überspringt](/docs/de/interactive-mode#when-claude-code-skips-suggestions) |528| `promptSuggestions` | `boolean` | `false` | Eingabeaufforderungsvorschläge aktivieren. Nach einer Umdrehung gibt Claude Code eine `prompt_suggestion`-Nachricht mit einer vorhergesagten nächsten Benutzereingabeaufforderung aus. Claude Code generiert für einige Umdrehungen keinen Vorschlag, z. B. während Ihr Konto sich dem Nutzungslimit nähert oder dieses erreicht hat. Siehe [Wenn Claude Code Vorschläge überspringt](/docs/de/interactive-mode#when-claude-code-skips-suggestions) |

529| `resume` | `string` | `undefined` | Sitzungs-ID zum Fortsetzen |529| `resume` | `string` | `undefined` | Sitzungs-ID zum Fortsetzen |

530| `resumeDropsTurn` | `string` | `undefined` | Mit `resumeSessionAt`: die Prompt-UUID des Turns, den die abschneidende Resume verwerfen soll. Claude Code lehnt die Resume ab, wenn der verworfene Bereich etwas enthält, das nicht diesem Turn zugeordnet werden kann, z. B. absorbierte in der Warteschlange befindliche Nachrichten oder Task-Benachrichtigungen, und nennt das `--resume-drops-turn`-Flag in der Ablehnungsmeldung. Nur das Agent SDK und Print-Mode-Resumes lesen das Paar. Erfordert Claude Code v2.1.223 oder später |530| `resumeDropsTurn` | `string` | `undefined` | Mit `resumeSessionAt`: die Eingabeaufforderungs-UUID der Umdrehung, die das Truncating-Resume verwerfen soll. Claude Code verweigert das Fortsetzen, wenn der verworfene Bereich etwas enthält, das nicht dieser Umdrehung zugeordnet werden kann, z. B. absorbierte Warteschlangen-Nachrichten oder Task-Benachrichtigungen, und nennt das `--resume-drops-turn`-Flag in der Ablehnungsmeldung. Nur das Agent SDK und Print-Modus-Resumes lesen das Paar. Erfordert Claude Code v2.1.223 oder später |

531| `resumeSessionAt` | `string` | `undefined` | Sitzung bei einer bestimmten Nachrichten-UUID fortsetzen |531| `resumeSessionAt` | `string` | `undefined` | Sitzung bei einer bestimmten Nachrichten-UUID fortsetzen |

532| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Konfigurieren Sie das Sandbox-Verhalten programmatisch. Siehe [Sandbox-Einstellungen](#sandboxsettings) für Details |532| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Konfigurieren Sie das Sandbox-Verhalten programmgesteuert. Siehe [Sandbox-Einstellungen](#sandboxsettings) für Details |

533| `sessionId` | `string` | Automatisch generiert | Verwenden Sie eine bestimmte UUID für die Sitzung, anstatt eine zu generieren |533| `sessionId` | `string` | Automatisch generiert | Verwenden Sie eine bestimmte UUID für die Sitzung, anstatt eine automatisch zu generieren |

534| `sessionStore` | [`SessionStore`](/docs/de/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Spiegeln Sie Sitzungstranskripte auf einem externen Backend, damit ein anderer Host sie fortsetzen kann. Siehe [Sitzungen im externen Speicher persistieren](/docs/de/agent-sdk/session-storage) |534| `sessionStore` | [`SessionStore`](/docs/de/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Spiegeln Sie Sitzungstranskripte zu einem externen Backend, damit ein anderer Host sie fortsetzen kann. Siehe [Sitzungen in externem Speicher persistieren](/docs/de/agent-sdk/session-storage) |

535| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Flush-Modus für `sessionStore`. Wird ignoriert, wenn `sessionStore` nicht gesetzt ist |535| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Flush-Modus für `sessionStore`. Wird ignoriert, wenn `sessionStore` nicht gesetzt ist |

536| `settings` | `string \| Settings` | `undefined` | Inline-[Einstellungen](/docs/de/settings)-Objekt oder Pfad zu einer Einstellungsdatei. Füllt die Flag-Einstellungsebene in der [Prioritätsreihenfolge](/docs/de/settings#settings-precedence) auf. Ändern Sie zur Laufzeit mit [`applyFlagSettings()`](#applyflagsettings) |536| `settings` | `string \| Settings` | `undefined` | Inline-[settings](/docs/de/settings)-Objekt, ein Einstellungsdateipfad oder eine Inline-JSON-Zeichenkette. Füllt die Flag-Einstellungsebene in der [Rangfolge](/docs/de/settings#settings-precedence). Ändern Sie zur Laufzeit mit [`applyFlagSettings()`](#applyflagsettings) |

537| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI-Standards (alle Quellen) | Steuern Sie, welche Dateisystem-Einstellungen geladen werden. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. [Endpoint-verwaltete Richtlinie](/docs/de/managed-settings#delivery-mechanisms) wird unabhängig davon geladen; Server-verwaltete Einstellungen werden abgerufen, wenn sich die Sitzung mit einer Organisationsanmeldedaten auf einer [berechtigten Konfiguration](/docs/de/server-managed-settings#platform-availability) authentifiziert. Siehe [Claude Code-Funktionen verwenden](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) |537| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI-Standards (alle Quellen) | Steuern Sie, welche Dateisystem-Einstellungen geladen werden. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. [Endpoint-verwaltete Richtlinie](/docs/de/managed-settings#delivery-mechanisms) wird unabhängig geladen; server-verwaltete Einstellungen werden abgerufen, wenn sich die Sitzung mit einer Organisationsanmeldeinformation bei einer [berechtigten Konfiguration](/docs/de/server-managed-settings#platform-availability) authentifiziert. Siehe [Claude Code-Funktionen verwenden](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

538| `skills` | `string[] \| 'all'` | `undefined` | Skills, die der Sitzung zur Verfügung stehen. Übergeben Sie `'all'`, um jeden entdeckten Skill zu aktivieren, oder eine Liste von Skill-Namen. Übergeben Sie nur exakte Namen. Auf Agent SDK v0.3.221 oder später lehnt das SDK fehlerhafte und Wildcard-Form-Namen mit einem Fehler ab, bevor der Claude Code-Prozess gestartet wird. Wenn gesetzt, aktiviert das SDK das Skill-Tool automatisch in `allowedTools`. Wenn Sie auch `tools` übergeben, beziehen Sie `'Skill'` in diese Liste ein. Siehe [Skills](/docs/de/agent-sdk/skills) |538| `skills` | `string[] \| 'all'` | `undefined` | Fähigkeiten, die der Sitzung zur Verfügung stehen. Übergeben Sie `'all'`, um jede entdeckte Fähigkeit zu aktivieren, oder eine Liste von Fähigkeitsnamen. Übergeben Sie nur exakte Namen. Auf Agent SDK v0.3.221 oder später lehnt das SDK fehlerhafte und Wildcard-Form-Namen mit einem Fehler ab, bevor der Claude Code-Prozess gestartet wird. Wenn gesetzt, fügt das SDK das Skill-Tool automatisch zu `allowedTools` hinzu. Wenn Sie auch `tools` übergeben, beziehen Sie `'Skill'` in diese Liste ein. Siehe [Fähigkeiten](/docs/de/agent-sdk/skills) |

539| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Benutzerdefinierte Funktion zum Spawnen des Claude Code-Prozesses. Verwenden Sie, um Claude Code in VMs, Containern oder Remote-Umgebungen auszuführen |539| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Benutzerdefinierte Funktion zum Erzeugen des Claude Code-Prozesses. Verwenden Sie, um Claude Code in VMs, Containern oder Remote-Umgebungen auszuführen |

540| `stderr` | `(data: string) => void` | `undefined` | Callback für Stderr-Ausgabe |540| `stderr` | `(data: string) => void` | `undefined` | Callback für stderr-Ausgabe |

541| `strictMcpConfig` | `boolean` | `false` | Verwenden Sie nur die Server, die in `mcpServers` übergeben werden, und ignorieren Sie das Projekt `.mcp.json`, Benutzereinstellungen, von Plugins bereitgestellte MCP-Server und [claude.ai-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai) |541| `strictMcpConfig` | `boolean` | `false` | Verwenden Sie nur die Server, die in `mcpServers` übergeben werden, und ignorieren Sie Projekt `.mcp.json`, Benutzereinstellungen, Plugin-bereitgestellte MCP-Server und [claude.ai-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai) |

542| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined` (minimale Eingabeaufforderung) | Konfiguration der Systemeingabeaufforderung. Übergeben Sie eine Zeichenkette für eine benutzerdefinierte Eingabeaufforderung oder `{ type: 'preset', preset: 'claude_code' }`, um die Systemeingabeaufforderung von Claude Code zu verwenden. Übergeben Sie ein Array von Zeichenketten mit der exportierten `SYSTEM_PROMPT_DYNAMIC_BOUNDARY`-Konstante zwischen den statischen und Pro-Request-Teilen, um [den statischen Teil einer benutzerdefinierten Eingabeaufforderung zu cachen](/docs/de/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt). Bei Verwendung der Preset-Objektform fügen Sie `append` hinzu, um sie mit zusätzlichen Anweisungen zu erweitern, und setzen Sie `excludeDynamicSections: true`, um sitzungsspezifischen Kontext in die erste Benutzer-Nachricht zu verschieben, um [bessere Prompt-Cache-Wiederverwendung über Maschinen hinweg](/docs/de/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) zu erreichen. Setzen Sie `snapshot: false`, um die Eingabeaufforderung bei jeder Anfrage neu zu erstellen, anstatt [die Eingabeaufforderung wiederzuverwenden, die die Sitzung bei ihrer ersten Anfrage aufgezeichnet hat](/docs/de/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Um `snapshot` auf einer benutzerdefinierten Eingabeaufforderung zu setzen, übergeben Sie das `{ type: 'custom', prompt }`-Formular. Das `{ type: 'custom' }`-Formular und das `snapshot`-Feld erfordern TypeScript Agent SDK v0.3.257 oder später |542| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined` (minimale Eingabeaufforderung) | Systemanfrage-Konfiguration. Übergeben Sie eine Zeichenkette für eine benutzerdefinierte Eingabeaufforderung oder `{ type: 'preset', preset: 'claude_code' }`, um Claude Codes Systemeingabeaufforderung zu verwenden. Übergeben Sie ein Array von Zeichenketten mit der exportierten `SYSTEM_PROMPT_DYNAMIC_BOUNDARY`-Konstante zwischen den statischen und pro-Anfrage-Teilen, um [den statischen Teil einer benutzerdefinierten Eingabeaufforderung zu cachen](/docs/de/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt). Wenn Sie die Preset-Objektform verwenden, fügen Sie `append` hinzu, um sie mit zusätzlichen Anweisungen zu erweitern, und setzen Sie `excludeDynamicSections: true`, um sitzungsspezifischen Kontext in die erste Benutzernachricht zu verschieben, um [bessere Prompt-Cache-Wiederverwendung über Maschinen hinweg](/docs/de/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) zu erreichen. Setzen Sie `snapshot: false`, um die Eingabeaufforderung bei jeder Anfrage neu zu erstellen, anstatt [die Eingabeaufforderung wiederzuverwenden, die die Sitzung bei ihrer ersten Anfrage aufgezeichnet hat](/docs/de/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Um `snapshot` auf einer benutzerdefinierten Eingabeaufforderung zu setzen, übergeben Sie die `{ type: 'custom', prompt }`-Form. Die `{ type: 'custom' }` Form und das `snapshot`-Feld erfordern TypeScript Agent SDK v0.3.257 oder später |

543| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* API-seitiges Task-Budget in Token. Wenn gesetzt, wird dem Modell sein verbleibendes Token-Budget mitgeteilt, damit es die Tool-Nutzung pacing kann und vor dem Limit abwickelt |543| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* API-seitiges Task-Budget in Token. Wenn gesetzt, wird dem Modell sein verbleibendes Token-Budget mitgeteilt, damit es die Tool-Nutzung pacing kann und vor dem Limit abwickelt |

544| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` für unterstützte Modelle | Steuert das Denk-/Reasoning-Verhalten von Claude. Siehe [`ThinkingConfig`](#thinkingconfig) für Optionen |544| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` für unterstützte Modelle | Steuert Claudes Denk-/Reasoning-Verhalten. Siehe [`ThinkingConfig`](#thinkingconfig) für Optionen |

545| `title` | `string` | `undefined` | Anzeigetitel für die Sitzung. Beim Fortsetzen über `resume` oder `continue` hat der persistierte Titel der fortgesetzten Sitzung Vorrang; verwenden Sie [`renameSession()`](#renamesession), um eine vorhandene Sitzung umzubenennen |545| `title` | `string` | `undefined` | Anzeigetitel für die Sitzung. Beim Fortsetzen über `resume` oder `continue` hat der Titel der fortgesetzten Sitzung Vorrang; verwenden Sie [`renameSession()`](#renamesession), um eine vorhandene Sitzung umzubenennen |

546| `toolAliases` | `Record<string, string>` | `undefined` | Ordnen Sie integrierte Tool-Namen MCP-Tool-Namen zu, damit Claude Ihre MCP-Implementierung anstelle der integrierten aufruft. Zum Beispiel `{ Bash: 'mcp__workspace__bash' }` |546| `toolAliases` | `Record<string, string>` | `undefined` | Ordnen Sie integrierte Tool-Namen MCP-Tool-Namen zu, damit Claude Ihre MCP-Implementierung anstelle der integrierten aufruft. Zum Beispiel `{ Bash: 'mcp__workspace__bash' }` |

547| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Konfiguration für das Verhalten integrierter Tools. Siehe [`ToolConfig`](#toolconfig) für Details |547| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Konfiguration für das Verhalten integrierter Tools. Siehe [`ToolConfig`](#toolconfig) für Details |

548| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Tool-Konfiguration. Übergeben Sie ein Array von Tool-Namen oder verwenden Sie die Voreinstellung, um die Standard-Tools von Claude Code zu erhalten |548| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Tool-Konfiguration. Übergeben Sie ein Array von Tool-Namen oder verwenden Sie die Voreinstellung, um Claude Codes Standard-Tools zu erhalten |

549 549 

550<h4 id="handle-slow-or-stalled-api-responses">550<h4 id="handle-slow-or-stalled-api-responses">

551 Langsame oder steckengebliebene API-Antworten verarbeiten551 Langsame oder steckengebliebene API-Antworten behandeln

552</h4>552</h4>

553 553 

554Der CLI-Unterprozess liest mehrere Umgebungsvariablen, die API-Timeouts und Stall-Erkennung steuern. Übergeben Sie sie über die `env`-Option:554Der CLI-Subprocess liest mehrere Umgebungsvariablen, die API-Timeouts und Stall-Erkennung steuern. Übergeben Sie sie über die `env`-Option:

555 555 

556```typescript theme={null}556```typescript theme={null}

557import { query } from "@anthropic-ai/claude-agent-sdk";557import { query } from "@anthropic-ai/claude-agent-sdk";


569});569});

570```570```

571 571 

572* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.572* `API_TIMEOUT_MS`: Pro-Anfrage-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.

573* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, sodass die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff ist. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/de/errors#tune-retry-behavior): Es wiederholt Kapazitätsfehler unbegrenzt und auf Claude Code v2.1.199 oder später erhöht sich der Standard für andere vorübergehende Fehler auf `300` und entfernt die Obergrenze für diese Variable.573* `CLAUDE_CODE_MAX_RETRIES`: maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, daher ist die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/de/errors#tune-retry-behavior): Es versucht transiente Kapazitätsfehler unbegrenzt erneut und erhöht auf Claude Code v2.1.199 oder später den Standard für andere transiente Fehler auf `300` und entfernt die Obergrenze für diese Variable.

574* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten. Während der Stream-Watchdog an ist, ist der Standard `CLAUDE_STREAM_IDLE_TIMEOUT_MS` plus 5 Minuten, was `600000` ist, es sei denn, Sie erhöhen diese Variable. Mit dem Stream-Watchdog aus ist der Standard `600000`. Vor v2.1.257 war der Standard immer `600000`.574* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten. Während der Stream-Watchdog eingeschaltet ist, ist der Standard `CLAUDE_STREAM_IDLE_TIMEOUT_MS` plus 5 Minuten, was `600000` ist, es sei denn, Sie erhöhen diese Variable. Mit dem Stream-Watchdog aus ist der Standard `600000`. Vor v2.1.257 war der Standard immer `600000`.

575 575 

576 Der Timer setzt sich bei jedem Stream-Ereignis zurück. Bei Stall bricht Claude Code den Subagenten ab und meldet den Stall dem übergeordneten Element. Für einen Hintergrund-Subagenten markiert es auch die Task als fehlgeschlagen und fügt jedes Teilergebnis an.576 Der Timer wird bei jedem Stream-Ereignis zurückgesetzt. Bei einem Stall bricht Claude Code den Subagenten ab und meldet den Stall dem übergeordneten Element. Für einen Hintergrund-Subagenten markiert es auch die Task als fehlgeschlagen und fügt alle Teilergebnisse an.

577* `CLAUDE_ENABLE_STREAM_WATCHDOG` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Stream-Watchdog, der die Anfrage abbricht, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Der Watchdog ist standardmäßig für alle Provider aktiviert; setzen Sie `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, um ihn zu deaktivieren. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Nach dem Abort behandelt [Automatische Wiederholungen](/docs/de/errors#automatic-retries) das, was Claude Code tut, basierend darauf, wie weit die Antwort fortgeschritten war.577* `CLAUDE_ENABLE_STREAM_WATCHDOG` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Stream-Watchdog, der die Anfrage abbricht, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Der Watchdog ist standardmäßig für alle Anbieter aktiviert; setzen Sie `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, um ihn zu deaktivieren. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Nach dem Abbruch behandelt [Automatische Wiederholungen](/docs/de/errors#automatic-retries) das, was Claude Code tut, basierend darauf, wie weit die Antwort fortgeschritten war.

578 578 

579 Während der Watchdog auf eine Antwort wartet, die ein Gateway hinter `ANTHROPIC_BASE_URL` mit Keep-Alive-Pings offen hält, erhält ein Host, der `includePartialMessages` setzt, weiterhin `ping`-[Stream-Ereignisse](#sdkpartialassistantmessage), sodass Sie diese Frames als Lebendigkeit lesen, anstatt die Sitzung bei Stille zu zeitlich begrenzen. Vor v2.1.257 stoppten die Frames 5 Minuten nach dem letzten echten Stream-Ereignis.579 Während der Watchdog auf eine Antwort wartet, die ein Gateway hinter `ANTHROPIC_BASE_URL` mit Keep-Alive-Pings offen hält, empfängt ein Host, der `includePartialMessages` setzt, weiterhin `ping`-[Stream-Ereignisse](#sdkpartialassistantmessage), daher lesen Sie diese Frames als Lebendigkeit, anstatt die Sitzung bei Stille zu zeitlich zu begrenzen. Vor v2.1.257 stoppten die Frames 5 Minuten nach dem letzten echten Stream-Ereignis.

580 580 

581<h3 id="query-object">581<h3 id="query-object">

582 `Query`-Objekt582 `Query`-Objekt


633 633 

634| Methode | Beschreibung |634| Methode | Beschreibung |

635| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |635| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

636| `interrupt()` | Unterbricht die Abfrage. Nur im Streaming-Eingabemodus verfügbar. Wenn die CLI die `interrupt_receipt_v1`-Funktion in [`SDKSystemMessage.capabilities`](#sdksystemmessage) ankündigt, wird mit einem [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) aufgelöst, das die Nachrichten auflistet, die in der Warteschlange waren, als der Interrupt ankam. Wird auf CLIs vor v2.1.205 mit `undefined` aufgelöst |636| `interrupt()` | Unterbricht die Abfrage. Nur im Streaming-Eingabemodus verfügbar. Wenn die CLI die `interrupt_receipt_v1`-Fähigkeit in [`SDKSystemMessage.capabilities`](#sdksystemmessage) ankündigt, wird mit einer [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) aufgelöst, die die Nachrichten auflistet, die ausstanden, als die Unterbrechung ankam. Wird auf CLIs vor v2.1.205 mit `undefined` aufgelöst |

637| `rewindFiles(userMessageId, options?)` | Stellt Dateien in ihren Zustand bei der angegebenen Benutzer-Nachricht wieder her. Übergeben Sie `{ dryRun: true }`, um Änderungen in der Vorschau anzuzeigen. Erfordert `enableFileCheckpointing: true`. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |637| `rewindFiles(userMessageId, options?)` | Stellt Dateien in ihren Zustand bei der angegebenen Benutzernachricht wieder her. Übergeben Sie `{ dryRun: true }`, um Änderungen in der Vorschau anzuzeigen. Erfordert `enableFileCheckpointing: true`. Siehe [Datei-Checkpointing](/docs/de/agent-sdk/file-checkpointing) |

638| `setPermissionMode()` | Ändert den Berechtigungsmodus (nur im Streaming-Eingabemodus verfügbar) |638| `setPermissionMode()` | Ändert den Berechtigungsmodus (nur im Streaming-Eingabemodus verfügbar) |

639| `setModel()` | Ändert das Modell (nur im Streaming-Eingabemodus verfügbar). Das Übergeben von `undefined` oder der Zeichenkette `"default"` setzt auf das Sitzungs-Standardmodell zurück |639| `setModel()` | Ändert das Modell (nur im Streaming-Eingabemodus verfügbar). Übergeben von `undefined` oder der Zeichenkette `"default"` setzt auf [Claude Codes Standard-Modell](/docs/de/model-config) zurück |

640| `setMaxThinkingTokens()` | *Veraltet:* Verwenden Sie stattdessen die `thinking`-Option. Ändert die maximalen Denk-Token. Das Übergeben von `null` setzt das Denken auf den Sitzungs-Standard zurück: eine Mid-Session-Überschreibung wird gelöscht, und das Denken bleibt für Sitzungen, die es deaktiviert haben, ausgeschaltet |640| `setMaxThinkingTokens()` | *Veraltet:* Verwenden Sie stattdessen die `thinking`-Option. Ändert die maximalen Denk-Token. Übergeben von `null` setzt das Denken auf den Sitzungsstandard zurück: eine Mid-Session-Überschreibung wird gelöscht, und das Denken bleibt für Sitzungen, die es deaktiviert haben, ausgeschaltet |

641| `applyFlagSettings(settings)` | Führt Einstellungen zur Laufzeit in die Flag-Einstellungsebene der Sitzung zusammen (nur im Streaming-Eingabemodus verfügbar). Siehe [`applyFlagSettings()`](#applyflagsettings) |641| `applyFlagSettings(settings)` | Führt Einstellungen zur Laufzeit in die Flag-Einstellungsebene der Sitzung zusammen (nur im Streaming-Eingabemodus verfügbar). Siehe [`applyFlagSettings()`](#applyflagsettings) |

642| `updateSettings(source, settings)` | Führt Einstellungen in die lokale Einstellungsdatei des Projekts `.claude/settings.local.json` zusammen; sie treten bei der nächsten Anfrage in Kraft. Akzeptiert nur `source: 'localSettings'` und einen Allowlist-Schlüsselsatz, derzeit `outputStyle`, mit Zeichenkettenwerten; das Löschen eines Schlüssels wird nicht unterstützt. Lehnt auf Remote-Transporten und in Sitzungen ab, deren [`settingSources`](#options) `local` ausschließen. Erfordert TypeScript SDK v0.3.257 oder später, das Claude Code v2.1.257 bündelt |642| `updateSettings(source, settings)` | Führt Einstellungen in die lokale Einstellungsdatei des Projekts `.claude/settings.local.json` zusammen; sie treten bei der nächsten Anfrage in Kraft. Akzeptiert nur `source: 'localSettings'` und einen Allowlist-Schlüsselsatz, derzeit `outputStyle`, mit Zeichenkettenwerten; das Löschen eines Schlüssels wird nicht unterstützt. Lehnt bei Remote-Transporten und in Sitzungen ab, deren [`settingSources`](#options) `local` ausschließen. Erfordert TypeScript SDK v0.3.257 oder später, das Claude Code v2.1.257 bündelt |

643| `initializationResult()` | Gibt das vollständige Initialisierungsergebnis zurück, einschließlich unterstützter Befehle, Modelle, Kontoinformationen und Ausgabestil-Konfiguration |643| `initializationResult()` | Gibt das vollständige Initialisierungsergebnis zurück, einschließlich unterstützter Befehle, Modelle, Kontoinformationen und Ausgabestil-Konfiguration |

644| `reinitialize()` | Sendet die `initialize`-Steueranfrage erneut an die laufende CLI und gibt ein frisches Ergebnis anstelle des zwischengespeicherten First-Connect-Ergebnisses zurück. Verwenden Sie es nach einer Transportlücke, z. B. nach dem Wiederherstellen einer Verbindung zu einer Sitzung nach einer Trennung, damit ausstehende Berechtigungsanfragen Ihren `canUseTool`-Callback erneut erreichen. Machen Sie den Callback idempotent pro Request-ID, da eine Anfrage, deren Antwort verloren ging, erneut versendet wird. Erfordert Claude Code v2.1.195 oder später |644| `reinitialize()` | Sendet die `initialize`-Steueranfrage erneut an die laufende CLI und gibt ein frisches Ergebnis anstelle des zwischengespeicherten First-Connect-Ergebnisses zurück. Verwenden Sie es nach einer Transportlücke, z. B. nach dem Wiederherstellen einer Verbindung zu einer Sitzung nach einer Trennung, damit ausstehende Berechtigungsanfragen Ihren `canUseTool`-Callback erneut erreichen. Machen Sie den Callback idempotent pro Anfrage-ID, da eine Anfrage, deren Antwort verloren ging, erneut versendet wird. Erfordert Claude Code v2.1.195 oder später |

645| `supportedCommands()` | Gibt verfügbare Befehle zurück. Ab Agent SDK v0.3.216 spiegelt die Liste Mid-Session-Befehlsänderungen wider; siehe [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |645| `supportedCommands()` | Gibt verfügbare Befehle zurück. Ab Agent SDK v0.3.216 spiegelt die Liste Mid-Session-Befehlsänderungen wider; siehe [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |

646| `supportedModels()` | Gibt verfügbare Modelle mit Anzeigeinformationen zurück |646| `supportedModels()` | Gibt verfügbare Modelle mit Anzeigeinformationen zurück |

647| `supportedAgents()` | Gibt verfügbare Subagenten als [`AgentInfo`](#agentinfo)`[]` zurück |647| `supportedAgents()` | Gibt verfügbare Subagenten als [`AgentInfo`](#agentinfo)`[]` zurück |

648| `mcpServerStatus()` | Gibt den Status verbundener MCP-Server zurück |648| `mcpServerStatus()` | Gibt Status verbundener MCP-Server zurück |

649| `getContextUsage(opts?)` | Gibt ein [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) zurück, das die Kontextfenster-Nutzung der Sitzung nach Kategorie, Skill und Tool aufschlüsselt. Mit dem Standard `detail` ist es die gleichen Daten, die `/context` in einer interaktiven Sitzung anzeigt. Die [`detail`-Option](#sdkcontrolgetcontextusageresponse) erfordert Agent SDK v0.3.257 oder später |649| `getContextUsage(opts?)` | Gibt eine [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) zurück, die die Kontextfenster-Nutzung der Sitzung nach Kategorie, Fähigkeit und Tool aufschlüsselt. Mit dem Standard `detail` ist es die gleichen Daten, die `/context` in einer interaktiven Sitzung anzeigt. Die [`detail`-Option](#sdkcontrolgetcontextusageresponse) erfordert Agent SDK v0.3.257 oder später |

650| `readFile(path, options?)` | Liest eine Datei aus dem Dateisystem der Sitzung. Claude Code löst den Pfad gegen `cwd` auf; [Was `readFile()` lesen kann](#what-readfile-can-read) listet die Dateien auf, die es bereitstellt. Übergeben Sie `{ maxBytes }`, um die Leseobergrenze zu ändern (Standard 1 MB, Obergrenze 10 MB) und `{ encoding: 'base64' }` für Binärdateien wie Bilder. Wird mit einem [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) aufgelöst oder `null` bei Berechtigungsverweigerung, fehlender Datei oder Transportfehler. Erfordert TypeScript SDK v0.2.121 oder später |650| `readFile(path, options?)` | Liest eine Datei aus dem Dateisystem der Sitzung. Claude Code löst den Pfad gegen `cwd` auf; [Was `readFile()` lesen kann](#what-readfile-can-read) listet die Dateien auf, die es bereitstellt. Übergeben Sie `{ maxBytes }`, um die Leseobergrenze zu ändern (Standard 1 MB, Obergrenze 10 MB) und `{ encoding: 'base64' }` für Binärdateien wie Bilder. Wird mit einer [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) aufgelöst oder `null` bei Berechtigungsverweigerung, fehlender Datei oder Transportfehler. Erfordert TypeScript SDK v0.2.121 oder später |

651| `reloadSkills()` | Lädt Skills von der Festplatte neu, sodass Skills, die Sie mid-session hinzufügen oder bearbeiten, der laufenden Sitzung zur Verfügung stehen. Wird mit einem [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) aufgelöst, das die nach dem Reload verfügbaren Skills auflistet. Erfordert Agent SDK v0.3.163 oder später |651| `reloadSkills()` | Lädt Fähigkeiten von der Festplatte neu, sodass Fähigkeiten, die Sie mid-session hinzufügen oder bearbeiten, der laufenden Sitzung zur Verfügung stehen. Wird mit einer [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) aufgelöst, die die nach dem Neuladen verfügbaren Fähigkeiten auflistet. Erfordert Agent SDK v0.3.163 oder später |

652| `accountInfo()` | Gibt Kontoinformationen zurück |652| `accountInfo()` | Gibt Kontoinformationen zurück |

653| `reconnectMcpServer(serverName)` | Verbinden Sie einen MCP-Server nach Name erneut. Wenn der Name auch einem Eintrag in einer Einstellungsdatei wie `.mcp.json` oder `~/.claude.json` entspricht, verbindet Claude Code den Server, den Sie über [`mcpServers`](#options) oder `setMcpServers()` konfiguriert haben, nicht den Einstellungsdatei-Eintrag erneut. Diese Auflösungsreihenfolge erfordert Claude Code v2.1.257 oder später |653| `reconnectMcpServer(serverName)` | Verbinden Sie einen MCP-Server nach Name erneut. Wenn der Name auch einem Eintrag in einer Einstellungsdatei wie `.mcp.json` oder `~/.claude.json` entspricht, verbindet Claude Code den Server, den Sie über [`mcpServers`](#options) oder `setMcpServers()` konfiguriert haben, nicht den Einstellungsdatei-Eintrag. Diese Auflösungsreihenfolge erfordert Claude Code v2.1.257 oder später |

654| `toggleMcpServer(serverName, enabled)` | Aktivieren oder deaktivieren Sie einen MCP-Server nach Name, mit der gleichen Namensauflösung wie `reconnectMcpServer()`. Das Deaktivieren trennt den Server |654| `toggleMcpServer(serverName, enabled)` | Aktivieren oder deaktivieren Sie einen MCP-Server nach Name, mit der gleichen Namensauflösung wie `reconnectMcpServer()`. Das Deaktivieren trennt den Server |

655| `setMcpServers(servers)` | Ersetzen Sie dynamisch die Menge der MCP-Server für diese Sitzung. Wird mit einem [`McpSetServersResult`](#mcpsetserversresult) aufgelöst, das angibt, welche Server hinzugefügt und entfernt wurden, und alle Fehler |655| `setMcpServers(servers)` | Ersetzen Sie dynamisch die Menge der MCP-Server für diese Sitzung. Wird mit einem [`McpSetServersResult`](#mcpsetserversresult) aufgelöst, das benennt, welche Server hinzugefügt und entfernt wurden, und alle Fehler |

656| `streamInput(stream)` | Streamen Sie Eingabenachrichten zur Abfrage für Multi-Turn-Konversationen |656| `streamInput(stream)` | Streamen Sie Eingabenachrichten zur Abfrage für Multi-Turn-Gespräche |

657| `stopTask(taskId)` | Beenden Sie eine laufende Hintergrund-Aufgabe nach ID |657| `stopTask(taskId)` | Beenden Sie eine laufende Hintergrund-Task nach ID |

658| `close()` | Schließen Sie die Abfrage und beenden Sie den zugrunde liegenden Prozess. Beendet die Abfrage erzwungen und bereinigt alle Ressourcen |658| `close()` | Schließen Sie die Abfrage und beenden Sie den zugrunde liegenden Prozess. Beendet die Abfrage erzwungen und bereinigt alle Ressourcen |

659 659 

660<h4 id="applyflagsettings">660<h4 id="applyflagsettings">

661 `applyFlagSettings()`661 `applyFlagSettings()`

662</h4>662</h4>

663 663 

664Ändert [Einstellungen](/docs/de/settings) auf einer laufenden Sitzung, ohne die Abfrage neu zu starten. Verwenden Sie es, wenn eine Einstellung, die keinen dedizierten Setter hat, sich mitten in der Sitzung ändern muss, z. B. um `permissions` zu verschärfen, nachdem der Agent nicht vertrauenswürdige Eingaben liest. `setModel()` und `setPermissionMode()` sind dedizierte Setter für diese beiden Schlüssel; `applyFlagSettings()` ist die allgemeine Form, die jede Teilmenge der Einstellungsschlüssel akzeptiert, und das Übergeben von `model` hier verhält sich genauso wie `setModel()`.664Ändert [Einstellungen](/docs/de/settings) auf einer laufenden Sitzung, ohne die Abfrage neu zu starten. Verwenden Sie es, wenn eine Einstellung, die keinen dedizierten Setter hat, mid-session geändert werden muss, z. B. das Verschärfen von `permissions`, nachdem der Agent nicht vertrauenswürdige Eingaben liest. `setModel()` und `setPermissionMode()` sind dedizierte Setter für diese beiden Schlüssel; `applyFlagSettings()` ist die allgemeine Form, die jede Teilmenge der Einstellungsschlüssel akzeptiert, und das Übergeben von `model` hier verhält sich gleich wie `setModel()`.

665 665 

666Nur einige Schlüssel wirken sich mitten in der Sitzung aus:666Nur einige Schlüssel treten mid-session in Kraft:

667 667 

668* **Angewendet beim nächsten Turn**: `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Das Wechseln von `agent` wendet auch die Modellüberschreibung und Hooks dieses Agenten beim nächsten Turn an. Sein System-Prompt wird beim nächsten Turn angewendet oder, in einer Sitzung, die [eine aufgezeichnete Systemeingabeaufforderung wiederverwenden](/docs/de/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session), sobald die Sitzung komprimiert wird.668* **Angewendet bei der nächsten Umdrehung**: `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Das Wechseln von `agent` wendet auch die Modellüberschreibung und Hooks dieses Agenten bei der nächsten Umdrehung an. Sein Systemprompt wird bei der nächsten Umdrehung angewendet oder, in einer Sitzung, die [einen aufgezeichneten Systemprompt wiederverwenden](/docs/de/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session), sobald die Sitzung komprimiert wird.

669* **Angewendet während des aktuellen Turns**: `model`. Wenn Sie `model` wechseln, während Claude an einem Turn arbeitet, beendet die Antwort, die Claude bereits generiert, auf dem alten Modell, und der Rest des Turns, beginnend mit dem nächsten Aufruf, den Claude Code an das Modell macht, verwendet das neue. Subagenten behalten ihr eigenes Modell. Vor v2.1.212 wartete ein Mid-Turn-Wechsel auf den nächsten Turn.669* **Während der aktuellen Umdrehung angewendet**: `model`. Wenn Sie `model` wechseln, während Claude an einer Umdrehung arbeitet, wird die Antwort, die Claude bereits generiert, auf dem alten Modell beendet, und der Rest der Umdrehung, beginnend mit dem nächsten Aufruf, den Claude Code an das Modell macht, verwendet das neue. Subagenten behalten ihr eigenes Modell. Vor v2.1.212 wartete ein Mid-Turn-Wechsel auf die nächste Umdrehung.

670* **Keine Auswirkung mitten in der Sitzung**: die Systemeingabeaufforderungsoptionen. Diese werden einmal beim Start aufgelöst, sodass die laufende Sitzung den ursprünglichen Wert behält, obwohl der Aufruf erfolgreich ist. Um sie zu ändern, starten Sie eine neue Sitzung.670* **Keine Auswirkung mid-session**: die Systemprompt-Optionen. Diese werden einmal beim Start aufgelöst, daher behält die laufende Sitzung den ursprünglichen Wert, auch wenn der Aufruf erfolgreich ist. Um sie zu ändern, starten Sie eine neue Sitzung.

671 671 

672`effortLevel` akzeptiert einen [Aufwandsstufen](/docs/de/model-config#adjust-effort-level)-Namen. Es akzeptiert auch `"ultracode"`, das die Sitzung mit `xhigh`-Aufwand ausführt und [ultracode](/docs/de/workflows#let-claude-decide-with-ultracode) aktiviert. `applyFlagSettings()` deklariert `effortLevel` ohne diesen Wert, daher übergeben Sie das Äquivalent `{ ultracode: true }` in TypeScript. Der `ultracode`-Wert erfordert Claude Code v2.1.203 oder später und wird nur von `applyFlagSettings()` akzeptiert, nicht vom `effortLevel`-Schlüssel in einer Einstellungsdatei.672`effortLevel` akzeptiert einen [Anstrengungsstufen](/docs/de/model-config#adjust-effort-level)-Namen. Es akzeptiert auch `"ultracode"`, das `xhigh`-Anstrengung mit [ultracode](/docs/de/workflows#let-claude-decide-with-ultracode) anfordert. `applyFlagSettings()` deklariert `effortLevel` ohne diesen Wert, daher übergeben Sie das Äquivalent `{ ultracode: true }` in TypeScript. Der `ultracode`-Wert erfordert Claude Code v2.1.203 oder später und wird nur von `applyFlagSettings()` akzeptiert, nicht vom `effortLevel`-Schlüssel in einer Einstellungsdatei.

673 673 

674Die Werte werden in die Flag-Einstellungsebene geschrieben, die gleiche Ebene, die die Inline-`settings`-Option von `query()` beim Start füllt. Dies ist die gleiche Ebene, die der [Abschnitt zur Priorität auf der Seite](#settings-precedence) programmatische Optionen nennt.674Die Werte werden in die Flag-Einstellungsebene geschrieben, die gleiche Ebene, die die Inline-`settings`-Option von `query()` beim Start füllt. Dies ist die gleiche Ebene, die der [On-Page-Rangfolge-Abschnitt](#settings-precedence) programmatische Optionen nennt.

675 675 

676Aufeinanderfolgende Aufrufe führen Top-Level-Schlüssel flach zusammen. Ein zweiter Aufruf mit `{ permissions: {...} }` ersetzt das gesamte `permissions`-Objekt aus dem vorherigen Aufruf, anstatt es tief zusammenzuführen. Um einen Schlüssel aus der Flag-Ebene zu löschen und auf niedrigere Prioritätsquellen zurückzugreifen, übergeben Sie `null` für diesen Schlüssel. Das Übergeben von `undefined` hat keine Auswirkung, da die JSON-Serialisierung es löscht.676Aufeinanderfolgende Aufrufe führen Top-Level-Schlüssel flach zusammen. Ein zweiter Aufruf mit `{ permissions: {...} }` ersetzt das gesamte `permissions`-Objekt aus dem vorherigen Aufruf, anstatt es tief zusammenzuführen. Um einen Schlüssel aus der Flag-Ebene zu löschen, übergeben Sie `null` für diesen Schlüssel. Die meisten Schlüssel fallen dann auf Quellen mit niedrigerer Priorität zurück. Ein gelöschtes `model` wird auf [Claude Codes Standard-Modell](/docs/de/model-config) zurückgesetzt, auch wenn eine Einstellungsdatei `model` setzt. Übergeben von `undefined` hat keine Auswirkung, da JSON-Serialisierung es ablegt.

677 677 

678Nur im Streaming-Eingabemodus verfügbar, die gleiche Einschränkung wie `setModel()` und `setPermissionMode()`.678Nur im Streaming-Eingabemodus verfügbar, die gleiche Einschränkung wie `setModel()` und `setPermissionMode()`.

679 679 

680Das folgende Beispiel wechselt das aktive Modell mitten in der Sitzung und löscht dann die Überschreibung, sodass das Modell auf das zurückfällt, was die Benutzer- oder Projekteinstellungen angeben.680Das Beispiel unten wechselt das aktive Modell mid-session und löscht dann die Überschreibung, damit das Modell auf [Claude Codes Standard-Modell](/docs/de/model-config) zurückgesetzt wird.

681 681 

682```typescript theme={null}682```typescript theme={null}

683import { query } from "@anthropic-ai/claude-agent-sdk";683import { query } from "@anthropic-ai/claude-agent-sdk";

684 684 

685const q = query({ prompt: messageStream });685const q = query({ prompt: messageStream });

686 686 

687// Überschreiben Sie das Modell für den Rest der Sitzung687// Override the model for the rest of the session

688await q.applyFlagSettings({ model: "claude-opus-4-6" });688await q.applyFlagSettings({ model: "claude-opus-4-6" });

689 689 

690// Später: Löschen Sie die Überschreibung und greifen Sie auf niedrigere Prioritätseinstellungen zurück690// Later: clear the override; the model resets to Claude Code's default

691await q.applyFlagSettings({ model: null });691await q.applyFlagSettings({ model: null });

692```692```

693 693 

694<Note>694<Note>

695 `applyFlagSettings()` ist nur TypeScript. Das Python SDK stellt keine entsprechende Methode bereit.695 `applyFlagSettings()` ist nur TypeScript. Das Python SDK stellt keine äquivalente Methode bereit.

696</Note>696</Note>

697 697 

698<h3 id="warmquery">698<h3 id="warmquery">

699 `WarmQuery`699 `WarmQuery`

700</h3>700</h3>

701 701 

702Handle, das von [`startup()`](#startup) zurückgegeben wird. Der Unterprozess ist bereits gespawnt und initialisiert, sodass das Aufrufen von `query()` auf diesem Handle die Eingabeaufforderung direkt in einen bereiten Prozess ohne Startup-Latenz schreibt.702Handle, das von [`startup()`](#startup) zurückgegeben wird. Der Subprocess ist bereits erzeugt und initialisiert, daher schreibt das Aufrufen von `query()` auf diesem Handle die Eingabeaufforderung direkt in einen bereiten Prozess ohne Startup-Latenz.

703 703 

704```typescript theme={null}704```typescript theme={null}

705interface WarmQuery extends AsyncDisposable {705interface WarmQuery extends AsyncDisposable {


713</h4>713</h4>

714 714 

715| Methode | Beschreibung |715| Methode | Beschreibung |

716| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |716| :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

717| `query(prompt)` | Senden Sie eine Eingabeaufforderung an den vorgewärmten Unterprozess und geben Sie ein [`Query`](#query-object) zurück. Kann nur einmal pro `WarmQuery` aufgerufen werden |717| `query(prompt)` | Senden Sie eine Eingabeaufforderung an den vorgewärmten Subprocess und geben Sie eine [`Query`](#query-object) zurück. Kann nur einmal pro `WarmQuery` aufgerufen werden |

718| `close()` | Schließen Sie den Unterprozess, ohne eine Eingabeaufforderung zu senden. Verwenden Sie dies, um eine warme Abfrage zu verwerfen, die nicht mehr benötigt wird |718| `close()` | Schließen Sie den Subprocess, ohne eine Eingabeaufforderung zu senden. Verwenden Sie dies, um eine warme Abfrage zu verwerfen, die nicht mehr benötigt wird |

719 719 

720`WarmQuery` implementiert `AsyncDisposable`, sodass es mit `await using` für automatische Bereinigung verwendet werden kann.720`WarmQuery` implementiert `AsyncDisposable`, daher kann es mit `await using` für automatische Bereinigung verwendet werden.

721 721 

722<h3 id="sdkcontrolinitializeresponse">722<h3 id="sdkcontrolinitializeresponse">

723 `SDKControlInitializeResponse`723 `SDKControlInitializeResponse`


743 743 

744Claude Code lässt das Feld weg, wenn die Anfrage keine Hooks trug. Wenn die Anfrage Hooks trug, hängt der Wert davon ab, ob die Anfrage die erste Initialisierung der Sitzung ist und, für eine wiederholte, wie sie die Sitzung erreichte:744Claude Code lässt das Feld weg, wenn die Anfrage keine Hooks trug. Wenn die Anfrage Hooks trug, hängt der Wert davon ab, ob die Anfrage die erste Initialisierung der Sitzung ist und, für eine wiederholte, wie sie die Sitzung erreichte:

745 745 

746* `true`: Claude Code registrierte die Hooks. Eine erste Initialisierung einer Sitzung gibt diesen Wert zurück. Ebenso eine wiederholte Initialisierung, die über die Stdin der CLI gesendet wird. In diesem Fall ersetzen die Hooks in der neuen Anfrage die Hooks, die früher registriert wurden.746* `true`: Claude Code registrierte die Hooks. Eine erste Initialisierung einer Sitzung gibt diesen Wert zurück. Eine wiederholte Initialisierung, die über die CLI-Standardeingabe gesendet wird, gibt auch `true` zurück. In diesem Fall ersetzen die Hooks in der neuen Anfrage die Hooks, die früher registriert wurden.

747* `false`: Claude Code ignorierte die Hooks. Eine wiederholte Initialisierung, die an eine Remote-Sitzung gesendet wird, gibt diesen Wert zurück, sodass ein zweiter Client, der sich einer Sitzung anschließt, die Hooks, die der erste Client registrierte, nicht ersetzen kann.747* `false`: Claude Code ignorierte die Hooks. Eine wiederholte Initialisierung, die an eine Remote-Sitzung gesendet wird, gibt diesen Wert zurück, daher kann ein zweiter Client, der einer Sitzung beitritt, die Hooks, die der erste Client registrierte, nicht ersetzen.

748 748 

749Vor Agent SDK v0.3.238 trug die Antwort niemals das Feld, und Claude Code ignorierte `hooks` bei jeder wiederholten Initialisierung.749Vor Agent SDK v0.3.238 trug die Antwort niemals das Feld, und Claude Code ignorierte `hooks` bei jeder wiederholten Initialisierung.

750 750 

751Die Antwort meldet immer `fast_mode_state`, und wenn etwas [Fast Mode](/docs/de/fast-mode) blockiert, trägt `fast_mode_disabled_reason` den Grund-Code daneben, sodass Sie den blockierten Zustand erklären können, anstatt die Verfügbarkeit neu abzuleiten. Beide Verhaltensweisen erfordern Claude Code v2.1.219 oder später. Vor v2.1.219 ließ die Antwort `fast_mode_state` weg, wenn Fast Mode nicht verfügbar war, und trug niemals einen Grund. Für die Grund-Codes und ihre Bedeutungen siehe [`fast_mode_disabled_reason`](#sdkresultmessage) auf der Ergebnis-Nachricht.751Die Antwort meldet immer `fast_mode_state`, und wenn etwas [Fast-Modus](/docs/de/fast-mode) blockiert, trägt `fast_mode_disabled_reason` den Grund-Code daneben, daher können Sie den blockierten Zustand erklären, anstatt die Verfügbarkeit neu abzuleiten. Beide Verhaltensweisen erfordern Claude Code v2.1.219 oder später. Vor v2.1.219 ließ die Antwort `fast_mode_state` weg, wenn Fast-Modus nicht verfügbar war, und trug niemals einen Grund. Für die Grund-Codes und ihre Bedeutungen siehe [`fast_mode_disabled_reason`](#sdkresultmessage) auf der Ergebnis-Nachricht.

752 752 

753Der Control-Response-Wrapper für eine erfolgreiche `initialize` trägt auch ein `pending_permission_requests`-Array. Das Feld befindet sich auf dem Response-Wrapper selbst, nicht in der oben beschriebenen `SDKControlInitializeResponse`-Nutzlast. Jeder Eintrag ist eine vollständige `control_request`-Nachricht mit der gleichen `{ type: "control_request", request_id, request }`-Form, die die Sitzung für Berechtigungsanfragen während der Ausführung streamt.753Der Steuer-Antwort-Wrapper für eine erfolgreiche `initialize` trägt auch ein `pending_permission_requests`-Array. Das Feld ist auf dem Antwort-Wrapper selbst, nicht in der `SDKControlInitializeResponse`-Nutzlast oben. Jeder Eintrag ist eine vollständige `control_request`-Nachricht mit der gleichen `{ type: "control_request", request_id, request }`-Form, die die Sitzung für Berechtigungsanfragen während der Ausführung streamt.

754 754 

755Das Array listet die Berechtigungsanfragen auf, die dieser Claude Code-Prozess gestellt hat und noch nicht aufgelöst hat. Das SDK liest das Array für Sie und versendet jeden Eintrag an Ihren [`canUseTool`](#canusetool)-Callback, die gleiche Wiederversendung, die [`reinitialize()`](#query-object) nach einer Transportlücke auslöst. Behandeln Sie wiederholte Request-IDs idempotent, da ein Eintrag eine Anfrage wiederholen kann, die der Callback bereits erhalten hat, bevor die Verbindung unterbrochen wurde.755Das Array listet die Berechtigungsanfragen auf, die dieser Claude Code-Prozess ausgegeben hat und noch nicht aufgelöst hat. Das SDK liest das Array für Sie und versendet jeden Eintrag an Ihren [`canUseTool`](#canusetool)-Callback, die gleiche Neulieferung, die [`reinitialize()`](#query-object) nach einer Transportlücke auslöst. Behandeln Sie wiederholte Anfrage-IDs idempotent, da ein Eintrag eine Anfrage wiederholen kann, die der Callback bereits erhalten hat, bevor die Verbindung unterbrochen wurde.

756 756 

757Das Array ist immer auf einer erfolgreichen `initialize`-Antwort vorhanden und ist leer, wenn dieser Prozess keine ungelöste Berechtigungsanfrage hat. Erfordert Claude Code v2.1.268 oder später. Frühere Versionen könnten das Feld weglassen, daher behandeln Sie ein fehlendes Feld als ältere CLI, wenn Sie das Wire-Protokoll selbst analysieren, anstatt als Beweis, dass nichts ausstehend ist.757Das Array ist immer auf einer erfolgreichen `initialize`-Antwort vorhanden und ist leer, wenn dieser Prozess keine ungelöste Berechtigungsanfrage hat. Erfordert Claude Code v2.1.268 oder später. Frühere Versionen könnten das Feld auslassen, daher behandeln Sie ein fehlendes Feld als ältere CLI, wenn Sie das Drahtprotokoll selbst analysieren, anstatt als Beweis, dass nichts ausstehend ist.

758 758 

759<h3 id="sdkcontrolinterruptresponse">759<h3 id="sdkcontrolinterruptresponse">

760 `SDKControlInterruptResponse`760 `SDKControlInterruptResponse`

761</h3>761</h3>

762 762 

763Der Interrupt-Beleg: der Wert, mit dem [`interrupt()`](#query-object) auf einer CLI aufgelöst wird, die die `interrupt_receipt_v1`-Funktion in [`SDKSystemMessage.capabilities`](#sdksystemmessage) ankündigt. Erfordert Claude Code v2.1.205 oder später. Frühere CLIs beantworten den Interrupt mit einer leeren Erfolgsnutzlast, daher wird `interrupt()` mit `undefined` aufgelöst.763Die Unterbrechnungsbestätigung: der Wert, mit dem [`interrupt()`](#query-object) auf einer CLI aufgelöst wird, die die `interrupt_receipt_v1`-Fähigkeit in [`SDKSystemMessage.capabilities`](#sdksystemmessage) ankündigt. Erfordert Claude Code v2.1.205 oder später. Frühere CLIs beantworten die Unterbrechung mit einer leeren Erfolgsnutzlast, daher wird `interrupt()` mit `undefined` aufgelöst.

764 764 

765```typescript theme={null}765```typescript theme={null}

766type SDKControlInterruptResponse = {766type SDKControlInterruptResponse = {


769};769};

770```770```

771 771 

772`still_queued` listet die UUIDs von Benutzernachrichten auf, die in der Warteschlange waren, als der Interrupt ankam: Nachrichten, die sich noch in der Warteschlange befinden, plus alle Nachrichten, die Claude Code bereits aus der Warteschlange für den nächsten Turn genommen hatte. Sobald die erste Turn der Sitzung gestartet hat, verarbeitet Claude Code die aufgelisteten Nachrichten nach dem Interrupt, es sei denn, Sie brechen sie zuerst ab, und kann mehrere in einen Turn zusammenführen. Wenn Sie vor dem Start des ersten Turns unterbrechen, bricht Claude Code diesen Turn ab, sobald er startet, und die aufgelisteten Nachrichten in diesem Turn erhalten keine Antwort.772`still_queued` listet die UUIDs der Benutzernachrichten auf, die ausstanden, als die Unterbrechung ankam: Nachrichten, die noch in der Warteschlange sind, plus alle Nachrichten, die Claude Code bereits aus der Warteschlange für die nächste Umdrehung genommen hatte. Sobald die erste Umdrehung der Sitzung gestartet hat, verarbeitet Claude Code die aufgelisteten Nachrichten nach der Unterbrechung, es sei denn, Sie stornieren sie zuerst, und kann mehrere in eine Umdrehung zusammenführen. Wenn Sie vor dem Start der ersten Umdrehung unterbrechen, bricht Claude Code diese Umdrehung ab, sobald sie startet, und die aufgelisteten Nachrichten in dieser Umdrehung erhalten keine Antwort.

773 773 

774Verwenden Sie den Beleg, um zu entscheiden, ob Sie etwas erneut senden möchten. Eine aufgelistete Nachricht, die Sie nicht abbrechen, tritt in die Konversation ein, ob sie eine Antwort erhält oder nicht, sodass das erneute Senden sie an Claude zweimal liefert.774Verwenden Sie die Bestätigung, um zu entscheiden, ob Sie etwas erneut senden möchten. Eine aufgelistete Nachricht, die Sie nicht stornieren, tritt in das Gespräch ein, unabhängig davon, ob sie eine Antwort erhält, daher wird das erneute Senden an Claude zweimal gesendet.

775 775 

776Interpretieren Sie die Liste mit diesen Vorbehalten:776Interpretieren Sie die Liste mit diesen Vorbehalten:

777 777 

778* Nur Nachrichten, die mit einer UUID in die Warteschlange eingereiht wurden, werden angezeigt. Ein leeres Array bedeutet nicht, dass nichts anderes ausgeführt wird.778* Nur Nachrichten, die mit einer UUID in die Warteschlange eingereiht wurden, erscheinen. Ein leeres Array bedeutet nicht, dass nichts anderes läuft.

779* Nur Hauptthread-Nachrichten werden aufgelistet. Nachrichten, die an einen Subagenten adressiert sind, sind außerhalb des Geltungsbereichs.779* Nur Hauptthread-Nachrichten werden aufgelistet. Nachrichten, die an einen Subagenten adressiert sind, sind außerhalb des Geltungsbereichs.

780* Die Liste kann UUIDs enthalten, die Ihr Client nie gesendet hat, z. B. [geplante Task](/docs/de/scheduled-tasks)-Trigger. Ignorieren Sie UUIDs, die Sie nicht erkennen, anstatt sie als Fehler zu behandeln.780* Die Liste kann UUIDs enthalten, die Ihr Client nie gesendet hat, z. B. [geplante Task](/docs/de/scheduled-tasks)-Trigger. Ignorieren Sie UUIDs, die Sie nicht erkennen, anstatt sie als Fehler zu behandeln.

781 781 

782Ein Client, der das Control-Protokoll der CLI direkt antreibt, anstatt durch `interrupt()`, kann `cancel_queued: true` auf der `interrupt`-Steueranfrage setzen. Claude Code v2.1.219 und später kündigt Unterstützung mit der `interrupt_cancel_queued_v1`-Funktion in [`SDKSystemMessage.capabilities`](#sdksystemmessage) an; ältere CLIs ignorieren das Feld und lassen in der Warteschlange befindliche Nachrichten wie gewöhnlich laufen. Ein solcher Interrupt bricht auch jede Nachricht ab, die sonst unter `still_queued` aufgelistet würde: Der Beleg listet sie stattdessen unter `cancelled` auf, `still_queued` ist leer, und keine von ihnen läuft.782Ein Client, der das Steuerprotokoll der CLI direkt antreibt, anstatt über `interrupt()`, kann `cancel_queued: true` auf der `interrupt`-Steueranfrage setzen. Claude Code v2.1.219 und später kündigt Unterstützung mit der `interrupt_cancel_queued_v1`-Fähigkeit in [`SDKSystemMessage.capabilities`](#sdksystemmessage) an; ältere CLIs ignorieren das Feld und lassen Warteschlangen-Nachrichten wie gewohnt laufen. Eine solche Unterbrechung storniert auch jede Nachricht, die sonst unter `still_queued` aufgelistet würde: die Bestätigung listet sie stattdessen unter `cancelled` auf, `still_queued` ist leer, und keine von ihnen läuft.

783 783 

784Die `cancelled`-Liste trägt die gleichen Vorbehalte wie `still_queued`. Die `interrupt()`-Methode sendet niemals `cancel_queued`, daher tragen Belege, mit denen sie aufgelöst wird, nicht `cancelled`.784Die `cancelled`-Liste trägt die gleichen Vorbehalte wie `still_queued`. Die `interrupt()`-Methode sendet niemals `cancel_queued`, daher tragen Bestätigungen, mit denen sie aufgelöst wird, nicht `cancelled`.

785 785 

786Der Beleg ist eine Momentaufnahme, die zum Zeitpunkt der Verarbeitung des Interrupts erstellt wird, und bei einem sauberen Interrupt kommt er an, bevor das [`SDKResultMessage`](#sdkresultmessage) des unterbrochenen Turns. Lesen Sie den Beleg, anstatt die Warteschlange nach diesem Ergebnis zu überprüfen: Die Schleife startet den nächsten in der Warteschlange befindlichen Turn sofort, sodass sich die Warteschlange, die Sie nach dem Ergebnis überprüfen, bereits geändert hat.786Die Bestätigung ist eine Momentaufnahme, die zum Zeitpunkt der Verarbeitung der Unterbrechung aufgenommen wird, und bei einer sauberen Unterbrechung kommt sie vor der [`SDKResultMessage`](#sdkresultmessage) der unterbrochenen Umdrehung an. Lesen Sie die Bestätigung, anstatt die Warteschlange nach diesem Ergebnis zu überprüfen: die Schleife startet die nächste Warteschlangen-Umdrehung sofort, daher hat sich die Warteschlange, die Sie nach dem Ergebnis überprüfen, bereits geändert.

787 787 

788<h3 id="sdkcontrolgetcontextusageresponse">788<h3 id="sdkcontrolgetcontextusageresponse">

789 `SDKControlGetContextUsageResponse`789 `SDKControlGetContextUsageResponse`

790</h3>790</h3>

791 791 

792Rückgabetyp von [`getContextUsage()`](#query-object). Mit dem Standard `detail` ist dies die gleiche Nutzlast, die Claude Code für den `/context`-Befehl in einer interaktiven Sitzung rendert, sodass es neben den Token-Zählungen Anzeigefelder wie `color` und `gridRows` trägt, die Claude Code verwendet, um das `/context`-Nutzungsgitter zu zeichnen.792Rückgabetyp von [`getContextUsage()`](#query-object). Mit dem Standard `detail` ist dies die gleiche Nutzlast, die Claude Code für den `/context`-Befehl in einer interaktiven Sitzung rendert, daher trägt sie neben den Token-Zählungen Anzeigefelder wie `color` und `gridRows`, die Claude Code verwendet, um das `/context`-Nutzungsgitter zu zeichnen.

793 793 

794Das optionale `detail`-Argument der Methode wählt, wie Claude Code jede Kategorie zählt. Mit dem Standard `'full'` zählt Claude Code jede Kategorie mit Token-Zählungs-API-Anfragen. Übergeben Sie `{ detail: 'summary' }`, um eine Antwort aus der letzten Antwort-Nutzung und lokalen Schätzungen zu erhalten. Keine Token-Zählungs-Anfragen gehen raus, und die Pro-Kategorie-Zahlen sind ungefähr. Das `detail`-Argument erfordert Agent SDK v0.3.257 oder später.794Das optionale `detail`-Argument der Methode wählt, wie Claude Code jede Kategorie zählt. Mit dem Standard `'full'` zählt Claude Code jede Kategorie mit Token-Zähl-API-Anfragen. Übergeben Sie `{ detail: 'summary' }`, um eine Antwort aus der letzten Antwort-Nutzung und lokalen Schätzungen zu erhalten. Keine Token-Zähl-Anfragen gehen raus, und die Pro-Kategorie-Zahlen sind ungefähr. Das `detail`-Argument erfordert Agent SDK v0.3.257 oder später.

795 795 

796Wenn Sie `/context` als Eingabeaufforderung anstelle des Aufrufs der Methode senden, fügt Claude Code eine [`SDKContextUsage`](#sdkcontextusage)-Nutzlast an das `context_usage`-Feld der Assistenten-Nachricht an, die das Ergebnis liefert. Dieses Feld erfordert Agent SDK v0.3.232 oder später.796Wenn Sie `/context` als Eingabeaufforderung anstelle des Aufrufs der Methode senden, fügt Claude Code eine [`SDKContextUsage`](#sdkcontextusage)-Nutzlast an das `context_usage`-Feld der Assistent-Nachricht an, die das Ergebnis liefert. Dieses Feld erfordert Agent SDK v0.3.232 oder später.

797 797 

798```typescript theme={null}798```typescript theme={null}

799type SDKControlGetContextUsageResponse = {799type SDKControlGetContextUsageResponse = {


893 893 

894* `categories` enthält die Pro-Kategorie-Summen.894* `categories` enthält die Pro-Kategorie-Summen.

895* `mcpTools` und `agents` ordnen Token einzelnen MCP-Tools und Subagenten zu.895* `mcpTools` und `agents` ordnen Token einzelnen MCP-Tools und Subagenten zu.

896* `memoryFiles` listet jede geladene Memory-Datei mit ihren Kosten auf.896* `memoryFiles` listet jede geladene Speicherdatei mit ihren Kosten auf.

897* `skills.skillFrontmatter` ordnet die Skill-Auflistungs-Token jedem eingeschlossenen Skill zu. Die Pro-Skill-Zählungen messen jeden Skill-Auflistungs-Eintrag, wie Claude Code ihn tatsächlich sendet, was kürzer als das vollständige Frontmatter des Skills sein kann. Vergleichen Sie `skills.totalSkills` mit `skills.includedSkills`, um zu sehen, ob jeder entdeckte Skill in die Auflistung aufgenommen wurde.897* `skills.skillFrontmatter` ordnet die Token der Fähigkeitsliste jeder eingeschlossenen Fähigkeit zu. Die Pro-Fähigkeit-Zählungen messen jeden Fähigkeitslisten-Eintrag, wie Claude Code ihn tatsächlich sendet, was kürzer als die vollständige Frontmatter der Fähigkeit sein kann. Vergleichen Sie `skills.totalSkills` mit `skills.includedSkills`, um zu sehen, ob jede entdeckte Fähigkeit in die Liste aufgenommen wurde.

898 898 

899`totalTokens` ist die aktuelle Kontextnutzung der Sitzung, und `maxTokens` ist das Fenster, gegen das die Nutzung gemessen wird. Dieses Fenster ist das Kontextfenster des Modells oder das niedrigere Auto-Compaction-Fenster, wenn eines zutrifft. `rawMaxTokens` trägt den gleichen Wert wie `maxTokens`, und `percentage` ist `totalTokens` als gerundeter Prozentsatz dieses Fensters.899`totalTokens` ist die aktuelle Kontextnutzung der Sitzung, und `maxTokens` ist das Fenster, gegen das die Nutzung gemessen wird. Dieses Fenster ist das Kontextfenster des Modells oder das niedrigere Auto-Komprimierungs-Fenster, wenn eines zutrifft. `rawMaxTokens` trägt den gleichen Wert wie `maxTokens`, und `percentage` ist `totalTokens` als gerundeter Prozentsatz dieses Fensters.

900 900 

901Claude Code lässt die optionalen `deferredBuiltinTools`, `systemTools` und `systemPromptSections`-Diagnosen nicht gesetzt, daher erwarten Sie, dass sie abwesend sind, obwohl der Typ sie deklariert.901Claude Code lässt die optionalen `deferredBuiltinTools`-, `systemTools`- und `systemPromptSections`-Diagnosen ungesetzt, daher erwarten Sie, dass sie abwesend sind, auch wenn der Typ sie deklariert.

902 902 

903<h3 id="sdkcontrolreadfileresponse">903<h3 id="sdkcontrolreadfileresponse">

904 `SDKControlReadFileResponse`904 `SDKControlReadFileResponse`


915};915};

916```916```

917 917 

918`contents` enthält den Dateitext oder Base64-Daten, wenn Sie `encoding: 'base64'` angefordert haben; das `encoding`-Feld der Antwort wird in diesem Fall auf `'base64'` gesetzt. `absPath` ist der aufgelöste absolute Pfad. `truncated` wird gesetzt, wenn die Datei länger als die `maxBytes`-Obergrenze war und der Inhalt bei diesem Limit abgeschnitten wurde.918`contents` enthält den Dateitext oder Base64-Daten, wenn Sie `encoding: 'base64'` angefordert haben; das `encoding`-Feld der Antwort wird in diesem Fall auf `'base64'` gesetzt. `absPath` ist der aufgelöste absolute Pfad. `truncated` wird gesetzt, wenn die Datei länger als die `maxBytes`-Obergrenze war und der Inhalt bei diesem Limit gekürzt wurde.

919 919 

920<h4 id="what-readfile-can-read">920<h4 id="what-readfile-can-read">

921 Was `readFile()` lesen kann921 Was `readFile()` lesen kann

922</h4>922</h4>

923 923 

924`readFile()` stellt einen engeren Satz von Dateien bereit als das Read-Tool:924`readFile()` bedient einen engeren Satz von Dateien als das Read-Tool:

925 925 

926* Eine reguläre Datei in einem der Arbeitsverzeichnisse der Sitzung, z. B. `cwd` und `additionalDirectories`926* Eine reguläre Datei in einem der Arbeitsverzeichnisse der Sitzung, z. B. `cwd` und `additionalDirectories`

927* Ein paar von Claude Codes eigenen Dateien für die Sitzung, z. B. Tool-Ergebnisse927* Ein paar von Claude Codes eigenen Dateien für die Sitzung, z. B. Tool-Ergebnisse


940};940};

941```941```

942 942 

943`skills` listet die nach dem Reload verfügbaren Skills in der gleichen [`SlashCommand`](#slashcommand)-Form auf, die `supportedCommands()` zurückgibt.943`skills` listet die nach dem Neuladen verfügbaren Fähigkeiten in der gleichen [`SlashCommand`](#slashcommand)-Form auf, die `supportedCommands()` zurückgibt.

944 944 

945<h3 id="agentdefinition">945<h3 id="agentdefinition">

946 `AgentDefinition`946 `AgentDefinition`

947</h3>947</h3>

948 948 

949Konfiguration für einen programmatisch definierten Subagenten.949Konfiguration für einen programmgesteuert definierten Subagenten.

950 950 

951```typescript theme={null}951```typescript theme={null}

952type AgentDefinition = {952type AgentDefinition = {


960 initialPrompt?: string;960 initialPrompt?: string;

961 maxTurns?: number;961 maxTurns?: number;

962 background?: boolean;962 background?: boolean;

963 omitClaudeMd?: boolean;

963 memory?: "user" | "project" | "local";964 memory?: "user" | "project" | "local";

964 effort?: "low" | "medium" | "high" | "xhigh" | "max" | number;965 effort?: "low" | "medium" | "high" | "xhigh" | "max" | number;

965 permissionMode?: PermissionMode;966 permissionMode?: PermissionMode;


968```969```

969 970 

970| Feld | Erforderlich | Beschreibung |971| Feld | Erforderlich | Beschreibung |

971| :------------------------------------ | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |972| :------------------------------------ | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

972| `description` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden soll |973| `description` | Ja | Natürlichsprachige Beschreibung, wann dieser Agent verwendet werden soll |

973| `tools` | Nein | Array von zulässigen Tool-Namen. Wenn weggelassen, erbt jeden [Tool, der Subagenten zur Verfügung steht](/docs/de/sub-agents#available-tools). Um Skills in den Agent-Kontext vorzuladen, verwenden Sie das `skills`-Feld, anstatt `'Skill'` hier aufzulisten |974| `tools` | Nein | Array von zulässigen Tool-Namen. Wenn weggelassen, erbt jedes [Tool, das Subagenten zur Verfügung steht](/docs/de/sub-agents#available-tools). Um Fähigkeiten in den Kontext des Agenten vorzuladen, verwenden Sie das `skills`-Feld, anstatt `'Skill'` hier aufzulisten |

974| `disallowedTools` | Nein | Array von Tool-Namen, die für diesen Agent explizit nicht zulässig sind. MCP-Server-Level-Muster werden auch akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jedes Tool von diesem Server, und `mcp__*` entfernt jedes MCP-Tool von jedem Server |975| `disallowedTools` | Nein | Array von Tool-Namen, die für diesen Agenten explizit nicht zulässig sind. MCP-Server-Level-Muster werden auch akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jedes Tool von diesem Server, und `mcp__*` entfernt jedes MCP-Tool von jedem Server |

975| `prompt` | Ja | Die Systemeingabeaufforderung des Agenten |976| `prompt` | Ja | Der Systemprompt des Agenten |

976| `model` | Nein | Modellüberschreibung für diesen Agenten. Akzeptiert einen Alias wie `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, oder eine vollständige Modell-ID. `'inherit'` verwendet das Hauptmodell. Wenn Sie es weglassen, wählt Claude Code das Modell in der [Subagenten-Modell-Reihenfolge](/docs/de/sub-agents#choose-a-model) |977| `model` | Nein | Modellüberschreibung für diesen Agenten. Akzeptiert einen Alias wie `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, oder eine vollständige Modell-ID. `'inherit'` verwendet das Hauptmodell. Wenn Sie es weglassen, wählt Claude Code das Modell in der [Subagenten-Modellreihenfolge](/docs/de/sub-agents#choose-a-model) |

977| `mcpServers` | Nein | MCP-Server-Spezifikationen für diesen Agenten |978| `mcpServers` | Nein | MCP-Server-Spezifikationen für diesen Agenten |

978| `skills` | Nein | Array von Skill-Namen, die in den Agent-Kontext vorgeladen werden sollen |979| `skills` | Nein | Array von Fähigkeitsnamen, die in den Agenten-Kontext vorgeladen werden sollen |

979| `initialPrompt` | Nein | Wird automatisch als erster Benutzer-Turn eingereicht, wenn dieser Agent als Hauptthread-Agent ausgeführt wird |980| `initialPrompt` | Nein | Automatisch eingereicht als die erste Benutzer-Umdrehung, wenn dieser Agent als Hauptthread-Agent läuft |

980| `maxTurns` | Nein | Maximale Anzahl agentengesteuerter Turns (API-Roundtrips) vor dem Stoppen |981| `maxTurns` | Nein | Maximale Anzahl von agentengesteuerten Umdrehungen (API-Roundtrips), bevor gestoppt wird |

981| `background` | Nein | Führen Sie diesen Agent als nicht-blockierende Hintergrund-Aufgabe aus, wenn er aufgerufen wird |982| `background` | Nein | Führen Sie diesen Agenten als nicht-blockierende Hintergrund-Task aus, wenn aufgerufen |

982| `memory` | Nein | Speicherquelle für diesen Agent: `'user'`, `'project'` oder `'local'` |983| `omitClaudeMd` | Nein | Führen Sie diesen Agenten ohne die Benutzer-, Projekt- und lokalen CLAUDE.md-Dateien aus, wenn er als Subagent läuft; verwaltete Richtliniendateien werden immer noch geladen. Verwenden Sie es für Agenten, die alles, was sie brauchen, aus dem Agent-Tool-Prompt nehmen. Wird ignoriert, wenn dieser Agent als Hauptthread-Agent läuft. Erfordert TypeScript Agent SDK v0.3.271 oder später |

983| `effort` | Nein | Reasoning-Aufwandsstufe für diesen Agent. Akzeptiert eine benannte Stufe oder eine Ganzzahl |984| `memory` | Nein | Speicherquelle für diesen Agenten: `'user'`, `'project'` oder `'local'` |

984| `permissionMode` | Nein | Berechtigungsmodus für die Tool-Ausführung innerhalb dieses Agenten. Die [Subagenten-Vererbungsregeln](/docs/de/agent-sdk/permissions#available-modes) entscheiden, wann er angewendet wird. Siehe [`PermissionMode`](#permissionmode) |985| `effort` | Nein | Reasoning-Anstrengungsstufe für diesen Agenten. Akzeptiert eine benannte Stufe oder eine Ganzzahl |

985| `criticalSystemReminder_EXPERIMENTAL` | Nein | Experimentell: Kritische Erinnerung, die zur Systemeingabeaufforderung hinzugefügt wird |986| `permissionMode` | Nein | Berechtigungsmodus für die Tool-Ausführung innerhalb dieses Agenten. Die [Subagenten-Vererbungsregeln](/docs/de/agent-sdk/permissions#available-modes) entscheiden, wann er zutrifft. Siehe [`PermissionMode`](#permissionmode) |

987| `criticalSystemReminder_EXPERIMENTAL` | Nein | Experimentell: Kritische Erinnerung, die zum Systemprompt hinzugefügt wird |

986 988 

987<h3 id="agentmcpserverspec">989<h3 id="agentmcpserverspec">

988 `AgentMcpServerSpec`990 `AgentMcpServerSpec`


1000 `SettingSource`1002 `SettingSource`

1001</h3>1003</h3>

1002 1004 

1003Steuert, welche dateisystembasierte Konfigurationsquellen das SDK Einstellungen aus lädt.1005Steuert, welche dateisystem-basierte Konfigurationsquellen das SDK Einstellungen aus lädt.

1004 1006 

1005```typescript theme={null}1007```typescript theme={null}

1006type SettingSource = "user" | "project" | "local";1008type SettingSource = "user" | "project" | "local";

1007```1009```

1008 1010 

1009| Wert | Beschreibung | Ort |1011| Wert | Beschreibung | Ort |

1010| :---------- | :----------------------------------------------------------------------------------------- | :---------------------------- |1012| :---------- | :------------------------------------------------------------------------------------------- | :---------------------------- |

1011| `'user'` | Globale Benutzereinstellungen | `~/.claude/settings.json` |1013| `'user'` | Globale Benutzereinstellungen | `~/.claude/settings.json` |

1012| `'project'` | Gemeinsame Projekteinstellungen (versionskontrolliert) | `.claude/settings.json` |1014| `'project'` | Gemeinsame Projekteinstellungen (versionskontrolliert) | `.claude/settings.json` |

1013| `'local'` | Lokale Projekteinstellungen, gitignored, wenn Claude Code eine Einstellung darin speichert | `.claude/settings.local.json` |1015| `'local'` | Lokale Projekteinstellungen, gitignoriert, wenn Claude Code eine Einstellung darin speichert | `.claude/settings.local.json` |

1014 1016 

1015<h4 id="default-behavior">1017<h4 id="default-behavior">

1016 Standardverhalten1018 Standardverhalten


1027```typescript theme={null}1029```typescript theme={null}

1028import { query } from "@anthropic-ai/claude-agent-sdk";1030import { query } from "@anthropic-ai/claude-agent-sdk";

1029 1031 

1030// Laden Sie keine Benutzer-, Projekt- oder lokalen Einstellungen von der Festplatte1032// Do not load user, project, or local settings from disk

1031const result = query({1033const result = query({

1032 prompt: "Analyze this code",1034 prompt: "Analyze this code",

1033 options: { settingSources: [] }1035 options: { settingSources: [] }


1039```typescript theme={null}1041```typescript theme={null}

1040import { query } from "@anthropic-ai/claude-agent-sdk";1042import { query } from "@anthropic-ai/claude-agent-sdk";

1041 1043 

1042// Laden Sie nur Projekteinstellungen, ignorieren Sie Benutzer und lokal1044// Load only project settings, ignore user and local

1043const result = query({1045const result = query({

1044 prompt: "Run CI checks",1046 prompt: "Run CI checks",

1045 options: {1047 options: {

1046 settingSources: ["project"] // Nur .claude/settings.json1048 settingSources: ["project"] // Only .claude/settings.json

1047 }1049 }

1048});1050});

1049```1051```

1050 1052 

1051Um CLAUDE.md-Projektanweisungen zu laden, beziehen Sie `"project"` in `settingSources` ein. Siehe [Systemeingabeaufforderungen ändern](/docs/de/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions) für die Interaktion des CLAUDE.md-Ladens mit den Systemeingabeaufforderungsoptionen.1053Um CLAUDE.md-Projektanweisungen zu laden, beziehen Sie `"project"` in `settingSources` ein. Siehe [Systemprompts ändern](/docs/de/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions), um zu sehen, wie CLAUDE.md-Laden mit den Systemprompt-Optionen interagiert.

1052 1054 

1053<h4 id="settings-precedence">1055<h4 id="settings-precedence">

1054 Einstellungspriorität1056 Einstellungs-Rangfolge

1055</h4>1057</h4>

1056 1058 

1057Wenn mehrere Quellen geladen werden, werden Einstellungen mit dieser Priorität zusammengeführt (höchste zu niedrigste):1059Wenn mehrere Quellen geladen werden, werden Einstellungen mit dieser Rangfolge zusammengeführt (höchste zu niedrigste):

1058 1060 

10591. Lokale Einstellungen (`.claude/settings.local.json`)10611. Lokale Einstellungen (`.claude/settings.local.json`)

10602. Projekteinstellungen (`.claude/settings.json`)10622. Projekteinstellungen (`.claude/settings.json`)


1068 1070 

1069```typescript theme={null}1071```typescript theme={null}

1070type PermissionMode =1072type PermissionMode =

1071 | "default" // Standardberechtigungsverhalten1073 | "default" // Standard permission behavior

1072 | "acceptEdits" // Dateibearbeitungen automatisch akzeptieren1074 | "acceptEdits" // Auto-accept file edits

1073 | "bypassPermissions" // Alle Berechtigungsprüfungen umgehen; explizite Ask-Regeln werden immer noch aufgefordert1075 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt

1074 | "plan" // Planungsmodus - Erkunden ohne Bearbeitung1076 | "plan" // Planning mode - explore without editing

1075 | "dontAsk" // Fragen Sie nicht nach Berechtigungen, verweigern Sie, wenn nicht vorab genehmigt1077 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved

1076 | "auto"; // Modell-Klassifizierer genehmigt oder verweigert Berechtigungsaufforderungen1078 | "auto"; // Model classifier approves or denies permission prompts

1077```1079```

1078 1080 

1079<h3 id="canusetool">1081<h3 id="canusetool">

1080 `CanUseTool`1082 `CanUseTool`

1081</h3>1083</h3>

1082 1084 

1083Benutzerdefinierte Berechtigungsfunktionstyp zur Steuerung der Tool-Nutzung.1085Benutzerdefinierter Berechtigungsfunktionstyp zur Steuerung der Tool-Nutzung.

1084 1086 

1085Die Funktion ist der SDK-Ersatz für die interaktive Berechtigungsaufforderung: Sie wird nur aufgerufen, wenn der [Berechtigungsbewertungsfluss](/docs/de/agent-sdk/permissions#how-permissions-are-evaluated) zu einer Eingabeaufforderung führt. Tool-Aufrufe, die bereits von einem `allowedTools`-Eintrag, einer Settings-Allow-Regel oder dem Berechtigungsmodus wie `acceptEdits` oder `bypassPermissions` genehmigt wurden, rufen ihn nie auf. Um jeden Tool-Aufruf zu gaten, verwenden Sie stattdessen einen [`PreToolUse`-Hook](/docs/de/agent-sdk/hooks).1087Die Funktion ist der SDK-Ersatz für die interaktive Berechtigungsaufforderung: Sie wird nur aufgerufen, wenn der [Berechtigungsbewertungsfluss](/docs/de/agent-sdk/permissions#how-permissions-are-evaluated) zu einer Eingabeaufforderung führt. Tool-Aufrufe, die bereits von einem `allowedTools`-Eintrag, einer Einstellungs-Allow-Regel oder dem Berechtigungsmodus wie `acceptEdits` oder `bypassPermissions` genehmigt wurden, rufen sie niemals auf. Um jeden Tool-Aufruf zu gating, verwenden Sie stattdessen einen [`PreToolUse`-Hook](/docs/de/agent-sdk/hooks).

1086 1088 

1087Eine Allow-Regel genehmigt nicht vorab die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves); siehe [Wie Berechtigungen bewertet werden](/docs/de/agent-sdk/permissions#how-permissions-are-evaluated) für welche von ihnen die Callback erreichen und was in `dontAsk`- und `auto`-Modus passiert.1089Eine Allow-Regel genehmigt nicht vorab die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves); siehe [Wie Berechtigungen bewertet werden](/docs/de/agent-sdk/permissions#how-permissions-are-evaluated), um zu sehen, welche von ihnen den Callback erreichen und was in `dontAsk`- und `auto`-Modus passiert.

1088 1090 

1089```typescript theme={null}1091```typescript theme={null}

1090type CanUseTool = (1092type CanUseTool = (


1094 signal: AbortSignal;1096 signal: AbortSignal;

1095 suggestions?: PermissionUpdate[];1097 suggestions?: PermissionUpdate[];

1096 blockedPath?: string;1098 blockedPath?: string;

1099 mcpServer?: { name: string; source: string };

1097 decisionReason?: string;1100 decisionReason?: string;

1098 toolUseID: string;1101 toolUseID: string;

1099 agentID?: string;1102 agentID?: string;


1103```1106```

1104 1107 

1105| Option | Typ | Beschreibung |1108| Option | Typ | Beschreibung |

1106| :--------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1109| :--------------- | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1107| `signal` | `AbortSignal` | Signalisiert, wenn die Operation abgebrochen werden soll |1110| `signal` | `AbortSignal` | Signalisiert, wenn die Operation abgebrochen werden soll |

1108| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Vorgeschlagene Berechtigungsaktualisierungen, damit der Benutzer nicht erneut für dieses Tool aufgefordert wird. Bash-Eingabeaufforderungen enthalten einen Vorschlag mit dem `localSettings` [Ziel](#permissionupdatedestination), sodass die Rückgabe in `updatedPermissions` die Regel in `.claude/settings.local.json` schreibt und über Sitzungen hinweg persistiert. |1111| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Vorgeschlagene Berechtigungsaktualisierungen, damit der Benutzer nicht erneut für dieses Tool aufgefordert wird. Bash-Eingabeaufforderungen enthalten einen Vorschlag mit dem `localSettings`-[Ziel](#permissionupdatedestination), daher schreibt das Zurückgeben in `updatedPermissions` die Regel in `.claude/settings.local.json` und persistiert über Sitzungen hinweg. |

1109| `blockedPath` | `string` | Der Dateipfad, der die Berechtigungsanfrage ausgelöst hat, falls zutreffend |1112| `blockedPath` | `string` | Der Dateipfad, der die Berechtigungsanfrage ausgelöst hat, falls zutreffend |

1113| `mcpServer` | `{ name: string; source: string }` | Für ein `mcp__*`-Tool, der MCP-Server, der es bedient, und woher diese Server-Definition kam, mit den Feldern von [`McpServerProvenance`](#mcpserverprovenance). Abwesend für andere Tools. Erfordert Agent SDK v0.3.274 oder später |

1110| `decisionReason` | `string` | Erklärt, warum diese Berechtigungsanfrage ausgelöst wurde |1114| `decisionReason` | `string` | Erklärt, warum diese Berechtigungsanfrage ausgelöst wurde |

1111| `toolUseID` | `string` | Eindeutige ID für diesen spezifischen Tool-Aufruf innerhalb der Assistenten-Nachricht |1115| `toolUseID` | `string` | Eindeutige Kennung für diesen spezifischen Tool-Aufruf innerhalb der Assistent-Nachricht |

1112| `agentID` | `string` | Wenn innerhalb eines Sub-Agenten ausgeführt, die ID des Sub-Agenten |1116| `agentID` | `string` | Wenn innerhalb eines Sub-Agenten läuft, die ID des Sub-Agenten |

1113| `requestId` | `string` | Die `control_request`-Umschlag-`request_id`. Eine `control_response`, die Ihre Anwendung außerhalb des SDK sendet, z. B. ein signierter HTTP POST, muss diesen Wert widerspiegeln, damit der Claude Code-Prozess die Antwort mit der Anfrage abgleichen kann |1117| `requestId` | `string` | Die `request_id` des `control_request`-Umschlags. Eine `control_response`, die Ihre Anwendung außerhalb des SDK sendet, z. B. ein signierter HTTP POST, muss diesen Wert widerspiegeln, damit der Claude Code-Prozess die Antwort mit der Anfrage abgleichen kann |

1114 1118 

1115Der Callback löst die Anfrage normalerweise durch Rückgabe eines [`PermissionResult`](#permissionresult) auf, das das SDK über seinen Transport als `control_response` zurückschreibt. Geben Sie `null` nur zurück, wenn Ihre Anwendung die `control_response` für diese Anfrage bereits über ihren eigenen Kanal gesendet hat, wobei `requestId` widergespiegelt wird; das SDK überspringt dann das Schreiben der Antwort auf seinen Transport. Das Zurückgeben von `null` in jedem anderen Fall lässt den Tool-Aufruf unbegrenzt blockiert, da keine `control_response` jemals gesendet wird und Berechtigungsaufforderungen nicht zeitlich begrenzt sind.1119Der Callback löst die Anfrage normalerweise auf, indem er ein [`PermissionResult`](#permissionresult) zurückgibt, das das SDK über seinen Transport als `control_response` zurückschreibt. Geben Sie `null` nur zurück, wenn Ihre Anwendung die `control_response` für diese Anfrage bereits über ihren eigenen Kanal gesendet hat, wobei `requestId` widergespiegelt wird; das SDK überspringt dann das Schreiben der Antwort zu seinem Transport. Das Zurückgeben von `null` in jedem anderen Fall lässt den Tool-Aufruf unbegrenzt blockiert, da keine `control_response` jemals gesendet wird und Berechtigungsaufforderungen nicht zeitlich begrenzt sind.

1116 1120 

1117Die `requestId`-Option und der `null`-Rückgabewert erfordern Claude Code v2.1.199 oder später.1121Die `requestId`-Option und der `null`-Rückgabewert erfordern Claude Code v2.1.199 oder später.

1118 1122 


1153```1157```

1154 1158 

1155| Feld | Typ | Beschreibung |1159| Feld | Typ | Beschreibung |

1156| :------------------------------ | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1160| :------------------------------ | :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1157| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Aktiviert das `preview`-Feld auf [`AskUserQuestion`](/docs/de/agent-sdk/user-input#question-format)-Optionen und legt sein Inhaltsformat fest. Wenn nicht gesetzt, gibt Claude keine Vorschau aus |1161| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Aktiviert das `preview`-Feld auf [`AskUserQuestion`](/docs/de/agent-sdk/user-input#question-format)-Optionen und setzt sein Inhaltsformat. Wenn nicht gesetzt, gibt Claude keine Vorschau aus |

1158 1162 

1159<h3 id="mcpserverconfig">1163<h3 id="mcpserverconfig">

1160 `McpServerConfig`1164 `McpServerConfig`


1247```1251```

1248 1252 

1249| Feld | Typ | Beschreibung |1253| Feld | Typ | Beschreibung |

1250| :----------------- | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1254| :----------------- | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1251| `type` | `'local'` | Muss `'local'` sein (derzeit nur lokale Plugins unterstützt) |1255| `type` | `'local'` | Muss `'local'` sein (derzeit werden nur lokale Plugins unterstützt) |

1252| `path` | `string` | Absoluter oder relativer Pfad zum Plugin-Verzeichnis |1256| `path` | `string` | Absoluter oder relativer Pfad zum Plugin-Verzeichnis |

1253| `skipMcpDiscovery` | `boolean` | Wenn `true`, lädt das SDK Skills, Hooks, Agents und Befehle aus diesem Plugin, liest aber nicht seine `.mcp.json` oder Manifest `mcpServers`. Setzen Sie dies, wenn Ihre Anwendung die MCP-Verbindungen des Plugins besitzt. |1257| `skipMcpDiscovery` | `boolean` | Wenn `true`, lädt das SDK Fähigkeiten, Hooks, Agenten und Befehle aus diesem Plugin, liest aber nicht seine `.mcp.json` oder Manifest `mcpServers`. Setzen Sie dies, wenn Ihre Anwendung die MCP-Verbindungen des Plugins besitzt. |

1254 1258 

1255**Beispiel:**1259**Beispiel:**

1256 1260 


1261];1265];

1262```1266```

1263 1267 

1264Vollständige Informationen zum Erstellen und Verwenden von Plugins finden Sie unter [Plugins](/docs/de/agent-sdk/plugins).1268Für vollständige Informationen zum Erstellen und Verwenden von Plugins siehe [Plugins](/docs/de/agent-sdk/plugins).

1265 1269 

1266<h2 id="message-types">1270<h2 id="message-types">

1267 Nachrichtentypen1271 Nachrichtentypen


1463 permission_denials: SDKPermissionDenial[];1467 permission_denials: SDKPermissionDenial[];

1464 queued_turn_count?: number;1468 queued_turn_count?: number;

1465 errors: string[];1469 errors: string[];

1470 startup_failure_reason?: SDKStartupFailureReason;

1466 user_message_uuid?: string;1471 user_message_uuid?: string;

1467 user_message_uuids?: string[];1472 user_message_uuids?: string[];

1468 terminal_reason?: TerminalReason;1473 terminal_reason?: TerminalReason;


1486* `modelUsage`: Pro-Modell-Summen für jeden Modell-Aufruf, der während dieses `query()`-Aufrufs durch die Abfrage-Pipeline gemacht wurde, einschließlich der Hauptschleife, Subagenten und interner Aufrufe wie Komprimierung und Workflow-Agenten. Hilfaufrufe außerhalb dieser Pipeline, wie der Berechtigungsklassifizierer und Token-Zählungsanfragen, sind ausgeschlossen. In Streaming-Input-Sitzungen sind die Summen kumulativ über Turns, daher lesen Sie das neueste Ergebnis, anstatt über Ergebnisse zu summieren. Siehe [Kosten im Streaming-Input-Modus verfolgen](/docs/de/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) für Zurückstellungen und [Summen nach einem Sitzungsabsturz wiederherstellen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) für zurückgesetzte Ergebnisse.1491* `modelUsage`: Pro-Modell-Summen für jeden Modell-Aufruf, der während dieses `query()`-Aufrufs durch die Abfrage-Pipeline gemacht wurde, einschließlich der Hauptschleife, Subagenten und interner Aufrufe wie Komprimierung und Workflow-Agenten. Hilfaufrufe außerhalb dieser Pipeline, wie der Berechtigungsklassifizierer und Token-Zählungsanfragen, sind ausgeschlossen. In Streaming-Input-Sitzungen sind die Summen kumulativ über Turns, daher lesen Sie das neueste Ergebnis, anstatt über Ergebnisse zu summieren. Siehe [Kosten im Streaming-Input-Modus verfolgen](/docs/de/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) für Zurückstellungen und [Summen nach einem Sitzungsabsturz wiederherstellen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) für zurückgesetzte Ergebnisse.

1487* `total_cost_usd`: Kumulativer geschätzter Kosten in USD für diesen `query()`-Aufruf, abdeckend die gleichen Aufrufe wie `modelUsage` und Zurückstellung an den gleichen Punkten. Es ist eine Schätzung, keine Abrechnungsaussage. Siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) für Genauigkeitsvorbehalt.1492* `total_cost_usd`: Kumulativer geschätzter Kosten in USD für diesen `query()`-Aufruf, abdeckend die gleichen Aufrufe wie `modelUsage` und Zurückstellung an den gleichen Punkten. Es ist eine Schätzung, keine Abrechnungsaussage. Siehe [Kosten und Nutzung verfolgen](/docs/de/agent-sdk/cost-tracking) für Genauigkeitsvorbehalt.

1488* `queued_turn_count`: Die Anzahl der Nachrichten, die Sie mit `origin: { kind: "human" }` gesendet haben und die noch warten, wenn Claude Code das Ergebnis erzeugt hat. Siehe [`queued_turn_count`](#queued_turn_count) für was `0` und ein fehlendes Feld Ihnen sagen.1493* `queued_turn_count`: Die Anzahl der Nachrichten, die Sie mit `origin: { kind: "human" }` gesendet haben und die noch warten, wenn Claude Code das Ergebnis erzeugt hat. Siehe [`queued_turn_count`](#queued_turn_count) für was `0` und ein fehlendes Feld Ihnen sagen.

1494*

1495 

1496`startup_failure_reason`: Warum Claude Code sich weigerte zu starten, auf dem `error_during_execution`-Ergebnis, das es vor dem Beenden bei einem bekannten Startfehler schreibt. Siehe [`startup_failure_reason`](#startup_failure_reason) für die Werte und welche Fehler es tragen. Erfordert Agent SDK v0.3.274 oder später.

1497 

1489* `terminal_reason`: Warum die Schleife endete. Einer von `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"` oder `"turn_setup_failed"`.1498* `terminal_reason`: Warum die Schleife endete. Einer von `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"` oder `"turn_setup_failed"`.

1490* `fast_mode_state`: Einer von `"on"`, `"off"` oder `"cooldown"`.1499* `fast_mode_state`: Einer von `"on"`, `"off"` oder `"cooldown"`.

1491* `fast_mode_disabled_reason`: Warum [Fast Mode](/docs/de/fast-mode) gerade nicht verfügbar ist. Fehlt, wenn nichts Fast Mode blockiert, obwohl eine Anfrage möglicherweise immer noch mit Standardgeschwindigkeit ausgeführt wird. Während der Abkühlung nach einem Fast Mode Rate Limit meldet Claude Code `fast_mode_state: "cooldown"` ohne Grund-Code und reaktiviert Fast Mode, wenn die Abkühlung abläuft. Erfordert Claude Code v2.1.219 oder später.1500* `fast_mode_disabled_reason`: Warum [Fast Mode](/docs/de/fast-mode) gerade nicht verfügbar ist. Fehlt, wenn nichts Fast Mode blockiert, obwohl eine Anfrage möglicherweise immer noch mit Standardgeschwindigkeit ausgeführt wird. Während der Abkühlung nach einem Fast Mode Rate Limit meldet Claude Code `fast_mode_state: "cooldown"` ohne Grund-Code und reaktiviert Fast Mode, wenn die Abkühlung abläuft. Erfordert Claude Code v2.1.219 oder später.


1522Welche Ihrer Nachrichten ein Turn beantwortet, hängt davon ab, wie der Turn gestartet wurde:1531Welche Ihrer Nachrichten ein Turn beantwortet, hängt davon ab, wie der Turn gestartet wurde:

1523 1532 

1524* **Eine reguläre Nachricht, die Sie gesendet haben**, d. h. eine ohne `isSynthetic: true`: Der Turn beantwortet diese Nachricht für seinen gesamten Lauf. Wenn Sie mehrere Nachrichten dicht beieinander senden, kann Claude Code sie in einen Turn zusammenführen, und das Feld trägt dann nur die `uuid` der letzten Nachricht. Um die Antwort mit einer der zusammengeführten Nachrichten abzugleichen, verwenden Sie [`user_message_uuids`](#user_message_uuids).1533* **Eine reguläre Nachricht, die Sie gesendet haben**, d. h. eine ohne `isSynthetic: true`: Der Turn beantwortet diese Nachricht für seinen gesamten Lauf. Wenn Sie mehrere Nachrichten dicht beieinander senden, kann Claude Code sie in einen Turn zusammenführen, und das Feld trägt dann nur die `uuid` der letzten Nachricht. Um die Antwort mit einer der zusammengeführten Nachrichten abzugleichen, verwenden Sie [`user_message_uuids`](#user_message_uuids).

1525*1534* **Eine Nachricht, die Sie mit `isSynthetic: true` gesendet haben**: Der Turn beantwortet diese Nachricht zunächst. Wenn Claude Code eine reguläre Nachricht von Ihnen zwischen Tool-Aufrufen aufgreift, beantwortet der Turn die aufgegriffene Nachricht von da an. Das Wiederholen einer synthetischen Nachricht `uuid` erfordert Agent SDK v0.3.265 oder später; frühere Versionen wiederholen nichts bei synthetischen Turns.

1526 1535* **Eine Eingabeaufforderung, die Claude Code selbst generiert hat**, wie der Turn, der unterbrochene Arbeit nach einem Sitzungsneustart fortsetzt: Der Turn beantwortet zunächst keine Nachricht von Ihnen und seine Frames tragen keine Wiederholung. Wenn Claude Code eine reguläre Nachricht von Ihnen zwischen Tool-Aufrufen aufgreift, beantwortet der Turn diese Nachricht von da an. Die Aufgreif-Wiederholung erfordert Agent SDK v0.3.265 oder später; frühere Versionen wiederholen nichts bei diesen Turns.

1527**Eine Nachricht, die Sie mit `isSynthetic: true` gesendet haben**: Der Turn beantwortet diese Nachricht zunächst. Wenn Claude Code eine reguläre Nachricht von Ihnen zwischen Tool-Aufrufen aufgreift, beantwortet der Turn die aufgegriffene Nachricht von da an. Das Wiederholen einer synthetischen Nachricht `uuid` erfordert Agent SDK v0.3.265 oder später; frühere Versionen wiederholen nichts bei synthetischen Turns.

1528 

1529*

1530 

1531**Eine Eingabeaufforderung, die Claude Code selbst generiert hat**, wie der Turn, der unterbrochene Arbeit nach einem Sitzungsneustart fortsetzt: Der Turn beantwortet zunächst keine Nachricht von Ihnen und seine Frames tragen keine Wiederholung. Wenn Claude Code eine reguläre Nachricht von Ihnen zwischen Tool-Aufrufen aufgreift, beantwortet der Turn diese Nachricht von da an. Die Aufgreif-Wiederholung erfordert Agent SDK v0.3.265 oder später; frühere Versionen wiederholen nichts bei diesen Turns.

1532 1536 

1533Claude Code wiederholt die `uuid` der beantworteten Nachricht auf drei Arten von Frames:1537Claude Code wiederholt die `uuid` der beantworteten Nachricht auf drei Arten von Frames:

1534 1538 

1535* **Das Ergebnis**: Jedes Ergebnis eines Turns, der eine Nachricht beantwortet, die Sie gesendet haben. Jedes solche Ergebnis trägt es auf Agent SDK v0.3.265 oder später. Vor v0.3.265 fehlte das Success-Ergebnis eines Turns, den eine reguläre Nachricht gestartet hat, wenn der Turn keine API-Anfrage versendet hat oder mit einem aufgeschobenen Tool-Aufruf endete. Vor v0.3.246 fehlte es auch auf Fehler-Ergebnissen, und vor v0.3.216 auf jedem Ergebnis.1539* **Das Ergebnis**: Jedes Ergebnis eines Turns, der eine Nachricht beantwortet, die Sie gesendet haben. Jedes solche Ergebnis trägt es auf Agent SDK v0.3.265 oder später. Vor v0.3.265 fehlte das Success-Ergebnis eines Turns, den eine reguläre Nachricht gestartet hat, wenn der Turn keine API-Anfrage versendet hat oder mit einem aufgeschobenen Tool-Aufruf endete. Vor v0.3.246 fehlte es auch auf Fehler-Ergebnissen, und vor v0.3.216 auf jedem Ergebnis.

1536*1540* **Die erste Antwort des Turns**: die erste [Assistenten-Nachricht](#sdkassistantmessage), oder mit `includePartialMessages` das erste [Stream-Ereignis](#sdkpartialassistantmessage), dessen `event.type` nicht `ping` ist, damit Sie die Antwort binden können, bevor das Ergebnis ankommt. Wenn ein Turn nichts streamt, setzt Claude Code es auf die erste Assistenten-Nachricht statt. Die erste-Antwort-Wiederholung erfordert Agent SDK v0.3.246 oder später. Wenn sich die Nachricht, die der Turn beantwortet, mitten im Turn ändert, trägt die erste Antwort nach der Änderung das Feld auch auf Agent SDK v0.3.265 oder später; frühere Versionen setzen es auf einen Antwort-Frame pro Turn.

1537 

1538**Die erste Antwort des Turns**: die erste [Assistenten-Nachricht](#sdkassistantmessage), oder mit `includePartialMessages` das erste [Stream-Ereignis](#sdkpartialassistantmessage), dessen `event.type` nicht `ping` ist, damit Sie die Antwort binden können, bevor das Ergebnis ankommt. Wenn ein Turn nichts streamt, setzt Claude Code es auf die erste Assistenten-Nachricht statt. Die erste-Antwort-Wiederholung erfordert Agent SDK v0.3.246 oder später. Wenn sich die Nachricht, die der Turn beantwortet, mitten im Turn ändert, trägt die erste Antwort nach der Änderung das Feld auch auf Agent SDK v0.3.265 oder später; frühere Versionen setzen es auf einen Antwort-Frame pro Turn.

1539 

1540* **Jeder [`thinking_tokens`](#sdkthinkingtokensmessage)-Frame des Turns**: damit Sie den Thinking-Fortschritt der Nachricht zuordnen können, die Sie gesendet haben, ohne auf die erste Antwort des Turns zu warten. Erfordert Agent SDK v0.3.260 oder später.1541* **Jeder [`thinking_tokens`](#sdkthinkingtokensmessage)-Frame des Turns**: damit Sie den Thinking-Fortschritt der Nachricht zuordnen können, die Sie gesendet haben, ohne auf die erste Antwort des Turns zu warten. Erfordert Agent SDK v0.3.260 oder später.

1541 1542 

1542Claude Code lässt das Feld in diesen Fällen weg:1543Claude Code lässt das Feld in diesen Fällen weg:


1569* **`0`**: Claude Code zählt keine Nachrichten, die Sie ohne diese `origin` gesendet haben, und zählt keine Task-Benachrichtigungen, daher kann ein Turn immer noch folgen.1570* **`0`**: Claude Code zählt keine Nachrichten, die Sie ohne diese `origin` gesendet haben, und zählt keine Task-Benachrichtigungen, daher kann ein Turn immer noch folgen.

1570* **Fehlt**: Das endgültige Ergebnis, das Claude Code nach einem Absturz oder fatalen Startfehler ausgibt, lässt das Feld weg, und [kann zurückgesetzte Summen tragen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).1571* **Fehlt**: Das endgültige Ergebnis, das Claude Code nach einem Absturz oder fatalen Startfehler ausgibt, lässt das Feld weg, und [kann zurückgesetzte Summen tragen](/docs/de/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).

1571 1572 

1573<h4 id="startup_failure_reason">

1574 `startup_failure_reason`

1575</h4>

1576 

1577Warum Claude Code sich weigerte zu starten, damit Ihre Anwendung die Behebung anbieten kann, anstatt einen Wiederholungsversuch. Claude Code setzt es auf das `error_during_execution`-Ergebnis, das es vor dem Beenden bei einem bekannten Startfehler schreibt. Dieses Ergebnis trägt zurückgesetzte Summen, und sein `errors`-Array trägt den gleichen Text wie stderr. Das Feld fehlt auf jedem anderen Ergebnis. Erfordert Agent SDK v0.3.274 oder später.

1578 

1579Setzen Sie `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` auf `1` in [`env`](#options), um dieses Ergebnis für jeden `SDKStartupFailureReason`-Wert zu erhalten. Ohne diese Variable schreibt Claude Code das Ergebnis nur für diese Fehler, und der Rest endet mit stderr-Ausgabe, einem Nicht-Null-Exit und keiner Ergebnis-Nachricht:

1580 

1581* Ein Resume, das Claude Code stoppt, weil es [die Sitzung nicht zu ihrem Worktree zurückbringen kann](/docs/de/worktrees#the-session-resumes-outside-its-worktree), mit `worktree_unverified` oder `worktree_resume_refused`. Dieser Abschnitt sagt, welcher Fehler welchen Wert trägt.

1582* Ein abgelehntes [`continue`](#options) einer Konversation, die eine Hintergrund-Sitzung hält, mit `session_held_by_background`. Für ein abgelehntes [`resume`](#options) einer solchen Konversation schreibt Claude Code das Ergebnis nur, wenn die Variable gesetzt ist.

1583 

1584```typescript theme={null}

1585type SDKStartupFailureReason =

1586 | "org_pin_api_key_conflict"

1587 | "org_verify_failed"

1588 | "org_pin_mismatch"

1589 | "managed_settings_invalid"

1590 | "remote_settings_required_unavailable"

1591 | "gateway_signin_required"

1592 | "gateway_access_denied"

1593 | "proxy_invalid"

1594 | "temp_dir_unusable"

1595 | "cwd_unavailable"

1596 | "shell_tool_missing"

1597 | "session_held_by_background"

1598 | "worktree_resume_refused"

1599 | "worktree_unverified"

1600 | "cli_version_too_old"

1601 | "bypass_root";

1602```

1603 

1604Jeder Wert benennt eine Ablehnung:

1605 

1606| Wert | Was die Sitzung stoppte |

1607| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1608| `org_pin_api_key_conflict` | Verwaltete Einstellungen [erfordern eine First-Party- oder Cloud-Gateway-Anmeldung](/docs/de/authentication#restrict-login-to-your-organization), und ein Anthropic API-Schlüssel, Auth-Token oder `apiKeyHelper` ist stattdessen konfiguriert |

1609| `org_verify_failed` | Die Anmeldungs-Organisation konnte nicht gegen die PIN verifiziert werden, z. B. wegen eines Netzwerkfehlers oder eines widerrufenen Tokens |

1610| `org_pin_mismatch` | Die Anmeldung gehört zu einer Organisation, die die PIN nicht erlaubt |

1611| `managed_settings_invalid` | Verwaltete Richtlinien-Einstellungen konnten nicht gelesen werden, oder die PIN benennt keine Organisation |

1612| `remote_settings_required_unavailable` | Verwaltete Einstellungen, die die Organisation erfordert, konnten nicht geladen werden |

1613| `gateway_signin_required` | Das [Cloud-Gateway](/docs/de/claude-apps-gateway) beendete diese Anmeldung |

1614| `gateway_access_denied` | Die verwaltete Einstellungs-Anfrage an das Cloud-Gateway kam mit einem 403 zurück, das die [Fehlerbehebungs-Tabelle](/docs/de/claude-apps-gateway-deploy#troubleshooting) des Gateways abdeckt |

1615| `proxy_invalid` | Eine Proxy-Einstellung ist keine vollständige URL |

1616| `temp_dir_unusable` | Das benutzerspezifische temporäre Verzeichnis ist unsicher oder konnte nicht erstellt werden |

1617| `cwd_unavailable` | Das Arbeitsverzeichnis wurde gelöscht, verschoben oder kann nicht gelesen werden |

1618| `shell_tool_missing` | Unter Windows ist kein Shell-Tool verfügbar: Git Bash fehlt, und PowerShell fehlt oder ist mit `CLAUDE_CODE_USE_POWERSHELL_TOOL` ausgeschaltet |

1619| `session_held_by_background` | Die Konversation zum Fortsetzen oder Fortfahren läuft als [Hintergrund-Sitzung](/docs/de/agent-view) |

1620| `worktree_resume_refused` | Der Worktree der Sitzung ist bei seinen Sicherheitsprüfungen fehlgeschlagen, oder das Resume wurde von innen gestartet. `errors` sagt, ob das erneute Ausführen desselben Resumes ohne den Worktree fortgesetzt wird |

1621| `worktree_unverified` | Der Worktree der Sitzung konnte gerade nicht verifiziert werden, und ein Wiederholungsversuch kann erfolgreich sein |

1622| `cli_version_too_old` | Diese Claude Code-Version liegt unter dem Minimum, das Anthropic erfordert |

1623| `bypass_root` | Bypass-Berechtigungsmodus wurde angefordert, während als Root ausgeführt wird |

1624 

1572<h3 id="sdksystemmessage">1625<h3 id="sdksystemmessage">

1573 `SDKSystemMessage`1626 `SDKSystemMessage`

1574</h3>1627</h3>


1590 mcp_servers: {1643 mcp_servers: {

1591 name: string;1644 name: string;

1592 status: string;1645 status: string;

1646 source?: string;

1593 }[];1647 }[];

1594 model: string;1648 model: string;

1595 permissionMode: PermissionMode;1649 permissionMode: PermissionMode;


1611 1665 

1612*1666*

1613 1667 

1668`source` auf jedem `mcp_servers`-Eintrag: Woher die Definition des Servers kam, mit den gleichen Werten wie [`McpServerStatus`](#mcpserverstatus)s `source`. Erfordert Agent SDK v0.3.274 oder später.

1669 

1670*

1671 

1614`effort`: Die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die Claude Code bei der nächsten Anfrage der Sitzung sendet, oder `null`, wenn es keine sendet. Claude Code setzt das Feld nur auf die Init-Nachricht, die es an [Remote Control](/docs/de/remote-control)-Clients sendet, und lässt es aus der Init-Nachricht weg, die Ihre Anwendung liest. Erfordert Agent SDK v0.3.234 oder später.1672`effort`: Die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level), die Claude Code bei der nächsten Anfrage der Sitzung sendet, oder `null`, wenn es keine sendet. Claude Code setzt das Feld nur auf die Init-Nachricht, die es an [Remote Control](/docs/de/remote-control)-Clients sendet, und lässt es aus der Init-Nachricht weg, die Ihre Anwendung liest. Erfordert Agent SDK v0.3.234 oder später.

1615 1673 

1616Das `capabilities`-Array benennt die Protokoll-Verhaltensweisen, die diese CLI implementiert, damit Sie Feature-Erkennung durchführen können, anstatt `claude_code_version`-Zeichenketten zu vergleichen. Es ist ein offenes Set: Ignorieren Sie Werte, die Sie nicht erkennen, und überprüfen Sie auf die spezifische Fähigkeit, deren Verhalten Sie benötigen. Das Feld erfordert Claude Code v2.1.205 oder später und fehlt auf früheren CLIs.1674Das `capabilities`-Array benennt die Protokoll-Verhaltensweisen, die diese CLI implementiert, damit Sie Feature-Erkennung durchführen können, anstatt `claude_code_version`-Zeichenketten zu vergleichen. Es ist ein offenes Set: Ignorieren Sie Werte, die Sie nicht erkennen, und überprüfen Sie auf die spezifische Fähigkeit, deren Verhalten Sie benötigen. Das Feld erfordert Claude Code v2.1.205 oder später und fehlt auf früheren CLIs.


1720Stream-Ereignis, das ausgegeben wird, wenn das Berechtigungssystem einen Tool-Aufruf ablehnt, ohne eine interaktive Eingabeaufforderung anzuzeigen. Verwenden Sie es, um die Ablehnung in Ihrer Benutzeroberfläche zu rendern, während sie geschieht, anstatt nur das `is_error`-Tool-Ergebnis zu beobachten, das folgt. Welche Ablehnungen es meldet, hängt davon ab, wie der Lauf Berechtigungsaufforderungen handhabt:1778Stream-Ereignis, das ausgegeben wird, wenn das Berechtigungssystem einen Tool-Aufruf ablehnt, ohne eine interaktive Eingabeaufforderung anzuzeigen. Verwenden Sie es, um die Ablehnung in Ihrer Benutzeroberfläche zu rendern, während sie geschieht, anstatt nur das `is_error`-Tool-Ergebnis zu beobachten, das folgt. Welche Ablehnungen es meldet, hängt davon ab, wie der Lauf Berechtigungsaufforderungen handhabt:

1721 1779 

1722* **Mit einem [`canUseTool`](#canusetool)-Callback** und dem Standard [`permissionPrompts: 'host'`](#options): Berechtigungsaufforderungen gehen an Ihren Callback, und dieses Ereignis meldet die Ablehnungen, die Claude Code auf eigene Faust entscheidet, ohne es aufzurufen.1780* **Mit einem [`canUseTool`](#canusetool)-Callback** und dem Standard [`permissionPrompts: 'host'`](#options): Berechtigungsaufforderungen gehen an Ihren Callback, und dieses Ereignis meldet die Ablehnungen, die Claude Code auf eigene Faust entscheidet, ohne es aufzurufen.

1723*1781* **Mit keinem**: ein bloßer `-p`-Lauf, oder `query()`, das weder `canUseTool` noch `permissionPromptToolName` setzt, lehnt jeden Tool-Aufruf ab, der aufgefordert hätte, und dieses Ereignis meldet diese Ablehnungen sowie die, die Claude Code auf eigene Faust entscheidet. Vor v2.1.223 gab Claude Code dieses Ereignis nicht in Läufen ohne Callback aus.

1724 

1725**Mit keinem**: ein bloßer `-p`-Lauf, oder `query()`, das weder `canUseTool` noch `permissionPromptToolName` setzt, lehnt jeden Tool-Aufruf ab, der aufgefordert hätte, und dieses Ereignis meldet diese Ablehnungen sowie die, die Claude Code auf eigene Faust entscheidet. Vor v2.1.223 gab Claude Code dieses Ereignis nicht in Läufen ohne Callback aus.

1726 

1727* **Mit einem MCP-Aufforderungs-Tool**, gesetzt mit `permissionPromptToolName` oder dem [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags)-Flag, und dem Standard `permissionPrompts: 'host'`: Claude Code gibt dieses Ereignis überhaupt nicht aus, nicht einmal für die Regel-Ablehnungen, die es auf eigene Faust entscheidet.1782* **Mit einem MCP-Aufforderungs-Tool**, gesetzt mit `permissionPromptToolName` oder dem [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags)-Flag, und dem Standard `permissionPrompts: 'host'`: Claude Code gibt dieses Ereignis überhaupt nicht aus, nicht einmal für die Regel-Ablehnungen, die es auf eigene Faust entscheidet.

1728*1783* **Mit [`permissionPrompts: 'none'`](#options)**: Claude Code lehnt die Aufrufe ab, die aufgefordert hätten, auch wenn `canUseTool` oder ein MCP-Aufforderungs-Tool auch gesetzt ist, und dieses Ereignis meldet diese Ablehnungen sowie die, die Claude Code auf eigene Faust entscheidet. Erfordert Claude Code v2.1.259 oder später.

1729 

1730**Mit [`permissionPrompts: 'none'`](#options)**: Claude Code lehnt die Aufrufe ab, die aufgefordert hätten, auch wenn `canUseTool` oder ein MCP-Aufforderungs-Tool auch gesetzt ist, und dieses Ereignis meldet diese Ablehnungen sowie die, die Claude Code auf eigene Faust entscheidet. Erfordert Claude Code v2.1.259 oder später.

1731 1784 

1732In jeder Konfiguration überspringt dieses Ereignis jede Ablehnung, die auf dem `PreToolUse`-Hook-Pfad entschieden wurde, ob der Hook den Aufruf selbst ablehnte oder eine Deny-Regel die Allow- oder Ask-Entscheidung des Hooks überschrieb. Das Ereignis ist auch Best-Effort: Gelegentlich zeichnet Claude Code eine Ablehnung auf, ohne dieses Ereignis auszugeben, daher ist `permission_denials` auf der [Ergebnis-Nachricht](#sdkresultmessage) der maßgebliche Datensatz.1785In jeder Konfiguration überspringt dieses Ereignis jede Ablehnung, die auf dem `PreToolUse`-Hook-Pfad entschieden wurde, ob der Hook den Aufruf selbst ablehnte oder eine Deny-Regel die Allow- oder Ask-Entscheidung des Hooks überschrieb. Das Ereignis ist auch Best-Effort: Gelegentlich zeichnet Claude Code eine Ablehnung auf, ohne dieses Ereignis auszugeben, daher ist `permission_denials` auf der [Ergebnis-Nachricht](#sdkresultmessage) der maßgebliche Datensatz.

1733 1786 


2092 tool_name: string;2145 tool_name: string;

2093 tool_input: unknown;2146 tool_input: unknown;

2094 tool_use_id: string;2147 tool_use_id: string;

2148 mcp_server?: McpServerProvenance;

2095};2149};

2096```2150```

2097 2151 

2152`mcp_server` ist vorhanden, wenn das Tool von einem MCP-Server stammt; siehe [`McpServerProvenance`](#mcpserverprovenance). Die Eingaben `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` und `PermissionDenied` enthalten das gleiche Feld. Das Feld erfordert Agent SDK v0.3.274 oder später.

2153 

2098<h4 id="posttoolusehookinput">2154<h4 id="posttoolusehookinput">

2099 `PostToolUseHookInput`2155 `PostToolUseHookInput`

2100</h4>2156</h4>


2107 tool_response: unknown;2163 tool_response: unknown;

2108 tool_use_id: string;2164 tool_use_id: string;

2109 duration_ms?: number;2165 duration_ms?: number;

2166 mcp_server?: McpServerProvenance;

2110};2167};

2111```2168```

2112 2169 


2123 error: string;2180 error: string;

2124 is_interrupt?: boolean;2181 is_interrupt?: boolean;

2125 duration_ms?: number;2182 duration_ms?: number;

2183 mcp_server?: McpServerProvenance;

2126};2184};

2127```2185```

2128 2186 


2157 tool_input: unknown;2215 tool_input: unknown;

2158 tool_use_id: string;2216 tool_use_id: string;

2159 reason: string;2217 reason: string;

2218 mcp_server?: McpServerProvenance;

2160};2219};

2161```2220```

2162 2221 


2376 tool_name: string;2435 tool_name: string;

2377 tool_input: unknown;2436 tool_input: unknown;

2378 permission_suggestions?: PermissionUpdate[];2437 permission_suggestions?: PermissionUpdate[];

2438 mcp_server?: McpServerProvenance;

2379};2439};

2380```2440```

2381 2441 


2886 2946 

2887```typescript theme={null}2947```typescript theme={null}

2888type MonitorInput = {2948type MonitorInput = {

2949 description: string;

2950 timeout_ms: number;

2889 command?: string;2951 command?: string;

2890 ws?: {2952 ws?: {

2891 url: string;2953 url: string;

2892 protocols?: string[];2954 protocols?: string[];

2893 };2955 };

2894 description: string;

2895 timeout_ms: number;

2896 persistent: boolean;

2897};2956};

2898```2957```

2899 2958 

2900Führt eine Hintergrundquelle aus und liefert jedes Ereignis an Claude, damit es reagieren kann, ohne zu pollen: `command` führt ein Skript aus und gibt ein Ereignis pro Stdout-Zeile aus, und `ws` öffnet einen WebSocket und gibt ein Ereignis pro Textframe aus. Geben Sie genau eines von `command` oder `ws` an. Die `ws`-Quelle erfordert Claude Code v2.1.195 oder später.2959Führt eine Hintergrundquelle aus und liefert jedes Ereignis an Claude, damit es reagieren kann, ohne zu pollen: `command` führt ein Skript aus und gibt ein Ereignis pro Stdout-Zeile aus, und `ws` öffnet einen WebSocket und gibt ein Ereignis pro Textframe aus. Geben Sie genau eines von `command` oder `ws` an. Die `ws`-Quelle erfordert Claude Code v2.1.195 oder später.

2901 2960 

2902Setzen Sie `persistent: true` für Sitzungslängen-Watches wie Log-Tails. Wenn Monitor einen Befehl ausführt, folgt es den gleichen Berechtigungsregeln wie Bash; ein WebSocket-Watch fordert separat zur Genehmigung auf. Siehe die [Monitor-Tool-Referenz](/docs/de/tools-reference#monitor-tool) für Verhalten und Anbieter-Verfügbarkeit. Der exportierte Typ markiert `timeout_ms` und `persistent` als erforderlich, da das Schema ihre Standardwerte ausfüllt, 300000 und `false`; ein Aufruf, der sie auslässt, validiert.2961`timeout_ms` ist die Frist der Überwachung in Millisekunden. Sie ist standardmäßig 300000, und die effektive Frist beträgt höchstens 1800000, was 30 Minuten entspricht. Bei Erreichen der Frist endet die Überwachung und Claude erhält eine Benachrichtigung, damit es eine neue Überwachung starten kann, falls es noch eine benötigt.

2962 

2963Der exportierte Typ markiert `timeout_ms` als erforderlich, da das Schema den Standard ausfüllt; ein Aufruf, der es auslässt, validiert.

2964 

2965Wenn Monitor einen Befehl ausführt, folgt es den gleichen Berechtigungsregeln wie Bash; ein WebSocket-Watch fordert separat zur Genehmigung auf. Siehe die [Monitor-Tool-Referenz](/docs/de/tools-reference#monitor-tool) für Verhalten und Anbieter-Verfügbarkeit.

2903 2966 

2904<h3 id="taskoutput">2967<h3 id="taskoutput">

2905 TaskOutput2968 TaskOutput


3708 };3771 };

3709```3772```

3710 3773 

3711Gibt das Ergebnis vom Subagenten zurück. Diskriminiert nach dem `status`-Feld: `"completed"` für abgeschlossene Aufgaben, `"async_launched"` für Hintergrund-Aufgaben und `"remote_launched"` für Aufgaben, die Claude Code an eine Remote-Cloud-Sitzung versendet hat, wobei `sessionUrl` auf diese Sitzung verweist und `taskId` sie identifiziert.3774Gibt das Ergebnis vom Subagenten zurück. Diskriminiert nach dem `status`-Feld: `"completed"` für abgeschlossene Aufgaben, `"async_launched"` für Hintergrund-Aufgaben und `"remote_launched"` für Aufgaben, die Claude Code an eine Cloud-Sitzung versendet hat, wobei `sessionUrl` auf diese Sitzung verweist und `taskId` sie identifiziert.

3712 3775 

3713Bei der `completed`-Variante benennt `resolvedModel` das Modell, auf dem der Subagent gestartet wurde, das sich vom angeforderten `model`-Input unterscheiden kann, wenn [`availableModels`](/docs/de/model-config#restrict-model-selection) oder eine andere Überschreibung gilt. Dieses Feld erfordert Claude Code v2.1.174 oder später. Bei `async_launched` benennt es das Modell, das verwendet wird, wenn die Aufgabe in den Hintergrund wechselt.3776Bei der `completed`-Variante benennt `resolvedModel` das Modell, auf dem der Subagent gestartet wurde, das sich vom angeforderten `model`-Input unterscheiden kann, wenn [`availableModels`](/docs/de/model-config#restrict-model-selection) oder eine andere Überschreibung gilt. Dieses Feld erfordert Claude Code v2.1.174 oder später. Bei `async_launched` benennt es das Modell, das verwendet wird, wenn die Aufgabe in den Hintergrund wechselt.

3714 3777 


4116 summary?: string;4179 summary?: string;

4117 transcriptDir?: string;4180 transcriptDir?: string;

4118 scriptPath?: string;4181 scriptPath?: string;

4119 sessionUrl?: string; // set when the workflow launched as a remote session4182 sessionUrl?: string; // set when the workflow launched as a cloud session

4120 warning?: string;4183 warning?: string;

4121 error?: string;4184 error?: string;

4122};4185};


4126 4189 

4127| Feld | Typ | Beschreibung |4190| Feld | Typ | Beschreibung |

4128| --------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |4191| --------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

4129| `status` | `"async_launched" \| "remote_launched"` | Das Tool hat die Invokation akzeptiert. `"async_launched"` für In-Process-Läufe, `"remote_launched"` für Läufe, die an eine Remote-Sitzung versendet werden, anstatt In-Process zu laufen |4192| `status` | `"async_launched" \| "remote_launched"` | Das Tool hat die Invokation akzeptiert. `"async_launched"` für In-Process-Läufe, `"remote_launched"` für Läufe, die an eine Cloud-Sitzung versendet werden, anstatt In-Process zu laufen |

4130| `taskId` | `string` | Hintergrund-Aufgabenkennung für den Lauf |4193| `taskId` | `string` | Hintergrund-Aufgabenkennung für den Lauf |

4131| `taskType` | `"local_workflow" \| "remote_agent"` | Aufgabentyp der registrierten Hintergrund-Aufgabe, entsprechend dem `status`-Arm |4194| `taskType` | `"local_workflow" \| "remote_agent"` | Aufgabentyp der registrierten Hintergrund-Aufgabe, entsprechend dem `status`-Arm |

4132| `workflowName` | `string` | Der `meta.name` aus dem Workflow-Skript |4195| `workflowName` | `string` | Der `meta.name` aus dem Workflow-Skript |


4890| `description` | `string` | Beschreibung, wann dieser Agent verwendet werden soll |4953| `description` | `string` | Beschreibung, wann dieser Agent verwendet werden soll |

4891| `model` | `string \| undefined` | Modell, das dieser Agent verwendet: ein Alias oder eine Modell-ID, oder `'inherit'` für das übergeordnete Modell. Wenn `undefined`, wählt Claude Code das Modell in der [Subagenten-Modellreihenfolge](/docs/de/sub-agents#choose-a-model) |4954| `model` | `string \| undefined` | Modell, das dieser Agent verwendet: ein Alias oder eine Modell-ID, oder `'inherit'` für das übergeordnete Modell. Wenn `undefined`, wählt Claude Code das Modell in der [Subagenten-Modellreihenfolge](/docs/de/sub-agents#choose-a-model) |

4892 4955 

4956<h3 id="mcpserverprovenance">

4957 `McpServerProvenance`

4958</h3>

4959 

4960Der MCP-Server, der ein `mcp__*`-Tool bereitstellt, und woher die Definition dieses Servers kam. Die [`PreToolUse`](#pretoolusehookinput)-, `PostToolUse`-, `PostToolUseFailure`-, `PermissionRequest`- und `PermissionDenied`-Hook-Eingaben tragen ihn als `mcp_server`, und die [`CanUseTool`](#canusetool)-Optionen tragen ihn als `mcpServer`. Beide lassen ihn für Tools weg, die nicht von einem MCP-Server stammen.

4961 

4962```typescript theme={null}

4963type McpServerProvenance = {

4964 name: string;

4965 source: string;

4966};

4967```

4968 

4969| Feld | Typ | Beschreibung |

4970| :------- | :------- | :------------------------------------------------------------------------------------------------------------------------ |

4971| `name` | `string` | Der Name, unter dem der Server registriert ist, der gleiche Wert, den [`mcpServerStatus()`](#query-object) für ihn meldet |

4972| `source` | `string` | Woher die Definition des Servers kam: `sdk`, `plugin` oder ein Konfigurationsbereich |

4973 

4974`source` nimmt einen der folgenden Werte an. Die Menge ist offen, daher behandeln Sie einen Wert, den Sie nicht erkennen, als konfigurierte Quelle, niemals als `sdk`:

4975 

4976* **`sdk`**: ein In-Process-Server, den Ihre Anwendung registriert hat. Nur die SDK-Host-Anwendung kann einen registrieren, daher meldet ein konfigurierter Server niemals `sdk`, unabhängig von seinem Namen.

4977* **`plugin`**: ein Server, den ein [Plugin](/docs/de/agent-sdk/plugins) bereitstellt. Sein `name` ist die scoped `plugin:<plugin-name>:<server-name>`-Form, die unter [Plugin-bereitgestellte MCP-Server](/docs/de/mcp#plugin-provided-mcp-servers) beschrieben wird.

4978* **Ein Konfigurationsbereich**: `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai` oder `agent`. Ein `.mcp.json`-Server meldet `project`, und [MCP-Installationsbereiche](/docs/de/mcp#mcp-installation-scopes) definiert `local`, `project` und `user`. Server, die Ihre Anwendung in der [`mcpServers`-Option](#options) übergibt, außer In-Process-SDK-Servern, melden `dynamic`.

4979 

4980Basieren Sie Vertrauensentscheidungen auf `source`, nicht auf `name` oder dem `mcp__<server>__`-Tool-Namen-Präfix. Für jede Quelle außer `sdk` ist `name` nicht vertrauenswürdiger Text: maskieren Sie ihn vor der Anzeige.

4981 

4982`McpServerProvenance` und die Felder, die ihn tragen, erfordern Agent SDK v0.3.274 oder später.

4983 

4893<h3 id="mcpserverstatus">4984<h3 id="mcpserverstatus">

4894 `McpServerStatus`4985 `McpServerStatus`

4895</h3>4986</h3>


4907 error?: string;4998 error?: string;

4908 config?: McpServerStatusConfig;4999 config?: McpServerStatusConfig;

4909 scope?: string;5000 scope?: string;

5001 source?: string;

4910 tools?: {5002 tools?: {

4911 name: string;5003 name: string;

4912 description?: string;5004 description?: string;


4919};5011};

4920```5012```

4921 5013 

5014`source` sagt, woher die Definition des Servers kam, mit den gleichen Werten und Vertrauensregel wie [`McpServerProvenance`](#mcpserverprovenance)'s `source`. Das Feld erfordert Agent SDK v0.3.274 oder später und fehlt in früheren Versionen.

5015 

4922<h3 id="mcpserverstatusconfig">5016<h3 id="mcpserverstatusconfig">

4923 `McpServerStatusConfig`5017 `McpServerStatusConfig`

4924</h3>5018</h3>

Details

555Die Eingabe enthält Claudes generierte Fragen in einem `questions`-Array. Jede Frage hat diese Felder:555Die Eingabe enthält Claudes generierte Fragen in einem `questions`-Array. Jede Frage hat diese Felder:

556 556 

557| Feld | Beschreibung |557| Feld | Beschreibung |

558| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |558| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |

559| `question` | Der vollständige Fragetext zum Anzeigen |559| `question` | Der vollständige Fragetext zum Anzeigen |

560| `header` | Kurzes Label für die Frage (max. 12 Zeichen) |560| `header` | Kurzes Label für die Frage (max. 12 Zeichen) |

561| `options` | Array von 2-4 Auswahlmöglichkeiten, jeweils mit `label` und `description`. TypeScript: optional `preview` (siehe [unten](#option-previews-typescript)) |561| `options` | Array von 2-4 Auswahlmöglichkeiten, jeweils mit `label` und `description`. TypeScript: optional `preview`. Siehe [Optionsvorschau](#option-previews-typescript). |

562| `multiSelect` | Wenn `true`, können Benutzer mehrere Optionen auswählen |562| `multiSelect` | Wenn `true`, können Benutzer mehrere Optionen auswählen |

563 563 

564Die Struktur, die Ihr Callback erhält:564Die Struktur, die Ihr Callback erhält:

agent-teams.md +5 −1

Details

120 `tmux` hat bekannte Einschränkungen auf bestimmten Betriebssystemen und funktioniert traditionell am besten auf macOS. Die Verwendung von `tmux -CC` in iTerm2 ist der empfohlene Einstiegspunkt in `tmux`.120 `tmux` hat bekannte Einschränkungen auf bestimmten Betriebssystemen und funktioniert traditionell am besten auf macOS. Die Verwendung von `tmux -CC` in iTerm2 ist der empfohlene Einstiegspunkt in `tmux`.

121</Note>121</Note>

122 122 

123Der Standard ist `"in-process"`. Vor v2.1.179 war der Standard `"auto"`, daher öffnen aktualisierte Sitzungen, die zuvor Split Panes öffneten, jetzt ein Terminal, es sei denn, Sie legen den Modus explizit fest. Setzen Sie `"auto"`, um Split Panes zu aktivieren, wenn Sie bereits in einer tmux-Sitzung ausgeführt werden oder Ihr Terminal iTerm2 ist, und fallen Sie ansonsten auf In-Process zurück. Die Einstellung `"tmux"` aktiviert den Split-Pane-Modus und erkennt automatisch, ob tmux oder iTerm2 basierend auf Ihrem Terminal verwendet werden soll.123Der Standard ist `"in-process"`. Setzen Sie `"auto"`, um Split Panes zu aktivieren, wenn Sie bereits in einer tmux-Sitzung ausgeführt werden oder Ihr Terminal iTerm2 mit der installierten `it2` CLI ist, und fallen Sie ansonsten auf In-Process zurück. Die Einstellung `"tmux"` aktiviert den Split-Pane-Modus und erkennt automatisch, ob tmux oder iTerm2 basierend auf Ihrem Terminal verwendet werden soll.

124 124 

125Ab v2.1.186 setzen Sie `"iterm2"`, um native Split Panes von iTerm2 explizit zu verwenden. Dieser Modus erfordert die [`it2` CLI](https://github.com/mkusaka/it2) und zeigt einen Fehler mit dem Installationsbefehl an, wenn `it2` fehlt. Die Setup-Eingabeaufforderung, die angeboten wird, `it2` zu installieren oder zu tmux zu wechseln, wird unter `"auto"` oder `"tmux"` angezeigt, wenn Ihr Terminal iTerm2 ist und tmux als Fallback verfügbar ist.125Ab v2.1.186 setzen Sie `"iterm2"`, um native Split Panes von iTerm2 explizit zu verwenden. Dieser Modus erfordert die [`it2` CLI](https://github.com/mkusaka/it2) und zeigt einen Fehler mit dem Installationsbefehl an, wenn `it2` fehlt. Die Setup-Eingabeaufforderung, die angeboten wird, `it2` zu installieren oder zu tmux zu wechseln, wird unter `"auto"` oder `"tmux"` angezeigt, wenn Ihr Terminal iTerm2 ist und tmux als Fallback verfügbar ist.

126 126 


310* **`skills`**: Claude Code wendet die `skills` der Definition nicht auf einen Teammate in beiden Anzeigemodi an. Der Teammate lädt Skills aus Ihren Projekt- und Benutzereinstellungen.310* **`skills`**: Claude Code wendet die `skills` der Definition nicht auf einen Teammate in beiden Anzeigemodi an. Der Teammate lädt Skills aus Ihren Projekt- und Benutzereinstellungen.

311* **`mcpServers`**: Für einen Split-Pane-Teammate wendet Claude Code das `mcpServers` der Definition unter den [Regeln für dieses Feld](/docs/de/sub-agents#scope-mcp-servers-to-a-subagent) an, die auch eine Sitzung abdecken, die mit `--agent` gestartet wurde. Ein In-Process-Teammate ignoriert das Feld und lädt MCP-Server aus Ihren Projekt- und Benutzereinstellungen.311* **`mcpServers`**: Für einen Split-Pane-Teammate wendet Claude Code das `mcpServers` der Definition unter den [Regeln für dieses Feld](/docs/de/sub-agents#scope-mcp-servers-to-a-subagent) an, die auch eine Sitzung abdecken, die mit `--agent` gestartet wurde. Ein In-Process-Teammate ignoriert das Feld und lädt MCP-Server aus Ihren Projekt- und Benutzereinstellungen.

312 312 

313Wenn Claude einen In-Process-Teammate anschreibt, der nicht mehr läuft, bringt Claude Code ihn in der gleichen Sitzung zurück, stellt alle für ihn gespeicherten Gespräche wieder her und gibt ihm die Nachricht als seinen nächsten Prompt. Nachdem Sie eine Sitzung fortsetzen, werden Teammates auf diese Weise nicht zurückgebracht, gemäß [der Fortsetzen-Einschränkung](#limitations).

314 

315Für einen Teammate, den es zurückbringt, wendet Claude Code eine Definition, die aus dem `.claude/agents/`-Verzeichnis eines Projekts oder einem `--add-dir`-Verzeichnis stammt, nur erneut an, wenn Sie [dem Ordner vertraut haben, in dem die Agent-Datei ist](/docs/de/permissions#what-runs-before-you-trust-a-folder). Einem übergeordneten Ordner zu vertrauen zählt nicht. Bis dahin kommt der Teammate zurück, ohne die Tools oder Anweisungen der Definition zu haben, und behält nur die Tools, die Claude Code jedem In-Process-Teammate hinzufügt. Siehe [die Agent-Definition des Teammates wurde nicht wiederhergestellt](/docs/de/errors#teammate-agent-definition-not-restored) für den Benachrichtigungstext.

316 

313<h3 id="permissions">317<h3 id="permissions">

314 Berechtigungen318 Berechtigungen

315</h3>319</h3>

agent-view.md +100 −96

Details

16 16 

17Wenn Sie direkter in einer Agenten-Sitzung arbeiten möchten, hängen Sie sich an die Zeile an, um die vollständige Konversation zu betreten.17Wenn Sie direkter in einer Agenten-Sitzung arbeiten möchten, hängen Sie sich an die Zeile an, um die vollständige Konversation zu betreten.

18 18 

19Um die Agenten-Ansicht mit Subagenten, Agent-Teams und Worktrees zu vergleichen, siehe [Agenten parallel ausführen](/docs/de/agents).19Um die Agenten-Ansicht mit Subagenten, Agent-Teams und Worktrees zu vergleichen, siehe [Agenten parallel ausführen](/docs/de/agents). Die Agenten-Ansicht führt Sitzungen auf Ihrem Computer aus und Sie versenden jede einzelne; um Claude stattdessen parallele Sitzungen in der Cloud von einer Konversation aus starten und verfolgen zu lassen, siehe [Projekte](/docs/de/claude-projects).

20 20 

21<Note>21<Note>

22 Die Agenten-Ansicht ist eine Forschungsvorschau. Die Benutzeroberfläche und Tastaturkürzel können sich ändern, wenn sich die Funktion weiterentwickelt.22 Die Agenten-Ansicht ist eine Forschungsvorschau. Die Benutzeroberfläche und Tastaturkürzel können sich ändern, wenn sich die Funktion weiterentwickelt.


69Innerhalb einer regulären `claude`-Sitzung zählt der Hinweis `←` in der Eingabeaufforderungs-Fußzeile die Hintergrund-Agenten, die auf Sie warten, wie z. B. `← 2 agents`, und kehrt zu `← for agents` zurück, wenn keiner Eingaben benötigt. Zählungen über 99 werden als `99+` angezeigt. Die Zählung wird etwa alle zehn Sekunden aktualisiert, während das Terminal fokussiert ist, und sofort, wenn der Fokus zurückkehrt. Sie ändert kurzzeitig die Farbe, wenn sie sich bewegt und wenn ein Agent abgeschlossen wird, und wenn eine Hintergrund-Sitzung endet, während keiner Eingaben benötigt, zeigt sie kurzzeitig die Anzahl der abgeschlossenen Sitzungen an, wie z. B. `← 2 done`. Beide Blitze sind aus, wenn die Einstellung [`prefersReducedMotion`](/docs/de/settings-reference#prefersreducedmotion) aktiviert ist, und der Hinweis ist im [Bildschirmlesemodus](/docs/de/accessibility) verborgen.69Innerhalb einer regulären `claude`-Sitzung zählt der Hinweis `←` in der Eingabeaufforderungs-Fußzeile die Hintergrund-Agenten, die auf Sie warten, wie z. B. `← 2 agents`, und kehrt zu `← for agents` zurück, wenn keiner Eingaben benötigt. Zählungen über 99 werden als `99+` angezeigt. Die Zählung wird etwa alle zehn Sekunden aktualisiert, während das Terminal fokussiert ist, und sofort, wenn der Fokus zurückkehrt. Sie ändert kurzzeitig die Farbe, wenn sie sich bewegt und wenn ein Agent abgeschlossen wird, und wenn eine Hintergrund-Sitzung endet, während keiner Eingaben benötigt, zeigt sie kurzzeitig die Anzahl der abgeschlossenen Sitzungen an, wie z. B. `← 2 done`. Beide Blitze sind aus, wenn die Einstellung [`prefersReducedMotion`](/docs/de/settings-reference#prefersreducedmotion) aktiviert ist, und der Hinweis ist im [Bildschirmlesemodus](/docs/de/accessibility) verborgen.

70 70 

71<h2 id="monitor-sessions-with-agent-view">71<h2 id="monitor-sessions-with-agent-view">

72 Sitzungen mit der Agenten-Ansicht überwachen72 Sitzungen mit Agent-Ansicht überwachen

73</h2>73</h2>

74 74 

75Führen Sie `claude agents` aus, um die Agenten-Ansicht zu öffnen. Sie übernimmt das gesamte Terminal und listet jede Sitzung nach Status gruppiert auf, mit angehefteten Sitzungen und denjenigen, die Sie benötigen, oben. Jede Zeile zeigt den Namen der Sitzung, die aktuelle Aktivität und ihr Alter, gezählt von der Erstellung der Sitzung; das Alter einer abgeschlossenen Sitzung friert bei der Dauer der Ausführung ein.75Führen Sie `claude agents` aus, um die Agent-Ansicht zu öffnen. Sie übernimmt das gesamte Terminal und listet jede Sitzung gruppiert nach Status auf, mit angehefteten Sitzungen und denjenigen, die Sie benötigen, oben. Jede Zeile zeigt den Namen der Sitzung, die aktuelle Aktivität und ihr Alter, gezählt von der Erstellung der Sitzung; das Alter einer abgeschlossenen Sitzung friert bei der Dauer des Durchlaufs ein.

76 76 

77Der Name ist mit der Farbe getönt, die durch [`/color`](/docs/de/commands) in dieser Sitzung festgelegt wurde, einschließlich wenn Sie [eine Sitzung in den Hintergrund verschieben](#from-inside-a-session) mit `←` oder `/background`.77Der Name ist mit der Farbe getönt, die durch [`/color`](/docs/de/commands) in dieser Sitzung festgelegt wurde, einschließlich wenn Sie [eine Sitzung in den Hintergrund verschieben](#from-inside-a-session) mit `←` oder `/background`.

78 78 

79Standardmäßig zeigt die Liste jede Hintergrund-Sitzung, die Sie gestartet haben, über alle Ihre Projekte hinweg. Eine Sitzung, die in einem Repository funktioniert, und eine andere in einem anderen Worktree erscheinen beide hier, unabhängig davon, aus welchem Verzeichnis Sie die Agenten-Ansicht geöffnet haben. Um die Liste auf ein Projekt zu beschränken, übergeben Sie `--cwd`:79Standardmäßig zeigt die Liste jede Hintergrund-Sitzung an, die Sie gestartet haben, über alle Ihre Projekte hinweg. Eine Sitzung, die in einem Repository arbeitet, und eine andere in einem anderen Worktree erscheinen beide hier, unabhängig davon, aus welchem Verzeichnis Sie die Agent-Ansicht geöffnet haben. Um die Liste auf ein Projekt zu beschränken, übergeben Sie `--cwd`:

80 80 

81```bash theme={null}81```bash theme={null}

82claude agents --cwd ~/projects/my-app82claude agents --cwd ~/projects/my-app


84 84 

85Dies zeigt nur Sitzungen an, die unter diesem Verzeichnis gestartet wurden. Es listet immer noch eine Sitzung auf, die [in einen Worktree verschoben wurde](#how-file-edits-are-isolated) unter `~/projects/my-app/.claude/worktrees/`.85Dies zeigt nur Sitzungen an, die unter diesem Verzeichnis gestartet wurden. Es listet immer noch eine Sitzung auf, die [in einen Worktree verschoben wurde](#how-file-edits-are-isolated) unter `~/projects/my-app/.claude/worktrees/`.

86 86 

87Interaktive Sitzungen, die Sie in anderen Terminals offen haben, werden nicht angezeigt, bis Sie sie [in den Hintergrund verschieben](#from-inside-a-session). [Subagenten](/docs/de/sub-agents) und [Teamkollegen](/docs/de/agent-teams), die eine Sitzung startet, werden nicht als separate Zeilen aufgelistet.87Interaktive Sitzungen, die Sie in anderen Terminals offen haben, erscheinen nicht, bis Sie [sie in den Hintergrund verschieben](#from-inside-a-session). [Subagenten](/docs/de/sub-agents) und [Teamkollegen](/docs/de/agent-teams), die eine Sitzung erzeugt, werden nicht als separate Zeilen aufgelistet.

88 88 

89```text theme={null}89```text theme={null}

90Angeheftet90Pinned

91 ✽ clawd walk cycle Drawing the walk-cycle sprite frames 3m91 ✽ clawd walk cycle Drawing the walk-cycle sprite frames 3m

92 92 

93Bereit zur Überprüfung93Ready for review

94 ∙ jump physics Opened PR with collision fix #2048 2h94 ∙ jump physics Opened PR with collision fix #2048 2h

95 95 

96Benötigt Eingabe96Needs input

97 ✻ power-up design double jump or wall climb? 1m97 ✻ power-up design double jump or wall climb? 1m

98 98 

99Funktioniert99Working

100 ✽ collision detection Adding swept-AABB checks to CollisionSystem 2m100 ✽ collision detection Adding swept-AABB checks to CollisionSystem 2m

101 ✢ playtest level 3 run 12 · all checkpoints cleared in 4m101 ✢ playtest level 3 run 12 · all checkpoints cleared in 4m

102 102 

103Abgeschlossen103Completed

104 ✻ title screen result: menu, options, and credits done 9m104 ✻ title screen result: menu, options, and credits done 9m

105 ∙ sound effects result: 14 SFX exported to assets/audio 4h105 ∙ sound effects result: 14 SFX exported to assets/audio 4h

106 … 6 more106 … 6 more


113Jede Zeile beginnt mit einem Symbol, dessen Farbe und Animation den Status der Sitzung anzeigen:113Jede Zeile beginnt mit einem Symbol, dessen Farbe und Animation den Status der Sitzung anzeigen:

114 114 

115| Status | Symbol zeigt sich als | Was es bedeutet |115| Status | Symbol zeigt sich als | Was es bedeutet |

116| :--------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |116| :---------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

117| Funktioniert | Animiert | Claude führt aktiv Tools aus oder generiert eine Antwort |117| Working | Animiert | Claude führt aktiv Tools aus oder generiert eine Antwort |

118| Benötigt Eingabe | Gelb | Claude wartet auf etwas, das nur Sie bereitstellen können: eine Antwort auf eine Frage, eine Genehmigungsentscheidung oder einen anderen Prompt, den nur Sie beantworten können, wie z. B. ein [Sandbox](/docs/de/sandboxing)-Prompt, um einen Netzwerk-Host oder einen MCP-Server's [Anfrage für Eingabe](/docs/de/mcp#respond-to-mcp-elicitation-requests) zuzulassen. Ein Befehl, der ein angehängtes Terminal benötigt, wie z. B. `/install-github-app` oder die `/mcp`-Einstellungsliste, [hält auch eine unbeaufsichtigte Sitzung hier](#attach-to-a-session) |118| Needs input | Gelb | Claude wartet auf etwas, das nur Sie bereitstellen können: eine Antwort auf eine Frage, eine Genehmigungsentscheidung oder eine andere Eingabeaufforderung, die nur Sie beantworten können, wie z. B. eine [Sandbox](/docs/de/sandboxing)-Eingabeaufforderung, um einen Netzwerk-Host oder einen [MCP-Server-Anfrage für Eingabe](/docs/de/mcp#respond-to-mcp-elicitation-requests) zuzulassen. Ein Befehl, der ein angehängtes Terminal benötigt, wie `/install-github-app` oder die `/mcp`-Einstellungsliste, [hält auch eine unbeaufsichtigte Sitzung hier](#attach-to-a-session) |

119| Untätig | Gedimmt | Die Sitzung hat nichts zu tun und ist bereit für Ihren nächsten Prompt |119| Idle | Gedimmt | Die Sitzung hat nichts zu tun und ist bereit für Ihre nächste Eingabeaufforderung |

120| Abgeschlossen | Grün | Die Aufgabe wurde erfolgreich abgeschlossen |120| Completed | Grün | Die Aufgabe wurde erfolgreich abgeschlossen |

121| Fehlgeschlagen | Rot | Die Aufgabe endete mit einem Fehler |121| Failed | Rot | Die Aufgabe endete mit einem Fehler |

122| Gestoppt | Grau | Sie haben die Sitzung mit `Ctrl+X` oder `claude stop` gestoppt, [ihr Prozess wurde von außerhalb von Claude Code beendet](#the-supervisor-process), oder [sie endete, während der Hintergrund-Service aus war](#sessions-show-as-failed-after-shutdown) |122| Stopped | Grau | Sie haben die Sitzung mit `Ctrl+X` oder `claude stop` gestoppt, [ihr Prozess wurde von außerhalb von Claude Code beendet](#the-supervisor-process), oder [sie endete, während der Hintergrund-Service aus war](#sessions-show-as-failed-after-shutdown) |

123 123 

124Separat zeigt die Form des Symbols, ob der zugrunde liegende Prozess läuft:124Separat zeigt die Form des Symbols, ob der zugrunde liegende Prozess ausgeführt wird:

125 125 

126| Form | Was es bedeutet |126| Form | Was es bedeutet |

127| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |127| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |

128| `✻` oder animiertes `✽` | Der Sitzungsprozess ist aktiv und antwortet sofort |128| `✻` oder animiert `✽` | Der Sitzungsprozess ist aktiv und antwortet sofort |

129| `∙` | Der Prozess ist beendet. Sie können immer noch Vorschau anzeigen, und wenn Sie antworten oder anhängen, startet Claude von dort neu, wo es aufgehört hat |129| `∙` | Der Prozess hat beendet. Sie können die Zeile immer noch einsehen, und wenn Sie antworten oder anhängen, startet Claude von dort neu, wo es aufgehört hat |

130| `✢` | Eine [`/loop`](/docs/de/scheduled-tasks)-Sitzung, die zwischen Iterationen schläft. Die Zeile zeigt ihre Laufzahl und einen Countdown |130| `✢` | Eine [`/loop`](/docs/de/scheduled-tasks)-Sitzung, die zwischen Iterationen schläft. Die Zeile zeigt ihre Laufzahl und einen Countdown |

131 131 

132Das `#N`- oder `!N`-Label, das am rechten Rand einer Zeile erscheinen kann, ist ein Link zum [Pull Request oder Merge Request](#pull-request-status) der Sitzung, nicht Teil des Status-Symbols.132Das `#N`- oder `!N`-Label, das am rechten Rand einer Zeile erscheinen kann, ist ein Link zum [Pull Request oder Merge Request](#pull-request-status) der Sitzung, nicht Teil des Status-Symbols.

133 133 

134Der Terminal-Tab-Titel zeigt die Anzahl der wartenden Eingaben, während die Agenten-Ansicht offen ist: `2 awaiting input · claude agents`, wenn Sitzungen Eingabe benötigen, oder `claude agents`, wenn keine benötigen.134Der Terminal-Tab-Titel zeigt die Anzahl der wartenden Eingaben, während die Agent-Ansicht offen ist: `2 awaiting input · claude agents`, wenn Sitzungen Eingaben benötigen, oder `claude agents`, wenn keine benötigt werden.

135 135 

136Um den Sitzungsstatus aus einem Skript oder einem anderen Programm zu lesen, verwenden Sie [`claude agents --json`](#read-session-state-from-a-script) anstelle der Dateien unter `~/.claude/jobs/`.136Um den Sitzungsstatus aus einem Skript oder einem anderen Programm zu lesen, verwenden Sie [`claude agents --json`](#read-session-state-from-a-script) anstelle der Dateien unter `~/.claude/jobs/`.

137 137 

138Während die Agenten-Ansicht offen ist, sendet Claude Code auch eine Benachrichtigung über Ihren konfigurierten [Terminal-Benachrichtigungskanal](/docs/de/terminal-config#get-a-terminal-bell-or-notification), wenn eine lokale Hintergrund-Sitzung Ihre Eingabe benötigt, fertig wird oder fehlschlägt. Sitzungen, die nach einem Zeitplan ausgeführt werden, wie z. B. [`/loop`](/docs/de/scheduled-tasks)-Sitzungen, benachrichtigen nur, wenn sie Ihre Eingabe benötigen. Benachrichtigungen verwenden die gleiche [`preferredNotifChannel`-Einstellung](/docs/de/settings-reference#preferrednotifchannel) wie der Rest von Claude Code und lösen den [`Notification`-Hook](/docs/de/hooks#notification) mit dem Typ `agent_needs_input` oder `agent_completed` aus.138Während die Agent-Ansicht offen ist, sendet Claude Code auch eine Benachrichtigung über Ihren konfigurierten [Terminal-Benachrichtigungskanal](/docs/de/terminal-config#get-a-terminal-bell-or-notification), wenn eine lokale Hintergrund-Sitzung Ihre Eingabe benötigt, abgeschlossen wird oder fehlschlägt. Sitzungen, die nach einem Zeitplan ausgeführt werden, wie z. B. [`/loop`](/docs/de/scheduled-tasks)-Sitzungen, benachrichtigen nur, wenn sie Ihre Eingabe benötigen. Benachrichtigungen verwenden die gleiche [`preferredNotifChannel`-Einstellung](/docs/de/settings-reference#preferrednotifchannel) wie der Rest von Claude Code und aktivieren den [`Notification`-Hook](/docs/de/hooks#notification) mit dem Typ `agent_needs_input` oder `agent_completed`.

139 139 

140Hintergrund-Sitzungen benötigen kein offenes Terminal, um weiter zu funktionieren. Ein separater [Supervisor-Prozess](#the-supervisor-process) führt sie aus, sodass Sie die Agenten-Ansicht schließen, Ihre Shell schließen oder eine neue interaktive Sitzung starten können und Ihre versendete Arbeit läuft weiter.140Hintergrund-Sitzungen benötigen kein offenes Terminal, um weiterhin zu funktionieren. Ein separater [Supervisor-Prozess](#the-supervisor-process) führt sie aus, sodass Sie die Agent-Ansicht schließen, Ihre Shell schließen oder eine neue interaktive Sitzung starten können und Ihre versendete Arbeit weitergeht.

141 141 

142Der Sitzungsstatus wird auf der Festplatte durch automatische Updates und Supervisor-Neustarts beibehalten. Sitzungen werden auch beibehalten, wenn Ihr Computer in den Ruhezustand wechselt. Ihre Prozesse werden beim Aufwachen fortgesetzt und der Supervisor verbindet sich wieder mit ihnen, anstatt die Zeitlücke als untätig zu behandeln. Das Herunterfahren stoppt immer noch laufende Sitzungen; siehe [Sitzungen werden nach dem Herunterfahren als fehlgeschlagen angezeigt](#sessions-show-as-failed-after-shutdown), um zu erfahren, wie Sie sie wiederherstellen.142Der Sitzungsstatus bleibt auf der Festplatte durch automatische Updates und Supervisor-Neustarts erhalten. Sitzungen werden auch beibehalten, wenn Ihr Computer in den Ruhezustand wechselt. Ihre Prozesse werden beim Aufwachen fortgesetzt und der Supervisor verbindet sich wieder mit ihnen, anstatt die Zeitlücke als Leerlauf zu behandeln. Das Herunterfahren stoppt immer noch laufende Sitzungen; siehe [Sitzungen zeigen sich nach dem Herunterfahren als fehlgeschlagen oder gestoppt](#sessions-show-as-failed-after-shutdown), um sie wiederherzustellen.

143 143 

144Eine Sitzung, die sich mitten in einer Antwort befand, als der Computer in den Ruhezustand wechselte, kann zurückkommen und nicht reagieren. Wenn Sie eine Sitzung öffnen, die nicht mehr reagiert, startet der Supervisor ihren Prozess neu und die Sitzung setzt die unterbrochene Antwort von dort fort, wo sie unterbrochen wurde.144Eine Sitzung, die sich mitten in einer Antwort befand, als der Computer in den Ruhezustand wechselte, kann nicht reagierend zurückkommen. Wenn Sie eine Sitzung öffnen, die nicht mehr reagiert, startet der Supervisor seinen Prozess neu und die Sitzung setzt die unterbrochene Antwort von dort fort, wo sie aufgehört hat.

145 145 

146<h3 id="row-summaries">146<h3 id="row-summaries">

147 Zeilenzusammenfassungen147 Zeilenzusammenfassungen

148</h3>148</h3>

149 149 

150Die einzeilige Zusammenfassung in jeder Zeile wird von einem [Haiku-Klasse-Modell](/docs/de/model-config) generiert, sodass die Zeile Ihnen zeigen kann, was die Sitzung tut, was sie benötigt oder was sie produziert hat, ohne das Transkript zu öffnen. Während eine Sitzung aktiv funktioniert, wird der Zeilentext höchstens alle 15 Sekunden aus der eigenen aktuellen Ausgabe der Sitzung aktualisiert, ohne eine Modellanfrage zu senden, und das Modell schreibt eine neue Zusammenfassung, wenn jede Runde endet.150Die einzeilige Zusammenfassung in jeder Zeile wird von einem [Haiku-Klasse-Modell](/docs/de/model-config) generiert, damit die Zeile Ihnen sagen kann, was die Sitzung tut, was sie benötigt oder was sie produziert hat, ohne das Transkript zu öffnen. Während eine Sitzung aktiv arbeitet, wird der Zeilentext höchstens alle 15 Sekunden aus der eigenen aktuellen Ausgabe der Sitzung aktualisiert, ohne eine Modellanfrage zu senden, und das Modell schreibt eine neue Zusammenfassung, wenn jede Runde endet.

151 151 

152Eine arbeitende Zeile zeigt, was die Sitzung sagt, dass sie tut, und eine blockierte Zeile zeigt die Frage, die sie stellt. Während einer langen Runde schreibt das Modell die Zusammenfassung auch alle paar Minuten neu, sodass eine beschäftigte Zeile nicht weiterhin eine veraltete Zusammenfassung anzeigt. Der Zusammenfassungstext füllt die verbleibende Breite der Zeile; öffnen Sie das [Vorschau-Panel](#peek-and-reply), um einen Satz zu lesen, den der Terminal-Rand abschneidet.152Eine arbeitende Zeile zeigt, was die Sitzung sagt, dass sie tut, und eine blockierte Zeile zeigt die Frage, die sie stellt. Während einer langen Runde schreibt das Modell die Zusammenfassung auch alle paar Minuten neu, damit eine beschäftigte Zeile keine veraltete Zeile mehr anzeigt. Der Zusammenfassungstext füllt die verbleibende Breite der Zeile; öffnen Sie das [Peek-Panel](#peek-and-reply), um einen Satz zu lesen, den der Terminal-Rand abschneidet.

153 153 

154Wenn die Liste [nach Verzeichnis gruppiert ist](#organize-the-list), öffnet sich die Zusammenfassung mit dem Status der Sitzung als farbiges Wort, z. B. `Benötigt Eingabe · double jump or wall climb?`. Bei der Standard-Status-Gruppierung benennt der Gruppenkopf bereits den Status, sodass die Zeile nur die Zusammenfassung anzeigt.154Wenn die Liste [nach Verzeichnis gruppiert ist](#organize-the-list), beginnt die Zusammenfassung mit dem Status der Sitzung als farbiges Wort, wie z. B. `Needs input · double jump or wall climb?`. Bei der Standard-Status-Gruppierung benennt der Gruppen-Header bereits den Status, daher zeigt die Zeile nur die Zusammenfassung.

155 155 

156Die End-of-Turn-Zusammenfassung und jedes Mid-Turn-Neuschreiben sind eine kurze Haiku-Klasse-Anfrage durch Ihren normalen Anbieter, abgerechnet und behandelt unter denselben [Datennutzungsbedingungen](/docs/de/data-usage) wie die Sitzung selbst. Die 15-Sekunden-Updates zwischen Modell-Neuschreiben verwenden die eigene Ausgabe der Sitzung wieder und senden keine Anfrage. Bei einem Drittanbieter-Anbieter oder Gateway ohne konfiguriertes Haiku-Klasse-Modell wird die Anfrage auf das Hauptmodell der Sitzung zurückgeführt; legen Sie [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/de/model-config#environment-variables) fest, um eines auszuwählen.156Die End-of-Turn-Zusammenfassung und jede Mid-Turn-Umschreibung sind eine kurze Haiku-Klasse-Anfrage über Ihren normalen Anbieter, abgerechnet und behandelt unter den gleichen [Datennutzungsbedingungen](/docs/de/data-usage) wie die Sitzung selbst. Die 15-Sekunden-Updates zwischen Modell-Umschreibungen verwenden die eigene Ausgabe der Sitzung wieder und senden keine Anfrage. Bei einem Drittanbieter oder Gateway ohne konfiguriertes Haiku-Klasse-Modell verwendet die Anfrage stattdessen das Hauptmodell der Sitzung; setzen Sie [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/de/model-config#environment-variables), um eines auszuwählen.

157 157 

158<h3 id="pull-request-status">158<h3 id="pull-request-status">

159 Pull-Request-Status159 Pull-Request-Status


162Wenn eine Sitzung [einen Pull Request öffnet](#how-file-edits-are-isolated), fügt Claude Code ein Label am rechten Rand der Zeile hinzu, das mit dem Pull Request verlinkt ist:162Wenn eine Sitzung [einen Pull Request öffnet](#how-file-edits-are-isolated), fügt Claude Code ein Label am rechten Rand der Zeile hinzu, das mit dem Pull Request verlinkt ist:

163 163 

164* Claude Code schreibt das Label als `#1234` für einen Pull Request und als `!1234` für einen GitLab-Merge-Request.164* Claude Code schreibt das Label als `#1234` für einen Pull Request und als `!1234` für einen GitLab-Merge-Request.

165* Claude Code gibt den Link auch aus, wenn es Hyperlink-Unterstützung nicht erkennen kann, z. B. über SSH oder tmux. Legen Sie [`FORCE_HYPERLINK=0`](/docs/de/env-vars) fest, um das Label als einfachen Text zu rendern.165* Claude Code gibt den Link aus, auch wenn es Hyperlink-Unterstützung nicht erkennen kann, z. B. über SSH oder tmux. Setzen Sie [`FORCE_HYPERLINK=0`](/docs/de/env-vars), um das Label als Klartext zu rendern.

166* Nachdem Sie eine Nachverfolgung an die Sitzung senden, behält Claude Code das Label bei, während die Zeile zum Live-Fortschritt zurückkehrt.166* Nachdem Sie eine Nachverfolgung an die Sitzung senden, behält Claude Code das Label bei, während die Zeile zum Live-Fortschritt zurückkehrt.

167 167 

168Eine Sitzung, die an einem bestehenden Pull Request arbeitet, ist auf die gleiche Weise damit verlinkt. Claude Code findet den Pull Request unterschiedlich, je nachdem, welchen Befehl Claude ausführt:168Eine Sitzung, die an einem bestehenden Pull Request arbeitet, ist auf die gleiche Weise damit verlinkt. Claude Code findet den Pull Request unterschiedlich, je nachdem, welchen Befehl Claude ausführt:

169 169 

170* Wenn Claude einen Pull Request mit `gh` bearbeitet, kommentiert, schließt oder als bereit markiert, verlinkt Claude Code den Pull Request, den die Ausgabe des Befehls selbst benennt. Ein `gh`-Befehl, dessen erfasste Ausgabe keinen Pull Request benennt, erstellt keinen Link; `gh pr merge` ist der häufige Fall, da er sein Ergebnis nur auf einem interaktiven Terminal druckt.170* Wenn Claude einen Pull Request mit `gh` bearbeitet, kommentiert, schließt oder als bereit markiert, verlinkt Claude Code den Pull Request, den die Ausgabe des Befehls selbst benennt. Ein `gh`-Befehl, dessen erfasste Ausgabe keinen Pull Request benennt, erstellt keinen Link; `gh pr merge` ist der häufige Fall, da er sein Ergebnis nur auf einem interaktiven Terminal ausgibt.

171* Wenn Claude einen Pull Request mit `gh pr checkout` auscheckt oder zu einem Branch pusht, schaut Claude Code den Branch mit `gh pr view` nach und verlinkt seinen offenen Pull Request.171* Wenn Claude einen Pull Request mit `gh pr checkout` auscheckt oder zu einem Branch pusht, schaut Claude Code den Branch mit `gh pr view` nach und verlinkt seinen offenen Pull Request.

172* Der Pull Request muss nicht existieren, wenn Claude pusht: Claude Code versucht die Branch-Suche nach bis zu fünf späteren `git`-, `gh`-, `glab`- oder `curl`-Befehlen erneut, die im gleichen Verzeichnis ausgeführt werden, sodass ein Pull Request, der nach dem Push erstellt wird, einschließlich eines, den Claude über die GitHub REST API erstellt, verlinkt wird, wenn ein erneuter Versuch ihn findet.172* Der Pull Request muss nicht existieren, wenn Claude pusht: Claude Code versucht die Branch-Suche nach bis zu fünf späteren `git`-, `gh`-, `glab`- oder `curl`-Befehlen, die im gleichen Verzeichnis ausgeführt werden, erneut, sodass ein Pull Request, der nach dem Push erstellt wird, einschließlich eines, den Claude über die GitHub REST API erstellt, verlinkt wird, wenn ein erneuter Versuch ihn findet.

173 173 

174Wenn eine Sitzung mit mehr als einem Pull Request verlinkt ist, zeigt das Label stattdessen eine Anzahl, z. B. `3 PRs`, farbig gekennzeichnet nach dem offenen Pull Request, der am meisten Aufmerksamkeit benötigt. Öffnen Sie das [Vorschau-Panel](#peek-and-reply), um sie alle zu sehen.174Wenn eine Sitzung mit mehr als einem Pull Request verlinkt ist, zeigt das Label stattdessen eine Anzahl an, wie z. B. `3 PRs`, farbig nach dem offenen Pull Request, der am meisten Aufmerksamkeit benötigt. Öffnen Sie das [Peek-Panel](#peek-and-reply), um sie alle zu sehen.

175 175 

176Die Pull-Request-Nummer ist nach ihrem Status farbig gekennzeichnet:176Die Pull-Request-Nummer ist nach ihrem Status farbig:

177 177 

178| Farbe | Pull-Request-Status |178| Farbe | Pull-Request-Status |

179| :---- | :--------------------------------------------------------------------------- |179| :---- | :--------------------------------------------------------------------------- |


182| Lila | Zusammengeführt |182| Lila | Zusammengeführt |

183| Grau | Entwurf oder geschlossen |183| Grau | Entwurf oder geschlossen |

184 184 

185Für eine Aufgabe, die in einem Pull Request endet, überprüfen Sie dieses Label auf das Ergebnis: überprüfen und führen Sie den Pull Request zusammen, wenn seine Nummer grün wird.185Überprüfen Sie für eine Aufgabe, die in einem Pull Request endet, dieses Label auf das Ergebnis: Überprüfen und führen Sie den Pull Request zusammen, wenn seine Nummer grün wird.

186 186 

187<h3 id="peek-and-reply">187<h3 id="peek-and-reply">

188 Vorschau und Antwort188 Peek und Antwort

189</h3>189</h3>

190 190 

191Drücken Sie `Space` auf einer ausgewählten Zeile, um das Vorschau-Panel zu öffnen. Es öffnet sich mit dem Satz, den die Zeile am Terminal-Rand abschneidet, und welcher Satz das ist, hängt vom Status der Sitzung ab:191Drücken Sie `Space` auf einer ausgewählten Zeile, um das Peek-Panel zu öffnen. Es öffnet sich mit dem Satz, den die Zeile am Terminal-Rand abschneidet, und welcher Satz das ist, hängt vom Status der Sitzung ab:

192 192 

193* Eine Sitzung, die auf Sie wartet: die genaue Frage, die sie stellt, über der Antwort-Eingabe193* Eine Sitzung, die auf Sie wartet: die genaue Frage, die sie stellt, über der Antwort-Eingabe

194* Eine abgeschlossene Sitzung: ihr Ergebnis194* Eine abgeschlossene Sitzung: ihr Ergebnis

195* Eine arbeitende Sitzung: ihr vollständiger Status-Satz195* Eine arbeitende Sitzung: ihr vollständiger Status-Satz

196 196 

197Alle Pull Requests, die mit der Sitzung verlinkt sind, werden als nächstes aufgelistet. Für eine Sitzung, die auf Sie wartet, zeigt eine Zeile wie `waiting 3m` unter ihnen, wie lange sie wartet, und es ist die einzige Zeit, die im Panel angezeigt wird. Das Alter am rechten Rand der Zeile ist eine andere Zahl: es zählt von der Erstellung der Sitzung.197Alle Pull Requests, die mit der Sitzung verlinkt sind, werden als nächstes aufgelistet. Für eine Sitzung, die auf Sie wartet, zeigt eine Zeile wie `waiting 3m` darunter, wie lange sie wartet, und es ist die einzige Zeit, die im Panel angezeigt wird. Das Alter am rechten Rand der Zeile ist eine andere Zahl: es zählt von der Erstellung der Sitzung.

198 198 

199Meistens reicht das Vorschau-Panel aus und Sie müssen das vollständige Transkript nie öffnen.199Meistens ist das Peek-Panel ausreichend und Sie müssen das vollständige Transkript nicht öffnen.

200 200 

201Geben Sie eine Antwort im Vorschau-Panel ein und drücken Sie `Enter`, um sie an diese Sitzung zu senden. Wenn die Sitzung eine Frage mit vordefinierten Optionen stellt, zeigt das Vorschau-Panel sie als nummerierte Liste an und Sie können eine Zahlentaste drücken, um eine auszuwählen. Ein Genehmigungsprompt wird als Text angezeigt, der beschreibt, was die Sitzung ausführen möchte, ohne nummerierte Optionen. Geben Sie eine Antwort ein, um ihn zu beantworten, oder hängen Sie an, um mit dem Standard-Prompt zu antworten. Für andere blockierte Sitzungen drücken Sie `Tab`, um die Eingabe mit einer vorgeschlagenen Antwort zu füllen, die Sie vor dem Senden bearbeiten können. Präfixieren Sie eine Antwort mit `!`, um stattdessen einen Bash-Befehl zu senden.201Geben Sie eine Antwort im Peek-Panel ein und drücken Sie `Enter`, um sie an diese Sitzung zu senden. Wenn die Sitzung eine Frage mit vordefinierten Optionen stellt, zeigt das Peek-Panel sie als nummerierte Liste an und Sie können eine Zahlentaste drücken, um eine auszuwählen. Eine Genehmigungsaufforderung wird als Text angezeigt, der beschreibt, was die Sitzung ausführen möchte, ohne nummerierte Optionen. Geben Sie eine Antwort ein, um sie zu beantworten, oder hängen Sie an, um mit der Standard-Eingabeaufforderung zu antworten. Für andere blockierte Sitzungen drücken Sie `Tab`, um die Eingabe mit einer vorgeschlagenen Antwort zu füllen, die Sie vor dem Senden bearbeiten können. Präfixieren Sie eine Antwort mit `!`, um stattdessen einen Bash-Befehl zu senden.

202 202 

203Wenn ein [`PermissionRequest`](/docs/de/hooks#permissionrequest)- oder [`PreToolUse`](/docs/de/hooks#pretooluse)-Hook eine Ausgabe zurückgibt, die Claude Code für den Aufruf, den die Sitzung fragt, nicht validieren kann, zeigt die Zeile das Hook-Ereignis und `hook output invalid:` mit dem Validierungsfehler vor dem Text der ausstehenden Anfrage. Für einen Hook, der auf andere Weise fehlschlägt, sagt die Zeile, dass der Hook fehlgeschlagen ist. Die Sitzung wartet immer noch auf die gleiche Anfrage.203Wenn ein [`PermissionRequest`](/docs/de/hooks#permissionrequest)- oder [`PreToolUse`](/docs/de/hooks#pretooluse)-Hook eine Ausgabe zurückgibt, die Claude Code für den Aufruf, den die Sitzung fragt, nicht validieren kann, zeigt die Zeile das Hook-Ereignis und `hook output invalid:` mit dem Validierungsfehler vor dem Text der ausstehenden Anfrage. Für einen Hook, der auf andere Weise fehlschlägt, sagt die Zeile, dass der Hook fehlgeschlagen ist. Die Sitzung wartet immer noch auf die gleiche Anfrage.

204 204 

205Eine Antwort, die nicht zugestellt werden kann, weil der Hintergrund-Service nicht erreichbar ist oder der Versand fehlschlägt, wird gespeichert und an die Sitzung als nächster Prompt gesendet, wenn ihr Prozess wieder startet, und die Fehlermeldung besagt, dass die Antwort gespeichert wurde. Eine Antwort mit dem Präfix `!` wird nicht gespeichert, da der gespeicherte Text die Sitzung als einfacher Prompt erreichen würde, anstatt als Bash-Befehl ausgeführt zu werden.205Eine Antwort, die nicht zugestellt werden kann, weil der Hintergrund-Service nicht erreichbar ist oder das Senden fehlschlägt, wird gespeichert und an die Sitzung als nächste Eingabeaufforderung gesendet, wenn ihr Prozess wieder startet, und die Fehlermeldung sagt, dass die Antwort gespeichert wurde. Eine Antwort mit dem Präfix `!` wird nicht gespeichert, da der gespeicherte Text die Sitzung als einfache Eingabeaufforderung erreichen würde, anstatt als Bash-Befehl ausgeführt zu werden.

206 206 

207Mit [Sprachdiktat](/docs/de/voice-dictation) aktiviert können Sie Ihre Push-to-Talk-Taste halten oder tippen, während die Antwort-Eingabe fokussiert ist, um eine Antwort zu diktieren, anstatt sie einzugeben. Das Gleiche funktioniert in der Versand-Eingabe am unteren Rand der Agenten-Ansicht.207Mit [Sprachdiktat](/docs/de/voice-dictation) aktiviert, halten oder tippen Sie Ihre Push-to-Talk-Taste, während die Antwort-Eingabe fokussiert ist, um eine Antwort zu diktieren, anstatt sie einzugeben. Das gleiche funktioniert in der Versand-Eingabe am unteren Rand der Agent-Ansicht.

208 208 

209Verwenden Sie `↑` und `↓`, um benachbarte Sitzungen in der Vorschau anzuzeigen, ohne das Panel zu schließen, oder `→`, um sich anzuhängen.209Verwenden Sie `↑` und `↓`, um benachbarte Sitzungen zu einsehen, ohne das Panel zu schließen, oder `→`, um anzuhängen.

210 210 

211<h3 id="attach-to-a-session">211<h3 id="attach-to-a-session">

212 An eine Sitzung anhängen212 An eine Sitzung anhängen

213</h3>213</h3>

214 214 

215Drücken Sie `Enter` oder `→` auf einer ausgewählten Zeile, um sich anzuhängen. Die Agenten-Ansicht wird durch die vollständige interaktive Sitzung ersetzt. Wenn Sie sich anhängen, sendet Claude eine kurze Zusammenfassung dessen, was passiert ist, während Sie weg waren.215Drücken Sie `Enter` oder `→` auf einer ausgewählten Zeile, um anzuhängen. Die Agent-Ansicht wird durch die vollständige interaktive Sitzung ersetzt. Wenn Sie anhängen, sendet Claude eine kurze Zusammenfassung dessen, was passiert ist, während Sie weg waren.

216 216 

217Während Sie angehängt sind, verhält sich die Sitzung wie jede andere Claude Code-Sitzung: [Befehle](/docs/de/commands), Tastaturkürzel und Funktionen funktionieren alle, mit den folgenden Ausnahmen.217Während Sie angehängt sind, verhält sich die Sitzung wie jede andere Claude Code-Sitzung: [Befehle](/docs/de/commands), Tastaturkürzel und Funktionen funktionieren alle, mit den folgenden Ausnahmen.

218 218 

219Während Sie angehängt sind, funktionieren `/install-github-app` und die [`/mcp`](/docs/de/mcp)-Einstellungsliste normal, da ein Mensch am Terminal ihre Dialoge abschließen kann. Wenn niemand angehängt ist, können diese Befehle ihre Dialoge nicht öffnen, sodass die Sitzung unter `Benötigt Eingabe` in der Agenten-Ansicht mit einer Zeile wie `open this session to manage MCP servers` erscheint, und die Transkript-Antwort sagt das Gleiche. Hängen Sie an und führen Sie den Befehl erneut aus, um fortzufahren; die Benötigt-Eingabe-Zeile wird gelöscht, wenn Sie anhängen. `/mcp reconnect <server>`, `/mcp enable` und `/mcp disable` funktionieren ohne Anhängen auf beide Arten.219Während Sie angehängt sind, funktionieren `/install-github-app` und die [`/mcp`](/docs/de/mcp)-Einstellungsliste normal, da ein Mensch am Terminal ihre Dialoge abschließen kann. Wenn niemand angehängt ist, können diese Befehle ihre Dialoge nicht öffnen, daher erscheint die Sitzung unter `Needs input` in der Agent-Ansicht mit einer Zeile wie `open this session to manage MCP servers`, und die Transkript-Antwort sagt das gleiche. Hängen Sie an und führen Sie den Befehl erneut aus, um fortzufahren; die Needs-Input-Zeile wird gelöscht, wenn Sie anhängen. `/mcp reconnect <server>`, `/mcp enable` und `/mcp disable` funktionieren ohne Anhängen auf beide Arten.

220 220 

221Angehängte Sitzungen werden immer im [Vollbildmodus](/docs/de/fullscreen) gerendert, unabhängig von Ihrer `tui`-Einstellung, da eine Hintergrund-Sitzung keinen Terminal-Scrollback zum Anhängen hat. Scrollen Sie mit `PgUp`, `PgDn` oder dem Mausrad, und drücken Sie `Ctrl+O` für den Transkript-Modus. Ihr natives Terminal-Scroll und tmux-Kopiermodus zeigen nur den aktuellen Viewport, genau wie wenn Sie eine beliebige Vollbildanwendung ausführen.221Angehängte Sitzungen werden immer im [Vollbildmodus](/docs/de/fullscreen) gerendert, unabhängig von Ihrer `tui`-Einstellung, da eine Hintergrund-Sitzung keinen Terminal-Scrollback zum Anhängen hat. Scrollen Sie mit `PgUp`, `PgDn` oder dem Mausrad, und drücken Sie `Ctrl+O` für den Transkript-Modus. Ihr natives Terminal-Scroll und tmux-Kopier-Modus zeigen nur den aktuellen Viewport, das gleiche wie wenn Sie eine beliebige Vollbildanwendung ausführen.

222 222 

223`←` hängt auch ab, während das [`/btw`-Overlay](/docs/de/interactive-mode#side-questions-with-%2Fbtw) offen ist. Erfordert Claude Code v2.1.257 oder später. Eine Nebenfrage, die noch antwortet, läuft weiter, während Sie weg sind. Das nächste Mal, wenn Sie anhängen, öffnet sich das Overlay mit ihr erneut, oder mit ihrer Antwort.223Drücken Sie `←` auf einer leeren Eingabeaufforderung oder führen Sie `/exit` aus, um zu trennen und zur Agent-Ansicht zurückzukehren, unabhängig davon, ob Sie die Sitzung aus der Agent-Ansicht oder mit `claude attach <id>` aus Ihrer Shell geöffnet haben.

224 224 

225Unter Windows, wenn Sie `←` innerhalb von etwa einer halben Sekunde nach dem Anhängen drücken, zeigt Claude Code `Ambiguous ←, press again to detach`, da das Terminal in diesem Fenster einen Druck von vor dem Anhängen erneut zugestellen kann. Drücken Sie `←` erneut, um sich abzuhängen.225`←` trennt sich auch, während das [`/btw`-Overlay](/docs/de/interactive-mode#side-questions-with-%2Fbtw) offen ist. Erfordert Claude Code v2.1.257 oder später. Eine Nebenfrage, die immer noch antwortet, läuft weiter, während Sie weg sind. Das nächste Mal, wenn Sie anhängen, öffnet sich das Overlay damit neu, oder mit seiner Antwort.

226 226 

227`Ctrl+Z` hängt auch ab, geht aber stattdessen dorthin zurück, wo Sie angefangen haben: Agenten-Ansicht, wenn Sie sich von dort aus angehängt haben, oder Ihre Shell, wenn Sie `claude attach` ausgeführt haben. Verwenden Sie `Ctrl+Z`, wenn ein Dialog den Fokus hat und nicht auf `←` reagiert.227Unter Windows, wenn Sie `←` innerhalb von etwa einer halben Sekunde nach dem Anhängen drücken, zeigt Claude Code `Ambiguous ←, press again to detach`, da das Terminal in diesem Fenster einen Druck von vor dem Anhängen erneut liefern kann. Drücken Sie `←` erneut, um zu trennen.

228 228 

229`Ctrl+C` behält sein Standardunterbrechungsverhalten bei, während es angehängt ist: Es bricht eine laufende Antwort oder einen `!`-Shell-Befehl ab, anstatt sich abzuhängen. Das zweimalige Drücken von `Ctrl+C` auf einer leeren Eingabeaufforderung hängt ab, genau wie in jeder anderen Sitzung.229`Ctrl+Z` trennt sich auch, geht aber stattdessen dorthin zurück, wo Sie angefangen haben: Agent-Ansicht, wenn Sie von dort angehängt haben, oder Ihre Shell, wenn Sie `claude attach` ausgeführt haben. Verwenden Sie `Ctrl+Z`, wenn ein Dialog den Fokus hat und nicht auf `←` reagiert.

230 230 

231Das Abhängen stoppt niemals eine Hintergrund-Sitzung: `←`, `Ctrl+Z`, `/exit` und doppeltes `Ctrl+C` oder doppeltes `Ctrl+D` lassen sie alle laufen. Um eine Sitzung von innen zu beenden, führen Sie `/stop` aus.231`Ctrl+C` behält sein Standard-Interrupt-Verhalten bei, während es angehängt ist: Es bricht eine laufende Antwort oder einen `!`-Shell-Befehl ab, anstatt zu trennen. Wenn Sie `Ctrl+C` zweimal auf einer leeren Eingabeaufforderung drücken, trennen Sie sich, das gleiche wie in jeder Sitzung.

232 

233Das Trennen stoppt niemals eine Hintergrund-Sitzung: `←`, `Ctrl+Z`, `/exit` und doppeltes `Ctrl+C` oder doppeltes `Ctrl+D` lassen sie alle laufen. Um eine Sitzung von innen zu beenden, führen Sie `/stop` aus.

232 234 

233<h4 id="switch-sessions-without-leaving-the-terminal">235<h4 id="switch-sessions-without-leaving-the-terminal">

234 Sitzungen wechseln, ohne das Terminal zu verlassen236 Sitzungen wechseln, ohne das Terminal zu verlassen

235</h4>237</h4>

236 238 

237In einer Sitzung, die im Vordergrund läuft, eine, die Sie im Terminal gestartet haben, anstatt sich von der Agenten-Ansicht anzuhängen, verschiebt das Drücken von `←` auf einer leeren Eingabeaufforderung sie in den Hintergrund und öffnet die Agenten-Ansicht mit dieser Zeile ausgewählt, sodass Sie zwischen Sitzungen wechseln können, ohne das Terminal zu verlassen. Der gleiche einzelne Druck hängt eine angehängte Sitzung ab.239In einer Sitzung, die im Vordergrund läuft, eine, die Sie im Terminal gestartet haben, anstatt sie aus der Agent-Ansicht anzuhängen, drücken Sie `←` auf einer leeren Eingabeaufforderung, um sie in den Hintergrund zu verschieben und die Agent-Ansicht mit dieser Zeile ausgewählt zu öffnen, sodass Sie Sitzungen wechseln können, ohne das Terminal zu verlassen. Der gleiche einzelne Druck trennt eine angehängte Sitzung.

238 240 

239Wenn Sie `←` direkt nach dem Löschen des letzten Textes der Eingabeaufforderung oder dem Durchsuchen der Eingabehistorie drücken, fragt Claude Code Sie zur Bestätigung: Der erste Druck zeigt `Press ← again to open agents`, oder `Press ← again to go back to agents` in einer angehängten Sitzung, und der zweite Druck wechselt.241Wenn Sie `←` direkt nach dem Löschen des letzten Textes der Eingabeaufforderung oder dem Durchsuchen des Eingabeverlaufs drücken, fragt Claude Code Sie zur Bestätigung: Der erste Druck zeigt `Press ← again to open agents` oder `Press ← again to go back to agents` in einer angehängten Sitzung, und der zweite Druck wechselt.

240 242 

241Wenn `←` eine Vordergrund-Sitzung in den Hintergrund verschiebt, zeigt die Agenten-Ansicht `Your conversation moved to the background` über der Liste, mit dieser Sitzungszeile bereits ausgewählt. Von dort aus:243Wenn `←` eine Vordergrund-Sitzung in den Hintergrund verschiebt, zeigt die Agent-Ansicht `Your conversation moved to the background` über der Liste, mit dieser Sitzungszeile bereits ausgewählt. Von dort:

242 244 

243* Drücken Sie `Enter`, um das Gespräch erneut zu öffnen.245* Drücken Sie `Enter`, um die Konversation erneut zu öffnen.

244* Drücken Sie `Esc`, um den Wechsel rückgängig zu machen und zum Gespräch zurückzukehren. Wenn `Esc` `Still starting — try again in a moment` zeigt, ist die Hintergrund-Sitzung noch nicht bereit, also drücken Sie `Esc` in einem Moment erneut.246* Drücken Sie `Esc`, um den Wechsel rückgängig zu machen und zur Konversation zurückzukehren. Wenn `Esc` `Still starting — try again in a moment` anzeigt, ist die Hintergrund-Sitzung noch nicht bereit, also drücken Sie `Esc` in einem Moment erneut.

245* Drücken Sie `Ctrl+C` zweimal, um zu Ihrer Shell zu beenden.247* Drücken Sie `Ctrl+C` zweimal, um zu Ihrer Shell zu beenden.

246 248 

247Wenn Claude Code das Gespräch nicht erneut öffnen kann, wird es beendet und druckt einen `claude --resume`-Befehl, der es fortgesetzt.249Wenn Claude Code die Konversation nicht erneut öffnen kann, wird es beendet und gibt einen `claude --resume`-Befehl aus, der sie fortgesetzt.

248 250 

249[Claudes Aufgabenliste](/docs/de/interactive-mode#task-list) wird mit dem Gespräch in die Hintergrund-Sitzung verschoben, sodass die Checkliste intakt ist, wenn Sie zu dieser Zeile zurückkehren.251[Claudes Aufgabenliste](/docs/de/interactive-mode#task-list) wird mit der Konversation zur Hintergrund-Sitzung verschoben, sodass die Checkliste intakt ist, wenn Sie zu dieser Zeile zurückkehren.

250 252 

251Die Zeile, von der Sie `←` drückten, behält auch einen fetten, nicht gedimmten Namen, nachdem Sie die Auswahl mit den Pfeiltasten oder der Maus verschieben, sodass Sie erkennen können, von welcher Sitzung Sie kamen.253Die Zeile, auf die Sie `←` drückten, behält auch einen fetten, nicht gedimmten Namen, nachdem Sie die Auswahl mit den Pfeiltasten oder der Maus verschieben, sodass Sie sehen können, von welcher Sitzung Sie gekommen sind.

252 254 

253Wenn ein Tool läuft, wenn Sie `←` drücken, wartet Claude Code bis zu etwa zehn Sekunden, bis es fertig ist, bevor es in den Hintergrund geht, und Claude setzt die Antwort in der Hintergrund-Sitzung fort. Drücken Sie `←` erneut, um sofort in den Hintergrund zu gehen, anstatt zu warten. Wenn laufende Arbeit nicht zur Hintergrund-Sitzung übertragen werden kann, zeigt Claude Code zuerst das Dialog `Background this session?` an, genauso wie mit [`/background`](#from-inside-a-session).255Wenn ein Tool läuft, wenn Sie `←` drücken, wartet Claude Code bis zu etwa zehn Sekunden, bis es fertig ist, bevor es in den Hintergrund verschoben wird, und Claude setzt die Antwort in der Hintergrund-Sitzung fort. Drücken Sie `←` erneut, um sofort in den Hintergrund zu verschieben, anstatt zu warten. Wenn in-flight-Arbeit nicht zur Hintergrund-Sitzung übertragen werden kann, zeigt Claude Code zuerst den `Background this session?`-Dialog, das gleiche wie mit [`/background`](#from-inside-a-session).

254 256 

255Die zehn-Sekunden-Grenze gilt nicht, während die [Vordergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background), die Claude im Gespräch gestartet hat, noch laufen. Claude Code wartet weiter, damit ihre Arbeit übertragen wird, und zeigt eine `Still backgrounding after the current tool`-Benachrichtigung an, während es wartet. Drücken Sie `←` erneut, um ohne Warten in den Hintergrund zu gehen, was diese Subagenten von vorne neu startet. Claude Code wartet nicht auf die Subagenten, die ein [dynamischer Workflow](/docs/de/workflows) ausführt. Wenn ein Workflow Subagenten ausführt, zeigt Claude Code stattdessen das Dialog `Background this session?` an.257Das zehn-Sekunden-Limit gilt nicht, während die [Vordergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background), die Claude in der Konversation gestartet hat, noch laufen. Claude Code wartet weiter, damit ihre Arbeit übertragen wird, und zeigt eine `Still backgrounding after the current tool`-Benachrichtigung, während es wartet. Drücken Sie `←` erneut, um ohne Warten in den Hintergrund zu verschieben, was diese Subagenten von vorne neu startet. Claude Code wartet nicht auf die Subagenten, die ein [dynamischer Workflow](/docs/de/workflows) ausführt. Wenn ein Workflow Subagenten ausführt, zeigt Claude Code stattdessen den `Background this session?`-Dialog.

256 258 

257Claude Code verschiebt die Sitzung nicht in den Hintergrund, während Sie ungesendeten Text in der Eingabeaufforderung haben, da der Text in Ihrem Terminal-Eingabefeld bleibt und nicht zur Hintergrund-Sitzung verschoben würde. Wenn Sie in die Eingabe tippen, während Claude Code wartet, um die Sitzung in den Hintergrund zu verschieben, wird der Wechsel mit `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` abgebrochen.259Claude Code verschiebt die Sitzung nicht in den Hintergrund, während Sie ungesendeten Text in der Eingabeaufforderung haben, da der Text in Ihrem Terminal-Eingabefeld bleibt und nicht zur Hintergrund-Sitzung verschoben würde. Wenn Sie in die Eingabe tippen, während Claude Code wartet, um die Sitzung in den Hintergrund zu verschieben, bricht es den Wechsel mit `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` ab.

258 260 

259Das Drücken von `←` erstellt die Zeile der Sitzung, auch wenn das Gespräch noch keine Nachrichten hat, sodass `→` immer noch zu ihr zurückkehrt.261Wenn Sie `←` drücken, wird die Sitzungszeile erstellt, auch wenn die Konversation noch keine Nachrichten hat, sodass `→` immer noch zu ihr zurückkehrt.

260 262 

261Sie können diesen Tastaturkürzel mit der `leftArrowOpensAgents`-Einstellung in `/config` ausschalten.263Sie können diese Verknüpfung mit der `leftArrowOpensAgents`-Einstellung in `/config` ausschalten.

262 264 

263<h3 id="organize-the-list">265<h3 id="organize-the-list">

264 Die Liste organisieren266 Liste organisieren

265</h3>267</h3>

266 268 

267Die Agenten-Ansicht gruppiert Sitzungen, sodass diejenigen, die Eingabe benötigen, oben sind, mit `Bereit zur Überprüfung` und `Benötigt Eingabe` über `Funktioniert` und `Abgeschlossen`. Diese Gruppennamen entsprechen nicht eins-zu-eins den [Status](#read-session-state) oben: Eine Sitzung wechselt zu `Bereit zur Überprüfung`, wenn sie einen offenen Pull Request hat, und `Abgeschlossen` sammelt beendete, fehlgeschlagene und gestoppte Sitzungen zusammen.269Die Agent-Ansicht gruppiert Sitzungen, sodass die, die Eingaben benötigen, oben sind, mit `Ready for review` und `Needs input` über `Working` und `Completed`. Diese Gruppennamen entsprechen nicht eins-zu-eins den [Status](#read-session-state) oben: Eine Sitzung wechselt zu `Ready for review`, wenn sie einen offenen Pull Request hat, und `Completed` sammelt abgeschlossene, fehlgeschlagene und gestoppte Sitzungen zusammen.

268 270 

269Drücken Sie `Ctrl+S`, um stattdessen nach Verzeichnis zu gruppieren. Ihre Wahl wird über Läufe hinweg gespeichert.271Drücken Sie `Ctrl+S`, um stattdessen nach Verzeichnis zu gruppieren. Ihre Wahl bleibt über Durchläufe hinweg erhalten.

270 272 

271Innerhalb einer Gruppe:273Innerhalb einer Gruppe:

272 274 

273* Drücken Sie `Ctrl+T`, um eine Sitzung oben anzuheften und [ihren Prozess während der Untätigkeit laufen zu lassen](#the-supervisor-process)275* Drücken Sie `Ctrl+T`, um eine Sitzung oben anzuheften und [ihren Prozess im Leerlauf laufen zu lassen](#the-supervisor-process)

274* Drücken Sie `Shift+↑` oder `Shift+↓`, um Sitzungen neu anzuordnen276* Drücken Sie `Shift+↑` oder `Shift+↓`, um Sitzungen neu zu ordnen

275* Drücken Sie `Ctrl+R`, um eine Sitzung umzubenennen277* Drücken Sie `Ctrl+R`, um eine Sitzung umzubenennen

276* Drücken Sie `Enter` auf einem Gruppenkopf, um ihn zu reduzieren278* Drücken Sie `Enter` auf einem Gruppen-Header, um ihn zu reduzieren

277 279 

278Um eine Sitzung aus der Liste zu entfernen, drücken Sie `Ctrl+X`, um sie zu stoppen, und `Ctrl+X` erneut innerhalb von zwei Sekunden, um sie zu löschen. Das Drücken von `Ctrl+X` auf einem Gruppenkopf löscht jede Sitzung in dieser Gruppe nach Bestätigung.280Um eine Sitzung aus der Liste zu entfernen, drücken Sie `Ctrl+X`, um sie zu stoppen, und `Ctrl+X` erneut innerhalb von zwei Sekunden, um sie zu löschen. Wenn Sie `Ctrl+X` auf einem Gruppen-Header drücken, werden alle Sitzungen in dieser Gruppe nach Bestätigung gelöscht.

279 281 

280Der zweite Druck löscht die Sitzung, auch wenn der Stoppversuch fehlschlägt, z. B. weil der [Hintergrund-Service nicht reagiert](#agent-view-says-the-background-service-did-not-respond): die Bestätigung bleibt für weitere zwei Sekunden aktiv, und das Löschen beendet den Prozess der Sitzung selbst. Drücken Sie `Esc`, um die Bestätigung zu verwerfen, ohne zu löschen.282Der zweite Druck löscht die Sitzung auch, wenn der Stoppversuch fehlschlägt, z. B. weil der [Hintergrund-Service nicht reagiert](#agent-view-says-the-background-service-did-not-respond): Die Bestätigung bleibt für weitere zwei Sekunden aktiv, und das Löschen beendet den Prozess der Sitzung selbst. Drücken Sie `Esc`, um die Bestätigung zu schließen, ohne zu löschen.

281 283 

282Außer in den abgedeckten Fällen in [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes), entfernt das Löschen die Sitzung aus der Liste, und ein Worktree, den Claude dafür erstellt hat, wird entfernt, behalten oder an Ort und Stelle gelassen, je nachdem, wie Sie löschen und was der Worktree enthält. Das Gesprächstranskript bleibt immer auf Ihrem lokalen Computer, verfügbar über `claude --resume`.284Mit Ausnahme der beibehaltenen Fälle, die in [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes) behandelt werden, entfernt das Löschen die Sitzung aus der Liste, und ein Worktree, den Claude dafür erstellt hat, wird entfernt, beibehalten oder an Ort und Stelle gelassen, je nachdem, wie Sie löschen und was der Worktree enthält. Das Konversations-Transkript bleibt immer auf Ihrem lokalen Computer, verfügbar über `claude --resume`.

283 285 

284Um eine Sitzung auf Claude Code v2.1.212 oder später zurückzubringen, geben Sie `/resume` in die Versand-Eingabe ein. Ein Picker öffnet sich mit vergangenen Sitzungen des Repositorys, von dem Sie die Agenten-Ansicht geöffnet haben, neueste zuerst, einschließlich Sitzungen, die Sie aus der Liste gelöscht haben; Sitzungen, die bereits eine Zeile haben, werden nicht aufgelistet. `↑`/`↓` verschieben die Auswahl, `Enter` setzt die ausgewählte Sitzung als Hintergrund-Sitzung fort, sodass sie als Zeile wieder in die Liste aufgenommen wird, und `Esc` schließt den Picker.286Um eine Sitzung auf Claude Code v2.1.212 oder später zurückzubringen, geben Sie `/resume` in die Versand-Eingabe ein. Ein Picker öffnet sich mit vergangenen Sitzungen des Repositorys, aus dem Sie die Agent-Ansicht geöffnet haben, neueste zuerst, einschließlich Sitzungen, die Sie aus der Liste gelöscht haben; Sitzungen, die bereits eine Zeile haben, werden nicht aufgelistet. `↑`/`↓` verschieben die Auswahl, `Enter` setzt die ausgewählte Sitzung als Hintergrund-Sitzung fort, damit sie als Zeile wieder in die Liste aufgenommen wird, und `Esc` schließt den Picker.

285 287 

286Der Picker öffnet sich nur für ein einfaches `/resume`. Ein gezieltes, bereichsgebundenes oder eingeschränktes Resume kann nicht vom Picker bedient werden, sodass die Agenten-Ansicht den Hinweis `attach to a session to run it` anzeigt, wenn:288Der Picker öffnet sich nur für ein einfaches `/resume`. Ein gezieltes, bereichsgebundenes oder eingeschränktes Resume kann nicht vom Picker bedient werden, daher zeigt die Agent-Ansicht den `attach to a session to run it`-Hinweis stattdessen, wenn:

287 289 

288* `/resume` eine ID oder einen Suchbegriff benennt290* `/resume` eine ID oder einen Suchbegriff benennt

289* die Ansicht mit `--cwd` bereichsgebunden ist291* Die Ansicht ist mit `--cwd` bereichsgebunden

290* die Ansicht mit [`--safe-mode`](/docs/de/cli-reference#cli-flags) gestartet wurde292* Die Ansicht wurde mit [`--safe-mode`](/docs/de/cli-reference#cli-flags) gestartet

291* die Ansicht mit einem Flag wie `--permission-mode` oder `--settings` geöffnet wurde293* Die Ansicht wurde mit einem Flag wie `--permission-mode` oder `--settings` geöffnet

292 294 

293Abgeschlossene Sitzungen, die nicht auf den Bildschirm passen, werden in eine Zeile `… N more` eingeklappt. Fehler und Sitzungen mit einem offenen Pull Request bleiben immer sichtbar. Die Gruppe `Abgeschlossen` füllt den verbleibenden vertikalen Platz nach den Live-Gruppen, und auf einem kurzen Terminal wird die Kopfzeile auf eine einzelne Zusammenfassungszeile komprimiert, sodass Sitzungen, die funktionieren oder Eingabe benötigen, sichtbar bleiben.295Abgeschlossene Sitzungen, die nicht auf den Bildschirm passen, werden in eine `… N more`-Zeile gefaltet. Fehler und Sitzungen mit einem offenen Pull Request bleiben immer sichtbar. Die `Completed`-Gruppe füllt den vertikalen Platz, der nach den Live-Gruppen verbleibt, und auf einem kurzen Terminal wird der Header zu einer einzelnen Zusammenfassungszeile komprimiert, sodass Sitzungen, die arbeiten oder Eingaben benötigen, sichtbar bleiben.

294 296 

295<h3 id="filter-sessions">297<h3 id="filter-sessions">

296 Sitzungen filtern298 Sitzungen filtern


299Geben Sie in die Versand-Eingabe ein, um zu filtern, anstatt zu versenden:301Geben Sie in die Versand-Eingabe ein, um zu filtern, anstatt zu versenden:

300 302 

301| Filter | Zeigt |303| Filter | Zeigt |

302| :------------------------------------------------- | :------------------------------------------------------------------------------------------------------------ |304| :------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |

303| `a:<name>` | Sitzungen, die den benannten Agenten ausführen |305| `a:<name>` | Sitzungen, die den benannten Agenten ausführen |

304| `s:<state>` | Sitzungen im angegebenen Status, z. B. `s:working`. Akzeptiert auch `s:blocked` für alles, das auf Sie wartet |306| `s:<state>` | Sitzungen im angegebenen Status, wie z. B. `s:working`. Akzeptiert auch `s:blocked` für alles, das auf Sie wartet |

305| `#<number>` oder eine Pull- oder Merge-Request-URL | Die Sitzung, die an diesem Pull Request oder Merge Request funktioniert |307| `#<number>` oder eine Pull- oder Merge-Request-URL | Die Sitzung, die an diesem Pull Request oder Merge Request arbeitet |

306| Jede andere URL | Die Sitzung, deren erste Eingabeaufforderung diese URL enthielt |308| Jede andere URL | Die Sitzung, deren erste Eingabeaufforderung diese URL enthielt |

307 309 

308<h3 id="keyboard-shortcuts">310<h3 id="keyboard-shortcuts">

309 Tastaturkürzel311 Tastaturkürzel

310</h3>312</h3>

311 313 

312Drücken Sie `?` in der Agenten-Ansicht, um jedes Kürzel im Kontext zu sehen. Die folgende Tabelle fasst sie zusammen.314Drücken Sie `?` in der Agent-Ansicht, um jede Verknüpfung im Kontext zu sehen. Die folgende Tabelle fasst sie zusammen.

313 315 

314| Kürzel | Aktion |316| Verknüpfung | Aktion |

315| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

316| `↑` / `↓` | Zwischen Zeilen verschieben |318| `↑` / `↓` | Zwischen Zeilen verschieben |

317| `Enter` | An die ausgewählte Sitzung anhängen, oder versenden, wenn Text in der Eingabe vorhanden ist |319| `Enter` | An die ausgewählte Sitzung anhängen oder versenden, wenn Text in der Eingabe vorhanden ist |

318| `Space` | Vorschau-Panel für die ausgewählte Sitzung öffnen oder schließen |320| `Space` | Peek-Panel für die ausgewählte Sitzung öffnen oder schließen |

319| `Shift+Enter` | Zeilenumbruch in die Versand-Eingabe einfügen, [wie in der Haupt-Eingabeaufforderung](/docs/de/terminal-config#enter-multiline-prompts) |321| `Shift+Enter` | Zeilenumbruch in der Versand-Eingabe einfügen, [wie in der Haupt-Eingabeaufforderung](/docs/de/terminal-config#enter-multiline-prompts) |

320| `Ctrl+Enter` | Versenden und sofort anhängen, in Terminals, wo die `?`-Überlagerung `ctrl+enter to start and open` auflistet |322| `Ctrl+Enter` | Versenden und sofort anhängen, in Terminals, in denen das `?`-Overlay `ctrl+enter to start and open` auflistet |

321| `→` | An die ausgewählte Sitzung anhängen |323| `→` | An die ausgewählte Sitzung anhängen |

322| `Alt+1`..`Alt+9` | An Sitzung 1–9 im fokussierten Sitzungsverzeichnis anhängen |324| `Alt+1`..`Alt+9` | An Sitzung 1–9 im fokussierten Sitzungsverzeichnis anhängen |

323| `Tab` | Bei leerer Eingabe alle Subagenten durchsuchen. Andernfalls den hervorgehobenen Vorschlag anwenden |325| `Tab` | Bei leerer Eingabe alle Subagenten durchsuchen. Andernfalls den hervorgehobenen Vorschlag anwenden |


325| `Ctrl+T` | Ausgewählte Sitzung anheften oder abheften |327| `Ctrl+T` | Ausgewählte Sitzung anheften oder abheften |

326| `Ctrl+R` | Ausgewählte Sitzung umbenennen |328| `Ctrl+R` | Ausgewählte Sitzung umbenennen |

327| `Ctrl+G` | Versand-Eingabeaufforderung in Ihrem `$VISUAL` oder `$EDITOR` öffnen |329| `Ctrl+G` | Versand-Eingabeaufforderung in Ihrem `$VISUAL` oder `$EDITOR` öffnen |

328| `Ctrl+J` | Zeilenumbruch in die Versand-Eingabe einfügen |330| `Ctrl+J` | Zeilenumbruch in der Versand-Eingabe einfügen |

329| `Ctrl+X` | Sitzung stoppen; drücken Sie erneut innerhalb von zwei Sekunden, um sie zu löschen |331| `Ctrl+X` | Sitzung stoppen; innerhalb von zwei Sekunden erneut drücken, um sie zu löschen |

330| `Shift+↑` / `Shift+↓` | Ausgewählte Sitzung neu anordnen |332| `Shift+↑` / `Shift+↓` | Ausgewählte Sitzung neu ordnen |

331| `Esc` | Vorschau-Panel schließen, Eingabe löschen oder beenden. Wenn Sie die Agenten-Ansicht durch Verschieben Ihrer Sitzung mit `←` in den Hintergrund geöffnet haben, kehrt das letzte `Esc` zu diesem Gespräch zurück, anstatt zu beenden. Mit [Vim-Editor-Modus](/docs/de/interactive-mode#vim-editor-mode) an, drücken Sie `Esc` in der Eingabe, um von INSERT zu NORMAL-Modus zu wechseln und Ihren Text zu behalten, wie in der Haupt-Eingabeaufforderung |333| `Esc` | Peek-Panel schließen, Eingabe löschen oder beenden. Wenn Sie die Agent-Ansicht durch Verschieben Ihrer Sitzung mit `←` in den Hintergrund geöffnet haben, kehrt das letzte `Esc` zu dieser Konversation zurück, anstatt zu beenden. Mit [Vim-Editor-Modus](/docs/de/interactive-mode#vim-editor-mode) an, drücken Sie `Esc` in der Eingabe, um von INSERT zu NORMAL-Modus zu wechseln und Ihren Text zu behalten, wie in der Haupt-Eingabeaufforderung |

332| `Ctrl+C` | Eingabe löschen; zweimal drücken, um zu beenden |334| `Ctrl+C` | Eingabe löschen; zweimal drücken, um zu beenden |

333| `?` | Alle Kürzel anzeigen |335| `?` | Alle Verknüpfungen anzeigen |

334 336 

335`Ctrl+S`, `Ctrl+T` und `Ctrl+G` folgen Ihrem [`keybindings.json`](/docs/de/keybindings). Binden Sie `Ctrl+S` und `Ctrl+T` mit den Aktionen `agents:switchView` und `agents:togglePin` im [`Agents`-Kontext](/docs/de/keybindings#agents-actions) neu oder heben Sie die Bindung auf, und `Ctrl+G` durch die `chat:externalEditor`-Bindung des `Chat`-Kontexts. Die anderen Kürzel in der Tabelle können nicht neu gebunden werden.337`Ctrl+S`, `Ctrl+T` und `Ctrl+G` folgen Ihrer [`keybindings.json`](/docs/de/keybindings). Binden Sie `Ctrl+S` und `Ctrl+T` mit den Aktionen `agents:switchView` und `agents:togglePin` im [`Agents`-Kontext](/docs/de/keybindings#agents-actions) neu oder heben Sie die Bindung auf, und `Ctrl+G` über die `Chat`-Kontext-Bindung `chat:externalEditor`. Die anderen Verknüpfungen in der Tabelle können nicht neu gebunden werden.

336 338 

337<h2 id="dispatch-new-agents">339<h2 id="dispatch-new-agents">

338 Neue Agenten versenden340 Neue Agenten versenden


1036* [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging): Lassen Sie Ihre Sitzungen Erkenntnisse untereinander weitergeben1038* [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging): Lassen Sie Ihre Sitzungen Erkenntnisse untereinander weitergeben

1037* [Agenten-Teams](/docs/de/agent-teams): Koordinieren Sie mehrere Sitzungen, die sich gegenseitig Nachrichten senden1039* [Agenten-Teams](/docs/de/agent-teams): Koordinieren Sie mehrere Sitzungen, die sich gegenseitig Nachrichten senden

1038* [Claude Code im Web](/docs/de/claude-code-on-the-web): Führen Sie Sitzungen in einer verwalteten Cloud-Umgebung aus, anstatt lokal1040* [Claude Code im Web](/docs/de/claude-code-on-the-web): Führen Sie Sitzungen in einer verwalteten Cloud-Umgebung aus, anstatt lokal

1041* [Projekte](/docs/de/claude-projects): Lassen Sie Claude mehrere parallele Cloud-Sitzungen aus einem Gespräch koordinieren und teilen Sie mit, welche Sie benötigen

1039 1042 

1040<h2 id="version-history">1043<h2 id="version-history">

1041 Versionsverlauf1044 Versionsverlauf


1046| Version | Änderung |1049| Version | Änderung |

1047| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1050| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1048| v2.1.268 | Wenn ein [Löschen abgelehnt wird](#what-deleting-a-session-removes), weil Git oder Ihr `WorktreeRemove`-Hook den Worktree nicht entfernen konnte, benennt die Nachricht die Ursache, einschließlich wie ein Hook endete und der Anfang seiner Stderr. Für einen verknüpften Worktree unter dem Repository-Verzeichnis `.claude/worktrees/` ohne nicht committete Änderungen an verfolgten Dateien, kein verschachteltes Repository darin und kein anderer Sitzungs-Datensatz, der ihn benennt, entfernt das erneute Löschen der Sitzung das Verzeichnis trotzdem, aus der Agenten-Ansicht oder mit `claude rm <id> --force-remove-worktree <worktree-id>`. Vor dieser Version zeigte die Zeile nur `worktree could not be removed (WorktreeRemove hook failed)` oder Gits Fehler, die Stderr des Hooks ging nur ins Debug-Protokoll, und das erneute Löschen wurde auf die gleiche Weise abgelehnt. |1051| v2.1.268 | Wenn ein [Löschen abgelehnt wird](#what-deleting-a-session-removes), weil Git oder Ihr `WorktreeRemove`-Hook den Worktree nicht entfernen konnte, benennt die Nachricht die Ursache, einschließlich wie ein Hook endete und der Anfang seiner Stderr. Für einen verknüpften Worktree unter dem Repository-Verzeichnis `.claude/worktrees/` ohne nicht committete Änderungen an verfolgten Dateien, kein verschachteltes Repository darin und kein anderer Sitzungs-Datensatz, der ihn benennt, entfernt das erneute Löschen der Sitzung das Verzeichnis trotzdem, aus der Agenten-Ansicht oder mit `claude rm <id> --force-remove-worktree <worktree-id>`. Vor dieser Version zeigte die Zeile nur `worktree could not be removed (WorktreeRemove hook failed)` oder Gits Fehler, die Stderr des Hooks ging nur ins Debug-Protokoll, und das erneute Löschen wurde auf die gleiche Weise abgelehnt. |

1052| v2.1.268 | Nachdem der erste `←` `Press ← again to open agents` oder `Press ← again to go back to agents` in einer angehängten Sitzung zeigt, [wechselt der erste Druck, der mindestens eine Sekunde später kommt](#switch-sessions-without-leaving-the-terminal), auch wenn schnellere Drücke dazwischen ignoriert wurden. Vor dieser Version startete jeder ignorierte Druck das Warten neu, sodass das Drücken von `←` in einem gleichmäßigen Tempo nicht wechselte, bis Sie über eine Sekunde pausiert haben. |

1049| v2.1.260 | Wenn Sie [eine Sitzung in den Hintergrund verschieben](#from-inside-a-session), zeigt die [Agenten-Auflistung](/docs/de/cross-session-messaging#see-which-sessions-claude-can-reach) Ihrer anderen Sitzungen die Unterhaltung einmal als ihre Hintergrund-Sitzung an, und ihre Nachrichten daran erreichen das Terminal nicht mehr, von dem Sie sie verschoben haben. Vor dieser Version konnte das Terminal als zweite interaktive Sitzung unter dem Namen der Unterhaltung aufgelistet bleiben, und eine Sitzung, die die Unterhaltung vor dem Verschieben benachrichtigt hatte, lieferte weiterhin an dieses Terminal. |1053| v2.1.260 | Wenn Sie [eine Sitzung in den Hintergrund verschieben](#from-inside-a-session), zeigt die [Agenten-Auflistung](/docs/de/cross-session-messaging#see-which-sessions-claude-can-reach) Ihrer anderen Sitzungen die Unterhaltung einmal als ihre Hintergrund-Sitzung an, und ihre Nachrichten daran erreichen das Terminal nicht mehr, von dem Sie sie verschoben haben. Vor dieser Version konnte das Terminal als zweite interaktive Sitzung unter dem Namen der Unterhaltung aufgelistet bleiben, und eine Sitzung, die die Unterhaltung vor dem Verschieben benachrichtigt hatte, lieferte weiterhin an dieses Terminal. |

1050| v2.1.260 | Wenn ein [Löschen über nicht gepushte Commits abgelehnt wird](#what-deleting-a-session-removes), benennt die Nachricht den Branch des Worktree und wie viele Commits nicht gepusht sind, und das erneute Löschen der Sitzung verwirft den Worktree und seine Commits. Vor dieser Version sagte die Ablehnung nur `worktree has commits that are not pushed anywhere`, das erneute Löschen wurde auf die gleiche Weise abgelehnt, und das Löschen der Sitzung erforderte das Pushen der Commits oder das manuelle Entfernen des Worktree. |1054| v2.1.260 | Wenn ein [Löschen über nicht gepushte Commits abgelehnt wird](#what-deleting-a-session-removes), benennt die Nachricht den Branch des Worktree und wie viele Commits nicht gepusht sind, und das erneute Löschen der Sitzung verwirft den Worktree und seine Commits. Vor dieser Version sagte die Ablehnung nur `worktree has commits that are not pushed anywhere`, das erneute Löschen wurde auf die gleiche Weise abgelehnt, und das Löschen der Sitzung erforderte das Pushen der Commits oder das manuelle Entfernen des Worktree. |

1051| v2.1.257 | `←` [trennt sich von einer angehängten Sitzung, während die `/btw`-Überlagerung offen ist](#attach-to-a-session), auch mitten in einer Antwort, und die Überlagerung öffnet sich erneut, wenn Sie sich das nächste Mal anhängen. Vor dieser Version trennte sich `←` nicht, während die Überlagerung offen war. |1055| v2.1.257 | `←` [trennt sich von einer angehängten Sitzung, während die `/btw`-Überlagerung offen ist](#attach-to-a-session), auch mitten in einer Antwort, und die Überlagerung öffnet sich erneut, wenn Sie sich das nächste Mal anhängen. Vor dieser Version trennte sich `←` nicht, während die Überlagerung offen war. |

agents.md +5 −4

Details

4 4 

5# Agenten parallel ausführen5# Agenten parallel ausführen

6 6 

7> Vergleichen Sie die Möglichkeiten, wie Claude Code mehrere Aufgaben gleichzeitig bewältigen kann: Subagenten, Agent-Ansicht, Agent-Teams und dynamische Workflows.7> Vergleichen Sie die Möglichkeiten, wie Claude Code mehrere Aufgaben gleichzeitig bewältigen kann: Subagenten, Agent-Ansicht, Agent-Teams, dynamische Workflows und Projekte.

8 8 

9[Subagenten](/docs/de/sub-agents), [Agent-Ansicht](/docs/de/agent-view), [Agent-Teams](/docs/de/agent-teams) und [dynamische Workflows](/docs/de/workflows) parallelisieren die Arbeit jeweils auf unterschiedliche Weise. Die richtige Wahl hängt davon ab, ob Sie in jeder Konversation selbst bleiben möchten, Aufgaben delegieren und später überprüfen möchten, oder ob Claude eine Gruppe von Mitarbeitern für Sie koordinieren soll.9Claude Code hat fünf Möglichkeiten, um mehrere Aufgaben gleichzeitig zu bewältigen: [Subagenten](/docs/de/sub-agents), [Agent-Ansicht](/docs/de/agent-view), [Agent-Teams](/docs/de/agent-teams), [dynamische Workflows](/docs/de/workflows) und [Projekte](/docs/de/claude-projects). Sie unterscheiden sich darin, wie sehr Sie involviert bleiben, von der Steuerung jeder Konversation selbst bis hin zur Koordination einer Gruppe von Mitarbeitern durch Claude, und ob die Arbeit auf Ihrem Computer oder in der Cloud ausgeführt wird.

10 10 

11| Ansatz | Was Sie erhalten | Verwenden Sie es, wenn |11| Ansatz | Was Sie erhalten | Verwenden Sie es, wenn |

12| :------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |12| :------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

13| [Subagenten](/docs/de/sub-agents) | Delegierte Mitarbeiter in einer Sitzung, die eine Nebenaufgabe in ihrem eigenen Kontext ausführen und eine Zusammenfassung zurückgeben | Eine Nebenaufgabe würde Ihre Hauptkonversation mit Suchergebnissen, Protokollen oder Dateiinhalten überfluten, auf die Sie nicht mehr verweisen werden |13| [Subagenten](/docs/de/sub-agents) | Delegierte Mitarbeiter in einer Sitzung, die eine Nebenaufgabe in ihrem eigenen Kontext ausführen und eine Zusammenfassung zurückgeben | Eine Nebenaufgabe würde Ihre Hauptkonversation mit Suchergebnissen, Protokollen oder Dateiinhalten überfluten, auf die Sie nicht mehr verweisen werden |

14| [Agent-Ansicht](/docs/de/agent-view) | Ein Bildschirm zum Versenden und Überwachen von Sitzungen, die im Hintergrund ausgeführt werden, geöffnet mit `claude agents`. Forschungsvorschau | Sie haben mehrere unabhängige Aufgaben und möchten diese delegieren, den Status auf einen Blick überprüfen und nur eingreifen, wenn eine Aufgabe Sie benötigt |14| [Agent-Ansicht](/docs/de/agent-view) | Ein Bildschirm zum Versenden und Überwachen von Sitzungen, die im Hintergrund ausgeführt werden, geöffnet mit `claude agents`. Forschungsvorschau | Sie haben mehrere unabhängige Aufgaben und möchten diese delegieren, den Status auf einen Blick überprüfen und nur eingreifen, wenn eine Aufgabe Sie benötigt |

15| [Agent-Teams](/docs/de/agent-teams) | Mehrere koordinierte Sitzungen mit einer gemeinsamen Aufgabenliste und Messaging zwischen Agenten, verwaltet von einem Lead. Experimentell und standardmäßig deaktiviert | Sie möchten, dass Claude ein Projekt in Teile aufteilt, diese zuweist und die Mitarbeiter synchron hält |15| [Agent-Teams](/docs/de/agent-teams) | Mehrere koordinierte Sitzungen mit einer gemeinsamen Aufgabenliste und Messaging zwischen Agenten, verwaltet von einem Lead. Experimentell und standardmäßig deaktiviert | Sie möchten, dass Claude ein Projekt in Teile aufteilt, diese zuweist und die Mitarbeiter synchron hält |

16| [Projekte](/docs/de/claude-projects) | Eine laufende Konversation auf claude.ai/code oder in der Desktop-App. Claude startet parallele Cloud-Sitzungen namens Threads, gibt jedem die Repositories, Anweisungen und den Speicher des Projekts und zeigt Ihnen, welche Sie benötigen. Öffentliche Beta auf Pro und Max | Die Arbeit erstreckt sich über viele Aufgaben über Tage oder Wochen, sollte weiterlaufen, wenn Ihr Computer ausgeschaltet ist, und Sie möchten sie lieber einmal beschreiben, als jede Sitzung zu versenden und zu verfolgen |

16| [Dynamische Workflows](/docs/de/workflows) | Ein Skript, das viele Subagenten ausführt und deren Ergebnisse überprüft, für einen Job, der zu groß ist, um ihn in einem Durchgang zu koordinieren, oder der mehr als einen einzelnen Durchgang benötigt | Ein Job wächst über eine Handvoll Subagenten hinaus, oder Sie möchten, dass Ergebnisse gegeneinander überprüft werden: ein codebase-weites Audit, eine 500-Datei-Migration, überprüfte Recherche oder ein Plan, der aus mehreren Blickwinkeln entworfen wurde |17| [Dynamische Workflows](/docs/de/workflows) | Ein Skript, das viele Subagenten ausführt und deren Ergebnisse überprüft, für einen Job, der zu groß ist, um ihn in einem Durchgang zu koordinieren, oder der mehr als einen einzelnen Durchgang benötigt | Ein Job wächst über eine Handvoll Subagenten hinaus, oder Sie möchten, dass Ergebnisse gegeneinander überprüft werden: ein codebase-weites Audit, eine 500-Datei-Migration, überprüfte Recherche oder ein Plan, der aus mehreren Blickwinkeln entworfen wurde |

17 18 

18In jedem Ansatz sind die Mitarbeiter Claude-Sitzungen. Um ein anderes Tool einzubeziehen, stellen Sie es Claude als [MCP-Server](/docs/de/mcp) zur Verfügung.19In jedem Ansatz sind die Mitarbeiter Claude-Sitzungen. Um ein anderes Tool einzubeziehen, stellen Sie es Claude als [MCP-Server](/docs/de/mcp) zur Verfügung.


20Drei weitere Tools unterstützen diese Arbeit, ohne selbst eine Möglichkeit zu sein, Agenten auszuführen:21Drei weitere Tools unterstützen diese Arbeit, ohne selbst eine Möglichkeit zu sein, Agenten auszuführen:

21 22 

22* [Worktrees](/docs/de/worktrees) geben jeder Sitzung einen separaten Git-Checkout, sodass parallele Sitzungen niemals dieselben Dateien bearbeiten. Verwenden Sie sie für Sitzungen, die Sie selbst ausführen. Eine Sitzung, die Sie aus der Agent-Ansicht versenden, [wird vor der Bearbeitung von Dateien in ihren eigenen Worktree verschoben](/docs/de/agent-view#how-file-edits-are-isolated), und Subagenten, die Sie spawnen, können jeweils einen erhalten.23* [Worktrees](/docs/de/worktrees) geben jeder Sitzung einen separaten Git-Checkout, sodass parallele Sitzungen niemals dieselben Dateien bearbeiten. Verwenden Sie sie für Sitzungen, die Sie selbst ausführen. Eine Sitzung, die Sie aus der Agent-Ansicht versenden, [wird vor der Bearbeitung von Dateien in ihren eigenen Worktree verschoben](/docs/de/agent-view#how-file-edits-are-isolated), und Subagenten, die Sie spawnen, können jeweils einen erhalten.

23* [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging) ermöglicht es Claude, Ihre anderen Claude Code-Sitzungen auf diesem Computer, auf einem anderen Computer oder auf [Claude Code im Web](/docs/de/claude-code-on-the-web) aufzulisten und zu kontaktieren, sodass Sitzungen, die Sie selbst ausführen, Ergebnisse und Status untereinander weitergeben können.24* [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging) ermöglicht es Claude, Ihre anderen Claude Code-Sitzungen auf diesem Computer, auf einem anderen Computer oder [in der Cloud](/docs/de/claude-code-on-the-web) aufzulisten und zu kontaktieren, sodass Sitzungen, die Sie selbst ausführen, Ergebnisse und Status untereinander weitergeben können.

24* [`/batch`](/docs/de/commands) ist ein [Skill](/docs/de/skills), der Claude eine große Änderung in 5 bis 30 Worktree-isolierte Subagenten aufteilt, die jeweils einen Pull Request öffnen. Es ist eine gepackte Verwendung von Subagenten und Worktrees, keine separate Koordinationsstil.25* [`/batch`](/docs/de/commands) ist ein [Skill](/docs/de/skills), der Claude eine große Änderung in 5 bis 30 Worktree-isolierte Subagenten aufteilt, die jeweils einen Pull Request öffnen. Es ist eine gepackte Verwendung von Subagenten und Worktrees, keine separate Koordinationsstil.

25 26 

26Einige andere Funktionen führen Claude aus, ohne dass Sie jeden Schritt steuern, aber sie lösen ein anderes Problem als die Aufteilung der Arbeit auf Agenten:27Einige andere Funktionen führen Claude aus, ohne dass Sie jeden Schritt steuern, aber sie lösen ein anderes Problem als die Aufteilung der Arbeit auf Agenten:

Details

237}237}

238```238```

239 239 

240Ab Claude Code v2.1.181 wird auch die flache Ausgabe von `aws configure export-credentials --format process` akzeptiert, mit denselben Schlüsseln auf der obersten Ebene statt verschachtelt unter `Credentials`.240Die flache Ausgabe von `aws configure export-credentials --format process` wird ebenfalls akzeptiert, mit denselben Schlüsseln auf der obersten Ebene statt verschachtelt unter `Credentials`.

241 241 

242`Expiration` ist optional. Wenn der Befehl ein gültiges ISO 8601-`Expiration` zurückgibt, speichert Claude Code die Anmeldedaten im Cache, bis fünf Minuten vor dieser Zeit. Ohne es werden Anmeldedaten für eine Stunde zwischengespeichert.242`Expiration` ist optional. Wenn der Befehl ein gültiges ISO 8601-`Expiration` zurückgibt, speichert Claude Code die Anmeldedaten im Cache, bis fünf Minuten vor dieser Zeit. Ohne es werden Anmeldedaten für eine Stunde zwischengespeichert.

243 243 


518 Verwenden Sie den Mantle-Endpunkt518 Verwenden Sie den Mantle-Endpunkt

519</h2>519</h2>

520 520 

521Mantle ist ein Amazon Bedrock-Endpunkt, der Claude-Modelle über die native Anthropic API-Form statt über die Amazon Bedrock Invoke API bereitstellt. Er verwendet die gleichen AWS-Anmeldedaten, IAM-Berechtigungen und `awsAuthRefresh`-Konfiguration, die weiter oben auf dieser Seite beschrieben sind.521Mantle ist ein Amazon Bedrock-Endpunkt, der Claude-Modelle über die native Anthropic API-Form statt über die Amazon Bedrock Invoke API bereitstellt. Er verwendet die gleichen [AWS-Anmeldedaten](#2-configure-aws-credentials), [IAM-Berechtigungen](#iam-configuration) und [`awsAuthRefresh`-Konfiguration](#advanced-credential-configuration).

522 522 

523<h3 id="enable-mantle">523<h3 id="enable-mantle">

524 Aktivieren Sie Mantle524 Aktivieren Sie Mantle

artifacts.md +4 −4

Details

10 Artefakte sind auf Pro-, Max-, Team- und Enterprise-Plänen verfügbar und erfordern eine Sitzung, die mit [`/login`](/docs/de/setup#authenticate) angemeldet ist. Siehe [Verfügbarkeit](#availability) für die vollständige Liste der Anforderungen.10 Artefakte sind auf Pro-, Max-, Team- und Enterprise-Plänen verfügbar und erfordern eine Sitzung, die mit [`/login`](/docs/de/setup#authenticate) angemeldet ist. Siehe [Verfügbarkeit](#availability) für die vollständige Liste der Anforderungen.

11</Note>11</Note>

12 12 

13Ein Artefakt ist eine Live-, interaktive Webseite, die Claude Code aus Ihrer Sitzung auf einer privaten URL auf claude.ai veröffentlicht. Sie öffnen sie in einem Browser, und sie wird aktualisiert, während die Sitzung fortgesetzt wird. Teilen Sie sie über die Kopfzeile der Seite, wenn jemand anderes sie auch sehen soll.13Ein [Artefakt](https://claude.com/features/artifacts) ist eine Live-, interaktive Webseite, die Claude Code aus Ihrer Sitzung auf einer privaten URL auf claude.ai veröffentlicht. Sie öffnen sie in einem Browser, und sie wird aktualisiert, während die Sitzung fortgesetzt wird. Teilen Sie sie über die Kopfzeile der Seite, wenn jemand anderes sie auch sehen soll.

14 14 

15<Frame>15<Frame>

16 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Ein Artefakt, das in einem Browser unter claude.ai/code/artifact geöffnet ist. Die Kopfzeile des Viewers zeigt den Artefakttitel acme-funnel-fix, eine Schaltfläche zum Freigeben und den Avatar des Autors. Das Freigabemenü ist offen mit dem Schalter „Immer neueste Version freigeben&#x22;, einer Versionswahl mit der Anzeige „Freigabe Version 2&#x22;, einer Zielgruppenauswahl „Alle bei Acme&#x22; und einer Schaltfläche zum Kopieren des Links. Unter der Kopfzeile zeigt die Artefaktseite zwei mobile Mockups nebeneinander, ein Trichterdiagramm und eine Reihe von Metrik-Karten." width="2511" height="1890" data-path="images/artifacts-viewer.png" />16 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Ein Artefakt, das in einem Browser unter claude.ai/code/artifact geöffnet ist. Die Kopfzeile des Viewers zeigt den Artefakttitel acme-funnel-fix, eine Schaltfläche zum Freigeben und den Avatar des Autors. Das Freigabemenü ist offen mit dem Schalter „Immer neueste Version freigeben&#x22;, einer Versionswahl mit der Anzeige „Freigabe Version 2&#x22;, einer Zielgruppenauswahl „Alle bei Acme&#x22; und einer Schaltfläche zum Kopieren des Links. Unter der Kopfzeile zeigt die Artefaktseite zwei mobile Mockups nebeneinander, ein Trichterdiagramm und eine Reihe von Metrik-Karten." width="2511" height="1890" data-path="images/artifacts-viewer.png" />


142Read the comments on https://claude.ai/code/artifact/5fbea6f3-... and make the changes the commenters ask for.142Read the comments on https://claude.ai/code/artifact/5fbea6f3-... and make the changes the commenters ask for.

143```143```

144 144 

145Wenn Claude Ihnen sagt, dass es keine Kommentare lesen kann, überprüfen Sie drei Dinge:145Wenn Claude Ihnen sagt, dass es keine Kommentare lesen kann, bestätigen Sie Ihre Version, Ihre Sitzung und Ihre Feature-Flag-Einstellung:

146 146 

147* Sie führen Claude Code v2.1.221 oder später aus.147* Sie führen Claude Code v2.1.221 oder später aus.

148* Sie befinden sich nicht in Ihrer ersten Sitzung, seit Sie Claude Code installiert oder von einer Version vor v2.1.221 aktualisiert haben. In dieser [ersten Sitzung nach einer Installation oder einem Upgrade](/docs/de/env-vars#first-session-after-an-install-or-upgrade) kann Claude möglicherweise noch keine Kommentare lesen; starten Sie eine neue Sitzung und fragen Sie erneut.148* Sie befinden sich nicht in Ihrer ersten Sitzung, seit Sie Claude Code installiert oder von einer Version vor v2.1.221 aktualisiert haben. In dieser [ersten Sitzung nach einer Installation oder einem Upgrade](/docs/de/env-vars#first-session-after-an-install-or-upgrade) kann Claude möglicherweise noch keine Kommentare lesen; starten Sie eine neue Sitzung und fragen Sie erneut.


291 Verbessern Sie das visuelle Design291 Verbessern Sie das visuelle Design

292</h2>292</h2>

293 293 

294Claude wendet eine integrierte Design-Fähigkeit an, wenn es ein Artefakt erstellt, sodass Seiten eine absichtliche Palette, Typografie und Layout ohne zusätzliche Aufforderung erhalten. Erfordert Claude Code v2.1.182 oder später. Diese Fähigkeit sucht auch nach einem vorhandenen Design-System in Ihrem Projekt, bevor es sein eigenes auswählt. Design-Token sind die benannten Farb-, Typografie- und Abstands-Werte, die Ihr Design-System wiederverwenden. Um Artefakte konsistent mit dem Branding Ihres Produkts zu halten, notieren Sie sie dort, wo Claude sie finden kann, wie in der [CLAUDE.md](/docs/de/memory) des Projekts oder einer Theme-Datei in Ihrem Repository:294Claude wendet eine integrierte Design-Fähigkeit an, wenn es ein Artefakt erstellt, sodass Seiten eine absichtliche Palette, Typografie und Layout ohne zusätzliche Aufforderung erhalten. Diese Fähigkeit sucht auch nach einem vorhandenen Design-System in Ihrem Projekt, bevor es sein eigenes auswählt. Design-Token sind die benannten Farb-, Typografie- und Abstands-Werte, die Ihr Design-System wiederverwenden. Um Artefakte konsistent mit dem Branding Ihres Produkts zu halten, notieren Sie sie dort, wo Claude sie finden kann, wie in der [CLAUDE.md](/docs/de/memory) des Projekts oder einer Theme-Datei in Ihrem Repository:

295 295 

296```markdown theme={null}296```markdown theme={null}

297## Design system297## Design system


331| Kein Backend | Ein Artefakt ist eine statische Seite. Es kann Betrachter nicht selbst authentifizieren. |331| Kein Backend | Ein Artefakt ist eine statische Seite. Es kann Betrachter nicht selbst authentifizieren. |

332| Downloads | Die Seite kann einen Download nicht selbst starten. Um Betrachtern zu ermöglichen, eine Datei zu speichern, die die Seite generiert, erklärt Claude die Downloads-Funktion. Siehe [Eine Datei zum Download anbieten](#offer-a-file-download). |332| Downloads | Die Seite kann einen Download nicht selbst starten. Um Betrachtern zu ermöglichen, eine Datei zu speichern, die die Seite generiert, erklärt Claude die Downloads-Funktion. Siehe [Eine Datei zum Download anbieten](#offer-a-file-download). |

333| Einzelne Seite | Relative Links werden nicht aufgelöst, da nichts neben der Seite bereitgestellt wird. Für mehrteilige Inhalte verwendet Claude In-Page-Anker anstelle von separaten Dateien. |333| Einzelne Seite | Relative Links werden nicht aufgelöst, da nichts neben der Seite bereitgestellt wird. Für mehrteilige Inhalte verwendet Claude In-Page-Anker anstelle von separaten Dateien. |

334| Quelldateitypen | Die veröffentlichte Datei muss `.html`, `.htm` oder `.md` sein und muss als UTF-8 oder als Little-Endian-UTF-16 durch ihre Byte-Order-Marke dekodierbar sein. Markdown-Dateien werden als gestyltes HTML gerendert. Eine Datei, die nicht dekodierbar ist oder das Ersatzzeichen `U+FFFD` enthält, wird [mit der Zeile und Spalte zum Beheben abgelehnt](/docs/de/errors#the-source-file-is-not-valid-utf-8-text). |334| Quelldateitypen | Die veröffentlichte Datei muss `.html`, `.htm` oder `.md` sein und muss als UTF-8 oder als Little-Endian-UTF-16 durch ihre Byte-Order-Marke dekodierbar sein. Markdown-Dateien werden als gestyltes Dokument mit Syntax-Highlighting für Code gerendert. Eine Datei, die nicht dekodierbar ist oder das Ersatzzeichen `U+FFFD` enthält, wird [mit der Zeile und Spalte zum Beheben abgelehnt](/docs/de/errors#the-source-file-is-not-valid-utf-8-text). |

335| Gerenderte Größe | Die gerenderte Seite muss 16 MiB oder kleiner sein. Große eingebettete Bilder sind die übliche Ursache, wenn eine Veröffentlichung aus Größengründen fehlschlägt. |335| Gerenderte Größe | Die gerenderte Seite muss 16 MiB oder kleiner sein. Große eingebettete Bilder sind die übliche Ursache, wenn eine Veröffentlichung aus Größengründen fehlschlägt. |

336 336 

337Das Generieren eines Artefakts verwendet Ausgabe-Token wie jede andere Antwort, und eine gestylte Seite ist token-intensiver als derselbe Inhalt als Terminaltext. Inline-CSS, JavaScript für interaktive Steuerelemente und besonders Bilder, die als Data-URIs eingebettet sind, sind die Hauptbeiträge. Um die Token-Kosten eines Artefakts zu reduzieren:337Das Generieren eines Artefakts verwendet Ausgabe-Token wie jede andere Antwort, und eine gestylte Seite ist token-intensiver als derselbe Inhalt als Terminaltext. Inline-CSS, JavaScript für interaktive Steuerelemente und besonders Bilder, die als Data-URIs eingebettet sind, sind die Hauptbeiträge. Um die Token-Kosten eines Artefakts zu reduzieren:

Details

6 6 

7> Melden Sie sich bei Claude Code an und konfigurieren Sie die Authentifizierung für Einzelpersonen, Teams und Organisationen.7> Melden Sie sich bei Claude Code an und konfigurieren Sie die Authentifizierung für Einzelpersonen, Teams und Organisationen.

8 8 

9Claude Code unterstützt mehrere Authentifizierungsmethoden je nach Ihrer Einrichtung. Einzelne Benutzer können sich mit einem Claude.ai-Konto anmelden, während Teams Claude for Teams oder Enterprise, die Claude Console oder einen Cloud-Anbieter wie Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verwenden können.9Claude Code unterstützt mehrere Authentifizierungsmethoden je nach Ihrer Einrichtung. Einzelne Benutzer können sich mit einem claude.ai-Konto anmelden, während Teams Claude for Teams oder Enterprise, die Claude Console oder einen Cloud-Anbieter wie Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verwenden können.

10 10 

11<h2 id="log-in-to-claude-code">11<h2 id="log-in-to-claude-code">

12 Melden Sie sich bei Claude Code an12 Melden Sie sich bei Claude Code an


22 22 

23Sie können sich mit einem dieser Kontotypen authentifizieren:23Sie können sich mit einem dieser Kontotypen authentifizieren:

24 24 

25* **Claude Pro oder Max Abonnement**: Melden Sie sich mit Ihrem Claude.ai-Konto an. Abonnieren Sie unter [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).25* **Claude Pro oder Max Abonnement**: Melden Sie sich mit Ihrem claude.ai-Konto an. Abonnieren Sie unter [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

26* **Claude for Teams oder Enterprise**: Melden Sie sich mit dem Claude.ai-Konto an, zu dem Sie Ihr Team-Administrator eingeladen hat.26* **Claude for Teams oder Enterprise**: Melden Sie sich mit dem claude.ai-Konto an, zu dem Sie Ihr Team-Administrator eingeladen hat.

27* **Claude Console**: Melden Sie sich mit Ihren Console-Anmeldedaten an. Ihr Administrator muss Sie zunächst [eingeladen haben](#claude-console-authentication). Sie können sich mit oder ohne [Erstellen eines API-Schlüssels](#sign-in-without-an-api-key) anmelden.27* **Claude Console**: Melden Sie sich mit Ihren Console-Anmeldedaten an. Ihr Administrator muss Sie zunächst [eingeladen haben](#claude-console-authentication). Sie können sich mit oder ohne [Erstellen eines API-Schlüssels](#sign-in-without-an-api-key) anmelden.

28* **Cloud-Anbieter**: Wenn Ihre Organisation [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) oder [Microsoft Foundry](/docs/de/microsoft-foundry) verwendet, legen Sie die erforderlichen Umgebungsvariablen fest, bevor Sie `claude` ausführen, oder wählen Sie **3rd-party platform** bei der Anmeldeeingabeaufforderung aus, die einen interaktiven Setup-Assistenten für Bedrock und Vertex AI startet. Es ist keine Browser-Anmeldung erforderlich.28* **Cloud-Anbieter**: Wenn Ihre Organisation [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) oder [Microsoft Foundry](/docs/de/microsoft-foundry) verwendet, legen Sie die erforderlichen Umgebungsvariablen fest, bevor Sie `claude` ausführen, oder wählen Sie **3rd-party platform** bei der Anmeldeeingabeaufforderung aus, die einen interaktiven Setup-Assistenten für Bedrock und Vertex AI startet. Es ist keine Browser-Anmeldung erforderlich.

29* **Cloud-Gateway**: Wenn Ihre Organisation ein selbstgehostetes [Claude Apps Gateway](/docs/de/claude-apps-gateway) betreibt, melden Sie sich über `/login` mit Corporate SSO an. Das vom Gateway ausgegebene Token ist die einzige Anmeldeinformation der Sitzung.29* **Cloud-Gateway**: Wenn Ihre Organisation ein selbstgehostetes [Claude Apps Gateway](/docs/de/claude-apps-gateway) betreibt, melden Sie sich über `/login` mit Corporate SSO an. Das vom Gateway ausgegebene Token ist die einzige Anmeldeinformation der Sitzung.


66 </Step>66 </Step>

67 67 

68 <Step title="Installieren und anmelden">68 <Step title="Installieren und anmelden">

69 Team-Mitglieder installieren Claude Code und melden sich mit ihren Claude.ai-Konten an.69 Team-Mitglieder installieren Claude Code und melden sich mit ihren claude.ai-Konten an.

70 </Step>70 </Step>

71</Steps>71</Steps>

72 72 


236 236 

237Führen Sie `unset ANTHROPIC_API_KEY` aus, um auf Ihr Abonnement zurückzugreifen, und überprüfen Sie `/status`, um zu bestätigen, welche Methode aktiv ist. Wenn sowohl eine Anmeldung als auch ein API-Schlüssel konfiguriert sind, markiert `/status` die Anmeldedaten, die nicht verwendet werden.237Führen Sie `unset ANTHROPIC_API_KEY` aus, um auf Ihr Abonnement zurückzugreifen, und überprüfen Sie `/status`, um zu bestätigen, welche Methode aktiv ist. Wenn sowohl eine Anmeldung als auch ein API-Schlüssel konfiguriert sind, markiert `/status` die Anmeldedaten, die nicht verwendet werden.

238 238 

239[Claude Code im Web](/docs/de/claude-code-on-the-web) verwendet immer Ihre Abonnement-Anmeldedaten. Wenn Sie `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN` in der Sandbox-Umgebung gesetzt haben, überschreiben diese nicht Ihre Abonnement-Anmeldedaten.239[Claude Code im Web](/docs/de/claude-code-on-the-web) verwendet immer Ihre Abonnement-Anmeldedaten. Wenn Sie `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN` in der Cloud-Umgebung gesetzt haben, überschreiben diese nicht Ihre Abonnement-Anmeldedaten.

240 240 

241<h4 id="anthropic-profiles-and-federation-credentials">241<h4 id="anthropic-profiles-and-federation-credentials">

242 Anthropic-Profile und Verbundsanmeldedaten242 Anthropic-Profile und Verbundsanmeldedaten

Details

95 95 

96Ab Claude Code v2.1.198 gibt `claude auto-mode defaults` drei Arten von Umgebungseinträgen aus. Versionen vor v2.1.195 geben nur die ersten fünf Vertrauensplätze aus.96Ab Claude Code v2.1.198 gibt `claude auto-mode defaults` drei Arten von Umgebungseinträgen aus. Versionen vor v2.1.195 geben nur die ersten fünf Vertrauensplätze aus.

97 97 

98* **Kontextplätze**: beschreiben Ihre Organisation, Ihren Stack und Ihre Sicherheitslage, damit der Klassifizierer die anderen Regeln in Ihrem Kontext liest. Jeder hat einen Standard von `None configured` oder zur konservativen Annahme, die daneben benannt ist:98* **Kontextplätze**: beschreiben Ihre Organisation, Ihren Stack und Ihre Sicherheitslage, damit der Klassifizierer die anderen Regeln in Ihrem Kontext liest. Jeder hat standardmäßig den Wert `None configured` oder die neben ihm genannte konservative Annahme:

99 * **Organisation**99 * **Organisation**

100 * **Primäre Verwendung von Claude Code**: Standard ist Softwareentwicklung100 * **Primäre Verwendung von Claude Code**: standardmäßig Softwareentwicklung

101 * **Cloud-Anbieter**101 * **Cloud-Anbieter**

102 * **Repository-Sichtbarkeit**: Ein Repository wird als privat angenommen, es sei denn, sein Remote-Host und Name deuten anderes an, oder eine Sichtbarkeitsprüfung früher im Gespräch, die der Klassifizierer liest, zeigt, dass es öffentlich ist. Der Klassifizierer liest Ihre Nachrichten und die Befehle, die Claude ausführt, nicht deren Ausgabe, daher muss der Beweis etwas sein, das er lesen kann, wie Ihre eigene Nachricht, die das Repository als öffentlich benennt; die Ausgabe eines `gh repo view` allein erreicht ihn nicht. Die Transkript-Beweis-Prüfung erfordert Claude Code v2.1.200 oder später102 * **Repository-Sichtbarkeit**: Ein Repository wird als privat angenommen, es sei denn, sein Remote-Host und Name deuten darauf hin, dass es anders ist, oder der Klassifizierer liest eine Sichtbarkeitsprüfung früher im Gespräch, die zeigt, dass es öffentlich ist.

103 

104 In den Klassifizierer-Anfragen, die Claude Code selbst sendet, liest der Klassifizierer Ihre Nachrichten und die Befehle, die Claude ausführt, nicht deren Ausgabe. Der Beweis muss etwas sein, das der Klassifizierer lesen kann, wie Ihre eigene Nachricht, die das Repository als öffentlich benennt; die Ausgabe eines `gh repo view` allein erreicht ihn nicht. Die Transkript-Beweis-Prüfung erfordert Claude Code v2.1.200 oder später

103 * **Interne Freigabe / Snippet-Hosting**: öffentliche Paste- und Gist-Services werden als außerhalb der Vertrauensgrenze behandelt, bis Sie einen benennen105 * **Interne Freigabe / Snippet-Hosting**: öffentliche Paste- und Gist-Services werden als außerhalb der Vertrauensgrenze behandelt, bis Sie einen benennen

104 * **Organisations-spezifische CLIs**106 * **Organisations-spezifische CLIs**

105 * **Secrets-Management**107 * **Secrets-Management**

106 * **CI/CD-Bereitstellungsziele**108 * **CI/CD-Bereitstellungsziele**

107 * **Netzwerk-Postur**109 * **Netzwerk-Postur**

108 * **Host-Containment**: Standard ist ein gewöhnlicher Entwickler-Rechner oder CI-Runner mit offenem Internet. Wenn Claude Code in einem Container, einer VM oder einem Pod mit einer Egress-Allow-Liste oder Nachbarn läuft, die es nicht berühren darf, benennen Sie die zulässigen Hosts, ob der Cloud-Metadaten-Endpunkt erreichbar sein sollte, und welches Cloud-Projekt, Cluster oder Registry die Aufgabe nutzt und unter welcher Identität. Bis dieser Eintrag diese Identität benennt, [blockiert](/docs/de/permission-modes#what-the-classifier-blocks-by-default) der Klassifizierer Anfragen für die eigenen Anmeldedaten des Hosts. Erfordert Claude Code v2.1.257 oder später110 * **Host-Containment**: standardmäßig ein gewöhnlicher Entwickler-Rechner oder CI-Runner mit offenem Internet. Wenn Claude Code in einem Container, einer VM oder einem Pod mit einer Egress-Allow-Liste oder Nachbarn läuft, die es nicht berühren darf, benennen Sie die zulässigen Hosts, ob der Cloud-Metadaten-Endpunkt erreichbar sein sollte, und welches Cloud-Projekt, Cluster oder Registry die Aufgabe nutzt und unter welcher Identität. Bis dieser Eintrag diese Identität benennt, [blockiert](/docs/de/permission-modes#what-the-classifier-blocks-by-default) der Klassifizierer Anfragen für die eigenen Anmeldedaten des Hosts. Erfordert Claude Code v2.1.257 oder später

109 * **Geschützte Bereitstellungs-Namespaces / Umgebungen**: fällt auf die Heuristik für sensible Remote-Ziele zurück, bis Sie diese benennen111 * **Geschützte Bereitstellungs-Namespaces / Umgebungen**: fällt auf die Heuristik für sensible Remote-Ziele zurück, bis Sie diese benennen

110 * **Datenspeicherung / Klassifizierungsaufhebung**112 * **Datenspeicherung / Deklassifizierung**

111* **Vertrauensplätze**: benennen, was der Klassifizierer als innerhalb Ihrer Grenze behandelt. Die Plätze sind Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services und Internal package registry. Die Repo- und Source-Control-Einträge haben Standard auf das Arbeits-Repository und seine konfigurierten Remotes. Jeder andere Vertrauensplatz hat Standard auf `None configured`, daher ist nichts anderes vertrauenswürdig, bis Sie es hinzufügen. Die Sichtbarkeit eines Repositorys umfasst nur vertrauliches Material: Ein privates Repository ist ein akzeptables Ziel für vertrauliches Material, aber ein Repository privat zu machen löscht niemals Secrets oder persönliche oder anvertraute Daten darin, und der Klassifizierer behandelt Inhalte, die von außerhalb des Arbeits-Repositorys portiert, umgeleitet oder zuerst gelesen werden, als nicht die eigene Arbeit dieses Repositorys. Diese Scoping erfordert Claude Code v2.1.203 oder später.113* **Vertrauensplätze**: benennen, was der Klassifizierer als innerhalb Ihrer Grenze behandelt. Die Plätze sind Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services und Internal package registry. Die Repo- und Source-Control-Einträge haben standardmäßig das funktionierende Repository und seine konfigurierten Remotes. Jeder andere Vertrauensplatz hat standardmäßig den Wert `None configured`, sodass nichts anderes vertrauenswürdig ist, bis Sie es hinzufügen. Die Sichtbarkeit eines Repositorys bezieht sich nur auf vertrauliches Material: Ein privates Repository ist ein akzeptables Ziel für vertrauliches Material, aber das Privatmachen eines Repositorys ermöglicht niemals das Verschieben von Secrets oder persönlichen oder anvertrauten Daten in dieses Repository, und der Klassifizierer behandelt Inhalte, die von außerhalb des funktionierenden Repositorys portiert, umgeleitet oder erstmals gelesen werden, als nicht das eigene Werk dieses Repositorys. Diese Scoping-Anforderung erfordert Claude Code v2.1.203 oder später.

112* **Sensibilitätsplätze**: benennen, was die Schutzregeln als hochriskant behandeln. Die Plätze sind Sensitive data locations & audiences, Sensitive remote targets und Protected IaC scopes. Jeder hat Standard auf eine breite Heuristik, wie das Behandeln jedes Hosts oder Namespace, dessen Name `prod` oder `production` trägt, als sensibles Remote-Ziel, daher sind die Schutzregeln aktiv, bevor Sie etwas konfigurieren. Das Benennen konkreter Ziele in einem Sensibilitätsplatz macht diese Regeln auf die benannten Ziele anwenden, anstatt auf die Heuristik.114* **Sensibilitätsplätze**: benennen, was die Schutzregeln als hochriskant behandeln. Die Plätze sind Sensitive data locations & audiences, Sensitive remote targets und Protected IaC scopes. Jeder hat standardmäßig eine breite Heuristik, wie das Behandeln eines beliebigen Hosts oder Namespace, dessen Name `prod` oder `production` trägt, als sensibles Remote-Ziel, sodass die Schutzregeln aktiv sind, bevor Sie etwas konfigurieren. Das Benennen konkreter Ziele in einem Sensibilitätsplatz lässt diese Regeln stattdessen auf die benannten Ziele angewendet werden.

113 115 

114<Info>Vor v2.1.211 enthielten die Kontextplätze auch einen Default / protected branches-Eintrag, der `main` und `master` als geschützt behandelte, bis Sie andere benannten. v2.1.211 entfernte ihn: [Pushes zu jedem Branch des Repositorys, an dem Sie arbeiten](#common-boundaries) sind standardmäßig zulässig, daher gibt es keinen geschützten-Branch-Standard zum Konfigurieren.</Info>116<Info>Vor v2.1.211 enthielten die Kontextplätze auch einen Eintrag für Standard / geschützte Branches, der `main` und `master` als geschützt behandelte, bis Sie andere benannten. v2.1.211 entfernte ihn: [Pushes zu jedem Branch des Repositorys, an dem Sie arbeiten](#common-boundaries) sind standardmäßig zulässig, sodass es keinen geschützten-Branch-Standard zu konfigurieren gibt.</Info>

115 117 

116Um Ihre eigenen Einträge neben den Standards hinzuzufügen, fügen Sie die wörtliche Zeichenkette `"$defaults"` im Array ein. Die Standard-Einträge werden an dieser Position eingefügt, daher können Ihre benutzerdefinierten Einträge vor oder nach ihnen gehen.118Um Ihre eigenen Einträge neben den Standardwerten hinzuzufügen, fügen Sie die wörtliche Zeichenkette `"$defaults"` in das Array ein. Die Standardeinträge werden an dieser Position eingefügt, sodass Ihre benutzerdefinierten Einträge vor oder nach ihnen stehen können.

117 119 

118Das folgende Beispiel behält die Standard-Einträge bei und fügt die Repos, Buckets, Domains und Services einer Organisation hinzu.120Das folgende Beispiel behält die Standardeinträge bei und fügt die Repos, Buckets, Domains und Services einer Organisation hinzu.

119 121 

120```json theme={null}122```json theme={null}

121{123{


131}133}

132```134```

133 135 

134Nachdem Sie Ihre Einstellungen gespeichert haben, führen Sie `claude auto-mode config` aus, um [zu bestätigen, dass die effektiven Regeln](#inspect-the-defaults-and-your-effective-config) Ihre Einträge enthalten.136Nachdem Sie Ihre Einstellungen gespeichert haben, führen Sie `claude auto-mode config` aus, um [zu bestätigen, dass die geltenden Regeln](#inspect-the-defaults-and-your-effective-config) Ihre Einträge enthalten.

135 137 

136Einträge sind Prosa, keine Regex oder Tool-Muster. Der Klassifizierer liest sie als natürlichsprachige Regeln. Schreiben Sie sie so, wie Sie Ihre Infrastruktur einem neuen Ingenieur beschreiben würden. Ein gründlicher Umgebungsabschnitt deckt ab:138Einträge sind Prosa, keine Regex oder Tool-Muster. Der Klassifizierer liest sie als natürlichsprachige Regeln. Schreiben Sie sie so, wie Sie Ihre Infrastruktur einem neuen Ingenieur beschreiben würden. Ein gründlicher Umgebungsabschnitt deckt ab:

137 139 

138* **Organisation**: Ihr Unternehmensname und wofür Claude Code hauptsächlich verwendet wird, wie Softwareentwicklung, Infrastruktur-Automatisierung oder Datentechnik140* **Organisation**: Ihr Unternehmensname und wofür Claude Code hauptsächlich verwendet wird, wie Softwareentwicklung, Infrastrukturautomatisierung oder Datentechnik

139* **Source Control**: jede GitHub-, GitLab- oder Bitbucket-Organisation, zu der Ihre Entwickler pushen141* **Source Control**: jede GitHub-, GitLab- oder Bitbucket-Organisation, in die Ihre Entwickler pushen

140* **Cloud-Anbieter und vertrauenswürdige Buckets**: Bucket-Namen oder Präfixe, aus denen Claude lesen und in die Claude schreiben kann142* **Cloud-Anbieter und vertrauenswürdige Buckets**: Bucketnamen oder Präfixe, aus denen und in die Claude lesen und schreiben können sollte

141* **Vertrauenswürdige interne Domains**: Hostnamen für APIs, Dashboards und Services in Ihrem Netzwerk, wie `*.internal.example.com`143* **Vertrauenswürdige interne Domains**: Hostnamen für APIs, Dashboards und Services in Ihrem Netzwerk, wie `*.internal.example.com`

142* **Wichtige interne Services**: CI, Artifact-Registries, interne Paket-Indizes, Incident-Tools144* **Wichtige interne Services**: CI, Artifact-Registries, interne Paketindizes, Incident-Tools

143* **Interne Paket-Registry**: die private npm-, PyPI- oder andere Registry, durch die Installationen laufen sollten, daher werden Installationen, die sie für eine öffentliche Registry umgehen, blockiert145* **Interne Paket-Registry**: die private npm-, PyPI- oder andere Registry, durch die Installationen laufen sollten, sodass Installationen, die sie für eine öffentliche Registry umgehen, blockiert werden

144* **Sensible Datenspeicherorte & Zielgruppen**: die Buckets, Datenbanken oder Pfade, die persönliche Daten, vertrauliche Geschäftsdaten, Anmeldedaten, regulierte Daten oder ähnlich sensibles Material enthalten, und die Zielgruppen, mit denen Daten an jedem Ort geteilt werden können, damit der Klassifizierer diese Orte schützt, anstatt vom Inhalt zu raten. Claude Code v2.1.195 bis v2.1.197 benennen diesen Eintrag PII / regulated-data locations und decken nur Orte ab, die persönliche oder regulierte Daten enthalten, ohne die Zielgruppen-Dimension146* **Sensible Datenspeicherorte & Zielgruppen**: die Buckets, Datenbanken oder Pfade, die persönliche Daten, vertrauliche Geschäftsdaten, Anmeldedaten, regulierte Daten oder ähnlich sensibles Material enthalten, und die Zielgruppen, mit denen Daten an jedem Speicherort geteilt werden dürfen, sodass der Klassifizierer diese Speicherorte schützt, anstatt vom Inhalt zu raten. Claude Code v2.1.195 bis v2.1.197 nennt diesen Eintrag PII / regulated-data locations und deckt nur Speicherorte ab, die persönliche oder regulierte Daten enthalten, ohne die Zielgruppen-Dimension

145* **Sensible Remote-Ziele**: die Namespaces, Hosts oder Container, die als Produktion zählen, daher benötigen Remote-Shells und Port-Forwards in sie Ihre ausdrückliche Genehmigung147* **Sensible Remote-Ziele**: die Namespaces, Hosts oder Container, die als Produktion zählen, sodass Remote-Shells und Port-Forwards in diese Ihre explizite Genehmigung benötigen

146* **Geschützte IaC-Bereiche**: die Infrastruktur-Ressourcen, deren Apply oder Destroy immer erfordern sollte, dass Sie die Änderung benennen148* **Geschützte IaC-Bereiche**: die Infrastruktur-Ressourcen, deren Apply oder Destroy immer erfordern sollte, dass Sie die Änderung benennen

147* **Zusätzlicher Kontext**: Constraints für regulierte Industrien, Multi-Tenant-Infrastruktur oder Compliance-Anforderungen, die beeinflussen, was der Klassifizierer als riskant behandeln sollte149* **Zusätzlicher Kontext**: Constraints für regulierte Industrien, Multi-Tenant-Infrastruktur oder Compliance-Anforderungen, die beeinflussen, was der Klassifizierer als riskant behandeln sollte

148 150 


167}169}

168```170```

169 171 

170Je spezifischer der Kontext, den Sie geben, desto besser kann der Klassifizierer Routine-Interne-Operationen von Exfiltrations-Versuchen unterscheiden.172Je spezifischer der Kontext ist, den Sie geben, desto besser kann der Klassifizierer Routine-Internaloperationen von Exfiltrationversuchen unterscheiden.

171 173 

172Sie müssen nicht alles auf einmal ausfüllen. Ein angemessener Rollout: Beginnen Sie mit den Standards und fügen Sie Ihre Source-Control-Organisation und wichtige interne Services hinzu, was die häufigsten False Positives wie das Pushen zu Ihren eigenen Repos behebt. Fügen Sie als nächstes vertrauenswürdige Domains und Cloud-Buckets hinzu. Füllen Sie den Rest aus, wenn Blockierungen auftreten.174Sie müssen nicht alles auf einmal ausfüllen. Ein angemessener Rollout: Beginnen Sie mit den Standardwerten und fügen Sie Ihre Source-Control-Organisation und wichtige interne Services hinzu, was die häufigsten falschen Positive wie das Pushen in Ihre eigenen Repos behebt. Fügen Sie als nächstes vertrauenswürdige Domains und Cloud-Buckets hinzu. Füllen Sie den Rest aus, wenn Blockierungen auftreten.

173 175 

174<h2 id="generate-environment-entries">176<h2 id="generate-environment-entries">

175 Umgebungseinträge mit `/auto-mode-setup` generieren177 Umgebungseinträge mit `/auto-mode-setup` generieren


178Führen Sie `/auto-mode-setup` aus, damit Claude Code `autoMode.environment`-Einträge und manchmal auch [Regeleinträge](#override-the-block-and-allow-rules) aus Ihrem Projekt und Ihren letzten Sitzungen darin entwirft. Wenn Sie den Entwurf akzeptieren, schreibt Claude Code ihn in `~/.claude/settings.json`.180Führen Sie `/auto-mode-setup` aus, damit Claude Code `autoMode.environment`-Einträge und manchmal auch [Regeleinträge](#override-the-block-and-allow-rules) aus Ihrem Projekt und Ihren letzten Sitzungen darin entwirft. Wenn Sie den Entwurf akzeptieren, schreibt Claude Code ihn in `~/.claude/settings.json`.

179 181 

180<Note>182<Note>

181 `/auto-mode-setup` erfordert einen Pro-, Max- oder Team-Plan und Claude Code v2.1.228 oder später. Unter nativem Windows ist v2.1.233 oder später erforderlich. Sie können es nicht in [Claude Code im Web](/docs/de/claude-code-on-the-web) ausführen. Es benötigt auch [Feature-Flag-Abruf](/docs/de/env-vars#features-that-need-feature-flag-fetching), daher können Sie es nicht in einer Sitzung ausführen, in der Sie den Flag-Abruf deaktiviert haben.183 `/auto-mode-setup` erfordert einen Pro-, Max- oder Team-Plan und Claude Code v2.1.228 oder später. Unter nativem Windows ist v2.1.233 oder später erforderlich. Sie können es nicht in einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web) ausführen. Es benötigt auch [Feature-Flag-Abruf](/docs/de/env-vars#features-that-need-feature-flag-fetching), daher können Sie es nicht in einer Sitzung ausführen, in der Sie den Flag-Abruf deaktiviert haben.

182</Note>184</Note>

183 185 

184<h3 id="what-auto-mode-setup-reads">186<h3 id="what-auto-mode-setup-reads">


305 Alle Shell-Befehle durch den Klassifizierer leiten307 Alle Shell-Befehle durch den Klassifizierer leiten

306</h2>308</h2>

307 309 

308Standardmäßig ermöglichen enge Bash- und PowerShell-Regeln wie `Bash(npm test)`, dass sie im Auto-Modus wirksam bleiben, und Claude Code löst sie auf, bevor der Klassifizierer ausgeführt wird. Claude Code setzt nur die breiten Regeln aus, die beliebige Code-Ausführung ermöglichen, wie `Bash(*)` oder Wildcards-Interpreter, zusammen mit jeder Regel, die [`Monitor`](/docs/de/tools-reference#monitor-tool) benennt, da Monitor-Befehle durch die Shell laufen. Dies bedeutet, dass eine enge Regel immer noch ein destruktives Argument durchlassen kann, ohne dass der Klassifizierer es sieht, beispielsweise einen Skriptpfad oder ein Flag, das das Präfix der Regel nicht vorgesehen hat.310Standardmäßig ermöglichen enge Bash- und PowerShell-Regeln wie `Bash(npm test)`, dass sie im Auto-Modus wirksam bleiben, und Claude Code löst sie auf, bevor der Klassifizierer ausgeführt wird, es sei denn, der Befehl trägt [pro-Befehl zulässige Domänen](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode). Claude Code setzt nur die breiten Regeln aus, die beliebige Code-Ausführung ermöglichen, wie `Bash(*)` oder Wildcards-Interpreter, zusammen mit jeder Regel, die [`Monitor`](/docs/de/tools-reference#monitor-tool) benennt, da Monitor-Befehle durch die Shell laufen. Dies bedeutet, dass eine enge Regel immer noch ein destruktives Argument durchlassen kann, ohne dass der Klassifizierer es sieht, beispielsweise einen Skriptpfad oder ein Flag, das das Präfix der Regel nicht vorgesehen hat.

309 311 

310Setzen Sie `autoMode.classifyAllShell` auf `true`, um jede Bash- und PowerShell-Erlaubnisregel auszusetzen, während der Auto-Modus aktiv ist, damit der Klassifizierer jeden Shell-Befehl unabhängig von Ihrer Erlaubnisliste evaluiert.312Setzen Sie `autoMode.classifyAllShell` auf `true`, um jede Bash- und PowerShell-Erlaubnisregel auszusetzen, während der Auto-Modus aktiv ist, damit der Klassifizierer jeden Shell-Befehl unabhängig von Ihrer Erlaubnisliste evaluiert.

311 313 

Details

66 66 

67<Steps>67<Steps>

68 <Step title="Erstellen Sie das Projekt">68 <Step title="Erstellen Sie das Projekt">

69 Die Beispiele für Berechtigungsweiterleitungen später auf dieser Seite importieren `zod` direkt, daher wird es zusammen mit dem MCP SDK installiert. Erstellen Sie ein neues Verzeichnis und installieren Sie beide:69 Die [Beispiele für Berechtigungsweiterleitungen](#relay-permission-prompts) importieren `zod` direkt, daher wird es zusammen mit dem MCP SDK installiert. Erstellen Sie ein neues Verzeichnis und installieren Sie beide:

70 70 

71 ```bash theme={null}71 ```bash theme={null}

72 mkdir webhook-channel && cd webhook-channel72 mkdir webhook-channel && cd webhook-channel


116 })116 })

117 ```117 ```

118 118 

119 Die Datei macht drei Dinge in Reihenfolge:119 Die Datei konfiguriert den Server, verbindet sich über stdio und startet einen HTTP-Listener in dieser Reihenfolge:

120 120 

121 * **Server-Konfiguration**: erstellt den MCP-Server mit `claude/channel` in seinen Funktionalitäten, was Claude Code mitteilt, dass dies ein Channel ist. Claude Code liefert die [`instructions`](#server-options)-Zeichenkette an Claude als Kontext, wenn der Server sich verbindet: teilen Sie Claude mit, welche Ereignisse zu erwarten sind, ob es antworten soll, und wie Antworten weitergeleitet werden sollen, falls ja.121 * **Server-Konfiguration**: erstellt den MCP-Server mit `claude/channel` in seinen Funktionalitäten, was Claude Code mitteilt, dass dies ein Channel ist. Claude Code liefert die [`instructions`](#server-options)-Zeichenkette an Claude als Kontext, wenn der Server sich verbindet: teilen Sie Claude mit, welche Ereignisse zu erwarten sind, ob es antworten soll, und wie Antworten weitergeleitet werden sollen, falls ja.

122 * **Stdio-Verbindung**: verbindet sich mit Claude Code über stdin/stdout. Dies ist Standard für jeden [MCP-Server](https://modelcontextprotocol.io/docs/concepts/transports#standard-io).122 * **Stdio-Verbindung**: verbindet sich mit Claude Code über stdin/stdout. Dies ist Standard für jeden [MCP-Server](https://modelcontextprotocol.io/docs/concepts/transports#standard-io).


452Die [Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram)- und [Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord)-Channels gaten auf eine Sender-Allowlist auf die gleiche Weise. Sie bootstrappen die Liste durch [Pairing](/docs/de/channels#security). Siehe eine der Implementierungen für den vollständigen Pairing-Flow. Der [iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage)-Channel verfolgt einen anderen Ansatz: Er erkennt die eigenen Adressen des Benutzers aus der Messages-Datenbank beim Start und lässt sie automatisch durch, wobei andere Sender nach Handle hinzugefügt werden.452Die [Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram)- und [Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord)-Channels gaten auf eine Sender-Allowlist auf die gleiche Weise. Sie bootstrappen die Liste durch [Pairing](/docs/de/channels#security). Siehe eine der Implementierungen für den vollständigen Pairing-Flow. Der [iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage)-Channel verfolgt einen anderen Ansatz: Er erkennt die eigenen Adressen des Benutzers aus der Messages-Datenbank beim Start und lässt sie automatisch durch, wobei andere Sender nach Handle hinzugefügt werden.

453 453 

454<h2 id="relay-permission-prompts">454<h2 id="relay-permission-prompts">

455 Berechtigungsprompts weitergeben455 Relay-Berechtigungsdialoge

456</h2>456</h2>

457 457 

458Wenn Claude ein Tool aufruft, das Genehmigung benötigt, öffnet sich der lokale Terminal-Dialog und die Sitzung wartet. Ein bidirektionaler Channel kann sich dafür entscheiden, denselben Prompt parallel zu empfangen und ihn an Sie auf einem anderen Gerät weiterzuleiten. Beide bleiben aktiv: Sie können im Terminal oder auf Ihrem Telefon antworten, und Claude Code wendet die Antwort an, die zuerst ankommt, und schließt die andere.458Wenn Claude ein Tool aufruft, das Genehmigung benötigt, öffnet sich der lokale Terminal-Dialog und die Sitzung wartet. Ein bidirektionaler Kanal kann sich anmelden, um die gleiche Eingabeaufforderung parallel zu erhalten und sie an Sie auf einem anderen Gerät weiterzuleiten. Beide bleiben aktiv: Sie können im Terminal oder auf Ihrem Telefon antworten, und Claude Code wendet die Antwort an, die zuerst ankommt, und schließt die andere.

459 459 

460Die Weitergabe deckt Tool-Nutzungsgenehmigungen wie `Bash`, `Write` und `Edit` ab. Projekt-Vertrauen und MCP-Server-Zustimmungsdialoge werden nicht weitergeleitet; diese erscheinen nur im lokalen Terminal.460Relay deckt Tool-Nutzungsgenehmigungen wie `Bash`, `Write` und `Edit` ab. Projektvertrauen und MCP-Server-Zustimmungsdialoge werden nicht weitergeleitet; diese erscheinen nur im lokalen Terminal.

461 461 

462Claude Code v2.1.234 und später sendet Berechtigungsanfragen nur an Server, die es als Channels für die Sitzung registriert hat, daher sitzt die Weitergabe hinter denselben [Sitzungs-Opt-in- und Organisationskontrollen](/docs/de/channels#security) wie die Nachrichtenübermittlung. Die Weitergabe erfordert auch, dass Sie den Server mit `--channels` oder dem Development-Flag aktivieren, und erfordert, dass der Server die Berechtigungsfunktionalität deklariert.462Claude Code v2.1.234 und später sendet Berechtigungsanfragen nur an Server, die es als Kanäle für die Sitzung registriert hat, sodass Relay hinter den gleichen [Sitzungs-Opt-in- und Organisationskontrollen](/docs/de/channels#security) wie die Nachrichtenübermittlung sitzt. Relay erfordert auch, dass Sie den Server mit `--channels` oder dem Entwicklungs-Flag aktivieren, und erfordert, dass der Server die Berechtigungsfunktion deklariert.

463 463 

464<h3 id="how-relay-works">464<h3 id="how-relay-works">

465 Wie die Weitergabe funktioniert465 Wie Relay funktioniert

466</h3>466</h3>

467 467 

468Wenn ein Berechtigungsprompt öffnet, hat die Weitergabeschleife vier Schritte:468Wenn ein Berechtigungsdialog öffnet, hat die Relay-Schleife vier Schritte:

469 469 

4701. Claude Code generiert eine kurze Request-ID und benachrichtigt Ihren Server4701. Claude Code generiert eine kurze Anfrage-ID und benachrichtigt Ihren Server

4712. Ihr Server leitet den Prompt und die ID an Ihre Chat-App weiter4712. Ihr Server leitet die Eingabeaufforderung und ID an Ihre Chat-App weiter

4723. Der Remote-Benutzer antwortet mit ja oder nein und dieser ID4723. Der Remote-Benutzer antwortet mit Ja oder Nein und dieser ID

4734. Ihr eingehender Handler analysiert die Antwort in ein Urteil, und Claude Code wendet es nur an, wenn die ID einer offenen Anfrage entspricht4734. Ihr Inbound-Handler analysiert die Antwort in ein Urteil, und Claude Code wendet es nur an, wenn die ID einer offenen Anfrage entspricht

474 474 

475Der lokale Terminal-Dialog bleibt während all dessen offen. Wenn jemand am Terminal antwortet, bevor das Remote-Urteil ankommt, wird diese Antwort stattdessen angewendet und die ausstehende Remote-Anfrage wird gelöscht.475Der lokale Terminal-Dialog bleibt während all dieser Zeit offen. Wenn jemand am Terminal antwortet, bevor das Remote-Urteil ankommt, wird diese Antwort stattdessen angewendet und die ausstehende Remote-Anfrage wird verworfen.

476 476 

477<img src="https://mintcdn.com/claude-code/9FG0ZKj9uKYiHmbi/images/channel-permission-relay.svg?fit=max&auto=format&n=9FG0ZKj9uKYiHmbi&q=85&s=97d57f128f0da55f105ab1e3a7e10240" className="dark:hidden" alt="Sequenzdiagramm: Claude Code sendet eine permission_request-Benachrichtigung an den Channel-Server, der Server formatiert und sendet den Prompt an die Chat-App, der Mensch antwortet mit einem Urteil, und der Server analysiert diese Antwort in eine Berechtigungsbenachrichtigung zurück an Claude Code" width="600" height="230" data-path="images/channel-permission-relay.svg" />477<img src="https://mintcdn.com/claude-code/9FG0ZKj9uKYiHmbi/images/channel-permission-relay.svg?fit=max&auto=format&n=9FG0ZKj9uKYiHmbi&q=85&s=97d57f128f0da55f105ab1e3a7e10240" className="dark:hidden" alt="Sequenzdiagramm: Claude Code sendet eine permission_request-Benachrichtigung an den Kanal-Server, der Server formatiert und sendet die Eingabeaufforderung an die Chat-App, der Mensch antwortet mit einem Urteil, und der Server analysiert diese Antwort in eine Berechtigungsbenachrichtigung zurück an Claude Code" width="600" height="230" data-path="images/channel-permission-relay.svg" />

478 478 

479<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/channel-permission-relay-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=368c8d9119a9a9cff5d826d806724842" className="hidden dark:block" alt="Sequenzdiagramm: Claude Code sendet eine permission_request-Benachrichtigung an den Channel-Server, der Server formatiert und sendet den Prompt an die Chat-App, der Mensch antwortet mit einem Urteil, und der Server analysiert diese Antwort in eine Berechtigungsbenachrichtigung zurück an Claude Code" width="600" height="230" data-path="images/channel-permission-relay-dark.svg" />479<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/channel-permission-relay-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=368c8d9119a9a9cff5d826d806724842" className="hidden dark:block" alt="Sequenzdiagramm: Claude Code sendet eine permission_request-Benachrichtigung an den Kanal-Server, der Server formatiert und sendet die Eingabeaufforderung an die Chat-App, der Mensch antwortet mit einem Urteil, und der Server analysiert diese Antwort in eine Berechtigungsbenachrichtigung zurück an Claude Code" width="600" height="230" data-path="images/channel-permission-relay-dark.svg" />

480 480 

481<h3 id="permission-request-fields">481<h3 id="permission-request-fields">

482 Berechtigungsanfrage-Felder482 Berechtigungsanfrage-Felder

483</h3>483</h3>

484 484 

485Die ausgehende Benachrichtigung von Claude Code ist `notifications/claude/channel/permission_request`. Wie die [Channel-Benachrichtigung](#notification-format) ist der Transport Standard-MCP, aber die Methode und das Schema sind Claude Code-Erweiterungen. Das `params`-Objekt hat vier String-Felder, die Ihr Server in den ausgehenden Prompt formatiert:485Die ausgehende Benachrichtigung von Claude Code ist `notifications/claude/channel/permission_request`. Wie die [Kanal-Benachrichtigung](#notification-format) ist der Transport Standard-MCP, aber die Methode und das Schema sind Claude Code-Erweiterungen. Das `params`-Objekt hat vier String-Felder, die Ihr Server in die ausgehende Eingabeaufforderung formatiert:

486 486 

487| Feld | Beschreibung |487| Feld | Beschreibung |

488| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |488| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

489| `request_id` | Fünf Kleinbuchstaben aus `a`-`z` ohne `l`, damit es nie als `1` oder `I` gelesen wird, wenn es auf einem Telefon eingegeben wird. Fügen Sie es in Ihren ausgehenden Prompt ein, damit es in der Antwort wiederholt werden kann. Claude Code akzeptiert nur ein Urteil, das eine ID trägt, die es ausgestellt hat. Der lokale Terminal-Dialog zeigt diese ID nicht an, daher ist Ihr ausgehender Handler die einzige Möglichkeit, sie zu erfahren. |489| `request_id` | Fünf Kleinbuchstaben aus `a`-`z` ohne `l`, sodass es niemals als `1` oder `I` gelesen wird, wenn es auf einem Telefon eingegeben wird. Fügen Sie es in Ihre ausgehende Eingabeaufforderung ein, damit es in der Antwort wiederholt werden kann. Claude Code akzeptiert nur ein Urteil, das eine ID trägt, die es ausgestellt hat. Der lokale Terminal-Dialog zeigt diese ID nicht an, daher ist Ihr ausgehender Handler die einzige Möglichkeit, sie zu erfahren. |

490| `tool_name` | Name des Tools, das Claude verwenden möchte, zum Beispiel `Bash` oder `Write`. |490| `tool_name` | Name des Tools, das Claude verwenden möchte, z. B. `Bash` oder `Write`. |

491| `description` | Menschenlesbarer Zusammenfassung dessen, was dieser spezifische Tool-Aufruf tut, niemals der Befehl selbst. Für einen Bash-Aufruf ist dies Claudes Beschreibung des Befehls; wenn das Modell keine Beschreibung gibt, ist das Feld die Konstante `Run shell command` und enthält null Befehlsdetails. Rendern Sie `input_preview`, wenn Sie Platz haben. |491| `description` | Für Menschen lesbare Zusammenfassung, was dieser spezifische Tool-Aufruf tut, niemals der Befehl selbst. Für einen Bash-Aufruf ist dies Claudes Beschreibung des Befehls; wenn das Modell keine Beschreibung gibt, ist das Feld die Konstante `Run shell command` und enthält null Befehlsdetails. Rendern Sie `input_preview`, wenn Sie Platz haben. |

492| `input_preview` | Die Argumente des Tools als JSON-förmiger Anzeigetext, nach Top-Level-Feld verschlüsselt. Für Bash ist dies der Befehl; für Write sind dies der Dateipfad und der Inhalt. Lassen Sie es aus Ihrem Prompt weg, wenn Sie nur Platz für eine einzeilige Nachricht haben. Ihr Server entscheidet, was angezeigt wird. |492| `input_preview` | Die Argumente des Tools als JSON-förmiger Anzeigetext, nach Top-Level-Feld verschlüsselt. Für Bash ist dies der Befehl; für Write die Dateipfad und der Inhalt. Lassen Sie es aus Ihrer Eingabeaufforderung weg, wenn Sie nur Platz für eine einzeilige Nachricht haben. Ihr Server entscheidet, was angezeigt werden soll. |

493 493 

494Clients auf Claude Code v2.1.211 oder später bereinigen `description` und `input_preview` vor der Weitergabe. Erwarten Sie drei Änderungen im Text, den Sie erhalten:494Clients auf Claude Code v2.1.211 oder später bereinigen `description` und `input_preview`, bevor sie sie weitergeleitet. Erwarten Sie drei Änderungen im Text, den Sie erhalten:

495 495 

496* Claude Code neutralisiert Richtungsüberschreibungszeichen, unsichtbare Zeichen und Anführungszeichen und Winkelklammer-Lookalikes.496* Claude Code neutralisiert Richtungsüberschreibungszeichen, unsichtbare Zeichen und Anführungszeichen und Winkelklammer-Lookalikes.

497* Claude Code faltet jeden Lauf von Leerzeichen zu einem einzelnen Leerzeichen.497* Claude Code faltet jeden Lauf von Leerzeichen zu einem einzelnen Leerzeichen.

498* Claude Code leitet Text ganz bis zu 3.500 Code-Punkte weiter. Für einen längeren Wert erhalten Sie seinen Anfang und sein Ende um einen gezählten `⋯ N code points elided ⋯`-Marker. Das Ende eines langen Befehls erreicht immer noch den Genehmiger.498* Claude Code leitet Text ganz bis zu 3.500 Code-Punkte weiter. Für einen längeren Wert erhalten Sie seinen Anfang und sein Ende um einen gezählten `⋯ N code points elided ⋯` Marker. Das Ende eines langen Befehls erreicht immer noch den Genehmiger.

499 499 

500Für `input_preview` wendet Claude Code das 3.500-Limit auf jedes Top-Level-Feld der Argumente separat an und behält die strukturellen Anführungszeichen des JSON. Clients vor v2.1.211 leiten `description` roh weiter und schneiden `input_preview` auf 200 UTF-16-Einheiten mit einer nachfolgenden Ellipse.500Für `input_preview` wendet Claude Code das 3.500-Limit auf jedes Top-Level-Feld der Argumente separat an und behält die strukturellen Anführungszeichen des JSON. Clients vor v2.1.211 leiten `description` roh weiter und schneiden `input_preview` auf 200 UTF-16-Einheiten mit einer nachfolgenden Ellipse.

501 501 

502Clients auf Claude Code v2.1.234 oder später leiten den Marker `(value unserializable)` anstelle eines `input_preview`-Feldwerts weiter, den sie nicht sicher serialisieren können, wie eine zirkuläre Struktur oder ein extrem großes Array. Sie erhalten immer noch den Feldschlüssel, und die anderen Felder der Vorschau sind unverändert.502Clients auf Claude Code v2.1.234 oder später leiten den Marker `(value unserializable)` anstelle eines `input_preview`-Feldwerts weiter, den sie nicht sicher serialisieren können, z. B. eine zirkuläre Struktur oder ein extrem großes Array. Sie erhalten immer noch den Schlüssel des Feldes, und die anderen Felder der Vorschau sind unverändert.

503 503 

504Clients auf Claude Code v2.1.234 oder später maskieren auch Anmeldedaten in `description` und `input_preview`. Sie erhalten `[REDACTED]` anstelle eines erkennbaren Provider-Anmeldedaten-Tokens, wie eines API-Schlüssels oder eines persönlichen Zugriffstokens. Erwarten Sie drei Auswirkungen der Maskierung, wenn Sie die Felder rendern:504Clients auf Claude Code v2.1.234 oder später maskieren auch Anmeldedaten in `description` und `input_preview`. Sie erhalten `[REDACTED]` anstelle eines erkennbaren Provider-Anmeldedaten-Tokens, z. B. eines API-Schlüssels oder eines persönlichen Zugriffstokens. Erwarten Sie drei Auswirkungen der Maskierung, wenn Sie die Felder rendern:

505 505 

506* Claude Code maskiert Schlüsselnamen in `input_preview` sowie deren Werte. Ein Schlüsselname, den Sie anzeigen, stimmt möglicherweise nicht mit dem Schlüsselnamen in der Eingabe überein.506* Claude Code maskiert Schlüsselnamen in `input_preview` sowie deren Werte. Ein Schlüsselname, den Sie anzeigen, stimmt möglicherweise nicht mit dem Schlüsselnamen in der Eingabe überein.

507* Claude Code maskiert niemals eine Spanne, die Shell-Syntax, Pfadzeichen oder URL-Zeichen enthält. Eine Maske kann den Befehl, Dateipfad oder das Ziel, das genehmigt wird, nicht verbergen.507* Claude Code maskiert niemals eine Spanne, die Shell-Syntax, Pfadzeichen oder URL-Zeichen enthält. Eine Maske kann den Befehl, Dateipfad oder das Ziel, das genehmigt wird, nicht verbergen.

508* Claude Code maskiert kein Geheimnis, das ein erkennbares Präfix fehlt, oder ein Geheimnis, das sich über Leerzeichen erstreckt, wie einen Private-Key-Block. Beide erreichen Ihren Server unmasked.508* Claude Code maskiert kein Geheimnis, dem ein erkennbares Präfix fehlt, oder ein Geheimnis, das sich über Leerzeichen erstreckt, z. B. einen Private-Key-Block. Beide erreichen Ihren Server unmasked.

509 509 

510Die Maskierung ändert nicht, wer die Felder empfängt. Was unmasked bleibt, geht nur an Server, die Sie mit `--channels` oder dem Development-Flag aktiviert haben. Behandeln Sie beide Felder als nicht vertrauenswürdig, es sei denn, Sie kontrollieren die Client-Flotte.510Die Maskierung ändert nicht, wer die Felder erhält. Was unmasked bleibt, geht nur an Server, die Sie mit `--channels` oder dem Entwicklungs-Flag aktiviert haben. Behandeln Sie beide Felder als nicht vertrauenswürdig, es sei denn, Sie kontrollieren die Client-Flotte.

511 511 

512Das Urteil, das Ihr Server zurücksendet, ist `notifications/claude/channel/permission` mit zwei Feldern: `request_id`, das die obige ID wiederholt, und `behavior`, das auf `'allow'` oder `'deny'` gesetzt ist. Allow lässt den Tool-Aufruf fortfahren; deny lehnt ihn ab, dasselbe wie das Antworten mit Nein im lokalen Dialog. Weder das Urteil beeinflusst zukünftige Aufrufe.512Das Urteil, das Ihr Server zurücksendet, ist `notifications/claude/channel/permission` mit zwei Feldern: `request_id` wiederholt die obige ID, und `behavior` ist auf `'allow'` oder `'deny'` gesetzt. Allow lässt den Tool-Aufruf fortfahren; deny lehnt ihn ab. Keines der beiden Urteile beeinflusst zukünftige Aufrufe.

513 513 

514<h3 id="add-relay-to-a-chat-bridge">514<h3 id="add-relay-to-a-chat-bridge">

515 Weitergabe zu einer Chat-Brücke hinzufügen515 Relay zu einer Chat-Bridge hinzufügen

516</h3>516</h3>

517 517 

518Das Hinzufügen von Berechtigungsweitergabe zu einem bidirektionalen Channel erfordert drei Komponenten:518Das Hinzufügen von Berechtigungsrelay zu einem bidirektionalen Kanal erfordert drei Komponenten:

519 519 

5201. Ein `claude/channel/permission: {}`-Eintrag unter `experimental`-Funktionalitäten in Ihrem `Server`-Constructor, damit Claude Code weiß, dass Prompts weitergeleitet werden sollen5201. Ein `claude/channel/permission: {}`-Eintrag unter `experimental`-Fähigkeiten in Ihrem `Server`-Konstruktor, damit Claude Code weiß, dass Eingabeaufforderungen weitergeleitet werden sollen

5212. Ein Benachrichtigungshandler für `notifications/claude/channel/permission_request`, der den Prompt formatiert und ihn über Ihre Plattform-API sendet5212. Ein Benachrichtigungshandler für `notifications/claude/channel/permission_request`, der die Eingabeaufforderung formatiert und sie über Ihre Plattform-API sendet

5223. Eine Überprüfung in Ihrem eingehenden Nachrichtenhandler, die `yes <id>` oder `no <id>` erkennt und stattdessen eine `notifications/claude/channel/permission`-Urteilsbenachrichtigung emittiert, anstatt den Text an Claude weiterzuleiten5223. Eine Überprüfung in Ihrem Inbound-Nachrichtenhandler, die `yes <id>` oder `no <id>` erkennt und stattdessen ein `notifications/claude/channel/permission`-Urteil ausgibt, anstatt den Text an Claude weiterzuleiten

523 523 

524Deklarieren Sie die Funktionalität nur, wenn Ihr Channel [den Sender authentifiziert](#gate-inbound-messages), da jeder, der über Ihren Channel antworten kann, Tool-Nutzung in Ihrer Sitzung genehmigen oder ablehnen kann.524Deklarieren Sie die Fähigkeit nur, wenn Ihr Kanal [den Absender authentifiziert](#gate-inbound-messages), da jeder, der über Ihren Kanal antworten kann, die Tool-Nutzung in Ihrer Sitzung genehmigen oder ablehnen kann.

525 525 

526Um diese zu einer bidirektionalen Chat-Brücke wie der in [Antwort-Tool bereitstellen](#expose-a-reply-tool) zusammengestellten hinzuzufügen:526Um diese zu einer bidirektionalen Chat-Bridge wie der in [Expose a reply tool](#expose-a-reply-tool) zusammengestellten hinzuzufügen:

527 527 

528<Steps>528<Steps>

529 <Step title="Deklarieren Sie die Berechtigungsfunktionalität">529 <Step title="Deklarieren Sie die Berechtigungsfähigkeit">

530 In Ihrem `Server`-Constructor fügen Sie `claude/channel/permission: {}` neben `claude/channel` unter `experimental` hinzu:530 Fügen Sie in Ihrem `Server`-Konstruktor `claude/channel/permission: {}` neben `claude/channel` unter `experimental` hinzu:

531 531 

532 ```ts theme={null}532 ```ts theme={null}

533 capabilities: {533 capabilities: {


541 </Step>541 </Step>

542 542 

543 <Step title="Behandeln Sie die eingehende Anfrage">543 <Step title="Behandeln Sie die eingehende Anfrage">

544 Registrieren Sie einen Benachrichtigungshandler zwischen Ihrem `Server`-Constructor und `mcp.connect()`. Claude Code ruft ihn mit den [vier Anfrage-Feldern](#permission-request-fields) auf, wenn ein Berechtigungsdialog öffnet. Ihr Handler formatiert den Prompt für Ihre Plattform und enthält Anweisungen zum Antworten mit der ID:544 Registrieren Sie einen Benachrichtigungshandler zwischen Ihrem `Server`-Konstruktor und `mcp.connect()`. Claude Code ruft ihn mit den [vier Anfrage-Feldern](#permission-request-fields) auf, wenn ein Berechtigungsdialog öffnet. Ihr Handler formatiert die Eingabeaufforderung für Ihre Plattform und enthält Anweisungen zum Antworten mit der ID:

545 545 

546 ```ts theme={null}546 ```ts theme={null}

547 import { z } from 'zod'547 import { z } from 'zod'

548 548 

549 // setNotificationHandler leitet nach z.literal auf dem method-Feld weiter,549 // setNotificationHandler routes by z.literal on the method field,

550 // daher ist dieses Schema sowohl der Validator als auch der Dispatch-Schlüssel550 // so this schema is both the validator and the dispatch key

551 const PermissionRequestSchema = z.object({551 const PermissionRequestSchema = z.object({

552 method: z.literal('notifications/claude/channel/permission_request'),552 method: z.literal('notifications/claude/channel/permission_request'),

553 params: z.object({553 params: z.object({


559 })559 })

560 560 

561 mcp.setNotificationHandler(PermissionRequestSchema, async ({ params }) => {561 mcp.setNotificationHandler(PermissionRequestSchema, async ({ params }) => {

562 // send() ist Ihre Ausgangsrichtung: POST an Ihre Chat-Plattform, oder für lokales562 // send() is your outbound: POST to your chat platform, or for local

563 // Testen die SSE-Übertragung, die im vollständigen Beispiel unten gezeigt wird.563 // testing the SSE broadcast shown in the full example below.

564 send(564 send(

565 `Claude wants to run ${params.tool_name}: ${params.description}\n` +565 `Claude wants to run ${params.tool_name}: ${params.description}\n` +

566 // input_preview trägt die tatsächlichen Argumente; rendern Sie es, wenn Sie566 // input_preview carries the actual arguments; render it when you

567 // Platz haben: für Bash kann die Beschreibung allein nur567 // have room: for Bash the description alone may be just

568 // "Run shell command" sein mit null Befehlsdetails568 // "Run shell command" with zero command detail

569 `${params.input_preview}\n\n` +569 `${params.input_preview}\n\n` +

570 // die ID in der Anweisung ist das, was Ihr eingehender Handler in Schritt 3 analysiert570 // the ID in the instruction is what your inbound handler parses in Step 3

571 `Reply "yes ${params.request_id}" or "no ${params.request_id}"`,571 `Reply "yes ${params.request_id}" or "no ${params.request_id}"`,

572 )572 )

573 })573 })

574 ```574 ```

575 </Step>575 </Step>

576 576 

577 <Step title="Fangen Sie das Urteil in Ihrem eingehenden Handler ab">577 <Step title="Fangen Sie das Urteil in Ihrem Inbound-Handler ab">

578 Ihr eingehender Handler ist die Schleife oder der Callback, der Nachrichten von Ihrer Plattform empfängt: derselbe Ort, an dem Sie [auf Sender gaten](#gate-inbound-messages) und `notifications/claude/channel` emittieren, um Chat an Claude weiterzuleiten. Fügen Sie eine Überprüfung vor dem Chat-Weiterleitungsaufruf hinzu, die das Urteilsformat erkennt und stattdessen die Berechtigungsbenachrichtigung emittiert.578 Ihr Inbound-Handler ist die Schleife oder der Callback, der Nachrichten von Ihrer Plattform empfängt: der gleiche Ort, an dem Sie [auf Absender gating](#gate-inbound-messages) und `notifications/claude/channel` ausgeben, um Chat an Claude weiterzuleiten. Fügen Sie eine Überprüfung vor dem Chat-Weiterleitungsaufruf hinzu, die das Urteilsformat erkennt und stattdessen die Berechtigungsbenachrichtigung ausgibt.

579 579 

580 Der Regex entspricht dem ID-Format, das Claude Code generiert: fünf Buchstaben, nie `l`. Das `/i`-Flag toleriert Telefon-Autokorrektur, die die Antwort großschreibt; kleinschreiben Sie die erfasste ID, bevor Sie sie zurücksendet.580 Der Regex entspricht dem ID-Format, das Claude Code generiert: fünf Buchstaben, niemals `l`. Das `/i`-Flag toleriert die Autokorrektur des Telefons, die die Antwort großschreibt; kleinschreiben Sie die erfasste ID, bevor Sie sie zurücksendet.

581 581 

582 ```ts theme={null}582 ```ts theme={null}

583 // matches "y abcde", "yes abcde", "n abcde", "no abcde"583 // matches "y abcde", "yes abcde", "n abcde", "no abcde"


614 614 

615Eine Remote-Antwort, die nicht genau dem erwarteten Format entspricht, schlägt auf eine von zwei Arten fehl, und in beiden Fällen bleibt der lokale Terminal-Dialog offen:615Eine Remote-Antwort, die nicht genau dem erwarteten Format entspricht, schlägt auf eine von zwei Arten fehl, und in beiden Fällen bleibt der lokale Terminal-Dialog offen:

616 616 

617* **Anderes Format**: der Regex Ihres eingehenden Handlers schlägt fehl zu entsprechen, daher fällt Text wie `approve it` oder `yes` ohne ID als normale Nachricht an Claude durch.617* **Anderes Format**: Der Regex Ihres Inbound-Handlers schlägt fehl, sodass Text wie `approve it` oder `yes` ohne ID als normale Nachricht an Claude durchfällt.

618* **Richtiges Format, falsche ID**: Ihr Server emittiert ein Urteil, aber Claude Code findet keine offene Anfrage mit dieser ID und löscht es stillschweigend.618* **Richtiges Format, falsche ID**: Ihr Server gibt ein Urteil aus, aber Claude Code findet keine offene Anfrage mit dieser ID und verwirft es stillschweigend.

619 619 

620<h3 id="full-example">620<h3 id="full-example">

621 Vollständiges Beispiel621 Vollständiges Beispiel

622</h3>622</h3>

623 623 

624Die zusammengestellte `webhook.ts` unten kombiniert alle drei Erweiterungen von dieser Seite: das Antwort-Tool, Sender-Gating und Berechtigungsweitergabe. Wenn Sie hier anfangen, benötigen Sie auch die [Projekt-Setup und `.mcp.json`-Eintrag](#example-build-a-webhook-receiver) aus der anfänglichen Anleitung.624Das zusammengestellte `webhook.ts` unten kombiniert alle drei Erweiterungen von dieser Seite: das Reply-Tool, Absender-Gating und Berechtigungsrelay. Wenn Sie hier anfangen, benötigen Sie auch die [Projekteinrichtung und `.mcp.json`-Eintrag](#example-build-a-webhook-receiver) aus der anfänglichen Anleitung.

625 625 

626Um beide Richtungen von curl aus testbar zu machen, dient der HTTP-Listener zwei Pfaden:626Um beide Richtungen von curl aus testbar zu machen, bedient der HTTP-Listener zwei Pfade:

627 627 

628* **`GET /events`**: hält einen SSE-Stream offen und pusht jede ausgehende Nachricht als `data:`-Zeile, daher kann `curl -N` Claudes Antworten und Berechtigungsprompts live beobachten, wenn sie ankommen.628* **`GET /events`**: hält einen SSE-Stream offen und pusht jede ausgehende Nachricht als `data:`-Zeile, sodass `curl -N` Claudes Antworten und alle Berechtigungsaufforderungen live sehen kann.

629* **`POST /`**: die eingehende Seite, derselbe Handler wie zuvor, jetzt mit der Urteilsformat-Überprüfung vor dem Chat-Weiterleitungszweig eingefügt.629* **`POST /`**: die Inbound-Seite, der gleiche Handler wie zuvor, jetzt mit der Urteilsformat-Überprüfung vor dem Chat-Forward-Branch eingefügt.

630 630 

631```ts title="Full webhook.ts with permission relay" expandable theme={null}631```ts title="Full webhook.ts with permission relay" expandable theme={null}

632#!/usr/bin/env bun632#!/usr/bin/env bun


635import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js'635import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js'

636import { z } from 'zod'636import { z } from 'zod'

637 637 

638// --- Ausgangsrichtung: schreiben Sie an alle curl -N-Listener auf /events ---638// --- Outbound: write to any curl -N listeners on /events ---

639// Eine echte Brücke würde stattdessen an Ihre Chat-Plattform POSTen.639// A real bridge would POST to your chat platform instead.

640const listeners = new Set<(chunk: string) => void>()640const listeners = new Set<(chunk: string) => void>()

641function send(text: string) {641function send(text: string) {

642 const chunk = text.split('\n').map(l => `data: ${l}\n`).join('') + '\n'642 const chunk = text.split('\n').map(l => `data: ${l}\n`).join('') + '\n'

643 for (const emit of listeners) emit(chunk)643 for (const emit of listeners) emit(chunk)

644}644}

645 645 

646// Sender-Allowlist. Für die lokale Anleitung vertrauen wir dem einzelnen X-Sender646// Sender allowlist. For the local walkthrough we trust the single X-Sender

647// Header-Wert "dev"; eine echte Brücke würde die Plattform-Benutzer-ID überprüfen.647// header value "dev"; a real bridge would check the platform's user ID.

648const allowed = new Set(['dev'])648const allowed = new Set(['dev'])

649 649 

650const mcp = new Server(650const mcp = new Server(


764})764})

765```765```

766 766 

767Testen Sie den Urteilspfad in drei Terminals. Das erste ist Ihre Claude Code-Sitzung, gestartet mit dem [Development-Flag](#test-during-the-research-preview), damit es `webhook.ts` startet:767Testen Sie den Urteilspfad in drei Terminals. Das erste ist Ihre Claude Code-Sitzung, gestartet mit dem [Entwicklungs-Flag](#test-during-the-research-preview), damit es `webhook.ts` spawnt:

768 768 

769```bash theme={null}769```bash theme={null}

770claude --dangerously-load-development-channels server:webhook770claude --dangerously-load-development-channels server:webhook

771```771```

772 772 

773Diese Anleitung testet den Berechtigungsdialog selbst, daher drücken Sie, sobald die Sitzung offen ist, `Shift+Tab`, bis die Statusleiste `⏸ manual mode on` anzeigt. Im Auto-Modus würde der Klassifizierer den `reply`-Aufruf stattdessen entscheiden, und kein Dialog würde sich für die Remote-Seite öffnen, um zu antworten.773Diese Anleitung testet den Berechtigungsdialog selbst, also drücken Sie nach dem Öffnen der Sitzung `Shift+Tab`, bis die Statusleiste `⏸ manual mode on` anzeigt. Im Auto-Modus würde der Klassifizierer den `reply`-Aufruf statt Ihnen entscheiden, und kein Dialog würde für die Remote-Seite zum Antworten öffnen.

774 774 

775Im zweiten streamen Sie die ausgehende Seite, damit Sie Claudes Antworten und alle Berechtigungsprompts live sehen können, wenn sie ankommen:775Im zweiten, streamen Sie die ausgehende Seite, damit Sie Claudes Antworten und alle Berechtigungsaufforderungen live sehen können, wenn sie auslösen:

776 776 

777```bash theme={null}777```bash theme={null}

778curl -N localhost:8788/events778curl -N localhost:8788/events

779```779```

780 780 

781Im dritten senden Sie eine Nachricht, die Claude veranlasst, einen Befehl auszuführen:781Im dritten, senden Sie eine Nachricht, die Claude veranlasst, einen Befehl auszuführen:

782 782 

783```bash theme={null}783```bash theme={null}

784curl -d "list the files in this directory" -H "X-Sender: dev" localhost:8788784curl -d "list the files in this directory" -H "X-Sender: dev" localhost:8788

785```785```

786 786 

787Das Auflisten von Dateien ist schreibgeschützt, daher führt Claude es ohne Genehmigung aus. Der Berechtigungsdialog öffnet sich, wenn Claude das `reply`-Tool aufruft, um seine Antwort zurückzusenden. Der lokale Dialog öffnet sich in Ihrem Claude Code-Terminal, und einen Moment später erscheint der Prompt für `mcp__webhook__reply` im `/events`-Stream, einschließlich der fünf-buchstabigen ID. Genehmigen Sie ihn von der Remote-Seite:787Das Auflisten von Dateien ist schreibgeschützt, daher führt Claude es ohne Genehmigung aus. Der Berechtigungsdialog öffnet, wenn Claude das `reply`-Tool aufruft, um seine Antwort zurückzusenden. Der lokale Dialog öffnet sich in Ihrem Claude Code-Terminal, und kurz darauf erscheint die Eingabeaufforderung für `mcp__webhook__reply` im `/events`-Stream, einschließlich der fünfstelligen ID. Genehmigen Sie es von der Remote-Seite:

788 788 

789```bash theme={null}789```bash theme={null}

790curl -d "yes <id>" -H "X-Sender: dev" localhost:8788790curl -d "yes <id>" -H "X-Sender: dev" localhost:8788

791```791```

792 792 

793Der lokale Dialog schließt sich, das `reply`-Tool läuft, und Claudes Antwort landet im Stream.793Der lokale Dialog schließt sich, das `reply`-Tool läuft, und Claudes Antwort erscheint im Stream.

794 794 

795Die drei Channel-spezifischen Teile in dieser Datei:795Die drei Kanal-spezifischen Teile in dieser Datei:

796 796 

797* **Funktionalitäten** im `Server`-Constructor: `claude/channel` registriert den Benachrichtigungslistener, `claude/channel/permission` entscheidet sich für Berechtigungsweitergabe, `tools` lässt Claude das Antwort-Tool entdecken.797* **Fähigkeiten** im `Server`-Konstruktor: `claude/channel` registriert den Benachrichtigungslistener, `claude/channel/permission` aktiviert Berechtigungsrelay, `tools` lässt Claude das Reply-Tool entdecken.

798* **Ausgehende Pfade**: der `reply`-Tool-Handler ist das, was Claude für Gesprächsantworten aufruft; der `PermissionRequestSchema`-Benachrichtigungshandler ist das, was Claude Code aufruft, wenn ein Berechtigungsdialog öffnet. Beide rufen `send()` auf, um über `/events` zu übertragen, aber sie werden von verschiedenen Teilen des Systems ausgelöst.798* **Ausgehende Pfade**: Der `reply`-Tool-Handler ist das, was Claude für Gesprächsantworten aufruft; der `PermissionRequestSchema`-Benachrichtigungshandler ist das, was Claude Code aufruft, wenn ein Berechtigungsdialog öffnet. Beide rufen `send()` auf, um über `/events` zu broadcasten, aber sie werden von verschiedenen Teilen des Systems ausgelöst.

799* **HTTP-Handler**: `GET /events` hält einen SSE-Stream offen, damit curl Ausgangsrichtung live beobachten kann; `POST` ist eingehend, gatet auf dem `X-Sender`-Header. Ein `yes <id>`- oder `no <id>`-Body geht an Claude Code als Urteilsbenachrichtigung und erreicht nie Claude; alles andere wird an Claude als Channel-Ereignis weitergeleitet.799* **HTTP-Handler**: `GET /events` hält einen SSE-Stream offen, damit curl ausgehend live beobachten kann; `POST` ist eingehend, gated auf dem `X-Sender`-Header. Ein `yes <id>`- oder `no <id>`-Body geht an Claude Code als Urteilsbenachrichtigung und erreicht niemals Claude; alles andere wird an Claude als Kanal-Event weitergeleitet.

800 800 

801<h2 id="package-as-a-plugin">801<h2 id="package-as-a-plugin">

802 Als Plugin verpacken802 Als Plugin verpacken

Details

62Dieser Schnellstart führt den minimalen Weg: Registrieren Sie einen OAuth-Client in Ihrem IdP, schreiben Sie eine `gateway.yaml`, führen Sie das Gateway zusammen mit Postgres mit Docker Compose aus und überprüfen Sie die Anmeldung von Ende zu Ende. Es verwendet einen Amazon-Bedrock-Upstream; Claude Platform auf AWS, Google Clouds Agent Platform, Microsoft Foundry und die Anthropic API werden gleichermaßen unterstützt, indem Sie den `upstreams`-Block wie in der [Konfigurationsreferenz](/docs/de/claude-apps-gateway-config#upstreams) gezeigt austauschen. Am Ende haben Sie ein Gateway, bei dem sich ein Entwickler `/login` anmelden kann.62Dieser Schnellstart führt den minimalen Weg: Registrieren Sie einen OAuth-Client in Ihrem IdP, schreiben Sie eine `gateway.yaml`, führen Sie das Gateway zusammen mit Postgres mit Docker Compose aus und überprüfen Sie die Anmeldung von Ende zu Ende. Es verwendet einen Amazon-Bedrock-Upstream; Claude Platform auf AWS, Google Clouds Agent Platform, Microsoft Foundry und die Anthropic API werden gleichermaßen unterstützt, indem Sie den `upstreams`-Block wie in der [Konfigurationsreferenz](/docs/de/claude-apps-gateway-config#upstreams) gezeigt austauschen. Am Ende haben Sie ein Gateway, bei dem sich ein Entwickler `/login` anmelden kann.

63 63 

64<Note>64<Note>

65 **Bereitstellung in Ihrem privaten Netzwerk.** Claude Code verbindet sich nur mit einem Gateway, dessen Adresse privat ist. Dies ist eine Sicherheitsmaßnahme, da ein vertrauenswürdiges Gateway Einstellungen pushen kann, die Befehle auf Entwicklermaschinen ausführen. Platzieren Sie das Gateway hinter einem internen Load Balancer oder VPN und geben Sie ihm einen Hostnamen, der nur zu privaten IPs aufgelöst wird.65 **Bereitstellung in Ihrem privaten Netzwerk.** Claude Code verbindet sich nur mit einem Gateway, dessen Adresse privat ist. Dies ist eine Sicherheitsmaßnahme, da ein vertrauenswürdiges Gateway Einstellungen pushen kann, die Befehle auf Entwicklermaschinen ausführen. Platzieren Sie das Gateway hinter einem internen Load Balancer oder VPN und geben Sie ihm einen Hostnamen, der nur zu privaten IPs aufgelöst wird. Wenn Ihr internes Netzwerk aus öffentlichem IPv4-Adressraum nummeriert ist, den Ihre Organisation besitzt, siehe [Gateway auf öffentlichem Adressraum zulassen, den Sie besitzen](#allow-a-gateway-on-public-address-space-you-own).

66</Note>66</Note>

67 67 

68<h3 id="prerequisites">68<h3 id="prerequisites">


72Haben Sie diese vor dem Start bereit:72Haben Sie diese vor dem Start bereit:

73 73 

74| Sie benötigen | Details |74| Sie benötigen | Details |

75| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |75| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

76| Claude Code v2.1.195 oder später | Der `claude gateway`-Unterbefehl und der Gateway-Anmeldungsfluss werden in v2.1.195 ausgeliefert. Frühere öffentliche Builds enthalten sie nicht. Sowohl die Maschine, auf der der Gateway-Server läuft, als auch die Maschine jedes Entwicklers müssen v2.1.195 oder später sein; führen Sie `claude update` aus, um die neueste Version zu erhalten. Die [Claude Platform auf AWS Upstream](/docs/de/claude-apps-gateway-config#claude-platform-on-aws) erfordert Claude Code v2.1.198 oder später auf dem Gateway-Server. |76| Claude Code v2.1.195 oder später | Der `claude gateway`-Unterbefehl und der Gateway-Anmeldungsfluss werden in v2.1.195 ausgeliefert. Frühere öffentliche Builds enthalten sie nicht. Sowohl die Maschine, auf der der Gateway-Server läuft, als auch die Maschine jedes Entwicklers müssen v2.1.195 oder später sein; führen Sie `claude update` aus, um die neueste Version zu erhalten. Die [Claude Platform auf AWS Upstream](/docs/de/claude-apps-gateway-config#claude-platform-on-aws) erfordert Claude Code v2.1.198 oder später auf dem Gateway-Server. |

77| OpenID Connect (OIDC)-Identitätsanbieter | Okta, Microsoft Entra ID, Google Workspace, Keycloak oder Dex, oder ein anderer OIDC-konformer IdP wie PingFederate. Das Gateway führt Standard-OIDC-Erkennung und den Authorization-Code-Flow dagegen aus. SAML und LDAP werden nicht unterstützt. |77| OpenID Connect (OIDC)-Identitätsanbieter | Okta, Microsoft Entra ID, Google Workspace, Keycloak oder Dex, oder ein anderer OIDC-konformer IdP wie PingFederate. Das Gateway führt Standard-OIDC-Erkennung und den Authorization-Code-Flow dagegen aus. SAML und LDAP werden nicht unterstützt. |

78| PostgreSQL 14 oder später | Unterstützt den Geräte-Anmeldungsfluss, bei dem der Browser-Callback schreibt und die Polling-CLI liest, sowie Rate-Limit-Zähler. Jedes verwaltete Postgres funktioniert, einschließlich der kleinsten Stufe. Ohne konfigurierte Ausgabenlimits speichert das Gateway einige KB kurzlebigen Auth-Status; mit [Ausgabenlimits](/docs/de/claude-apps-gateway-spend-limits) enthält es auch dauerhafte Ausgaben-, Audit- und Identitätstabellen, die gesichert werden sollten. TLS über `?sslmode=require` wird empfohlen. |78| PostgreSQL 14 oder später | Unterstützt den Geräte-Anmeldungsfluss, bei dem der Browser-Callback schreibt und die Polling-CLI liest, sowie Rate-Limit-Zähler. Jedes verwaltete Postgres funktioniert, einschließlich der kleinsten Stufe. Ohne konfigurierte Ausgabenlimits speichert das Gateway einige KB kurzlebigen Auth-Status; mit [Ausgabenlimits](/docs/de/claude-apps-gateway-spend-limits) enthält es auch dauerhafte Ausgaben-, Audit- und Identitätstabellen, die gesichert werden sollten. TLS über `?sslmode=require` wird empfohlen. |

79| Modell-Upstream | Amazon-Bedrock-Anmeldedaten, Claude Platform auf AWS Anmeldedaten, Google-Cloud-Anmeldedaten, eine Microsoft-Foundry-Ressource oder einen Anthropic-API-Schlüssel. Mehrere Upstreams werden mit Failover unterstützt. |79| Modell-Upstream | Amazon-Bedrock-Anmeldedaten, Claude Platform auf AWS Anmeldedaten, Google-Cloud-Anmeldedaten, eine Microsoft-Foundry-Ressource oder einen Anthropic-API-Schlüssel. Mehrere Upstreams werden mit Failover unterstützt. |

80| HTTPS | Das Gateway muss über `https://` von Entwickler-Laptops und von jedem Browser, der für die Anmeldung verwendet wird, erreichbar sein; das Gateway bedient die Geräteüberprüfungsseite auf dem gleichen Listener. Stellen Sie entweder ein TLS-Zertifikat über `listen.tls` bereit, oder führen Sie hinter einem TLS-terminierenden Ingress aus und setzen Sie `listen.public_url` auf den externen Ursprung in beiden Fällen. Ein einfacher `http://`-Ursprung wird nur akzeptiert, wenn der Gateway-Host Loopback ist: `localhost`, `127.0.0.1` oder `::1`. |80| HTTPS | Das Gateway muss über `https://` von Entwickler-Laptops und von jedem Browser, der für die Anmeldung verwendet wird, erreichbar sein; das Gateway bedient die Geräteüberprüfungsseite auf dem gleichen Listener. Stellen Sie entweder ein TLS-Zertifikat über `listen.tls` bereit, oder führen Sie hinter einem TLS-terminierenden Ingress aus und setzen Sie `listen.public_url` auf den externen Ursprung in beiden Fällen. Ein einfacher `http://`-Ursprung wird nur akzeptiert, wenn der Gateway-Host Loopback ist: `localhost`, `127.0.0.1` oder `::1`. |

81| Private-Netzwerk-Adresse | Bei `/login` erfordert Claude Code, dass der Hostname oder die IP-Adresse des Gateways nur zu privaten Adressen aufgelöst wird: RFC 1918, Link-lokal, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` oder Loopback. Für ein von Ihnen gehostetes Gateway wird jede öffentliche Adresse abgelehnt; siehe das [Bedrohungsmodell](/docs/de/claude-apps-gateway-deploy#threat-model-summary) im Bereitstellungsleitfaden. Die Überprüfung wird auf jeder aufgelösten IP ausgeführt, daher lehnt `/login` die URL ab, wenn eine Adresse, zu der der Name aufgelöst wird, öffentlich ist. Wenn Entwicklermaschinen HTTPS über einen Unternehmens-Proxy leiten, erfordert die Anmeldung auch, dass der Proxy-Host zu privaten Adressen aufgelöst wird; wenn nicht, fügen Sie den Gateway-Host zu `NO_PROXY` hinzu, damit die CLI direkt verbunden wird. |81| Private-Netzwerk-Adresse | Bei `/login` erfordert Claude Code, dass der Hostname oder die IP-Adresse des Gateways nur zu privaten Adressen aufgelöst wird: RFC 1918, Link-lokal, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` oder Loopback. Für ein von Ihnen gehostetes Gateway wird jede öffentliche Adresse außerhalb eines Blocks, den Sie deklarieren, abgelehnt; siehe das [Bedrohungsmodell](/docs/de/claude-apps-gateway-deploy#threat-model-summary) im Bereitstellungsleitfaden. Wenn Entwicklermaschinen HTTPS über einen Unternehmens-Proxy leiten, erfordert die Anmeldung auch, dass der Proxy-Host zu privaten Adressen aufgelöst wird; wenn nicht, fügen Sie den Gateway-Host zu `NO_PROXY` hinzu, damit die CLI direkt verbunden wird. Wenn Ihr internes Netzwerk aus öffentlichem IPv4-Adressraum nummeriert ist, den Ihre Organisation besitzt, [deklarieren Sie diese Blöcke](#allow-a-gateway-on-public-address-space-you-own), damit `/login` ein Gateway dort akzeptiert. |

82| Linux-Laufzeit | Der Gateway-Server läuft nur auf der nativen Linux-Binärdatei. macOS funktioniert für lokale Entwicklung. Windows wird nicht als Serverplattform unterstützt. |82| Linux-Laufzeit | Der Gateway-Server läuft nur auf der nativen Linux-Binärdatei. macOS funktioniert für lokale Entwicklung. Windows wird nicht als Serverplattform unterstützt. |

83 83 

84<h3 id="steps">84<h3 id="steps">


172 172 

173 Das Gateway ist eine einzelne Linux-Binärdatei, die die Konfiguration liest, sich mit Postgres verbindet und seine Schema-Migrationen anwendet, OIDC-Erkennung gegen Ihren IdP ausführt, Upstream-Clients erstellt und mit dem Abhören beginnt. Der Start ist fail-closed für die Konfiguration, die Postgres-Verbindung mit einem 5-Sekunden-Timeout, OIDC-Erkennung und Upstream-Client-Konstruktion. Wenn einer dieser Punkte unerreichbar oder falsch konfiguriert ist, beendet sich das Gateway mit einem Fehler, anstatt Datenverkehr in einem degradierten Zustand zu bedienen.173 Das Gateway ist eine einzelne Linux-Binärdatei, die die Konfiguration liest, sich mit Postgres verbindet und seine Schema-Migrationen anwendet, OIDC-Erkennung gegen Ihren IdP ausführt, Upstream-Clients erstellt und mit dem Abhören beginnt. Der Start ist fail-closed für die Konfiguration, die Postgres-Verbindung mit einem 5-Sekunden-Timeout, OIDC-Erkennung und Upstream-Client-Konstruktion. Wenn einer dieser Punkte unerreichbar oder falsch konfiguriert ist, beendet sich das Gateway mit einem Fehler, anstatt Datenverkehr in einem degradierten Zustand zu bedienen.

174 174 

175 Ein erfolgreicher Start validiert nicht den Inferenzpfad, da Bedrock- und Agent-Platform-Instance-Anmeldedaten bei der ersten Anfrage aufgelöst werden, nicht beim Start.175 Ein erfolgreicher Start validiert nicht den Inferenzpfad, da Amazon Bedrock und Google Clouds Agent Platform Instance-Anmeldedaten bei der ersten Anfrage aufgelöst werden, nicht beim Start.

176 176 

177 Beobachten Sie stderr auf die Boot-Sequenz. Log-Zeilen verwenden das Format `[gateway] <timestamp> <level> <message>`, Audit-Events sind einzeilige JSON mit einem `evt`-Feld, und ein Startup-Banner, unten weggelassen, wird zwischen der Migration und den Listening-Zeilen gedruckt. Eine frische Datenbank druckt eine `migration N applied`-Zeile pro Schema-Migration; eine bereits migrierte Datenbank druckt keine. Sie sollten in dieser Reihenfolge sehen:177 Beobachten Sie stderr auf die Boot-Sequenz. Log-Zeilen verwenden das Format `[gateway] <timestamp> <level> <message>`, Audit-Events sind einzeilige JSON mit einem `evt`-Feld, und ein Startup-Banner, unten weggelassen, wird zwischen der Migration und den Listening-Zeilen gedruckt. Eine frische Datenbank druckt eine `migration N applied`-Zeile pro Schema-Migration; eine bereits migrierte Datenbank druckt keine. Sie sollten in dieser Reihenfolge sehen:

178 178 


185 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080185 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080

186 ```186 ```

187 187 

188 Das Gateway protokolliert auch eine Warnung, dass `access_control.allow_cidrs` leer ist. Das ist hier erwartet, da nichts die Client-Adressen begrenzt, die das Gateway bedient, bis Sie eine Zulassungsliste festlegen. Die [`access_control`-Referenz](/docs/de/claude-apps-gateway-config#http-tuning) hat die empfohlenen Bereiche.

189 

188 Wenn der Start vor der `claude gateway listening on`-Zeile beendet wird, benennt die letzte Zeile von stderr das Problem:190 Wenn der Start vor der `claude gateway listening on`-Zeile beendet wird, benennt die letzte Zeile von stderr das Problem:

189 191 

190 * ein unerreichbares Postgres192 * ein unerreichbares Postgres


291 293 

292Ein Entwickler kann dies nicht manuell einrichten. Die Anmeldungsauswahl hat keine Gateway-Option, und `forceLoginGatewayUrl` wird in den eigenen Einstellungsdateien eines Entwicklers ignoriert. `forceLoginMethod` allein, ohne URL, lässt den Entwickler bei einer „Kontaktieren Sie Ihren IT-Administrator"-Nachricht. Die Anmeldeschlüssel gehören in die Datei, die Sie auf Maschinen pushen, nicht in den `managed.policies[].cli`-Block des Gateways, der nur bereits verbundene Clients erreicht.294Ein Entwickler kann dies nicht manuell einrichten. Die Anmeldungsauswahl hat keine Gateway-Option, und `forceLoginGatewayUrl` wird in den eigenen Einstellungsdateien eines Entwicklers ignoriert. `forceLoginMethod` allein, ohne URL, lässt den Entwickler bei einer „Kontaktieren Sie Ihren IT-Administrator"-Nachricht. Die Anmeldeschlüssel gehören in die Datei, die Sie auf Maschinen pushen, nicht in den `managed.policies[].cli`-Block des Gateways, der nur bereits verbundene Clients erreicht.

293 295 

296<h3 id="allow-a-gateway-on-public-address-space-you-own">

297 Ein Gateway auf öffentlichem Adressraum zulassen, den Sie besitzen

298</h3>

299 

300Einige Organisationen nummerieren ihr internes Netzwerk aus einem öffentlichen IPv4-Block, den sie besitzen, wie z. B. den eigenen Adressraum eines Carriers oder ein Legacy-`/8`, daher kann ihr Gateway keine private Adresse haben. Listen Sie diese Blöcke in der verwalteten Einstellung `gatewayInternalNetworks` auf. `/login` akzeptiert dann ein Gateway in einem aufgelisteten Block, wenn sich die Maschine des Entwicklers von einer Adresse in demselben Block aus damit verbindet. Dies erfordert Claude Code v2.1.268 oder später auf der Entwicklermaschine; frühere Versionen ignorieren den Schlüssel und wenden die Regel für private Adressen an.

301 

302<Warning>

303 `gatewayInternalNetworks` ist für interne Netzwerke, die zufällig aus öffentlichem Adressraum nummeriert sind. Es macht es nicht sicher, ein Gateway im Internet verfügbar zu machen: Ein vertrauenswürdiges Gateway kann Einstellungen pushen, die Befehle auf Entwicklermaschinen ausführen.

304 

305 Halten Sie das Gateway mit Ihren Firewall- oder Load-Balancer-Regeln von außerhalb Ihres Netzwerks unerreichbar. Setzen Sie die [`access_control.allow_cidrs`](/docs/de/claude-apps-gateway-config#http-tuning) des Gateways auf dieselben Blöcke, die Sie hier deklarieren, damit das Gateway selbst Clients von überall sonst ablehnt. Hinter einem Load Balancer oder Ingress setzen Sie auch `listen.trusted_proxies` auf dieses Front-End, da das Gateway sonst `allow_cidrs` gegen die eigene Adresse des Front-Ends statt gegen die des Entwicklers abgleicht.

306</Warning>

307 

308Fügen Sie den Schlüssel zur gleichen verwalteten Einstellungsquelle wie die Anmeldeschlüssel hinzu: die Datei mit verwalteten Einstellungen, das MDM-Profil oder die Registrierungsrichtlinie. Claude Code ignoriert ihn in Benutzer-, Projekt- und Server-verwalteten Einstellungen.

309 

310Dieses Beispiel deklariert einen Block. Ersetzen Sie `203.0.113.0/24` durch Ihren eigenen Block. Es ist ein Dokumentationsbereich, und Claude Code lehnt diese ab.

311 

312```json theme={null}

313{

314 "gatewayInternalNetworks": ["203.0.113.0/24"]

315}

316```

317 

318Claude Code validiert die Liste bei `/login`, bevor sie sich mit einem Gateway verbindet:

319 

320* Jeder Eintrag ist ein IPv4-Block, geschrieben als seine erste Adresse und ein Präfix von `/8` bis `/32`.

321* Die Liste enthält höchstens vier Blöcke, und keine zwei überlappen sich.

322* Kein Block überlappt privaten Adressraum: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `127.0.0.0/8`, `169.254.0.0/16` und `100.64.0.0/10`. `/login` akzeptiert ein Gateway dort bereits ohne diesen Schlüssel.

323* Kein Block überlappt Raum, der niemals das Netzwerk einer Organisation ist: `198.18.0.0/15` und `192.0.0.0/24`, die VPN- und NAT64-Clients als lokale Adressen halten; die Dokumentationsbereiche `192.0.2.0/24`, `198.51.100.0/24` und `203.0.113.0/24`; und die reservierten Bereiche `0.0.0.0/8`, `192.88.99.0/24` und Multicast `224.0.0.0/4`. Sie können Blöcke in `240.0.0.0/4` deklarieren, die einige große Netzwerke als internen Unicast-Raum verwenden.

324 

325Blöcke aus `managed-settings.json` und seinen `managed-settings.d/`-Drop-in-Dateien kombinieren sich zu einer Liste, und diese Grenzen gelten für die kombinierte Liste. Um einen Block zu verengen, ersetzen Sie seinen Eintrag, anstatt einen zweiten, überlappenden in einem Drop-in hinzuzufügen; `/login` lehnt die Überlappung ab.

326 

327Wenn ein Eintrag eine Regel bricht oder der Wert keine Liste von Strings ist, lehnt Claude Code jede neue Gateway-Anmeldung auf dieser Maschine ab und benennt das Problem in der Nachricht. Die Anmeldung bei einem Gateway auf einer privaten Adresse schlägt ebenfalls fehl, und bestehende Anmeldungen funktionieren weiterhin. Versuchen Sie den Wert auf einer Maschine, bevor Sie ihn bereitstellen. Claude Code listet auch einen falsch typisierten Wert unter den [ungültigen verwalteten Einstellungen auf, die es meldet](/docs/de/managed-settings#keys-that-fail-closed).

328 

329Mit einer gültigen Liste wendet `/login` drei Überprüfungen auf ein Gateway an, dessen Adresse in einem aufgelisteten Block liegt:

330 

331* Jede Adresse, zu der sich der Hostname des Gateways auflöst, liegt in diesem einen Block. Claude Code lehnt einen Namen ab, der auch Datensätze außerhalb davon, private und IPv6-Adressen eingeschlossen, hat.

332* Die Maschine des Entwicklers verbindet sich von innerhalb desselben Blocks. Claude Code lehnt eine Maschine hinter NAT, in einem Container oder WSL2 oder auf einem VPN ab, dessen Adresspool außerhalb des Blocks liegt, und benennt die Adresse, von der sich die Maschine verbunden hat.

333* Die Verbindung ist direkt. Wenn `HTTPS_PROXY` für den Gateway-Host gilt, lehnt `/login` ab und benennt den `NO_PROXY`-Eintrag, der hinzugefügt werden soll.

334 

335Wenn alle drei bestanden werden, fügt die [Vertrauensaufforderung](#connect-developers) eine Zeile hinzu, die die Adresse der Maschine, die Adresse des Gateways und den deklarierten Block, der beide enthält, benennt.

336 

337Der Schlüssel ändert nichts für andere Gateways: Die Anmeldung bei einem auf einer privaten Adresse funktioniert wie zuvor, und die Anmeldung bei einem auf einer öffentlichen Adresse außerhalb jeden aufgelisteten Blocks wird wie zuvor abgelehnt.

338 

339Ein deklarierter Block verengt, wer sich anmelden kann, beweist aber nicht, wo sich eine Maschine befindet, daher deklarieren Sie nur Adressraum, den Ihre Organisation kontrolliert. Ein Block, der mit anderen Mandanten geteilt wird, wie z. B. ein öffentlicher Bereich eines Cloud-Anbieters, lässt jeden darin die gleiche Überprüfung bestehen.

340 

294<h3 id="deliver-policy-to-claude-desktop-sessions">341<h3 id="deliver-policy-to-claude-desktop-sessions">

295 Richtlinie an Claude Desktop-Sitzungen liefern342 Richtlinie an Claude Desktop-Sitzungen liefern

296</h3>343</h3>


381 Sperrverhalten über Quellen hinweg428 Sperrverhalten über Quellen hinweg

382</h4>429</h4>

383 430 

384Das Setzen einer Sperre schränkt die anderen nicht ein; jeder Schlüssel ist in der [Einstellungsreferenz](/docs/de/settings-reference#all-settings) dokumentiert. Aus einer Admin-Quelle unter dem Gewinner gelten die beiden Sandbox-Sperren immer noch, und `allowManagedPermissionRulesOnly` blockiert weiterhin übergeordnete Zulassungsregeln und `additionalDirectories`. Die Hooks- und MCP-Server-Sperren sowie die Auswirkung von `allowManagedPermissionRulesOnly` auf die eigenen Regeln des Entwicklers benötigen standardmäßig die Gewinnerquelle; unter der Merge-Opt-in `managedSourcesBehavior` in [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources), wendet Claude Code den strengsten Wert an, den jede Quelle für jede Sperre setzt. Auf [`policyHelper`](/docs/de/settings-reference#policyhelper)-Flotten werden die Sperren nur aus der Ausgabe des Helpers gelesen.431Das Setzen einer Sperre schränkt die anderen nicht ein; jeder Schlüssel ist in der [Einstellungsreferenz](/docs/de/settings-reference#all-settings) dokumentiert. Aus einer Admin-Quelle unter dem Gewinner gelten die beiden Sandbox-Sperren immer noch, und `allowManagedPermissionRulesOnly` blockiert weiterhin übergeordnete Zulassungsregeln und `additionalDirectories`. Auf Claude Code v2.1.273 oder später gilt auch die MCP-Server-Sperre aus einer Quelle unter dem Gewinner, und während sie aktiv ist, kommt die verwaltete `allowedMcpServers`-Liste aus der höchsten Prioritäts-Admin-Quelle, die eine setzt.

432 

433Die Hooks-Sperre und die Auswirkung von `allowManagedPermissionRulesOnly` auf die eigenen Regeln des Entwicklers benötigen standardmäßig die Gewinnerquelle; unter der Merge-Opt-in `managedSourcesBehavior` in [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources), wendet Claude Code den strengsten Wert an, den jede Quelle für jede Sperre setzt. Auf [`policyHelper`](/docs/de/settings-reference#policyhelper)-Flotten werden die Sperren nur aus der Ausgabe des Helpers gelesen.

434 

435Jede Sperre lässt Claude Code die eigenen Einträge des Entwicklers für diese Einstellung ignorieren, daher schließen Sie die Zulassungslisten Ihrer Organisation neben den Sperren ein:

385 436 

386Jede Sperre lässt Claude Code die eigenen Einträge des Entwicklers für diese Einstellung ignorieren, daher schließen Sie die Zulassungslisten Ihrer Organisation neben den Sperren ein. Das Sperren von Netzwerkdomänen mit einer leeren verwalteten Domänenliste blockiert den gesamten ausgehenden Sandbox-Verkehr, und das Sperren von MCP-Servern ohne verwaltete oder übergeordnete `allowedMcpServers` lädt jeden Server, den `deniedMcpServers` nicht blockiert. `allowRead`-Einträge erlauben nur Pfade in `denyRead`-Regionen erneut, daher koppeln Sie sie mit einem verwalteten `denyRead`.437* **Netzwerkdomänen**: Das Sperren mit einer leeren verwalteten Domänenliste blockiert den gesamten ausgehenden Sandbox-Verkehr.

438* **MCP-Server**: Das Sperren ohne `allowedMcpServers` in einer Admin-Quelle oder in den übergeordneten Einstellungen lädt jeden Server, den `deniedMcpServers` nicht blockiert.

439* **Lesepfade**: `allowRead`-Einträge erlauben nur Pfade in `denyRead`-Regionen erneut, daher koppeln Sie sie mit einem verwalteten `denyRead`.

387 440 

388<h4 id="settings-the-locks-don’t-cover">441<h4 id="settings-the-locks-don’t-cover">

389 Einstellungen, die die Sperren nicht abdecken442 Einstellungen, die die Sperren nicht abdecken

390</h4>443</h4>

391 444 

392Vier übergeordnete Einstellungen passieren den Filter auch mit allen fünf Sperren gesetzt. Unter der Standard-First-Wins-Einstellung ist der Admin-Wert, der den übergeordneten blockiert, der in der höchsten Prioritäts-Admin-Quelle. Unter der Merge-Opt-in `managedSourcesBehavior` sagt [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources), welcher Quellenwert stattdessen gilt.445Vier übergeordnete Einstellungen passieren den Filter auch mit allen fünf Sperren gesetzt. Unter der Standard-First-Wins-Einstellung ist der Admin-Wert, der den übergeordneten blockiert, der in der höchsten Prioritäts-Admin-Quelle, außer für `allowedMcpServers` während die [MCP-Server-Sperre](#lock-behavior-across-sources) aktiv ist. Unter der Merge-Opt-in `managedSourcesBehavior` sagt [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources), welcher Quellenwert stattdessen gilt.

393 446 

394* **`forceLoginOrgUUID`**: Claude Code ehrt einen übergeordneten Wert, wenn die höchste Prioritäts-Admin-Quelle keine Organisations-UUID setzt. Gateway-Anmeldung überprüft diesen Schlüssel nicht, daher ist er nur für Flotten wichtig, die auch First-Party-Anthropic-Anmeldungen verwenden. Eine Organisations-UUID in der höchsten Prioritäts-Admin-Quelle blockiert den übergeordneten Wert und ist der, den Claude Code erzwingt, daher setzen Sie `forceLoginOrgUUID` dort.447* **`forceLoginOrgUUID`**: Claude Code ehrt einen übergeordneten Wert, wenn die höchste Prioritäts-Admin-Quelle keine Organisations-UUID setzt. Gateway-Anmeldung überprüft diesen Schlüssel nicht, daher ist er nur für Flotten wichtig, die auch First-Party-Anthropic-Anmeldungen verwenden. Eine Organisations-UUID in der höchsten Prioritäts-Admin-Quelle blockiert den übergeordneten Wert und ist der, den Claude Code erzwingt, daher setzen Sie `forceLoginOrgUUID` dort.

395* **`allowedMcpServers`**: Claude Code ehrt eine übergeordnete Zulassungsliste, wenn die höchste Prioritäts-Admin-Quelle keine setzt, und `allowManagedMcpServersOnly` blockiert sie nicht, da die Sperre erzwingt, welche Liste auch immer gewinnt, als verwalteter Wert, einschließlich einer übergeordneten Liste, wenn die höchste Prioritäts-Admin-Quelle keine setzt. Eine Liste in der höchsten Prioritäts-Admin-Quelle blockiert die übergeordnete und ist die Liste, die Claude Code erzwingt, daher setzen Sie `allowedMcpServers` dort, neben der Sperre. Vor v2.1.223 blockierte ein Wert für einen der beiden Schlüssel in jeder Admin-Quelle den übergeordneten.448* **`allowedMcpServers`**: Claude Code ehrt eine übergeordnete Zulassungsliste, wenn keine Admin-Liste in Kraft ist. `allowManagedMcpServersOnly` blockiert sie nicht, da die Sperre erzwingt, welche Liste auch immer gewinnt, als verwalteter Wert, einschließlich einer übergeordneten Liste, wenn keine Admin-Quelle eine Liste liefert. Eine Liste in der höchsten Prioritäts-Admin-Quelle blockiert die übergeordnete und ist die Liste, die Claude Code erzwingt, daher setzen Sie `allowedMcpServers` dort, neben der Sperre. Vor v2.1.223 blockierte ein Wert für einen der beiden Schlüssel in jeder Admin-Quelle den übergeordneten.

396* **`availableModels`**: Claude Code ehrt eine übergeordnete Modelliste, wenn die Gewinnerquelle für verwaltete Einstellungen keine setzt. Wenn Ihre Flotte Modelle einschränkt, setzen Sie `availableModels` in der Gewinnerquelle.449* **`availableModels`**: Claude Code ehrt eine übergeordnete Modelliste, wenn die Gewinnerquelle für verwaltete Einstellungen keine setzt. Wenn Ihre Flotte Modelle einschränkt, setzen Sie `availableModels` in der Gewinnerquelle.

397* **`strictPluginOnlyCustomization`**: dieser Schlüssel passiert den Filter unabhängig von jeder Sperre, und er lässt Claude Code die eigene Anpassung des Entwicklers ignorieren, einschließlich schützender Hooks. Keine Sperre blockiert ihn.450* **`strictPluginOnlyCustomization`**: dieser Schlüssel passiert den Filter unabhängig von jeder Sperre, und er lässt Claude Code die eigene Anpassung des Entwicklers ignorieren, einschließlich schützender Hooks. Keine Sperre blockiert ihn.

398 451 

Details

496```496```

497 497 

498| Feld | Erforderlich | Beschreibung |498| Feld | Erforderlich | Beschreibung |

499| ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |499| ------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

500| `multiplier` | Nein | Standard `1`. Der Zähler multipliziert jeden gezählten Betrag mit diesem, ob listenpreisig oder überschrieben, sodass `0.85` 85 % des Preises berechnet. Muss größer als 0 und höchstens 1 sein. |500| `multiplier` | Nein | Standard `1`. Der Zähler multipliziert jeden gezählten Betrag mit diesem, ob listenpreisig oder überschrieben, sodass `0.85` 85 % des Preises berechnet. Muss größer als 0 und höchstens 10 sein, und ein Wert über 1 ist ein [Aufschlag](#mark-prices-up). |

501| `overrides` | Nein | Zeilen von `{upstream, model, input, output, cache_read, cache_write}` in USD pro Million Token. Alle vier Sätze sind erforderlich. Jeder muss größer als 0 und höchstens 10.000 sein. |501| `overrides` | Nein | Zeilen von `{upstream, model, input, output, cache_read, cache_write}` in USD pro Million Token. Alle vier Sätze sind erforderlich. Jeder muss größer als 0 und höchstens 10.000 sein. |

502 502 

503Wie der Zähler eine Überschreibungszeile abgleicht:503Wie der Zähler eine Überschreibungszeile abgleicht:


510 510 

511Für regionale Sätze geben Sie jeder Region seinen eigenen benannten Upstream und eine Zeile pro Upstream.511Für regionale Sätze geben Sie jeder Region seinen eigenen benannten Upstream und eine Zeile pro Upstream.

512 512 

513<h4 id="mark-prices-up">

514 Preise erhöhen

515</h4>

516 

517Mit v2.1.271 oder später auf dem Gateway-Server können Sie `multiplier` über 1, bis zu 10, setzen, um mehr als der Anbieter berechnet zu zählen, z. B. einen internen Verrechnungssatz. Dieses Beispiel zählt jede Anfrage mit 120 % des Preises:

518 

519```yaml theme={null}

520pricing:

521 multiplier: 1.2

522```

523 

524Mit einem [`admin:`](#admin)-Block gilt der Aufschlag auch für Ausgabenlimits. Der Zähler zählt 120 % des Preises, sodass Entwickler ihre Limits schneller erreichen. Das Gateway protokolliert eine Warnung beim Start, die dies besagt.

525 

526Der Multiplikator ändert nicht, was der Upstream-Anbieter für die Anfragen berechnet.

527 

528Wenn das Gateway auch [die Sätze an angemeldete Clients sendet](#send-the-rates-to-signed-in-clients), benötigen Entwickler Claude Code v2.1.271 oder später, um den Aufschlag zu sehen. Frühere Clients ignorieren einen `multiplier` über 1 und zeigen Kosten ohne ihn.

529 

530Ein Gateway-Server früher als v2.1.271 weigert sich zu starten, wenn Sie einen `multiplier` über 1 setzen.

531 

513<h4 id="send-the-rates-to-signed-in-clients">532<h4 id="send-the-rates-to-signed-in-clients">

514 Sätze an angemeldete Clients senden533 Sätze an angemeldete Clients senden

515</h4>534</h4>


892| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Pro-IP-Ratenlimit auf dem nicht authentifizierten Geräteautorisierungs-Endpunkt. Erhöhen Sie für eine große Organisation hinter einer gemeinsamen Egress-IP oder NAT. Diese Limits gelten nur für den Geräte-Grant-Anmeldungsfluss, nicht für `/v1/messages`-Inferenz. Siehe [Benutzer-Code-Brute-Force-Widerstand](/docs/de/claude-apps-gateway-deploy#user-code-brute-force-resistance). |911| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Pro-IP-Ratenlimit auf dem nicht authentifizierten Geräteautorisierungs-Endpunkt. Erhöhen Sie für eine große Organisation hinter einer gemeinsamen Egress-IP oder NAT. Diese Limits gelten nur für den Geräte-Grant-Anmeldungsfluss, nicht für `/v1/messages`-Inferenz. Siehe [Benutzer-Code-Brute-Force-Widerstand](/docs/de/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

893| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Pro-IP-Ratenlimit bei `user_code`-Einreichungen unter `/device` |912| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Pro-IP-Ratenlimit bei `user_code`-Einreichungen unter `/device` |

894 913 

914Wenn Sie beide `access_control`-Listen leer lassen, was der Standard ist, bedient das Gateway jede Client-Adresse, sodass nur Ihr Netzwerk einschränkt, wer es erreichen kann. Das ist wichtig, da ein Gateway [verwaltete Einstellungen](#managed) pushen kann, die Befehle auf Entwicklermaschinen ausführen.

915 

916Während `allow_cidrs` leer ist, warnt das Gateway an zwei Stellen, ohne zu ändern, wie es auf eine Anfrage antwortet:

917 

918* **Beim Start**: eine Warnung im Betriebsprotokoll empfiehlt, nur die privaten Bereiche `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` und `fc00::/7` zuzulassen, plus alle anderen internen Bereiche, von denen sich Ihre Entwickler verbinden. Wenn Sie das Gateway an eine Loopback-Adresse binden und weder `trusted_proxies` noch `public_url` setzen, wie in der lokalen Entwicklung, erscheint die Warnung nicht.

919* **Zur Laufzeit**: Das erste Mal, wenn eine Anfrage von einer Adresse außerhalb dieser privaten Bereiche ankommt, protokolliert das Gateway eine Warnung und gibt ein [`access.public_client`-Audit-Ereignis](/docs/de/claude-apps-gateway-deploy#logs) aus, das die Client-IP trägt. Beide werden einmal pro Prozess ausgelöst. Link-lokale Adressen, `169.254.0.0/16` und `fe80::/10`, zählen nicht als öffentlich. Das Gateway antwortet auf `/healthz` und `/readyz`, bevor diese Prüfung ausgeführt wird, sodass Health-Probes aus öffentlichen Bereichen sie nicht auslösen.

920 

921Beide Signale verwenden die Client-Adresse, wie das Gateway sie auflöst. Wenn ein Load Balancer, Port-Forward oder Tunnel Datenverkehr weitergeleitet und nicht in `listen.trusted_proxies` aufgelistet ist, sieht das Gateway die Adresse des Relays, die normalerweise privat ist, sodass weder die Laufzeit-Warnung noch eine private Zulassungsliste Datenverkehr, der durch sie weitergeleitet wird, erfasst.

922 

923Hinter einem solchen Front-End setzen Sie zuerst [`listen.trusted_proxies`](#listen), damit das Gateway echte Client-Adressen sieht, und halten Sie das Gateway und alles davor unabhängig vom öffentlichen Internet unerreichbar.

924 

895<h2 id="complete-example">925<h2 id="complete-example">

896 Vollständiges Beispiel926 Vollständiges Beispiel

897</h2>927</h2>


962# enforcement:992# enforcement:

963# fail_closed_on_error: false993# fail_closed_on_error: false

964 994 

965# Meter zu vertraglich vereinbarten Sätzen statt USD-Listenpreis. Erfordert admin:.995# Meter zu vertraglich vereinbarten Sätzen statt USD-Listenpreis. Erfordert admin: oder eine

966# Mit managed: gehen die gleichen Sätze auch an angemeldete Clients.996# managed:-Richtlinie. Mit managed: gehen die gleichen Sätze auch an angemeldete Clients.

967# Die folgenden Sätze sind Platzhalter, keine echten Vertragspreise.997# Die folgenden Sätze sind Platzhalter, keine echten Vertragspreise.

968# pricing:998# pricing:

969# multiplier: 0.85999# multiplier: 0.85


1063 1093 

1064Für Claude Desktop setzen Sie den `bootstrapUrl`-Schlüssel in Claude Desktop's eigene [verwaltete Konfiguration](https://claude.com/docs/third-party/claude-desktop/configuration) auf `<listen.public_url>/user/bootstrap`. Der Anmeldungsfluss und die Pro-Gruppen-Richtlinie entsprechen dann der CLI's, sobald eine Richtlinie sich serverseitig mit einem `desktop`-Schlüssel anmeldet; ohne die Anmeldung gibt `/user/bootstrap` 404 zurück. Siehe [Claude Desktop-Overlay](#claude-desktop-overlay) für die serverseitige Hälfte.1094Für Claude Desktop setzen Sie den `bootstrapUrl`-Schlüssel in Claude Desktop's eigene [verwaltete Konfiguration](https://claude.com/docs/third-party/claude-desktop/configuration) auf `<listen.public_url>/user/bootstrap`. Der Anmeldungsfluss und die Pro-Gruppen-Richtlinie entsprechen dann der CLI's, sobald eine Richtlinie sich serverseitig mit einem `desktop`-Schlüssel anmeldet; ohne die Anmeldung gibt `/user/bootstrap` 404 zurück. Siehe [Claude Desktop-Overlay](#claude-desktop-overlay) für die serverseitige Hälfte.

1065 1095 

1066[`forceLoginGatewayUrl`](/docs/de/settings-reference#forcelogingatewayurl) und der `"gateway"`-Wert von [`forceLoginMethod`](/docs/de/settings-reference#forceloginmethod) werden nur von einer verwalteten Quelle auf dem Computer geehrt: `managed-settings.json`, das macOS-Plist oder die Windows HKLM-Registrierung, oder ein Richtlinien-Helper. Ein Entwickler, der sie in seiner eigenen `~/.claude/settings.json` setzt, hat keine Auswirkung, und das Setzen im Gateway-Payload auch nicht.1096Claude Code ehrt [`forceLoginGatewayUrl`](/docs/de/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/de/settings-reference#gatewayinternalnetworks) und den `"gateway"`-Wert von [`forceLoginMethod`](/docs/de/settings-reference#forceloginmethod) nur von einer verwalteten Quelle auf dem Computer: `managed-settings.json`, das macOS-Plist oder die Windows HKLM-Registrierung, oder ein Richtlinien-Helper. Ein Entwickler, der sie in seiner eigenen `~/.claude/settings.json` setzt, hat keine Auswirkung, und das Setzen im Gateway-Payload auch nicht.

1067 1097 

1068<h2 id="related">1098<h2 id="related">

1069 Verwandt1099 Verwandt

Details

18Wenn ein Anmelde- oder Startfehler auftritt, gehen Sie direkt zu [Fehlerbehebung](#troubleshooting), das nach dem Fehler, den Sie sehen, indiziert ist.18Wenn ein Anmelde- oder Startfehler auftritt, gehen Sie direkt zu [Fehlerbehebung](#troubleshooting), das nach dem Fehler, den Sie sehen, indiziert ist.

19 19 

20<Note>20<Note>

21 **Stellen Sie auf Ihrem privaten Netzwerk bereit.** Claude Code stellt nur eine Verbindung zu einem Gateway her, dessen Adresse privat ist. Dies ist eine Sicherheitsmaßnahme, da ein vertrauenswürdiges Gateway Einstellungen pushen kann, die Befehle auf Entwicklermaschinen ausführen. Platzieren Sie das Gateway hinter einem internen Load Balancer oder VPN und geben Sie ihm einen Hostnamen, der nur zu privaten IPs aufgelöst wird.21 **Stellen Sie auf Ihrem privaten Netzwerk bereit.** Claude Code stellt nur eine Verbindung zu einem Gateway her, dessen Adresse privat ist. Dies ist eine Sicherheitsmaßnahme, da ein vertrauenswürdiges Gateway Einstellungen pushen kann, die Befehle auf Entwicklermaschinen ausführen. Platzieren Sie das Gateway hinter einem internen Load Balancer oder VPN und geben Sie ihm einen Hostnamen, der nur zu privaten IPs aufgelöst wird. Wenn Ihr internes Netzwerk aus öffentlichem IPv4-Adressraum Ihrer Organisation nummeriert ist, siehe [Erlauben Sie ein Gateway auf öffentlichem Adressraum, den Sie besitzen](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own).

22</Note>22</Note>

23 23 

24<h2 id="identity-provider-setup">24<h2 id="identity-provider-setup">


138 138 

139Das Gateway schreibt zwei Streams zu stderr, beide JSON-freundlich:139Das Gateway schreibt zwei Streams zu stderr, beide JSON-freundlich:

140 140 

141* **Audit-Events**: einzeilige JSON pro sicherheitsrelevantes Event. Leiten Sie stderr an Ihren Log-Aggregator. Die ausgegebenen Events umfassen `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` und `admin.limit.delete`. Felder variieren je nach Event:141* **Audit-Events**: einzeilige JSON pro sicherheitsrelevantes Event. Leiten Sie stderr an Ihren Log-Aggregator.

142 

143 Die ausgegebenen Events umfassen `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `access.public_client`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` und `admin.limit.delete`. Felder variieren je nach Event:

144 

142 * Erfolgreiche Mint- und Refresh-Events tragen `sub`, `email`, `client_ip` und das Ergebnis145 * Erfolgreiche Mint- und Refresh-Events tragen `sub`, `email`, `client_ip` und das Ergebnis

143 * `auth.denied` und `access.denied` tragen den Grund und die Client-IP, plus den Anfragepfad für `auth.denied`, da bei diesen Ablehnungen keine Benutzeridentität existiert. Zwei `access.denied`-Gründe ändern, was das Event trägt:146 * `auth.denied` und `access.denied` tragen den Grund und die Client-IP, plus den Anfragepfad für `auth.denied`, da bei diesen Ablehnungen keine Benutzeridentität existiert. Zwei `access.denied`-Gründe ändern, was das Event trägt:

144 * `xff_unparseable`: das Event trägt auch den `X-Forwarded-For`-Eintrag, der nicht gelesen werden konnte147 * `xff_unparseable`: das Event trägt auch den `X-Forwarded-For`-Eintrag, der nicht gelesen werden konnte

145 * `client_ip_unknown`: das Event trägt keine Client-IP, da die Verbindung keine Peer-Adresse hatte, während eine `access_control`-Liste gesetzt war148 * `client_ip_unknown`: das Event trägt keine Client-IP, da die Verbindung keine Peer-Adresse hatte, während eine `access_control`-Liste gesetzt war

149 * `access.public_client` trägt die Client-IP der ersten Anfrage pro Prozess, die von einer öffentlichen Adresse ankommt, während `access_control.allow_cidrs` leer ist. Das Gateway bedient die Anfrage wie gewohnt; das Event signalisiert, dass das Gateway möglicherweise vom öffentlichen Internet erreichbar ist. Siehe die [`access_control`-Referenz](/docs/de/claude-apps-gateway-config#http-tuning) für das, was als öffentlich zählt, und für die empfohlene Allow-Liste.

146 * `inference` zeichnet auf, welcher Upstream die Anfrage bedient hat und den Antwortstatus150 * `inference` zeichnet auf, welcher Upstream die Anfrage bedient hat und den Antwortstatus

147 * `desktop_bootstrap.denied` zeichnet einen abgelehnten Claude Desktop Bootstrap-Abruf mit dem Grund (`not_configured`, `policy_not_opted_in` oder `no_policy_matched`) und der Identität des Benutzers auf151 * `desktop_bootstrap.denied` zeichnet einen abgelehnten Claude Desktop Bootstrap-Abruf mit dem Grund (`not_configured`, `policy_not_opted_in` oder `no_policy_matched`) und der Identität des Benutzers auf

148 * `admin.denied` zeichnet einen abgelehnten Admin-API-Auth-Versuch mit der Client-IP, Methode, Pfad und einem Grund auf, ohne das präsentierte Schlüsselmaterial: `invalid_key`, wenn ein `x-api-key` präsentiert wurde, aber keinen konfigurierten Schlüssel entsprach, `bearer_rejected`, wenn nur ein `Authorization`-Header präsentiert wurde und er sich nicht als Gateway-Sitzung in `admin.admin_groups` verifizierte, oder `no_credentials`, wenn keiner der Header präsentiert wurde152 * `admin.denied` zeichnet einen abgelehnten Admin-API-Auth-Versuch mit der Client-IP, Methode, Pfad und einem Grund auf, ohne das präsentierte Schlüsselmaterial: `invalid_key`, wenn ein `x-api-key` präsentiert wurde, aber keinen konfigurierten Schlüssel entsprach, `bearer_rejected`, wenn nur ein `Authorization`-Header präsentiert wurde und er sich nicht als Gateway-Sitzung in `admin.admin_groups` verifizierte, oder `no_credentials`, wenn keiner der Header präsentiert wurde


173 JWT-Geheimnisrotation177 JWT-Geheimnisrotation

174</h3>178</h3>

175 179 

176Rotieren Sie das Signierungsgeheimnis in drei Schritten, damit bestehende Sitzungen gültig bleiben:180Rotieren Sie das Signierungsgeheimnis in Stufen, damit bestehende Sitzungen gültig bleiben:

177 181 

1781. Generieren Sie ein neues Geheimnis. Stellen Sie es dem `session.jwt_secret`-Array voran.1821. Generieren Sie ein neues Geheimnis. Stellen Sie es dem `session.jwt_secret`-Array voran.

1792. Rollen Sie die Bereitstellung aus. Neue Tokens signieren mit dem neuen Geheimnis; alte Tokens validieren immer noch.1832. Rollen Sie die Bereitstellung aus. Neue Tokens signieren mit dem neuen Geheimnis; alte Tokens validieren immer noch.


285| Die Anfragen eines Entwicklers schlagen mit `Not signed in to the Cloud gateway — run /login.` fehl | Die verwalteten Einstellungen der Maschine setzen `forceLoginMethod: "gateway"` oder `forceLoginGatewayUrl`, und die Sitzung hat keine Gateway-Anmeldung. Eine verbleibende claude.ai-Anmeldung erfüllt die Anforderung nicht. | Lassen Sie den Entwickler `/login` ausführen und die Gateway-Anmeldung abschließen. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |289| Die Anfragen eines Entwicklers schlagen mit `Not signed in to the Cloud gateway — run /login.` fehl | Die verwalteten Einstellungen der Maschine setzen `forceLoginMethod: "gateway"` oder `forceLoginGatewayUrl`, und die Sitzung hat keine Gateway-Anmeldung. Eine verbleibende claude.ai-Anmeldung erfüllt die Anforderung nicht. | Lassen Sie den Entwickler `/login` ausführen und die Gateway-Anmeldung abschließen. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

286| Claude Desktop meldet, dass seine Bootstrap-Konfiguration nicht abgerufen werden konnte | `/user/bootstrap` gab 404 zurück: die Richtlinie, die dem Benutzer entspricht, trägt keinen `desktop`-Schlüssel, oder es wurde keine Richtlinie gefunden. Das Gateway-Audit-Protokoll zeichnet jede Ablehnung als `desktop_bootstrap.denied` mit dem Grund auf. | Fügen Sie einen `desktop`-Block zur Richtlinie hinzu, die dem Benutzer entspricht, oder zur `match: {}`-Basisebene; ein leeres `desktop: {}` reicht aus. Siehe [Claude-Desktop-Overlay](/docs/de/claude-apps-gateway-config#claude-desktop-overlay). |290| Claude Desktop meldet, dass seine Bootstrap-Konfiguration nicht abgerufen werden konnte | `/user/bootstrap` gab 404 zurück: die Richtlinie, die dem Benutzer entspricht, trägt keinen `desktop`-Schlüssel, oder es wurde keine Richtlinie gefunden. Das Gateway-Audit-Protokoll zeichnet jede Ablehnung als `desktop_bootstrap.denied` mit dem Grund auf. | Fügen Sie einen `desktop`-Block zur Richtlinie hinzu, die dem Benutzer entspricht, oder zur `match: {}`-Basisebene; ein leeres `desktop: {}` reicht aus. Siehe [Claude-Desktop-Overlay](/docs/de/claude-apps-gateway-config#claude-desktop-overlay). |

287| Startup zeigt `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Der installierte Claude-Code-Build ist älter als die Gateway-Unterstützung | Lassen Sie den Entwickler Claude Code auf eine Version aktualisieren, die Cloud-Gateway-Unterstützung enthält |291| Startup zeigt `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Der installierte Claude-Code-Build ist älter als die Gateway-Unterstützung | Lassen Sie den Entwickler Claude Code auf eine Version aktualisieren, die Cloud-Gateway-Unterstützung enthält |

292| Startup beendet mit `Administrator policy requires a Cloud gateway sign-in on this machine` | Die Umgebung des Entwicklers setzt `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN`, ihre Einstellungen konfigurieren einen [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper), oder ein API-Schlüssel aus einer früheren Claude-Console-Anmeldung ist noch gespeichert | Lassen Sie den Entwickler jeden löschen, der zutrifft: die Variable aufheben, den `apiKeyHelper`-Eintrag entfernen, oder `claude auth logout` ausführen, um den gespeicherten Schlüssel zu entfernen. Dann lassen Sie ihn `claude` starten und sich mit `/login` anmelden. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

288| Startup oder `/login` meldet `Claude Code may not be enabled for your organization` nach einer 403 beim Laden der verwalteten Einstellungen | Das Gateway oder etwas davor hat die `/managed/settings`-Anfrage mit 403 beantwortet. Die Gateway-eigene Einstellungsroute antwortet niemals mit 403. Der Status stammt von den [`access_control`](/docs/de/claude-apps-gateway-config#http-tuning)-IP-Überprüfungen oder von einem Proxy oder WAF vor dem Gateway. Das Audit-Protokoll zeichnet eine IP-Überprüfungs-Ablehnung als `access.denied` mit dem Grund auf. Der Entwickler bleibt angemeldet. | Überprüfen Sie das Audit-Protokoll auf `access.denied` zum Zeitpunkt des Fehlers und beheben Sie die `access_control`-Listen oder das Front-End, dann lassen Sie den Entwickler `claude` erneut starten |293| Startup oder `/login` meldet `Claude Code may not be enabled for your organization` nach einer 403 beim Laden der verwalteten Einstellungen | Das Gateway oder etwas davor hat die `/managed/settings`-Anfrage mit 403 beantwortet. Die Gateway-eigene Einstellungsroute antwortet niemals mit 403. Der Status stammt von den [`access_control`](/docs/de/claude-apps-gateway-config#http-tuning)-IP-Überprüfungen oder von einem Proxy oder WAF vor dem Gateway. Das Audit-Protokoll zeichnet eine IP-Überprüfungs-Ablehnung als `access.denied` mit dem Grund auf. Der Entwickler bleibt angemeldet. | Überprüfen Sie das Audit-Protokoll auf `access.denied` zum Zeitpunkt des Fehlers und beheben Sie die `access_control`-Listen oder das Front-End, dann lassen Sie den Entwickler `claude` erneut starten |

289| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Der Gateway-Hostname wird zu mindestens einer öffentlichen IP-Adresse aufgelöst. Claude Code überprüft jede aufgelöste Adresse und erfordert, dass jede privat ist. Eine häufige Ursache ist ein Dual-Stack-Name, bei dem eine Familie zu einer öffentlichen Adresse aufgelöst wird, einschließlich AWS-interner Dual-Stack-Load-Balancer, die öffentliche AAAA-Adressen zurückgeben. | Lassen Sie den Gateway-Namen nur zu privaten Adressen auf Entwicklermaschinen auflösen. Für einen Dual-Stack-Namen löschen Sie den öffentlichen Datensatz oder bedienen Sie einen separaten internen DNS-Namen. Siehe die [Private-Network-Voraussetzung](/docs/de/claude-apps-gateway#prerequisites). |294| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Der Gateway-Hostname wird zu mindestens einer öffentlichen IP-Adresse aufgelöst. Claude Code überprüft jede aufgelöste Adresse und erfordert, dass jede privat ist. Eine häufige Ursache ist ein Dual-Stack-Name, bei dem eine Familie zu einer öffentlichen Adresse aufgelöst wird, einschließlich AWS-interner Dual-Stack-Load-Balancer, die öffentliche AAAA-Adressen zurückgeben. | Lassen Sie den Gateway-Namen nur zu privaten Adressen auf Entwicklermaschinen auflösen. Für einen Dual-Stack-Namen löschen Sie den öffentlichen Datensatz oder bedienen Sie einen separaten internen DNS-Namen. Siehe die [Private-Network-Voraussetzung](/docs/de/claude-apps-gateway#prerequisites). Wenn die Adresse öffentlicher Adressraum ist, den Ihre Organisation besitzt und intern nutzt, [deklarieren Sie diesen Block](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) stattdessen. |

290| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | Ein `HTTPS_PROXY` oder `HTTP_PROXY` gilt für den Gateway-Host und der Proxy-Hostname wird zu einer öffentlichen Adresse aufgelöst. Ein Proxy, dessen Host nur zu privaten Adressen aufgelöst wird, ist erlaubt und löst diesen Fehler nicht aus | Fügen Sie den Gateway-Host zu `NO_PROXY` auf der Entwicklermaschine hinzu, damit die Verbindung direkt ist, oder verwenden Sie einen Proxy, dessen Hostname zu privaten Adressen aufgelöst wird. Die Nachricht benennt den genauen `NO_PROXY`-Eintrag, der hinzugefügt werden soll |295| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | Ein `HTTPS_PROXY` oder `HTTP_PROXY` gilt für den Gateway-Host und der Proxy-Hostname wird zu einer öffentlichen Adresse aufgelöst. Ein Proxy, dessen Host nur zu privaten Adressen aufgelöst wird, ist erlaubt und löst diesen Fehler nicht aus | Fügen Sie den Gateway-Host zu `NO_PROXY` auf der Entwicklermaschine hinzu, damit die Verbindung direkt ist, oder verwenden Sie einen Proxy, dessen Hostname zu privaten Adressen aufgelöst wird. Die Nachricht benennt den genauen `NO_PROXY`-Eintrag, der hinzugefügt werden soll |

296| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | Das Gateway befindet sich auf einem Block, der in [`gatewayInternalNetworks`](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) deklariert ist, und die Maschine des Entwicklers hat es von einer Adresse außerhalb dieses Blocks erreicht: ein VPN-Adresspool, ein Container- oder WSL2-NAT-Segment, oder ein Netzwerk, das nicht Ihres ist | Lassen Sie den Entwickler `/login` vom Host-Betriebssystem in Ihrem Netzwerk ausführen. Wenn die angezeigte Adresse auch Ihr eigener öffentlicher Adressraum der Organisation ist, ersetzen Sie den Gateway-Eintrag durch einen Block, der beide abdeckt, bis zu `/8`; ein zweiter, überlappender Eintrag wird abgelehnt |

297| CLI `/login`: `Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | Der Gateway-Name wird zu einer Adresse außerhalb des in [`gatewayInternalNetworks`](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) deklarierten Blocks aufgelöst: eine zweite Website oder ein IPv6-Datensatz auf einem Dual-Stack-Namen. Unter einem deklarierten Block muss jeder Datensatz innerhalb dieses einen IPv4-Blocks liegen, private und IPv6-Adressen eingeschlossen | Veröffentlichen Sie nur Datensätze innerhalb des Blocks für den Gateway-Namen auf Entwicklermaschinen, oder bedienen Sie einen separaten internen Namen |

298| CLI `/login`: `<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | Ein `HTTPS_PROXY` oder `HTTP_PROXY` gilt für ein Gateway auf einem deklarierten Block | Fügen Sie auf der Entwicklermaschine den `NO_PROXY`-Eintrag hinzu, den die Nachricht benennt |

299| CLI `/login`: eine Nachricht, die mit `gatewayInternalNetworks in managed settings` beginnt | Der Wert verstößt gegen eine der [Validierungsregeln](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), und die Nachricht benennt welche. Bis Sie es beheben, lehnt Claude Code jede neue Gateway-`/login` auf der Maschine ab, Gateways auf privaten Adressen eingeschlossen; bestehende Anmeldungen funktionieren weiterhin | Korrigieren Sie in der verwalteten Einstellungsquelle, die Sie bereitstellen, den Eintrag, den die Nachricht benennt, dann führen Sie `/login` erneut aus |

291| CLI `/login`: `Could not resolve the configured HTTP proxy` | Der Hostname in `HTTPS_PROXY` oder `HTTP_PROXY` wird von der Entwicklermaschine nicht aufgelöst, typischerweise weil sie nicht mit dem Unternehmens-Netzwerk verbunden ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie erneut, oder beheben Sie die Proxy-URL |300| CLI `/login`: `Could not resolve the configured HTTP proxy` | Der Hostname in `HTTPS_PROXY` oder `HTTP_PROXY` wird von der Entwicklermaschine nicht aufgelöst, typischerweise weil sie nicht mit dem Unternehmens-Netzwerk verbunden ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie erneut, oder beheben Sie die Proxy-URL |

292| CLI `/login`: `Could not resolve gateway host <host>` | Die Maschine kann den internen DNS-Namen des Gateways nicht auflösen, typischerweise weil sie nicht im Unternehmens-Netzwerk ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie dann `/login` erneut |301| CLI `/login`: `Could not resolve gateway host <host>` | Die Maschine kann den internen DNS-Namen des Gateways nicht auflösen, typischerweise weil sie nicht im Unternehmens-Netzwerk ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie dann `/login` erneut |

293| Boot beendet mit einem Konfigurationsvalidierungsfehler, der `store.postgres_url` benennt | Kein Postgres konfiguriert; das Gateway erfordert Postgres | Setzen Sie `store.postgres_url`. Für lokale Entwicklung verwenden Sie einen Wegwerf-Container: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |302| Boot beendet mit einem Konfigurationsvalidierungsfehler, der `store.postgres_url` benennt | Kein Postgres konfiguriert; das Gateway erfordert Postgres | Setzen Sie `store.postgres_url`. Für lokale Entwicklung verwenden Sie einen Wegwerf-Container: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

Details

4 4 

5# Claude-Apps-Gateway auf Google Cloud bereitstellen5# Claude-Apps-Gateway auf Google Cloud bereitstellen

6 6 

7> Ein praktisches Beispiel für die Ausführung von Claude-Apps-Gateway auf Google Cloud: Cloud Run oder GKE, Cloud SQL für PostgreSQL, Secret Manager und Service-Account-Authentifizierung für Agent Platform.7> Ein praktisches Beispiel für die Ausführung von Claude-Apps-Gateway auf Google Cloud: Cloud Run oder GKE, Cloud SQL für PostgreSQL, Secret Manager und Service-Account-Authentifizierung für Google Clouds Agent Platform.

8 8 

9<Note>9<Note>

10 Diese Seite zeigt eine Möglichkeit, Claude-Apps-Gateway auf Google Cloud auszuführen. Die Konfiguration ist ein funktionierendes Beispiel für kundenverwaltete Infrastruktur und keine unterstützte Produktionsbereitstellung. Verwenden Sie sie, um zu verstehen, wie die einzelnen Komponenten zusammenpassen, bevor Sie sie an Ihre eigene Umgebung anpassen. Für die plattformunabhängigen Anforderungen siehe den [Bereitstellungsleitfaden](/de/claude-apps-gateway-deploy).10 Diese Seite zeigt eine Möglichkeit, Claude-Apps-Gateway auf Google Cloud auszuführen. Die Konfiguration ist ein funktionierendes Beispiel für kundenverwaltete Infrastruktur und keine unterstützte Produktionsbereitstellung. Verwenden Sie sie, um zu verstehen, wie die einzelnen Komponenten zusammenpassen, bevor Sie sie an Ihre eigene Umgebung anpassen. Für die plattformunabhängigen Anforderungen siehe den [Bereitstellungsleitfaden](/docs/de/claude-apps-gateway-deploy).

11</Note>11</Note>

12 12 

13Dieses Beispiel stellt Claude-Apps-Gateway auf Google Cloud mit Google Clouds Agent Platform als Modell-Upstream bereit und verwendet entweder Cloud Run oder GKE für die Berechnung. Google Workspace ist der Beispiel-Identitätsanbieter (IdP), aber jeder OpenID Connect (OIDC) konforme IdP funktioniert. Nur der `oidc`-Block ändert sich. Siehe [Identitätsanbieter-Setup](/de/claude-apps-gateway-deploy#identity-provider-setup) für IdP-spezifische Details.13Dieses Beispiel stellt Claude-Apps-Gateway auf Google Cloud mit Google Clouds Agent Platform als Modell-Upstream bereit und verwendet entweder Cloud Run oder GKE für die Berechnung. Google Workspace ist der Beispiel-Identitätsanbieter (IdP), aber jeder OpenID Connect (OIDC) konforme IdP funktioniert. Nur der `oidc`-Block ändert sich. Siehe [Identitätsanbieter-Setup](/docs/de/claude-apps-gateway-deploy#identity-provider-setup) für IdP-spezifische Details.

14 14 

15<h2 id="what-you’ll-build">15<h2 id="what-you’ll-build">

16 Was Sie erstellen werden16 Was Sie erstellen werden


20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagramm von Claude-Apps-Gateway auf Google Cloud: Claude-Code-Clients verbinden sich über HTTPS mit dem Gateway (Cloud Run oder GKE), das sich in einem VPC neben einer privaten IP-Cloud-SQL-Datenbank für Sitzungszustand befindet. Das Gateway meldet Benutzer über OIDC gegen Google Workspace an, liest Konfiguration und Geheimnisse aus Secret Manager, leitet Modellanfragen an Agent Platform weiter und ruft sein Image bei der Bereitstellung aus Artifact Registry ab." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagramm von Claude-Apps-Gateway auf Google Cloud: Claude-Code-Clients verbinden sich über HTTPS mit dem Gateway (Cloud Run oder GKE), das sich in einem VPC neben einer privaten IP-Cloud-SQL-Datenbank für Sitzungszustand befindet. Das Gateway meldet Benutzer über OIDC gegen Google Workspace an, liest Konfiguration und Geheimnisse aus Secret Manager, leitet Modellanfragen an Agent Platform weiter und ruft sein Image bei der Bereitstellung aus Artifact Registry ab." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>21</Frame>

22 22 

23Die Referenzkonfiguration stellt Folgendes bereit:23Die Bereitstellung besteht aus:

24 24 

25* **Cloud Run**-Service oder **GKE**-Deployment mit dem Gateway-Container25* **Cloud Run**-Service oder **GKE**-Deployment mit dem Gateway-Container

26* **Artifact Registry**-Repository für das Gateway-Image26* **Artifact Registry**-Repository für das Gateway-Image

27* **Cloud SQL für PostgreSQL**-Instanz, nur private IP, für den [Store](/de/claude-apps-gateway-config#store) des Gateways27* **Cloud SQL für PostgreSQL**-Instanz, nur private IP, für den [Store](/docs/de/claude-apps-gateway-config#store) des Gateways

28* **Secret Manager**-Geheimnisse für `gateway.yaml`, den JWT-Signaturschlüssel, das OIDC-Client-Geheimnis und die Postgres-URL28* **Secret Manager**-Geheimnisse für `gateway.yaml`, den JWT-Signaturschlüssel, das OIDC-Client-Geheimnis und die Postgres-URL

29* **Service Account** mit `roles/aiplatform.user`, direkt auf Cloud Run angehängt oder über Workload Identity auf GKE gebunden29* **Service Account** mit `roles/aiplatform.user`, direkt auf Cloud Run angehängt oder über Workload Identity auf GKE gebunden

30* **Interner Application Load Balancer** auf Cloud Run oder ein interner **GKE Ingress** der Klasse `gce-internal` auf GKE für HTTPS30* **HTTPS-Front-End**, das Sie bereitstellen: ein interner Application Load Balancer vor Cloud Run, für den diese Anleitung das Gateway konfiguriert, aber nicht erstellt, oder ein interner **GKE Ingress** der Klasse `gce-internal` auf GKE

31 31 

32<h2 id="prerequisites">32<h2 id="prerequisites">

33 Voraussetzungen33 Voraussetzungen


37* Die `gcloud`-CLI, authentifiziert mit `gcloud auth login`, und Docker lokal installiert37* Die `gcloud`-CLI, authentifiziert mit `gcloud auth login`, und Docker lokal installiert

38* Für den GKE-Pfad: `kubectl` und ein GKE-Cluster auf dem VPC, der in der folgenden Anleitung erstellt wird38* Für den GKE-Pfad: `kubectl` und ein GKE-Cluster auf dem VPC, der in der folgenden Anleitung erstellt wird

39* Zugriff auf die Claude-Modelle, die Sie benötigen, in Model Garden, in einer Region, die sie veröffentlicht39* Zugriff auf die Claude-Modelle, die Sie benötigen, in Model Garden, in einer Region, die sie veröffentlicht

40* Ein Google Workspace OAuth 2.0-Webanwendungs-Client mit Umleitungs-URI `https://<gateway-host>/oauth/callback`. Siehe [Identitätsanbieter-Setup](/de/claude-apps-gateway-deploy#identity-provider-setup)40* Ein Google Workspace OAuth 2.0-Webanwendungs-Client mit Umleitungs-URI `https://<gateway-host>/oauth/callback`. Siehe [Identitätsanbieter-Setup](/docs/de/claude-apps-gateway-deploy#identity-provider-setup)

41* Ein TLS-Hostname für das Gateway, typischerweise ein interner DNS-Name, der auf den Load Balancer verweist41* Ein TLS-Hostname für das Gateway, typischerweise ein interner DNS-Name, der auf den Load Balancer verweist

42 42 

43Legen Sie das Projekt und die Region einmal fest:43Legen Sie das Projekt und die Region einmal fest:


74 74 

75 Die APIs, die Sie benötigen, hängen vom Bereitstellungspfad ab:75 Die APIs, die Sie benötigen, hängen vom Bereitstellungspfad ab:

76 76 

77 * `compute` und `servicenetworking`: erforderlich für den privaten IP-Cloud-SQL-Pfad77 * `compute` und `servicenetworking`: erforderlich für den Private-IP-Cloud-SQL-Pfad

78 * `run`: nur Cloud Run78 * `run`: nur Cloud Run

79 * `container`: nur GKE79 * `container`: nur GKE

80 </Step>80 </Step>

81 81 

82 <Step title="Service Account erstellen und IAM-Berechtigung erteilen">82 <Step title="Dienstkonto erstellen und IAM-Berechtigung erteilen">

83 Das Gateway wird als dedizierter Service Account ausgeführt, der die Berechtigung hat, Agent Platform aufzurufen. Es erreicht Cloud SQL über das VPC mit einem Passwort-Benutzer, daher ist keine Cloud SQL IAM-Rolle erforderlich:83 Das Gateway wird als dediziertes Dienstkonto ausgeführt, das berechtigt ist, Google Cloud's Agent Platform aufzurufen. Es erreicht Cloud SQL über das VPC mit einem Passwortbenutzer, daher ist keine Cloud-SQL-IAM-Rolle erforderlich:

84 84 

85 ```bash theme={null}85 ```bash theme={null}

86 gcloud iam service-accounts create claude-gateway --display-name="Claude apps gateway"86 gcloud iam service-accounts create claude-gateway --display-name="Claude apps gateway"


94 </Step>94 </Step>

95 95 

96 <Step title="Image erstellen und in Artifact Registry pushen">96 <Step title="Image erstellen und in Artifact Registry pushen">

97 Erstellen Sie das Image gemäß den [Container-Image-Anforderungen](/de/claude-apps-gateway-deploy#container-image) mit der `linux-x64` glibc-Binärdatei und pushen Sie es:97 Erstellen Sie das Image gemäß den [Container-Image-Anforderungen](/docs/de/claude-apps-gateway-deploy#container-image) mit der `linux-x64`-glibc-Binärdatei und pushen Sie es:

98 98 

99 ```bash theme={null}99 ```bash theme={null}

100 gcloud artifacts repositories create claude-gateway \100 gcloud artifacts repositories create claude-gateway \

101 --repository-format=docker --location="$REGION"101 --repository-format=docker --location="$REGION"

102 gcloud auth configure-docker "${REGION}-docker.pkg.dev" --quiet102 gcloud auth configure-docker "${REGION}-docker.pkg.dev" --quiet

103 103 

104 # Cloud Run requires linux/amd64. --provenance=false avoids a buildx OCI104 # Cloud Run erfordert linux/amd64. --provenance=false vermeidet einen buildx OCI

105 # image index that Cloud Run rejects.105 # Image-Index, den Cloud Run ablehnt.

106 docker build --platform=linux/amd64 --provenance=false \106 docker build --platform=linux/amd64 --provenance=false \

107 -t "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" .107 -t "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" .

108 docker push "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>"108 docker push "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>"


118 gcloud compute networks subnets create cc-gateway-subnet \118 gcloud compute networks subnets create cc-gateway-subnet \

119 --network="$VPC" --region="$REGION" --range=10.0.0.0/24119 --network="$VPC" --region="$REGION" --range=10.0.0.0/24

120 120 

121 # Private Services Access: one-time per VPC121 # Private Services Access: einmalig pro VPC

122 gcloud compute addresses create "google-managed-services-${VPC}" \122 gcloud compute addresses create "google-managed-services-${VPC}" \

123 --global --purpose=VPC_PEERING --prefix-length=16 --network="$VPC"123 --global --purpose=VPC_PEERING --prefix-length=16 --network="$VPC"

124 gcloud services vpc-peerings connect \124 gcloud services vpc-peerings connect \


137 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${PRIVATE_IP}:5432/claude_gateway?sslmode=require"137 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${PRIVATE_IP}:5432/claude_gateway?sslmode=require"

138 ```138 ```

139 139 

140 Die Cloud Run- oder GKE-Laufzeit muss sich auf diesem VPC befinden oder in ihn geroutet werden.140 Die Cloud-Run- oder GKE-Laufzeit muss sich auf diesem VPC befinden oder in diesen VPC weitergeleitet werden.

141 </Step>141 </Step>

142 142 

143 <Step title="gateway.yaml schreiben">143 <Step title="gateway.yaml schreiben">

144 Der `upstreams`-Block verweist auf Agent Platform mit `auth: {}`, sodass sich das Gateway über Application Default Credentials vom Runtime-Service-Account authentifiziert. Siehe die [Konfigurationsreferenz](/de/claude-apps-gateway-config) für jedes Feld.144 Der `upstreams`-Block verweist auf Google Cloud's Agent Platform mit `auth: {}`, sodass sich das Gateway über Application Default Credentials vom Laufzeit-Dienstkonto authentifiziert. Siehe die [Konfigurationsreferenz](/docs/de/claude-apps-gateway-config) für jedes Feld.

145 145 

146 Zwei `listen`-Felder hängen davon ab, was das Gateway frontet:146 Zwei `listen`-Felder beschreiben, was das Gateway frontet:

147 147 

148 * `public_url`: erforderlich hinter Cloud Run oder einem GKE Ingress. Das Gateway erstellt die IdP `redirect_uri` und sein Erkennungsdokument nur aus diesem Wert, niemals aus `X-Forwarded-*`-Headern.148 * `public_url`: der externe `https://`-Ursprung, erforderlich für jede Bindung, die nicht Loopback ist. Siehe die [`listen`-Referenz](/docs/de/claude-apps-gateway-config#listen). Das Gateway erstellt den IdP `redirect_uri` und sein Discovery-Dokument nur aus diesem Wert, niemals aus `X-Forwarded-*`-Headern.

149 * `trusted_proxies`: die Quellbereiche des Front-End. Das Gateway berücksichtigt `X-Forwarded-For` nur, wenn der TCP-Peer in dieser Liste ist, durchläuft dann die Kette über vertrauenswürdige Hops, sodass Anmelderate-Limits pro IP und Audit-Events Entwickler-IPs statt der IP des Load Balancers aufzeichnen.149 * `trusted_proxies`: die Quellbereiche des Front-End. Das Gateway berücksichtigt `X-Forwarded-For` nur, wenn der TCP-Peer in dieser Liste ist, durchläuft dann die Kette vorbei an vertrauenswürdigen Hops, sodass Anmelderate-Limits pro IP und Audit-Events Entwickler-IPs statt der IP des Load Balancers aufzeichnen.

150 150 

151 Legen Sie `trusted_proxies` fest, um Ihr Front-End zu entsprechen. Ein externer GKE Ingress der Klasse `gce` ist nicht aufgelistet: Er stellt eine öffentliche Forwarding-Rule-Adresse bereit, die die `/login` [Private-Network-Prüfung](/de/claude-apps-gateway#prerequisites) ablehnt.151 Setzen Sie `trusted_proxies` so, dass es Ihrem Front-End entspricht. Ein externes GKE-Ingress der Klasse `gce` ist nicht aufgelistet: Es stellt eine öffentliche Forwarding-Rule-Adresse bereit, die die `/login`-[Private-Netzwerk-Prüfung](/docs/de/claude-apps-gateway#prerequisites) ablehnt.

152 152 

153 | Front-End | `trusted_proxies` |153 | Front-End | `trusted_proxies` |

154 | ------------------------------------------------ | ----------------------------------------------------- |154 | ------------------------------------------------ | ----------------------------------------------------- |


156 | Interner Application Load Balancer vor Cloud Run | `169.254.0.0/16` plus CIDR Ihres Proxy-Only-Subnetzes |156 | Interner Application Load Balancer vor Cloud Run | `169.254.0.0/16` plus CIDR Ihres Proxy-Only-Subnetzes |

157 | GKE interner Ingress, Klasse `gce-internal` | CIDR Ihres Proxy-Only-Subnetzes |157 | GKE interner Ingress, Klasse `gce-internal` | CIDR Ihres Proxy-Only-Subnetzes |

158 158 

159 Das folgende Beispiel verwendet die Werte des internen-Load-Balancers-vor-Cloud-Run.159 Das folgende Beispiel verwendet die Werte des internen Load Balancers vor Cloud Run.

160 160 

161 ```yaml gateway.yaml theme={null}161 ```yaml gateway.yaml theme={null}

162 listen:162 listen:


170 client_id: <your-oauth-client-id>170 client_id: <your-oauth-client-id>

171 client_secret: ${OIDC_CLIENT_SECRET} # GKE: ${file:/secrets/oidc-client-secret}171 client_secret: ${OIDC_CLIENT_SECRET} # GKE: ${file:/secrets/oidc-client-secret}

172 allowed_email_domains: [example.com]172 allowed_email_domains: [example.com]

173 # Google ignores offline_access; these yield refresh tokens:173 # Google ignoriert offline_access; diese ergeben Refresh-Token:

174 scopes: [openid, profile, email]174 scopes: [openid, profile, email]

175 extra_auth_params: { access_type: offline, prompt: consent }175 extra_auth_params: { access_type: offline, prompt: consent }

176 176 


188 ```188 ```

189 189 

190 <Note>190 <Note>

191 Google id\_tokens enthalten keinen `groups`-Anspruch. Um gruppenbasierte Richtlinien in [`managed.policies`](/de/claude-apps-gateway-config#managed) mit Google Workspace als IdP zu verwenden, konfigurieren Sie [`oidc.google_groups`](/de/claude-apps-gateway-config#oidc), das die Gruppen jedes Benutzers über die Admin SDK Directory API mit einem Service Account mit Domain-Wide Delegation nachschlägt. Ohne dies müssen Sie stattdessen auf `email_domain` abgleichen.191 Google-ID-Token enthalten keinen `groups`-Anspruch. Um gruppenbasierte Richtlinien in [`managed.policies`](/docs/de/claude-apps-gateway-config#managed) mit Google Workspace als IdP zu verwenden, konfigurieren Sie [`oidc.google_groups`](/docs/de/claude-apps-gateway-config#oidc), das die Gruppen jedes Benutzers über die Admin SDK Directory API mit einem Dienstkonto mit Domain-Wide-Delegation nachschlägt. Ohne dies sollten Sie stattdessen auf `email_domain` abgleichen.

192 </Note>192 </Note>

193 </Step>193 </Step>

194 194 

195 <Step title="Geheimnisse in Secret Manager speichern">195 <Step title="Geheimnisse in Secret Manager speichern">

196 Erstellen Sie vier Geheimnisse und erteilen Sie `roles/secretmanager.secretAccessor` dem `claude-gateway`-Service-Account:196 Erstellen Sie vier Geheimnisse und erteilen Sie `roles/secretmanager.secretAccessor` dem `claude-gateway`-Dienstkonto:

197 197 

198 | Geheimnis | Quelle |198 | Geheimnis | Quelle |

199 | ---------------------------- | ---------------------------------------------------------- |199 | ---------------------------- | ---------------------------------------------------------- |

200 | `gateway-jwt-secret` | `openssl rand -base64 32` |200 | `gateway-jwt-secret` | `openssl rand -base64 32` |

201 | `gateway-oidc-client-secret` | Google Cloud Console → OAuth-Client |201 | `gateway-oidc-client-secret` | Google Cloud Console → OAuth-Client |

202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` aus dem Cloud SQL-Schritt |202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` aus dem Cloud-SQL-Schritt |

203 | `gateway-config` | die vollständige `gateway.yaml` aus dem vorherigen Schritt |203 | `gateway-config` | die vollständige `gateway.yaml` aus dem vorherigen Schritt |

204 204 

205 Wie die Geheimnisse den Container erreichen, unterscheidet sich je nach Pfad:205 Wie die Geheimnisse den Container erreichen, unterscheidet sich je nach Pfad:

206 206 

207 * Auf GKE werden sie über den Secret Manager CSI-Treiber als Dateien unter `/secrets` bereitgestellt, und `gateway.yaml` verweist auf `${file:/secrets/...}`.207 * Auf GKE werden sie als Dateien über den Secret Manager CSI-Treiber bereitgestellt, und `gateway.yaml` verweist auf `${file:/secrets/...}`.

208 * Auf Cloud Run, das mehrere Geheimnisse nicht in ein Verzeichnis einbinden kann, wird `gateway.yaml` als Datei bereitgestellt und die anderen drei werden als Umgebungsvariablen eingespritzt, sodass `gateway.yaml` stattdessen auf `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` und `${GATEWAY_POSTGRES_URL}` verweist.208 * Auf Cloud Run, das mehrere Geheimnisse nicht in ein Verzeichnis einbinden kann, wird `gateway.yaml` als Datei bereitgestellt und die anderen drei werden als Umgebungsvariablen eingespritzt, sodass `gateway.yaml` stattdessen auf `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` und `${GATEWAY_POSTGRES_URL}` verweist.

209 </Step>209 </Step>

210 210 


219 --region="$REGION" \219 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \221 --min-instances=1 \

222 --max-instances=8 \

222 --timeout=3600 \223 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \224 --ingress=internal \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \225 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \226 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check227 --no-invoker-iam-check

227 ```228 ```

228 229 

229 Direkte VPC-Egress über `--network`, `--subnet` und `--vpc-egress=private-ranges-only` ermöglicht dem Service, die private IP von Cloud SQL direkt zu erreichen. Öffentliche Egress zu den Agent Platform-Endpunkten und `accounts.google.com` geht direkt ins Internet statt durch das VPC, daher ist keine Cloud NAT erforderlich.230 Direkter VPC-Egress über `--network`, `--subnet` und `--vpc-egress=private-ranges-only` ermöglicht dem Service, die private Cloud-SQL-IP direkt zu erreichen. Jede Instanz hält bis zu [`store.max_connections`](/docs/de/claude-apps-gateway-config#store) Postgres-Verbindungen, standardmäßig fünf, daher halten Sie maximale Instanzen × `store.max_connections` unter dem Verbindungslimit Ihres Cloud-SQL-Tiers. Die [Referenz-Assets](#terraform-reference) begrenzen Instanzen auf 8 für das `db-g1-small`-Tier aus diesem Grund. Öffentlicher Egress zu Google Cloud's Agent Platform-Endpunkten und `accounts.google.com` geht direkt ins Internet statt durch das VPC, daher ist kein Cloud NAT erforderlich.

230 231 

231 Die Invoker IAM-Prüfung muss offen oder deaktiviert sein. Das Gateway führt sein eigenes OIDC aus und seine Clients tragen kein GCP-Token, daher muss die Cloud Run Invoker-Prüfung unauthentifizierte Anfragen zulassen. Die OIDC-Anmeldung des Gateways authentifiziert die Anfrage, sobald sie den Container erreicht, wobei `allowed_email_domains` bestimmt, welche Domains sich anmelden dürfen.232 Die Invoker-IAM-Prüfung muss offen oder deaktiviert sein. Das Gateway führt sein eigenes OIDC aus und seine Clients tragen kein GCP-Token, daher muss Cloud Run's Invoker-Prüfung unauthentifizierte Anfragen zulassen. Die OIDC-Anmeldung des Gateways authentifiziert die Anfrage, sobald sie den Container erreicht, wobei `allowed_email_domains` bestimmt, welche Domänen sich anmelden dürfen.

232 233 

233 Zwei Flags lassen unauthentifizierte Anfragen zu:234 Zwei Flags lassen unauthentifizierte Anfragen zu:

234 235 

235 * `--no-invoker-iam-check`: deaktiviert die Prüfung ohne `allUsers`-Bindung zum Verwalten und funktioniert unter Domain Restricted Sharing236 * `--no-invoker-iam-check`: deaktiviert die Prüfung ohne `allUsers`-Bindung zum Verwalten und funktioniert unter Domain Restricted Sharing

236 * `--allow-unauthenticated`: erteilt `allUsers` die `run.invoker`-Rolle. Verwenden Sie dies, wenn Ihre Organisation `--no-invoker-iam-check` nicht zulässt237 * `--allow-unauthenticated`: erteilt `allUsers` die `run.invoker`-Rolle. Verwenden Sie dies, wenn Ihre Organisation `--no-invoker-iam-check` nicht zulässt

237 238 

238 Ingress-Einschränkung über `--ingress` ist eine separate, unabhängige Schicht von der Invoker-Prüfung. Halten Sie sie aktiviert, um den Service auf Ihr Unternehmensnetzwerk zu beschränken.239 Ingress-Einschränkung über `--ingress` ist eine separate, unabhängige Schicht von der Invoker-Prüfung. Halten Sie sie gesetzt, um den Service auf Ihr Unternehmensnetzwerk zu beschränken.

239 240 

240 Standardmäßig wird die Cloud Run `*.run.app`-URL zu einer öffentlichen Adresse aufgelöst, die die `/login` [Private-Network-Prüfung](/de/claude-apps-gateway#prerequisites) ablehnt. Zwei Topologien geben Entwicklern einen privat auflösbaren Hostnamen, und Cloud Run stellt keinen für Sie bereit:241 Standardmäßig wird die Cloud-Run-`*.run.app`-URL zu einer öffentlichen Adresse aufgelöst, die die `/login`-[Private-Netzwerk-Prüfung](/docs/de/claude-apps-gateway#prerequisites) ablehnt. Zwei Topologien geben Entwicklern einen privat auflösbaren Hostnamen, und Cloud Run stellt keinen davon für Sie bereit:

241 242 

242 * **Interner Application Load Balancer**, die Topologie, die der obige Deploy-Befehl annimmt: Stellen Sie mit `--ingress=internal-and-cloud-load-balancing` bereit, stellen Sie einen internen Application Load Balancer vor dem Service mit einem internen DNS-Namen und Zertifikat bereit, und legen Sie `listen.public_url` auf diesen Hostnamen fest.243 * **Interner Application Load Balancer**, die Topologie, die die `gateway.yaml` dieser Seite annimmt: Stellen Sie einen internen Application Load Balancer vor dem Service mit einem internen DNS-Namen und Zertifikat bereit, und setzen Sie `listen.public_url` auf diesen Hostnamen. Die `internal`-Ingress-Einstellung lässt bereits Traffic von internen Application Load Balancern zu. `internal-and-cloud-load-balancing` lässt zusätzlich externe Application Load Balancer zu, deren öffentliche Adressen die `/login`-Private-Netzwerk-Prüfung ablehnt, daher benötigt keine Topologie auf dieser Seite dies.

243 * **Nur interne Ingress ohne Load Balancer**: Stellen Sie mit `--ingress=internal` bereit und lassen Sie `listen.public_url` als `*.run.app`-URL, die Standardeinstellung in den [Referenz-Assets](#terraform-reference) unten. Damit `*.run.app` privat aufgelöst wird, muss Ihr Netzwerk-Team bereits einen Private Service Connect-Endpunkt für Google APIs betreiben, eine Cloud DNS-Privatzone, die `*.run.app` darauf auflöst, und On-Premises-Routing zu diesem Endpunkt.244 * **Nur-interner Ingress ohne Load Balancer**: Halten Sie den Deploy-Befehl wie er ist und lassen Sie `listen.public_url` als die `*.run.app`-URL, die Standardeinstellung in den [Referenz-Assets](#terraform-reference) unten. Damit `*.run.app` privat aufgelöst wird, muss Ihr Netzwerk-Team bereits einen Private Service Connect-Endpunkt für Google APIs betreiben, eine Cloud-DNS-Private-Zone, die `*.run.app` darauf auflöst, und On-Premises-Routing zu diesem Endpunkt.

244 245 

245 Googles [Private-Networking-Leitfaden für Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) behandelt die Infrastruktur, die beide Optionen benötigen. Überprüfen Sie die Anmeldung, sobald das Gateway auf einem privaten Hostnamen bereitgestellt wird. Bestätigen Sie bis dahin, dass der Container aus seinen Logs in Cloud Run gestartet wurde.246 Google's [Private-Networking-Leitfaden für Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) behandelt die Infrastruktur, die beide Optionen benötigen. Überprüfen Sie die Anmeldung, sobald das Gateway auf einem privaten Hostnamen bereitgestellt wird. Bestätigen Sie bis dahin, dass der Container aus seinen Logs in Cloud Run gestartet wurde.

246 247 

247 Aktualisieren Sie die autorisierte Umleitungs-URI des OAuth-Clients auf `<public_url>/oauth/callback` vor der ersten Anmeldung. Stellen Sie erneut bereit, nachdem Sie `public_url` geändert haben, da das Gateway seinen öffentlichen Ursprung nur aus dieser Einstellung erstellt und `X-Forwarded-Host` und `X-Forwarded-Proto` ignoriert. `X-Forwarded-For` wird nur für Client-IPs berücksichtigt, wenn `listen.trusted_proxies` gesetzt ist.248 Aktualisieren Sie die autorisierten Redirect-URIs des OAuth-Clients auf `<public_url>/oauth/callback` vor der ersten Anmeldung. Stellen Sie erneut bereit, nachdem Sie `public_url` geändert haben, da das Gateway seinen öffentlichen Ursprung nur aus dieser Einstellung erstellt und `X-Forwarded-Host` und `X-Forwarded-Proto` ignoriert. `X-Forwarded-For` wird nur für Client-IPs berücksichtigt, wenn `listen.trusted_proxies` gesetzt ist.

248 </Tab>249 </Tab>

249 250 

250 <Tab title="GKE">251 <Tab title="GKE">

251 Der Cluster muss sich auf dem `$VPC` befinden, der im Cloud SQL-Schritt erstellt wurde, damit Pods die private IP der Datenbank erreichen können. VPC-Peering allein funktioniert nicht, da die private IP von Cloud SQL selbst ein Peered-Netzwerk ist und Peering nicht transitiv ist. Um einen neuen Cluster auf diesem VPC zu erstellen, übergeben Sie `--network="$VPC" --subnetwork=cc-gateway-subnet` an `gcloud container clusters create`.252 Der Cluster muss sich auf dem `$VPC` befinden, das im Cloud-SQL-Schritt erstellt wurde, damit Pods die private IP der Datenbank erreichen können. VPC-Peering allein funktioniert nicht, da die private Cloud-SQL-IP selbst ein Peered-Netzwerk ist und Peering nicht transitiv ist. Um einen neuen Cluster auf diesem VPC zu erstellen, übergeben Sie `--network="$VPC" --subnetwork=cc-gateway-subnet` an `gcloud container clusters create`.

252 253 

253 Aktivieren Sie Workload Identity auf dem Cluster und seinen Node Pools, binden Sie dann den Google-Service-Account an den Kubernetes-Service-Account, damit Pods seine Anmeldedaten erben:254 Aktivieren Sie Workload Identity auf dem Cluster und seinen Node Pools, binden Sie dann das Google-Dienstkonto an das Kubernetes-Dienstkonto, damit Pods seine Anmeldedaten erben:

254 255 

255 ```bash theme={null}256 ```bash theme={null}

256 gcloud container clusters update <cluster> --region="$REGION" \257 gcloud container clusters update <cluster> --region="$REGION" \

257 --workload-pool="${PROJECT_ID}.svc.id.goog"258 --workload-pool="${PROJECT_ID}.svc.id.goog"

258 # On a Standard cluster, existing node pools also need GKE_METADATA;259 # Auf einem Standard-Cluster benötigen auch vorhandene Node Pools GKE_METADATA.

259 # Autopilot enables this by default.260 # Autopilot aktiviert dies standardmäßig.

260 gcloud container node-pools update <pool> --cluster=<cluster> \261 gcloud container node-pools update <pool> --cluster=<cluster> \

261 --region="$REGION" --workload-metadata=GKE_METADATA262 --region="$REGION" --workload-metadata=GKE_METADATA

262 263 


272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"273 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

273 ```274 ```

274 275 

275 Stellen Sie das Gateway als Standard-Deployment plus Service und einen internen Ingress, Klasse `gce-internal`, wie in [Kubernetes-Bereitstellung](/de/claude-apps-gateway-deploy#kubernetes) beschrieben, bereit mit:276 Stellen Sie das Gateway als Standard-Deployment plus Service und einen internen Ingress, Klasse `gce-internal`, wie in [Kubernetes-Bereitstellung](/docs/de/claude-apps-gateway-deploy#kubernetes) beschrieben, mit folgenden Einstellungen bereit:

276 277 

277 * `serviceAccountName: gateway`278 * `serviceAccountName: gateway`

278 * dem Secret Manager CSI-Treiber, der Geheimnisse unter `/secrets` bereitstellt279 * der Secret Manager CSI-Treiber, der Geheimnisse bei `/secrets` bereitstellt

279 * der Readiness-Probe, die auf `GET /readyz` verweist280 * die Readiness-Probe auf `GET /readyz` ausgerichtet

280 281 

281 Hängen Sie eine BackendConfig mit erhöhtem `timeoutSec` an den Gateway-Service an: Der Load Balancer Backend-Service hinter GKE Ingress hat standardmäßig ein 30-Sekunden-Timeout, das lange Streaming-Antworten abschneidet.282 Fügen Sie eine BackendConfig mit erhöhtem `timeoutSec` zum Gateway-Service an: Der Load-Balancer-Backend-Service hinter GKE-Ingress hat standardmäßig ein 30-Sekunden-Timeout, das lange Streaming-Antworten abschneidet.

282 283 

283 Wenden Sie keine Egress-NetworkPolicy an, die `169.254.169.254` auf einem Workload Identity-Cluster blockiert. Der Pod muss den Metadaten-Server für Anmeldedaten erreichen. Der integrierte [SSRF-Guard](/de/claude-apps-gateway-deploy#threat-model-summary) des Gateways ist die Verteidigung dort.284 Wenden Sie keine Egress-NetworkPolicy an, die `169.254.169.254` auf einem Workload-Identity-Cluster blockiert. Der Pod muss den Metadaten-Server für Anmeldedaten erreichen. Der integrierte [SSRF-Guard](/docs/de/claude-apps-gateway-deploy#threat-model-summary) des Gateways ist die Verteidigung dort.

284 285 

285 Das Gateway protokolliert eine Boot-Warnung, dass der Metadaten-Endpunkt erreichbar ist und schlägt vor, eine Egress-NetworkPolicy anzuwenden. Unter Workload Identity ist diese Warnung erwartet, da der Pod den Endpunkt benötigt.286 Das Gateway protokolliert eine Boot-Warnung, dass der Metadaten-Endpunkt erreichbar ist und schlägt vor, eine Egress-NetworkPolicy anzuwenden. Unter Workload Identity ist diese Warnung erwartet, da der Pod den Endpunkt benötigt.

286 </Tab>287 </Tab>


288 </Step>289 </Step>

289 290 

290 <Step title="Gateway-URL auf Entwicklermaschinen pushen">291 <Step title="Gateway-URL auf Entwicklermaschinen pushen">

291 Das Gateway wird jetzt ausgeführt, aber Entwickler können es von `/login` aus nicht erreichen, bis die Gateway-URL auf ihren Maschinen vorhanden ist. Legen Sie `forceLoginMethod` und `forceLoginGatewayUrl` in der [verwalteten Einstellungsdatei](/de/claude-apps-gateway#set-the-gateway-url) fest, die Sie über MDM auf jedem Gerät bereitstellen. Es gibt keine Gateway-Option in der Anmeldungsauswahl, die ein Entwickler manuell auswählen kann.292 Das Gateway wird jetzt ausgeführt, aber Entwickler können es von `/login` aus nicht erreichen, bis die Gateway-URL auf ihren Maschinen vorhanden ist. Stellen Sie das vollständige [verwaltete Einstellungs-Snippet](/docs/de/claude-apps-gateway#set-the-gateway-url) mit `forceLoginMethod`, `forceLoginGatewayUrl` und dem `parentSettingsBehavior: "merge"`-Opt-in über MDM auf jedem Gerät bereit. Es gibt keine Gateway-Option in der Anmeldungs-Auswahl, die ein Entwickler manuell auswählen kann.

292 </Step>293 </Step>

293</Steps>294</Steps>

294 295 


296 Terraform-Referenz297 Terraform-Referenz

297</h2>298</h2>

298 299 

299Die [Referenz-Bereitstellungs-Assets](https://github.com/anthropics/claude-code/tree/main/examples/gateway/gcp) automatisieren den Cloud Run-Pfad auf dieser Seite. Die Konfigurations- und Image-Assets gelten für beide Pfade:300Die [Referenz-Bereitstellungs-Assets](https://github.com/anthropics/claude-code/tree/main/examples/gateway/gcp) automatisieren den Cloud Run-Pfad auf dieser Seite; die Konfigurations- und Image-Assets gelten für beide Pfade:

300 301 

301* `setup.sh`: ein idempotenter `gcloud`-Provisioner, der den vollständigen Cloud Run-Pfad durchläuft, vom Aktivieren von APIs bis zur ersten Bereitstellung302* `setup.sh`: ein idempotenter `gcloud`-Provisioner, der den vollständigen Cloud Run-Pfad durchläuft, vom Aktivieren von APIs bis zur ersten Bereitstellung

302* `terraform/`: dieselbe Bereitstellung als Infrastructure-as-Code für eine Greenfield-Bereitstellung: ein gezieltes Apply zum Erstellen des Artifact Registry-Repositorys, dann zum Erstellen und Pushen des Images, dann ein vollständiges Apply303* `terraform/`: dieselbe Bereitstellung als Infrastructure-as-Code für eine Greenfield-Bereitstellung: ein gezieltes Apply zum Erstellen des Artifact Registry-Repositorys, dann zum Erstellen und Pushen des Images, dann ein vollständiges Apply

303* `gateway.yaml.example` und ein `Dockerfile` für das Distroless-Runtime-Image304* `gateway.yaml.example` und ein `Dockerfile` für das Distroless-Runtime-Image

304 305 

305Die Artefakte standardisieren Cloud Run Ingress auf `internal`, daher ist kein Load Balancer erforderlich. Um die Bereitstellung dieser Seite hinter einem ALB zu entsprechen, führen Sie `setup.sh` mit `INGRESS=internal-and-cloud-load-balancing` aus oder legen Sie die Terraform-Variable `ingress` auf `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER` fest. Die Artefakte standardisieren auch die Invoker-Schicht auf eine `allUsers` `run.invoker`-Gewährung statt `--no-invoker-iam-check`, das Gegenteil dieser Seite. Beide funktionieren, und die Wahl hängt von den Richtlinieneinschränkungen Ihrer Organisation ab.306Die Artefakte standardisieren Cloud Run Ingress auf `internal`, was dem Bereitstellungsbefehl auf dieser Seite entspricht; diese Einstellung funktioniert mit oder ohne einen internen Application Load Balancer vor dem Service, und die Artefakte erstellen den Load Balancer auch nicht. Die Artefakte standardisieren auch die Invoker-Schicht auf eine `allUsers` `run.invoker`-Gewährung statt `--no-invoker-iam-check`, das Gegenteil dieser Seite; beide funktionieren, und die Wahl hängt von den Richtlinieneinschränkungen Ihrer Organisation ab.

306 307 

307Die Assets werden als funktionierende Beispiele bereitgestellt, nicht als unterstütztes Produktionsartefakt. Überprüfen und passen Sie sie an Ihre Umgebung an.308Die Assets werden als funktionierende Beispiele bereitgestellt, nicht als unterstütztes Produktionsartefakt; überprüfen und passen Sie sie an Ihre Umgebung an.

308 309 

309<h2 id="troubleshooting">310<h2 id="troubleshooting">

310 Fehlerbehebung311 Fehlerbehebung

311</h2>312</h2>

312 313 

313Für Gateway-Boot- und Anmeldungsfehler siehe die plattformunabhängige [Fehlerbehebungstabelle](/de/claude-apps-gateway-deploy#troubleshooting). Die folgenden Einträge sind spezifisch für Google Cloud.314Für Gateway-Boot- und Anmeldungsfehler siehe die plattformunabhängige [Fehlerbehebungstabelle](/docs/de/claude-apps-gateway-deploy#troubleshooting). Die folgenden Einträge sind spezifisch für Google Cloud.

314 315 

315| Symptom | Ursache | Behebung |316| Symptom | Ursache | Behebung |

316| --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


325 Nächste Schritte326 Nächste Schritte

326</h2>327</h2>

327 328 

328* [Konfigurationsreferenz](/de/claude-apps-gateway-config): jede `gateway.yaml`-Option, einschließlich `managed.policies` und `telemetry`329* [Konfigurationsreferenz](/docs/de/claude-apps-gateway-config): jede `gateway.yaml`-Option, einschließlich `managed.policies` und `telemetry`

329* [Bereitstellung und Betrieb](/de/claude-apps-gateway-deploy): IdP-Setup, Integritätsprüfungen, JWT-Geheimnis-Rotation, Upgrades und das Sicherheitsmodell330* [Bereitstellung und Betrieb](/docs/de/claude-apps-gateway-deploy): IdP-Setup, Integritätsprüfungen, JWT-Geheimnis-Rotation, Upgrades und das Sicherheitsmodell

330* [Claude-Apps-Gateway-Übersicht](/de/claude-apps-gateway): Schnellstart und Verbindung von Entwicklern331* [Claude-Apps-Gateway-Übersicht](/docs/de/claude-apps-gateway): Schnellstart und Verbindung von Entwicklern

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# Claude Code im Web verwenden5# Claude Code in der Cloud verwenden

6 6 

7> Verschieben Sie Sitzungen zwischen Web und Terminal mit `--cloud` und `--teleport`, verwalten und teilen Sie Sitzungen, und beheben Sie Pull Requests automatisch aus der Cloud.7> Führen Sie Claude Code-Sitzungen in der Cloud aus Ihrem Browser, Telefon, Desktop-App oder Terminal aus, verschieben Sie sie mit --cloud und --teleport, und beheben Sie Pull Requests automatisch.

8 8 

9<Note>9<Note>

10 Claude Code im Web befindet sich in der Forschungsvorschau für Pro-, Max- und Team-Benutzer sowie für Enterprise-Benutzer mit Premium-Sitzen oder Chat + Claude Code-Sitzen.10 Cloud-Sitzungen befinden sich in der Forschungsvorschau für Pro-, Max- und Team-Benutzer sowie für Enterprise-Benutzer mit Premium-Sitzen oder Chat + Claude Code-Sitzen.

11</Note>11</Note>

12 12 

13Claude Code im Web führt Aufgaben auf von Anthropic verwalteter Cloud-Infrastruktur unter [claude.ai/code](https://claude.ai/code) aus oder auf der [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) Ihrer Organisation, wenn sie dorthin weitergeleitet wird. Sitzungen bleiben bestehen, auch wenn Sie Ihren Browser schließen, und Sie können sie über die Claude Mobile-App überwachen.13Eine Cloud-Sitzung ist eine Claude Code-Sitzung, die auf Cloud-Infrastruktur statt auf Ihrem Computer ausgeführt wird. Standardmäßig wird sie auf von Anthropic verwalteter Infrastruktur ausgeführt oder auf der [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) Ihrer Organisation, wenn sie dorthin weitergeleitet wird. Die Sitzung läuft weiter, nachdem Sie Ihren Laptop schließen, und Sie können sie von jedem Gerät aus überprüfen oder steuern.

14 

15Sie können eine Cloud-Sitzung von einer dieser Oberflächen aus starten:

16 

17* **Browser**: [claude.ai/code](https://claude.ai/code), auch Claude Code im Web genannt

18* **Mobil**: die Registerkarte **Code** in der [Claude-App](/docs/de/mobile)

19* **Desktop-App**: wählen Sie **Cloud** statt **Lokal**, wenn Sie [eine Sitzung starten](/docs/de/desktop#run-long-running-tasks-in-the-cloud)

20* **Terminal**: [`claude --cloud`](#from-terminal-to-cloud)

21* **Routinen**: [geplante und ausgelöste Ausführungen](/docs/de/routines) werden jeweils als Cloud-Sitzung ausgeführt

22 

23Um Claude viele Cloud-Sitzungen für einen Arbeitskörper starten und verfolgen zu lassen, verwenden Sie ein [Projekt](/docs/de/claude-projects). Eine Sitzung in Ihrem Terminal, Ihrer IDE oder der Desktop-App mit **Lokal** ausgewählt wird stattdessen auf Ihrem eigenen Computer ausgeführt. Um eine dieser lokalen Sitzungen von Ihrem Telefon oder Browser aus zu steuern, verwenden Sie [Remote Control](/docs/de/remote-control).

14 24 

15<Tip>25<Tip>

16 Neu bei Claude Code im Web? Beginnen Sie mit [Erste Schritte](/docs/de/web-quickstart), um Ihr GitHub-Konto zu verbinden und Ihre erste Aufgabe einzureichen.26 Neu bei Cloud-Sitzungen? Beginnen Sie mit [Erste Schritte](/docs/de/web-quickstart), um Ihr GitHub-Konto zu verbinden und Ihre erste Aufgabe einzureichen.

17</Tip>27</Tip>

18 28 

19Diese Seite behandelt das Web-Produkt selbst:29Diese Seite behandelt:

20 30 

21* [Cloud-Umgebungen](#cloud-environments): wo Sitzungen ausgeführt werden und wie Sie das konfigurieren31* [Cloud-Umgebungen](#cloud-environments): wo Sitzungen ausgeführt werden und wo Sie das konfigurieren

22* [GitHub-Authentifizierungsoptionen](#github-authentication-options): zwei Möglichkeiten, GitHub zu verbinden32* [GitHub-Authentifizierungsoptionen](#github-authentication-options): zwei Möglichkeiten, GitHub zu verbinden

23* [Aufgaben zwischen Web und Terminal verschieben](#move-tasks-between-web-and-terminal) mit `--cloud` und `--teleport`33* [Aufgaben zwischen Terminal und Cloud verschieben](#move-tasks-between-terminal-and-cloud) mit `--cloud` und `--teleport`

24* [Mit Sitzungen arbeiten](#work-with-sessions): Berechtigungsmodi, Überprüfung, Freigabe, Archivierung, Löschung34* [Mit Sitzungen arbeiten](#work-with-sessions): Berechtigungsmodi, Überprüfung, Freigabe, Archivierung, Löschung

25* [Auto-fix Pull Requests](#auto-fix-pull-requests): automatische Reaktion auf CI-Fehler und Review-Kommentare35* [Auto-fix Pull Requests](#auto-fix-pull-requests): automatische Reaktion auf CI-Fehler und Review-Kommentare

26* [Sicherheit und Isolation](#security-and-isolation): wie Sitzungen isoliert sind36* [Sicherheit und Isolation](#security-and-isolation): wie Sitzungen isoliert sind


49 59 

50Die Installation der Claude GitHub App auf einem Repository ermöglicht auch [Auto-fix](#auto-fix-pull-requests) für Pull Requests darin.60Die Installation der Claude GitHub App auf einem Repository ermöglicht auch [Auto-fix](#auto-fix-pull-requests) für Pull Requests darin.

51 61 

62Threads in einem [Projekt](/docs/de/claude-projects) benötigen die App auf jedem Repository, das sie klonen, unabhängig davon, welche Methode Sie zum Verbinden verwendet haben. Siehe [GitHub-Zugriff einrichten](/docs/de/claude-projects#set-up-github-access).

63 

52Informationen dazu, wie `/schedule` den Repository-Zugriff überprüft, bevor eine Routine erstellt wird, finden Sie unter [Repositories und Branch-Berechtigungen](/docs/de/routines#repositories-and-branch-permissions). Siehe [Vom Terminal verbinden](/docs/de/web-quickstart#connect-from-your-terminal) für die `/web-setup`-Anleitung, einschließlich dessen, was `/web-setup` speichert und wie Sie es entfernen.64Informationen dazu, wie `/schedule` den Repository-Zugriff überprüft, bevor eine Routine erstellt wird, finden Sie unter [Repositories und Branch-Berechtigungen](/docs/de/routines#repositories-and-branch-permissions). Siehe [Vom Terminal verbinden](/docs/de/web-quickstart#connect-from-your-terminal) für die `/web-setup`-Anleitung, einschließlich dessen, was `/web-setup` speichert und wie Sie es entfernen.

53 65 

54Quick web setup ist eine Organisationseinstellung, die es Mitgliedern ermöglicht, GitHub mit `/web-setup` zu verbinden, überspringt die Claude GitHub App-Installationsaufforderung während des Browser-Onboardings und lässt das Browser-Onboarding die [**Standard**-Umgebung](/docs/de/cloud-environments#the-default-environment) für sie erstellen, anstatt das Umgebungsformular anzuzeigen. Bei Team- und Enterprise-Plänen ist es standardmäßig deaktiviert, was `/web-setup` verbirgt. Ein [Owner](/docs/de/server-managed-settings#access-control) aktiviert es mit dem **Quick web setup**-Umschalter unter [**Admin-Einstellungen > Claude Code**](https://claude.ai/admin-settings/claude-code).66Quick web setup ist eine Organisationseinstellung, die es Mitgliedern ermöglicht, GitHub mit `/web-setup` zu verbinden, überspringt die Claude GitHub App-Installationsaufforderung während des Browser-Onboardings und lässt das Browser-Onboarding die [**Standard**-Umgebung](/docs/de/cloud-environments#the-default-environment) für sie erstellen, anstatt das Umgebungsformular anzuzeigen. Bei Team- und Enterprise-Plänen ist es standardmäßig deaktiviert, was `/web-setup` verbirgt. Ein [Owner](/docs/de/server-managed-settings#access-control) aktiviert es mit dem **Quick web setup**-Umschalter unter [**Admin-Einstellungen > Claude Code**](https://claude.ai/admin-settings/claude-code).


57 Organisationen mit aktivierter [Zero Data Retention](/docs/de/zero-data-retention) können `/web-setup` oder andere Cloud-Sitzungsfunktionen nicht verwenden.69 Organisationen mit aktivierter [Zero Data Retention](/docs/de/zero-data-retention) können `/web-setup` oder andere Cloud-Sitzungsfunktionen nicht verwenden.

58</Note>70</Note>

59 71 

60<h2 id="move-tasks-between-web-and-terminal">72<h2 id="move-tasks-between-terminal-and-cloud">

61 Aufgaben zwischen Web und Terminal verschieben73 Aufgaben zwischen Terminal und Cloud verschieben

62</h2>74</h2>

63 75 

64Diese Workflows erfordern die [Claude Code CLI](/docs/de/quickstart), die bei demselben claude.ai-Konto angemeldet ist. Sie können neue Cloud-Sitzungen von Ihrem Terminal aus starten oder Cloud-Sitzungen in Ihr Terminal ziehen, um lokal fortzufahren. Cloud-Sitzungen bleiben bestehen, auch wenn Sie Ihren Laptop schließen, und Sie können sie von überall aus überwachen, einschließlich der Claude Mobile-App.76Diese Workflows erfordern die [Claude Code CLI](/docs/de/quickstart), die bei demselben claude.ai-Konto angemeldet ist. Sie können neue Cloud-Sitzungen von Ihrem Terminal aus starten oder Cloud-Sitzungen in Ihr Terminal ziehen, um lokal fortzufahren. Cloud-Sitzungen bleiben bestehen, auch wenn Sie Ihren Laptop schließen, und Sie können sie von überall aus überwachen, einschließlich der Claude Mobile-App.

65 77 

66<Note>78<Note>

67 Von der CLI ist die Sitzungsübergabe unidirektional: Sie können Cloud-Sitzungen mit `--teleport` in Ihr Terminal ziehen, aber Sie können keine vorhandene Terminal-Sitzung ins Web verschieben. Das Flag `--cloud` mit einer Aufgabenbeschreibung erstellt eine neue Cloud-Sitzung für Ihr aktuelles Repository; mit `-p` und einer Sitzungs-ID oder claude.ai/code-URL [reiht es stattdessen eine Nachricht in diese vorhandene Sitzung ein](/docs/de/claude-code-on-the-web#send-follow-ups-from-the-cli). Die [Desktop-App](/docs/de/desktop#continue-in-another-surface) bietet ein Continue in-Menü, das eine lokale Sitzung ins Web senden kann.79 Von der CLI ist die Sitzungsübergabe unidirektional: Sie können Cloud-Sitzungen mit `--teleport` in Ihr Terminal ziehen, aber Sie können keine vorhandene Terminal-Sitzung in die Cloud verschieben. Das Flag `--cloud` mit einer Aufgabenbeschreibung erstellt eine neue Cloud-Sitzung für Ihr aktuelles Repository; mit `-p` und einer Sitzungs-ID oder claude.ai/code-URL [reiht es stattdessen eine Nachricht in diese vorhandene Sitzung ein](/docs/de/claude-code-on-the-web#send-follow-ups-from-the-cli). Die [Desktop-App](/docs/de/desktop#continue-in-another-surface) bietet ein **Continue in**-Menü, das eine lokale Sitzung in die Cloud senden kann.

68</Note>80</Note>

69 81 

70<h3 id="from-terminal-to-web">82<h3 id="from-terminal-to-cloud">

71 Vom Terminal zum Web83 Vom Terminal zur Cloud

72</h3>84</h3>

73 85 

74Starten Sie eine Cloud-Sitzung von der Befehlszeile mit dem Flag `--cloud`:86Starten Sie eine Cloud-Sitzung von der Befehlszeile mit dem Flag `--cloud`:


84Während der Cloud-Container startet, zeigt die CLI eine Live-Checkliste von Setup-Schritten an, wie z. B. das Klonen des Repositories und das Ausführen Ihres [Setup-Skripts](/docs/de/cloud-environments#setup-scripts). Sie reiht Nachrichten ein, die Sie während der Bereitstellung eingeben, und sendet sie, sobald die Sitzung bereit ist.96Während der Cloud-Container startet, zeigt die CLI eine Live-Checkliste von Setup-Schritten an, wie z. B. das Klonen des Repositories und das Ausführen Ihres [Setup-Skripts](/docs/de/cloud-environments#setup-scripts). Sie reiht Nachrichten ein, die Sie während der Bereitstellung eingeben, und sendet sie, sobald die Sitzung bereit ist.

85 97 

86<Note>98<Note>

87 `--cloud` erstellt Cloud-Sitzungen. `--remote-control` ist nicht verwandt: Es stellt eine lokale CLI-Sitzung zur Überwachung vom Web aus bereit. Siehe [Remote Control](/docs/de/remote-control).99 `--cloud` erstellt Cloud-Sitzungen. `--remote-control` ist nicht verwandt: Es stellt eine lokale CLI-Sitzung zur Überwachung und Steuerung von claude.ai oder der Claude-App aus bereit. Siehe [Remote Control](/docs/de/remote-control).

88</Note>100</Note>

89 101 

90Öffnen Sie die Sitzung auf claude.ai oder der Claude Mobile-App, um den Fortschritt zu überprüfen oder direkt zu interagieren. Von dort aus können Sie Claude steuern, Feedback geben oder Fragen beantworten, genau wie in jedem anderen Gespräch.102Öffnen Sie die Sitzung auf claude.ai oder der Claude Mobile-App, um den Fortschritt zu überprüfen oder direkt zu interagieren. Von dort aus können Sie Claude steuern, Feedback geben oder Fragen beantworten, genau wie in jedem anderen Gespräch.


95 Tipps für Cloud-Aufgaben107 Tipps für Cloud-Aufgaben

96</h4>108</h4>

97 109 

98**Planen Sie lokal, führen Sie remote aus**: Für komplexe Aufgaben starten Sie Claude im Plan Mode, um den Ansatz zu besprechen, und senden Sie dann die Arbeit ins Web:110**Planen Sie lokal, führen Sie in der Cloud aus**: Für komplexe Aufgaben starten Sie Claude im Plan Mode, um den Ansatz zu besprechen, und senden Sie dann die Arbeit in die Cloud:

99 111 

100```bash theme={null}112```bash theme={null}

101claude --permission-mode plan113claude --permission-mode plan


115claude --cloud "Refactor the logger to use structured output"127claude --cloud "Refactor the logger to use structured output"

116```128```

117 129 

118Wenn eine Sitzung abgeschlossen ist, können Sie einen PR aus der Web-Oberfläche erstellen oder [die Sitzung teleportieren](#from-web-to-terminal), um lokal fortzufahren.130Wenn eine Sitzung abgeschlossen ist, können Sie einen PR aus claude.ai/code erstellen oder [die Sitzung teleportieren](#from-cloud-to-terminal), um lokal fortzufahren.

119 131 

120<h4 id="send-local-repositories-without-github">132<h4 id="send-local-repositories-without-github">

121 Senden Sie lokale Repositories ohne GitHub133 Senden Sie lokale Repositories ohne GitHub


183| `Session not found: <id>` | Die ID oder URL stimmt nicht mit einer Sitzung überein, auf die Sie zugreifen können. Überprüfen Sie sie anhand der claude.ai/code-URL der Sitzung. |195| `Session not found: <id>` | Die ID oder URL stimmt nicht mit einer Sitzung überein, auf die Sie zugreifen können. Überprüfen Sie sie anhand der claude.ai/code-URL der Sitzung. |

184| `cloud session <id> is archived and cannot accept new messages` | Die Sitzung wurde archiviert. Starten Sie stattdessen eine neue Sitzung. |196| `cloud session <id> is archived and cannot accept new messages` | Die Sitzung wurde archiviert. Starten Sie stattdessen eine neue Sitzung. |

185 197 

186<h3 id="from-web-to-terminal">198<h3 id="from-cloud-to-terminal">

187 Vom Web zum Terminal199 Vom Cloud zum Terminal

188</h3>200</h3>

189 201 

190Ziehen Sie eine Cloud-Sitzung in Ihr Terminal mit einer dieser Methoden:202Ziehen Sie eine Cloud-Sitzung in Ihr Terminal mit einer dieser Methoden:


192* **Mit `--teleport`**: Führen Sie von der Befehlszeile `claude --teleport` für eine interaktive Sitzungsauswahl aus, oder `claude --teleport <session-id>`, um eine bestimmte Sitzung direkt fortzusetzen. Wenn Sie nicht committete Änderungen haben, werden Sie aufgefordert, diese zuerst zu stashen.204* **Mit `--teleport`**: Führen Sie von der Befehlszeile `claude --teleport` für eine interaktive Sitzungsauswahl aus, oder `claude --teleport <session-id>`, um eine bestimmte Sitzung direkt fortzusetzen. Wenn Sie nicht committete Änderungen haben, werden Sie aufgefordert, diese zuerst zu stashen.

193* **Mit `/teleport`**: Führen Sie innerhalb einer vorhandenen CLI-Sitzung `/teleport` oder `/tp` aus, um die gleiche Sitzungsauswahl zu öffnen, ohne Claude Code neu zu starten.205* **Mit `/teleport`**: Führen Sie innerhalb einer vorhandenen CLI-Sitzung `/teleport` oder `/tp` aus, um die gleiche Sitzungsauswahl zu öffnen, ohne Claude Code neu zu starten.

194* **Von `/tasks`**: Führen Sie `/tasks` aus, um Ihre Hintergrund-Sitzungen zu sehen, drücken Sie dann `t`, um in eine zu teleportieren.206* **Von `/tasks`**: Führen Sie `/tasks` aus, um Ihre Hintergrund-Sitzungen zu sehen, drücken Sie dann `t`, um in eine zu teleportieren.

195* **Von der Web-Oberfläche**: Wählen Sie **Open in > Terminal** aus dem Sitzungsmenü, um einen Befehl zu kopieren, den Sie in Ihr Terminal einfügen können.207* **Von claude.ai/code**: Wählen Sie **Open in > Terminal** aus dem Sitzungsmenü, um einen Befehl zu kopieren, den Sie in Ihr Terminal einfügen können.

196* **Von innerhalb der Cloud-Sitzung**: Geben Sie `/teleport` ein und Claude Code antwortet mit dem genauen `claude --teleport <session-id>`-Befehl für diese Sitzung, bereit zum Ausführen aus einem Checkout des Repositories. Erfordert Claude Code v2.1.223 oder später in der Umgebung der Sitzung.208* **Von innerhalb der Cloud-Sitzung**: Geben Sie `/teleport` ein und Claude Code antwortet mit dem genauen `claude --teleport <session-id>`-Befehl für diese Sitzung, bereit zum Ausführen aus einem Checkout des Repositories. Erfordert Claude Code v2.1.223 oder später in der Umgebung der Sitzung.

197 209 

198Wenn Sie eine Sitzung teleportieren, überprüft Claude, dass Sie sich im richtigen Repository befinden, ruft den Branch aus der Cloud-Sitzung ab und checkt ihn aus, und lädt die vollständige Gesprächshistorie in Ihr Terminal. Das Terminal erhält seine eigene Kopie der Sitzung: neue Arbeit dort bleibt lokal und erscheint nicht in der Cloud-Sitzung auf claude.ai oder der Claude Mobile-App. Um vom Telefon aus weiter zu steuern, nachdem Sie teleportiert haben, starten Sie [`/remote-control`](/docs/de/remote-control) in der lokalen Sitzung.210Wenn Sie eine Sitzung teleportieren, überprüft Claude, dass Sie sich im richtigen Repository befinden, ruft den Branch aus der Cloud-Sitzung ab und checkt ihn aus, und lädt die vollständige Gesprächshistorie in Ihr Terminal. Das Terminal erhält seine eigene Kopie der Sitzung: neue Arbeit dort bleibt lokal und erscheint nicht in der Cloud-Sitzung auf claude.ai oder der Claude Mobile-App. Um vom Telefon aus weiter zu steuern, nachdem Sie teleportiert haben, starten Sie [`/remote-control`](/docs/de/remote-control) in der lokalen Sitzung.


224 236 

225Sitzungen werden in der Seitenleiste unter claude.ai/code angezeigt. Von dort aus können Sie Änderungen überprüfen, mit Teamkollegen teilen, abgeschlossene Arbeiten archivieren oder Sitzungen dauerhaft löschen.237Sitzungen werden in der Seitenleiste unter claude.ai/code angezeigt. Von dort aus können Sie Änderungen überprüfen, mit Teamkollegen teilen, abgeschlossene Arbeiten archivieren oder Sitzungen dauerhaft löschen.

226 238 

239<h3 id="take-back-a-queued-message">

240 Eine eingereihte Nachricht zurücknehmen

241</h3>

242 

243Wenn Sie eine Nachricht senden, während Claude arbeitet, wird die Nachricht eingereicht, bis Claude sie liest. Um eine eingereihte Nachricht zurückzunehmen, klicken Sie auf das ✕ darauf. Der Text kehrt in das Nachrichtenfeld zurück, damit Sie ihn bearbeiten oder etwas anderes senden können.

244 

245Wenn Claude die Nachricht bereits gelesen hat, bleibt sie in der Konversation.

246 

227<h3 id="manage-context">247<h3 id="manage-context">

228 Kontext verwalten248 Kontext verwalten

229</h3>249</h3>

230 250 

231Cloud-Sitzungen unterstützen [integrierte Befehle](/docs/de/commands), die Textausgabe erzeugen. Befehle, die nur in der Terminal-Schnittstelle ausgeführt werden, wie `/plugin` oder `/resume`, sind nicht verfügbar. Befehle, die eine Auswahl oder ein Panel in der Terminal-Schnittstelle öffnen, verhalten sich in Cloud-Sitzungen unterschiedlich:251Cloud-Sitzungen unterstützen [integrierte Befehle](/docs/de/commands), die Textausgabe erzeugen. Befehle, die nur in der Terminal-Schnittstelle ausgeführt werden, wie `/plugin` oder `/resume`, sind nicht verfügbar. Befehle, die eine Auswahl oder ein Panel in der Terminal-Schnittstelle öffnen, verhalten sich in Cloud-Sitzungen unterschiedlich:

232 252 

233* **`/model`, `/effort`, `/fast`, `/color` und `/rename`**: Übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet`, anstatt die Terminal-Auswahl oder den Schieberegler zu öffnen. Die Argumentformen erfordern Claude Code v2.1.205 oder später in der Umgebung der Sitzung und folgen den [Verfügbarkeitshinweisen](/docs/de/commands#all-commands) jedes Befehls: `/effort` meldet `Not applied`, während ein [Launch-Standard-Effort-Hold](/docs/de/model-config#adjust-effort-level) eines Modells in Kraft ist, und `/fast` funktioniert nur in einer Sitzung, die mit aktiviertem Fast-Modus gestartet wurde.253* **`/model`, `/effort`, `/color` und `/rename`**: Übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet`, anstatt die Terminal-Auswahl oder den Schieberegler zu öffnen. Die Argumentformen erfordern Claude Code v2.1.205 oder später in der Umgebung der Sitzung und folgen den [Verfügbarkeitshinweisen](/docs/de/commands#all-commands) jedes Befehls: `/effort` meldet `Not applied`, während ein Modell's [Launch-Standard-Effort-Hold](/docs/de/model-config#adjust-effort-level) in Kraft ist.

234* **`/config`**: Im Web öffnet dies den Claude Code-Bereich Ihrer Einstellungen, anstatt einen Wert zu setzen, und Text nach dem Befehl, einschließlich `key=value`, wird ignoriert. Um Einstellungen für eine Cloud-Sitzung zu ändern, verwenden Sie [Umgebungsvariablen](/docs/de/cloud-environments#set-environment-variables) oder committen Sie [Einstellungsdateien](/docs/de/settings) in das Repository.254* **`/fast`**: schaltet den [Fast-Modus](/docs/de/fast-mode#use-fast-mode-in-cloud-sessions) für die Sitzung um, wenn Fast-Modus [auf Ihrem Konto verfügbar ist](/docs/de/fast-mode#requirements). Erfordert Claude Code v2.1.271 oder später in der Umgebung der Sitzung.

255* **`/config`**: In Ihrem Browser unter claude.ai/code öffnet dies den Claude Code-Bereich Ihrer Einstellungen, anstatt einen Wert zu setzen, und Text nach dem Befehl, einschließlich `key=value`, wird ignoriert. Um eine Einstellung für eine Cloud-Sitzung zu ändern, legen Sie eine [Umgebungsvariable](/docs/de/cloud-environments#set-environment-variables) in der Umgebung fest, oder committen Sie in einer Sitzung mit einem Repository den Schlüssel in die `.claude/settings.json` dieses Repositorys. [Einstellungen in Cloud-Sitzungen](/docs/de/settings#settings-in-cloud-sessions) listet auf, was jede Sitzung liest.

235 256 

236Für Kontextverwaltung speziell:257Für Kontextverwaltung speziell:

237 258 


241| `/context` | Ja | Zeigt, was sich derzeit im Kontextfenster befindet |262| `/context` | Ja | Zeigt, was sich derzeit im Kontextfenster befindet |

242| `/clear` | Nein | Starten Sie stattdessen eine neue Sitzung aus der Seitenleiste |263| `/clear` | Nein | Starten Sie stattdessen eine neue Sitzung aus der Seitenleiste |

243 264 

244Auto-Kompaktierung wird automatisch ausgeführt, wenn sich das Kontextfenster der Kapazität nähert. Claude Code im Web setzt [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/de/env-vars) in Cloud-Sitzungen selbst, daher wird die Kompaktierung partway durch das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) ausgelöst, anstatt wenn das Fenster sich füllt. Dieser Wert überschreibt einen, den Sie in Ihren [Umgebungsvariablen](/docs/de/cloud-environments#set-environment-variables) hinzufügen, daher ändert das Hinzufügen der Variablen dort nicht, wann die Kompaktierung ausgelöst wird.265Auto-Kompaktierung wird automatisch ausgeführt, wenn sich das Kontextfenster der Kapazität nähert. Cloud-Sitzungen setzen [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/de/env-vars) selbst, daher wird die Kompaktierung partway durch das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) ausgelöst, anstatt wenn das Fenster sich füllt. Dieser Wert überschreibt einen, den Sie in Ihren [Umgebungsvariablen](/docs/de/cloud-environments#set-environment-variables) hinzufügen, daher ändert das Hinzufügen der Variablen dort nicht, wann die Kompaktierung ausgelöst wird.

245 266 

246Um das Auto-Compact-Fenster stattdessen zu ändern, setzen Sie [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/de/env-vars) in Ihren Umgebungsvariablen, oder führen Sie [`/autocompact`](/docs/de/commands#all-commands) mit einer Token-Anzahl in einer Sitzung aus, in der die Variable nicht gesetzt ist.267Um das Auto-Compact-Fenster stattdessen zu ändern, setzen Sie [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/de/env-vars) in Ihren Umgebungsvariablen, oder führen Sie [`/autocompact`](/docs/de/commands#all-commands) mit einer Token-Anzahl in einer Sitzung aus, in der die Variable nicht gesetzt ist.

247 268 


269 Sitzungen teilen290 Sitzungen teilen

270</h3>291</h3>

271 292 

272Um eine Sitzung zu teilen, schalten Sie ihre Sichtbarkeit gemäß den folgenden Kontotypen um. Danach teilen Sie den Sitzungslink wie gewohnt. Empfänger sehen den neuesten Status, wenn sie den Link öffnen, aber ihre Ansicht wird nicht in Echtzeit aktualisiert.293Um eine Sitzung zu teilen, schalten Sie ihre Sichtbarkeit gemäß den Kontotypen unten um. Danach teilen Sie den Sitzungslink wie gewohnt. Empfänger sehen den neuesten Status, wenn sie den Link öffnen, aber ihre Ansicht wird nicht in Echtzeit aktualisiert.

273 294 

274<h4 id="share-from-an-enterprise-or-team-account">295<h4 id="share-from-an-enterprise-or-team-account">

275 Teilen von einem Enterprise- oder Team-Konto296 Teilen von einem Enterprise- oder Team-Konto


320 341 

321Es gibt mehrere Möglichkeiten, Auto-fix zu aktivieren, je nachdem, woher der PR stammt und welches Gerät Sie verwenden:342Es gibt mehrere Möglichkeiten, Auto-fix zu aktivieren, je nachdem, woher der PR stammt und welches Gerät Sie verwenden:

322 343 

323* **PRs, die in Claude Code im Web erstellt wurden**: Öffnen Sie die CI-Statusleiste und wählen Sie **Auto-fix**344* **PRs, die in einer Cloud-Sitzung erstellt wurden**: Öffnen Sie die Sitzung unter claude.ai/code, öffnen Sie die CI-Statusleiste und wählen Sie **Auto-fix**

324* **Von Ihrem Terminal**: Führen Sie [`/autofix-pr`](/docs/de/commands) aus, während Sie auf dem PR's Branch sind. Claude Code erkennt den offenen PR mit `gh`, spawnt eine Web-Sitzung und aktiviert Auto-fix in einem Schritt345* **Von Ihrem Terminal**: Führen Sie [`/autofix-pr`](/docs/de/commands) aus, während Sie auf dem PR's Branch sind. Claude Code erkennt den offenen PR mit `gh`, spawnt eine Cloud-Sitzung und aktiviert Auto-fix in einem Schritt

325* **Von der Mobile-App**: Sagen Sie Claude, den PR zu auto-fixen, zum Beispiel „watch this PR and fix any CI failures or review comments"346* **Von der Mobile-App**: Sagen Sie Claude, den PR zu auto-fixen, zum Beispiel „watch this PR and fix any CI failures or review comments"

326* **Jeder vorhandene PR**: Fügen Sie die PR-URL in eine Sitzung ein und sagen Sie Claude, den PR zu auto-fixen347* **Jeder vorhandene PR**: Fügen Sie die PR-URL in eine Sitzung ein und sagen Sie Claude, den PR zu auto-fixen

327 348 

328Auto-fix ist ein Pro-PR-Toggle. Um die Überwachung zu beenden, öffnen Sie die CI-Statusleiste in der Web-Sitzung und deaktivieren Sie den **Auto-fix**-Toggle, oder sagen Sie Claude, die Überwachung des PR zu beenden.349Auto-fix ist ein Pro-PR-Toggle. Um die Überwachung zu beenden, öffnen Sie die CI-Statusleiste in der Sitzung unter claude.ai/code und deaktivieren Sie den **Auto-fix**-Toggle, oder sagen Sie Claude, die Überwachung des PR zu beenden.

329 350 

330<h3 id="how-claude-responds-to-pr-activity">351<h3 id="how-claude-responds-to-pr-activity">

331 Wie Claude auf PR-Aktivität reagiert352 Wie Claude auf PR-Aktivität reagiert


395 Umgebung abgelaufen416 Umgebung abgelaufen

396</h3>417</h3>

397 418 

398Cloud-Sitzungen werden nach einer Inaktivitätszeit beendet und die Sitzungs-VM wird freigegeben. Eine Sitzung gilt als inaktiv, während sie darauf wartet, dass Sie einen [MCP-Connector](/docs/de/cloud-environments#network-access)-Tool-Aufruf genehmigen oder sich bei einem MCP-Server anmelden, und sie kann während dieses Wartens ablaufen. Im Web wird die Sitzung in der Sitzungsliste als abgelaufen markiert.419Cloud-Sitzungen werden nach einer Inaktivitätszeit beendet und die Sitzungs-VM wird freigegeben. Eine Sitzung gilt als inaktiv, während sie darauf wartet, dass Sie einen [MCP-Connector](/docs/de/cloud-environments#network-access)-Tool-Aufruf genehmigen oder sich bei einem MCP-Server anmelden, und sie kann während dieses Wartens ablaufen.

399 420 

400Öffnen Sie die Sitzung erneut von [claude.ai/code](https://claude.ai/code), um eine frische VM mit Ihrer wiederhergestellten Gesprächshistorie bereitzustellen. Hintergrundarbeit, die noch lief, als die VM freigegeben wurde, wie Subagents und Shell-Befehle, wird nicht wiederhergestellt.421Öffnen Sie die Sitzung erneut von [claude.ai/code](https://claude.ai/code), um eine frische VM mit Ihrer wiederhergestellten Gesprächshistorie bereitzustellen. Hintergrundarbeit, die noch lief, als die VM freigegeben wurde, wie Subagents und Shell-Befehle, wird nicht wiederhergestellt.

401 422 


405 426 

406Bevor Sie Cloud-Sitzungen für einen Workflow verwenden, berücksichtigen Sie diese Einschränkungen:427Bevor Sie Cloud-Sitzungen für einen Workflow verwenden, berücksichtigen Sie diese Einschränkungen:

407 428 

408* **Ratenlimits**: Claude Code im Web teilt Ratenlimits mit allen anderen Claude- und Claude Code-Nutzungen in Ihrem Konto. Das Ausführen mehrerer Aufgaben parallel verbraucht proportional mehr Ratenlimits. Es gibt keine separate Compute-Gebühr für die Cloud-VM.429* **Ratenlimits**: Cloud-Sitzungen teilen Ratenlimits mit allen anderen Claude- und Claude Code-Nutzungen in Ihrem Konto. Das Ausführen mehrerer Aufgaben parallel verbraucht proportional mehr Ratenlimits. Es gibt keine separate Compute-Gebühr für die Cloud-VM.

409* **Repository-Authentifizierung**: Sie können Sitzungen nur vom Web zum lokalen Computer verschieben, wenn Sie sich bei demselben Konto authentifizieren430* **Repository-Authentifizierung**: Sie können eine Cloud-Sitzung nur in Ihr Terminal ziehen, wenn Sie sich bei demselben Konto authentifizieren

410* **Plattformbeschränkungen**: Repository-Klonen und Pull Request-Erstellung erfordern GitHub. Selbstgehostete [GitHub Enterprise Server](/docs/de/github-enterprise-server)-Instanzen werden für Team- und Enterprise-Pläne unterstützt. Sie können GitLab, Bitbucket oder andere Nicht-GitHub-Repositories als [lokales Bündel](#send-local-repositories-without-github) zu einer Cloud-Sitzung senden, indem Sie `CCR_FORCE_BUNDLE=1` setzen, aber die Sitzung kann die Ergebnisse nicht zurück zum Remote pushen431* **Plattformbeschränkungen**: Repository-Klonen und Pull Request-Erstellung erfordern GitHub. Selbstgehostete [GitHub Enterprise Server](/docs/de/github-enterprise-server)-Instanzen werden für Team- und Enterprise-Pläne unterstützt. Sie können GitLab, Bitbucket oder andere Nicht-GitHub-Repositories als [lokales Bündel](#send-local-repositories-without-github) zu einer Cloud-Sitzung senden, indem Sie `CCR_FORCE_BUNDLE=1` setzen, aber die Sitzung kann die Ergebnisse nicht zurück zum Remote pushen

411* **Organisations-IP-Allowlist**: Cloud-Sitzungen rufen die Anthropic API von von Anthropic verwalteter Infrastruktur auf, nicht von Ihrem Netzwerk, während Sitzungen in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) sie von Ihrem eigenen Netzwerk aufrufen. Wenn Ihre Organisation [IP-Allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) aktiviert hat, schlägt jede von Anthropic gehostete Cloud-Sitzung mit einem Authentifizierungsfehler fehl. Das gleiche gilt für [Code Review](/docs/de/code-review) und [Routines](/docs/de/routines), die auf von Anthropic gehosteten Umgebungen ausgeführt werden; eine Routine, die zu einer selbstgehosteten Umgebung geleitet wird, ruft die API von Ihrem eigenen Netzwerk auf. Kontaktieren Sie [Anthropic Support](https://support.claude.com/), um von Anthropic gehostete Services von der IP-Allowlist Ihrer Organisation auszunehmen.432* **Organisations-IP-Allowlist**: Cloud-Sitzungen rufen die Anthropic API von von Anthropic verwalteter Infrastruktur auf, nicht von Ihrem Netzwerk, während Sitzungen in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) sie von Ihrem eigenen Netzwerk aufrufen. Wenn Ihre Organisation [IP-Allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) aktiviert hat, schlägt jede von Anthropic gehostete Cloud-Sitzung mit einem Authentifizierungsfehler fehl. Das gleiche gilt für [Code Review](/docs/de/code-review) und [Routines](/docs/de/routines), die auf von Anthropic gehosteten Umgebungen ausgeführt werden; eine Routine, die zu einer selbstgehosteten Umgebung geleitet wird, ruft die API von Ihrem eigenen Netzwerk auf. Kontaktieren Sie [Anthropic Support](https://support.claude.com/), um von Anthropic gehostete Services von der IP-Allowlist Ihrer Organisation auszunehmen.

412 433 


415</h2>436</h2>

416 437 

417* [Cloud-Umgebungen](/docs/de/cloud-environments): Konfigurieren Sie Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte für Cloud-Sitzungen438* [Cloud-Umgebungen](/docs/de/cloud-environments): Konfigurieren Sie Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte für Cloud-Sitzungen

439* [Projekte](/docs/de/claude-projects): eine Konversation, in der Claude parallele Cloud-Sitzungen in Ihren Repositories koordiniert und Bericht erstattet

418* [Ultrareview](/docs/de/ultrareview): Führen Sie eine tiefe Multi-Agent-Code-Review in einer Cloud-Sandbox aus440* [Ultrareview](/docs/de/ultrareview): Führen Sie eine tiefe Multi-Agent-Code-Review in einer Cloud-Sandbox aus

419* [Routines](/docs/de/routines): Automatisieren Sie Arbeiten nach einem Zeitplan, über API-Aufruf oder als Reaktion auf GitHub-Events441* [Routines](/docs/de/routines): Automatisieren Sie Arbeiten nach einem Zeitplan, über API-Aufruf oder als Reaktion auf GitHub-Events

420* [Hooks-Konfiguration](/docs/de/hooks): Führen Sie Skripte bei Sitzungs-Lifecycle-Events aus442* [Hooks-Konfiguration](/docs/de/hooks): Führen Sie Skripte bei Sitzungs-Lifecycle-Events aus

Details

34 oneLiner: 'Project instructions Claude reads every session',34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>],37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> on its own or alongside CLAUDE.md</>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions39 example: `# Project conventions

40 40 


640 color: '#5AA7A7',640 color: '#5AA7A7',

641 oneLiner: 'Custom instruction sets that adjust how Claude works',641 oneLiner: 'Custom instruction sets that adjust how Claude works',

642 when: 'Files read at startup; the style you select with outputStyle applies to every response',642 when: 'Files read at startup; the style you select with outputStyle applies to every response',

643 description: [<>Each markdown file defines an output style: a set of instructions for Claude that, by default, also replaces the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/config</C> or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],643 description: [<>Each markdown file defines an output style: a set of instructions for Claude that, by default, also replaces the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/output-style</C>, <C>/config</C>, or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],

644 tips: ['Built-in styles Default, Proactive, Concise, Explanatory, and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Switching styles mid-session applies from your next message; in the terminal, a style file you create or edit mid-session is picked up after a restart'],644 tips: ['Built-in styles Default, Proactive, Concise, Explanatory, and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Switching styles mid-session applies from your next message; in the terminal, a style file you create or edit mid-session is picked up after a restart'],

645 docsLink: '/en/output-styles',645 docsLink: '/en/output-styles',

646 children: [{646 children: [{


1434 1434 

1435Unter Windows wird `~/.claude` zu `%USERPROFILE%\.claude` aufgelöst. Wenn Sie [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) setzen, lebt jeder `~/.claude`-Pfad auf dieser Seite stattdessen unter diesem Verzeichnis.1435Unter Windows wird `~/.claude` zu `%USERPROFILE%\.claude` aufgelöst. Wenn Sie [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) setzen, lebt jeder `~/.claude`-Pfad auf dieser Seite stattdessen unter diesem Verzeichnis.

1436 1436 

1437Die meisten Benutzer bearbeiten nur `CLAUDE.md` und `settings.json`. Der Rest des Verzeichnisses ist optional: Fügen Sie Skills, Rules oder Subagents hinzu, wenn Sie sie benötigen.1437Die meisten Benutzer bearbeiten nur `CLAUDE.md` und `settings.json`. Wenn Ihr Repository bereits eine `AGENTS.md` für andere Coding-Agenten hat, kann Claude Code [diese](/docs/de/memory#agents-md) eigenständig oder zusammen mit `CLAUDE.md` lesen. Der Rest des Verzeichnisses ist optional: Fügen Sie Skills, Rules oder Subagents hinzu, wenn Sie sie benötigen.

1438 1438 

1439<h2 id="explore-the-directory">1439<h2 id="explore-the-directory">

1440 Erkunden Sie das Verzeichnis1440 Erkunden Sie das Verzeichnis


1451Der Explorer behandelt Dateien, die Sie erstellen und bearbeiten. Ein paar verwandte Dateien befinden sich an anderen Orten:1451Der Explorer behandelt Dateien, die Sie erstellen und bearbeiten. Ein paar verwandte Dateien befinden sich an anderen Orten:

1452 1452 

1453| Datei | Ort | Zweck |1453| Datei | Ort | Zweck |

1454| ----------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| ----------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1455| `managed-settings.json` | Systemebene, variiert je nach Betriebssystem | Von Unternehmen erzwungene Einstellungen, die Sie nicht überschreiben können, mit Ausnahme von [engen Ausnahmen](/docs/de/settings#security-keys-where-the-stricter-value-applies). Siehe [wo die Datei gespeichert werden soll](/docs/de/managed-settings#deploy-a-managed-settings-file) und [welche verwaltete Quelle Claude Code verwendet](/docs/de/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Systemebene, variiert je nach Betriebssystem | Von Unternehmen erzwungene Einstellungen, die Sie nicht überschreiben können, mit Ausnahme von [engen Ausnahmen](/docs/de/settings#security-keys-where-the-stricter-value-applies). Siehe [wo die Datei gespeichert werden soll](/docs/de/managed-settings#deploy-a-managed-settings-file) und [welche verwaltete Quelle Claude Code verwendet](/docs/de/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Projektstammverzeichnis | Ihre privaten Voreinstellungen für dieses Projekt, geladen zusammen mit CLAUDE.md. Erstellen Sie es manuell und fügen Sie es zu `.gitignore` hinzu. |1456| `CLAUDE.local.md` | Projektstammverzeichnis | Ihre privaten Voreinstellungen für dieses Projekt, geladen zusammen mit CLAUDE.md. Erstellen Sie es manuell und fügen Sie es zu `.gitignore` hinzu. |

1457| Installierte Plugins | `~/.claude/plugins` | Geklonte Marketplaces, installierte Plugin-Versionen und Pro-Plugin-Daten, verwaltet durch `claude plugin`-Befehle. Für ein Plugin, das von einem Marketplace mit [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) im Link-Modus installiert wurde, speichert Claude Code hier Links statt einer Kopie, und die Dateien des Plugins bleiben in dem Verzeichnis, das der Befehl ausgibt. Ein `command`-Quelle erfordert Claude Code v2.1.229 oder später. Siehe [Plugin-Caching](/docs/de/plugins-reference#plugin-caching-and-file-resolution) für die Bereinigung verwaister Versionen. |1457| `AGENTS.md` | Projektstammverzeichnis, `.claude/` oder ein beliebiges Verzeichnis | Projektanweisungen, die Sie für KI-Codierungs-Agenten schreiben. Claude Code kann [sie laden](/docs/de/memory#agents-md) eigenständig oder zusammen mit `CLAUDE.md`. |

1458| Installierte Plugins | `~/.claude/plugins` | Geklonte Marketplaces, installierte Plugin-Versionen und Pro-Plugin-Daten, verwaltet durch `claude plugin`-Befehle. Für ein Plugin, das von einem Marketplace mit [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) im Link-Modus installiert wurde, speichert Claude Code hier Links statt einer Kopie, und die Dateien des Plugins bleiben in dem Verzeichnis, das der Befehl ausgibt. Ein `command`-Quelle erfordert Claude Code v2.1.229 oder später. Ein Plugin, das nach relativem Pfad in einem lokalen Marketplace aufgelistet ist, wird auch [an Ort und Stelle geladen](/docs/de/plugins-reference#plugin-caching-and-file-resolution) aus seinem Quellverzeichnis statt aus einer Cache-Kopie. Siehe [Plugin-Caching](/docs/de/plugins-reference#plugin-caching-and-file-resolution) für die Bereinigung verwaister Versionen. |

1458 1459 

1459`~/.claude` enthält auch Daten, die Claude Code während der Arbeit schreibt: Transkripte, Prompt-Verlauf, Datei-Snapshots, Caches und Logs. Siehe [Anwendungsdaten](#application-data) unten.1460`~/.claude` enthält auch Daten, die Claude Code während der Arbeit schreibt: Transkripte, Prompt-Verlauf, Datei-Snapshots, Caches und Logs. Siehe [Anwendungsdaten](#application-data) unten.

1460 1461 


1551| `feedback-bundles/` | Redigierte Transkript-Archive, die von `/feedback` auf Drittanbieter-Plattformen oder wenn keine Anthropic-Anmeldedaten konfiguriert sind geschrieben werden, um an Ihr Anthropic-Kontoteam gesendet zu werden |1552| `feedback-bundles/` | Redigierte Transkript-Archive, die von `/feedback` auf Drittanbieter-Plattformen oder wenn keine Anthropic-Anmeldedaten konfiguriert sind geschrieben werden, um an Ihr Anthropic-Kontoteam gesendet zu werden |

1552| `feedback/drafts/` | Warteschlange [Claude-entworfener Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) in Erwartung Ihrer Überprüfung in `/feedback`. Bereinigt nach `cleanupPeriodDays` oder 30 Tagen, je nachdem, welcher Wert kürzer ist. Wenn die Warteschlange ihre Grenze von 10 Entwürfen erreicht, löscht Claude Code den ältesten Entwurf, um Platz zu schaffen. |1553| `feedback/drafts/` | Warteschlange [Claude-entworfener Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) in Erwartung Ihrer Überprüfung in `/feedback`. Bereinigt nach `cleanupPeriodDays` oder 30 Tagen, je nachdem, welcher Wert kürzer ist. Wenn die Warteschlange ihre Grenze von 10 Entwürfen erreicht, löscht Claude Code den ältesten Entwurf, um Platz zu schaffen. |

1553| `usage-data/` | `report.html` und zeitgestempelte Report-Kopien, die von [`/insights`](/docs/de/costs#analyze-your-usage-patterns) geschrieben werden, plus zwischengespeicherte Pro-Sitzungs-Analysedaten, die zu ihrer Erstellung verwendet werden |1554| `usage-data/` | `report.html` und zeitgestempelte Report-Kopien, die von [`/insights`](/docs/de/costs#analyze-your-usage-patterns) geschrieben werden, plus zwischengespeicherte Pro-Sitzungs-Analysedaten, die zu ihrer Erstellung verwendet werden |

1555| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/de/skills#how-synced-skills-behave) und [Plugins](/docs/de/plugins-reference#synced-plugins) von claude.ai synchronisiert, die Claude Code entfernt hat. Hierher verschoben statt gelöscht, damit Sie die Dateien wiederherstellen können |

1554| `todos/`, `statsig/`, `logs/` | Legacy-Verzeichnisse aus älteren Versionen. Nicht mehr geschrieben. Die Bereinigung entfernt deren Inhalte und dann das leere Verzeichnis. |1556| `todos/`, `statsig/`, `logs/` | Legacy-Verzeichnisse aus älteren Versionen. Nicht mehr geschrieben. Die Bereinigung entfernt deren Inhalte und dann das leere Verzeichnis. |

1555 1557 

1556Sitzungsdateien in `sessions/`, automatisches Memory und Claude Desktop und Cowork Transkripte folgen jeweils ihrer eigenen Aufbewahrungsregel:1558Sitzungsdateien in `sessions/`, automatisches Memory und Claude Desktop und Cowork Transkripte folgen jeweils ihrer eigenen Aufbewahrungsregel:


1576| `stats-cache.json` | Aggregierte Token- und Kostenzählungen, die von `/usage` angezeigt werden |1578| `stats-cache.json` | Aggregierte Token- und Kostenzählungen, die von `/usage` angezeigt werden |

1577| `remote-settings.json` | Zwischengespeicherte Kopie von [servergesteuerten Einstellungen](/docs/de/server-managed-settings) für Ihre Organisation, oder `{}` wenn Ihre Organisation keine konfiguriert hat. Nur vorhanden, wenn die Sitzung sie [abruft](/docs/de/server-managed-settings#platform-availability). Claude Code prüft beim Start und stündlich während einer Sitzung auf Updates. Claude Code löscht es beim Abmelden. |1579| `remote-settings.json` | Zwischengespeicherte Kopie von [servergesteuerten Einstellungen](/docs/de/server-managed-settings) für Ihre Organisation, oder `{}` wenn Ihre Organisation keine konfiguriert hat. Nur vorhanden, wenn die Sitzung sie [abruft](/docs/de/server-managed-settings#platform-availability). Claude Code prüft beim Start und stündlich während einer Sitzung auf Updates. Claude Code löscht es beim Abmelden. |

1578| `cache/changelog.md` | Zwischengespeicherte Kopie des Claude Code Änderungsprotokolls, angezeigt von `/release-notes`. Im Hintergrund aktualisiert. |1580| `cache/changelog.md` | Zwischengespeicherte Kopie des Claude Code Änderungsprotokolls, angezeigt von `/release-notes`. Im Hintergrund aktualisiert. |

1579| `policy-limits.json` | Zwischengespeicherte Feature-Policy-Einstellungen für Ihre Organisation. Nur für einige Kontotypen vorhanden. Automatisch aktualisiert. Claude Code löscht es beim Abmelden. |1581| `policy-limits.json` | Zwischengespeicherte Feature-Policy-Einstellungen für Ihre Organisation. Nur für einige Kontotypen vorhanden. Automatisch aktualisiert. Ein `policy-limits.json.stamp.json` Sidecar-Datei zeichnet auf, welches Konto oder API-Schlüssel der Cache gehört. Claude Code löscht beide Dateien beim Abmelden. |

1580 1582 

1581<span id="state-files-to-keep" />1583<span id="state-files-to-keep" />

1582 1584 


1658Sie können auch jeden der oben genannten Anwendungsdaten-Pfade manuell löschen, abgesehen von den [Zustandsdateien zum Behalten](#state-files-to-keep). Neue Sitzungen sind nicht betroffen. Die folgende Tabelle zeigt, was Sie für vergangene Sitzungen verlieren.1660Sie können auch jeden der oben genannten Anwendungsdaten-Pfade manuell löschen, abgesehen von den [Zustandsdateien zum Behalten](#state-files-to-keep). Neue Sitzungen sind nicht betroffen. Die folgende Tabelle zeigt, was Sie für vergangene Sitzungen verlieren.

1659 1661 

1660| Löschen | Sie verlieren |1662| Löschen | Sie verlieren |

1661| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |1663| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1662| `~/.claude/projects/` | Fortsetzen, Fortfahren und Zurückspulen für vergangene Sitzungen, und automatisches Memory für jedes Projekt |1664| `~/.claude/projects/` | Fortsetzen, Fortfahren und Zurückspulen für vergangene Sitzungen, und automatisches Memory für jedes Projekt |

1663| `~/.claude/history.jsonl` | Up-Arrow-Prompt-Abruf, `Ctrl+R` Verlaufssuche und `!` Shell-Befehl-Vervollständigung |1665| `~/.claude/history.jsonl` | Up-Arrow-Prompt-Abruf, `Ctrl+R` Verlaufssuche und `!` Shell-Befehl-Vervollständigung |

1664| `~/.claude/paste-cache/` | Eingefügter Text in abgerufenen Prompts; siehe [großen Inhalt einfügen](/docs/de/terminal-config#paste-large-content) |1666| `~/.claude/paste-cache/` | Eingefügter Text in abgerufenen Prompts; siehe [großen Inhalt einfügen](/docs/de/terminal-config#paste-large-content) |


1672| `~/.claude/cache/changelog.md` | Nichts. Im Hintergrund aktualisiert. |1674| `~/.claude/cache/changelog.md` | Nichts. Im Hintergrund aktualisiert. |

1673| `~/.claude/policy-limits.json` | Nichts. Automatisch aktualisiert. |1675| `~/.claude/policy-limits.json` | Nichts. Automatisch aktualisiert. |

1674| `~/.claude/tasks/` | Aufgabenlisten, die eine fortgesetzte Sitzung aufgreifen würde |1676| `~/.claude/tasks/` | Aufgabenlisten, die eine fortgesetzte Sitzung aufgreifen würde |

1677| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Die Möglichkeit, [synchronisierte Skills](/docs/de/skills#how-synced-skills-behave) und [synchronisierte Plugins](/docs/de/plugins-reference#synced-plugins) wiederherzustellen, die Claude Code entfernt hat |

1675| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nichts für Benutzer sichtbar |1678| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nichts für Benutzer sichtbar |

1676| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/` | Nichts. Legacy-Verzeichnisse nicht von aktuellen Versionen geschrieben. |1679| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/` | Nichts. Legacy-Verzeichnisse nicht von aktuellen Versionen geschrieben. |

1677 1680 

claude-projects.md +538 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Lassen Sie Claude laufende Arbeiten mit Projekten koordinieren

6 

7> Geben Sie Claude einen Bestand zusammenhängender Arbeiten in einem Gespräch und lassen Sie ihn parallele Cloud-Sitzungen koordinieren, die Repositorys, Anweisungen und Speicher gemeinsam nutzen.

8 

9<Note>

10 Projekte befinden sich in der öffentlichen Beta auf Pro- und Max-Plänen und werden schrittweise eingeführt, beginnend mit Konten, die [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) verwendet haben und keine vorhandenen Projekte in claude.ai-Chat oder Cowork haben. Sie sind noch nicht auf Team- oder Enterprise-Plänen verfügbar. Wenn **Projekte** nicht in der Seitenleiste unter [claude.ai/code](https://claude.ai/code) oder auf der Registerkarte „Code" der [Desktop-App](/docs/de/desktop) angezeigt wird, hat die Einführung Ihr Konto noch nicht erreicht, und Sie können sich [auf die Warteliste eintragen](https://claude.com/form/projects). [Agenten parallel ausführen](/docs/de/agents) listet auf, was Sie in der Zwischenzeit verwenden können.

11</Note>

12 

13Ein Projekt ist ein laufendes Gespräch, in dem Claude einen Strom zusammenhängender Arbeiten für Sie koordiniert. Sie teilen ihm mit, was getan werden muss, und er startet einen Thread für jede Aufgabe. Jeder Thread ist eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web): Claude Code, das in der Cloud statt auf Ihrem Computer ausgeführt wird. Threads laufen parallel und werden fortgesetzt, nachdem Sie den Laptop schließen, und Sie können sie von Ihrem Telefon aus überprüfen und steuern.

14 

15Ohne ein Projekt bedeutet das Ausführen mehrerer Sitzungen, dass Sie die Koordination selbst übernehmen: Sie entscheiden, woran jede arbeitet, wiederholen denselben Hintergrund am Anfang jeder Sitzung und überprüfen, welche abgeschlossen ist oder eine Antwort benötigt. Mit einem Projekt tun Sie stattdessen:

16 

17* **Arbeiten an einen Ort senden**: Fügen Sie einen Fehlerbericht, eine Stack-Trace oder eine Liste von Aufgaben in das Gespräch ein, wann immer eine auftaucht. Claude startet einen Thread für jede Arbeit oder leitet sie an den Thread weiter, der bereits in diesem Bereich arbeitet, und beantwortet schnelle Fragen direkt.

18* **Kontext einmal festlegen**: Jeder neue Thread beginnt mit den Repositorys, Anweisungen und dem Speicher des Projekts, sodass eine Regel, die Sie einmal angeben, wie z. B. welcher Branch angestrebt werden soll, alle erreicht.

19* **Weggehen und zur abgeschlossenen Arbeit zurückkehren**: Wenn Sie eine Stunde später oder am nächsten Morgen zurückkommen, zeigt der Bereich **Übersicht** an, welche Threads abgeschlossen sind, welche Pull Requests zur Überprüfung bereit sind und welcher Thread auf Ihre Antwort wartet.

20 

21Wenn Sie bereits wissen, welche Arbeiten ein Projekt ausführen soll, gehen Sie direkt zu [Projekt erstellen](#create-a-project).

22 

23<h2 id="when-to-use-a-project">

24 Wann ein Projekt verwendet werden sollte

25</h2>

26 

27Ein Projekt lohnt sich, wenn die Arbeit ein Ziel hat, das eine Sitzung übersteigt und weiterhin Aufgaben erzeugt. Diese Arten von Arbeiten eignen sich gut für ein Projekt:

28 

29* **Ein Ziel über viele Repositories**: „Bringen Sie jeden Service auf die neue Lint-Konfiguration." Claude kann einen Thread pro Repository ausführen, jeder mit seinem eigenen Pull Request, und der [**Übersichts**-Bereich](#see-what-needs-you-in-overview) zeigt, welche zur Überprüfung bereit sind.

30* **Ein Bereich, den Sie ständig füttern**: Die Fehler, Stack-Traces und Überprüfungsanfragen für einen Service, die in das Gespräch eingefügt werden, wenn sie Sie erreichen. Eine Fallstricke, die Sie Claude nach einer Reparatur merken lassen, ist im [Projektgedächtnis](#give-a-project-standing-context) für die nächste.

31* **Ein Build oder eine Migration größer als eine Sitzung**: „Bauen Sie, was `docs/spec.md` beschreibt" oder „Verschieben Sie die App weg vom veralteten ORM." Die Arbeit teilt sich in Threads auf, die jeweils einen Teil übernehmen, Entscheidungen, die Sie Claude früh merken lassen, erreichen die späteren Threads, und die Spec-Änderungen und Fehler, die Sie während des Builds finden, gehen in das gleiche Gespräch.

32* **Arbeit, die kein Code ist**: Ein Ordner mit Verträgen oder ein Support-Ticket-Export, zu dem Sie ständig mit neuen Fragen zurückkehren, wie z. B. „Finden Sie die zehn häufigsten Integrationsfehler in diesen Tickets." Laden Sie die Dokumente hoch, anstatt ein Repository hinzuzufügen, und Threads liefern jede Zusammenfassung als Datei auf der Registerkarte [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts.

33 

34In jedem dieser Fälle können Sie einen Batch von Aufgaben senden, Claude anweisen, ohne Sie zur Bestätigung aufzufordern zu starten, weggehen und die Threads finden, die Sie unter [**Warten auf Sie**](#see-what-needs-you-in-overview) benötigen, wenn Sie zurück sind, oder Claude bitten, einen Teil der Arbeit als [Routine](/docs/de/routines) zu planen. Wenn einer dieser Fälle Ihre Situation ist, [erstellen Sie ein Projekt](#create-a-project).

35 

36<h3 id="when-something-else-fits-better">

37 Wann etwas anderes besser passt

38</h3>

39 

40Threads funktionieren auf GitHub-Repositories und auf Dateien, Ordnern und Google Drive-Ordnern, die Sie in das Projekt hochladen, nicht auf Dateien oder Tools, die nur auf Ihrem Computer vorhanden sind. Etwas anderes passt besser in diesen Fällen:

41 

42* **Eine Aufgabe, die in eine Sitzung passt**: „Reparieren Sie den instabilen Login-Test." Starten Sie selbst eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web).

43* **Arbeit, die Tools oder Services benötigt, die nur Ihr Computer erreichen kann**: Eine lokale Datenbank, einen Geräteemulator, eine API hinter Ihrem VPN. Verwenden Sie eine lokale Sitzung oder [Agent-Ansicht](/docs/de/agent-view), um mehrere gleichzeitig auszuführen. Wenn die Arbeit nur lokale Dateien benötigt, laden Sie sie stattdessen in das Projekt hoch.

44* **Eine Aufgabe, die sich nach einem Zeitplan ohne Gespräch wiederholt**: „Veröffentlichen Sie jeden Montag einen Abhängigkeitsbericht." Erstellen Sie eine [Routine](/docs/de/routines) für sich allein.

45* **Mehrere Personen geben Claude Arbeit und lenken sie zusammen in einem Slack-Kanal**: Siehe [Claude Tag](https://claude.com/docs/claude-tag/overview).

46 

47Ein Projekt nutzt die gleichen Planlimits wie Ihre anderen Claude Code-Sitzungen und nutzt sie schneller. [Nutzung und Kosten](#usage-and-cost) behandelt, was Ihren Plan nutzt und wie Sie es niedrig halten.

48 

49<h2 id="how-a-project-is-organized">

50 Wie ein Projekt organisiert ist

51</h2>

52 

53Ein Projekt ist eine koordinierende Konversation mit Claude plus die Threads, die es startet, um die Arbeit zu erledigen. Dies sind seine Teile:

54 

55* **Die Projektkonversation**: eine lange laufende Sitzung, in der Claude als Koordinator fungiert. Sie nimmt das auf, was Sie senden, entscheidet, was zu einem Thread wird, und verfolgt jeden Thread, den sie gestartet hat. Sie sieht, was Threads zurückberichten, nicht jeden Schritt, den sie unternehmen.

56* **Threads**: die Worker. Jeder ist eine separate [Cloud-Sitzung](/docs/de/claude-code-on-the-web) mit seinem eigenen Kontextfenster, die ein Stück Arbeit in ihrem eigenen Branch erledigt, einen Pull Request öffnet, wenn die Arbeit dies erfordert, und der Konversation Bericht erstattet, wenn sie fertig ist.

57* **Was jeder Thread mit sich bringt**:

58 * Die Repositories und Dateien des Projekts, plus seine [Anweisungen und Speicher](#give-a-project-standing-context)

59 * Die `CLAUDE.md`, Skills und Plugins in [jedem der Repositories des Projekts](#what-threads-pick-up-from-your-repositories), und in einem Projekt mit einem Repository auch die Berechtigungsregeln und Hooks dieses Repositories

60 * Die [Connectors](#get-skills-plugins-connectors-and-tools-into-threads) auf Ihrem claude.ai-Konto

61 * Eine [Cloud-Umgebung](#choose-an-environment-for-threads), die seinen Netzwerkzugriff, Umgebungsvariablen, API-Anmeldedaten und installierte Tools festlegt

62* **Der Übersichtsbereich**: wo Sie [alle Threads auf einmal sehen](#see-what-needs-you-in-overview) und welche von ihnen Sie benötigen. Seine anderen Registerkarten sind **Library** für die Dateien, die Sie hinzugefügt haben, und die Dateien, die Threads produziert haben, **Pull requests** für die, die Threads geöffnet haben, und **Routines** für geplante Arbeit im Projekt.

63 

64Threads wählen nichts aus dem Claude Code-Setup auf Ihrem eigenen Computer auf. [Bringen Sie Skills, Plugins, Connectors und Tools in Threads](#get-skills-plugins-connectors-and-tools-into-threads) behandelt, wie Sie ihnen geben, was ihnen sonst fehlen würde.

65 

66Hier ist, wie diese Teile verbunden sind, von Ihnen durch die Konversation zu den Threads, die die Arbeit erledigen, wobei **Overview** ihren Zustand verfolgt:

67 

68<Frame>

69 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=dbf446f69f0bbdb9961d21af207cb93b" className="dark:hidden" alt="Diagramm eines Projekts. Sie schreiben in der Projektkonversation, wo Claude antwortet oder einen Thread startet. Jeder Thread ist eine Cloud-Sitzung, die an ihrem eigenen Branch und Pull Request arbeitet. Der Übersichtsbereich listet Threads nach Zustand auf, z. B. bereit zur Überprüfung, wartet auf Sie und arbeitet." width="600" height="250" data-path="images/claude-projects-overview.svg" />

70 

71 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview-dark.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=549a5ba9fea8433729babc37a1f6e9c8" className="hidden dark:block" alt="Diagramm eines Projekts. Sie schreiben in der Projektkonversation, wo Claude antwortet oder einen Thread startet. Jeder Thread ist eine Cloud-Sitzung, die an ihrem eigenen Branch und Pull Request arbeitet. Der Übersichtsbereich listet Threads nach Zustand auf, z. B. bereit zur Überprüfung, wartet auf Sie und arbeitet." width="600" height="250" data-path="images/claude-projects-overview-dark.svg" />

72</Frame>

73 

74<h2 id="create-a-project">

75 Erstellen Sie ein Projekt

76</h2>

77 

78Sie erstellen und verwenden Projekte unter [claude.ai/code](https://claude.ai/code), auf der Registerkarte „Code" der Desktop-App oder in der Claude-Mobile-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Im Browser und in der Desktop-App gibt es zwei Möglichkeiten, ein Projekt zu starten:

79 

80* **Von Grund auf**, wenn Sie den Strom von Arbeiten kennen, die Claude ausführen soll: Öffnen Sie den Dialog **Neues Projekt** und benennen Sie ihn. [Starten Sie ein neues Projekt von Grund auf](#start-a-new-project-from-scratch) führt Sie durch den Dialog.

81* **Aus einer Cloud-Sitzung, die bereits die Arbeit erledigt**: Wählen Sie **Als Projekt fortfahren** aus dem Menü dieser Sitzung, und Claude schlägt die Projekteinrichtung aus dem vor, was die Sitzung tat. Siehe [Von einer vorhandenen Cloud-Sitzung starten](#start-from-an-existing-cloud-session).

82 

83In jedem Fall [überprüfen Sie zuerst die Voraussetzungen](#check-the-prerequisites).

84 

85<h3 id="check-the-prerequisites">

86 Überprüfen Sie die Voraussetzungen

87</h3>

88 

89Bevor Sie ein Projekt erstellen, überprüfen Sie Ihren Plan, Ihre GitHub-Einrichtung und was die Arbeit erreichen muss:

90 

91* **Plan**: Sie sind auf Pro oder Max und **Projekte** werden in Ihrer Seitenleiste angezeigt.

92* **GitHub, wenn das Projekt an Code arbeitet**: Ihr Code ist auf github.com statt auf GitHub Enterprise Server, GitLab oder Bitbucket, Ihr verbundenes GitHub-Konto hat Push-Zugriff darauf, und die Claude GitHub App ist darauf installiert. Wenn Sie GitHub mit [`/web-setup`](/docs/de/web-quickstart#connect-from-your-terminal) verbunden haben, ermöglicht dieses Token Ihren anderen Cloud-Sitzungen, ein Repository zu erreichen, reicht aber nicht für Projekt-Threads aus, die die Claude GitHub App benötigen. [Richten Sie GitHub-Zugriff ein](#set-up-github-access) hat die Schritte.

93* **Netzwerk, Anmeldedaten und Tools**: Diese stammen aus der [Cloud-Umgebung](#choose-an-environment-for-threads) des Projekts. Die Standardumgebung erreicht bereits [häufige Paket-Registries](/docs/de/cloud-environments#default-allowed-domains), überprüfen Sie dies also nur, wenn die Arbeit andere Domains, ein Geheimnis oder ein Tool benötigt, das nicht vorinstalliert ist. Wenn die Arbeit einen MCP-Server benötigt, überprüfen Sie, dass er als verbunden in Ihren [claude.ai-Connectors](https://claude.ai/customize/connectors) angezeigt wird.

94 

95<h3 id="start-a-new-project-from-scratch">

96 Starten Sie ein neues Projekt von Grund auf

97</h3>

98 

99Das Starten eines Projekts von Grund auf bedeutet, den Dialog **Neues Projekt** zu öffnen, den Strom von Arbeiten zu benennen und optional ein Ziel und die Repositories und Dateien anzugeben, an denen es arbeitet. Nur der Name ist erforderlich, daher können Sie das Projekt zuerst erstellen und den Rest ausfüllen, wenn die Arbeit Gestalt annimmt.

100 

101<Steps>

102 <Step title="Öffnen Sie Projekte">

103 Wählen Sie unter [claude.ai/code](https://claude.ai/code) oder auf der Registerkarte „Code" der Desktop-App **Projekte** in der linken Seitenleiste und dann **Neues Projekt**. In einem Browser können Sie auch direkt zu [claude.ai/code/projects/browse](https://claude.ai/code/projects/browse) gehen.

104 </Step>

105 

106 <Step title="Füllen Sie den Dialog „Neues Projekt&#x22; aus">

107 Beschränken Sie das Projekt auf einen Strom von Arbeiten, den Sie ständig hinzufügen, wie z. B. alles, was erforderlich ist, um eine API unter ihrem Latenz-Ziel zu halten. [Wann ein Projekt verwendet werden sollte](#when-to-use-a-project) hat mehr Beispiele. Füllen Sie dann die Felder des Dialogs aus:

108 

109 * **Name**: Wie das Projekt in der Liste **Projekte** angezeigt wird.

110 * **Ziel** (optional): Eine Zeile, was Sie versuchen zu erreichen, wie z. B. „Halten Sie die p95-API-Latenz unter 200 ms". Claude im Gespräch arbeitet darauf hin. Ohne ein Ziel arbeitet Claude aus den Aufgaben, die Sie senden, und Sie können später ein Ziel in **Projekteinstellungen > Allgemein** hinzufügen.

111 * **Kontext** (optional): Die GitHub-Repositories, an denen dieses Projekt arbeitet, plus alle Dateien, Ordner oder Google Drive-Ordner, die Threads lesen sollten. Klicken Sie für jeden auf **Hinzufügen**. Fügen Sie die Repositories hinzu, die die meisten Aufgaben benötigen, anstatt jeden, den die Arbeit möglicherweise berührt; [Entscheiden Sie, welche Repositories hinzugefügt werden sollen](#decide-which-repositories-to-add) behandelt die Wahl, und Sie können später mehr in **Projekteinstellungen > Umgebung** hinzufügen.

112 

113 Stehende Regeln für die Funktionsweise von Threads gehen in [Projektanweisungen](#give-a-project-standing-context), die Sie nach der Projekterstellung festlegen.

114 </Step>

115 

116 <Step title="Erstellen Sie das Projekt">

117 Klicken Sie auf **Projekt erstellen**. Das Projektgespräch öffnet sich mit einem Nachrichtenfeld am unteren Rand, in dem Sie Arbeit für Claude beschreiben.

118 

119 Bei Ihrem ersten Projekt macht Claude einen eigenen Zug, sobald das Projekt erstellt wird, es sei denn, Sie senden zuerst eine Nachricht. Dieser Zug nutzt Ihren Plan. Darin kann Claude:

120 

121 * Einen Thread starten, der das Repository erkundet, ohne etwas zu ändern und nächste Schritte vorzuschlagen, wenn das Projekt ein Repository hat, das es lesen kann.

122 * **Setup-Empfehlungen** veröffentlichen, die aus Ihren letzten Cloud-Sitzungen stammen: Repositories zum Hinzufügen, Routinen zum Erstellen und Threads, die es starten könnte. Jedes empfohlene Repository und jede Routine ist standardmäßig aktiviert. Schalten Sie die aus, die Sie nicht möchten, klicken Sie dann auf **Setup aktualisieren**, um den Rest hinzuzufügen, oder ignorieren Sie die Empfehlungen und beschreiben Sie die Arbeit selbst.

123 </Step>

124</Steps>

125 

126Das Projekt wird nun unter **Projekte** in der Seitenleiste aufgelistet, und sein Gespräch ist offen. [Ihr erster Batch](#your-first-batch) behandelt, was Sie einrichten müssen, bevor Sie ihm Arbeit senden.

127 

128<h3 id="start-from-an-existing-cloud-session">

129 Von einer vorhandenen Cloud-Sitzung starten

130</h3>

131 

132Wenn Sie bereits eine Cloud-Sitzung haben, die Arbeit erledigt, die in ein Projekt gehört, öffnen Sie das Menü der Sitzung in der Seitenleiste und wählen Sie **Als Projekt fortfahren** oder **In Projekt verschieben**:

133 

134* **Als Projekt fortfahren** erstellt ein neues Projekt mit dem Namen der Sitzung und öffnet es. Claude liest die Sitzung und veröffentlicht **Setup-Empfehlungen** im Gespräch zur Bestätigung. Die ursprüngliche Sitzung bleibt in Ihrer Sitzungsliste, und wenn sie sich in der Mitte eines Zuges befand, läuft sie weiter, daher stoppen Sie sie selbst, wenn Sie nicht beide gleichzeitig arbeiten möchten. Wenn Sie stattdessen das Banner **Projekt einrichten** verwenden, das über dem Nachrichtenfeld einer Cloud-Sitzung angezeigt werden kann, ist das Ergebnis das gleiche, außer dass der laufende Zug der Sitzung stoppt, sobald das Projekt öffnet.

135* **In Projekt verschieben** bringt die Arbeit der Sitzung in ein vorhandenes Projekt. Es veröffentlicht eine Nachricht in diesem Projektgespräch und bittet Claude, die Sitzung zu lesen und dort fortzufahren, wo sie aufgehört hat, und neue Arbeiten werden in den eigenen Threads des Projekts fortgesetzt. Die ursprüngliche Sitzung bleibt in Ihrer Sitzungsliste, unverändert.

136 

137<h3 id="set-up-github-access">

138 Richten Sie GitHub-Zugriff ein

139</h3>

140 

141Die meisten GitHub-Einrichtungen erfolgen einmal, nicht pro Projekt. Sie verbinden Ihr GitHub-Konto einmal mit Claude, und die Claude GitHub App wird einmal pro Repository oder einmal für eine ganze GitHub-Organisation installiert, wenn Sie ihr alle Repositories geben. Sie kehren zu diesen Schritten zurück, wenn Sie ein Repository hinzufügen, das die Claude GitHub App noch nicht abdeckt, oder eines in einer GitHub-Organisation, die SSO erzwingt.

142 

143<Steps>

144 <Step title="Verbinden Sie Ihr GitHub-Konto">

145 Wenn Sie claude.ai/code noch nicht verwendet haben, führt Ihr erster Besuch Sie durch die Verbindung mit GitHub; siehe [GitHub verbinden](/docs/de/web-quickstart#connect-github). Verwenden Sie andernfalls eine der [GitHub-Authentifizierungsoptionen](/docs/de/claude-code-on-the-web#github-authentication-options).

146 </Step>

147 

148 <Step title="Installieren Sie die Claude GitHub App auf den Repositories des Projekts">

149 Installieren Sie die [Claude GitHub App](https://github.com/apps/claude) und gewähren Sie ihr die Repositories, die das Projekt verwenden wird. Auf einem Repository, das einer GitHub-Organisation gehört, kann nur ein Organisationsbesitzer die Installation abschließen; wenn Sie nicht einer sind, sendet GitHub dem Besitzer eine Installationsanfrage und das Projekt kann das Repository nicht verwenden, bis er sie genehmigt.

150 </Step>

151 

152 <Step title="Autorisieren Sie SSO für Organisationen, die es erzwingen">

153 Wenn eine GitHub-Organisation SAML SSO erzwingt, verbinden Sie GitHub erneut und autorisieren Sie die Claude-App für diese Organisation. Bis Sie dies tun, werden die privaten Repositories dieser Organisation nicht im Dialog **Neues Projekt** oder **Projekteinstellungen > Umgebung** angezeigt.

154 </Step>

155</Steps>

156 

157Wenn einer dieser Schritte unvollständig ist, benennen Sie der Dialog **Neues Projekt** und die Projektseite den fehlenden Schritt und verlinken Sie, wo Sie ihn abschließen. Schließen Sie den Schritt dort ab, klicken Sie dann auf **Erneut überprüfen**, wenn der Dialog es anbietet. Wenn ein Repository danach immer noch in der Liste fehlt, öffnen Sie die Installation der Claude GitHub App auf GitHub unter [github.com/settings/installations](https://github.com/settings/installations) für ein persönliches Konto und bestätigen Sie, dass das Repository unter **Repository-Zugriff** aufgelistet ist. Für die Fehlermeldungen, die ein Thread oder das Projekt meldet, wenn der Zugriff immer noch falsch ist, siehe [Repository-Zugriffsfehler](#repository-access-errors).

158 

159<h2 id="work-in-a-project">

160 Arbeiten Sie in einem Projekt

161</h2>

162 

163Geben Sie Claude Arbeit durch das Projektgespräch: Aufgaben einzeln oder mehrere auf einmal, plus Updates und lose Gedanken, wenn sie auftauchen. Claude leitet jede Nachricht weiter, und Threads erledigen die Arbeit und berichten zurück.

164 

165<h3 id="your-first-batch">

166 Ihr erster Batch

167</h3>

168 

169Bevor Sie einem neuen Projekt einen Batch von Arbeiten senden, richten Sie es so ein, dass die ersten Threads auf die gewünschte Weise zurückkommen:

170 

1711. [Schreiben Sie Projektanweisungen](#write-project-instructions): Das Briefing, mit dem jeder Thread startet, wie z. B. welcher Branch angestrebt werden soll, wie ein Thread seine Arbeit überprüft und was Ihre Genehmigung benötigt.

1722. Senden Sie ein kleines Stück der echten Arbeit, oder starten Sie einen der Threads, die Claude vorgeschlagen hat, wenn er welche angeboten hat, und öffnen Sie den Thread, wenn er fertig ist, um zu sehen, wie er zurückberichtet und was er auf seinem Branch tat. Wenn es etwas Falsches annahm oder nicht erreichen konnte, was es brauchte, [Threads haben geraten oder stecken fest, anstatt zu fragen](#threads-guessed-or-stalled-instead-of-asking) behandelt, wo das zu beheben ist.

1733. Überprüfen Sie **Thread-Modell** und **Thread-Aufwand** in **Projekteinstellungen > Allgemein**. Ein neues Projekt führt jeden Thread auf Opus mit hohem Aufwand aus, was Ihren Plan am schnellsten nutzt; [Wählen Sie Modelle und lassen Sie Claude den Kontext verwalten](#choose-models-and-let-claude-manage-context) behandelt die Alternativen.

1744. Bitten Sie Claude, [Threads vor dem Start vorzuschlagen und nur wenige gleichzeitig auszuführen](#tune-how-claude-runs-a-project), und lassen Sie diese Limits fallen, sobald ein paar Threads auf die gewünschte Weise zurückkommen.

175 

176<h3 id="send-work-and-read-results">

177 Senden Sie Arbeit und lesen Sie Ergebnisse

178</h3>

179 

180Claude entscheidet, wohin jede Nachricht, die Sie im Gespräch senden, geht:

181 

182* Eine schnelle Frage bekommt normalerweise eine Antwort im Gespräch.

183* Neue Arbeit geht zu einem neuen Thread oder zu einem Thread, der bereits in diesem Bereich arbeitet, und Claude teilt Ihnen mit, welcher. Jeder neue Thread wird unter Ihrer Nachricht als Karte angezeigt: ein Feld mit dem Titel und Status des Threads, das Sie klicken, um den Thread zu öffnen.

184* Mehrere unabhängige Aufgaben in einer Nachricht werden zu separaten Threads.

185 

186Wenn Claude etwas anders leitet, als Sie wollten, sagen Sie es. [Passen Sie an, wie Claude ein Projekt ausführt](#tune-how-claude-runs-a-project) listet Dinge auf, die Sie ihm sagen können, wie z. B. einen vorhandenen Thread für Nachverfolgungen wiederzuverwenden oder stattdessen an Ort und Stelle zu antworten.

187 

188Die vollständigen Ergebnisse eines Threads bleiben im Thread, und Sie öffnen seine Karte im Gespräch, um sie zu lesen. Dateien, die ein Thread erzeugt hat, sind auch auf der Registerkarte **Bibliothek** in **Übersicht**.

189 

190Manchmal schlägt Claude Threads vor, anstatt sie zu starten, in einer Liste **Vorgeschlagene Threads**. Klicken Sie auf den Pfeil bei einem Vorschlag, um diesen Thread zu starten. Wenn mehrere aufgelistet sind, startet eine Schaltfläche unter der Liste alle.

191 

192<h3 id="review-a-thread’s-pull-request">

193 Überprüfen Sie den Pull Request eines Threads

194</h3>

195 

196Wenn ein Thread Code ändert, tut er dies, es sei denn, Sie sagen ihm etwas anderes:

197 

198* **Branch**: Arbeitet an einem neuen Branch, der vom Standard-Branch des Repositories gestartet wird.

199* **Pull Request**: Öffnet einen, wenn Sie fragen, und kann einen für eine Fehlerbehebung oder eine andere konkrete Änderung selbst öffnen.

200* **Nachdem er öffnet**: Überwacht den Pull Request mit [Auto-Fix](/docs/de/claude-code-on-the-web#auto-fix-pull-requests) aktiviert, unabhängig davon, ob Auto-Fix für Ihre anderen Cloud-Sitzungen aktiviert ist. Es pusht Fixes, wenn CI fehlschlägt, adressiert Review-Kommentare und antwortet im Thread, wenn Checks bestanden werden und der Pull Request zur Überprüfung bereit ist.

201 

202Wenn ein Thread einen Branch gepusht oder einen Pull Request geöffnet hat, kann seine Karte im Gespräch eine Schaltfläche für den nächsten Schritt anzeigen:

203 

204* **Konflikte auflösen**, **CI reparieren**, **Kommentare adressieren** und **Merge it** senden diese Anweisung als Nachricht von Ihnen an den Thread, daher können Sie den Thread selbst auffordern, anstatt zu warten, dass er auf den Pull Request reagiert.

205* **PR überprüfen** öffnet den Pull Request auf GitHub.

206* **PR erstellen** wird angezeigt, wenn ein untätiger Thread einen Branch gepusht hat, aber keinen Pull Request geöffnet hat. Wenn Sie darauf klicken, wird der Pull Request direkt aus diesem Branch erstellt, anstatt den Thread anzuweisen, einen zu öffnen.

207 

208Um zu ändern, wann Threads Pull Requests öffnen, z. B. nur wenn Sie fragen, oder von welchem Branch sie starten, sagen Sie dies in der Aufgabe oder in [Projektanweisungen](#write-project-instructions).

209 

210<h3 id="see-what-needs-you-in-overview">

211 Sehen Sie, was Sie in der Übersicht benötigen

212</h3>

213 

214Der **Übersichts**-Bereich neben dem Gespräch verfolgt die Threads des Projekts. Er ist bereits offen, wenn Sie zum ersten Mal ein neues Projekt öffnen. Die Schaltfläche **Übersicht** in der Projektkopfzeile schließt und öffnet ihn erneut und zeigt einen Punkt, wenn ein Thread auf Sie wartet.

215 

216In der Desktop-App erhalten Sie auch eine Desktop-Benachrichtigung, wenn Claude im Gespräch veröffentlicht, ein Thread auf einen Fehler trifft oder ein Thread Ihre Eingabe benötigt, daher müssen Sie das Projekt nicht offen halten, um es herauszufinden. Um auch eine zu erhalten, jedes Mal wenn ein Thread einen Zug beendet, oder um sie für ein Projekt auszuschalten, wählen Sie **Benachrichtigungen** im Menü der Seitenleiste des Projekts. Diese Benachrichtigungen sind nur für den Desktop: Überprüfen Sie in einem Browser den Punkt auf der Schaltfläche **Übersicht**.

217 

218Die Registerkarte **Threads** des Bereichs gruppiert Threads nach Zustand:

219 

220| Gruppe | Was ist darin |

221| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

222| **Zur Überprüfung bereit** | Threads, deren Pull Request offen und zur Überprüfung bereit ist |

223| **Warten auf Sie** | Threads, die Ihre Antwort oder Genehmigung benötigen, oder die fehlgeschlagen sind |

224| **Arbeiten** | Threads, die noch laufen |

225| **Landen** | Threads, deren Pull Request genehmigt oder zum Merge in die Warteschlange eingereiht ist |

226| **Untätig** | Threads, die fertig sind und nicht auf etwas warten |

227| **Gelöst** | Threads als erledigt markiert: von Ihnen aus dem Menü des Threads, von Claude, sobald Sie den letzten Schritt unternommen haben, wie z. B. seinen Pull Request zu mergen, oder automatisch nach einer Woche ohne Aktivität. Sie können einen aus dem gleichen Menü erneut öffnen |

228 

229Die anderen Registerkarten des Bereichs sind **Bibliothek** für die Dateien und Ordner, die Sie hinzugefügt haben, und die Dateien, die Threads erzeugt haben, **Pull Requests**, sobald Threads welche geöffnet haben, und **Routinen** für die [Routinen](/docs/de/routines), die Claude aus diesem Projekt eingerichtet hat.

230 

231<h3 id="open-a-thread-when-you-need-control">

232 Öffnen Sie einen Thread, wenn Sie Kontrolle benötigen

233</h3>

234 

235Klicken Sie auf die Karte eines Threads im Gespräch oder seine Zeile in **Übersicht**, um sein Transkript im Übersichts-Bereich zu öffnen. Von dort aus können Sie:

236 

237* Lesen Sie, was Claude tat, Schritt für Schritt.

238* Lenken Sie die Aufgabe, indem Sie im eigenen Nachrichtenfeld des Threads schreiben. Eine Nachricht dort geht direkt zu diesem Thread, während eine Nachverfolgung im Projektgespräch ihn nur erreicht, wenn Claude die Nachverfolgung diesem Thread zuordnet.

239* Beantworten Sie eine Berechtigungsaufforderung, auf die der Thread wartet.

240* Unterbrechen Sie den Thread mit **Stopp**, das die Sendeschaltfläche ersetzt, während der Thread arbeitet, oder durch Drücken von Esc.

241 

242<h3 id="choose-models-and-let-claude-manage-context">

243 Wählen Sie Modelle und lassen Sie Claude den Kontext verwalten

244</h3>

245 

246Legen Sie Modelle und Aufwand in **Projekteinstellungen > Allgemein** fest. Ein neues Projekt führt Opus überall aus, mit hohem [Aufwand](/docs/de/model-config#adjust-effort-level) für Threads und niedrigem Aufwand für das Gespräch:

247 

248* **Thread-Modell** und **Thread-Aufwand** gelten für Threads. Um ein anderes Modell für eine Aufgabe zu verwenden, fragen Sie danach in der Aufgabe; für einen bereits laufenden Thread verwenden Sie den Modell-Picker dieses Threads.

249* **Koordinator-Modell** und **Koordinator-Aufwand** gelten für Claude im Projektgespräch.

250 

251Sie verwalten Kontextfenster nicht in einem Projekt. Threads komprimieren automatisch, und das Gespräch funktioniert aus letzten Nachrichten, letzten Threads und Projektgedächtnis statt seiner vollständigen Geschichte, daher läuft es so lange, wie das Projekt läuft. Legen Sie alles, das niemals gelöscht werden darf, in [Projektgedächtnis](#give-a-project-standing-context). Wenn ein Thread seinen Kontext übersteigt, zeigt es [Claude ist auf diesem Zug aus dem Kontext gelaufen](#context-limit).

252 

253<h3 id="tune-how-claude-runs-a-project">

254 Passen Sie an, wie Claude ein Projekt ausführt

255</h3>

256 

257Sagen Sie Claude im Gespräch, wie viele Threads gleichzeitig ausgeführt werden sollen, wann Updates veröffentlicht werden sollen und wann Pull Requests geöffnet werden sollen. Wenn Claude auf eine Weise koordiniert, die Sie nicht möchten, sagen Sie es. Zum Beispiel können Sie sagen:

258 

259* „Schlagen Sie Threads vor und warten Sie auf meine Genehmigung, bevor Sie sie starten" oder „Starten Sie diese jetzt, ohne mich zur Bestätigung aufzufordern"

260* „Führen Sie höchstens zwei Threads gleichzeitig aus" oder „Verwenden Sie einen vorhandenen Thread für Nachverfolgungen im gleichen Bereich erneut"

261* „Veröffentlichen Sie kürzere Updates" oder „Veröffentlichen Sie nur, wenn etwas fertig ist oder blockiert"

262* „Geben Sie mir ein Status-Update für jeden Thread"

263* „Führen Sie diese Aufgabe mit einem kleineren Modell aus"

264* „Öffnen Sie keinen Pull Request, bis ich den Plan gesehen habe"

265* „Sagen Sie mir, was in diesen Repositories falsch ist, und reparieren Sie nichts", wenn Sie die Erkenntnisse durchgehen möchten, bevor einer von ihnen ein Thread wird

266* „Beantworten Sie das hier stattdessen, anstatt einen Thread zu starten", wenn Claude einen Thread für etwas startet, das Sie als schnelle Frage gemeint haben

267 

268Claude speichert Voreinstellungen wie diese auf [Projektgedächtnis](#give-a-project-standing-context) selbst und folgt ihnen in späteren Threads. Sie sind Anweisungen, die Claude befolgt, nicht erzwungene Einstellungen, daher ist ein Thread-Limit, das Sie auf diese Weise geben, keine harte Obergrenze. Fügen Sie eines zu Projektanweisungen hinzu, wenn Sie es genau formuliert und auf jeden Thread von Anfang an angewendet haben möchten.

269 

270<h3 id="unblock-a-thread-waiting-on-approval">

271 Entsperren Sie einen Thread, der auf Genehmigung wartet

272</h3>

273 

274Threads laufen im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode), wenn das Modell des Threads ihn unterstützt, daher laufen die meisten Tool-Aufrufe ohne Sie zu fragen. Wenn ein Thread Ihre Genehmigung benötigt, ist die Aufforderung in diesem Thread und der Thread wartet, bis Sie dort antworten. Claude im Projektgespräch zu sagen, dass er fortfahren soll, erreicht ihn nicht.

275 

276Jede Genehmigung deckt diese Aufforderung oder den Rest dieses Threads ab, wenn Sie die breitere Option wählen. Um jeden Thread bestimmte Befehle ohne Fragen ausführen zu lassen, oder um einige zu blockieren, fügen Sie [Berechtigungsregeln](/docs/de/permissions) zur `.claude/settings.json` des Repositories hinzu. Threads wenden sie nur in einem Projekt mit einem Repository an; siehe [Was Threads aus Ihren Repositories aufgreifen](#what-threads-pick-up-from-your-repositories).

277 

278<h2 id="give-a-project-standing-context">

279 Geben Sie einem Projekt stehenden Kontext

280</h2>

281 

282Projektgedächtnis, Projektanweisungen und die Repositories, Dateien und Umgebung des Projekts tragen Kontext über Threads hinweg. Sie legen jedes einmal fest und es gilt für jeden neuen Thread.

283 

284| Kontext | Was es trägt | Wie Sie es festlegen |

285| :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

286| Projektgedächtnis | Notizen, die Claude über das Projekt behält, wie z. B. Anforderungen, Entscheidungen und Fallstricke, gespeichert als Dateien. Jeder Thread liest die Indexdatei `MEMORY.md`, wenn er startet, und öffnet die anderen Dateien, wenn er sie benötigt | Bitten Sie Claude im Projektgespräch oder einem Thread, eine Anforderung, eine Entscheidung oder einen Fallstrick zu merken, oder einen zu vergessen. Lesen, bearbeiten und löschen Sie die Dateien in **Projekteinstellungen > Speicher** |

287| Projektanweisungen | Text, der an jeden neuen Thread und an Claude im Projektgespräch gesendet wird, bis zu 16.000 Zeichen. [Schreiben Sie Projektanweisungen](#write-project-instructions) behandelt, was darin zu setzen ist | **Projekteinstellungen > Speicher > Projektanweisungen**, oder bitten Sie Claude, die Anweisungen zu ändern |

288| Repositories, Dateien und Umgebung | Die Repositories, die jeder Thread klont, die Ordner und Dateien, die jeder Thread unter `/mnt/project-files` lesen kann, und die Cloud-Umgebung, in der Threads laufen | Repositories und Umgebung in **Projekteinstellungen > Umgebung**, oder bitten Sie Claude im Gespräch, ein Repository zum Projekt hinzuzufügen. Dateien und Ordner von **Hinzufügen** auf der Registerkarte **Bibliothek** in **Übersicht** |

289 

290**Projekteinstellungen > Speicher** listet diese Dateien unter **Auto-Speicher** auf, weil Claude sie selbst schreibt, während er im Projekt arbeitet. Sie sind getrennt vom [Auto-Speicher](/docs/de/memory), den Claude Code auf Ihrem Computer behält, obwohl beide eine `MEMORY.md`-Indexdatei verwenden. Projektgedächtnis ist auch getrennt von den `CLAUDE.md`-Dateien in den Repositories des Projekts. Jeder Thread liest diese `CLAUDE.md`-Dateien immer noch aus seinem Klon, wenn er startet, daher setzen Sie Anweisungen über ein Repository in seine `CLAUDE.md` und Notizen über das Projekt in Projektgedächtnis.

291 

292<h3 id="write-project-instructions">

293 Schreiben Sie Projektanweisungen

294</h3>

295 

296Projektanweisungen sind das Briefing, mit dem jeder neue Thread startet. Klicken Sie auf das Zahnradsymbol in der Projektkopfzeile, um **Projekteinstellungen** zu öffnen, gehen Sie dann zu **Speicher > Projektanweisungen**. Ein nützliches Briefing behandelt:

297 

298* Wofür das Projekt ist

299* Wo die Arbeit stattfindet: welche Repositories, welcher Branch zum Starten, wie Pull Requests benannt werden

300* Wie ein Thread seine eigene Arbeit überprüft, bevor er sie als erledigt bezeichnet

301* Was zu tun ist, wenn etwas, das es benötigt, fehlt

302* Was Ihre Genehmigung zuerst benötigt

303 

304Zum Beispiel:

305 

306```text theme={null}

307Dieses Projekt hält die p95-Latenz für die Payments-API unter 200 ms: Profiling, Query- und Caching-Fixes und die Abhängigkeits-Upgrades, die damit einhergehen, im Payments-API-Repository.

308 

309- Branch von main und öffnen Sie einen Draft-Pull-Request pro Thread.

310- Bevor Sie die Arbeit als erledigt bezeichnen, führen Sie `make test` und `make lint` aus und fügen Sie die Zusammenfassungszeilen in Ihre letzte Nachricht ein.

311- Wenn Sie etwas nicht erreichen können, das Sie benötigen, wie z. B. ein Repository, ein Geheimnis, eine API oder einen Connector, sagen Sie genau, was in Ihrer ersten Nachricht fehlt, und stoppen Sie. Ersetzen Sie nicht, mocken Sie nicht oder raten Sie nicht.

312- Mergen Sie nicht, Force-Push nicht oder ändern Sie die CI-Konfiguration nicht, ohne mich im Thread zu fragen.

313```

314 

315Regeln über ein Repository, wie z. B. seine Build-Befehle, gehören in die `CLAUDE.md` dieses Repositories, die jeder Thread liest, wenn das Repository Teil des Projekts ist. Sobald die Arbeit im Gange ist, wenn Sie einen Thread korrigieren, sagen Sie Claude auch, die Korrektur zu merken: Sie geht in [Projektgedächtnis](#give-a-project-standing-context) und später Threads starten damit.

316 

317<h3 id="decide-which-repositories-to-add">

318 Entscheiden Sie, welche Repositories hinzugefügt werden sollen

319</h3>

320 

321Die Repositories, die Sie zu einem Projekt hinzufügen, kommen mit allem darin, ihrem Code, `CLAUDE.md` und Skills, in jedem Thread. Repositories, die Sie nicht hinzufügen, sind immer noch erreichbar: Ein Thread kann einen zu sich selbst hinzufügen, wenn seine Aufgabe ihn benötigt. Die meisten Projekte verwenden beide:

322 

323* **Fügen Sie es zum Projekt hinzu**, im Dialog **Neues Projekt**, in **Projekteinstellungen > Umgebung**, oder indem Sie Claude im Gespräch bitten, es zum Projekt hinzuzufügen. Jeder Thread von da an klont es und startet mit seiner `CLAUDE.md` und seinen Skills geladen, unabhängig davon, ob die Aufgabe ihn berührt. Der Wechsel von einem Repository zu mehreren ändert auch, was Threads aus der `.claude/settings.json` jedes Repositories aufgreifen; siehe [Was Threads aus Ihren Repositories aufgreifen](#what-threads-pick-up-from-your-repositories).

324* **Lassen Sie es aus und lassen Sie Threads es hinzufügen, wenn nötig.** Ein Thread, dessen Aufgabe ein Repository benötigt, das das Projekt nicht hat, kann es zu sich selbst hinzufügen, und eine Notiz im Thread sagt, dass es nur zu diesem Thread hinzugefügt wurde. Der Klon geschieht teilweise durch die Aufgabe, daher waren die `CLAUDE.md` und Skills dieses Repositories nicht da, als der Thread startete. Der nächste Thread startet ohne ihn erneut. Ein Repository, das ein Thread hinzufügt, benötigt die gleichen [Voraussetzungen](#check-the-prerequisites) wie ein Projekt-Repository: die Claude GitHub App darauf installiert und Push-Zugriff von Ihrem GitHub-Konto.

325 

326Ein Projekt benötigt überhaupt kein Repository. Seine Threads können immer noch recherchieren, Dokumente schreiben und Code in ihrer eigenen Sandbox schreiben und ausführen, und sie liefern Dateien auf die Registerkarte **Bibliothek**. Ein Thread dort kann auch ein Repository zu sich selbst hinzufügen, wenn eine Aufgabe einen erfordert.

327 

328Sobald das Projekt Repositories hat, kann Claude nur Repositories von einem GitHub-Besitzer hinzufügen, den das Projekt bereits verwendet, ob es einen zum Projekt hinzufügt oder ein Thread einen zu sich selbst hinzufügt. Um ein Repository von einem anderen Besitzer zu bringen, fügen Sie es selbst in **Projekteinstellungen > Umgebung** hinzu.

329 

330Für ein Projekt, das viele Repositories umfasst, wie z. B. ein Feature mit Server-, Web-, Mobile- und Desktop-Code, fügen Sie das eine oder zwei Repositories hinzu, die fast jede Aufgabe berührt, und benennen Sie die anderen in [Projektanweisungen](#write-project-instructions), damit Claude weiß, wo der Rest des Codes lebt. Threads starten dann klein und ziehen die anderen Repositories nur für die Aufgaben ein, die sie benötigen.

331 

332<h3 id="what-threads-pick-up-from-your-repositories">

333 Was Threads aus Ihren Repositories aufgreifen

334</h3>

335 

336Jeder Thread klont jedes Repository im Projekt und lädt `CLAUDE.md`, Skills und Plugins aus allen. Berechtigungsregeln, Hooks und `env` kommen nur aus der `.claude/settings.json` im Verzeichnis, in dem der Thread startet: innerhalb des Repositories, wenn das Projekt eines hat, und über den Klonen, wenn es mehrere hat, wo keine Datei eines Repositories für sie gelesen wird.

337 

338| In jedem Repository | Ein Repository | Mehrere Repositories |

339| :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |

340| `CLAUDE.md` | Geladen, wenn der Thread startet | Geladen aus jedem Repository, wenn der Thread startet |

341| Skills, Agenten und Befehle unter `.claude/` | Geladen | Geladen aus jedem Repository |

342| Plugins, die in `.claude/settings.json` aktiviert sind | Geladen | Geladen aus jedem Repository. Wenn zwei Repositories sich über ein Plugin uneinig sind, legen Sie es in **Projekteinstellungen > Plugins** fest, was Vorrang hat |

343| Berechtigungsregeln, Hooks und `env`, die in `.claude/settings.json` definiert sind | Gelten für den Thread, außer den `env`-Schlüsseln, die [keine Cloud-Sitzung ehrt](/docs/de/cloud-environments#what-carries-over-from-your-setup) | Gelten nicht |

344 

345In einem Projekt mit mehreren Repositories ist jeder Klon an den Thread als [zusätzliches Verzeichnis](/docs/de/memory#load-from-additional-directories) mit aktiviertem `CLAUDE.md`-Laden angehängt, weshalb die `CLAUDE.md` und Skills jedes Repositories beim Start geladen werden, obwohl der Thread über ihnen startet. In jedem Fall laufen Hooks, die ein aktiviertes Plugin bereitstellt, immer noch, da Plugins aus jedem Repository geladen werden. In einem Projekt mit mehreren Repositories setzen Sie stehende Regeln in Projektanweisungen und geben Sie Threads Umgebungsvariablen durch die [Cloud-Umgebung](#choose-an-environment-for-threads).

346 

347<h3 id="choose-an-environment-for-threads">

348 Wählen Sie eine Umgebung für Threads

349</h3>

350 

351Jeder neue Thread startet in der [Cloud-Umgebung](/docs/de/cloud-environments) des Projekts. Die Umgebung legt fest, welche Domains Threads erreichen können, welche Umgebungsvariablen sie haben, welche API-Anmeldedaten zu ihren Anfragen hinzugefügt werden, und was das Setup-Skript vor Claude startet installiert. Threads verwenden eine Standard-Anthropic-gehostete Umgebung, bis Sie eine in **Projekteinstellungen > Umgebung** auswählen.

352 

353Wenn Threads eine interne API oder eine private Paket-Registry erreichen müssen, oder ein Token benötigen, das Ihr Computer normalerweise hält, ändern Sie die Umgebung statt des Projekts: siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access), [API-Anmeldedaten hinzufügen](/docs/de/cloud-environments#add-api-credentials) und [Setup-Skripte](/docs/de/cloud-environments#setup-scripts).

354 

355<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

356 Holen Sie sich Skills, Plugins, Connectors und Tools in Threads

357</h3>

358 

359Threads sind Cloud-Sitzungen, daher haben sie nicht die Skills, MCP-Server, Plugins und Tools, die nur auf Ihrem Computer installiert sind. Um jedes dieser Elemente für Threads verfügbar zu machen:

360 

361* Skills, Subagenten und Befehle: Committen Sie sie zu einem Repository, das Sie zum Projekt hinzugefügt haben, zum Beispiel ein Skill unter `.claude/skills/<skill-name>/SKILL.md`. Jeder Thread klont jedes Repository im Projekt und lädt `.claude/skills/`, `.claude/agents/` und `.claude/commands/` aus jedem, daher ist ein Skill, der zu einem Repository committed ist, in jedem neuen Thread verfügbar. Threads laden auch die Skills, die Sie für Ihr claude.ai-Konto aktivieren.

362* Plugins: Fügen Sie sie in **Projekteinstellungen > Plugins** hinzu; sie laden in jeden neuen Thread. Plugins, die ein Repository in seiner `.claude/settings.json` deklariert, laden auch; siehe [Was überträgt sich von Ihrer Einrichtung](/docs/de/cloud-environments#what-carries-over-from-your-setup).

363* MCP-Server: Threads erhalten ihre MCP-Tools von den Connectors auf Ihrem claude.ai-Konto, die MCP-Server sind, die Sie einmal unter [claude.ai/customize/connectors](https://claude.ai/customize/connectors) oder über den Link **Connectors verwalten** in **Projekteinstellungen > Umgebung** verbinden. Jeder Thread kann alle ohne Pro-Projekt-Setup verwenden. Das Projektgespräch selbst hat keine Connectors, daher senden Sie Arbeit, die einen benötigt, als Aufgabe für einen Thread. In einem Projekt mit einem Repository laden Threads auch MCP-Server aus der [`.mcp.json`](/docs/de/cloud-environments#what-carries-over-from-your-setup) dieses Repositories. [Wie Connectors Claude Code erreichen](/docs/de/mcp#how-connectors-reach-claude-code) listet die Regeln für Cloud-Sitzungen und die Einstellungen auf, die Connectors ausschalten.

364* Befehlszeilen-Tools und Pakete: Installieren Sie sie im [Setup-Skript](/docs/de/cloud-environments#setup-scripts) der Umgebung.

365 

366Um zu sehen, welche Connectors ein laufender Thread unter claude.ai/code hat, öffnen Sie den Thread und wählen Sie **Connectors** aus dem Menü **+** neben seinem Nachrichtenfeld. Das Ausschalten eines Connectors dort entfernt ihn aus diesem Thread und bleibt aus für später gestartete Threads, bis Sie ihn erneut einschalten. Ein Thread nimmt einen Connector auf, den Sie hinzufügen oder erneut verbinden, nachdem die nächste Nachricht, die Sie ihm senden.

367 

368<h2 id="project-settings-reference">

369 Referenz für Projekteinstellungen

370</h2>

371 

372Sie ändern Projekteinstellungen unter claude.ai/code oder in der Desktop-App, nicht in `settings.json`. Öffnen Sie **Projekteinstellungen** über **Einstellungen** im Seitenmenü des Projekts oder über das Zahnradsymbol in der Projektkopfzeile.

373 

374Einstellungen werden gespeichert, während Sie sie ändern; ein Textfeld, das Sie bearbeiten, z. B. das Ziel oder die Anweisungen, zeigt **Änderungen speichern** und **Verwerfen** an, bis Sie es verlassen. Änderungen an Anweisungen, Repositories, Plugins und Umgebung in **Projekteinstellungen** erreichen neue Threads, nicht bereits laufende Threads.

375 

376| Einstellung | Abschnitt | Was es steuert |

377| :------------------------------ | :-------- | :---------------------------------------------------------------------------------------------------------------------------------- |

378| Name, Symbol und Ziel | Allgemein | Der Name und das Symbol des Projekts in der Seitenleiste sowie sein einzeiliges Ziel |

379| Koordinator-Modell und Aufwand | Allgemein | Das Modell und die [Aufwandsebene](/docs/de/model-config#adjust-effort-level) für Claude in der Projektkonversation |

380| Thread-Modell und Aufwand | Allgemein | Das Modell und die Aufwandsebene für Threads |

381| Projektanweisungen | Memory | [Stehende Regeln](#give-a-project-standing-context), die jeder neue Thread erhält |

382| Projekt-Repositories | Umgebung | Die Repositories, die neue Threads klonen |

383| Cloud-Umgebung | Umgebung | Die [Cloud-Umgebung](#choose-an-environment-for-threads), in der neue Threads ausgeführt werden |

384| Connectors | Umgebung | Ein Link zum Verwalten der claude.ai-Connectors, die Threads erhalten |

385| Plugins | Plugins | Die Plugins, die in jeden neuen Thread geladen werden |

386| Nutzung | Nutzung | [Token-Nutzung](#usage-and-cost) nach Thread und nach Modell |

387| Memory | Memory | Die [Memory-Dateien](#give-a-project-standing-context) des Projekts |

388| Claude neu starten | Allgemein | Startet die Projektkonversation neu, wenn [Claude dort nicht mehr antwortet](#claude-hasnt-responded) |

389| Pausieren, Archivieren, Löschen | Allgemein | Stoppt, verbirgt oder entfernt das Projekt; siehe [Projekt pausieren, archivieren oder löschen](#pause-archive-or-delete-a-project) |

390 

391<h3 id="pause-archive-or-delete-a-project">

392 Projekt pausieren, archivieren oder löschen

393</h3>

394 

395Alle drei Steuerelemente befinden sich am unteren Ende von **Projekteinstellungen > Allgemein**:

396 

397* **Pausieren**: stoppt alles auf einmal. Jeder laufende Thread und die Konversation werden unterbrochen, keine neuen Threads starten, Routinen werden nicht ausgeführt, und das Projekt akzeptiert keine Nachrichten, bis Sie es fortsetzen. Klicken Sie auf **Fortsetzen** an derselben Stelle oder auf dem Banner über dem Nachrichtenfeld des Projekts; ein pausierter Thread wird fortgesetzt, wenn Sie ihm danach eine Nachricht senden.

398* **Archivieren**: verbirgt das Projekt aus der Seitenleiste und archiviert seine Threads, was jeden Thread stoppt, der lief oder einen Pull Request überwachte. Routinen im Projekt werden nicht ausgeführt, während es archiviert ist. Um das Projekt zurückzubringen, öffnen Sie es von der Seite „Projekte" und klicken Sie auf **Archivierung aufheben**. Seine Threads bleiben archiviert, bis Sie sie einzeln aus der Sitzungsliste archivieren aufheben.

399* **Löschen**: entfernt das Projekt dauerhaft zusammen mit seinen Threads, seinem Memory und seinen Dateien und deaktiviert die Routinen des Projekts. Dies kann nicht rückgängig gemacht werden. Branches und Pull Requests, die die Threads zu GitHub gepusht haben, sind nicht betroffen.

400 

401<h2 id="usage-and-cost">

402 Nutzung und Kosten

403</h2>

404 

405Die Projektnutzung zählt gegen die gleichen [Planlimits](/docs/de/errors#youve-hit-your-session-limit) wie Ihre anderen Claude Code-Sitzungen, und ein Projekt kann diese Limits nicht selbst überschreiten.

406 

407Ein Thread, der das Limit Ihres Plans erreicht, wartet und wird fortgesetzt, wenn das Limit zurückgesetzt wird, daher beginnt die Arbeit, die Sie laufen gelassen haben, Ihr nächstes Nutzungsfenster ohne eine Nachricht von Ihnen zu verwenden. [Ein Thread hat das Nutzungslimit erreicht](#usage-limit-reached) behandelt, was Sie sehen, wie Sie es stoppen, und den einen Fall, der nicht wartet.

408 

409Arbeit geht über Ihre Planlimits hinaus, nur wenn Sie [Nutzungsguthaben](/docs/de/costs#add-usage-credits-to-your-subscription) für Ihr Konto aktiviert haben. Ein Thread kann sie nicht für Sie aktivieren.

410 

411<h3 id="what-draws-on-your-plan">

412 Was nutzt Ihren Plan

413</h3>

414 

415Ein Projekt nutzt Ihre Limits schneller als eine einzelne Sitzung, und auf einem Pro-Plan sollten Sie besonders erwarten, Ihr Limit früher an Tagen zu erreichen, an denen Sie einen ausführen. Dies sind die Teile eines Projekts, die Ihren Plan nutzen:

416 

417* **Laufende Threads**: Jeder ist eine vollständige Sitzung, und mehrere können gleichzeitig laufen. Es gibt keine feste Anzahl; Claude startet so viele, wie die Arbeit erfordert, und ein Limit, das Sie [anfordern](#tune-how-claude-runs-a-project), ist eher eine Vorliebe als eine Obergrenze. Das erzwungene Limit sind 200 neue Threads pro Tag über Ihre Projekte.

418* **Das Gespräch**: Claude nutzt Token, um zu lesen, was Threads berichten, und zu entscheiden, was als nächstes zu tun ist.

419* **Threads, die einen Pull Request überwachen**: Ein untätiger Thread wacht auf und nutzt Ihren Plan erneut, wenn CI fehlschlägt oder ein Review-Kommentar auf seinem Pull Request ankommt. Um das zu stoppen, bitten Sie im Thread, den Pull Request nicht mehr zu überwachen.

420 

421Ein Projekt ohne laufende Threads, keine überwachten Pull Requests und keine neuen Nachrichten nutzt Ihren Plan nicht, während es untätig sitzt, und auch kein archiviertes Projekt.

422 

423<h3 id="see-and-reduce-a-project’s-usage">

424 Sehen und reduzieren Sie die Nutzung eines Projekts

425</h3>

426 

427Öffnen Sie **Nutzung** in **Projekteinstellungen**, um die Token-Nutzung nach Thread und nach Modell zu sehen und wie viel zum Projektgespräch ging. Um es zu reduzieren:

428 

429* Eine Nachverfolgung, die zu einem Thread geleitet wird, der länger als die [Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) untätig war, eine Stunde auf Pro und Max innerhalb Ihrer Planlimits, liest die gesamte Konversation dieses Threads erneut, bevor etwas getan wird. Für neue Arbeit kann das Bitten von Claude, einen frischen Thread zu starten, weniger nutzen als einen großen alten zu beleben.

430* Für Arbeit, die nicht das größte Modell benötigt, [wählen Sie ein kleineres Modell oder eine niedrigere Aufwand-Stufe](#choose-models-and-let-claude-manage-context) für Threads, das Gespräch oder beide.

431* Bitten Sie Claude im Projektgespräch, weniger Threads gleichzeitig auszuführen, oder kleine Fragen selbst zu beantworten, anstatt einen Thread zu starten.

432 

433<h2 id="how-projects-relate-to-other-claude-code-features">

434 Wie Projekte sich auf andere Claude Code-Funktionen beziehen

435</h2>

436 

437Mehrere Claude Code-Funktionen ermöglichen es, dass mehr als eine Sitzung gleichzeitig arbeitet, daher ist das parallele Ausführen von Arbeit nicht an sich, wofür ein Projekt ist. In einem Projekt startet und verfolgt Claude die Sitzungen statt Ihnen, jede startet aus den gleichen Repositories, Anweisungen und Speicher, und die Arbeit lebt in der Cloud, solange sie dauert. So verbindet sich jede benachbarte Funktion mit einem Projekt:

438 

439* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) ist Claude in den Slack-Kanälen Ihres Teams, auf Team- und Enterprise-Plänen. Jeder in einem Kanal kann ihm Arbeit geben, jeder im Kanal sieht und lenkt es, und es nutzt Verbindungen, die ein Admin für diesen Kanal eingerichtet hat. Ein Projekt ist nur Ihres: Sie sind der Einzige, der ihm Arbeit gibt oder seine Threads sieht, es nutzt Ihren eigenen GitHub-Zugriff und Connectors, und es ist auf Pro und Max. [Wie sich Claude Tag von Cowork und Claude Code unterscheidet](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) hat die Seite-an-Seite.

440* **Cloud-Sitzungen**: Jeder Thread ist eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web), gestartet und verfolgt von Claude statt von Ihnen. Eine Cloud-Sitzung, die Sie selbst gestartet haben, kann ein Projekt werden oder einen durch [**Als Projekt fortfahren** oder **In Projekt verschieben**](#start-from-an-existing-cloud-session) füttern.

441* **Routinen**: Wenn Sie geplante Arbeit in einem Projekt anfordern, erstellt Claude eine [Routine](/docs/de/routines), die als Threads in diesem Projekt läuft und auf seiner Registerkarte **Routinen** angezeigt wird. Routinen, die Sie außerhalb eines Projekts erstellen, laufen weiter auf ihre eigene Weise.

442* **Lokale Sitzungen und Agent-Ansicht**: Sitzungen in Ihrem Terminal, IDE oder der lokalen Umgebung der Desktop-App laufen auf Ihrem Computer und können nicht Teil eines Projekts sein. [Agent-Ansicht](/docs/de/agent-view) ist ein Bildschirm zum Verfolgen mehrerer dieser lokalen Sitzungen; es hat keinen Koordinator.

443* **Worktrees**: Ein [Worktree](/docs/de/worktrees) gibt jeder lokalen Sitzung ihre eigene Arbeitskopie eines Repositories, daher überschreiben sich parallele Sitzungen auf Ihrem Computer nicht gegenseitig. Threads benötigen sie nicht: Jeder Thread klont seine Repositories in seine eigene Cloud-Sandbox und arbeitet auf seinem eigenen Branch.

444* **Agent-Teams**: Ein [Agent-Team](/docs/de/agent-teams) ist eine Sitzung, die Teammate-Sitzungen für eine einzelne Aufgabe startet, auf Ihrem Computer oder in einer Cloud-Sitzung, und endet mit dieser Aufgabe.

445* **Projekte in claude.ai-Chat und Cowork**: Die [frühere Projekte-Erfahrung](https://support.claude.com/en/articles/9517075-what-are-projects), die Gespräche und Referenzdateien ohne Threads oder einen Koordinator gruppiert. Diese Projekte funktionieren weiterhin wie heute, bis die neu gestaltete Erfahrung sie erreicht.

446 

447[Agenten parallel ausführen](/docs/de/agents) vergleicht diese Optionen Seite an Seite.

448 

449<h2 id="limitations">

450 Einschränkungen

451</h2>

452 

453* Projekte sind unter claude.ai/code, in der Desktop-App und in der Claude Mobile-App verfügbar, nicht im Terminal CLI oder über Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry. Der Befehl [`claude project`](/docs/de/cli-reference) der CLI, der den lokalen Claude Code-Status für ein Verzeichnis verwaltet, ist nicht verwandt.

454* Projekt-Threads sind [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) mit Anthropic als Modell-Provider. [Sicherheit](/docs/de/security) und [Datennutzung](/docs/de/data-usage) erläutern, wie Cloud-Sitzungen isoliert sind und was beibehalten wird.

455* Eine lokale Sitzung kann nicht Teil eines Projekts sein.

456* Ein Thread-Sandbox wird zwischen Turns unterbrochen und wird fortgesetzt, wenn der Thread weitergeht. Wenn die Sandbox nicht fortgesetzt werden kann, wird der Thread von einem frischen Klon aus fortgesetzt, sodass nicht committete Änderungen verloren gehen können. Bei langen Aufgaben bitten Sie Claude, Work in Progress zu committen und zu pushen.

457* Ein Projekt gehört einem Benutzer. Sie können ein Projekt oder seine Threads nicht mit einem anderen Benutzer teilen, und Thread-Transkripte haben nicht die Share-Option, die andere Cloud-Sitzungen haben. Es gibt keine Kontrollen auf Organisationsebene für Projekte während der Beta.

458* Ein Thread gehört dem einen Projekt, das ihn gestartet hat. Sie können einen Thread nicht zu einem anderen Projekt verschieben oder kopieren, oder ihn als eigenständig verschieben. [**In Projekt verschieben**](#start-from-an-existing-cloud-session) funktioniert nur in die andere Richtung: Es bringt die Arbeit einer Cloud-Sitzung in ein Projekt.

459 

460<h2 id="troubleshooting">

461 Fehlerbehebung

462</h2>

463 

464Für die GitHub-Setup-Aufforderungen im Dialog **Neues Projekt** siehe [GitHub-Zugriff einrichten](#set-up-github-access).

465 

466<h3 id="a-thread-looks-stuck">

467 Ein Thread sieht fest aus

468</h3>

469 

470Claude veröffentlicht nicht jeden Schritt, den ein Thread unternimmt, daher arbeitet ein Thread, der als laufend mit keinen neuen Nachrichten im Projektgespräch angezeigt wird, normalerweise immer noch. Ein neuer Thread stellt auch seine [Cloud-Umgebung](/docs/de/cloud-environments) bereit, bevor Claude beginnt, daher dauert sein erstes Update einen Moment. Öffnen Sie den Thread, um sein Transkript zu lesen. Wenn der Thread auf einer Berechtigungsaufforderung wartet, beantworten Sie sie dort.

471 

472<h3 id="threads-guessed-or-stalled-instead-of-asking">

473 Threads haben geraten oder stecken fest, anstatt zu fragen

474</h3>

475 

476Wenn mehrere Threads zurückkommen und etwas Falsches angenommen haben, fehlenden Zugriff umgangen haben oder mit „blockiert" gestoppt haben, ist die Ursache normalerweise die gleiche Lücke in der Einrichtung des Projekts statt eines Problems mit jeder Aufgabe. Sortieren Sie, welche Threads solide sind, bevor Sie etwas reparieren:

477 

4781. Bitten Sie Claude im Gespräch: „Für jeden offenen Thread, listen Sie auf, was Sie ihn zu tun aufgefordert haben, was er angenommen oder nicht erreichen konnte, und worauf es wartet." Claude liest jeden Thread und antwortet im Gespräch.

4792. Für Threads, die von einer falschen Annahme gestartet wurden, öffnen Sie den Thread von **Übersicht** und markieren Sie ihn als gelöst aus seinem Menü, oder sagen Sie ihm, was stattdessen zu tun ist, in seinem Nachrichtenfeld. Sein Branch und jeder Pull Request bleiben auf GitHub, bis Sie sie löschen.

4803. Reparieren Sie die Lücke einmal, in [Projektanweisungen](#give-a-project-standing-context) oder der [Umgebung](#choose-an-environment-for-threads), dann senden Sie einen Thread, bevor Sie den Rest der Arbeit erneut als neue Threads senden.

481 

482<h3 id="claude-hasnt-responded">

483 Claude hat nicht geantwortet

484</h3>

485 

486Das Projektgespräch zeigt ein Banner „Claude hat nicht geantwortet", wenn Claude läuft, aber seine Antworten das Projekt nicht erreichen. Klicken Sie auf **Claude neu starten** auf dem Banner, oder gehen Sie zu **Projekteinstellungen > Allgemein** und klicken Sie auf **Neu starten** in der Zeile **Claude neu starten**. Claude verbindet sich erneut mit dem Gespräch; jede Antwort, die es gerade schrieb, geht verloren, und Threads sind nicht betroffen.

487 

488<h3 id="repository-access-errors">

489 Repository-Zugriffsfehler

490</h3>

491 

492Drei Nachrichten bedeuten, dass ein Thread oder das Projekt eines seiner Repositories nicht erreichen kann. Ein Projekt-Thread benötigt die [GitHub-Voraussetzungen](#check-the-prerequisites) auch wenn Ihre anderen Cloud-Sitzungen das gleiche Repository ohne Probleme klonen.

493 

494* **„Konnte die Sitzung nicht starten — Claude hat keinen GitHub-Zugriff auf das Repository dieses Projekts"**, berichtet, bevor der Thread startet, wenn die Claude GitHub App nicht auf diesem Repository installiert ist, ausgesetzt ist oder nicht mit dem GitHub-Konto verknüpft ist, das Sie verbunden haben.

495* **„Kann Ihr Repository nicht erreichen"**, berichtet von einem Thread, wenn sein Klon fehlschlägt: GitHub lehnte den Klon ab, das Repository wurde nicht unter dem Namen gefunden, den das Projekt hat, oder der Branch, von dem der Thread starten sollte, existiert nicht.

496* **„Claude kann nicht auf" ein Repository zugreifen**, angezeigt, wenn Sie Repositories im Dialog **Neues Projekt** oder **Projekteinstellungen** speichern. Die Nachricht wird mit einem Install-Link und einem Reconnect-Link fortgesetzt. Verwenden Sie den Install-Link, wenn die Claude GitHub App nicht auf diesem Repository ist, und den Reconnect-Link, wenn sie es ist, da die GitHub App auf GitHub installiert sein kann, ohne mit dem Konto verknüpft zu sein, das Sie mit Claude verbunden haben. Wenn die Nachricht sagt, dass die GitHub App ausgesetzt ist oder dieses Repository nicht enthält, folgen Sie ihrem Link zu GitHub, um das zu beheben.

497 

498Um eines von ihnen zu beheben, klicken Sie auf die Schaltfläche, die die Nachricht anbietet, wie z. B. **GitHub App installieren** oder **Repositories auf GitHub auswählen**, dann **Erneut überprüfen**. Wenn der Block auf der GitHub-Organisations-Seite ist, wie z. B. ein Besitzer, der die App nicht genehmigt hat, oder eine IP-Zulassungsliste, die Claude ausschließt, zeigt die Nachricht einen Link **Siehe wie zu beheben** statt. Wenn es keine Schaltfläche gibt, folgen Sie [GitHub-Zugriff einrichten](#set-up-github-access), dann senden Sie eine weitere Nachricht zum Wiederholen.

499 

500<h3 id="usage-limit-reached">

501 Ein Thread hat das Nutzungslimit erreicht

502</h3>

503 

504Wenn ein Thread oder das Projektgespräch Ihr Plan-Limit von fünf Stunden oder wöchentlich erreicht, versucht es weiterhin selbst und wird fortgesetzt, wenn das Limit zurückgesetzt wird. Während es wartet, zeigt der Thread **Service ist beschäftigt** mit „Claude versucht immer noch und wird automatisch fortgesetzt." Sie müssen nichts tun, damit die Arbeit fortgesetzt wird. Wenn Sie lieber möchten, dass es Ihr nächstes Nutzungsfenster nicht nutzt, klicken Sie auf **Stopp** im Thread, oder [pausieren Sie das Projekt](#pause-archive-or-delete-a-project), um jeden Thread zu halten. Ein Thread, den eine Routine gestartet hat, wartet nicht: Sein Zug stoppt mit einem Limit-Fehler, und Sie senden ihm nach dem Limit-Reset eine Nachricht.

505 

506[Nutzungslimit-Fehler](/docs/de/errors#youve-hit-your-session-limit) erklären die Limits und wann sie zurückgesetzt werden.

507 

508<h3 id="additional-usage-credits-are-required">

509 Zusätzliche Nutzungsguthaben sind erforderlich

510</h3>

511 

512Ein Thread oder das Projektgespräch machte eine Anfrage, die Ihr Plan nur mit Nutzungsguthaben abdeckt, wie z. B. eine zu einem Modell oder einer Kontextgröße, die Ihr Plan nicht enthält, und Nutzungsguthaben sind nicht für Ihr Konto aktiviert. [Fügen Sie Nutzungsguthaben zu Ihrem Abonnement hinzu](/docs/de/costs#add-usage-credits-to-your-subscription) behandelt, wer sie auf jedem Plan aktivieren oder kaufen kann. Sobald Guthaben verfügbar sind, senden Sie eine weitere Nachricht zum Wiederholen.

513 

514<h3 id="context-limit">

515 Andere Nachrichten

516</h3>

517 

518Diese Nachrichten benennen ihre eigene Ursache. Die Tabelle gibt den nächsten Schritt für jeden.

519 

520| Nachricht | Was zu tun ist |

521| :-------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

522| „Kann nicht mit Repository verbinden" mit „Claude konnte nicht zu GitHub gehen, um Ihr Repository zu holen" | Warten Sie einen Moment, dann senden Sie eine weitere Nachricht zum Wiederholen |

523| „Kann nicht mit Repository verbinden" mit „Claude konnte nicht auf Ihr Repository oder Ihre Umgebung zugreifen" | Ihr GitHub-Konto benötigt Push-Zugriff auf das Repository, und die Umgebung muss immer noch existieren. Überprüfen Sie beide in **Projekteinstellungen > Umgebung**, dann wiederholen Sie |

524| „Konnte die Setup-Vorschlag nicht anzeigen" | Die App, die Sie offen haben, ist älter als die **Setup-Empfehlungen**, die Claude gesendet hat. Aktualisieren Sie die Seite oder starten Sie die Desktop-App neu, oder bitten Sie Claude, den Setup erneut vorzuschlagen |

525| „Die Umgebung des Projekts wurde entfernt" | Wählen Sie eine andere Umgebung in **Projekteinstellungen > Umgebung**; die Änderung gilt für neue Threads |

526| „Setup-Skript fehlgeschlagen" | Klicken Sie auf **Setup-Skript bearbeiten** auf dem Fehler, reparieren Sie das Skript in der Umgebung, dann senden Sie eine weitere Nachricht. [Setup-Skript fehlgeschlagen](/docs/de/web-quickstart#setup-script-failed) listet häufige Ursachen auf |

527| „Claude ist auf diesem Zug aus dem Kontext gelaufen" | Der Thread hat sein Kontextfenster gefüllt. Wenn die Nachricht sagt, dass der Thread in einer frischen Sitzung fortgesetzt wird, wird er von selbst fortgesetzt; andernfalls bitten Sie Claude im Projektgespräch, einen neuen Thread für die verbleibende Arbeit zu starten |

528| „Erreichte das Zug-Limit" | Der Thread erreichte die Obergrenze für agentic Turns, die [`CLAUDE_CODE_MAX_TURNS`](/docs/de/env-vars) setzt. Senden Sie eine weitere Nachricht zum Fortfahren, oder erhöhen oder entfernen Sie diese Variable, wo sie gesetzt ist |

529 

530<h2 id="related-resources">

531 Verwandte Ressourcen

532</h2>

533 

534* [Verwenden Sie Claude Code in der Cloud](/docs/de/claude-code-on-the-web): Wie die Cloud-Sitzungen hinter jedem Thread funktionieren, einschließlich GitHub-Zugriffsoptionen und Auto-Fix auf Pull Requests

535* [Konfigurieren Sie Cloud-Umgebungen](/docs/de/cloud-environments): Ändern Sie, was Threads im Netzwerk erreichen können, geben Sie ihnen Umgebungsvariablen und API-Anmeldedaten, und installieren Sie Tools mit einem Setup-Skript

536* [Automatisieren Sie Arbeit mit Routinen](/docs/de/routines): Zeitpläne, Trigger und Management für Routinen, einschließlich der von Claude aus einem Projekt erstellten

537* [Verwalten Sie mehrere Agenten mit Agent-Ansicht](/docs/de/agent-view): Führen Sie mehrere Sitzungen auf Ihrem eigenen Computer aus und verfolgen Sie sie, wenn die Arbeit Tools oder Services benötigt, die nur Ihr Computer erreichen kann

538* [Projekte neu gestaltet: von Ordner zu Gespräch](https://claude.com/blog/projects-redesigned): Die Launch-Ankündigung mit dem Denken hinter der Umwandlung eines Projekts in ein Gespräch mit Claude

cli-reference.md +81 −81

Details

57 CLI-Flags57 CLI-Flags

58</h2>58</h2>

59 59 

60Passen Sie das Verhalten von Claude Code mit diesen Befehlszeilenflags an. `claude --help` listet nicht jedes Flag auf, daher bedeutet das Fehlen eines Flags in `--help` nicht, dass es nicht verfügbar ist.60Passen Sie das Verhalten von Claude Code mit diesen Befehlszeilenflaggen an. `claude --help` listet nicht alle Flaggen auf, daher bedeutet das Fehlen einer Flagge in `--help` nicht, dass sie nicht verfügbar ist.

61 61 

62| Flag | Beschreibung | Beispiel |62| Flag | Beschreibung | Beispiel |

63| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |63| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |

64| `--add-dir` | Zusätzliche Arbeitsverzeichnisse hinzufügen, auf die Claude Dateien lesen und bearbeiten kann. Gewährt Dateizugriff; Claude Code [erkennt die meisten `.claude/` Konfigurationen nicht](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) aus diesen Verzeichnissen. Validiert, dass jeder Pfad als Verzeichnis existiert. Sie können die meisten [Netzwerkpfade](/docs/de/errors#working-directory-is-a-network-path) nicht hinzufügen, wie z. B. `\\server\share`. Um diese Verzeichnisse über Sitzungen hinweg beizubehalten, setzen Sie [`permissions.additionalDirectories`](/docs/de/settings-reference#permissions-additionaldirectories) in den Einstellungen | `claude --add-dir ../apps ../lib` |64| `--add-dir` | Fügen Sie zusätzliche Arbeitsverzeichnisse hinzu, damit Claude Dateien lesen und bearbeiten kann. Gewährt Dateizugriff; Claude Code [erkennt](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) die meisten `.claude/`-Konfigurationen aus diesen Verzeichnissen nicht automatisch. Validiert, dass jeder Pfad als Verzeichnis existiert. Sie können die meisten [Netzwerkpfade](/docs/de/errors#working-directory-is-a-network-path) nicht hinzufügen, z. B. `\\server\share`. Um diese Verzeichnisse über Sitzungen hinweg beizubehalten, legen Sie [`permissions.additionalDirectories`](/docs/de/settings-reference#permissions-additionaldirectories) in den Einstellungen fest | `claude --add-dir ../apps ../lib` |

65| `--advisor <model>` | Aktivieren Sie das serverseitige [Advisor-Tool](/docs/de/advisor) für diese Sitzung mit einem Modell-Alias: `fable`, `opus` oder `sonnet`, oder eine vollständige Modell-ID. Hat Vorrang vor der `advisorModel`-Einstellung für die Sitzung. `fable` erfordert [Fable-Zugriff](/docs/de/advisor#choose-an-advisor-model) | `claude --advisor opus` |65| `--advisor <model>` | Aktivieren Sie das serverseitige [Advisor-Tool](/docs/de/advisor) für diese Sitzung mit einem Modellalias, `fable`, `opus` oder `sonnet`, oder einer vollständigen Modell-ID. Hat Vorrang vor der `advisorModel`-Einstellung für die Sitzung. `fable` erfordert [Fable-Zugriff](/docs/de/advisor#choose-an-advisor-model) | `claude --advisor opus` |

66| `--agent` | Geben Sie einen Agent für die aktuelle Sitzung an (überschreibt die `agent`-Einstellung) | `claude --agent my-custom-agent` |66| `--agent` | Geben Sie einen Agent für die aktuelle Sitzung an (überschreibt die `agent`-Einstellung) | `claude --agent my-custom-agent` |

67| `--agents` | Definieren Sie benutzerdefinierte Subagenten dynamisch über JSON. Akzeptiert die [für CLI-definierte Subagenten aufgelisteten Felder](/docs/de/sub-agents#choose-the-subagent-scope). Claude Code validiert das JSON beim Start und beendet sich bei einem ungültigen Wert; siehe [`Invalid --agents configuration`](/docs/de/errors#invalid-agents-configuration) für die Nachricht und für die Flags und Umgebungsvariable, die die Validierung überspringen. Die Validierung erfordert Claude Code v2.1.242 oder später | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |67| `--agents` | Definieren Sie benutzerdefinierte Subagenten dynamisch über JSON. Akzeptiert die [für CLI-definierte Subagenten aufgelisteten Felder](/docs/de/sub-agents#choose-the-subagent-scope). Claude Code validiert das JSON beim Start und beendet sich bei einem ungültigen Wert; siehe [`Invalid --agents configuration`](/docs/de/errors#invalid-agents-configuration) für die Nachricht und für die Flaggen und Umgebungsvariablen, die die Validierung überspringen. Die Validierung erfordert Claude Code v2.1.242 oder später | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

68| `--allow-dangerously-skip-permissions` | Fügen Sie `bypassPermissions` zum `Shift+Tab` Modus-Zyklus hinzu, ohne damit zu beginnen. Ermöglicht es Ihnen, in einem anderen Modus wie `plan` zu beginnen und später zu `bypassPermissions` zu wechseln. Siehe [Berechtigungsmodi](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |68| `--allow-dangerously-skip-permissions` | Fügen Sie `bypassPermissions` zum `Shift+Tab`-Moduszyklus hinzu, ohne darin zu starten. Ermöglicht es Ihnen, in einem anderen Modus wie `plan` zu beginnen und später zu `bypassPermissions` zu wechseln. Siehe [Berechtigungsmodi](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |

69| `--allowedTools`, `--allowed-tools` | Tools, die ohne Aufforderung zur Berechtigung ausgeführt werden. Siehe [Berechtigung Regelsyntax](/docs/de/settings-reference#permission-rule-syntax) für Musterabgleich. Um einzuschränken, welche Tools verfügbar sind, verwenden Sie stattdessen `--tools`. Wenn Sie eines der [Task-Tracking-Tools](/docs/de/tools-reference#task-tool-availability) hier benennen, aktiviert Claude Code die Sitzung auch dafür | `"Bash(git log *)" "Bash(git diff *)" "Read"` |69| `--allowedTools`, `--allowed-tools` | Tools, die ohne Berechtigungsaufforderung ausgeführt werden. Siehe [Berechtigungsregelsyntax](/docs/de/settings-reference#permission-rule-syntax) für Musterabgleich. Um einzuschränken, welche Tools verfügbar sind, verwenden Sie stattdessen `--tools`. Wenn Sie eines der [Task-Tracking-Tools](/docs/de/tools-reference#task-tool-availability) hier benennen, aktiviert Claude Code die Sitzung auch dafür | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

70| `--append-subagent-system-prompt` | Fügen Sie benutzerdefinierten Text am Ende des Systemprompts jedes [Subagenten](/docs/de/sub-agents) an, einschließlich verschachtelter Subagenten, mit Ausnahme eines [abgespaltenen Subagenten](/docs/de/sub-agents#fork-the-current-conversation), der den Prompt der Konversation selbst wiederverwendet. Gilt nur im nicht-interaktiven Modus mit `-p`. Erfordert Claude Code v2.1.205 oder später | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |70| `--append-subagent-system-prompt` | Fügen Sie benutzerdefinierten Text am Ende des System-Prompts jedes [Subagenten](/docs/de/sub-agents) an, einschließlich verschachtelter Subagenten, mit Ausnahme eines [abgespaltenen Subagenten](/docs/de/sub-agents#fork-the-current-conversation), der den eigenen Prompt der Konversation wiederverwendet. Gilt nur im nicht-interaktiven Modus mit `-p`. Erfordert Claude Code v2.1.205 oder später | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |

71| `--append-subagent-system-prompt-file` | Laden Sie Text aus einer Datei und fügen Sie ihn zu [Subagenten](/docs/de/sub-agents) Systemprompts an. Eine Alternative zu `--append-subagent-system-prompt` für Text, der zu lang ist, um ihn in der Befehlszeile zu übergeben. Die beiden Flags können nicht kombiniert werden. Gilt nur im nicht-interaktiven Modus mit `-p`. Erfordert Claude Code v2.1.261 oder später | `claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query"` |71| `--append-subagent-system-prompt-file` | Laden Sie Text aus einer Datei und fügen Sie ihn an [Subagenten](/docs/de/sub-agents)-System-Prompts an. Eine Alternative zu `--append-subagent-system-prompt` für Text, der zu lang ist, um ihn in der Befehlszeile zu übergeben. Die beiden Flaggen können nicht kombiniert werden. Gilt nur im nicht-interaktiven Modus mit `-p`. Erfordert Claude Code v2.1.261 oder später | `claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query"` |

72| `--append-system-prompt` | Fügen Sie benutzerdefinierten Text am Ende des Standard-Systemprompts an | `claude --append-system-prompt "Always use TypeScript"` |72| `--append-system-prompt` | Fügen Sie benutzerdefinierten Text am Ende des Standard-System-Prompts an | `claude --append-system-prompt "Always use TypeScript"` |

73| `--append-system-prompt-file` | Laden Sie zusätzlichen Systemprompt-Text aus einer Datei und fügen Sie ihn zum Standard-Prompt an | `claude --append-system-prompt-file ./extra-rules.txt` |73| `--append-system-prompt-file` | Laden Sie zusätzlichen System-Prompt-Text aus einer Datei und fügen Sie ihn an den Standard-Prompt an | `claude --append-system-prompt-file ./extra-rules.txt` |

74| `--autocompact <auto\|tokens>` | Legen Sie das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) für diese Sitzung fest, ohne Ihre gespeicherten Einstellungen zu ändern. Akzeptiert die gleichen Werte wie `/autocompact`; dieser Abschnitt behandelt die Wertformen und was das Flag überschreibt. Erfordert Claude Code v2.1.221 oder später | `claude --autocompact 500k` |74| `--autocompact <auto\|tokens>` | Legen Sie das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) für diese Sitzung fest, ohne Ihre gespeicherten Einstellungen zu ändern. Akzeptiert die gleichen Werte wie `/autocompact`; dieser Abschnitt behandelt die Wertformen und was die Flagge überschreibt. Erfordert Claude Code v2.1.221 oder später | `claude --autocompact 500k` |

75| `--ax-screen-reader` | Rendern Sie bildschirmleserfreundliche Ausgabe: flacher Text ohne dekorative Rahmen oder Animationen. Erzwingt den klassischen Renderer, sodass die [`tui`](/docs/de/settings-reference#tui) Einstellung keine Auswirkung hat; angehängte [Hintergrund-Sitzungen](/docs/de/agent-view) werden weiterhin im Vollbildmodus gerendert. Hat Vorrang vor [`CLAUDE_AX_SCREEN_READER`](/docs/de/env-vars) und der [`axScreenReader`](/docs/de/settings-reference#axscreenreader) Einstellung. Erfordert Claude Code v2.1.181 oder später | `claude --ax-screen-reader` |75| `--ax-screen-reader` | Rendern Sie bildschirmleserfreundliche Ausgabe: flacher Text ohne dekorative Rahmen oder Animationen. Erzwingt den klassischen Renderer, daher hat die [`tui`](/docs/de/settings-reference#tui)-Einstellung keine Auswirkung; angehängte [Hintergrund-Sitzungen](/docs/de/agent-view) werden immer noch im Vollbildmodus gerendert. Hat Vorrang vor [`CLAUDE_AX_SCREEN_READER`](/docs/de/env-vars) und der [`axScreenReader`](/docs/de/settings-reference#axscreenreader)-Einstellung. Erfordert Claude Code v2.1.181 oder später | `claude --ax-screen-reader` |

76| `--bare` | Minimaler Modus: Überspringen Sie die automatische Erkennung von Hooks, Skills, benutzerdefinierten Befehlen, Subagenten, Plugins, MCP-Servern, automatischem Speicher und CLAUDE.md, damit Skriptaufrufe schneller starten. Skills in einem Verzeichnis, das Sie mit `--add-dir` übergeben, werden weiterhin geladen. Claude hat Zugriff auf Bash-, Dateilesungs- und Dateibearbeitungstools. Setzt [`CLAUDE_CODE_SIMPLE`](/docs/de/env-vars). Siehe [Bare-Modus](/docs/de/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |76| `--bare` | Minimalmodus: Überspringen Sie die automatische Erkennung von Hooks, Skills, benutzerdefinierten Befehlen, Subagenten, Plugins, MCP-Servern, automatischem Speicher und CLAUDE.md, damit Skriptaufrufe schneller starten. Skills in einem Verzeichnis, das Sie mit `--add-dir` übergeben, werden immer noch geladen. Claude hat Zugriff auf Bash-, Dateilesungs- und Dateibearbeitungstools. Setzt [`CLAUDE_CODE_SIMPLE`](/docs/de/env-vars). Siehe [Bare-Modus](/docs/de/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |

77| `--betas` | Beta-Header, die in API-Anfragen einbezogen werden sollen (nur API-Schlüssel-Benutzer) | `claude --betas interleaved-thinking` |77| `--betas` | Beta-Header, die in API-Anfragen einbezogen werden sollen (nur API-Schlüsselbenutzer) | `claude --betas interleaved-thinking` |

78| `--bg`, `--background` | Starten Sie die Sitzung als [Hintergrund-Agent](/docs/de/agent-view) und kehren Sie sofort zurück. Gibt die Sitzungs-ID und Verwaltungsbefehle aus. Kombinieren Sie mit `--exec`, um einen Shell-Befehl als Hintergrund-Job anstelle einer Claude-Sitzung auszuführen, oder mit `--agent`, um einen bestimmten Subagenten auszuführen. Kann nicht mit `-p`/`--print` kombiniert werden; siehe die [Fehlerreferenz](/docs/de/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |78| `--bg`, `--background` | Starten Sie die Sitzung als [Hintergrund-Agent](/docs/de/agent-view) und kehren Sie sofort zurück. Gibt die Sitzungs-ID und Verwaltungsbefehle aus. Kombinieren Sie mit `--exec`, um einen Shell-Befehl als Hintergrund-Job statt einer Claude-Sitzung auszuführen, oder mit `--agent`, um einen bestimmten Subagenten auszuführen. Kann nicht mit `-p`/`--print` kombiniert werden; siehe die [Fehlerreferenz](/docs/de/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |

79| `--channels` | (Forschungsvorschau) MCP-Server, deren [Kanal](/docs/de/channels) Benachrichtigungen Claude in dieser Sitzung abhören sollte. Durch Leerzeichen getrennte Liste von `plugin:<name>@<marketplace>` Einträgen. Erfordert Anthropic-Authentifizierung über claude.ai oder einen Console API-Schlüssel | `claude --channels plugin:my-notifier@my-marketplace` |79| `--channels` | (Forschungsvorschau) MCP-Server, deren [Kanal](/docs/de/channels)-Benachrichtigungen Claude in dieser Sitzung abhören sollte. Durch Leerzeichen getrennte Liste von `plugin:<name>@<marketplace>`-Einträgen. Erfordert Anthropic-Authentifizierung über claude.ai oder einen Console-API-Schlüssel | `claude --channels plugin:my-notifier@my-marketplace` |

80| `--chrome` | Aktivieren Sie [Chrome-Browser-Integration](/docs/de/chrome) für Web-Automatisierung und Tests | `claude --chrome` |80| `--chrome` | Aktivieren Sie [Chrome-Browserintegration](/docs/de/chrome) für Webautomatisierung und Tests | `claude --chrome` |

81| `--cloud` | Mit einer Aufgabenbeschreibung erstellen Sie eine neue [Web-Sitzung](/docs/de/claude-code-on-the-web) auf claude.ai. Mit einer Sitzungs-ID (`session_...` oder `cse_...`) oder einer claude.ai/code URL stellen Sie stattdessen eine Nachricht in diese bestehende Sitzung in die Warteschlange, mit `-p`. Siehe [Senden Sie eine Folgenachricht](/docs/de/claude-code-on-the-web#send-follow-ups-from-the-cli). | `claude --cloud "Fix the login bug"` |81| `--cloud` | Mit einer Aufgabenbeschreibung erstellen Sie eine neue [Cloud-Sitzung](/docs/de/claude-code-on-the-web). Mit einer Sitzungs-ID (`session_...` oder `cse_...`) oder einer claude.ai/code-URL fügen Sie stattdessen eine Nachricht in diese vorhandene Sitzung ein, mit `-p`. Siehe [Folgenachricht senden](/docs/de/claude-code-on-the-web#send-follow-ups-from-the-cli). | `claude --cloud "Fix the login bug"` |

82| `--continue`, `-c` | Laden Sie die letzte Konversation im aktuellen Verzeichnis, einschließlich einer [Hintergrund-Sitzung, die beendet wurde](/docs/de/sessions#resume-a-session); das Öffnen beendeter Hintergrund-Sitzungen erfordert Claude Code v2.1.257 oder später. Überspringt Sitzungen, die mit `claude -p` oder dem Agent SDK erstellt wurden, und Sitzungen, deren erster Prompt `/loop` war. `claude -p --continue` schließt `-p`, SDK und `/loop` Sitzungen ein. Schließt Sitzungen ein, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben | `claude --continue` |82| `--continue`, `-c` | Laden Sie die neueste Konversation im aktuellen Verzeichnis, einschließlich einer [Hintergrund-Sitzung, die beendet wurde](/docs/de/sessions#resume-a-session); das Öffnen beendeter Hintergrund-Sitzungen erfordert Claude Code v2.1.257 oder später. Überspringt Sitzungen, die mit `claude -p` oder dem Agent SDK erstellt wurden, und Sitzungen, deren erster Prompt `/loop` war. `claude -p --continue` umfasst `-p`-, SDK- und `/loop`-Sitzungen. Umfasst Sitzungen, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben | `claude --continue` |

83| `--dangerously-load-development-channels` | Aktivieren Sie [Kanäle](/docs/de/channels-reference#test-during-the-research-preview), die sich nicht auf der genehmigten Zulassungsliste befinden, für die lokale Entwicklung. Akzeptiert `plugin:<name>@<marketplace>` und `server:<name>` Einträge. Fordert zur Bestätigung auf | `claude --dangerously-load-development-channels server:webhook` |83| `--dangerously-load-development-channels` | Aktivieren Sie [Kanäle](/docs/de/channels-reference#test-during-the-research-preview), die nicht auf der genehmigten Zulassungsliste stehen, für die lokale Entwicklung. Akzeptiert `plugin:<name>@<marketplace>`- und `server:<name>`-Einträge. Fordert zur Bestätigung auf | `claude --dangerously-load-development-channels server:webhook` |

84| `--dangerously-skip-permissions` | Überspringen Sie Berechtigungsaufforderungen. Entspricht `--permission-mode bypassPermissions`. Siehe [Berechtigungsmodi](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) für das, was dies überspringt und nicht überspringt. Für Sitzungen, die mit `--bg` gestartet wurden, wird der Modus [beibehalten, wenn der Supervisor die Sitzung neu startet](/docs/de/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |84| `--dangerously-skip-permissions` | Überspringen Sie Berechtigungsaufforderungen. Entspricht `--permission-mode bypassPermissions`. Siehe [Berechtigungsmodi](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) für das, was dies überspringt und nicht überspringt. Für Sitzungen, die mit `--bg` gestartet wurden, [bleibt der Modus bestehen, wenn der Supervisor die Sitzung neu startet](/docs/de/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |

85| `--debug` | Aktivieren Sie den Debug-Modus mit optionaler Kategoriefilterung, wie z. B. `--debug='mcp,startup'` oder `--debug='!1p'`. Der Filter bindet nur in der `=` Form; ein durch Leerzeichen getrennter Filter aktiviert den Debug-Modus ohne Filterung | `claude --debug='mcp,startup'` |85| `--debug` | Aktivieren Sie den Debug-Modus mit optionaler Kategoriefilterung, z. B. `--debug='mcp,startup'` oder `--debug='!1p'`. Der Filter bindet nur in der `=`-Form; ein durch Leerzeichen getrennter Filter aktiviert den Debug-Modus ohne Filterung | `claude --debug='mcp,startup'` |

86| `--debug-file <path>` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus. Hat Vorrang vor `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |86| `--debug-file <path>` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus. Hat Vorrang vor `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

87| `--disable-slash-commands` | Deaktivieren Sie alle Skills und Befehle für diese Sitzung | `claude --disable-slash-commands` |87| `--disable-slash-commands` | Deaktivieren Sie alle Skills und Befehle für diese Sitzung | `claude --disable-slash-commands` |

88| `--disallowedTools`, `--disallowed-tools` | Ablehnungsregeln. Ein bloßer Tool-Name entfernt die entsprechenden Tools aus dem Kontext von Claude: `"Edit"` entfernt Edit, `"*"` entfernt jedes Tool und `"mcp__*"` entfernt jedes MCP-Tool. Eine scoped Regel wie `Bash(rm *)` lässt das Tool verfügbar und lehnt nur [wie geschrieben](/docs/de/permissions#bash-rule-limits) übereinstimmende Aufrufe ab. Eine Regel, die [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) benennt, kann es nicht entfernen, während ein anderes Tool verfügbar bleibt | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |88| `--disallowedTools`, `--disallowed-tools` | Ablehnungsregeln. Ein bloßer Tool-Name entfernt die entsprechenden Tools aus Claudes Kontext: `"Edit"` entfernt Edit, `"*"` entfernt alle Tools, und `"mcp__*"` entfernt alle MCP-Tools. Eine bereicherte Regel wie `Bash(rm *)` lässt das Tool verfügbar und lehnt nur Aufrufe ab, die [wie geschrieben](/docs/de/permissions#bash-rule-limits) übereinstimmen. Eine Regel, die [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) benennt, kann es nicht entfernen, während ein anderes Tool verbleibt | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

89| `--effort` | Legen Sie die [Aufwandsstufe](/docs/de/model-config#adjust-effort-level) für die aktuelle Sitzung fest. Optionen: `low`, `medium`, `high`, `xhigh`, `max` oder `ultracode`. Verfügbare Stufen hängen vom Modell ab. `ultracode` startet die Sitzung mit `xhigh` Aufwand und [ultracode](/docs/de/workflows#let-claude-decide-with-ultracode) aktiviert, und erfordert Claude Code v2.1.203 oder später. Überschreibt die [`modelSettings`](/docs/de/settings-reference#modelsettings) und [`effortLevel`](/docs/de/settings-reference#effortlevel) Einstellungen für diese Sitzung und wird nicht beibehalten | `claude --effort high` |89| `--effort` | Legen Sie die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für die aktuelle Sitzung fest. Optionen: `low`, `medium`, `high`, `xhigh`, `max`, oder `ultracode`. Verfügbare Stufen hängen vom Modell ab. `ultracode` fordert `xhigh`-Anstrengung mit [ultracode](/docs/de/workflows#let-claude-decide-with-ultracode) an und erfordert Claude Code v2.1.203 oder später. Überschreibt die [`modelSettings`](/docs/de/settings-reference#modelsettings)- und [`effortLevel`](/docs/de/settings-reference#effortlevel)-Einstellungen für diese Sitzung und bleibt nicht bestehen | `claude --effort high` |

90| `--enable-auto-mode` | Entfernt in v2.1.111. Auto-Modus ist jetzt standardmäßig im `Shift+Tab` Zyklus; verwenden Sie `--permission-mode auto`, um darin zu starten | `claude --permission-mode auto` |90| `--enable-auto-mode` | Entfernt in v2.1.111. Der Auto-Modus ist jetzt standardmäßig im `Shift+Tab`-Zyklus; verwenden Sie `--permission-mode auto`, um darin zu starten | `claude --permission-mode auto` |

91| `--environment <environment-id>` | Erstellen Sie eine neue Cloud-Sitzung, die in der [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) mit der angegebenen ID ausgeführt wird. Umgebungs-IDs beginnen mit `ccpool_`. Siehe [`--environment` Dispatch-Verhalten](/docs/de/self-hosted-environments-testing#environment-dispatch-behavior) für Dispatch-Verhalten und die Flag-Kombinationen, die es ablehnt. Erfordert Claude Code v2.1.224 oder später | `claude -p "Fix the login bug" --environment ccpool_abc123` |91| `--environment <environment-id>` | Erstellen Sie eine neue Cloud-Sitzung, die in der [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) mit der angegebenen ID ausgeführt wird. Umgebungs-IDs beginnen mit `ccpool_`. Siehe [Dispatch-Verhalten von `--environment`](/docs/de/self-hosted-environments-testing#environment-dispatch-behavior) für Dispatch-Verhalten und die Flaggenkombinationen, die es ablehnt. Erfordert Claude Code v2.1.224 oder später | `claude -p "Fix the login bug" --environment ccpool_abc123` |

92| `--exclude-dynamic-system-prompt-sections` | Verschieben Sie maschinenspezifische Abschnitte aus dem Systemprompt (Arbeitsverzeichnis, Umgebungsinformationen, Speicherpfade, Git-Repo-Flag) in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über verschiedene Benutzer und Maschinen hinweg, die die gleiche Aufgabe ausführen. Gilt nur mit dem Standard-Systemprompt; wird ignoriert, wenn `--system-prompt` oder `--system-prompt-file` gesetzt ist. Verwenden Sie mit `-p` für Skript-, Multi-Benutzer-Workloads | `claude -p --exclude-dynamic-system-prompt-sections "query"` |92| `--exclude-dynamic-system-prompt-sections` | Verschieben Sie maschinenspezifische Abschnitte aus dem System-Prompt (Arbeitsverzeichnis, Umgebungsinformationen, Speicherpfade, Git-Repo-Flag) in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über verschiedene Benutzer und Maschinen hinweg, die die gleiche Aufgabe ausführen. Gilt nur mit dem Standard-System-Prompt; wird ignoriert, wenn `--system-prompt` oder `--system-prompt-file` gesetzt ist. Verwenden Sie mit `-p` für Skript-, Multi-Benutzer-Workloads | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

93| `--exec` | Führen Sie einen Shell-Befehl als PTY-gestützten Hintergrund-Job anstelle einer Claude-Sitzung aus. Verwenden Sie mit `--bg`, um von der Shell aus zu starten | `claude --bg --exec 'pytest -x'` |93| `--exec` | Führen Sie einen Shell-Befehl als PTY-gestützten Hintergrund-Job statt einer Claude-Sitzung aus. Verwenden Sie mit `--bg`, um von der Shell aus zu starten | `claude --bg --exec 'pytest -x'` |

94| `--fallback-model` | Aktivieren Sie automatisches Fallback auf das angegebene Modell oder die angegebenen Modelle, wenn das primäre Modell überlastet ist oder nicht verfügbar ist, zum Beispiel ein veraltetes Modell. Akzeptiert eine durch Kommas getrennte Liste, die der Reihe nach versucht wird. Siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains). Um eine Kette über Sitzungen hinweg beizubehalten, verwenden Sie die [`fallbackModel` Einstellung](/docs/de/settings-reference#fallbackmodel), die dieses Flag überschreibt | `claude --fallback-model sonnet,haiku` |94| `--fallback-model` | Aktivieren Sie automatisches Fallback auf das angegebene Modell oder die angegebenen Modelle, wenn das primäre Modell überlastet oder nicht verfügbar ist, z. B. ein veraltetes Modell. Akzeptiert eine durch Kommas getrennte Liste, die der Reihe nach versucht wird. Siehe [Fallback-Modellketten](/docs/de/model-config#fallback-model-chains). Um eine Kette über Sitzungen hinweg beizubehalten, verwenden Sie die [`fallbackModel`-Einstellung](/docs/de/settings-reference#fallbackmodel), die diese Flagge überschreibt | `claude --fallback-model sonnet,haiku` |

95| `--fork-session` | Erstellen Sie beim Fortsetzen eine neue Sitzungs-ID, anstatt die ursprüngliche wiederzuverwenden (verwenden Sie mit `--resume` oder `--continue`) | `claude --resume abc123 --fork-session` |95| `--fork-session` | Erstellen Sie beim Fortsetzen eine neue Sitzungs-ID, anstatt die ursprüngliche wiederzuverwenden (verwenden Sie mit `--resume` oder `--continue`) | `claude --resume abc123 --fork-session` |

96| `--forward-subagent-text` | Geben Sie [Subagenten](/docs/de/sub-agents) Text und Thinking-Blöcke im Ausgabestrom als `assistant` und `user` Nachrichten mit `parent_tool_use_id` gesetzt aus, sodass Sie das Transkript jedes Subagenten rekonstruieren können. Ohne dieses Flag lässt Claude Code den Text und die Thinking-Blöcke eines Subagenten, der im [Vordergrund](/docs/de/sub-agents#run-subagents-in-foreground-or-background) läuft, weg. Erfordert `--print` und `--output-format stream-json`. Claude Code leitet auch Nachrichten von [verschachtelten Subagenten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) weiter, setzt `parent_tool_use_id` auf die ID des Agent-Tool-Aufrufs, der jeden spawnt; dies erfordert Claude Code v2.1.219 oder später. Die [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/de/env-vars) Umgebungsvariable aktiviert das gleiche Verhalten. Erfordert Claude Code v2.1.211 oder später | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |96| `--forward-subagent-text` | Geben Sie [Subagenten](/docs/de/sub-agents)-Text und Thinking-Blöcke im Ausgabestrom als `assistant`- und `user`-Nachrichten mit `parent_tool_use_id` gesetzt aus, damit Sie das Transkript jedes Subagenten rekonstruieren können. Ohne diese Flagge lässt Claude Code den Text und die Thinking-Blöcke eines Subagenten weg, der im [Vordergrund](/docs/de/sub-agents#run-subagents-in-foreground-or-background) ausgeführt wird. Erfordert `--print` und `--output-format stream-json`. Claude Code leitet auch Nachrichten von [verschachtelten Subagenten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) weiter und setzt `parent_tool_use_id` auf die ID des Agent-Tool-Aufrufs, der jeden spawnt; dies erfordert Claude Code v2.1.219 oder später. Die [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/de/env-vars)-Umgebungsvariable aktiviert das gleiche Verhalten. Erfordert Claude Code v2.1.211 oder später | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |

97| `--from-pr` | Öffnen Sie die Sitzungsauswahl gefiltert auf Sitzungen, die mit einem bestimmten Pull Request verknüpft sind. Akzeptiert eine PR-Nummer, eine GitHub oder GitHub Enterprise PR URL, eine GitLab Merge Request URL oder eine Bitbucket Pull Request URL. Sitzungen werden automatisch verknüpft, wenn Claude den Pull Request erstellt | `claude --from-pr 123` |97| `--from-pr` | Öffnen Sie die Sitzungsauswahl gefiltert nach Sitzungen, die mit einem bestimmten Pull Request verknüpft sind. Akzeptiert eine PR-Nummer, eine GitHub- oder GitHub Enterprise-PR-URL, eine GitLab-Merge-Request-URL oder eine Bitbucket-Pull-Request-URL. Sitzungen werden automatisch verknüpft, wenn Claude den Pull Request erstellt | `claude --from-pr 123` |

98| `--ide` | Verbinden Sie sich automatisch beim Start mit der IDE, wenn genau eine gültige IDE verfügbar ist | `claude --ide` |98| `--ide` | Verbinden Sie sich automatisch beim Start mit der IDE, wenn genau eine gültige IDE verfügbar ist | `claude --ide` |

99| `--init` | Führen Sie [Setup Hooks](/docs/de/hooks#setup) mit dem `init` Matcher vor der Sitzung aus (nur Print-Modus) | `claude -p --init "query"` |99| `--init` | Führen Sie [Setup-Hooks](/docs/de/hooks#setup) mit dem `init`-Matcher vor der Sitzung aus (nur Print-Modus) | `claude -p --init "query"` |

100| `--init-only` | Führen Sie [Setup](/docs/de/hooks#setup) und `SessionStart` Hooks aus, dann beenden Sie ohne eine Konversation zu starten | `claude --init-only` |100| `--init-only` | Führen Sie [Setup](/docs/de/hooks#setup)- und `SessionStart`-Hooks aus und beenden Sie sich dann, ohne eine Konversation zu starten | `claude --init-only` |

101| `--include-hook-events` | Schließen Sie Hook-Lebenszyklusereignisse in den Ausgabestrom ein. `SessionStart` und `Setup` Hook-Ereignisse sind immer enthalten und benötigen dieses Flag nicht. Einige Hook-Ereignisse, wie `Notification`, `SessionEnd`, `PreCompact` und `PostCompact`, erzeugen niemals ein `hook_started` Ereignis, auch mit diesem Flag. Für diese Ereignisse gibt Claude Code weiterhin `hook_progress` aus, während ein Command Hook, der länger als eine Sekunde läuft, Ausgabe erzeugt, und gibt `hook_response` nur aus, wenn ein [Hook, der im Hintergrund läuft](/docs/de/hooks#run-hooks-in-the-background), beendet wird. Erfordert `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |101| `--include-hook-events` | Beziehen Sie Hook-Lebenszyklusereignisse in den Ausgabestrom ein. `SessionStart`- und `Setup`-Hook-Ereignisse sind immer enthalten und benötigen diese Flagge nicht. Einige Hook-Ereignisse wie `Notification`, `SessionEnd`, `PreCompact` und `PostCompact` erzeugen niemals ein `hook_started`-Ereignis, auch nicht mit dieser Flagge. Für diese Ereignisse gibt Claude Code immer noch `hook_progress` aus, während ein Command-Hook, der länger als eine Sekunde läuft, Ausgabe erzeugt, und gibt `hook_response` nur aus, wenn ein [Hook, der im Hintergrund läuft](/docs/de/hooks#run-hooks-in-the-background), beendet wird. Erfordert `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |

102| `--include-partial-messages` | Schließen Sie partielle Streaming-Ereignisse in die Ausgabe ein. Erfordert `--print` und `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |102| `--include-partial-messages` | Beziehen Sie partielle Streaming-Ereignisse in die Ausgabe ein. Erfordert `--print` und `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |

103| `--input-format` | Geben Sie das Eingabeformat für den Print-Modus an (Optionen: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |103| `--input-format` | Geben Sie das Eingabeformat für den Print-Modus an (Optionen: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |

104| `--json-schema` | Erhalten Sie validierte JSON-Ausgabe, die einem JSON-Schema entspricht, nachdem der Agent seinen Workflow abgeschlossen hat (nur Print-Modus). Siehe [strukturierte Ausgaben](/docs/de/agent-sdk/structured-outputs). Claude Code beendet sich mit einem Fehler bei einem ungültigen Schema und akzeptiert das `format` Schlüsselwort als Anmerkung ohne clientseitige Validierung | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |104| `--json-schema` | Erhalten Sie validierte JSON-Ausgabe, die einem JSON-Schema entspricht, nachdem der Agent seinen Workflow abgeschlossen hat (nur Print-Modus). Siehe [strukturierte Ausgaben](/docs/de/agent-sdk/structured-outputs). Claude Code beendet sich mit einem Fehler bei einem ungültigen Schema und akzeptiert das `format`-Schlüsselwort als Anmerkung ohne clientseitige Validierung | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

105| `--maintenance` | Führen Sie [Setup Hooks](/docs/de/hooks#setup) mit dem `maintenance` Matcher vor der Sitzung aus (nur Print-Modus) | `claude -p --maintenance "query"` |105| `--maintenance` | Führen Sie [Setup-Hooks](/docs/de/hooks#setup) mit dem `maintenance`-Matcher vor der Sitzung aus (nur Print-Modus) | `claude -p --maintenance "query"` |

106| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden kann, bevor gestoppt wird (nur Print-Modus). Ausgaben von [Subagenten](/docs/de/sub-agents) zählen zum Limit. Sobald die Ausgaben das Limit erreichen, schlägt das Spawnen eines anderen Subagenten mit `Budget limit reached` fehl, und Claude Code stoppt Hintergrund-Subagenten, die noch laufen; die Limit-Durchsetzungsverhalten erfordern Claude Code v2.1.217 oder später | `claude -p --max-budget-usd 5.00 "query"` |106| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden soll, bevor gestoppt wird (nur Print-Modus). Ausgaben von [Subagenten](/docs/de/sub-agents) zählen zur Obergrenze. Sobald die Ausgaben die Obergrenze erreichen, schlägt das Spawnen eines anderen Subagenten mit `Budget limit reached` fehl, und Claude Code stoppt Hintergrund-Subagenten, die noch laufen; die Obergrenzendurchsetzungsverhalten erfordern Claude Code v2.1.217 oder später | `claude -p --max-budget-usd 5.00 "query"` |

107| `--max-turns` | Begrenzen Sie die Anzahl der agentic Turns (nur Print-Modus). Beendet mit einem Fehler, wenn das Limit erreicht wird. Standardmäßig kein Limit. Mit `--input-format stream-json` bleibt eine Nachricht, die noch in der Warteschlange steht, wenn das Limit einen Turn beendet, in der Warteschlange und startet einen neuen Turn mit eigenem Limit | `claude -p --max-turns 3 "query"` |107| `--max-turns` | Begrenzen Sie die Anzahl der agentengesteuerten Turns (nur Print-Modus). Beendet sich mit einem Fehler, wenn die Grenze erreicht wird. Standardmäßig keine Grenze. Mit `--input-format stream-json` bleibt eine Nachricht, die noch in die Warteschlange eingereiht ist, wenn die Grenze einen Turn beendet, in der Warteschlange und startet einen neuen Turn mit seiner eigenen Grenze | `claude -p --max-turns 3 "query"` |

108| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt). Wenn Sie dieses Flag mit `-p` übergeben, wartet Claude Code darauf, dass noch ausstehende Server verbunden werden, bevor der erste Turn ausgeführt wird, bis zum [`MCP_TIMEOUT`](/docs/de/env-vars) Startup-Timeout, standardmäßig 30 Sekunden; ein Server mit einer [zwischengespeicherten Tool-Liste](/docs/de/mcp#managing-your-servers) überspringt das Warten und verbindet sich bei der ersten Verwendung. Das Warten erfordert Claude Code v2.1.221 oder später | `claude --mcp-config ./mcp.json` |108| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt). Wenn Sie diese Flagge mit `-p` übergeben, wartet Claude Code darauf, dass noch ausstehende Server verbunden werden, bevor der erste Turn ausgeführt wird, bis zum [`MCP_TIMEOUT`](/docs/de/env-vars)-Starttimeout, standardmäßig 30 Sekunden; ein Server mit einer [zwischengespeicherten Tool-Liste](/docs/de/mcp#managing-your-servers) überspringt das Warten und verbindet sich bei der ersten Verwendung. Das Warten erfordert Claude Code v2.1.221 oder später | `claude --mcp-config ./mcp.json` |

109| `--model` | Legt das Modell für die aktuelle Sitzung mit einem [Modell-Alias](/docs/de/model-config#model-aliases) wie `sonnet`, `opus`, `haiku` oder `fable`, oder dem vollständigen Namen eines Modells fest. Überschreibt die [`model`](/docs/de/settings-reference#model) Einstellung und [`ANTHROPIC_MODEL`](/docs/de/model-config#environment-variables) | `claude --model claude-sonnet-5` |109| `--model` | Legt das Modell für die aktuelle Sitzung mit einem [Modellalias](/docs/de/model-config#model-aliases) wie `sonnet`, `opus`, `haiku` oder `fable` oder einem vollständigen Modellnamen fest. Überschreibt die [`model`](/docs/de/settings-reference#model)-Einstellung und [`ANTHROPIC_MODEL`](/docs/de/model-config#environment-variables) | `claude --model claude-sonnet-5` |

110| `--name`, `-n` | Legen Sie einen Anzeigenamen für die Sitzung fest, der in `/resume` und der Terminalleiste angezeigt wird. Sie können eine benannte Sitzung mit `claude --resume <name>` fortsetzen. In einer interaktiven Sitzung, wenn eine andere Live-Sitzung auf dieser Maschine bereits den Namen verwendet, wendet Claude Code [eine Variante davon](/docs/de/sessions#name-your-sessions) an. <br /><br />[`/rename`](/docs/de/commands) ändert den Namen während der Sitzung und zeigt ihn auch in der Eingabeaufforderungsleiste an | `claude -n "my-feature-work"` |110| `--name`, `-n` | Legen Sie einen Anzeigenamen für die Sitzung fest, der in `/resume` und der Terminalleiste angezeigt wird. Sie können eine benannte Sitzung mit `claude --resume <name>` fortsetzen. In einer interaktiven Sitzung, wenn eine andere Live-Sitzung auf dieser Maschine bereits den Namen verwendet, wendet Claude Code [eine Variante davon](/docs/de/sessions#name-your-sessions) an. <br /><br />[`/rename`](/docs/de/commands) ändert den Namen während der Sitzung und zeigt ihn auch in der Eingabeaufforderungsleiste an | `claude -n "my-feature-work"` |

111| `--no-chrome` | Deaktivieren Sie [Chrome-Browser-Integration](/docs/de/chrome) für diese Sitzung | `claude --no-chrome` |111| `--no-chrome` | Deaktivieren Sie [Chrome-Browserintegration](/docs/de/chrome) für diese Sitzung | `claude --no-chrome` |

112| `--no-session-persistence` | Deaktivieren Sie die Sitzungspersistenz, sodass Sitzungen nicht auf der Festplatte gespeichert werden und nicht fortgesetzt werden können. Nur Print-Modus. Die [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/de/env-vars) Umgebungsvariable bewirkt das Gleiche in jedem Modus | `claude -p --no-session-persistence "query"` |112| `--no-session-persistence` | Deaktivieren Sie die Sitzungspersistenz, sodass Sitzungen nicht auf der Festplatte gespeichert werden und nicht fortgesetzt werden können. Nur Print-Modus. Die [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/de/env-vars)-Umgebungsvariable macht das Gleiche in jedem Modus | `claude -p --no-session-persistence "query"` |

113| `--output-format` | Geben Sie das Ausgabeformat für den Print-Modus an (Optionen: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |113| `--output-format` | Geben Sie das Ausgabeformat für den Print-Modus an (Optionen: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |

114| `--permission-mode` | Beginnen Sie in einem angegebenen [Berechtigungsmodus](/docs/de/permission-modes). Akzeptiert `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions` oder `manual` als Alias für `default`. Der `manual` Alias wählt den Berechtigungsmodus aus, den die Benutzeroberfläche als Manuell kennzeichnet und erfordert Claude Code v2.1.200 oder später; `claude --help` listet ihn anstelle von `default` auf, und beide Werte funktionieren. Überschreibt `defaultMode` aus Einstellungsdateien. Ohne dieses Flag oder `--dangerously-skip-permissions` startet eine neue Sitzung im Berechtigungsmodus, der in [welcher Berechtigungsmodus eine Sitzung startet](/docs/de/permission-modes#which-mode-a-session-starts-in) beschrieben wird. Für `-p` ist das `default`, wenn nichts konfiguriert ist | `claude --permission-mode plan` |114| `--permission-mode` | Beginnen Sie in einem angegebenen [Berechtigungsmodus](/docs/de/permission-modes). Akzeptiert `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, oder `manual` als Alias für `default`. Der `manual`-Alias wählt den Berechtigungsmodus aus, den die UI als Manual kennzeichnet, und erfordert Claude Code v2.1.200 oder später; `claude --help` listet ihn anstelle von `default` auf, und beide Werte funktionieren. Überschreibt `defaultMode` aus Einstellungsdateien. Ohne diese Flagge oder `--dangerously-skip-permissions` startet eine neue Sitzung im Berechtigungsmodus, der in [welcher Berechtigungsmodus eine Sitzung startet](/docs/de/permission-modes#which-mode-a-session-starts-in) beschrieben ist. Für `-p` ist das `default`, wenn nichts konfiguriert ist | `claude --permission-mode plan` |

115| `--permission-prompt-tool` | Geben Sie ein MCP-Tool an, um Berechtigungsaufforderungen im nicht-interaktiven Modus zu verarbeiten. Claude Code wartet darauf, dass sich der MCP-Server dieses Tools verbindet, bevor der erste Turn ausgeführt wird, bis zum [`MCP_TIMEOUT`](/docs/de/env-vars) Startup-Timeout, standardmäßig 30 Sekunden. <br /><br />Das Prompt-Tool kann ein MCP-Tool, das als [Benutzerinteraktion erforderlich](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet ist, nicht genehmigen: Claude Code konvertiert ein `allow` Ergebnis für eines in eine Ablehnung. Diese Einschränkung erfordert Claude Code v2.1.199 oder später | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |115| `--permission-prompt-tool` | Geben Sie ein MCP-Tool an, um Berechtigungsaufforderungen im nicht-interaktiven Modus zu verarbeiten. Claude Code wartet darauf, dass der MCP-Server dieses Tools verbunden wird, bevor der erste Turn ausgeführt wird, bis zum [`MCP_TIMEOUT`](/docs/de/env-vars)-Starttimeout, standardmäßig 30 Sekunden. <br /><br />Das Prompt-Tool kann ein MCP-Tool, das als [Benutzerinteraktion erfordernd](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet ist, nicht genehmigen: Claude Code konvertiert ein `allow`-Ergebnis dafür in eine Ablehnung. Diese Einschränkung erfordert Claude Code v2.1.199 oder später | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

116| `--permission-prompts` | Legen Sie fest, wer Berechtigungsaufforderungen im Print-Modus beantwortet. Mit dem Standard `host` sendet Claude Code sie an den Agent SDK Host oder das `--permission-prompt-tool` Tool. Übergeben Sie `none`, wenn niemand antworten kann, und Claude Code lehnt sie stattdessen ab. Siehe [Schalten Sie Berechtigungsaufforderungen in unbeaufsichtigten Läufen aus](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs). Erfordert Claude Code v2.1.259 oder später | `claude -p --permission-prompts none "query"` |116| `--permission-prompts` | Legen Sie fest, wer Berechtigungsaufforderungen im Print-Modus beantwortet. Mit dem Standard `host` sendet Claude Code sie an den Agent SDK-Host oder das `--permission-prompt-tool`-Tool. Übergeben Sie `none`, wenn niemand antworten kann, und Claude Code lehnt sie stattdessen ab. Siehe [Berechtigungsaufforderungen in unbeaufsichtigten Läufen ausschalten](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs). Erfordert Claude Code v2.1.259 oder später | `claude -p --permission-prompts none "query"` |

117| `--plugin-dir` | Laden Sie ein Plugin aus einem Verzeichnis oder `.zip` Archiv, oder mehrere aus einem [Ordner von Plugins](/docs/de/plugins#test-your-plugins-locally), nur für diese Sitzung. Jedes Flag nimmt einen Pfad auf. Wiederholen Sie das Flag für mehrere Pfade: `--plugin-dir A --plugin-dir B.zip`. Das Übergeben eines Ordners von Plugins erfordert Claude Code v2.1.265 oder später | `claude --plugin-dir ./my-plugin` |117| `--plugin-dir` | Laden Sie ein Plugin aus einem Verzeichnis oder `.zip`-Archiv, oder mehrere aus einem [Ordner von Plugins](/docs/de/plugins#test-your-plugins-locally), nur für diese Sitzung. Jede Flagge nimmt einen Pfad. Wiederholen Sie die Flagge für mehr Pfade: `--plugin-dir A --plugin-dir B.zip`. Das Übergeben eines Ordners von Plugins erfordert Claude Code v2.1.265 oder später | `claude --plugin-dir ./my-plugin` |

118| `--plugin-url` | Rufen Sie ein Plugin `.zip` Archiv von einer URL nur für diese Sitzung ab. Wiederholen Sie das Flag für mehrere Plugins, oder übergeben Sie durch Leerzeichen getrennte URLs in einem einzelnen Wert in Anführungszeichen | `claude --plugin-url https://example.com/plugin.zip` |118| `--plugin-url` | Rufen Sie ein Plugin `.zip`-Archiv von einer URL ab, nur für diese Sitzung. Wiederholen Sie die Flagge für mehrere Plugins, oder übergeben Sie durch Leerzeichen getrennte URLs in einem einzelnen angeführten Wert | `claude --plugin-url https://example.com/plugin.zip` |

119| `--print`, `-p` | Geben Sie die Antwort ohne interaktiven Modus aus (siehe [Agent SDK-Dokumentation](/docs/de/agent-sdk/overview) für Details zur programmatischen Verwendung) | `claude -p "query"` |119| `--print`, `-p` | Drucken Sie die Antwort ohne interaktiven Modus (siehe [Agent SDK-Dokumentation](/docs/de/agent-sdk/overview) für Details zur programmatischen Verwendung) | `claude -p "query"` |

120| `--prompt-suggestions` | Geben Sie eine `prompt_suggestion` Nachricht mit einem vorhergesagten nächsten Benutzer-Prompt nach jedem Turn aus, der einen erzeugt; sehr kurze Konversationen können keine erzeugen. Erfordert `--print`, `--output-format stream-json` und `--verbose`. Siehe [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) | `claude -p --prompt-suggestions --output-format stream-json --verbose "query"` |120| `--prompt-suggestions` | Geben Sie eine `prompt_suggestion`-Nachricht mit einem vorhergesagten nächsten Benutzer-Prompt nach jedem Turn aus, der einen erzeugt; sehr kurze Konversationen können keine erzeugen. Erfordert `--print`, `--output-format stream-json` und `--verbose`. Siehe [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) | `claude -p --prompt-suggestions --output-format stream-json --verbose "query"` |

121| `--ref <branch>` | Mit `--environment` basieren Sie den Checkout der neuen Sitzung auf einer benannten Ref anstelle des lokalen `HEAD` | `claude -p "Run the smoke test" --environment ccpool_abc123 --ref main` |121| `--ref <branch>` | Mit `--environment` basieren Sie den Checkout der neuen Sitzung auf einer benannten Ref anstelle des lokalen `HEAD` | `claude -p "Run the smoke test" --environment ccpool_abc123 --ref main` |

122| `--remote` | Veralteter Alias für `--cloud`, einschließlich der bestehenden Sitzungsform | `claude --remote "Fix the login bug"` |122| `--remote` | Veralteter Alias für `--cloud`, einschließlich der vorhandenen Sitzungsform | `claude --remote "Fix the login bug"` |

123| `--remote-control`, `--rc` | Starten Sie eine interaktive Sitzung mit aktiviertem [Remote Control](/docs/de/remote-control#start-a-remote-control-session), sodass Sie sie auch von claude.ai oder der Claude App aus steuern können. Optional einen Namen für die Sitzung übergeben | `claude --remote-control "My Project"` |123| `--remote-control`, `--rc` | Starten Sie eine interaktive Sitzung mit [Remote Control](/docs/de/remote-control#start-a-remote-control-session) aktiviert, damit Sie sie auch von claude.ai oder der Claude-App aus steuern können. Übergeben Sie optional einen Namen für die Sitzung | `claude --remote-control "My Project"` |

124| `--remote-control-session-name-prefix <prefix>` | Präfix für automatisch generierte [Remote Control](/docs/de/remote-control) Sitzungsnamen, wenn kein expliziter Name gesetzt ist. Standardmäßig der Hostname Ihrer Maschine, was Namen wie `myhost-graceful-unicorn` erzeugt. Setzen Sie `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` für den gleichen Effekt | `claude remote-control --remote-control-session-name-prefix dev-box` |124| `--remote-control-session-name-prefix <prefix>` | Präfix für automatisch generierte [Remote Control](/docs/de/remote-control)-Sitzungsnamen, wenn kein expliziter Name gesetzt ist. Standardmäßig der Hostname Ihrer Maschine, was Namen wie `myhost-graceful-unicorn` erzeugt. Legen Sie `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` für den gleichen Effekt fest | `claude remote-control --remote-control-session-name-prefix dev-box` |

125| `--replay-user-messages` | Geben Sie Benutzernachrichten von stdin auf stdout zurück zur Bestätigung aus. Erfordert `--input-format stream-json` und `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |125| `--replay-user-messages` | Geben Sie Benutzernachrichten von stdin auf stdout zurück zur Bestätigung aus. Erfordert `--input-format stream-json` und `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |

126| `--restricted` | Starten Sie im eingeschränkten Modus. Verwenden Sie ihn, wenn ein Evaluierungs-Harness `claude` auf einer gemeinsamen Maschine antreibt und Claude Code keine Befehle ausführen oder die Benutzer- und Projekteinstellungen dieser Maschine lesen darf. Claude Code entfernt die integrierten Tools, die Befehle oder Code ausführen, und WebFetch, es sei denn, Sie benennen sie einzeln in `--tools`, nicht durch die `default` Voreinstellung. Es beschränkt auch die integrierten Datei-Tools auf die [Arbeitsverzeichnisse](/docs/de/permissions#working-directories), lädt nur [verwaltete Einstellungen](/docs/de/managed-settings) und `--settings`, lehnt [`bypassPermissions`](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) ab, und [lehnt ab, Cloud-Sitzungen zu erstellen](/docs/de/errors#cloud-sessions-cannot-be-created-from-a-restricted-session). Erfordert Claude Code v2.1.248 oder später | `claude --restricted -p "query"` |126| `--restricted` | Starten Sie im eingeschränkten Modus. Verwenden Sie ihn, wenn ein Evaluierungs-Harness `claude` auf einer gemeinsamen Maschine antreibt und Claude Code keine Befehle ausführen oder die Benutzer- und Projekteinstellungen dieser Maschine lesen darf. Claude Code entfernt die integrierten Tools, die Befehle oder Code ausführen, und WebFetch, es sei denn, Sie benennen sie einzeln in `--tools`, nicht durch die `default`-Voreinstellung. Es beschränkt auch die integrierten Datei-Tools auf die [Arbeitsverzeichnisse](/docs/de/permissions#working-directories), lädt nur [verwaltete Einstellungen](/docs/de/managed-settings) und `--settings`, lehnt [`bypassPermissions`](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) ab, und [lehnt ab, Cloud-Sitzungen zu erstellen](/docs/de/errors#cloud-sessions-cannot-be-created-from-a-restricted-session). Erfordert Claude Code v2.1.248 oder später | `claude --restricted -p "query"` |

127| `--resume`, `-r` | Setzen Sie eine bestimmte Sitzung nach ID oder Name fort, oder zeigen Sie eine interaktive Auswahl an, um eine Sitzung auszuwählen. Anstelle einer ID können Sie den absoluten Pfad zur [Transkriptdatei](/docs/de/sessions#where-transcripts-are-stored) einer Sitzung im `.jsonl` Format übergeben. Die Auswahl und Namenssuche schließen Sitzungen ein, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben. Wenn Sie eine Sitzungs-ID übergeben, durchsucht Claude Code das aktuelle Projektverzeichnis und seine Git Worktrees, dann jedes andere Projekt auf dieser Maschine. Vor v2.1.223 deckte die ID-Suche nur das aktuelle Projektverzeichnis und seine Git Worktrees ab. [Hintergrund-Sitzungen](/docs/de/agent-view) erscheinen in der Auswahl mit `bg` gekennzeichnet | `claude --resume auth-refactor` |127| `--resume`, `-r` | Setzen Sie eine bestimmte Sitzung nach ID oder Name fort, oder zeigen Sie eine interaktive Auswahl an, um eine Sitzung zu wählen. Anstelle einer ID können Sie den absoluten Pfad zur [Transkriptdatei](/docs/de/sessions#where-transcripts-are-stored) einer Sitzung übergeben. Die Auswahl und Namenssuche umfassen Sitzungen, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben. Wenn Sie eine Sitzungs-ID übergeben, durchsucht Claude Code das aktuelle Projektverzeichnis und seine Git-Worktrees, dann jedes andere Projekt auf dieser Maschine. Vor v2.1.223 deckte die ID-Suche nur das aktuelle Projektverzeichnis und seine Git-Worktrees ab. [Hintergrund-Sitzungen](/docs/de/agent-view) erscheinen in der Auswahl mit `bg` gekennzeichnet | `claude --resume auth-refactor` |

128| `--safe-mode` | Starten Sie mit allen Anpassungen deaktiviert, um eine fehlerhafte Konfiguration zu beheben: CLAUDE.md, Skills, Plugins, Hooks, MCP-Server, benutzerdefinierte Befehle und Agenten, Ausgabestile, Workflows, benutzerdefinierte Designs, benutzerdefinierte Tastenkombinationen, Statusleiste und Dateivorschlag-Befehle, LSP-Server und Auto-Memory werden nicht geladen. Authentifizierung, Modellauswahl, integrierte Tools und Berechtigungen funktionieren normal, was sich von [`--bare`](/docs/de/headless#start-faster-with-bare-mode) unterscheidet. Die verwaltete Einstellungsrichtlinie gilt weiterhin, einschließlich richtliniengesteuerter Hooks, Statusleiste und Dateivorschlag-Befehle; verwaltete Plugins, verwaltete Skills, verwaltete CLAUDE.md und richtliniengesteuerter MCP-Server nicht. Nützlich, um zu überprüfen, ob eine Anpassung das [automatische Fallback von Modellen](/docs/de/model-config#automatic-model-fallback) auslöst. Setzt [`CLAUDE_CODE_SAFE_MODE`](/docs/de/env-vars) | `claude --safe-mode` |128| `--safe-mode` | Starten Sie mit allen Anpassungen deaktiviert, um eine fehlerhafte Konfiguration zu beheben: CLAUDE.md, Skills, Plugins, Hooks, MCP-Server, benutzerdefinierte Befehle und Agenten, Ausgabestile, Workflows, benutzerdefinierte Designs, benutzerdefinierte Tastenbindungen, Statusleisten- und Dateivorschlagsbefehle, LSP-Server und automatischer Speicher werden nicht geladen. Authentifizierung, Modellauswahl, integrierte Tools und Berechtigungen funktionieren normal, was sich von [`--bare`](/docs/de/headless#start-faster-with-bare-mode) unterscheidet. Die Richtlinie für verwaltete Einstellungen gilt immer noch, einschließlich richtliniengesteuerter Hooks, Statusleiste und Dateivorschlagsbefehle; verwaltete Plugins, verwaltete Skills, verwaltete CLAUDE.md und richtliniengesteuerter MCP-Server nicht. Nützlich, um zu überprüfen, ob eine Anpassung das auslöst, was [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) auslöst. Setzt [`CLAUDE_CODE_SAFE_MODE`](/docs/de/env-vars) | `claude --safe-mode` |

129| `--session-id` | Verwenden Sie eine bestimmte Sitzungs-ID für die Konversation (muss eine gültige UUID sein) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |129| `--session-id` | Verwenden Sie eine bestimmte Sitzungs-ID für die Konversation (muss eine gültige UUID sein) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

130| `--setting-sources` | Durch Kommas getrennte Liste von Einstellungsquellen zum Laden (`user`, `project`, `local`) | `claude --setting-sources user,project` |130| `--setting-sources` | Durch Kommas getrennte Liste von Einstellungsquellen zum Laden (`user`, `project`, `local`) | `claude --setting-sources user,project` |

131| `--settings` | Pfad zu einer Einstellungs-JSON-Datei oder eine JSON-Zeichenkette. Werte, die Sie hier setzen, überschreiben die gleichen Schlüssel in Ihren `settings.json` Dateien für diese Sitzung. Schlüssel, die Sie weglassen, behalten ihre dateigestützten Werte. Die Datei muss eine reguläre Datei sein, die nicht größer als 2 MiB ist. Siehe [Einstellungspriorität](/docs/de/settings#settings-precedence) | `claude --settings ./settings.json` |131| `--settings` | Pfad zu einer Einstellungs-JSON-Datei oder ein Inline-JSON-String. Werte, die Sie hier setzen, überschreiben die gleichen Schlüssel in Ihren `settings.json`-Dateien für diese Sitzung. Schlüssel, die Sie weglassen, behalten ihre dateigestützten Werte. Die Datei muss eine reguläre Datei sein, nicht größer als 2 MiB. Siehe [Einstellungspriorität](/docs/de/settings#settings-precedence) | `claude --settings ./settings.json` |

132| `--strict-mcp-config` | Verwenden Sie nur MCP-Server aus `--mcp-config`, ignorieren Sie alle anderen MCP-Konfigurationen. Siehe [Exklusive Kontrolle mit managed-mcp.json](/docs/de/managed-mcp#exclusive-control-with-managed-mcp-json) für das, was das Flag unter einer verwalteten MCP-Datei bewirkt | `claude --strict-mcp-config --mcp-config ./mcp.json` |132| `--strict-mcp-config` | Verwenden Sie nur MCP-Server aus `--mcp-config`, ignorieren Sie alle anderen MCP-Konfigurationen. Siehe [Exklusive Kontrolle mit managed-mcp.json](/docs/de/managed-mcp#exclusive-control-with-managed-mcp-json) für das, was die Flagge unter einer verwalteten MCP-Datei tut | `claude --strict-mcp-config --mcp-config ./mcp.json` |

133| `--system-prompt` | Ersetzen Sie den gesamten Systemprompt durch benutzerdefinierten Text | `claude --system-prompt "You are a Python expert"` |133| `--system-prompt` | Ersetzen Sie den gesamten System-Prompt durch benutzerdefinierten Text | `claude --system-prompt "You are a Python expert"` |

134| `--system-prompt-file` | Laden Sie den Systemprompt aus einer Datei, ersetzen Sie den Standard-Prompt | `claude --system-prompt-file ./custom-prompt.txt` |134| `--system-prompt-file` | Laden Sie den System-Prompt aus einer Datei, ersetzen Sie den Standard-Prompt | `claude --system-prompt-file ./custom-prompt.txt` |

135| `--system-prompt-snapshot` | Übergeben Sie `off`, um den Systemprompt bei jeder Anfrage neu zu erstellen, anstatt den Prompt [aufgezeichnet bei der ersten Anfrage der Konversation](#system-prompt-flags-in-resumed-conversations) wiederzuverwenden, zum Beispiel während Sie den Text von `--append-system-prompt` über `--continue` Läufe hinweg iterieren. Erfordert Claude Code v2.1.257 oder später | `claude --system-prompt-snapshot off` |135| `--system-prompt-snapshot` | Übergeben Sie `off`, um den System-Prompt bei jeder Anfrage neu zu erstellen, anstatt den Prompt [aufgezeichnet bei der ersten Anfrage der Konversation](#system-prompt-flags-in-resumed-conversations) wiederzuverwenden, z. B. während Sie die Formulierung über `--continue`-Läufe hinweg iterieren. Erfordert Claude Code v2.1.257 oder später | `claude --system-prompt-snapshot off` |

136| `--teleport` | Setzen Sie eine [Web-Sitzung](/docs/de/claude-code-on-the-web) in Ihrem lokalen Terminal fort | `claude --teleport` |136| `--teleport` | Setzen Sie eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) in Ihrem lokalen Terminal fort | `claude --teleport` |

137| `--teammate-mode` | Legen Sie fest, wie [Agent-Team](/docs/de/agent-teams) Teamkollegen angezeigt werden: `in-process` (Standard), `auto`, `tmux` oder `iterm2` (hinzugefügt in v2.1.186). Überschreibt die [`teammateMode`](/docs/de/settings-reference#teammatemode) Einstellung für diese Sitzung. Siehe [Anzeigemodus wählen](/docs/de/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |137| `--teammate-mode` | Legen Sie fest, wie [Agent-Team](/docs/de/agent-teams)-Teamkollegen angezeigt werden: `in-process` (Standard), `auto`, `tmux`, oder `iterm2` (hinzugefügt in v2.1.186). Überschreibt die [`teammateMode`](/docs/de/settings-reference#teammatemode)-Einstellung für diese Sitzung. Siehe [Anzeigemodus wählen](/docs/de/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |

138| `--tmux` | Erstellen Sie eine tmux-Sitzung für den Worktree. Erfordert `--worktree`. Verwendet native iTerm2-Bereiche, wenn verfügbar; übergeben Sie `--tmux=classic` für traditionelles tmux | `claude -w feature-auth --tmux` |138| `--tmux` | Erstellen Sie eine Tmux-Sitzung für den Worktree. Erfordert `--worktree`. Verwendet native iTerm2-Bereiche, wenn verfügbar; übergeben Sie `--tmux=classic` für traditionelles Tmux | `claude -w feature-auth --tmux` |

139| `--tools` | Beschränken Sie, welche integrierten Tools Claude verwenden kann. Verwenden Sie `""`, um alle zu deaktivieren, `"default"` für die Standard-Gruppe, oder Tool-Namen wie `"Bash,Edit,Read"`. Auf macOS, Linux und WSL lässt die Standard-Gruppe `Glob` und `Grep` aus, wie unter [Glob-Tool-Verhalten](/docs/de/tools-reference#glob-tool-behavior) beschrieben. Wenn Sie eines der [Task-Tracking-Tools](/docs/de/tools-reference#task-tool-availability) hier benennen, aktiviert Claude Code die Sitzung auch dafür. Das Flag beeinflusst MCP-Tools nicht; um diese auch zu verweigern, verwenden Sie `--disallowedTools "mcp__*"`. Eine Liste, die [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) auslässt, entfernt es nicht; `""` entfernt es nur, wenn keine MCP-Tools verbleiben | `claude --tools "Bash,Edit,Read"` |139| `--tools` | Beschränken Sie, welche integrierten Tools Claude verwenden kann. Verwenden Sie `""`, um alle zu deaktivieren, `"default"` für den Standard-Satz, oder Tool-Namen wie `"Bash,Edit,Read"`. Auf macOS, Linux und WSL lässt der Standard-Satz `Glob` und `Grep` weg, wie unter [Glob-Tool-Verhalten](/docs/de/tools-reference#glob-tool-behavior) beschrieben. Wenn Sie eines der [Task-Tracking-Tools](/docs/de/tools-reference#task-tool-availability) hier benennen, aktiviert Claude Code die Sitzung auch dafür. Die Flagge beeinflusst MCP-Tools nicht; um diese auch zu verweigern, verwenden Sie `--disallowedTools "mcp__*"`. Eine Liste, die [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) auslässt, entfernt es nicht; `""` entfernt es nur, wenn keine MCP-Tools verbleiben | `claude --tools "Bash,Edit,Read"` |

140| `--verbose` | Aktivieren Sie ausführliches Logging, zeigt vollständige Turn-by-Turn-Ausgabe. Überschreibt die [`viewMode`](/docs/de/settings-reference#viewmode) Einstellung für diese Sitzung | `claude --verbose` |140| `--verbose` | Aktivieren Sie ausführliches Logging, zeigt vollständige Turn-by-Turn-Ausgabe. Überschreibt die [`viewMode`](/docs/de/settings-reference#viewmode)-Einstellung für diese Sitzung | `claude --verbose` |

141| `--version`, `-v` | Geben Sie die Versionsnummer aus | `claude -v` |141| `--version`, `-v` | Geben Sie die Versionsnummer aus | `claude -v` |

142| `--worktree`, `-w` | Starten Sie Claude in einem isolierten [Git Worktree](/docs/de/worktrees) bei `<repo>/.claude/worktrees/<name>`. Wenn Sie keinen Namen angeben, wird einer automatisch generiert. Übergeben Sie `#<number>`, eine GitHub Pull Request URL oder eine GitLab Merge Request URL, um [diesen PR oder MR von `origin` abzurufen und den Worktree davon zu verzweigen](/docs/de/worktrees#branch-from-a-pull-request). Das Verzweigen von einer GitLab Merge Request erfordert Claude Code v2.1.233 oder später | `claude -w feature-auth` |142| `--worktree`, `-w` | Starten Sie Claude in einem isolierten [Git-Worktree](/docs/de/worktrees) unter `<repo>/.claude/worktrees/<name>`. Wenn Sie keinen Namen angeben, generiert Claude Code einen. Übergeben Sie `#<number>`, eine GitHub-Pull-Request-URL oder eine GitLab-Merge-Request-URL, um [diesen PR oder MR von `origin` abzurufen und den Worktree davon zu verzweigen](/docs/de/worktrees#branch-from-a-pull-request). Das Verzweigen von einer GitLab-Merge-Request erfordert Claude Code v2.1.233 oder später | `claude -w feature-auth` |

143 143 

144<h3 id="system-prompt-flags">144<h3 id="system-prompt-flags">

145 System-Prompt-Flags145 System-Prompt-Flaggen

146</h3>146</h3>

147 147 

148Claude Code bietet fünf Flags zum Anpassen des Systemprompts. Vier setzen seinen Text, und mit `--system-prompt-snapshot` kontrollieren Sie, ob eine Konversation den Text behält, mit dem sie gestartet wurde. Alle fünf funktionieren sowohl im interaktiven als auch im nicht-interaktiven Modus.148Claude Code bietet fünf Flaggen zum Anpassen des System-Prompts. Vier setzen seinen Text, und mit `--system-prompt-snapshot` kontrollieren Sie, ob eine Konversation den Text behält, mit dem sie begonnen hat. Alle fünf funktionieren sowohl im interaktiven als auch im nicht-interaktiven Modus.

149 149 

150| Flag | Verhalten | Beispiel |150| Flag | Verhalten | Beispiel |

151| :---------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |151| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |

152| `--system-prompt` | Ersetzt den gesamten Standard-Prompt | `claude --system-prompt "You are a Python expert"` |152| `--system-prompt` | Ersetzt den gesamten Standard-Prompt | `claude --system-prompt "You are a Python expert"` |

153| `--system-prompt-file` | Ersetzt mit Dateiinhalten | `claude --system-prompt-file ./prompts/review.txt` |153| `--system-prompt-file` | Ersetzt mit Dateiinhalten | `claude --system-prompt-file ./prompts/review.txt` |

154| `--append-system-prompt` | Fügt zum Standard-Prompt an | `claude --append-system-prompt "Always use TypeScript"` |154| `--append-system-prompt` | Fügt an den Standard-Prompt an | `claude --append-system-prompt "Always use TypeScript"` |

155| `--append-system-prompt-file` | Fügt Dateiinhalte zum Standard-Prompt an | `claude --append-system-prompt-file ./style-rules.txt` |155| `--append-system-prompt-file` | Fügt Dateiinhalte an den Standard-Prompt an | `claude --append-system-prompt-file ./style-rules.txt` |

156| `--system-prompt-snapshot` | Mit `off` wird der Prompt bei jeder Anfrage neu erstellt. Mit `on`, dem Standard, wird ein aufgezeichneter Prompt wiederverwendet, wo [Aufzeichnung anwendbar ist](#system-prompt-flags-in-resumed-conversations) | `claude --append-system-prompt "Draft rules" --system-prompt-snapshot off` |156| `--system-prompt-snapshot` | Mit `off` wird der Prompt bei jeder Anfrage neu erstellt. Mit `on`, dem Standard, wird ein aufgezeichneter Prompt wiederverwendet, wo [Aufzeichnung gilt](#system-prompt-flags-in-resumed-conversations) | `claude --append-system-prompt "Draft rules" --system-prompt-snapshot off` |

157 157 

158`--system-prompt` und `--system-prompt-file` schließen sich gegenseitig aus. Die Append-Flags können mit einem der Ersetzungs-Flags kombiniert werden.158`--system-prompt` und `--system-prompt-file` schließen sich gegenseitig aus. Die Append-Flaggen können mit einer der Ersetzungsflaggen kombiniert werden.

159 159 

160Wählen Sie basierend darauf, ob Claude Codes Standard-Identität noch zu Ihrer Aufgabe passt. Verwenden Sie ein Append-Flag, wenn Claude ein Coding-Assistent bleiben sollte, der auch Ihre zusätzlichen Regeln befolgt: Pro-Aufruf-Anweisungen, Ausgabeformatierung oder Domänenkontext für ein `-p` Skript. Das Anhängen bewahrt die Standard-Tool-Anleitung, Sicherheitsanweisungen und Coding-Konventionen, sodass Sie nur das liefern, was sich unterscheidet. Verwenden Sie ein Ersetzungs-Flag, wenn sich die Oberfläche, Identität oder das Berechtigungsmodell von Claude Code unterscheidet, wie ein Nicht-Coding-Agent in einer Pipeline, die kein Mensch überwacht. Das Ersetzen verwirft den gesamten Standard-Prompt, einschließlich Tool-Anleitung und Sicherheitsanweisungen, sodass Sie die Verantwortung für das übernehmen, was Ihre Aufgabe noch benötigt.160Wählen Sie basierend darauf, ob Claudes Standard-Identität immer noch zu Ihrer Aufgabe passt. Verwenden Sie eine Append-Flagge, wenn Claude ein Coding-Assistent bleiben sollte, der auch Ihre zusätzlichen Regeln befolgt: Pro-Aufruf-Anweisungen, Ausgabeformatierung oder Domänenkontext für ein `-p`-Skript. Das Anhängen bewahrt die Standard-Tool-Anleitung, Sicherheitsanweisungen und Coding-Konventionen, daher müssen Sie nur das liefern, was sich unterscheidet. Verwenden Sie eine Ersetzungsflagge, wenn sich die Oberfläche, Identität oder das Berechtigungsmodell von Claude Code unterscheidet, wie ein nicht-Coding-Agent in einer Pipeline, die kein Mensch überwacht. Das Ersetzen lässt den gesamten Standard-Prompt fallen, einschließlich Tool-Anleitung und Sicherheitsanweisungen, daher übernehmen Sie die Verantwortung für das, was Ihre Aufgabe noch benötigt.

161 161 

162Für persistente Personas, die Sie zwischen verschiedenen Projekten wechseln und teilen können, verwenden Sie [Ausgabestile](/docs/de/output-styles). Für Projektkonventionen, die Claude immer befolgen sollte, verwenden Sie [CLAUDE.md](/docs/de/memory). Der [Agent SDK-Leitfaden zu Systemprompts](/docs/de/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) behandelt die gleiche Entscheidung ausführlicher.162Für persistente Personas, die Sie zwischen ihnen wechseln und über ein Projekt hinweg teilen können, verwenden Sie [Ausgabestile](/docs/de/output-styles). Für Projektkonventionen, die Claude immer befolgen sollte, verwenden Sie [CLAUDE.md](/docs/de/memory). Der [Agent SDK-Leitfaden zu System-Prompts](/docs/de/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) behandelt die gleiche Entscheidung ausführlicher.

163 163 

164<h4 id="system-prompt-flags-in-resumed-conversations">164<h4 id="system-prompt-flags-in-resumed-conversations">

165 System-Prompt-Flags in fortgesetzten Konversationen165 System-Prompt-Flaggen in fortgesetzten Konversationen

166</h4>166</h4>

167 167 

168Standardmäßig erstellt Claude Code den Systemprompt einmal, bei der ersten Anfrage einer Konversation, mit dem Text aus allen System-Prompt-Flags angewendet, und zeichnet ihn in der Sitzung auf. Bis die Konversation komprimiert wird, verwendet jede spätere Anfrage diesen aufgezeichneten Prompt, auch nachdem Sie zur Konversation mit `--resume` oder `--continue` zurückkehren. Wenn Sie bei diesem späteren Start unterschiedlichen System-Prompt-Flag-Text übergeben, oder keinen, tritt er in Kraft, sobald die Konversation komprimiert wird oder wenn Sie eine neue Konversation starten.168Standardmäßig erstellt Claude Code den System-Prompt einmal, bei der ersten Anfrage einer Konversation, mit dem Text aus allen angewendeten System-Prompt-Flaggen, und zeichnet ihn in der Sitzung auf. Bis die Konversation komprimiert wird, verwendet jede spätere Anfrage diesen aufgezeichneten Prompt, auch nachdem Sie zur Konversation mit `--resume` oder `--continue` zurückkehren. Wenn Sie beim späteren Start unterschiedlichen System-Prompt-Flag-Text übergeben oder keinen, tritt er in Kraft, sobald die Konversation komprimiert wird oder wenn Sie eine neue Konversation starten.

169 169 

170Wenn Sie Claude Code im [Bare-Modus](/docs/de/headless#start-faster-with-bare-mode) starten, indem Sie `--bare` übergeben oder `CLAUDE_CODE_SIMPLE=1` setzen, bleibt die Aufzeichnung aus, es sei denn, Sie übergeben `--system-prompt-snapshot on`. Vor v2.1.268 bauten Sitzungen, die keine [Feature-Flags abrufen](/docs/de/env-vars#features-that-need-feature-flag-fetching), einschließlich Sitzungen auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, den Prompt bei jeder Anfrage neu auf und `--system-prompt-snapshot` hatte keine Auswirkung.170Außerhalb von [Cloud-Sitzungen](/docs/de/cloud-environments) startet Claude Code im [Bare-Modus](/docs/de/headless#start-faster-with-bare-mode) durch Übergabe von `--bare` oder Setzen von `CLAUDE_CODE_SIMPLE=1`, die Aufzeichnung bleibt aus, es sei denn, Sie übergeben `--system-prompt-snapshot on`. Vor v2.1.268 erstellten Sitzungen, die [Feature-Flags nicht abrufen](/docs/de/env-vars#features-that-need-feature-flag-fetching), einschließlich Sitzungen auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, den Prompt bei jeder Anfrage neu und `--system-prompt-snapshot` hatte keine Auswirkung.

171 171 

172Um den Prompt bei jeder Anfrage neu zu erstellen, zum Beispiel während Sie seine Formulierung über `--continue` Läufe hinweg iterieren, übergeben Sie `--system-prompt-snapshot off`. Vor v2.1.265 schaltete das Übergeben eines der System-Prompt-Flags auch die Aufzeichnung aus, es sei denn, Sie übergaben `--system-prompt-snapshot on`.172Um den Prompt bei jeder Anfrage neu zu erstellen, z. B. während Sie seine Formulierung über `--continue`-Läufe hinweg iterieren, übergeben Sie `--system-prompt-snapshot off`. Vor v2.1.265 schaltete das Übergeben einer der System-Prompt-Flaggen auch die Aufzeichnung aus, es sei denn, Sie übergaben `--system-prompt-snapshot on`.

173 173 

174<h2 id="see-also">174<h2 id="see-also">

175 Siehe auch175 Siehe auch

Details

7> Konfigurieren Sie Cloud-Umgebungen für Claude Code Cloud-Sitzungen: Netzwerkzugriffsstufen, Umgebungsvariablen, Setup-Skripte und Umgebungs-Caching.7> Konfigurieren Sie Cloud-Umgebungen für Claude Code Cloud-Sitzungen: Netzwerkzugriffsstufen, Umgebungsvariablen, Setup-Skripte und Umgebungs-Caching.

8 8 

9<Note>9<Note>

10 Cloud-Umgebungen erfordern [Claude Code im Web](/docs/de/claude-code-on-the-web), das sich in der Forschungsvorschau für Pro-, Max- und Team-Benutzer sowie für Enterprise-Benutzer mit [Premium-Sitzen oder Chat + Claude Code-Sitzen](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) befindet.10 Cloud-Umgebungen gelten für [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), die sich in der Forschungsvorschau für Pro-, Max- und Team-Benutzer sowie für Enterprise-Benutzer mit [Premium-Sitzen oder Chat + Claude Code-Sitzen](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) befinden.

11</Note>11</Note>

12 12 

13Jede [Cloud-Sitzung](/docs/de/claude-code-on-the-web) wird in einer Cloud-Umgebung ausgeführt. Sie können eine Umgebung so konfigurieren, dass sie [Netzwerkzugriff](#access-levels) zulässt oder verweigert, [Umgebungsvariablen](#set-environment-variables) für die Sitzung festlegt, auf Pro- und Max-Plänen [API-Anmeldedaten](#add-api-credentials) speichert, die Sitzungen verwenden, ohne sie zu sehen, und ein [Setup-Skript](#setup-scripts) ausführt, bevor Claude mit der Arbeit beginnt.13Jede [Cloud-Sitzung](/docs/de/claude-code-on-the-web) wird in einer Cloud-Umgebung ausgeführt. Sie können eine Umgebung so konfigurieren, dass sie [Netzwerkzugriff](#access-levels) zulässt oder verweigert, [Umgebungsvariablen](#set-environment-variables) für die Sitzung festlegt, auf Pro- und Max-Plänen [API-Anmeldedaten](#add-api-credentials) speichert, die Sitzungen verwenden, ohne sie zu sehen, und ein [Setup-Skript](#setup-scripts) ausführt, bevor Claude mit der Arbeit beginnt.

14 14 

15Die gleichen Umgebungen gelten überall dort, wo Sie eine Cloud-Sitzung starten: [Claude Code im Web](/docs/de/claude-code-on-the-web), das Terminal mit [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-web), [Claude Tag](https://claude.com/docs/claude-tag/overview), [Routinen](/docs/de/routines), die [Claude Mobile-App](/docs/de/mobile) und die [Desktop-App](/docs/de/desktop). Jede dieser Oberflächen kann auch zu einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) weiterleiten. [Verfügbarkeit und Einschränkungen](/docs/de/self-hosted-environments#availability-and-limitations) behandelt, was Claude noch nicht verwenden kann, wenn eine Claude Tag-Sitzung in einer ausgeführt wird.15Die gleichen Umgebungen gelten überall dort, wo Sie eine Cloud-Sitzung starten: die [Desktop-App](/docs/de/desktop), die [Claude Mobile-App](/docs/de/mobile), Ihr Browser unter [claude.ai/code](https://claude.ai/code), das Terminal mit [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-cloud), [Routinen](/docs/de/routines) und [Claude Tag](https://claude.com/docs/claude-tag/overview). Jede dieser Oberflächen kann auch zu einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) weiterleiten. [Verfügbarkeit und Einschränkungen](/docs/de/self-hosted-environments#availability-and-limitations) behandelt, was Claude noch nicht verwenden kann, wenn eine Claude Tag-Sitzung in einer ausgeführt wird.

16 16 

17<Info>17<Info>

18 [Remote Control](/docs/de/remote-control)-Sitzungen verbinden die Web- und Mobile-Schnittstellen mit einer Sitzung auf Ihrem eigenen Computer, die das Netzwerk und die Dateien Ihres Computers nutzt, nicht eine Cloud-Umgebung. Claude Tag-Kanalsitzungen verwenden nur Umgebungen auf Organisationsebene, entweder [gemeinsame Umgebungen](#organization-shared-environments) oder [selbstgehostete Umgebungen](/docs/de/self-hosted-environments).18 [Remote Control](/docs/de/remote-control)-Sitzungen verbinden die Web- und Mobile-Schnittstellen mit einer Sitzung auf Ihrem eigenen Computer, die das Netzwerk und die Dateien Ihres Computers nutzt, nicht eine Cloud-Umgebung. Claude Tag-Kanalsitzungen verwenden nur Umgebungen auf Organisationsebene, entweder [gemeinsame Umgebungen](#organization-shared-environments) oder [selbstgehostete Umgebungen](/docs/de/self-hosted-environments).


35 35 

36Wenn nur **Standard** verfügbar ist, wird jede Sitzung darin ausgeführt. Wenn Sie mehr als eine Umgebung haben, wählen Sitzungen eine pro Oberfläche:36Wenn nur **Standard** verfügbar ist, wird jede Sitzung darin ausgeführt. Wenn Sie mehr als eine Umgebung haben, wählen Sitzungen eine pro Oberfläche:

37 37 

38* Im Web, in der Desktop-App und in der Mobile-App verwenden Sitzungen die im [Selector](#configure-your-environment) angezeigte Umgebung. Ein [Organisations-Standard](#organization-shared-environments), der von einem Eigentümer festgelegt wurde, füllt die Auswahl, wenn Sie noch keine ausgewählt haben.38* In der Desktop-App, der Mobile-App und unter claude.ai/code verwenden Sitzungen die im [Selector](#configure-your-environment) angezeigte Umgebung. Ein [Organisations-Standard](#organization-shared-environments), der von einem Eigentümer festgelegt wurde, füllt die Auswahl, wenn Sie noch keine ausgewählt haben. Threads in einem [Projekt](/docs/de/claude-projects#project-settings-reference) verwenden stattdessen die in den Projekteinstellungen festgelegte Umgebung.

39* Aus der CLI verwendet Claude Code Ihre [`/remote-env`-Auswahl](#select-an-environment-from-the-cli) oder fällt auf die von Anthropic gehostete Umgebung zurück, wenn Ihre Liste eine hat, und andernfalls auf die erste Umgebung in Ihrer Liste, die keine Bridge-Umgebung ist, ein Eintrag [Remote Control](/docs/de/remote-control) registriert, um Ihren eigenen Computer darzustellen, anstatt eine Cloud-Umgebung. Für eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) überschreibt das Übergeben von `--environment <environment-id>` mit ihrer `ccpool_`-ID [wenn Sie eine Sitzung versenden](/docs/de/self-hosted-environments-testing#run-the-test-loop) die `/remote-env`-Auswahl und den Fallback für diese Invocation. Claude Code lehnt von Anthropic gehostete `env_`-IDs ab, die an das Flag übergeben werden, daher verwenden Sie `/remote-env`, um diese anzusteuern. Das Flag erfordert Claude Code v2.1.224 oder später.39* Aus der CLI verwendet Claude Code Ihre [`/remote-env`-Auswahl](#select-an-environment-from-the-cli) oder fällt auf die von Anthropic gehostete Umgebung zurück, wenn Ihre Liste eine hat, und andernfalls auf die erste Umgebung in Ihrer Liste, die keine Bridge-Umgebung ist, ein Eintrag [Remote Control](/docs/de/remote-control) registriert, um Ihren eigenen Computer darzustellen, anstatt eine Cloud-Umgebung. Für eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) überschreibt das Übergeben von `--environment <environment-id>` mit ihrer `ccpool_`-ID [wenn Sie eine Sitzung versenden](/docs/de/self-hosted-environments-testing#run-the-test-loop) die `/remote-env`-Auswahl und den Fallback für diese Invocation. Claude Code lehnt von Anthropic gehostete `env_`-IDs ab, die an das Flag übergeben werden, daher verwenden Sie `/remote-env`, um diese anzusteuern. Das Flag erfordert Claude Code v2.1.224 oder später.

40 40 

41Konfigurieren Sie eine Umgebung, wenn der Standard nicht ausreicht: wenn Claude Domänen außerhalb der [Standard-Whitelist](#default-allowed-domains) erreichen muss, Umgebungsvariablen für seine Sitzungen benötigt oder Abhängigkeiten installiert werden müssen, bevor es mit der Arbeit beginnt.41Konfigurieren Sie eine Umgebung, wenn der Standard nicht ausreicht: wenn Claude Domänen außerhalb der [Standard-Whitelist](#default-allowed-domains) erreichen muss, Umgebungsvariablen für seine Sitzungen benötigt oder Abhängigkeiten installiert werden müssen, bevor es mit der Arbeit beginnt.


51 Wählen Sie auf [claude.ai/code](https://claude.ai/code) das Cloud-Symbol aus, das den Namen der aktuellen Umgebung anzeigt, in der Zeile über dem Nachrichtenfeld. Es gibt keine Einstellungsseite oder direkte URL für die Auswahl.51 Wählen Sie auf [claude.ai/code](https://claude.ai/code) das Cloud-Symbol aus, das den Namen der aktuellen Umgebung anzeigt, in der Zeile über dem Nachrichtenfeld. Es gibt keine Einstellungsseite oder direkte URL für die Auswahl.

52 52 

53 <Frame>53 <Frame>

54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="Die Umgebungsauswahl ist über dem Nachrichtenfeld auf claude.ai/code geöffnet. Die Cloud-Schaltfläche mit dem Umgebungsnamen „Default&#x22; befindet sich in der Zeile über dem Nachrichtenfeld. Das offene Menü zeigt eine lokale Zeile mit den Bezeichnungen „Download&#x22; und „Desktop only&#x22;, einen Cloud-Bereich, in dem die Umgebung „Default&#x22; mit einem Häkchen ausgewählt ist und beim Hovern ein Einstellungszahnrad anzeigt, eine Option „Add cloud environment&#x22; und einen Bereich „Remote Control&#x22; mit Setupanweisungen." width="1672" height="682" data-path="images/cloud-environment-selector.png" />54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="Die Umgebungsauswahl ist über dem Nachrichtenfeld auf claude.ai/code geöffnet. Die Cloud-Schaltfläche mit dem Umgebungsnamen Default befindet sich in der Zeile über dem Nachrichtenfeld. Das offene Menü zeigt eine lokale Zeile mit den Bezeichnungen Download und Desktop only, einen Cloud-Bereich, in dem die Umgebung Default mit einem Häkchen ausgewählt ist und beim Hovern ein Einstellungszahnrad anzeigt, eine Option Add cloud environment und einen Bereich Remote Control mit Setupanweisungen." width="1672" height="682" data-path="images/cloud-environment-selector.png" />

55 </Frame>55 </Frame>

56 </Step>56 </Step>

57 57 


59 Wählen Sie **Add cloud environment** aus, oder bewegen Sie den Mauszeiger über eine vorhandene Umgebung und wählen Sie das Einstellungssymbol aus, das auf der rechten Seite angezeigt wird. Der Dialog enthält den Namen, die Netzwerkzugriffsstufe, Umgebungsvariablen und ein Setup-Skript. Wenn Sie eine vorhandene Cloud-Umgebung auf einem Pro- oder Max-Plan bearbeiten, enthält der Dialog auch [API-Anmeldedaten](#add-api-credentials).59 Wählen Sie **Add cloud environment** aus, oder bewegen Sie den Mauszeiger über eine vorhandene Umgebung und wählen Sie das Einstellungssymbol aus, das auf der rechten Seite angezeigt wird. Der Dialog enthält den Namen, die Netzwerkzugriffsstufe, Umgebungsvariablen und ein Setup-Skript. Wenn Sie eine vorhandene Cloud-Umgebung auf einem Pro- oder Max-Plan bearbeiten, enthält der Dialog auch [API-Anmeldedaten](#add-api-credentials).

60 60 

61 <Frame>61 <Frame>

62 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="Der Dialog „New cloud environment&#x22;. Ein Namensfeld mit dem Platzhalter „Default&#x22;, eine Netzwerkzugriff-Auswahl auf „Trusted&#x22; mit Links zur Netzwerkrichtlinie und Zugriffsstufen, ein Feld für Umgebungsvariablen mit .env-Format-Platzhaltertext und einem Hinweis, dass Werte für jeden sichtbar sind, der die Umgebung nutzt, ein Feld für das Setup-Skript, das als Bash-Skript beschrieben wird und beim Start einer neuen Sitzung ausgeführt wird, bevor Claude Code startet, sowie Schaltflächen „Cancel&#x22; und „Create environment&#x22;." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />62 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="Der Dialog New cloud environment. Ein Namensfeld mit dem Platzhalter Default, eine Netzwerkzugriff-Auswahl auf Trusted mit Links zur Netzwerkrichtlinie und Zugriffsstufen, ein Feld für Umgebungsvariablen mit .env-Format-Platzhaltertext und einem Hinweis, dass Werte für jeden sichtbar sind, der die Umgebung nutzt, ein Feld für das Setup-Skript, das als Bash-Skript beschrieben wird und beim Start einer neuen Sitzung ausgeführt wird, bevor Claude Code startet, sowie Schaltflächen Cancel und Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />

63 </Frame>63 </Frame>

64 </Step>64 </Step>

65</Steps>65</Steps>


80 80 

81Jede Sitzung kopiert die Werte der Umgebung einmal beim Start in gewöhnliche Umgebungsvariablen, die jeder Befehl, den Claude ausführt, lesen kann. Da laufende Sitzungen die Konfiguration nicht erneut lesen, wirken sich Änderungen oder Hinzufügungen von Variablen auf Sitzungen aus, die Sie danach starten; Sitzungen, die bereits laufen, behalten die Werte, mit denen sie gestartet wurden.81Jede Sitzung kopiert die Werte der Umgebung einmal beim Start in gewöhnliche Umgebungsvariablen, die jeder Befehl, den Claude ausführt, lesen kann. Da laufende Sitzungen die Konfiguration nicht erneut lesen, wirken sich Änderungen oder Hinzufügungen von Variablen auf Sitzungen aus, die Sie danach starten; Sitzungen, die bereits laufen, behalten die Werte, mit denen sie gestartet wurden.

82 82 

83Claude Code im Web setzt auch einige Variablen selbst, wenn es eine Sitzung startet. Für [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/de/claude-code-on-the-web#manage-context) überschreibt der Wert, den Claude Code im Web setzt, einen, den Sie hier hinzufügen, daher hat das Hinzufügen dieses Schlüssels hier keine Auswirkung.83Eine Cloud-Sitzung setzt auch einige Variablen selbst, wenn sie startet. Für [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/de/claude-code-on-the-web#manage-context) überschreibt der Wert, den die Sitzung setzt, einen, den Sie hier hinzufügen, daher hat das Hinzufügen dieses Schlüssels hier keine Auswirkung.

84 84 

85Jeder, der die Umgebung nutzt, kann die Werte lesen. Auf Pro- und Max-Plänen verwenden Sie stattdessen eine [API-Anmeldedaten](#add-api-credentials) für einen Schlüssel, den der Agent-Proxy an eine Anfrage anhängen kann. Die [Anfragen, die niemals eine Anmeldedaten erhalten](#requests-that-never-get-the-credential), sind dort aufgelistet.85Jeder, der die Umgebung nutzt, kann die Werte lesen. Auf Pro- und Max-Plänen verwenden Sie stattdessen eine [API-Anmeldedaten](#add-api-credentials) für einen Schlüssel, den der Agent-Proxy an eine Anfrage anhängen kann. Die [Anfragen, die niemals eine Anmeldedaten erhalten](#requests-that-never-get-the-credential), sind dort aufgelistet.

86 86 


103 * Auf Pro und Max halten Sie sie in Ihrer eigenen Organisation103 * Auf Pro und Max halten Sie sie in Ihrer eigenen Organisation

104 * Ohne sie sehen Sie stattdessen einen Hinweis auf der Anmeldedaten-Liste, auch auf Ihren eigenen Umgebungen. Bitten Sie einen Eigentümer, die Anmeldedaten zu einer gemeinsamen Umgebung hinzuzufügen und Ihre Sitzungen dort auszuführen104 * Ohne sie sehen Sie stattdessen einen Hinweis auf der Anmeldedaten-Liste, auch auf Ihren eigenen Umgebungen. Bitten Sie einen Eigentümer, die Anmeldedaten zu einer gemeinsamen Umgebung hinzuzufügen und Ihre Sitzungen dort auszuführen

105* **Umgebungstyp**: eine von Anthropic gehostete Cloud-Umgebung, die bereits existiert. Eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) hat keine API-Anmeldedaten105* **Umgebungstyp**: eine von Anthropic gehostete Cloud-Umgebung, die bereits existiert. Eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) hat keine API-Anmeldedaten

106* **API-Erreichbarkeit**: die API akzeptiert Verbindungen aus dem Internet, da Anfragen aus Anthropic-Netzwerk verlassen106* **API-Erreichbarkeit**: die API akzeptiert Verbindungen aus dem Internet, da Anfragen aus dem Anthropic-Netzwerk verlassen

107* **Verschlüsselungsschlüssel**: wenn Ihre Organisation kundenverwaltete Verschlüsselungsschlüssel verwendet, können Sie keine Anmeldedaten speichern107* **Verschlüsselungsschlüssel**: wenn Ihre Organisation kundenverwaltete Verschlüsselungsschlüssel verwendet, können Sie keine Anmeldedaten speichern

108 108 

109<h4 id="add-a-credential">109<h4 id="add-a-credential">


138 Welche Anfragen erhalten die Anmeldedaten138 Welche Anfragen erhalten die Anmeldedaten

139</h4>139</h4>

140 140 

141Der Agent-Proxy fügt eine Anmeldedaten an eine Anfrage an, wenn der Host der Anfrage einem passt, den Sie auf dieser Anmeldedaten aufgelistet haben. Sitzungen können diese Hosts erreichen, auch wenn die [Netzwerkzugriffsstufe](#access-levels) der Umgebung dies sonst nicht zulassen würde, außer den [Hosts, die der Agent-Proxy überspringt](#requests-that-never-get-the-credential). Die Anmeldedaten gelten in jeder Sitzung, die in der Umgebung läuft, wer sie auch immer gestartet hat, bis Sie sie löschen.141Der Agent-Proxy fügt eine Anmeldedaten an eine Anfrage an, wenn der Host der Anfrage einem passt, den Sie auf dieser Anmeldedaten aufgelistet haben. Sitzungen können diese Hosts erreichen, auch wenn die [Netzwerkzugriffsstufe](#access-levels) der Umgebung dies sonst nicht zulassen würde, außer den [Hosts, die niemals die Anmeldedaten erhalten](#requests-that-never-get-the-credential). Die Anmeldedaten gelten in jeder Sitzung, die in der Umgebung läuft, wer sie auch immer gestartet hat, bis Sie sie löschen.

142 142 

143<h4 id="requests-that-never-get-the-credential">143<h4 id="requests-that-never-get-the-credential">

144 Anfragen, die niemals die Anmeldedaten erhalten144 Anfragen, die niemals die Anmeldedaten erhalten


154 Wählen Sie eine Umgebung aus der CLI aus154 Wählen Sie eine Umgebung aus der CLI aus

155</h3>155</h3>

156 156 

157Führen Sie `/remote-env` in Ihrem Terminal aus, um die Standardumgebung für Cloud-Sitzungen auszuwählen, die Sie über die CLI erstellen, wie [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-web). Der Befehl öffnet eine Auswahl Ihrer vorhandenen Umgebungen und speichert Ihre Wahl im Schlüssel `remote.defaultEnvironmentId` in Ihren [Benutzereinstellungen](/docs/de/settings#where-settings-live), sodass sie in jedem Projekt auf Ihrem Computer gilt, bis Sie sie ändern, es sei denn, derselbe Schlüssel ist auf einer höheren Prioritäts-[Einstellungsebene](/docs/de/settings#settings-precedence) gesetzt, wie in den Projekteinstellungen eines Repositorys.157Führen Sie `/remote-env` in Ihrem Terminal aus, um die Standardumgebung für Cloud-Sitzungen auszuwählen, die Sie über die CLI erstellen, wie [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-cloud). Der Befehl öffnet eine Auswahl Ihrer vorhandenen Umgebungen und speichert Ihre Wahl im Schlüssel `remote.defaultEnvironmentId` in Ihren [Benutzereinstellungen](/docs/de/settings#where-settings-live), sodass sie in jedem Projekt auf Ihrem Computer gilt, bis Sie sie ändern, es sei denn, derselbe Schlüssel ist auf einer höheren Prioritäts-[Einstellungsebene](/docs/de/settings#settings-precedence) gesetzt, wie in den Projekteinstellungen eines Repositorys.

158 158 

159Eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments)-ID, die die Form `ccpool_...` hat, folgt einer strengeren Quellregel. Siehe [`remote.defaultEnvironmentId`](/docs/de/settings-reference#remote-defaultenvironmentid) für die Einstellungsebenen, die Claude Code dafür berücksichtigt.159Eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments)-ID, die die Form `ccpool_...` hat, folgt einer strengeren Quellregel. Siehe [`remote.defaultEnvironmentId`](/docs/de/settings-reference#remote-defaultenvironmentid) für die Einstellungsebenen, die Claude Code dafür berücksichtigt.

160 160 


201Um die Netzwerkzugriffsstufe einer Umgebung zu ändern, [öffnen Sie sie zur Bearbeitung](#configure-your-environment) und verwenden Sie den **Network access**-Selector im Dialog. Das Cloud-Symbol, das den Selector öffnet, erscheint auf den App-Oberflächen, die unter [Die Standard-Umgebung](#the-default-environment) aufgelistet sind, und im [Routine-Editor](/docs/de/routines#environments-and-network-access); persönliche Umgebungen haben keine separate Seite in Ihren claude.ai-Kontoeinstellungen.201Um die Netzwerkzugriffsstufe einer Umgebung zu ändern, [öffnen Sie sie zur Bearbeitung](#configure-your-environment) und verwenden Sie den **Network access**-Selector im Dialog. Das Cloud-Symbol, das den Selector öffnet, erscheint auf den App-Oberflächen, die unter [Die Standard-Umgebung](#the-default-environment) aufgelistet sind, und im [Routine-Editor](/docs/de/routines#environments-and-network-access); persönliche Umgebungen haben keine separate Seite in Ihren claude.ai-Kontoeinstellungen.

202 202 

203<Note>203<Note>

204 MCP-Konnektoren, die Sie auf einer Sitzung oder Routine aktivieren, funktionieren, ohne ihre Hosts zu **Allowed domains** hinzuzufügen, da der Konnektoren-Verkehr über Anthropic-Server verläuft, anstatt über das Netzwerk der Sitzung. Sie konfigurieren Konnektoren pro Sitzung oder pro Routine; entfernen Sie alle, die Sie nicht benötigen, um zu begrenzen, welche Tools Claude erreichen kann. Dies beruht auf dem gleichen Anthropic-gebundenen Kanal, der unter [Security and isolation](/docs/de/claude-code-on-the-web#security-and-isolation) erwähnt wird.204 MCP-Konnektoren, die Sie auf einer Sitzung oder Routine aktivieren, funktionieren, ohne ihre Hosts zu **Allowed domains** hinzuzufügen, da der Konnektoren-Verkehr über Anthropic-Server verläuft, anstatt über das Netzwerk der Sitzung. Dies beruht auf dem gleichen Anthropic-gebundenen Kanal, der unter [Security and isolation](/docs/de/claude-code-on-the-web#security-and-isolation) erwähnt wird. Schalten Sie alle Konnektoren aus, die Sie nicht benötigen, um zu begrenzen, welche Tools Claude erreichen kann.

205</Note>205</Note>

206 206 

207<h3 id="access-levels">207<h3 id="access-levels">


243* **Sitzungen in dieser Umgebung öffnen öffentliche Artifacts einer anderen Organisation**: Claude Code ruft diese direkt vom Host ab, daher fügen Sie ihn zu dieser Liste hinzu.243* **Sitzungen in dieser Umgebung öffnen öffentliche Artifacts einer anderen Organisation**: Claude Code ruft diese direkt vom Host ab, daher fügen Sie ihn zu dieser Liste hinzu.

244* **Sie konfigurieren die lokale CLI oder einen selbstgehosteten Runner**: behalten Sie den Host in dieser Whitelist. Siehe [Netzwerkzugriff-Anforderungen](/docs/de/network-config#network-access-requirements) und die selbstgehosteten [Netzwerk-Anforderungen](/docs/de/self-hosted-environments-deploy#network-requirements).244* **Sie konfigurieren die lokale CLI oder einen selbstgehosteten Runner**: behalten Sie den Host in dieser Whitelist. Siehe [Netzwerkzugriff-Anforderungen](/docs/de/network-config#network-access-requirements) und die selbstgehosteten [Netzwerk-Anforderungen](/docs/de/self-hosted-environments-deploy#network-requirements).

245 245 

246Jede Umgebung hat ihre eigene Whitelist für zulässige Domänen; es gibt keine Organisations-Whitelist, die Administratoren an die Umgebungen jedes Mitglieds pushen können. [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) gelten immer noch in Cloud-Sitzungen, aber keine von ihnen fügt Domänen zur Netzwerk-Whitelist der Umgebung hinzu.246Jede Umgebung hat ihre eigene Whitelist für zulässige Domänen; es gibt keine Organisations-Whitelist, die Administratoren an die Umgebungen jedes Mitglieds pushen können. [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) gelten immer noch in Cloud-Sitzungen, aber keine von ihnen fügt Domänen zur Netzwerk-Whitelist der Umgebung hinzu. Um einem Team eine Standard-Liste zu geben, kann ein Owner eine [organisationsweite gemeinsame Umgebung](#organization-shared-environments) mit **Custom**-Netzwerkzugriff und dieser Liste erstellen.

247 247 

248<h3 id="github-proxy">248<h3 id="github-proxy">

249 GitHub-Proxy249 GitHub-Proxy


289| | Verfügbar in Cloud-Sitzungen | Warum |289| | Verfügbar in Cloud-Sitzungen | Warum |

290| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |290| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

291| Die `CLAUDE.md` Ihres Repos | Ja | Teil des Klons |291| Die `CLAUDE.md` Ihres Repos | Ja | Teil des Klons |

292| Die `.claude/settings.json`-Hooks Ihres Repos | Ja | Teil des Klons |292| Die `.claude/settings.json`-Hooks und Berechtigungsregeln Ihres Repos | Ja, in einer Sitzung mit einem Repository | Teil des Klons. Eine Sitzung mit mehreren Repositories, einschließlich eines [Projekt](/docs/de/claude-projects#what-threads-pick-up-from-your-repositories)-Threads, startet über den Klonen und liest sie nicht |

293| Die `.mcp.json` MCP-Server Ihres Repos | Ja | Teil des Klons |293| Die `.mcp.json` MCP-Server Ihres Repos | Ja, in einer Sitzung mit einem Repository | Teil des Klons, gefunden aus dem Arbeitsverzeichnis der Sitzung |

294| Das `.claude/rules/` Ihres Repos | Ja | Teil des Klons |294| Das `.claude/rules/` Ihres Repos | Ja | Teil des Klons |

295| Die `.claude/skills/`, `.claude/agents/`, `.claude/commands/` Ihres Repos | Ja | Teil des Klons |295| Die `.claude/skills/`, `.claude/agents/`, `.claude/commands/` Ihres Repos | Ja | Teil des Klons |

296| Plugins, die in `.claude/settings.json` deklariert sind | Ja | Installiert beim Sitzungsstart aus dem [Marketplace](/docs/de/plugin-marketplaces), den Sie deklariert haben. Erfordert Netzwerkzugriff, um die Marketplace-Quelle zu erreichen |296| Plugins, die in `.claude/settings.json` deklariert sind | Ja | Installiert beim Sitzungsstart aus dem [Marketplace](/docs/de/plugin-marketplaces), den Sie deklariert haben. Erfordert Netzwerkzugriff, um die Marketplace-Quelle zu erreichen |


298| Ihre Benutzer `~/.claude/CLAUDE.md` | Nein | Lebt auf Ihrem Computer, nicht im Repo |298| Ihre Benutzer `~/.claude/CLAUDE.md` | Nein | Lebt auf Ihrem Computer, nicht im Repo |

299| Ihre Benutzer `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Nein | Leben auf Ihrem Computer, nicht im Repo. Committen Sie sie stattdessen in das Verzeichnis `.claude/` des Repos. Cloud-Sitzungen laden automatisch Skills, die Sie auf claude.ai aktivieren |299| Ihre Benutzer `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Nein | Leben auf Ihrem Computer, nicht im Repo. Committen Sie sie stattdessen in das Verzeichnis `.claude/` des Repos. Cloud-Sitzungen laden automatisch Skills, die Sie auf claude.ai aktivieren |

300| Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind | Nein | Benutzer-scoped `enabledPlugins` lebt in `~/.claude/settings.json`. Deklarieren Sie sie stattdessen in der `.claude/settings.json` des Repos, oder aktivieren Sie sie für Ihr claude.ai-Konto, damit Claude Code sie als [synced plugins](/docs/de/plugins-reference#synced-plugins) lädt |300| Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind | Nein | Benutzer-scoped `enabledPlugins` lebt in `~/.claude/settings.json`. Deklarieren Sie sie stattdessen in der `.claude/settings.json` des Repos, oder aktivieren Sie sie für Ihr claude.ai-Konto, damit Claude Code sie als [synced plugins](/docs/de/plugins-reference#synced-plugins) lädt |

301| MCP-Server, die Sie mit `claude mcp add` im Standard-lokalen Bereich oder Benutzerbereich hinzugefügt haben | Nein | Diese schreiben in `~/.claude.json` auf Ihrem Computer, nicht im Repo. Fügen Sie den Server mit `claude mcp add --scope project` hinzu, das die [`.mcp.json`](/docs/de/mcp#project-scope) des Repos schreibt, und committen Sie diese Datei |301| MCP-Server, die Sie mit `claude mcp add` im Standard-lokalen Bereich oder Benutzerbereich hinzugefügt haben | Nein | Diese schreiben in `~/.claude.json` auf Ihrem Computer, nicht im Repo. Fügen Sie den Server mit `claude mcp add --scope project` hinzu, das die [`.mcp.json`](/docs/de/mcp#project-scope) des Repos schreibt, und committen Sie diese Datei. Eine Sitzung mit einem Repository lädt sie |

302| Transport-Variablen in der `.claude/settings.json` `env`-Block Ihres Repos, wie `NODE_EXTRA_CA_CERTS` und die [mTLS-Client-Zertifikat-Variablen](/docs/de/network-config#mtls-authentication) | Nein | Die Hosting-Umgebung verwaltet die API-Verbindung der Sitzung, daher ignoriert Claude Code diese Schlüssel und notiert jeden ignorierten Schlüssel im Debug-Log der Sitzung |302| Transport-Variablen in der `.claude/settings.json` `env`-Block Ihres Repos, wie `NODE_EXTRA_CA_CERTS` und die [mTLS-Client-Zertifikat-Variablen](/docs/de/network-config#mtls-authentication) | Nein | Die Hosting-Umgebung verwaltet die API-Verbindung der Sitzung, daher ignoriert Claude Code diese Schlüssel und notiert jeden ignorierten Schlüssel im Debug-Log der Sitzung |

303| API-Schlüssel und Tokens für Services, die Claude aufruft | Auf Pro- und Max-Plänen, als [API-Anmeldedaten](#add-api-credentials) | Sie fügen den Schlüssel einmal auf der Umgebung hinzu und der Agent-Proxy fügt ihn an Anfragen für die Hosts an, die Sie auflisten. Ein Schlüssel, den der Agent-Proxy [nicht anhängen kann](#requests-that-never-get-the-credential), oder ein beliebiger Schlüssel auf einem Team- oder Enterprise-Plan, bleibt in einer Umgebungsvariable |303| API-Schlüssel und Tokens für Services, die Claude aufruft | Auf Pro- und Max-Plänen, als [API-Anmeldedaten](#add-api-credentials) | Sie fügen den Schlüssel einmal auf der Umgebung hinzu und der Agent-Proxy fügt ihn an Anfragen für die Hosts an, die Sie auflisten. Ein Schlüssel, den der Agent-Proxy [nicht anhängen kann](#requests-that-never-get-the-credential), oder ein beliebiger Schlüssel auf einem Team- oder Enterprise-Plan, bleibt in einer Umgebungsvariable |

304| Interaktive Authentifizierung wie AWS SSO | Nein | Nicht unterstützt. SSO erfordert browserbasierte Anmeldung, die nicht in einer Cloud-Sitzung ausgeführt werden kann |304| Interaktive Authentifizierung wie AWS SSO | Nein | Nicht unterstützt. SSO erfordert browserbasierte Anmeldung, die nicht in einer Cloud-Sitzung ausgeführt werden kann |


329 329 

330¹ Bun ist installiert, hat aber bekannte [Proxy-Kompatibilitätsprobleme](#install-dependencies-with-a-sessionstart-hook) beim Paket-Abrufen.330¹ Bun ist installiert, hat aber bekannte [Proxy-Kompatibilitätsprobleme](#install-dependencies-with-a-sessionstart-hook) beim Paket-Abrufen.

331 331 

332Um die Versionen der meisten Tools in dieser Tabelle zu erhalten, bitten Sie Claude, `check-tools` in einer Cloud-Sitzung auszuführen. Es ist ein Shell-Befehl, der auf der Sitzungs-VM installiert ist, kein Slash-Befehl; Sie bitten Claude, weil [Claude alle VM-Befehle für Sie ausführt](#run-tests-start-services-and-add-packages). Für ein Tool, das es nicht meldet, wie Ruby, PHP, bun, PostgreSQL oder Redis, bitten Sie Claude, den Versions-Befehl des Tools selbst auszuführen, zum Beispiel `psql --version`.332Um die Versionen der meisten Tools in dieser Tabelle zu erhalten, bitten Sie Claude, `check-tools` in einer Cloud-Sitzung auszuführen. Es ist ein Shell-Befehl, der auf der Sitzungs-VM installiert ist, kein Befehl, den Sie mit `/` eingeben; Sie bitten Claude, weil [Claude alle VM-Befehle für Sie ausführt](#run-tests-start-services-and-add-packages). Für ein Tool, das es nicht meldet, wie Ruby, PHP, bun, PostgreSQL oder Redis, bitten Sie Claude, den Versions-Befehl des Tools selbst auszuführen, zum Beispiel `psql --version`.

333 333 

334Node.js-Versionen sind unter `/opt/node20`, `/opt/node21` und `/opt/node22` installiert, mit 22 auf `PATH` standardmäßig. Um mit einer anderen Version zu arbeiten, bitten Sie Claude, das `bin`-Verzeichnis dieser Version, wie `/opt/node20/bin`, zu `PATH` voranstellen.334Node.js-Versionen sind unter `/opt/node20`, `/opt/node21` und `/opt/node22` installiert, mit 22 auf `PATH` standardmäßig. Um mit einer anderen Version zu arbeiten, bitten Sie Claude, das `bin`-Verzeichnis dieser Version, wie `/opt/node20/bin`, zu `PATH` voranstellen.

335 335 


358 358 

359Jede Cloud-Sitzung hat eine Transkript-URL auf claude.ai, und die Sitzung kann ihre eigene ID aus der Umgebungsvariable `CLAUDE_CODE_REMOTE_SESSION_ID` lesen. Verwenden Sie dies, um einen nachverfolgbaren Link in PR-Bodies, Commit-Nachrichten, Slack-Posts oder generierten Berichten zu platzieren, damit ein Reviewer den Lauf öffnen kann, der sie produziert hat.359Jede Cloud-Sitzung hat eine Transkript-URL auf claude.ai, und die Sitzung kann ihre eigene ID aus der Umgebungsvariable `CLAUDE_CODE_REMOTE_SESSION_ID` lesen. Verwenden Sie dies, um einen nachverfolgbaren Link in PR-Bodies, Commit-Nachrichten, Slack-Posts oder generierten Berichten zu platzieren, damit ein Reviewer den Lauf öffnen kann, der sie produziert hat.

360 360 

361Commits, die Claude in einer Cloud-Sitzung erstellt, enthalten einen `Claude-Session: <url>` Git-Trailer, und PR-Bodies enthalten die Sitzungs-URL auf ihrer eigenen Zeile. Dies erfordert v2.1.179 oder später. Um den Trailer und den PR-Body-Link zu weglassen, setzen Sie [`attribution.sessionUrl`](/docs/de/settings-reference#attribution-sessionurl) auf `false`. Die Einstellung erfordert v2.1.182 oder später.361Commits, die Claude in einer Cloud-Sitzung erstellt, enthalten einen `Claude-Session: <url>` Git-Trailer, und PR-Bodies enthalten die Sitzungs-URL auf ihrer eigenen Zeile. Um den Trailer und den PR-Body-Link zu weglassen, setzen Sie [`attribution.sessionUrl`](/docs/de/settings-reference#attribution-sessionurl) auf `false`.

362 362 

363Um den Sitzungs-Link in etwas anderem als einem Commit oder PR einzuschließen, wie eine Slack-Nachricht, die Claude postet, oder eine Berichtsdatei, die sie schreibt, lassen Sie Claude den folgenden Befehl ausführen und verwenden Sie seine Ausgabe. Der Befehl konvertiert das `cse_`-Präfix im Wert der Umgebungsvariable in das `session_`-Präfix, das die Transkript-URL erwartet:363Um den Sitzungs-Link in etwas anderem als einem Commit oder PR einzuschließen, wie eine Slack-Nachricht, die Claude postet, oder eine Berichtsdatei, die sie schreibt, lassen Sie Claude den folgenden Befehl ausführen und verwenden Sie seine Ausgabe. Der Befehl konvertiert das `cse_`-Präfix im Wert der Umgebungsvariable in das `session_`-Präfix, das die Transkript-URL erwartet:

364 364 


418 Setup-Skripte418 Setup-Skripte

419</h2>419</h2>

420 420 

421Ein Setup-Skript ist ein Bash-Skript, das ausgeführt wird, wenn eine neue Cloud-Sitzung startet, bevor Claude Code startet. Verwenden Sie Setup-Skripte, um Abhängigkeiten zu installieren, Tools zu konfigurieren oder alles zu abrufen, das die Sitzung benötigt, das nicht vorinstalliert ist.421Ein Setup-Skript ist ein Bash-Skript, das ausgeführt wird, wenn eine neue Cloud-Sitzung startet, bevor Claude Code gestartet wird. Verwenden Sie Setup-Skripte, um Abhängigkeiten zu installieren, Tools zu konfigurieren oder alles zu beschaffen, das die Sitzung benötigt und nicht vorinstalliert ist.

422 422 

423Skripte werden als Root auf Ubuntu 24.04 ausgeführt, daher funktionieren `apt install` und die meisten Sprach-Paketmanager.423Skripte werden als Root auf Ubuntu 24.04 ausgeführt, daher funktionieren `apt install` und die meisten Sprachpaket-Manager.

424 424 

425Um ein Setup-Skript hinzuzufügen, öffnen Sie den Umgebungseinstellungs-Dialog und geben Sie Ihr Skript in das Feld **Setup script** ein.425Um ein Setup-Skript hinzuzufügen, öffnen Sie den Dialog für Umgebungseinstellungen und geben Sie Ihr Skript in das Feld **Setup-Skript** ein.

426 426 

427Dieses Beispiel installiert [ShellCheck](https://www.shellcheck.net/), das nicht vorinstalliert ist.427Dieses Beispiel installiert [ShellCheck](https://www.shellcheck.net/), das nicht vorinstalliert ist.

428 428 


432```432```

433 433 

434<h3 id="script-requirements">434<h3 id="script-requirements">

435 Skript-Anforderungen435 Anforderungen an Skripte

436</h3>436</h3>

437 437 

438Ein Setup-Skript hat drei Einschränkungen, um die herum zu schreiben:438Ein Setup-Skript hat drei Einschränkungen, die Sie beachten müssen:

439 439 

440* **Exit zero**: Wenn das Skript mit Non-Zero beendet wird, schlägt die Sitzung fehl zu starten. Hängen Sie `|| true` an nicht-kritische Befehle an, damit ein gelegentlicher Installationsfehler die Sitzung nicht blockiert.440* **Mit Null beenden**: Wenn das Skript mit einem Nicht-Null-Wert beendet wird, schlägt der Sitzungsstart fehl. Fügen Sie `|| true` an nicht kritische Befehle an, damit ein gelegentlicher Installationsfehler die Sitzung nicht blockiert.

441* **Beenden Sie innerhalb von fünf Minuten**: Halten Sie die Gesamtlaufzeit des Skripts unter ungefähr fünf Minuten, damit der [Umgebungs-Cache](#environment-caching) erstellt werden kann. Führen Sie unabhängige Installationen parallel mit `&` und `wait` aus, und verschieben Sie jeden einzelnen Download, der nicht passt, in einen [SessionStart Hook](#setup-scripts-vs-sessionstart-hooks), der ihn im Hintergrund startet.441* **Innerhalb von fünf Minuten fertig**: Halten Sie die Gesamtlaufzeit des Skripts unter etwa fünf Minuten, damit der [Umgebungs-Cache](#environment-caching) erstellt werden kann. Führen Sie unabhängige Installationen parallel mit `&` und `wait` aus, und verschieben Sie jeden einzelnen Download, der nicht passt, in einen [SessionStart-Hook](#setup-scripts-vs-sessionstart-hooks), der ihn im Hintergrund startet.

442* **Netzwerkzugriff für Installationen**: Paket-Installationen müssen Registrierungen erreichen. Die Standard-**Trusted**-Stufe deckt [gängige Paketregistrierungen](#default-allowed-domains) ab, einschließlich npm, PyPI, RubyGems und crates.io; mit **None** Netzwerkzugriff schlagen Installationen fehl.442* **Netzwerkzugriff für Installationen**: Paketinstallationen müssen Registries erreichen. Die Standard-Stufe **Vertraut** deckt [häufige Paket-Registries](#default-allowed-domains) ab, einschließlich npm, PyPI, RubyGems und crates.io; mit **Keine** Netzwerkzugriff schlagen Installationen fehl.

443 443 

444<h3 id="environment-caching">444<h3 id="environment-caching">

445 Umgebungs-Caching445 Umgebungs-Caching

446</h3>446</h3>

447 447 

448Das Setup-Skript wird das erste Mal ausgeführt, wenn Sie eine Sitzung in einer Umgebung starten. Nach Abschluss erstellt Anthropic einen Snapshot des Dateisystems und verwendet diesen Snapshot als Ausgangspunkt für spätere Sitzungen. Neue Sitzungen starten mit Ihren Abhängigkeiten, Tools und Docker-Images bereits auf der Festplatte und überspringen den Setup-Skript-Schritt. Dies hält den Start schnell, auch wenn das Skript große Toolchains installiert oder Container-Images abruft.448Das Setup-Skript wird beim ersten Mal ausgeführt, wenn Sie eine Sitzung in einer Umgebung starten. Nach Abschluss erstellt Anthropic einen Snapshot des Dateisystems und verwendet diesen Snapshot als Ausgangspunkt für spätere Sitzungen. Neue Sitzungen starten mit Ihren Abhängigkeiten, Tools und Docker-Images bereits auf der Festplatte und überspringen den Setup-Skript-Schritt. Dies hält den Start schnell, auch wenn das Skript große Toolchains installiert oder Container-Images abruft.

449 449 

450Der Cache ist ein Dateisystem-Snapshot, daher behält er, was das Setup-Skript auf die Festplatte schreibt, und verliert alles, das nur laufen war. Pakete, die Sie installieren, Docker-Images, die Sie abrufen, und Dateien, die Sie schreiben, werden alle übertragen. Eine Datenbank, die das Skript gestartet hat, ein `docker compose up`-Stack oder ein anderer Hintergrund-Prozess nicht; starten Sie diese pro Sitzung, indem Sie Claude bitten oder mit einem [SessionStart Hook](#setup-scripts-vs-sessionstart-hooks).450Der Cache ist ein Dateisystem-Snapshot, daher behält er, was das Setup-Skript auf die Festplatte schreibt, und verliert alles, das nur ausgeführt wurde. Pakete, die Sie installieren, Docker-Images, die Sie abrufen, und Dateien, die Sie schreiben, werden alle übertragen. Eine Datenbank, die das Skript gestartet hat, ein `docker compose up`-Stack oder ein anderer Hintergrundprozess nicht; starten Sie diese pro Sitzung, indem Sie Claude fragen oder einen [SessionStart-Hook](#setup-scripts-vs-sessionstart-hooks) verwenden.

451 451 

452Das Setup-Skript wird erneut ausgeführt, um den Cache neu zu erstellen, wenn Sie das Setup-Skript oder die zulässigen Netzwerk-Hosts der Umgebung ändern, und wenn der Cache seine Ablaufzeit nach ungefähr sieben Tagen erreicht. Das Fortsetzen einer vorhandenen Sitzung führt das Setup-Skript niemals erneut aus.452Das Setup-Skript wird erneut ausgeführt, um den Cache neu zu erstellen, wenn Sie das Setup-Skript oder die zulässigen Netzwerk-Hosts der Umgebung ändern, und wenn der Cache nach etwa sieben Tagen abläuft. Das Fortsetzen einer bestehenden Sitzung führt das Setup-Skript nie erneut aus.

453 453 

454Sie müssen Caching nicht aktivieren oder Snapshots selbst verwalten.454Sie müssen Caching nicht aktivieren oder Snapshots selbst verwalten.

455 455 

456<h3 id="setup-scripts-vs-sessionstart-hooks">456<h3 id="setup-scripts-vs-sessionstart-hooks">

457 Setup-Skripte vs. SessionStart Hooks457 Setup-Skripte vs. SessionStart-Hooks

458</h3>458</h3>

459 459 

460Verwenden Sie ein Setup-Skript, um die VM selbst bereitzustellen: Toolchains und CLI-Tools, die nicht [vorinstalliert](#installed-tools) sind. Verwenden Sie einen [SessionStart Hook](/docs/de/hooks#sessionstart) für Projekt-Setup, das überall laufen sollte, Cloud und lokal, wie `npm install`.460Verwenden Sie ein Setup-Skript, um die VM selbst bereitzustellen: Toolchains und CLI-Tools, die nicht [vorinstalliert](#installed-tools) sind. Verwenden Sie einen [SessionStart-Hook](/docs/de/hooks#sessionstart) für die Projekteinrichtung, die überall ausgeführt werden sollte, lokal und in der Cloud, wie `npm install`.

461 461 

462Setup-Skripte und SessionStart Hooks werden in einer festen Reihenfolge ausgeführt, wenn eine Cloud-Sitzung startet. Die Tabelle vergleicht, wo Sie sie konfigurieren, wann sie ausgeführt werden, und wo sie ausgeführt werden.462Setup-Skripte und SessionStart-Hooks werden in einer festen Reihenfolge ausgeführt, wenn eine Cloud-Sitzung startet. Die Tabelle vergleicht, wo Sie sie konfigurieren, wann sie ausgeführt werden und wo sie ausgeführt werden.

463 463 

464| | Setup-Skripte | SessionStart Hooks |464| | Setup-Skripte | SessionStart-Hooks |

465| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |465| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

466| **Wo Sie sie konfigurieren** | Der Umgebungs-Dialog auf [claude.ai/code](https://claude.ai/code), plus die Seite **Cloud environments** für [gemeinsame Umgebungen](#organization-shared-environments) | Eine [Einstellungsdatei](/docs/de/settings#where-settings-live) wie die `.claude/settings.json` Ihres Repos; siehe [Was wird von Ihrem Setup übernommen](#what-carries-over-from-your-setup) für welche Dateien eine Cloud-Sitzung erreichen |466| **Wo Sie sie konfigurieren** | Der Umgebungsdialog unter [claude.ai/code](https://claude.ai/code), plus die Seite **Cloud-Umgebungen** für [gemeinsame Umgebungen](#organization-shared-environments) | Eine [Einstellungsdatei](/docs/de/settings#where-settings-live) wie die `.claude/settings.json` Ihres Repositorys; siehe [Was wird aus Ihrem Setup übernommen](#what-carries-over-from-your-setup) für die Dateien, die eine Cloud-Sitzung erreichen |

467| **Wann sie ausgeführt werden** | Bevor Claude Code startet, übersprungen wenn eine [gecachte Umgebung](#environment-caching) existiert | Nach Claude Code startet, auf jeder Sitzung einschließlich fortgesetzt |467| **Wann sie ausgeführt werden** | Vor dem Start von Claude Code, übersprungen, wenn eine [zwischengespeicherte Umgebung](#environment-caching) vorhanden ist | Nach dem Start von Claude Code, bei jeder Sitzung einschließlich fortgesetzter |

468| **Wo sie ausgeführt werden** | Cloud-Sitzungen nur | Lokale und Cloud-Sitzungen |468| **Wo sie ausgeführt werden** | Nur Cloud-Sitzungen | Lokale und Cloud-Sitzungen |

469 469 

470Wenn Sie SessionStart Hooks in Ihrer Benutzer-Level `~/.claude/settings.json` haben, erwarten Sie sie nicht in der Cloud: Benutzer-Level-Einstellungen bleiben auf Ihrem Computer. Welche anderen Hooks ausgeführt werden, hängt davon ab, wo die Sitzung läuft:470Wenn Sie SessionStart-Hooks in Ihrer Benutzer-Ebene `~/.claude/settings.json` haben, erwarten Sie diese nicht in der Cloud. Benutzer-Ebene-Einstellungen bleiben auf Ihrem Computer. Welche anderen Hooks ausgeführt werden, hängt davon ab, wo die Sitzung ausgeführt wird:

471 471 

472* **Von Anthropic gehostete Umgebung**: Claude Code führt Hooks aus dem Repository und aus den [Server-verwalteten Einstellungen](/docs/de/server-managed-settings) Ihrer Organisation aus.472* **Von Anthropic gehostete Umgebung**: Claude Code führt Hooks aus dem Repository und aus den [servergesteuerten Einstellungen](/docs/de/server-managed-settings) Ihrer Organisation aus.

473* **[Selbstgehostete Umgebung](/docs/de/self-hosted-environments-configuration#permissions-and-tool-approval)**: Claude Code führt auch die Hooks aus, die der Operator aus dem `~/.claude/` des Runner-Hosts seeded hat, und die Hooks in der verwalteten Einstellungsdatei des Runner-Images, wenn diese Datei eine der [verwalteten Quellen ist, die Claude Code anwendet](/docs/de/managed-settings#how-claude-code-combines-managed-sources).473* **[Selbst gehostete Umgebung](/docs/de/self-hosted-environments-configuration#permissions-and-tool-approval)**: Claude Code führt auch die Hooks aus, die der Operator aus dem `~/.claude/` des Runner-Hosts gesät hat, und die Hooks in der verwalteten Einstellungsdatei des Runner-Images, wenn diese Datei eine der [verwalteten Quellen ist, die Claude Code anwendet](/docs/de/managed-settings#how-claude-code-combines-managed-sources).

474 474 

475<h3 id="install-dependencies-with-a-sessionstart-hook">475<h3 id="install-dependencies-with-a-sessionstart-hook">

476 Installieren Sie Abhängigkeiten mit einem SessionStart Hook476 Abhängigkeiten mit einem SessionStart-Hook installieren

477</h3>477</h3>

478 478 

479Um Abhängigkeiten nur in Cloud-Sitzungen zu installieren, kombinieren Sie einen SessionStart Hook mit einem Skript, das überprüft, wo es läuft.479Um Abhängigkeiten nur in Cloud-Sitzungen zu installieren, kombinieren Sie einen SessionStart-Hook mit einem Skript, das überprüft, wo es ausgeführt wird.

480 480 

481Fügen Sie zunächst einen SessionStart Hook zur `.claude/settings.json` Ihres Repos hinzu. Diese Konfiguration teilt Claude Code mit, `scripts/install_pkgs.sh` aus Ihrem Repository auszuführen, wenn eine Sitzung startet oder fortgesetzt wird:481Fügen Sie zunächst einen SessionStart-Hook zu Ihrer `.claude/settings.json` des Repositorys hinzu. Diese Konfiguration weist Claude Code an, `scripts/install_pkgs.sh` aus Ihrem Repository auszuführen, wenn eine Sitzung startet oder fortgesetzt wird:

482 482 

483```json theme={null}483```json theme={null}

484{484{


498}498}

499```499```

500 500 

501Der `matcher` begrenzt den Hook auf die `startup`- und `resume`-Events, und `$CLAUDE_PROJECT_DIR` wird zum Repository-Root aufgelöst, daher findet der Hook das Skript unabhängig vom Arbeitsverzeichnis der Sitzung.501Der `matcher` begrenzt den Hook auf die `startup`- und `resume`-Ereignisse, und `$CLAUDE_PROJECT_DIR` wird zur Repository-Root aufgelöst, daher findet der Hook das Skript unabhängig vom Arbeitsverzeichnis der Sitzung.

502 502 

503Erstellen Sie als Nächstes das Skript unter `scripts/install_pkgs.sh`. Es beendet sich sofort außerhalb der Cloud, dann installiert Ihre Abhängigkeiten:503Erstellen Sie anschließend das Skript unter `scripts/install_pkgs.sh`. Es wird sofort außerhalb der Cloud beendet und installiert dann Ihre Abhängigkeiten:

504 504 

505```bash theme={null}505```bash theme={null}

506#!/bin/bash506#!/bin/bash


514exit 0514exit 0

515```515```

516 516 

517Die `CLAUDE_CODE_REMOTE`-Überprüfung ist das, was die Installation auf Cloud-Sitzungen begrenzt: Die Umgebung der Sitzungs-VM trägt diese Variable als `true`, sie ist niemals `true` lokal, daher beendet sich das Skript auf Ihrem Laptop, bevor es etwas installiert.517Die `CLAUDE_CODE_REMOTE`-Überprüfung ist das, was die Installation auf Cloud-Sitzungen beschränkt: Die Umgebung der Sitzungs-VM trägt diese Variable als `true`, sie ist lokal nie `true`, daher beendet sich das Skript auf Ihrem Laptop, bevor es etwas installiert.

518 518 

519Zusammen geben die beiden Dateien jeder Cloud-Sitzung einen frischen `npm install` und `pip install` beim Start, während lokale Sitzungen unberührt bleiben.519Zusammen geben die beiden Dateien jeder Cloud-Sitzung beim Start ein frisches `npm install` und `pip install`, während lokale Sitzungen unberührt bleiben.

520 520 

521<h4 id="limitations-in-cloud-sessions">521<h4 id="limitations-in-cloud-sessions">

522 Einschränkungen in Cloud-Sitzungen522 Einschränkungen in Cloud-Sitzungen

523</h4>523</h4>

524 524 

525SessionStart Hooks verhalten sich in der Cloud gleich wie lokal, mit diesen Vorbehalten:525SessionStart-Hooks verhalten sich in der Cloud genauso wie lokal, mit diesen Vorbehalten:

526 526 

527* **Keine Cloud-only-Scoping**: Hooks werden in lokalen und Cloud-Sitzungen ausgeführt. Um lokale Ausführung zu überspringen, überprüfen Sie die Umgebungsvariable `CLAUDE_CODE_REMOTE`, wie oben gezeigt.527* **Ein Repository pro Sitzung**: Eine Sitzung mit mehreren Repositorys lädt keine Hooks aus der `.claude/settings.json` eines Repositorys, daher wird ein SessionStart-Hook, den Sie dort definieren, nicht ausgeführt. Installieren Sie Abhängigkeiten für diese Sitzungen stattdessen mit einem [Setup-Skript](#setup-scripts).

528* **Erfordert Netzwerkzugriff**: Installationsbefehle müssen Paketregistrierungen erreichen. Wenn Ihre Umgebung **None** Netzwerkzugriff nutzt, schlagen diese Hooks fehl. Die [Standard-Whitelist](#default-allowed-domains) unter **Trusted** deckt npm, PyPI, RubyGems und crates.io ab.528* **Keine Cloud-Only-Scoping**: Hooks werden in lokalen und Cloud-Sitzungen ausgeführt. Um die lokale Ausführung zu überspringen, beenden Sie früh, es sei denn, die Umgebungsvariable `CLAUDE_CODE_REMOTE` ist `true`, wie das [Abhängigkeitsinstallations-Skript](#install-dependencies-with-a-sessionstart-hook) es tut.

529* **Proxy-Kompatibilität**: In von Anthropic gehosteten Umgebungen verläuft der gesamte ausgehende Verkehr durch einen [Sicherheits-Proxy](#security-proxy), und einige Paketmanager funktionieren nicht korrekt damit; Bun ist ein bekanntes Beispiel. In einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments-deploy#default-deny-egress) verläuft ausgehender Verkehr stattdessen durch Ihre eigene Netzwerk-Grenze.529* **Erfordert Netzwerkzugriff**: Installationsbefehle müssen Paket-Registries erreichen. Wenn Ihre Umgebung **Keine** Netzwerkzugriff verwendet, schlagen diese Hooks fehl. Die [Standard-Zulassungsliste](#default-allowed-domains) unter **Vertraut** deckt npm, PyPI, RubyGems und crates.io ab.

530* **Fügt Startup-Latenz hinzu**: Hooks werden jedes Mal ausgeführt, wenn eine Sitzung startet oder fortgesetzt wird, anders als Setup-Skripte, die vom [Umgebungs-Caching](#environment-caching) profitieren. Halten Sie Installationsskripte schnell, indem Sie überprüfen, ob Abhängigkeiten bereits vorhanden sind, bevor Sie neu installieren.530* **Proxy-Kompatibilität**: In von Anthropic gehosteten Umgebungen wird der gesamte ausgehende Datenverkehr durch einen [Sicherheits-Proxy](#security-proxy) geleitet, und einige Paket-Manager funktionieren nicht korrekt damit; Bun ist ein bekanntes Beispiel. In einer [selbst gehosteten Umgebung](/docs/de/self-hosted-environments-deploy#default-deny-egress) wird der ausgehende Datenverkehr stattdessen durch Ihre eigene Netzwerk-Grenze geleitet.

531* **Fügt Startup-Latenz hinzu**: Hooks werden jedes Mal ausgeführt, wenn eine Sitzung startet oder fortgesetzt wird, im Gegensatz zu Setup-Skripten, die vom [Umgebungs-Caching](#environment-caching) profitieren. Halten Sie Installationsskripte schnell, indem Sie überprüfen, ob Abhängigkeiten bereits vorhanden sind, bevor Sie sie neu installieren.

531 532 

532Um das Basis-Image anzupassen, verwenden Sie ein Setup-Skript, um zu installieren, was Sie auf dem [bereitgestellten Image](#installed-tools) benötigen, oder führen Sie Ihr eigenes Image als Container neben Claude mit `docker compose` aus. Das vollständige Ersetzen des Basis-Images wird noch nicht unterstützt.533Um das Basis-Image anzupassen, verwenden Sie ein Setup-Skript, um das zu installieren, was Sie auf dem [bereitgestellten Image](#installed-tools) benötigen, oder führen Sie Ihr eigenes Image als Container neben Claude mit `docker compose` aus. Das vollständige Ersetzen des Basis-Images wird noch nicht unterstützt.

533 534 

534<h2 id="default-allowed-domains">535<h2 id="default-allowed-domains">

535 Standard-zulässige Domänen536 Standard-zulässige Domänen


793 Verwandte Ressourcen794 Verwandte Ressourcen

794</h2>795</h2>

795 796 

796* [Claude Code im Web](/docs/de/claude-code-on-the-web): Starten, verwalten und teilen Sie Cloud-Sitzungen797* [Cloud-Sitzungen-Referenz](/docs/de/claude-code-on-the-web): Starten, verwalten und teilen Sie Cloud-Sitzungen

797* [Web-Schnellstart](/docs/de/web-quickstart): Verbinden Sie GitHub und starten Sie Ihre erste Cloud-Sitzung798* [Cloud-Sitzungen-Schnellstart](/docs/de/web-quickstart): Verbinden Sie GitHub und starten Sie Ihre erste Cloud-Sitzung

798* [Claude Tag](https://claude.com/docs/claude-tag/overview): Sitzungen, die Claude aus Slack startet, werden in den gleichen Umgebungen ausgeführt799* [Claude Tag](https://claude.com/docs/claude-tag/overview): Sitzungen, die Claude aus Slack startet, werden in den gleichen Umgebungen ausgeführt

799* [Routinen](/docs/de/routines): Geplante Läufe verwenden die gleichen Umgebungen und Netzwerkzugriffsstufen800* [Routinen](/docs/de/routines): Geplante Läufe verwenden die gleichen Umgebungen und Netzwerkzugriffsstufen

800* [Remote Control](/docs/de/remote-control): Führen Sie Sitzungen auf dem Netzwerk und den Dateien Ihres eigenen Computers aus801* [Remote Control](/docs/de/remote-control): Führen Sie Sitzungen auf dem Netzwerk und den Dateien Ihres eigenen Computers aus

code-review.md +4 −2

Details

58 58 

59Das Antworten auf einen Inline-Kommentar veranlasst Claude nicht, zu antworten oder den PR zu aktualisieren. Um auf eine Erkenntnis zu reagieren, beheben Sie den Code und pushen Sie. Wenn der PR für Push-ausgelöste Reviews abonniert ist, löst die nächste Ausführung den Thread auf, wenn das Problem behoben ist. Um eine neue Überprüfung ohne Pushen anzufordern, kommentieren Sie `@claude review` als [Top-Level-PR-Kommentar](#manually-trigger-reviews).59Das Antworten auf einen Inline-Kommentar veranlasst Claude nicht, zu antworten oder den PR zu aktualisieren. Um auf eine Erkenntnis zu reagieren, beheben Sie den Code und pushen Sie. Wenn der PR für Push-ausgelöste Reviews abonniert ist, löst die nächste Ausführung den Thread auf, wenn das Problem behoben ist. Um eine neue Überprüfung ohne Pushen anzufordern, kommentieren Sie `@claude review` als [Top-Level-PR-Kommentar](#manually-trigger-reviews).

60 60 

61Um eine Erkenntnis ohne Codeänderung zu verwerfen, lösen Sie ihren Thread auf; das Antworten verwirft sie nicht.

62 

61<h3 id="check-run-output">63<h3 id="check-run-output">

62 Check-Run-Ausgabe64 Check-Run-Ausgabe

63</h3>65</h3>


195 197 

196`REVIEW.md` ist eine Datei in Ihrem Repository-Root, die Code Review auf Ihrem Repo anpasst. Die Agenten in der Review-Pipeline, die Erkenntnisse finden und überprüfen, erhalten ihren Inhalt als Ihre Repository-Review-Anweisungen, zusammen mit Code Reviews Standard-Review-Anleitung, und die Agenten, die Erkenntnisse bewerten und melden, konsultieren sie, bevor sie Schweregrad festlegen und die Überprüfung schreiben.198`REVIEW.md` ist eine Datei in Ihrem Repository-Root, die Code Review auf Ihrem Repo anpasst. Die Agenten in der Review-Pipeline, die Erkenntnisse finden und überprüfen, erhalten ihren Inhalt als Ihre Repository-Review-Anweisungen, zusammen mit Code Reviews Standard-Review-Anleitung, und die Agenten, die Erkenntnisse bewerten und melden, konsultieren sie, bevor sie Schweregrad festlegen und die Überprüfung schreiben.

197 199 

198Die Agenten lesen den Text der Datei wie geschrieben, daher ist `REVIEW.md` einfache Anweisungen: [`@` Import-Syntax](/docs/de/memory#import-additional-files) wird nicht erweitert, und referenzierte Dateien werden nicht zusammen mit ihr gelesen. Setzen Sie die Regeln, die Sie durchgesetzt haben möchten, direkt in die Datei.200Setzen Sie die Regeln, die Sie durchgesetzt haben möchten, direkt in `REVIEW.md`.

199 201 

200<h4 id="what-you-can-tune">202<h4 id="what-you-can-tune">

201 Was Sie optimieren können203 Was Sie optimieren können


359 </Step>361 </Step>

360</Steps>362</Steps>

361 363 

362Claude meldet die Erkenntnisse als Text in der Antwort in beiden dieser Läufe, auch wenn eine Host-Anwendung die unten beschriebene Erkenntnisliste anfordert:364Claude meldet die Erkenntnisse als Text in der Antwort in beiden dieser Läufe, auch wenn eine Host-Anwendung eine Erkenntnisliste anfordert:

363 365 

364* In einer Terminal-Sitzung, in der `/code-review` die Überprüfung als [verzweigten Subagent](/docs/de/skills#run-skills-in-a-subagent) ausführt366* In einer Terminal-Sitzung, in der `/code-review` die Überprüfung als [verzweigten Subagent](/docs/de/skills#run-skills-in-a-subagent) ausführt

365* In einem `-p` Lauf mit Text- oder JSON-Ausgabe367* In einem `-p` Lauf mit Text- oder JSON-Ausgabe

commands.md +8 −7

Details

28 28 

29**Bevor Sie versenden.** `/diff` zeigt, was sich geändert hat. `/code-review` überprüft den aktuellen Diff auf Korrektheitsfehler und Bereinigungen und kann die Ergebnisse mit `--fix` anwenden; übergeben Sie eine PR-Nummer, z. B. `/code-review high 1234`, um stattdessen einen Pull Request zu überprüfen. `/review` ist ein Alias. `/code-review ultra` führt eine Multi-Agent-Überprüfung in der Cloud aus. `/security-review` überprüft den Diff auf Sicherheitslücken.29**Bevor Sie versenden.** `/diff` zeigt, was sich geändert hat. `/code-review` überprüft den aktuellen Diff auf Korrektheitsfehler und Bereinigungen und kann die Ergebnisse mit `--fix` anwenden; übergeben Sie eine PR-Nummer, z. B. `/code-review high 1234`, um stattdessen einen Pull Request zu überprüfen. `/review` ist ein Alias. `/code-review ultra` führt eine Multi-Agent-Überprüfung in der Cloud aus. `/security-review` überprüft den Diff auf Sicherheitslücken.

30 30 

31**Zwischen Sitzungen.** `/clear` startet eine neue Aufgabe neu, während die Projektmemory erhalten bleibt. `/resume` kehrt zu einem früheren Gespräch zurück, `/branch` verzweigt das aktuelle, um eine andere Richtung zu versuchen, und `/fork` kopiert es in eine neue [Hintergrund-Sitzung](/docs/de/agent-view). `/teleport` zieht eine Web-Sitzung in dieses Terminal, und `/remote-control` ermöglicht es Ihnen, diese lokale Sitzung von einem anderen Gerät aus fortzusetzen.31**Zwischen Sitzungen.** `/clear` startet eine neue Aufgabe neu, während die Projektmemory erhalten bleibt. `/resume` kehrt zu einem früheren Gespräch zurück, `/branch` verzweigt das aktuelle, um eine andere Richtung zu versuchen, und `/fork` kopiert es in eine neue [Hintergrund-Sitzung](/docs/de/agent-view). `/teleport` zieht eine Cloud-Sitzung in dieses Terminal, und `/remote-control` ermöglicht es Ihnen, diese lokale Sitzung von einem anderen Gerät aus fortzusetzen.

32 32 

33**Wenn etwas nicht stimmt.** `/rewind` setzt Code und Gespräch auf einen Checkpoint zurück oder fasst einen Teil des Gesprächs zusammen. `/doctor` führt eine Setup-Überprüfung durch, die Installations- und Konfigurationsprobleme diagnostiziert und beheben kann, `/debug` diagnostiziert Laufzeitprobleme, und `/feedback` meldet einen Fehler mit angehängtem Sitzungskontext.33**Wenn etwas nicht stimmt.** `/rewind` setzt Code und Gespräch auf einen Checkpoint zurück oder fasst einen Teil des Gesprächs zusammen. `/doctor` führt eine Setup-Überprüfung durch, die Installations- und Konfigurationsprobleme diagnostiziert und beheben kann, `/debug` diagnostiziert Laufzeitprobleme, und `/feedback` meldet einen Fehler mit angehängtem Sitzungskontext.

34 34 


59| `/artifacts` | Listet die [Artefakte](/docs/de/artifacts#find-an-artifact-again) auf, die Sie besitzen oder die mit Ihnen geteilt werden, und fügen Sie dann eines an die Sitzung an, öffnen Sie es in Ihrem Browser oder kopieren Sie seinen Link. Verfügbar, wo [Artefakte](/docs/de/artifacts#availability) verfügbar sind. Erfordert Claude Code v2.1.208 oder später; das Anhängen mit `Enter` erfordert v2.1.216 |59| `/artifacts` | Listet die [Artefakte](/docs/de/artifacts#find-an-artifact-again) auf, die Sie besitzen oder die mit Ihnen geteilt werden, und fügen Sie dann eines an die Sitzung an, öffnen Sie es in Ihrem Browser oder kopieren Sie seinen Link. Verfügbar, wo [Artefakte](/docs/de/artifacts#availability) verfügbar sind. Erfordert Claude Code v2.1.208 oder später; das Anhängen mit `Enter` erfordert v2.1.216 |

60| `/auto-mode-setup` | [Entwurf `autoMode.environment`-Einträge](/docs/de/auto-mode-config#generate-environment-entries) aus Ihrem Projekt und kürzlichen Sitzungen, überprüfen Sie dann den Entwurf und speichern Sie ihn in Ihren Benutzereinstellungen. Erfordert einen Pro-, Max- oder Team-Plan und Claude Code v2.1.228 oder später. Unter nativem Windows erfordert v2.1.233 oder später |60| `/auto-mode-setup` | [Entwurf `autoMode.environment`-Einträge](/docs/de/auto-mode-config#generate-environment-entries) aus Ihrem Projekt und kürzlichen Sitzungen, überprüfen Sie dann den Entwurf und speichern Sie ihn in Ihren Benutzereinstellungen. Erfordert einen Pro-, Max- oder Team-Plan und Claude Code v2.1.228 oder später. Unter nativem Windows erfordert v2.1.233 oder später |

61| `/autocompact [auto\|<tokens>]` | Legen Sie das Auto-Compact-Fenster fest: wie voll das Kontextfenster wird, bevor Claude Code automatisch komprimiert. Übergeben Sie eine Größe wie `500k` oder `auto`, um zum für Ihr Modell optimierten Fenster zurückzukehren. Claude Code speichert den Wert in den Benutzereinstellungen und wendet ihn auf die aktuelle Sitzung an. Siehe [Auto-Compact-Fenster einstellen](/docs/de/model-config#set-the-auto-compact-window) für akzeptierte Werte und was es überschreibt. Ohne Argument öffnet sich ein Dialog, der das aktuelle Fenster anzeigt. Erfordert Claude Code v2.1.221 oder später |61| `/autocompact [auto\|<tokens>]` | Legen Sie das Auto-Compact-Fenster fest: wie voll das Kontextfenster wird, bevor Claude Code automatisch komprimiert. Übergeben Sie eine Größe wie `500k` oder `auto`, um zum für Ihr Modell optimierten Fenster zurückzukehren. Claude Code speichert den Wert in den Benutzereinstellungen und wendet ihn auf die aktuelle Sitzung an. Siehe [Auto-Compact-Fenster einstellen](/docs/de/model-config#set-the-auto-compact-window) für akzeptierte Werte und was es überschreibt. Ohne Argument öffnet sich ein Dialog, der das aktuelle Fenster anzeigt. Erfordert Claude Code v2.1.221 oder später |

62| `/autofix-pr [prompt]` | Starten Sie eine [Claude Code im Web](/docs/de/claude-code-on-the-web#auto-fix-pull-requests)-Sitzung, die den PR des aktuellen Branches überwacht und Fixes pusht, wenn CI fehlschlägt oder Reviewer Kommentare hinterlassen. Erkennt den offenen PR aus Ihrem ausgecheckten Branch mit `gh pr view`; um einen anderen PR zu überwachen, checken Sie zuerst seinen Branch aus. Standardmäßig wird der Cloud-Sitzung mitgeteilt, jeden CI-Fehler und Review-Kommentar zu beheben; übergeben Sie einen Prompt, um ihr andere Anweisungen zu geben, z. B. `/autofix-pr only fix lint and type errors`. Erfordert die `gh`-CLI und Zugriff auf [Claude Code im Web](/docs/de/claude-code-on-the-web) |62| `/autofix-pr [prompt]` | Starten Sie eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web#auto-fix-pull-requests), die den PR des aktuellen Branches überwacht und Fixes pusht, wenn CI fehlschlägt oder Reviewer Kommentare hinterlassen. Erkennt den offenen PR aus Ihrem ausgecheckten Branch mit `gh pr view`; um einen anderen PR zu überwachen, checken Sie zuerst seinen Branch aus. Standardmäßig wird der Cloud-Sitzung mitgeteilt, jeden CI-Fehler und Review-Kommentar zu beheben; übergeben Sie einen Prompt, um ihr andere Anweisungen zu geben, z. B. `/autofix-pr only fix lint and type errors`. Erfordert die `gh`-CLI und Zugriff auf [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) |

63| `/background [prompt]` | Trennen Sie die aktuelle Sitzung, um als [Hintergrund-Agent](/docs/de/agent-view) zu laufen und dieses Terminal freizugeben. Übergeben Sie einen Prompt, um eine weitere Anweisung zu senden, bevor Sie trennen. Überwachen Sie die Sitzung mit `claude agents`. Um die Konversation in eine neue Hintergrund-Sitzung zu kopieren, während diese weiterläuft, verwenden Sie `/fork`. Alias: `/bg` |63| `/background [prompt]` | Trennen Sie die aktuelle Sitzung, um als [Hintergrund-Agent](/docs/de/agent-view) zu laufen und dieses Terminal freizugeben. Übergeben Sie einen Prompt, um eine weitere Anweisung zu senden, bevor Sie trennen. Überwachen Sie die Sitzung mit `claude agents`. Um die Konversation in eine neue Hintergrund-Sitzung zu kopieren, während diese weiterläuft, verwenden Sie `/fork`. Alias: `/bg` |

64| `/batch <instruction>` | **[Skill](/docs/de/skills#bundled-skills).** Orchestrieren Sie großflächige Änderungen über eine Codebasis parallel. Recherchiert die Codebasis, zerlegt die Arbeit in 5 bis 30 unabhängige Einheiten und präsentiert einen Plan. Nach Genehmigung startet es einen [Hintergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background) pro Einheit in einem isolierten [Git-Worktree](/docs/de/worktrees). Jeder Subagent implementiert seine Einheit, führt Tests aus und öffnet einen Pull Request. Erfordert ein Git-Repository. Beispiel: `/batch migrate src/ from JavaScript to TypeScript` |64| `/batch <instruction>` | **[Skill](/docs/de/skills#bundled-skills).** Orchestrieren Sie großflächige Änderungen über eine Codebasis parallel. Recherchiert die Codebasis, zerlegt die Arbeit in 5 bis 30 unabhängige Einheiten und präsentiert einen Plan. Nach Genehmigung startet es einen [Hintergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background) pro Einheit in einem isolierten [Git-Worktree](/docs/de/worktrees). Jeder Subagent implementiert seine Einheit, führt Tests aus und öffnet einen Pull Request. Erfordert ein Git-Repository. Beispiel: `/batch migrate src/ from JavaScript to TypeScript` |

65| `/branch [name]` | Erstellen Sie einen Branch der aktuellen Konversation an diesem Punkt, damit Sie eine andere Richtung versuchen können, ohne die Konversation zu verlieren. Wechselt Sie in den Branch und bewahrt das Original, zu dem Sie mit `/resume` zurückkehren können. Um eine Kopie stattdessen als separate [Hintergrund-Sitzung](/docs/de/agent-view) auszuführen, verwenden Sie `/fork`; um eine Seitenaufgabe an einen [Subagenten](/docs/de/sub-agents) zu übergeben, der in diese Konversation zurückberichtet, verwenden Sie `/subtask` |65| `/branch [name]` | Erstellen Sie einen Branch der aktuellen Konversation an diesem Punkt, damit Sie eine andere Richtung versuchen können, ohne die Konversation zu verlieren. Wechselt Sie in den Branch und bewahrt das Original, zu dem Sie mit `/resume` zurückkehren können. Um eine Kopie stattdessen als separate [Hintergrund-Sitzung](/docs/de/agent-view) auszuführen, verwenden Sie `/fork`; um eine Seitenaufgabe an einen [Subagenten](/docs/de/sub-agents) zu übergeben, der in diese Konversation zurückberichtet, verwenden Sie `/subtask` |


72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/de/skills#bundled-skills).** Überprüfen Sie den aktuellen Diff oder eine PR-Nummer, einen Branch oder einen Pfad, den Sie übergeben, auf Korrektheitsfehler und Bereinigungsmöglichkeiten. Übergeben Sie `--fix`, um Erkenntnisse anzuwenden, `--comment`, um sie auf dem GitHub PR oder GitLab Merge Request zu posten, oder `ultra`, um eine tiefe [Cloud-Überprüfung](/docs/de/ultrareview) auszuführen. Das Posten auf einem GitLab Merge Request erfordert Claude Code v2.1.257 oder später. Mit `ultra` auf einem `github.com`-PR-Ziel übergeben Sie `--post`, um [das Posten der fertigen Erkenntnisse zum PR](/docs/de/ultrareview#post-findings-to-the-pull-request) im Launch-Dialog vorzuwählen; `--post` erfordert Claude Code v2.1.227 oder später. Siehe [Diff lokal überprüfen](/docs/de/code-review#review-a-diff-locally) für die Aufwandsebenen, Zielbestimmung und wie es sich auf `/simplify` bezieht. Alias: `/review` |72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/de/skills#bundled-skills).** Überprüfen Sie den aktuellen Diff oder eine PR-Nummer, einen Branch oder einen Pfad, den Sie übergeben, auf Korrektheitsfehler und Bereinigungsmöglichkeiten. Übergeben Sie `--fix`, um Erkenntnisse anzuwenden, `--comment`, um sie auf dem GitHub PR oder GitLab Merge Request zu posten, oder `ultra`, um eine tiefe [Cloud-Überprüfung](/docs/de/ultrareview) auszuführen. Das Posten auf einem GitLab Merge Request erfordert Claude Code v2.1.257 oder später. Mit `ultra` auf einem `github.com`-PR-Ziel übergeben Sie `--post`, um [das Posten der fertigen Erkenntnisse zum PR](/docs/de/ultrareview#post-findings-to-the-pull-request) im Launch-Dialog vorzuwählen; `--post` erfordert Claude Code v2.1.227 oder später. Siehe [Diff lokal überprüfen](/docs/de/code-review#review-a-diff-locally) für die Aufwandsebenen, Zielbestimmung und wie es sich auf `/simplify` bezieht. Alias: `/review` |

73| `/color [color\|default]` | Legen Sie die Farbe der Eingabeaufforderungsleiste für die aktuelle Sitzung fest. Verfügbare Farben: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Verwenden Sie `default`, um zurückzusetzen, oder führen Sie ohne Argument aus, um eine zufällige Farbe zu wählen. Wenn [Remote Control](/docs/de/remote-control) verbunden ist, wird die Farbe mit claude.ai/code synchronisiert. Auch im nicht-interaktiven Modus (`-p`) verfügbar; erfordert Claude Code v2.1.205 oder später |73| `/color [color\|default]` | Legen Sie die Farbe der Eingabeaufforderungsleiste für die aktuelle Sitzung fest. Verfügbare Farben: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Verwenden Sie `default`, um zurückzusetzen, oder führen Sie ohne Argument aus, um eine zufällige Farbe zu wählen. Wenn [Remote Control](/docs/de/remote-control) verbunden ist, wird die Farbe mit claude.ai/code synchronisiert. Auch im nicht-interaktiven Modus (`-p`) verfügbar; erfordert Claude Code v2.1.205 oder später |

74| `/compact [instructions]` | Geben Sie Kontext frei, indem Sie die bisherige Konversation zusammenfassen. Übergeben Sie optional Fokusanweisungen für die Zusammenfassung. Siehe [wie Komprimierung Regeln, Skills und Memory-Dateien handhabt](/docs/de/context-window#what-survives-compaction) |74| `/compact [instructions]` | Geben Sie Kontext frei, indem Sie die bisherige Konversation zusammenfassen. Übergeben Sie optional Fokusanweisungen für die Zusammenfassung. Siehe [wie Komprimierung Regeln, Skills und Memory-Dateien handhabt](/docs/de/context-window#what-survives-compaction) |

75| `/config [key=value ...]` | Öffnen Sie die [Einstellungen](/docs/de/settings)-Schnittstelle, um Design, Modell, [Ausgabestil](/docs/de/output-styles) und andere Voreinstellungen anzupassen. Ab v2.1.181 können Sie ein oder mehrere `key=value`-Paare übergeben, um eine Einstellung direkt festzulegen, ohne die Schnittstelle zu öffnen, z. B. `/config thinking=false`. Ab v2.1.182 werden auch benannte Kurzschlüssel akzeptiert, wie z. B. `/config theme=dark` oder `/config model=sonnet`. Das `key=value`-Formular funktioniert auch im nicht-interaktiven Modus (`-p`) und aus der Claude Mobile App über [Remote Control](/docs/de/remote-control). Das `key=value`-Formular kann eine Einstellung, die Ihre Bestätigung im Panel benötigt, nicht aktivieren, wie z. B. [`autoContinueAtUsageLimit`](/docs/de/interactive-mode#turn-automatic-continue-off), kann sie aber deaktivieren. Führen Sie `/config --help` aus, um die Schlüssel aufzulisten, die es akzeptiert. Alias: `/settings` |75| `/config [key=value ...]` | Öffnen Sie die [Einstellungen](/docs/de/settings)-Schnittstelle, um Design, Modell, [Ausgabestil](/docs/de/output-styles) und andere Voreinstellungen anzupassen. Übergeben Sie ein oder mehrere `key=value`-Paare, um eine Einstellung direkt festzulegen, ohne die Schnittstelle zu öffnen, z. B. `/config thinking=false`, `/config theme=dark` oder `/config model=sonnet`. Das `key=value`-Formular funktioniert auch im nicht-interaktiven Modus (`-p`) und aus der Claude Mobile App über [Remote Control](/docs/de/remote-control). Das `key=value`-Formular kann eine Einstellung, die Ihre Bestätigung im Panel benötigt, nicht aktivieren, wie z. B. [`autoContinueAtUsageLimit`](/docs/de/interactive-mode#turn-automatic-continue-off), kann sie aber deaktivieren. Führen Sie `/config --help` aus, um die Schlüssel aufzulisten, die es akzeptiert. Alias: `/settings` |

76| `/context [all]` | Visualisieren Sie die aktuelle Kontextnutzung als farbiges Gitter. Zeigt Optimierungsvorschläge für kontextintensive Tools, Memory-Überfluss und Kapazitätswarnungen. Wenn die Konversation das Kontextfenster überschreitet, enthält die Ausgabe eine [Warnung](/docs/de/errors#context-exceeds-the-token-limit), die zeigt, wie weit Sie über dem Limit sind und welcher Befehl Platz freimacht. Im [Vollbildmodus](/docs/de/fullscreen) bricht `/context` die Aufschlüsselung pro Element zusammen, um das Gitter sichtbar zu halten. Übergeben Sie `all`, um es zu erweitern |76| `/context [all]` | Visualisieren Sie die aktuelle Kontextnutzung als farbiges Gitter. Zeigt Optimierungsvorschläge für kontextintensive Tools, Memory-Überfluss und Kapazitätswarnungen. Wenn die Konversation das Kontextfenster überschreitet, enthält die Ausgabe eine [Warnung](/docs/de/errors#context-exceeds-the-token-limit), die zeigt, wie weit Sie über dem Limit sind und welcher Befehl Platz freimacht. Im [Vollbildmodus](/docs/de/fullscreen) bricht `/context` die Aufschlüsselung pro Element zusammen, um das Gitter sichtbar zu halten. Übergeben Sie `all`, um es zu erweitern |

77| `/copy [N]` | Kopieren Sie die letzte Antwort des Assistenten in die Zwischenablage. Übergeben Sie eine Nummer `N`, um die N-te letzte Antwort zu kopieren: `/copy 2` kopiert die vorletzte. Wenn Code-Blöcke vorhanden sind, zeigt sich eine interaktive Auswahl, um einzelne Blöcke oder die vollständige Antwort auszuwählen. Drücken Sie `w` in der Auswahl, um die Auswahl stattdessen in eine Datei zu schreiben, anstatt in die Zwischenablage, was über SSH nützlich ist |77| `/copy [N]` | Kopieren Sie die letzte Antwort des Assistenten in die Zwischenablage. Übergeben Sie eine Nummer `N`, um die N-te letzte Antwort zu kopieren: `/copy 2` kopiert die vorletzte. Wenn Code-Blöcke vorhanden sind, zeigt sich eine interaktive Auswahl, um einzelne Blöcke oder die vollständige Antwort auszuwählen. Drücken Sie `w` in der Auswahl, um die Auswahl stattdessen in eine Datei zu schreiben, anstatt in die Zwischenablage, was über SSH nützlich ist |

78| `/cost` | Alias für `/usage` |78| `/cost` | Alias für `/usage` |


112| `/memory` | Bearbeiten Sie `CLAUDE.md`-Dateien, aktivieren oder deaktivieren Sie [Auto-Memory](/docs/de/memory#auto-memory) und sehen Sie Auto-Memory-Einträge an |112| `/memory` | Bearbeiten Sie `CLAUDE.md`-Dateien, aktivieren oder deaktivieren Sie [Auto-Memory](/docs/de/memory#auto-memory) und sehen Sie Auto-Memory-Einträge an |

113| `/mobile` | Zeigen Sie QR-Code zum Herunterladen der Claude Mobile App an. Aliase: `/ios`, `/android` |113| `/mobile` | Zeigen Sie QR-Code zum Herunterladen der Claude Mobile App an. Aliase: `/ios`, `/android` |

114| `/model [model]` | Wechseln Sie das KI-Modell und speichern Sie es als Standard für neue Sitzungen. Für Modelle, die es unterstützen, verwenden Sie Pfeile nach links/rechts, um die [Aufwandsebene](/docs/de/model-config#adjust-effort-level) anzupassen. Ohne Argument öffnet sich eine Auswahl; drücken Sie `s` auf einer Zeile, um nur für die aktuelle Sitzung zu wechseln. Siehe [wann Claude Code Sie auffordert, den Wechsel zu bestätigen](/docs/de/prompt-caching#switching-models). Sobald Sie den Wechsel bestätigen, wenn Claude Code fragt, wendet Claude Code die Änderung an, ohne auf das Ende der aktuellen Antwort zu warten. Vor v2.1.242 entschied Claude Code anhand eines Feature-Flags, das es von Anthropic abrief, ob der Befehl in der Mitte der Runde oder in der Warteschlange bis zum Ende der Runde ausgeführt werden sollte, und stellte ihn immer in die Warteschlange in einer Sitzung, die [Feature-Flags nicht abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), wie auf einem [Drittanbieter](/docs/de/third-party-integrations). Auch im nicht-interaktiven Modus (`-p`) mit einem Modellargument statt der Auswahl verfügbar, wo es nur auf die aktuelle Sitzung angewendet wird und nicht als Standard gespeichert wird; erfordert Claude Code v2.1.205 oder später |114| `/model [model]` | Wechseln Sie das KI-Modell und speichern Sie es als Standard für neue Sitzungen. Für Modelle, die es unterstützen, verwenden Sie Pfeile nach links/rechts, um die [Aufwandsebene](/docs/de/model-config#adjust-effort-level) anzupassen. Ohne Argument öffnet sich eine Auswahl; drücken Sie `s` auf einer Zeile, um nur für die aktuelle Sitzung zu wechseln. Siehe [wann Claude Code Sie auffordert, den Wechsel zu bestätigen](/docs/de/prompt-caching#switching-models). Sobald Sie den Wechsel bestätigen, wenn Claude Code fragt, wendet Claude Code die Änderung an, ohne auf das Ende der aktuellen Antwort zu warten. Vor v2.1.242 entschied Claude Code anhand eines Feature-Flags, das es von Anthropic abrief, ob der Befehl in der Mitte der Runde oder in der Warteschlange bis zum Ende der Runde ausgeführt werden sollte, und stellte ihn immer in die Warteschlange in einer Sitzung, die [Feature-Flags nicht abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), wie auf einem [Drittanbieter](/docs/de/third-party-integrations). Auch im nicht-interaktiven Modus (`-p`) mit einem Modellargument statt der Auswahl verfügbar, wo es nur auf die aktuelle Sitzung angewendet wird und nicht als Standard gespeichert wird; erfordert Claude Code v2.1.205 oder später |

115| `/output-style [style]` | Listet [Ausgabestile](/docs/de/output-styles) auf oder wechselt zu einem, z. B. `/output-style concise`. Siehe [Ändern Sie Ihren Ausgabestil](/docs/de/output-styles#change-your-output-style). Erfordert Claude Code v2.1.269 oder später |

115| `/passes` | Teilen Sie eine kostenlose Woche Claude Code mit Freunden. Nur sichtbar, wenn Ihr Konto berechtigt ist |116| `/passes` | Teilen Sie eine kostenlose Woche Claude Code mit Freunden. Nur sichtbar, wenn Ihr Konto berechtigt ist |

116| `/permissions` | Verwalten Sie Zulassen-, Fragen- und Ablehnen-Regeln für Tool-Berechtigungen. Öffnet einen interaktiven Dialog, in dem Sie Regeln nach Umfang anzeigen, Regeln hinzufügen oder entfernen, Arbeitsverzeichnisse verwalten und [kürzliche Auto-Modus-Ablehnungen](/docs/de/auto-mode-config#review-denials) überprüfen können. Sie können auch [Auto-Modus-Klassifizierer-Regeln](/docs/de/auto-mode-config#edit-rules-from-permissions) aus der Registerkarte **Auto-Modus** des Dialogs anzeigen und bearbeiten. Wenn Sie ihn ausführen, während Claude antwortet, öffnet Claude Code den Dialog sofort und wendet Ihre Änderungen ab Claudes nächstem Tool-Aufruf in derselben Runde an. Vor v2.1.234 stellte Claude Code den Befehl in die Warteschlange, bis die Runde beendet war. Alias: `/allowed-tools` |117| `/permissions` | Verwalten Sie Zulassen-, Fragen- und Ablehnen-Regeln für Tool-Berechtigungen. Öffnet einen interaktiven Dialog, in dem Sie Regeln nach Umfang anzeigen, Regeln hinzufügen oder entfernen, Arbeitsverzeichnisse verwalten und [kürzliche Auto-Modus-Ablehnungen](/docs/de/auto-mode-config#review-denials) überprüfen können. Sie können auch [Auto-Modus-Klassifizierer-Regeln](/docs/de/auto-mode-config#edit-rules-from-permissions) aus der Registerkarte **Auto-Modus** des Dialogs anzeigen und bearbeiten. Wenn Sie ihn ausführen, während Claude antwortet, öffnet Claude Code den Dialog sofort und wendet Ihre Änderungen ab Claudes nächstem Tool-Aufruf in derselben Runde an. Vor v2.1.234 stellte Claude Code den Befehl in die Warteschlange, bis die Runde beendet war. Alias: `/allowed-tools` |

117| `/plan [description]` | Geben Sie den Plan-Modus direkt aus der Eingabeaufforderung ein. Übergeben Sie eine optionale Beschreibung, um den Plan-Modus einzugeben und sofort mit dieser Aufgabe zu beginnen, z. B. `/plan fix the auth bug` |118| `/plan [description]` | Geben Sie den Plan-Modus direkt aus der Eingabeaufforderung ein. Übergeben Sie eine optionale Beschreibung, um den Plan-Modus einzugeben und sofort mit dieser Aufgabe zu beginnen, z. B. `/plan fix the auth bug` |


126| `/reload-plugins [--force]` | Laden Sie alle aktiven [Plugins](/docs/de/plugins) neu, um ausstehende Änderungen anzuwenden, ohne neu zu starten. Meldet Anzahlen für jede neu geladene Komponente und kennzeichnet alle Ladefehler. Wenn das Neuladen ändern würde, welche MCP-Tools geladen werden und den Prompt-Cache ungültig machen würde, warnt der Befehl und überspringt, es sei denn, Sie übergeben `--force`. Auch im nicht-interaktiven Modus (`-p`), dem Agent SDK und der Desktop-App verfügbar, wo es nur bei direkt in die Sitzung eingegebener Eingabe ausgeführt wird und Plugin-MCP-Server-Änderungen nicht anwendet; erfordert Claude Code v2.1.260 oder später. Siehe [Plugin-Änderungen ohne Neustart anwenden](/docs/de/discover-plugins#apply-plugin-changes-without-restarting) |127| `/reload-plugins [--force]` | Laden Sie alle aktiven [Plugins](/docs/de/plugins) neu, um ausstehende Änderungen anzuwenden, ohne neu zu starten. Meldet Anzahlen für jede neu geladene Komponente und kennzeichnet alle Ladefehler. Wenn das Neuladen ändern würde, welche MCP-Tools geladen werden und den Prompt-Cache ungültig machen würde, warnt der Befehl und überspringt, es sei denn, Sie übergeben `--force`. Auch im nicht-interaktiven Modus (`-p`), dem Agent SDK und der Desktop-App verfügbar, wo es nur bei direkt in die Sitzung eingegebener Eingabe ausgeführt wird und Plugin-MCP-Server-Änderungen nicht anwendet; erfordert Claude Code v2.1.260 oder später. Siehe [Plugin-Änderungen ohne Neustart anwenden](/docs/de/discover-plugins#apply-plugin-changes-without-restarting) |

127| `/reload-skills` | Scannen Sie [Skill](/docs/de/skills)- und Befehlsverzeichnisse erneut, damit Skills, die während der Sitzung auf der Festplatte hinzugefügt oder geändert wurden, ohne Neustart verfügbar werden. Meldet, wie viele Skills verfügbar sind und wie viele hinzugefügt oder entfernt wurden |128| `/reload-skills` | Scannen Sie [Skill](/docs/de/skills)- und Befehlsverzeichnisse erneut, damit Skills, die während der Sitzung auf der Festplatte hinzugefügt oder geändert wurden, ohne Neustart verfügbar werden. Meldet, wie viele Skills verfügbar sind und wie viele hinzugefügt oder entfernt wurden |

128| `/remote-control` | Machen Sie diese Sitzung für [Remote Control](/docs/de/remote-control) von claude.ai verfügbar. Das Ausführen während der Abmeldung druckt, dass Remote Control ein claude.ai-Abonnement erfordert, und teilt Ihnen mit, wie Sie sich anmelden; vor v2.1.206 meldete es `Unknown command: /remote-control`. Alias: `/rc` |129| `/remote-control` | Machen Sie diese Sitzung für [Remote Control](/docs/de/remote-control) von claude.ai verfügbar. Das Ausführen während der Abmeldung druckt, dass Remote Control ein claude.ai-Abonnement erfordert, und teilt Ihnen mit, wie Sie sich anmelden; vor v2.1.206 meldete es `Unknown command: /remote-control`. Alias: `/rc` |

129| `/remote-env` | Wählen Sie die Standardumgebung für [Cloud-Agenten](/docs/de/cloud-environments#select-an-environment-from-the-cli) |130| `/remote-env` | Wählen Sie die Standard-[Cloud-Umgebung](/docs/de/cloud-environments#select-an-environment-from-the-cli) für Cloud-Sitzungen, die Sie von der CLI aus starten |

130| `/rename [name]` | Benennen Sie die aktuelle Sitzung um und zeigen Sie den Namen auf der Eingabeaufforderungsleiste an. Ohne Namen wird automatisch einer aus dem Konversationsverlauf generiert. Auch im nicht-interaktiven Modus (`-p`) verfügbar; erfordert Claude Code v2.1.205 oder später. Von jeder Umbenennungsoberfläche, einschließlich claude.ai und der Desktop-App, ersetzt Claude Code Steuer- und unsichtbare Zeichen im neuen Namen durch Leerzeichen und begrenzt den Namen auf 200 Zeichen. Wenn der Name leer ist, sobald unsichtbare Zeichen entfernt werden, lehnt Claude Code ihn ab und zeigt `That name is empty once invisible characters are removed. Usage: /rename <name>`. Der Zeichenersatz und die Längenbegrenzung erfordern Claude Code v2.1.221 oder später. Wenn eine andere Live-Sitzung auf diesem Computer bereits einen Namen verwendet, den Sie übergeben, wendet Claude Code stattdessen [eine Variante davon](/docs/de/sessions#name-your-sessions) an |131| `/rename [name]` | Benennen Sie die aktuelle Sitzung um und zeigen Sie den Namen auf der Eingabeaufforderungsleiste an. Ohne Namen wird automatisch einer aus dem Konversationsverlauf generiert. Auch im nicht-interaktiven Modus (`-p`) verfügbar; erfordert Claude Code v2.1.205 oder später. Von jeder Umbenennungsoberfläche, einschließlich claude.ai und der Desktop-App, ersetzt Claude Code Steuer- und unsichtbare Zeichen im neuen Namen durch Leerzeichen und begrenzt den Namen auf 200 Zeichen. Wenn der Name leer ist, sobald unsichtbare Zeichen entfernt werden, lehnt Claude Code ihn ab und zeigt `That name is empty once invisible characters are removed. Usage: /rename <name>`. Der Zeichenersatz und die Längenbegrenzung erfordern Claude Code v2.1.221 oder später. Wenn eine andere Live-Sitzung auf diesem Computer bereits einen Namen verwendet, den Sie übergeben, wendet Claude Code stattdessen [eine Variante davon](/docs/de/sessions#name-your-sessions) an |

131| `/resume [session]` | Setzen Sie eine Konversation nach ID oder Name fort, oder öffnen Sie die Sitzungsauswahl. [Hintergrund-Sitzungen](/docs/de/agent-view) erscheinen in der Auswahl mit `bg` gekennzeichnet; eine, die noch läuft, kann hier nicht fortgesetzt werden, daher hängen Sie sie von `claude agents` an oder stoppen Sie sie dort zuerst. Alias: `/continue` |132| `/resume [session]` | Setzen Sie eine Konversation nach ID oder Name fort, oder öffnen Sie die Sitzungsauswahl. [Hintergrund-Sitzungen](/docs/de/agent-view) erscheinen in der Auswahl mit `bg` gekennzeichnet; eine, die noch läuft, kann hier nicht fortgesetzt werden, daher hängen Sie sie von `claude agents` an oder stoppen Sie sie dort zuerst. Alias: `/continue` |

132| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias von [`/code-review`](/docs/de/code-review#review-a-diff-locally): überprüft den aktuellen Diff oder eine PR-Nummer, einen Branch oder einen Pfad, den Sie übergeben, wie z. B. `/review 1234`, und nimmt die gleichen Aufwandsebenen und Flags. Ohne angegebene Ebene verwendet die Überprüfung die letzte `low` bis `max`-Ebene, die Sie eingegeben haben; siehe [Diff lokal überprüfen](/docs/de/code-review#review-a-diff-locally) für die genauen Regeln. Für eine tiefe Cloud-Überprüfung verwenden Sie [`/code-review ultra`](/docs/de/ultrareview). Vor v2.1.223 war `/review` ein separater Befehl, der eine einmalige, schreibgeschützte Überprüfung eines GitHub Pull Request nach Nummer durchführte, wobei offene PRs zum Auswählen aufgelistet wurden, wenn ohne Argument ausgeführt; von v2.1.186 bis v2.1.201 führte er die gleiche Multi-Agent-Engine wie `/code-review medium` aus |133| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias von [`/code-review`](/docs/de/code-review#review-a-diff-locally): überprüft den aktuellen Diff oder eine PR-Nummer, einen Branch oder einen Pfad, den Sie übergeben, wie z. B. `/review 1234`, und nimmt die gleichen Aufwandsebenen und Flags. Ohne angegebene Ebene verwendet die Überprüfung die letzte `low` bis `max`-Ebene, die Sie eingegeben haben; siehe [Diff lokal überprüfen](/docs/de/code-review#review-a-diff-locally) für die genauen Regeln. Für eine tiefe Cloud-Überprüfung verwenden Sie [`/code-review ultra`](/docs/de/ultrareview). Vor v2.1.223 war `/review` ein separater Befehl, der eine einmalige, schreibgeschützte Überprüfung eines GitHub Pull Request nach Nummer durchführte, wobei offene PRs zum Auswählen aufgelistet wurden, wenn ohne Argument ausgeführt; von v2.1.186 bis v2.1.201 führte er die gleiche Multi-Agent-Engine wie `/code-review medium` aus |


150| `/subtask <task>` | Starten Sie einen [gegabelten Subagenten](/docs/de/sub-agents#fork-the-current-conversation): einen Hintergrund-Subagenten, der die vollständige Konversation erbt und an der Aufgabe arbeitet, während Sie weiterarbeiten. Sein Ergebnis kehrt zu dieser Konversation zurück, wenn er fertig ist. Um die Konversation stattdessen in eine separate Hintergrund-Sitzung zu kopieren, verwenden Sie `/fork`. Erfordert Claude Code v2.1.212 oder später; auf v2.1.161 bis v2.1.211 ist dieser Befehl `/fork`. Wenn [Agent-Ansicht ausgeschaltet ist](/docs/de/agent-view#turn-off-agent-view), ist `/subtask` nicht verfügbar und `/fork` behält das gegabelte-Subagenten-Verhalten |151| `/subtask <task>` | Starten Sie einen [gegabelten Subagenten](/docs/de/sub-agents#fork-the-current-conversation): einen Hintergrund-Subagenten, der die vollständige Konversation erbt und an der Aufgabe arbeitet, während Sie weiterarbeiten. Sein Ergebnis kehrt zu dieser Konversation zurück, wenn er fertig ist. Um die Konversation stattdessen in eine separate Hintergrund-Sitzung zu kopieren, verwenden Sie `/fork`. Erfordert Claude Code v2.1.212 oder später; auf v2.1.161 bis v2.1.211 ist dieser Befehl `/fork`. Wenn [Agent-Ansicht ausgeschaltet ist](/docs/de/agent-view#turn-off-agent-view), ist `/subtask` nicht verfügbar und `/fork` behält das gegabelte-Subagenten-Verhalten |

151| `/tasks` | Sehen Sie sich Hintergrund-Arbeit in der aktuellen Sitzung an und verwalten Sie sie, einschließlich Subagenten, die fertig sind. Auch verfügbar als `/bashes` |152| `/tasks` | Sehen Sie sich Hintergrund-Arbeit in der aktuellen Sitzung an und verwalten Sie sie, einschließlich Subagenten, die fertig sind. Auch verfügbar als `/bashes` |

152| `/team-onboarding` | Generieren Sie einen Team-Onboarding-Leitfaden aus Ihrem Claude Code-Nutzungsverlauf. Claude analysiert Ihre Sitzungen, Befehle und MCP-Server-Nutzung der letzten 30 Tage und erstellt einen Markdown-Leitfaden, den ein Teamkollege als erste Nachricht einfügen kann, um schnell eingerichtet zu werden. Für claude.ai-Abonnenten in Pro-, Max-, Team- und Enterprise-Plänen gibt es auch einen Share-Link, den Teamkollegen direkt in Claude Code öffnen können |153| `/team-onboarding` | Generieren Sie einen Team-Onboarding-Leitfaden aus Ihrem Claude Code-Nutzungsverlauf. Claude analysiert Ihre Sitzungen, Befehle und MCP-Server-Nutzung der letzten 30 Tage und erstellt einen Markdown-Leitfaden, den ein Teamkollege als erste Nachricht einfügen kann, um schnell eingerichtet zu werden. Für claude.ai-Abonnenten in Pro-, Max-, Team- und Enterprise-Plänen gibt es auch einen Share-Link, den Teamkollegen direkt in Claude Code öffnen können |

153| `/teleport` | Ziehen Sie eine [Claude Code im Web](/docs/de/claude-code-on-the-web#from-web-to-terminal)-Sitzung in dieses Terminal. Öffnet eine Auswahl, dann ruft den Branch und die Konversation ab. Auch verfügbar als `/tp`. Erfordert ein claude.ai-Abonnement |154| `/teleport` | Ziehen Sie eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web#from-cloud-to-terminal) in dieses Terminal. Öffnet eine Auswahl, dann ruft den Branch und die Konversation ab. Auch verfügbar als `/tp`. Erfordert ein claude.ai-Abonnement |

154| `/terminal-setup` | [Installieren Sie eine Shift+Enter-Tastenbindung für Zeilenumbrüche](/docs/de/terminal-config#enter-multiline-prompts) in VS Code, Cursor, Devin Desktop, Alacritty oder Zed. In Apple Terminal [aktivieren Sie stattdessen Option+Enter für Zeilenumbrüche und schalten Sie die audible Bell aus](/docs/de/terminal-config#enable-option-key-shortcuts-on-macos). In iTerm2 [schalten Sie Clipboard-Zugriff ein, damit `/copy` funktioniert](/docs/de/terminal-config#enable-option-key-shortcuts-on-macos) |155| `/terminal-setup` | [Installieren Sie eine Shift+Enter-Tastenbindung für Zeilenumbrüche](/docs/de/terminal-config#enter-multiline-prompts) in VS Code, Cursor, Devin Desktop, Alacritty oder Zed. In Apple Terminal [aktivieren Sie stattdessen Option+Enter für Zeilenumbrüche und schalten Sie die audible Bell aus](/docs/de/terminal-config#enable-option-key-shortcuts-on-macos). In iTerm2 [schalten Sie Clipboard-Zugriff ein, damit `/copy` funktioniert](/docs/de/terminal-config#enable-option-key-shortcuts-on-macos) |

155| `/theme` | Ändern Sie das Farbschema. Enthält eine `auto`-Option, die den hellen oder dunklen Hintergrund Ihres Terminals abgleicht, helle und dunkle Varianten, farbenblind-zugängliche (daltonisierte) Designs, ANSI-Designs, die die Farbpalette Ihres Terminals verwenden, und alle [benutzerdefinierten Designs](/docs/de/terminal-config#create-a-custom-theme) aus `~/.claude/themes/` oder Plugins. Wählen Sie **Neues benutzerdefiniertes Design…**, um eines zu erstellen |156| `/theme` | Ändern Sie das Farbschema. Enthält eine `auto`-Option, die den hellen oder dunklen Hintergrund Ihres Terminals abgleicht, helle und dunkle Varianten, farbenblind-zugängliche (daltonisierte) Designs, ANSI-Designs, die die Farbpalette Ihres Terminals verwenden, und alle [benutzerdefinierten Designs](/docs/de/terminal-config#create-a-custom-theme) aus `~/.claude/themes/` oder Plugins. Wählen Sie **Neues benutzerdefiniertes Design…**, um eines zu erstellen |

156| `/tui [default\|fullscreen]` | Legen Sie den Terminal-UI-Renderer fest und starten Sie ihn mit Ihrer Konversation intakt neu. `fullscreen` aktiviert den [flimmerfreien Alt-Screen-Renderer](/docs/de/fullscreen). Ohne Argument druckt den aktiven Renderer |157| `/tui [default\|fullscreen]` | Legen Sie den Terminal-UI-Renderer fest und starten Sie ihn mit Ihrer Konversation intakt neu. `fullscreen` aktiviert den [flimmerfreien Alt-Screen-Renderer](/docs/de/fullscreen). Ohne Argument druckt den aktiven Renderer |

157| `/ultraplan <prompt>` | Entfernt. Verwenden Sie stattdessen [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode). Zuvor sendete eine Planungsaufgabe an eine [Claude Code im Web](/docs/de/claude-code-on-the-web)-Sitzung zur Überprüfung in Ihrem Browser |158| `/ultraplan <prompt>` | Entfernt. Verwenden Sie stattdessen [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode). Zuvor sendete eine Planungsaufgabe an eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) zur Überprüfung in Ihrem Browser |

158| `/ultrareview [PR or branch]` | Führen Sie eine tiefe, Multi-Agent-Code-Überprüfung in einer Cloud-Sandbox mit [ultrareview](/docs/de/ultrareview) aus. Übergeben Sie eine PR-Referenz, um diesen Pull Request zu überprüfen, oder einen Branch-Namen, um die Vergleichsbasis zu ändern. Die bevorzugte Invokation ist jetzt `/code-review ultra`, und `/ultrareview` bleibt als Alias. Enthält 3 kostenlose Läufe auf Pro und Max, dann erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |159| `/ultrareview [PR or branch]` | Führen Sie eine tiefe, Multi-Agent-Code-Überprüfung in einer Cloud-Sandbox mit [ultrareview](/docs/de/ultrareview) aus. Übergeben Sie eine PR-Referenz, um diesen Pull Request zu überprüfen, oder einen Branch-Namen, um die Vergleichsbasis zu ändern. Die bevorzugte Invokation ist jetzt `/code-review ultra`, und `/ultrareview` bleibt als Alias. Enthält 3 kostenlose Läufe auf Pro und Max, dann erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

159| `/upgrade` | Öffnen Sie die Upgrade-Seite in Ihrem Browser, um zu einem höheren Plan-Tier zu wechseln. Wenn der Browser nicht geöffnet werden kann, zeigt der Befehl eine Anmeldeaufforderung ohne Drucken der URL |160| `/upgrade` | Öffnen Sie die Upgrade-Seite in Ihrem Browser, um zu einem höheren Plan-Tier zu wechseln. Wenn der Browser nicht geöffnet werden kann, zeigt der Befehl eine Anmeldeaufforderung ohne Drucken der URL |

160| `/usage` | Zeigen Sie Sitzungskosten, Plan-Nutzungslimits und Aktivitätsstatistiken an. In einem Pro-, Max-, Team- oder Enterprise-Plan enthält eine [Aufschlüsselung, was gegen Ihre Plan-Limits zählt](/docs/de/costs#plan-usage-breakdown). `/cost` und `/stats` sind Aliase |161| `/usage` | Zeigen Sie Sitzungskosten, Plan-Nutzungslimits und Aktivitätsstatistiken an. In einem Pro-, Max-, Team- oder Enterprise-Plan enthält eine [Aufschlüsselung, was gegen Ihre Plan-Limits zählt](/docs/de/costs#plan-usage-breakdown). `/cost` und `/stats` sind Aliase |


162| `/verify` | **[Skill](/docs/de/skills#bundled-skills).** Bestätigen Sie, dass eine Code-Änderung das tut, was sie sollte, indem Sie Ihre Projekt-App erstellen, ausführen und das Ergebnis beobachten, anstatt sich auf Tests oder Typ-Überprüfungen zu verlassen. Siehe [App ausführen und überprüfen](/docs/de/skills#run-and-verify-your-app) |163| `/verify` | **[Skill](/docs/de/skills#bundled-skills).** Bestätigen Sie, dass eine Code-Änderung das tut, was sie sollte, indem Sie Ihre Projekt-App erstellen, ausführen und das Ergebnis beobachten, anstatt sich auf Tests oder Typ-Überprüfungen zu verlassen. Siehe [App ausführen und überprüfen](/docs/de/skills#run-and-verify-your-app) |

163| `/vim` | Entfernt in v2.1.92. Um zwischen Vim- und Normal-Bearbeitungsmodi zu wechseln, verwenden Sie `/config` → Editor-Modus |164| `/vim` | Entfernt in v2.1.92. Um zwischen Vim- und Normal-Bearbeitungsmodi zu wechseln, verwenden Sie `/config` → Editor-Modus |

164| `/voice [hold\|tap\|off]` | Schalten Sie [Sprachdiktat](/docs/de/voice-dictation) um oder aktivieren Sie es in einem bestimmten Modus. Erfordert ein Claude.ai-Konto |165| `/voice [hold\|tap\|off]` | Schalten Sie [Sprachdiktat](/docs/de/voice-dictation) um oder aktivieren Sie es in einem bestimmten Modus. Erfordert ein Claude.ai-Konto |

165| `/web-setup` | Verbinden Sie Ihr GitHub-Konto mit [Claude Code im Web](/docs/de/web-quickstart#connect-from-your-terminal) mit Ihren lokalen `gh`-CLI-Anmeldedaten |166| `/web-setup` | Verbinden Sie Ihr GitHub-Konto mit [Cloud-Sitzungen](/docs/de/web-quickstart#connect-from-your-terminal) mit Ihren lokalen `gh`-CLI-Anmeldedaten |

166| `/workflow-authoring` | **[Skill](/docs/de/skills#bundled-skills).** Laden Sie die Referenz zum Schreiben von [dynamischen Workflow](/docs/de/workflows)-Skripten: die Skript-API, Resume-Verhalten, Qualitätsmuster und durchgearbeitete Beispiele. Claude lädt sie normalerweise von selbst, bevor ein Skript geschrieben wird; führen Sie es selbst aus, bevor Sie [ein gespeichertes Skript von Hand bearbeiten](/docs/de/workflows#edit-a-saved-script). Verfügbar, wenn dynamische Workflows aktiviert sind, und erfordert Claude Code v2.1.248 oder später |167| `/workflow-authoring` | **[Skill](/docs/de/skills#bundled-skills).** Laden Sie die Referenz zum Schreiben von [dynamischen Workflow](/docs/de/workflows)-Skripten: die Skript-API, Resume-Verhalten, Qualitätsmuster und durchgearbeitete Beispiele. Claude lädt sie normalerweise von selbst, bevor ein Skript geschrieben wird; führen Sie es selbst aus, bevor Sie [ein gespeichertes Skript von Hand bearbeiten](/docs/de/workflows#edit-a-saved-script). Verfügbar, wenn dynamische Workflows aktiviert sind, und erfordert Claude Code v2.1.248 oder später |

167| `/workflows` | Öffnen Sie die [Workflow](/docs/de/workflows#watch-the-run)-Fortschrittsansicht, um laufende und abgeschlossene Workflows zu beobachten, zu pausieren, fortzusetzen oder zu speichern |168| `/workflows` | Öffnen Sie die [Workflow](/docs/de/workflows#watch-the-run)-Fortschrittsansicht, um laufende und abgeschlossene Workflows zu beobachten, zu pausieren, fortzusetzen oder zu speichern |

168 169 

Details

1586 1586 

1587Die Sitzung durchläuft einen realistischen Ablauf mit repräsentativen Token-Zählungen:1587Die Sitzung durchläuft einen realistischen Ablauf mit repräsentativen Token-Zählungen:

1588 1588 

1589* **Bevor Sie etwas eingeben**: CLAUDE.md, automatisches Gedächtnis, MCP-Tool-Namen und Skill-Beschreibungen werden alle in den Kontext geladen. Ihr eigenes Setup kann hier mehr hinzufügen, wie ein [Ausgabestil](/docs/de/output-styles) oder Text aus [`--append-system-prompt`](/docs/de/cli-reference).1589* **Bevor Sie etwas eingeben**: CLAUDE.md, automatisches Gedächtnis, MCP-Tool-Namen und Skill-Beschreibungen werden alle in den Kontext geladen. [AGENTS.md-Dateien](/docs/de/memory#agents-md) können auch geladen werden, eigenständig oder zusammen mit CLAUDE.md. Ihr eigenes Setup kann hier mehr hinzufügen, wie ein [Ausgabestil](/docs/de/output-styles) oder Text aus [`--append-system-prompt`](/docs/de/cli-reference).

1590* **Während Claude arbeitet**: Jeder Dateilesevorgang fügt zum Kontext hinzu, [pfadgebundene Regeln](/docs/de/memory#path-specific-rules) werden automatisch zusammen mit übereinstimmenden Dateien geladen, und ein [PostToolUse Hook](/docs/de/hooks-guide) wird nach jeder Bearbeitung ausgelöst.1590* **Während Claude arbeitet**: Jeder Dateilesevorgang fügt zum Kontext hinzu, [pfadgebundene Regeln](/docs/de/memory#path-specific-rules) werden automatisch zusammen mit übereinstimmenden Dateien geladen, und ein [PostToolUse Hook](/docs/de/hooks-guide) wird nach jeder Bearbeitung ausgelöst.

1591* **Die Folgeeingabeaufforderung**: Ein [Subagent](/docs/de/sub-agents) verarbeitet die Recherche in seinem eigenen separaten Kontextfenster, sodass die großen Dateilesevorgang außerhalb des Ihren bleiben. Nur die Zusammenfassung und ein kleiner Metadaten-Trailer kommen zurück.1591* **Die Folgeeingabeaufforderung**: Ein [Subagent](/docs/de/sub-agents) verarbeitet die Recherche in seinem eigenen separaten Kontextfenster, sodass die großen Dateilesevorgang außerhalb des Ihren bleiben. Nur die Zusammenfassung und ein kleiner Metadaten-Trailer kommen zurück.

1592* **Am Ende**: `/compact` ersetzt die Konversation durch eine strukturierte Zusammenfassung. Der meiste Startinhalt wird automatisch neu geladen; die folgende Tabelle zeigt, was mit jedem Mechanismus geschieht.1592* **Am Ende**: `/compact` ersetzt die Konversation durch eine strukturierte Zusammenfassung. Der meiste Startinhalt wird automatisch neu geladen; die folgende Tabelle zeigt, was mit jedem Mechanismus geschieht.


1598Wenn eine lange Sitzung komprimiert wird, fasst Claude Code die Konversationshistorie zusammen, um in das Kontextfenster zu passen. Ab v2.1.198 erbt die Zusammenfassungsanfrage die [erweiterte Überlegung](/docs/de/model-config#extended-thinking) Konfiguration Ihrer Sitzung, sodass sie mit aktiviertem Denken argumentiert, wenn Ihre Sitzung dies aktiviert hat, und ansonsten deaktiviert bleibt. Das Denken beeinflusst nur, wie die Zusammenfassung erstellt wird; Ihre Sitzungseinstellungen bleiben danach unverändert. Was mit den einzelnen Inhaltstypen geschieht, hängt davon ab, wie sie geladen wurden:1598Wenn eine lange Sitzung komprimiert wird, fasst Claude Code die Konversationshistorie zusammen, um in das Kontextfenster zu passen. Ab v2.1.198 erbt die Zusammenfassungsanfrage die [erweiterte Überlegung](/docs/de/model-config#extended-thinking) Konfiguration Ihrer Sitzung, sodass sie mit aktiviertem Denken argumentiert, wenn Ihre Sitzung dies aktiviert hat, und ansonsten deaktiviert bleibt. Das Denken beeinflusst nur, wie die Zusammenfassung erstellt wird; Ihre Sitzungseinstellungen bleiben danach unverändert. Was mit den einzelnen Inhaltstypen geschieht, hängt davon ab, wie sie geladen wurden:

1599 1599 

1600| Mechanismus | Nach der Komprimierung |1600| Mechanismus | Nach der Komprimierung |

1601| :---------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |1601| :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |

1602| System-Eingabeaufforderung und Ausgabestil | Beide gelten weiterhin |1602| System-Eingabeaufforderung und Ausgabestil | Beide gelten weiterhin |

1603| Projekt-Root CLAUDE.md und ungebundene Regeln | Neu eingefügt von der Festplatte |1603| Projekt-Root CLAUDE.md und ungebundene Regeln | Neu eingefügt von der Festplatte |

1604| Automatisches Gedächtnis | Neu eingefügt von der Festplatte |1604| Automatisches Gedächtnis | Neu eingefügt von der Festplatte |


1607| Verschachtelte CLAUDE.md in Unterverzeichnissen | Claude Code lädt sie neu, wenn Claude Dateien in diesem Unterverzeichnis liest |1607| Verschachtelte CLAUDE.md in Unterverzeichnissen | Claude Code lädt sie neu, wenn Claude Dateien in diesem Unterverzeichnis liest |

1608| Dateien, die Claude gelesen oder bearbeitet hat | Claude Code liest bis zu fünf neu, die zuletzt geänderten zuerst |1608| Dateien, die Claude gelesen oder bearbeitet hat | Claude Code liest bis zu fünf neu, die zuletzt geänderten zuerst |

1609| Aufgerufene Skill-Texte | Neu eingefügt, begrenzt auf 5.000 Token pro Skill und 25.000 Token insgesamt; älteste werden zuerst gelöscht |1609| Aufgerufene Skill-Texte | Neu eingefügt, begrenzt auf 5.000 Token pro Skill und 25.000 Token insgesamt; älteste werden zuerst gelöscht |

1610| [Hintergrund-Bash-Befehle](/docs/de/interactive-mode#background-bash-commands) und Hintergrund-[Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background) | Weiterhin ausgeführt. Claude Code erinnert Claude daran, welche noch ausgeführt werden, damit es keine Duplikate startet |

1610| Kontext, den Hooks früher hinzugefügt haben | Mit dem Rest der Konversation zusammengefasst |1611| Kontext, den Hooks früher hinzugefügt haben | Mit dem Rest der Konversation zusammengefasst |

1611| [SessionStart Hooks](/docs/de/hooks-guide#re-inject-context-after-compaction), die die `compact` Quelle erfüllen | Claude Code führt sie aus und fügt ihre Ausgabe zum komprimierten Kontext hinzu |1612| [SessionStart Hooks](/docs/de/hooks-guide#re-inject-context-after-compaction), die die `compact` Quelle erfüllen | Claude Code führt sie aus und fügt ihre Ausgabe zum komprimierten Kontext hinzu |

1612 1613 

1613Pfadgebundene Regeln und verschachtelte CLAUDE.md-Dateien werden in die Nachrichtenhistorie geladen, wenn ihre Trigger-Datei gelesen wird, sodass die Komprimierung sie zusammen mit allem anderen zusammenfasst. Unmittelbar nach der Komprimierung liest Claude Code bis zu fünf der Dateien neu, die Claude in der Sitzung gelesen oder bearbeitet hat, und wählt die zuletzt geänderten aus, und lädt die Regeln und verschachtelten CLAUDE.md-Dateien neu, die für diese Dateien gelten. Eine Datei über 5.000 Token kommt als Pfadreferenz ohne ihren Inhalt zurück, angezeigt als `Referenced file` statt `Read`. Ihre Regeln werden immer noch neu geladen. Wenn eine Regel über die Komprimierung hinweg bestehen bleiben muss, entfernen Sie das `paths:` Frontmatter oder verschieben Sie es in die Projekt-Root CLAUDE.md.1614Unmittelbar nach der Komprimierung liest Claude Code bis zu fünf der Dateien neu, die Claude in der Sitzung gelesen oder bearbeitet hat, und wählt die zuletzt geänderten aus. Eine Datei über 5.000 Token kommt als Pfadreferenz ohne ihren Inhalt zurück, angezeigt als `Referenced file` statt `Read`.

1615 

1616Pfadgebundene Regeln und verschachtelte CLAUDE.md-Dateien werden in die Nachrichtenhistorie geladen, wenn ihre Trigger-Datei gelesen wird, sodass die Komprimierung sie zusammen mit allem anderen zusammenfasst. Wenn eine Regel über die Komprimierung hinweg bestehen bleiben muss, entfernen Sie das `paths:` Frontmatter oder verschieben Sie es in die Projekt-Root CLAUDE.md.

1614 1617 

1615Skill-Texte werden nach der Komprimierung neu eingefügt, aber große Skills werden auf die Pro-Skill-Grenze gekürzt, und die ältesten aufgerufenen Skills werden gelöscht, sobald das Gesamtbudget überschritten wird. Die Kürzung behält den Anfang der Datei bei, daher sollten Sie die wichtigsten Anweisungen oben in `SKILL.md` platzieren.1618Skill-Texte werden nach der Komprimierung neu eingefügt, aber große Skills werden auf die Pro-Skill-Grenze gekürzt, und die ältesten aufgerufenen Skills werden gelöscht, sobald das Gesamtbudget überschritten wird. Die Kürzung behält den Anfang der Datei bei, daher sollten Sie die wichtigsten Anweisungen oben in `SKILL.md` platzieren.

1616 1619 

Details

40Die folgenden Prozesse starten nicht durch den Launcher:40Die folgenden Prozesse starten nicht durch den Launcher:

41 41 

42* Ein [installierter Hintergrund­dienst](/docs/de/agent-view#the-supervisor-process), dessen Unit vor der Launcher-Konfiguration geschrieben wurde: `launchd` oder `systemd` startet diesen Prozess aus seiner Unit-Datei. `/status` und `claude daemon status` warnen, wenn der laufende Dienst und der konfigurierte Launcher nicht übereinstimmen, und die Sitzungen, die der Dienst startet, starten immer noch durch den Launcher, sobald der Dienst mit der Variable in seinen Einstellungen neu startet.42* Ein [installierter Hintergrund­dienst](/docs/de/agent-view#the-supervisor-process), dessen Unit vor der Launcher-Konfiguration geschrieben wurde: `launchd` oder `systemd` startet diesen Prozess aus seiner Unit-Datei. `/status` und `claude daemon status` warnen, wenn der laufende Dienst und der konfigurierte Launcher nicht übereinstimmen, und die Sitzungen, die der Dienst startet, starten immer noch durch den Launcher, sobald der Dienst mit der Variable in seinen Einstellungen neu startet.

43* Eine Sitzung, die Sie selbst in einem Terminal starten, die so ausgeführt wird, wie Sie sie aufgerufen haben. Um diese Sitzungen abzudecken, legen Sie ein Skript namens `claude` in ein Verzeichnis früher auf `PATH`, das Ihren Launcher mit der echten Binärdatei ausführt; ersetzen Sie nicht den verwalteten Symlink. Self-Spawns konsultieren nicht `PATH`, daher stapeln sich die beiden Launcher nie.43* Eine Sitzung, die Sie selbst in einem Terminal starten, die so ausgeführt wird, wie Sie sie aufgerufen haben. Um diese Sitzungen abzudecken, legen Sie ein Skript namens `claude` in ein Verzeichnis früher auf `PATH`, das Ihren Launcher mit der echten Binärdatei ausführt; ersetzen Sie nicht den verwalteten Symlink. Der Hintergrund­dienst und seine Sitzungen starten ohne `PATH`-Lookup, daher stapeln sich die beiden Launcher dort nicht.

44* Der erste Prozess eines `claude-cli://` Deep Links, den der Protokoll-Handler des Betriebssystems direkt startet. Alles, das diese Sitzung danach im Hintergrund startet, läuft durch den Launcher. Um diesen Pfad vollständig zu schließen, [verhindern Sie die Handler-Registrierung](/docs/de/deep-links#registration-and-supported-platforms) mit der Einstellung `disableDeepLinkRegistration`.44* Der erste Prozess eines `claude-cli://` Deep Links, den der Protokoll-Handler des Betriebssystems direkt startet. Alles, das diese Sitzung danach im Hintergrund startet, läuft durch den Launcher. Um diesen Pfad vollständig zu schließen, [verhindern Sie die Handler-Registrierung](/docs/de/deep-links#registration-and-supported-platforms) mit der Einstellung `disableDeepLinkRegistration`.

45* Der Neustart, den `--worktree` kombiniert mit `--tmux` durchführt: Der Terminal-Multiplexer startet diesen Pane, nicht die Binärdatei von Claude Code.45* Der Neustart, den `--worktree` kombiniert mit `--tmux` durchführt: Der Terminal-Multiplexer startet diesen Pane, nicht die Binärdatei von Claude Code.

46* Der Native-Messaging-Host, den [Claude in Chrome](/docs/de/chrome) registriert: Der Browser startet ihn, nicht die Binärdatei von Claude Code.46* Der Native-Messaging-Host, den [Claude in Chrome](/docs/de/chrome) registriert: Der Browser startet ihn, nicht die Binärdatei von Claude Code.

costs.md +1 −1

Details

146 </Step>146 </Step>

147 147 

148 <Step title="Schreiben Sie die Einstellung">148 <Step title="Schreiben Sie die Einstellung">

149 Setzen Sie `multiplier` für einen pauschalen Prozentsatz Rabatt auf den Listenpreis, listen Sie die vier Pro-Token-Sätze jedes Modells unter `overrides` auf, oder tun Sie beides. Der [`modelPricing`-Eintrag](/docs/de/settings-reference#modelpricing) hat die Form und ein einsatzbereites Beispiel.149 Setzen Sie `multiplier` unter 1 für einen pauschalen Rabatt oder über 1 für einen Aufschlag, listen Sie die vier Pro-Token-Sätze jedes Modells unter `overrides` auf, oder tun Sie beides. Ein Aufschlag erfordert Claude Code v2.1.271 oder später. Der [`modelPricing`-Eintrag](/docs/de/settings-reference#modelpricing) hat die Form und ein einsatzbereites Beispiel.

150 </Step>150 </Step>

151 151 

152 <Step title="Stellen Sie es über verwaltete Einstellungen bereit">152 <Step title="Stellen Sie es über verwaltete Einstellungen bereit">

Details

240 240 

241Über das Bearbeiten einer Einstellungsdatei hinaus können Sie den Wert in der `/config`-Zeile **Nachrichten von Ihren anderen Sitzungen** auswählen. Claude Code schreibt den Wert, den Sie auswählen, in Ihre Benutzereinstellungen. Die Zeile erfordert Claude Code v2.1.232 oder später und erscheint nicht, während verwaltete Einstellungen oder das Flag `--settings` den Schlüssel setzt, da ein Benutzereinstellungswert dann nicht gelten würde. Claude Code lehnt die Kurzform `/config crossSessionInbound=value` für diesen Schlüssel ab.241Über das Bearbeiten einer Einstellungsdatei hinaus können Sie den Wert in der `/config`-Zeile **Nachrichten von Ihren anderen Sitzungen** auswählen. Claude Code schreibt den Wert, den Sie auswählen, in Ihre Benutzereinstellungen. Die Zeile erfordert Claude Code v2.1.232 oder später und erscheint nicht, während verwaltete Einstellungen oder das Flag `--settings` den Schlüssel setzt, da ein Benutzereinstellungswert dann nicht gelten würde. Claude Code lehnt die Kurzform `/config crossSessionInbound=value` für diesen Schlüssel ab.

242 242 

243Um zu sehen, welcher Wert gilt, folgen Sie den `crossSessionInbound`-Vorrangregeln in der [Einstellungsreferenz](/docs/de/settings-reference#crosssessioninbound). Wenn kein Wert gilt, entscheidet Claude Code pro Nachricht aus den Berechtigungsmodi der beiden Sitzungen. Es gruppiert Sitzungen, die [Berechtigungsaufforderungen umgehen](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode), in eine Klasse und jede andere Sitzung in die andere. Plan Mode zählt als Umgehen in Sitzungen mit verfügbaren Bypass-Berechtigungen, und [auto](/docs/de/permission-modes#eliminate-prompts-with-auto-mode), `acceptEdits` und `dontAsk` zählen als Aufforderung:243Um zu sehen, welcher Wert gilt, folgen Sie den `crossSessionInbound`-Vorrangregeln in der [Einstellungsreferenz](/docs/de/settings-reference#crosssessioninbound).

244 

245Wenn kein Wert gilt, entscheidet Claude Code pro Nachricht aus den Berechtigungsmodi der beiden Sitzungen. Es gruppiert Sitzungen, die [Berechtigungsaufforderungen umgehen](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode), in eine Klasse und jede andere Sitzung in die andere. Plan Mode zählt als Umgehen in interaktiven Terminal-Sitzungen mit verfügbaren Bypass-Berechtigungen, und [auto](/docs/de/permission-modes#eliminate-prompts-with-auto-mode), `acceptEdits` und `dontAsk` zählen als Aufforderung:

244 246 

245* **Die empfangende Sitzung fordert Berechtigungen an**: Claude Code übermittelt jede Nachricht. Es hält eine nur für Ihre Genehmigung, wenn die sendende Sitzung sich selbst als Umgehen von Berechtigungsaufforderungen identifiziert.247* **Die empfangende Sitzung fordert Berechtigungen an**: Claude Code übermittelt jede Nachricht. Es hält eine nur für Ihre Genehmigung, wenn die sendende Sitzung sich selbst als Umgehen von Berechtigungsaufforderungen identifiziert.

246* **Die empfangende Sitzung umgeht Berechtigungsaufforderungen**: Claude Code hält jede Nachricht für Ihre Genehmigung. Es übermittelt eine nur, wenn die sendende Sitzung sich selbst auch als Umgehen identifiziert.248* **Die empfangende Sitzung umgeht Berechtigungsaufforderungen**: Claude Code hält jede Nachricht für Ihre Genehmigung. Es übermittelt eine nur, wenn die sendende Sitzung sich selbst auch als Umgehen identifiziert.


254* Wenn sich die Berechtigungsmodus-Klasse dieser Sitzung ändert, während Nachrichten gehalten werden, wendet Claude Code die Inbound-Regeln erneut an, übermittelt die Nachrichten, die sie jetzt akzeptieren, und zeigt eine Benachrichtigung an.256* Wenn sich die Berechtigungsmodus-Klasse dieser Sitzung ändert, während Nachrichten gehalten werden, wendet Claude Code die Inbound-Regeln erneut an, übermittelt die Nachrichten, die sie jetzt akzeptieren, und zeigt eine Benachrichtigung an.

255* Wenn eine Einstellungsänderung `refuse` anwendbar macht, während Nachrichten gehalten werden, verwirft Claude Code jede gehaltene Nachricht und meldet eine Ablehnung an jeden Absender, den es erreichen kann.257* Wenn eine Einstellungsänderung `refuse` anwendbar macht, während Nachrichten gehalten werden, verwirft Claude Code jede gehaltene Nachricht und meldet eine Ablehnung an jeden Absender, den es erreichen kann.

256 258 

257Wenn der Absender eine interaktive Sitzung auf dem gleichen Computer ist, zeigt Claude Code dort eine Benachrichtigung, wenn der Empfänger die Nachricht hält, und eine Nachverfolgung, wenn der Empfänger sie später übermittelt, ablehnt oder ablaufen lässt. Wenn der Empfänger sie ablehnt, zeigt Claude Code dort eine Benachrichtigung an, dass der Empfänger keine Cross-Session-Nachrichten akzeptiert, und teilt dem Claude des Absenders mit, nicht zu warten oder erneut zu senden.259Wenn der Absender eine Sitzung auf dem gleichen Computer ist, sendet Claude Code eine Benachrichtigung zurück an ihn, wenn der Empfänger die Nachricht hält, und eine Nachverfolgung, wenn der Empfänger sie später übermittelt, ablehnt oder ablaufen lässt. Die Benachrichtigung erreicht den sendenden Claude, sodass er weiß, nicht weiter auf eine Nachricht zu warten, die die andere Sitzung nicht gelesen hat.

260 

261In einer interaktiven sendenden Sitzung erscheint die Benachrichtigung im Transkript. Ein [`claude -p`](/docs/de/headless)-Absender erhält sie in [gestreamter Ausgabe](/docs/de/headless#stream-responses) als eine [informative `system`-Nachricht](/docs/de/agent-sdk/typescript#sdkinformationalmessage). Benachrichtigungen an `claude -p`-Absender erfordern Claude Code v2.1.271 oder später.

262 

263Wenn der Empfänger die Nachricht ablehnt, sagt die Benachrichtigung des Absenders, dass der Empfänger keine Cross-Session-Nachrichten akzeptiert, und teilt dem Claude des Absenders mit, nicht zu warten oder erneut zu senden.

258 264 

259Claude Code hält höchstens 100 Nachrichten, getrennt von der Übermittlungswarteschlange, und verwirft danach die ältesten.265Claude Code hält höchstens 100 Nachrichten, getrennt von der Übermittlungswarteschlange, und verwirft danach die ältesten.

260 266 

data-usage.md +2 −2

Details

69 69 

70 Transkripte von Sitzungen, die in Claude Desktop oder Cowork gestartet oder zuletzt fortgesetzt wurden, sind [standardmäßig von diesem Limit ausgenommen](/docs/de/claude-directory#cleaned-up-automatically).70 Transkripte von Sitzungen, die in Claude Desktop oder Cowork gestartet oder zuletzt fortgesetzt wurden, sind [standardmäßig von diesem Limit ausgenommen](/docs/de/claude-directory#cleaned-up-automatically).

71 71 

72Sie können einzelne Claude Code-Websitzungen jederzeit löschen. Das Löschen einer Sitzung entfernt die Ereignisdaten der Sitzung dauerhaft. Anweisungen zum Löschen von Sitzungen finden Sie unter [Sitzungen löschen](/docs/de/claude-code-on-the-web#delete-sessions).72Sie können einzelne Cloud-Sitzungen jederzeit löschen. Das Löschen einer Sitzung entfernt die Ereignisdaten der Sitzung dauerhaft. Anweisungen zum Löschen von Sitzungen finden Sie unter [Sitzungen löschen](/docs/de/claude-code-on-the-web#delete-sessions).

73 73 

74Erfahren Sie mehr über Datenspeicherungspraktiken in unserem [Privacy Center](https://privacy.anthropic.com/).74Erfahren Sie mehr über Datenspeicherungspraktiken in unserem [Privacy Center](https://privacy.anthropic.com/).

75 75 


108 Cloud-Ausführung: Datenfluss und Abhängigkeiten108 Cloud-Ausführung: Datenfluss und Abhängigkeiten

109</h3>109</h3>

110 110 

111Bei Verwendung von [Claude Code on the web](/docs/de/claude-code-on-the-web) werden Sitzungen standardmäßig in von Anthropic verwalteten virtuellen Maschinen statt lokal ausgeführt. Sitzungen, die Ihre Organisation an eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) leitet, werden auf einer Infrastruktur ausgeführt, die Sie kontrollieren; für Details darüber, was auf Ihren Maschinen bleibt und was noch an Anthropic geht, siehe [What stays on your infrastructure](/docs/de/self-hosted-environments#what-stays-on-your-infrastructure). In von Anthropic gehosteten Cloud-Sitzungen:111[Cloud-Sitzungen](/docs/de/claude-code-on-the-web) werden standardmäßig in von Anthropic verwalteten virtuellen Maschinen statt lokal ausgeführt. Sitzungen, die Ihre Organisation an eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) leitet, werden auf einer Infrastruktur ausgeführt, die Sie kontrollieren; für Details darüber, was auf Ihren Maschinen bleibt und was noch an Anthropic geht, siehe [What stays on your infrastructure](/docs/de/self-hosted-environments#what-stays-on-your-infrastructure). In von Anthropic gehosteten Cloud-Sitzungen:

112 112 

113* **Code- und Datenspeicherung:** Ihr Repository wird auf eine isolierte VM geklont. Code und Sitzungsdaten unterliegen den Aufbewahrungs- und Nutzungsrichtlinien für Ihren Kontotyp (siehe Abschnitt Datenspeicherung oben)113* **Code- und Datenspeicherung:** Ihr Repository wird auf eine isolierte VM geklont. Code und Sitzungsdaten unterliegen den Aufbewahrungs- und Nutzungsrichtlinien für Ihren Kontotyp (siehe Abschnitt Datenspeicherung oben)

114* **Anmeldedaten:** Die GitHub-Authentifizierung wird über einen sicheren Proxy durchgeführt; Ihre GitHub-Anmeldedaten gelangen niemals in die Sandbox114* **Anmeldedaten:** Die GitHub-Authentifizierung wird über einen sicheren Proxy durchgeführt; Ihre GitHub-Anmeldedaten gelangen niemals in die Sandbox

Details

105Die meisten Konfigurationsüberraschungen lassen sich auf eine kleine Anzahl von Speicherort- und Syntaxregeln zurückführen. Überprüfen Sie diese, bevor Sie einen Fehler annehmen:105Die meisten Konfigurationsüberraschungen lassen sich auf eine kleine Anzahl von Speicherort- und Syntaxregeln zurückführen. Überprüfen Sie diese, bevor Sie einen Fehler annehmen:

106 106 

107| Symptom | Ursache | Behebung |107| Symptom | Ursache | Behebung |

108| :-------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |108| :-------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

109| Hook wird nie ausgelöst | `matcher` ist ein JSON-Array statt einer Zeichenkette | Verwenden Sie eine einzelne Zeichenkette mit `\|`, um mehrere Tools zu entsprechen, z. B. `"Edit\|Write"`. Siehe [Matcher-Muster](/docs/de/hooks#matcher-patterns). |109| Hook wird nie ausgelöst | `matcher` ist ein JSON-Array statt einer Zeichenkette | Verwenden Sie eine einzelne Zeichenkette mit `\|`, um mehrere Tools zu entsprechen, z. B. `"Edit\|Write"`. Siehe [Matcher-Muster](/docs/de/hooks#matcher-patterns). |

110| Hook wird nie ausgelöst | `matcher` verwendet `,` als Trennzeichen in einer Version vor v2.1.191 | Claude Code v2.1.191 oder später behandelt `,` als Listentrennzeichen wie `\|`. Frühere Versionen bewerten ein Komma als Literalzeichen, daher entspricht `"Edit,Write"` nichts. Verwenden Sie stattdessen `\|`, oder aktualisieren Sie Claude Code. |110| Hook wird nie ausgelöst | `matcher` verwendet `,` als Trennzeichen in einer Version vor v2.1.191 | Claude Code v2.1.191 oder später behandelt `,` als Listentrennzeichen wie `\|`. Frühere Versionen bewerten ein Komma als Literalzeichen, daher entspricht `"Edit,Write"` nichts. Verwenden Sie stattdessen `\|`, oder aktualisieren Sie Claude Code. |

111| Hook wird nie ausgelöst | `matcher`-Wert ist Kleinbuchstaben, z. B. `"bash"` | Matching ist Groß-/Kleinschreibung-empfindlich. Tool-Namen werden großgeschrieben: `Bash`, `Edit`, `Write`, `Read`. |111| Hook wird nie ausgelöst | `matcher`-Wert ist Kleinbuchstaben, z. B. `"bash"` | Matching ist Groß-/Kleinschreibung-empfindlich. Tool-Namen werden großgeschrieben: `Bash`, `Edit`, `Write`, `Read`. |


115| Skill erscheint nicht in `/skills` | Skill-Datei befindet sich unter `.claude/skills/name.md` statt in einem Ordner | Verwenden Sie einen Ordner mit `SKILL.md` darin: `.claude/skills/name/SKILL.md`. |115| Skill erscheint nicht in `/skills` | Skill-Datei befindet sich unter `.claude/skills/name.md` statt in einem Ordner | Verwenden Sie einen Ordner mit `SKILL.md` darin: `.claude/skills/name/SKILL.md`. |

116| Skill erscheint in `/skills`, aber Claude ruft ihn nie auf | Skill hat `disable-model-invocation: true` in seinem Frontmatter, oder seine Beschreibung stimmt nicht damit überein, wie Sie die Anfrage formulieren | Überprüfen Sie das Badge in `/skills`: Ein Label „user-only" bedeutet, dass Claude es nicht von selbst auslöst. Siehe [Skill-Aufruf](/docs/de/skills). |116| Skill erscheint in `/skills`, aber Claude ruft ihn nie auf | Skill hat `disable-model-invocation: true` in seinem Frontmatter, oder seine Beschreibung stimmt nicht damit überein, wie Sie die Anfrage formulieren | Überprüfen Sie das Badge in `/skills`: Ein Label „user-only" bedeutet, dass Claude es nicht von selbst auslöst. Siehe [Skill-Aufruf](/docs/de/skills). |

117| Anweisungen im Unterverzeichnis `CLAUDE.md` scheinen ignoriert zu werden | Unterverzeichnisdateien werden bei Bedarf geladen, nicht beim Sitzungsstart | Sie werden geladen, wenn Claude eine Datei in diesem Verzeichnis mit dem Read-Tool liest, nicht beim Start und nicht beim Schreiben oder Erstellen von Dateien dort. Siehe [wie CLAUDE.md-Dateien geladen werden](/docs/de/memory#how-claude-md-files-load). |117| Anweisungen im Unterverzeichnis `CLAUDE.md` scheinen ignoriert zu werden | Unterverzeichnisdateien werden bei Bedarf geladen, nicht beim Sitzungsstart | Sie werden geladen, wenn Claude eine Datei in diesem Verzeichnis mit dem Read-Tool liest, nicht beim Start und nicht beim Schreiben oder Erstellen von Dateien dort. Siehe [wie CLAUDE.md-Dateien geladen werden](/docs/de/memory#how-claude-md-files-load). |

118| Subagent ignoriert `CLAUDE.md`-Anweisungen | Die integrierten Explore- und Plan-Agenten überspringen `CLAUDE.md`. Benutzerdefinierte Subagenten laden es auf die gleiche Weise wie die Hauptkonversation | Für Explore oder Plan wiederholen Sie die Anweisung in Ihrer delegierenden Aufforderung. Für einen benutzerdefinierten Subagenten setzen Sie kritische Anweisungen in den Agent-Dateitext, der zur Systemaufforderung des Agenten wird. Siehe [was beim Start geladen wird](/docs/de/sub-agents#what-loads-at-startup). |118| Subagent ignoriert `CLAUDE.md`-Anweisungen | Die integrierten Explore- und Plan-Agenten überspringen `CLAUDE.md`. Ein benutzerdefinierter Subagent lädt es auf die gleiche Weise wie die Hauptkonversation, es sei denn, seine Definition setzt [`omitClaudeMd`](/docs/de/sub-agents#supported-frontmatter-fields) | Für Explore oder Plan wiederholen Sie die Anweisung in Ihrer delegierenden Aufforderung. Für einen Subagenten, der `omitClaudeMd` setzt, entfernen Sie das Feld. Für jeden anderen benutzerdefinierten Subagenten setzen Sie kritische Anweisungen in den Agent-Dateitext, der zur Systemaufforderung des Agenten wird. Siehe [was beim Start geladen wird](/docs/de/sub-agents#what-loads-at-startup). |

119| Cleanup-Logik wird am Sitzungsende nie ausgeführt | Kein `SessionEnd`-Hook konfiguriert | Fügen Sie einen `SessionEnd`-Hook in `settings.json` hinzu. Siehe die [Hook-Ereignisliste](/docs/de/hooks#hook-events). |119| Cleanup-Logik wird am Sitzungsende nie ausgeführt | Kein `SessionEnd`-Hook konfiguriert | Fügen Sie einen `SessionEnd`-Hook in `settings.json` hinzu. Siehe die [Hook-Ereignisliste](/docs/de/hooks#hook-events). |

120| MCP-Server in `.mcp.json` werden nie geladen | Datei befindet sich unter `.claude/`, oder ihre Server befinden sich unter einem Top-Level-Schlüssel `servers`, wie in VS Code's `mcp.json`, statt unter `mcpServers` | Projekt-MCP-Konfiguration geht an die Repository-Root als `.mcp.json`, nicht in `.claude/`, mit Servern unter dem Schlüssel `mcpServers`. Siehe [MCP-Konfiguration](/docs/de/mcp). |120| MCP-Server in `.mcp.json` werden nie geladen | Datei befindet sich unter `.claude/`, oder ihre Server befinden sich unter einem Top-Level-Schlüssel `servers`, wie in VS Code's `mcp.json`, statt unter `mcpServers` | Projekt-MCP-Konfiguration geht an die Repository-Root als `.mcp.json`, nicht in `.claude/`, mit Servern unter dem Schlüssel `mcpServers`. Siehe [MCP-Konfiguration](/docs/de/mcp). |

121| MCP-Server unter `mcpServers` in `settings.json` hinzugefügt, aber erscheinen nie | `settings.json` liest keinen `mcpServers`-Schlüssel | Definieren Sie Projekt-Server in `.mcp.json` an der Repository-Root, oder führen Sie `claude mcp add --scope user` für benutzergesteuerte Server aus. Siehe [MCP-Konfiguration](/docs/de/mcp). |121| MCP-Server unter `mcpServers` in `settings.json` hinzugefügt, aber erscheinen nie | `settings.json` liest keinen `mcpServers`-Schlüssel | Definieren Sie Projekt-Server in `.mcp.json` an der Repository-Root, oder führen Sie `claude mcp add --scope user` für benutzergesteuerte Server aus. Siehe [MCP-Konfiguration](/docs/de/mcp). |

desktop.md +60 −50

Details

36* Claude [Ihre anderen Sitzungen überprüfen, Nachrichten senden oder archivieren lassen](#work-across-sessions)36* Claude [Ihre anderen Sitzungen überprüfen, Nachrichten senden oder archivieren lassen](#work-across-sessions)

37* [Externe Tools verbinden](#connect-external-tools) wie GitHub, Slack und Linear37* [Externe Tools verbinden](#connect-external-tools) wie GitHub, Slack und Linear

38* Claude [Apps öffnen und Ihren Bildschirm steuern lassen](#let-claude-use-your-computer)38* Claude [Apps öffnen und Ihren Bildschirm steuern lassen](#let-claude-use-your-computer)

39* Auf Ihrem Computer, in der [Cloud](#run-long-running-tasks-remotely) oder über [SSH](#ssh-sessions) ausführen39* Auf Ihrem Computer, in der [Cloud](#run-long-running-tasks-in-the-cloud) oder über [SSH](#ssh-sessions) ausführen

40 40 

41Für [geplante wiederkehrende Arbeiten](/docs/de/desktop-scheduled-tasks), [Tastaturkürzel](#keyboard-shortcuts) oder [Aufgaben von Ihrem Telefon senden](#sessions-from-dispatch) siehe die verlinkten Seiten und Abschnitte. Wenn Sie bereits die Terminal-basierte CLI verwenden, siehe den [CLI-Vergleich](#coming-from-the-cli) für das, was übertragen wird.41Für [geplante wiederkehrende Arbeiten](/docs/de/desktop-scheduled-tasks), [Tastaturkürzel](#keyboard-shortcuts) oder [Aufgaben von Ihrem Telefon senden](#sessions-from-dispatch) siehe die verlinkten Seiten und Abschnitte. Wenn Sie bereits die Terminal-basierte CLI verwenden, siehe den [CLI-Vergleich](#coming-from-the-cli) für das, was übertragen wird.

42 42 


47Bevor Sie Ihre erste Nachricht senden, konfigurieren Sie vier Dinge im Eingabebereich:47Bevor Sie Ihre erste Nachricht senden, konfigurieren Sie vier Dinge im Eingabebereich:

48 48 

49* **Umgebung**: Wählen Sie, wo Claude ausgeführt wird. Wählen Sie **Lokal** für Ihren Computer, **Cloud** für eine [Cloud-Sitzung](#cloud-sessions), die nach dem Schließen der App fortgesetzt wird, eine [**SSH-Verbindung**](#ssh-sessions) für einen von Ihnen verwalteten Remote-Computer oder unter Windows eine [**WSL-Distribution**](/docs/de/desktop-wsl). Siehe [Umgebungskonfiguration](#environment-configuration).49* **Umgebung**: Wählen Sie, wo Claude ausgeführt wird. Wählen Sie **Lokal** für Ihren Computer, **Cloud** für eine [Cloud-Sitzung](#cloud-sessions), die nach dem Schließen der App fortgesetzt wird, eine [**SSH-Verbindung**](#ssh-sessions) für einen von Ihnen verwalteten Remote-Computer oder unter Windows eine [**WSL-Distribution**](/docs/de/desktop-wsl). Siehe [Umgebungskonfiguration](#environment-configuration).

50* **Projektordner**: Wählen Sie den Ordner oder das Repository aus, in dem Claude arbeitet. Für Cloud-Sitzungen können Sie [mehrere Repositories](#run-long-running-tasks-remotely) hinzufügen.50* **Projektordner**: Wählen Sie den Ordner oder das Repository aus, in dem Claude arbeitet. Für Cloud-Sitzungen können Sie [mehrere Repositories](#run-long-running-tasks-in-the-cloud) hinzufügen.

51* **Modell**: Wählen Sie ein [Modell](/docs/de/model-config#available-models) aus dem Dropdown neben der Schaltfläche „Senden". Sie können dies während der Sitzung ändern.51* **Modell**: Wählen Sie ein [Modell](/docs/de/model-config#available-models) aus dem Dropdown neben der Schaltfläche „Senden". Sie können dies während der Sitzung ändern.

52* **Berechtigungsmodus**: Wählen Sie, wie viel Autonomie Claude aus dem [Moduswahlschalter](#choose-a-permission-mode) hat. Sie können dies während der Sitzung ändern.52* **Berechtigungsmodus**: Wählen Sie, wie viel Autonomie Claude aus dem [Moduswahlschalter](#choose-a-permission-mode) hat. Sie können dies während der Sitzung ändern.

53 53 


207 207 

208Die Code-Registerkarte ist um Panes aufgebaut, die Sie in jedem Layout anordnen können: Chat, Diff, Browser, Terminal, Datei, Plan, Aufgaben und Subagent, zusammen mit dem [iOS Simulator](/docs/de/desktop-ios-simulator) auf macOS. Ziehen Sie ein Pane an seiner Kopfzeile, um es zu verschieben, oder ziehen Sie eine Pane-Kante, um es zu vergrößern. Drücken Sie **Cmd+\\** auf macOS oder **Ctrl+\\** auf Windows, um das fokussierte Pane zu schließen. Öffnen Sie zusätzliche Panes aus dem Menü **Ansichten** in der Sitzungs-Symbolleiste.208Die Code-Registerkarte ist um Panes aufgebaut, die Sie in jedem Layout anordnen können: Chat, Diff, Browser, Terminal, Datei, Plan, Aufgaben und Subagent, zusammen mit dem [iOS Simulator](/docs/de/desktop-ios-simulator) auf macOS. Ziehen Sie ein Pane an seiner Kopfzeile, um es zu verschieben, oder ziehen Sie eine Pane-Kante, um es zu vergrößern. Drücken Sie **Cmd+\\** auf macOS oder **Ctrl+\\** auf Windows, um das fokussierte Pane zu schließen. Öffnen Sie zusätzliche Panes aus dem Menü **Ansichten** in der Sitzungs-Symbolleiste.

209 209 

210Um über mehrere Bildschirme hinweg zu arbeiten, öffnen Sie ein Pane wie den Diff oder das Terminal in einem eigenen Fenster, und docken Sie es wieder an, wenn Sie fertig sind. Claude arbeitet weiterhin im Hauptfenster.

211 

210<Note>212<Note>

211 Das Pane-Layout, Terminal, Datei-Editor und Ansichtsmodi in diesem Abschnitt erfordern Claude Desktop v1.2581.0 oder später. Öffnen Sie **Claude → Nach Updates suchen** auf macOS oder **Hilfe → Nach Updates suchen** auf Windows, um zu aktualisieren.213 Das Pane-Layout, Terminal, Datei-Editor und Ansichtsmodi in diesem Abschnitt erfordern Claude Desktop v1.2581.0 oder später. Öffnen Sie **Claude → Nach Updates suchen** auf macOS oder **Hilfe → Nach Updates suchen** auf Windows, um zu aktualisieren.

212</Note>214</Note>


240 Wechseln Sie Ansichtsmodi242 Wechseln Sie Ansichtsmodi

241</h3>243</h3>

242 244 

243Ansichtsmodi kontrollieren, wie viel Detail im Chat-Transkript angezeigt wird. Wechseln Sie Modi aus dem Dropdown **Transkript-Ansicht** neben der Schaltfläche „Senden", oder drücken Sie **Ctrl+O** auf macOS oder Windows, um durch sie zu zyklisieren.245Ansichtsmodi kontrollieren, wie viel Detail im Chat-Transkript angezeigt wird. Wechseln Sie Modi aus dem Dropdown **Transkript-Ansicht** neben der Schaltfläche „Senden", oder drücken Sie **Ctrl+O** auf macOS oder Windows, um durch sie zu zyklisieren. Der Thinking-Modus wird in der Dropdown-Liste nur angezeigt, nachdem Claude Thinking in der Sitzung erzeugt hat, die Sie anzeigen.

244 246 

245| Modus | Was es anzeigt |247| Modus | Was es anzeigt |

246| ------------------- | -------------------------------------------------------------------------------------------- |248| --------------- | ------------------------------------------------------------------------------------------------------------------- |

247| **Normal** | Tool-Aufrufe in Zusammenfassungen zusammengefasst, mit vollständigen Text-Antworten |249| **Normal** | Tool-Aufrufe in Zusammenfassungen zusammengefasst, mit vollständigen Text-Antworten |

248| **Ausführlich** | Jeden Tool-Aufruf, jede Datei-Leseoperation und jeden Zwischenschritt, den Claude unternimmt |250| **Thinking** | Tool-Aufrufe in Zusammenfassungen zusammengefasst, plus Claudes Thinking |

249| **Zusammenfassung** | Nur Claudes endgültige Antworten und die Änderungen, die er vorgenommen hat |251| **Ausführlich** | Jeden Tool-Aufruf, jede Datei-Leseoperation und jeden Zwischenschritt, den Claude unternimmt, plus Claudes Thinking |

250 252 

251Verwenden Sie „Ausführlich", wenn Sie debuggen, warum Claude eine bestimmte Aktion unternommen hat. Verwenden Sie „Zusammenfassung", wenn Sie mehrere Sitzungen ausführen und Ergebnisse schnell scannen möchten.253Verwenden Sie Thinking, um Claudes Überlegungen mit noch zusammengefassten Tool-Aufrufen zu folgen. Verwenden Sie Ausführlich beim Debuggen, warum Claude eine bestimmte Aktion unternommen hat. Claude Desktop-Versionen vor 1.46388.1 listen auch einen Summary-Modus auf, und eine Sitzung, die noch auf Summary eingestellt ist, öffnet sich in Normal, sobald Sie aktualisieren.

252 254 

253<h3 id="keyboard-shortcuts">255<h3 id="keyboard-shortcuts">

254 Tastaturkürzel256 Tastaturkürzel


296 298 

297Computernutzung ist standardmäßig deaktiviert. [Aktivieren Sie sie in Einstellungen](#enable-computer-use), bevor Claude Ihren Bildschirm steuern kann. Auf macOS müssen Sie auch Barrierefreiheits- und Bildschirmaufzeichnungsberechtigungen gewähren.299Computernutzung ist standardmäßig deaktiviert. [Aktivieren Sie sie in Einstellungen](#enable-computer-use), bevor Claude Ihren Bildschirm steuern kann. Auf macOS müssen Sie auch Barrierefreiheits- und Bildschirmaufzeichnungsberechtigungen gewähren.

298 300 

301Auf macOS kann Computernutzung auch im Hintergrund ausgeführt werden: Claude arbeitet in den Apps, die Sie genehmigt haben, während Sie weiterarbeiten.

302 

299<Warning>303<Warning>

300 Im Gegensatz zum [sandboxierten Bash-Tool](/docs/de/sandboxing) läuft Computernutzung auf Ihrem tatsächlichen Desktop mit Zugriff auf das, was Sie genehmigen. Claude überprüft jede Aktion und kennzeichnet potenzielle Prompt-Injection von Bildschirminhalten, aber die Vertrauensgrenze ist unterschiedlich. Siehe den [Sicherheitsleitfaden für Computernutzung](https://support.claude.com/en/articles/14128542) für Best Practices.304 Im Gegensatz zum [sandboxierten Bash-Tool](/docs/de/sandboxing) läuft Computernutzung auf Ihrem tatsächlichen Desktop mit Zugriff auf das, was Sie genehmigen. Claude überprüft jede Aktion und kennzeichnet potenzielle Prompt-Injection von Bildschirminhalten, aber die Vertrauensgrenze ist unterschiedlich. Siehe den [Sicherheitsleitfaden für Computernutzung](https://support.claude.com/en/articles/14128542) für Best Practices.

301</Warning>305</Warning>


360Sie können zwei Einstellungen in **Einstellungen > Allgemein** (unter **Desktop-App**) konfigurieren:364Sie können zwei Einstellungen in **Einstellungen > Allgemein** (unter **Desktop-App**) konfigurieren:

361 365 

362* **Abgelehnte Apps**: Fügen Sie Apps hier hinzu, um sie ohne Aufforderung abzulehnen. Claude kann eine abgelehnte App indirekt durch Aktionen in einer zulässigen App beeinflussen, kann aber nicht direkt mit der abgelehnen App interagieren.366* **Abgelehnte Apps**: Fügen Sie Apps hier hinzu, um sie ohne Aufforderung abzulehnen. Claude kann eine abgelehnte App indirekt durch Aktionen in einer zulässigen App beeinflussen, kann aber nicht direkt mit der abgelehnen App interagieren.

363* **Apps anzeigen, wenn Claude fertig ist**: Während Claude arbeitet, werden Ihre anderen Fenster ausgeblendet, damit es nur mit der genehmigten App interagiert. Wenn Claude fertig ist, werden ausgeblendete Fenster wiederhergestellt, es sei denn, Sie deaktivieren diese Einstellung.367* **Apps anzeigen, wenn Claude fertig ist**: Wenn Computernutzung nicht im Hintergrund ausgeführt wird, blendet Claude Ihre anderen Fenster aus, während es arbeitet, damit es nur mit der genehmigten App interagiert. Wenn Claude fertig ist, werden ausgeblendete Fenster wiederhergestellt, es sei denn, Sie deaktivieren diese Einstellung.

364 368 

365<h2 id="manage-sessions">369<h2 id="manage-sessions">

366 Verwalten Sie Sitzungen370 Verwalten Sie Sitzungen


372 Arbeiten Sie parallel mit Sitzungen376 Arbeiten Sie parallel mit Sitzungen

373</h3>377</h3>

374 378 

375Klicken Sie auf **+ Neue Sitzung** in der Seitenleiste, oder drücken Sie **Cmd+N** auf macOS oder **Ctrl+N** auf Windows, um an mehreren Aufgaben parallel zu arbeiten. Drücken Sie **Ctrl+Tab** und **Ctrl+Shift+Tab**, um durch Sitzungen in der Seitenleiste zu zyklisieren. Für Git-Repositories wählen Sie die **worktree**-Option neben dem Branch-Namen, um der Sitzung ihre eigene isolierte Kopie Ihres Projekts mit [Git Worktrees](/docs/de/worktrees) zu geben, sodass Änderungen in einer Sitzung andere Sitzungen nicht beeinflussen, bis Sie sie committen.379Klicken Sie auf **+ Neue Sitzung** in der Seitenleiste, oder drücken Sie **Cmd+N** auf macOS oder **Ctrl+N** auf Windows, um an mehreren Aufgaben parallel zu arbeiten. Drücken Sie **Ctrl+Tab** und **Ctrl+Shift+Tab**, um durch Sitzungen in der Seitenleiste zu zyklisieren. Für Git-Repositories wählen Sie die **worktree**-Option neben dem Branch-Namen, um der Sitzung ihre eigene isolierte Kopie Ihres Projekts mit [Git worktrees](/docs/de/worktrees) zu geben, sodass Änderungen in einer Sitzung andere Sitzungen nicht beeinflussen, bis Sie sie committen.

376 380 

377Um zwei Sitzungen gleichzeitig anzuzeigen, halten Sie **Cmd** auf macOS oder **Ctrl** auf Windows gedrückt und klicken Sie auf eine Sitzung in der Seitenleiste. Die Sitzung wird in einem zweiten Bereich neben dem bereits geöffneten angezeigt. Während die Aufteilung aktiv ist, ersetzt das Klicken auf eine andere Sitzung in der Seitenleiste denjenigen Bereich, der den Fokus hat. Drücken Sie **Cmd+\\** auf macOS oder **Ctrl+\\** auf Windows, um den fokussierten Bereich zu schließen und zu einer einzelnen Sitzung zurückzukehren.381Um zwei Sitzungen gleichzeitig anzuzeigen, halten Sie **Cmd** auf macOS oder **Ctrl** auf Windows gedrückt und klicken Sie auf eine Sitzung in der Seitenleiste. Die Sitzung wird in einem zweiten Bereich neben dem bereits geöffneten angezeigt. Während die Aufteilung aktiv ist, ersetzt das Klicken auf eine andere Sitzung in der Seitenleiste denjenigen Bereich, der den Fokus hat. Drücken Sie **Cmd+\\** auf macOS oder **Ctrl+\\** auf Windows, um den fokussierten Bereich zu schließen und zu einer einzelnen Sitzung zurückzukehren.

378 382 


388 392 

389Um die Kontext-Nutzung zu überprüfen, siehe [Überprüfen Sie die Nutzung](#check-usage). Wenn der Kontext voll wird, fasst Claude das Gespräch automatisch zusammen und arbeitet weiter. Sie können auch `/compact` eingeben, um die Zusammenfassung früher auszulösen und Kontextraum freizugeben. Siehe [das Kontextfenster](/docs/de/how-claude-code-works#the-context-window) für Details, wie die Komprimierung funktioniert.393Um die Kontext-Nutzung zu überprüfen, siehe [Überprüfen Sie die Nutzung](#check-usage). Wenn der Kontext voll wird, fasst Claude das Gespräch automatisch zusammen und arbeitet weiter. Sie können auch `/compact` eingeben, um die Zusammenfassung früher auszulösen und Kontextraum freizugeben. Siehe [das Kontextfenster](/docs/de/how-claude-code-works#the-context-window) für Details, wie die Komprimierung funktioniert.

390 394 

391Die Desktop-App sendet eine Betriebssystem-Benachrichtigung, wenn eine Code-Sitzung eine Aufgabe abschließt und Sie diese Sitzung gerade nicht anzeigen.395Die Desktop-App sendet eine Betriebssystem-Benachrichtigung, wenn eine Code-Sitzung eine Aufgabe abschließt und Sie diese Sitzung gerade nicht anzeigen. Für Sitzungen, die zu einem [Projekt](/docs/de/claude-projects#see-what-needs-you-in-overview) gehören, erhalten Sie stattdessen die Benachrichtigungen des Projekts.

392 396 

393<h3 id="ask-a-side-question-without-derailing-the-session">397<h3 id="ask-a-side-question-without-derailing-the-session">

394 Fragen Sie eine Seitenfrage, ohne die Sitzung zu entgleisen398 Fragen Sie eine Seitenfrage, ohne die Sitzung zu entgleisen


427 431 

428Claude kann auch neue Sitzungen vorschlagen. Wenn es etwas bemerkt, das es wert ist, behoben zu werden und das außerhalb des Umfangs der aktuellen Aufgabe liegt, bietet es die Arbeit als Task-Chip im Chat an. Klicken Sie auf den Chip, um diese Arbeit in einer neuen Sitzung mit eigenem Worktree zu starten. Claude setzt Ihre aktuelle Sitzung ungestört fort.432Claude kann auch neue Sitzungen vorschlagen. Wenn es etwas bemerkt, das es wert ist, behoben zu werden und das außerhalb des Umfangs der aktuellen Aufgabe liegt, bietet es die Arbeit als Task-Chip im Chat an. Klicken Sie auf den Chip, um diese Arbeit in einer neuen Sitzung mit eigenem Worktree zu starten. Claude setzt Ihre aktuelle Sitzung ungestört fort.

429 433 

430<h3 id="run-long-running-tasks-remotely">434<h3 id="run-long-running-tasks-in-the-cloud">

431 Führen Sie lange laufende Aufgaben remote aus435 Führen Sie lange laufende Aufgaben in der Cloud aus

432</h3>436</h3>

433 437 

434Für große Umgestaltungen, Test-Suites, Migrationen oder andere lange laufende Aufgaben wählen Sie **Cloud** statt **Lokal**, wenn Sie eine Sitzung starten. Cloud-Sitzungen laufen standardmäßig auf von Anthropic verwalteter Infrastruktur und werden fortgesetzt, auch wenn Sie die App schließen oder Ihren Computer herunterfahren. Überprüfen Sie jederzeit den Fortschritt oder lenken Sie Claude in eine andere Richtung. Sie können Cloud-Sitzungen auch von [claude.ai/code](https://claude.ai/code) oder der [Claude Mobile-App](/docs/de/mobile) aus überwachen.438Für große Umgestaltungen, Test-Suites, Migrationen oder andere lange laufende Aufgaben wählen Sie **Cloud** statt **Lokal**, wenn Sie eine Sitzung starten. Cloud-Sitzungen laufen standardmäßig auf von Anthropic verwalteter Infrastruktur und werden fortgesetzt, auch wenn Sie die App schließen oder Ihren Computer herunterfahren. Überprüfen Sie jederzeit den Fortschritt oder lenken Sie Claude in eine andere Richtung. Sie können Cloud-Sitzungen auch von [claude.ai/code](https://claude.ai/code) oder der [Claude Mobile-App](/docs/de/mobile) aus überwachen.

435 439 

436Cloud-Sitzungen unterstützen auch mehrere Repositories. Nach Auswahl einer Cloud-Umgebung klicken Sie auf die Schaltfläche **+** neben dem ausgewählten Repository, um zusätzliche Repositories zur Sitzung hinzuzufügen. Jedes Repo erhält seinen eigenen Branch-Wahlschalter. Dies ist nützlich für Aufgaben, die mehrere Codebases umfassen, z. B. das Aktualisieren einer gemeinsamen Bibliothek und ihrer Consumer.440Cloud-Sitzungen unterstützen auch mehrere Repositories. Nach Auswahl einer Cloud-Umgebung klicken Sie auf die Schaltfläche **+** neben dem ausgewählten Repository, um zusätzliche Repositories zur Sitzung hinzuzufügen. Jedes Repo erhält seinen eigenen Branch-Wahlschalter. Dies ist nützlich für Aufgaben, die mehrere Codebases umfassen, z. B. das Aktualisieren einer gemeinsamen Bibliothek und ihrer Consumer.

437 441 

438Siehe [Claude Code im Web](/docs/de/claude-code-on-the-web) für mehr darüber, wie Cloud-Sitzungen funktionieren.442Siehe [Claude Code im Web](/docs/de/claude-code-on-the-web) für mehr darüber, wie Cloud-Sitzungen funktionieren. Wenn ein Körper von Arbeit viele Cloud-Sitzungen benötigt, wählen Sie **Projekte** in der Seitenleiste, um ein [Projekt](/docs/de/claude-projects) zu erstellen, in dem Claude die Sitzungen für Sie aus einem Gespräch heraus startet und verfolgt.

439 443 

440<h3 id="continue-in-another-surface">444<h3 id="continue-in-another-surface">

441 Fortsetzen auf einer anderen Oberfläche445 Fortsetzen auf einer anderen Oberfläche


443 447 

444Das Menü **Fortsetzen in**, das über das VS Code-Symbol unten rechts in der Sitzungs-Symbolleiste zugänglich ist, ermöglicht es Ihnen, Ihre Sitzung auf eine andere Oberfläche zu verschieben:448Das Menü **Fortsetzen in**, das über das VS Code-Symbol unten rechts in der Sitzungs-Symbolleiste zugänglich ist, ermöglicht es Ihnen, Ihre Sitzung auf eine andere Oberfläche zu verschieben:

445 449 

446* **Claude Code im Web**: sendet Ihre lokale Sitzung, um remote weiter zu laufen. Desktop pusht Ihren Branch, generiert eine Zusammenfassung des Gesprächs und erstellt eine neue Cloud-Sitzung mit dem vollständigen Kontext. Sie können dann wählen, die lokale Sitzung zu archivieren oder zu behalten. Dies erfordert einen sauberen Arbeitsbaum und ist nicht für SSH-Sitzungen verfügbar.450* **Claude Code im Web**: sendet Ihre lokale Sitzung, um in der Cloud weiter zu laufen. Desktop pusht Ihren Branch, generiert eine Zusammenfassung des Gesprächs und erstellt eine neue Cloud-Sitzung mit dem vollständigen Kontext. Sie können dann wählen, die lokale Sitzung zu archivieren oder zu behalten. Dies erfordert einen sauberen Arbeitsbaum und ist nicht für SSH-Sitzungen verfügbar.

447* **Ihre IDE**: öffnet Ihr Projekt in einer unterstützten IDE im aktuellen Arbeitsverzeichnis.451* **Ihre IDE**: öffnet Ihr Projekt in einer unterstützten IDE im aktuellen Arbeitsverzeichnis.

448 452 

449<h3 id="sessions-from-dispatch">453<h3 id="sessions-from-dispatch">


463Dispatch ist eine von mehreren Möglichkeiten, mit Claude zu arbeiten, wenn Sie weg von Ihrem Terminal sind. Für einen Vergleich mit den anderen Optionen siehe [Plattformen und Integrationen](/docs/de/platforms#work-when-you-are-away-from-your-terminal).467Dispatch ist eine von mehreren Möglichkeiten, mit Claude zu arbeiten, wenn Sie weg von Ihrem Terminal sind. Für einen Vergleich mit den anderen Optionen siehe [Plattformen und Integrationen](/docs/de/platforms#work-when-you-are-away-from-your-terminal).

464 468 

465<h2 id="extend-claude-code">469<h2 id="extend-claude-code">

466 Erweitern Sie Claude Code470 Claude Code erweitern

467</h2>471</h2>

468 472 

469Verbinden Sie externe Dienste, fügen Sie wiederverwendbare Workflows hinzu, passen Sie Claudes Verhalten an und konfigurieren Sie Vorschau-Server. Um Konnektoren, Skills und Plugins an einem Ort zu verwalten, klicken Sie auf **Anpassen** in der Seitenleiste. Die [Cowork](https://claude.com/product/cowork)-Registerkarte in der Desktop-App bezieht ihre Skills, Plugins und Konnektoren aus dieser Anpassen-Konfiguration, die sich über Ihr claude.ai-Konto synchronisiert, nicht aus dem CLI-Verzeichnis `~/.claude`.473Verbinden Sie externe Dienste, fügen Sie wiederverwendbare Workflows hinzu, passen Sie Claudes Verhalten an und konfigurieren Sie Vorschauserver. Um Connectors, Skills und Plugins an einem Ort zu verwalten, klicken Sie auf **Anpassen** in der Seitenleiste. Die [Cowork](https://claude.com/product/cowork)-Registerkarte in der Desktop-App bezieht ihre Skills, Plugins und Connectors aus dieser Anpassungskonfiguration, die über Ihr claude.ai-Konto synchronisiert wird, nicht aus dem CLI-Verzeichnis `~/.claude`.

474 

475Claude Code lädt auch die Skills und Plugins, die für Ihr claude.ai-Konto aktiviert sind, in Terminalsitzungen, in denen Sie sich mit demselben Konto anmelden. Siehe [Skills synchronisiert von claude.ai](/docs/de/skills#how-synced-skills-behave) und [Plugins synchronisiert von claude.ai](/docs/de/plugins-reference#synced-plugins).

470 476 

471<h3 id="connect-external-tools">477<h3 id="connect-external-tools">

472 Verbinden Sie externe Tools478 Externe Tools verbinden

473</h3>479</h3>

474 480 

475Für lokale und [SSH](#ssh-sessions)-Sitzungen klicken Sie auf die Schaltfläche **+** neben dem Eingabefeld und wählen Sie **Konnektoren**, um Integrationen wie Google Calendar, Slack, GitHub, Linear, Notion und mehr hinzuzufügen. Sie können Konnektoren vor oder während einer Sitzung hinzufügen. Die Schaltfläche **+** ist nicht in Cloud-Sitzungen verfügbar, aber [Routinen](/docs/de/routines) konfigurieren Konnektoren zum Zeitpunkt der Routine-Erstellung.481Für lokale und [SSH](#ssh-sessions)-Sitzungen klicken Sie auf die Schaltfläche **+** neben dem Eingabefeld und wählen Sie **Connectors** aus, um Integrationen wie Google Calendar, Slack, GitHub, Linear, Notion und mehr hinzuzufügen. Sie können Connectors vor oder während einer Sitzung hinzufügen. Die Schaltfläche **+** ist in Cloud- oder WSL-Sitzungen nicht verfügbar, aber [Routinen](/docs/de/routines) konfigurieren Connectors zum Zeitpunkt der Routinenerstellung.

476 482 

477Um Konnektoren zu verwalten oder zu trennen, gehen Sie zu Einstellungen → Konnektoren in der Desktop-App oder wählen Sie **Konnektoren verwalten** aus dem Konnektoren-Menü im Eingabefeld.483Um Connectors zu verwalten oder zu trennen, gehen Sie zu Einstellungen → Connectors in der Desktop-App oder wählen Sie **Connectors verwalten** aus dem Connectors-Menü im Eingabefeld.

478 484 

479Nach der Verbindung kann Claude Ihren Kalender lesen, Nachrichten senden, Probleme erstellen und direkt mit Ihren Tools interagieren. Sie können Claude fragen, welche Konnektoren in Ihrer Sitzung konfiguriert sind.485Nach der Verbindung kann Claude Ihren Kalender lesen, Nachrichten senden, Probleme erstellen und direkt mit Ihren Tools interagieren. Sie können Claude fragen, welche Connectors in Ihrer Sitzung konfiguriert sind.

480 486 

481Konnektoren sind [MCP-Server](/docs/de/mcp) mit einem grafischen Setup-Ablauf. Verwenden Sie sie für schnelle Integration mit unterstützten Diensten. Für Integrationen, die nicht in Konnektoren aufgelistet sind, fügen Sie MCP-Server manuell über [Einstellungsdateien](/docs/de/mcp#installing-mcp-servers) hinzu. Sie können auch [benutzerdefinierte Konnektoren erstellen](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).487Connectors sind [MCP-Server](/docs/de/mcp) mit einem grafischen Setup-Ablauf. Verwenden Sie sie für eine schnelle Integration mit unterstützten Diensten. Für Integrationen, die nicht in Connectors aufgelistet sind, fügen Sie MCP-Server manuell über [Einstellungsdateien](/docs/de/mcp#installing-mcp-servers) hinzu. Sie können auch [benutzerdefinierte Connectors erstellen](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

482 488 

483<h3 id="use-skills">489<h3 id="use-skills">

484 Verwenden Sie Skills490 Skills verwenden

485</h3>491</h3>

486 492 

487[Skills](/docs/de/skills) erweitern, was Claude tun kann. Claude lädt sie automatisch, wenn relevant, oder Sie können eine direkt aufrufen: Geben Sie `/` im Eingabefeld ein oder klicken Sie auf die Schaltfläche **+** und wählen Sie **Slash-Befehle**, um zu sehen, was verfügbar ist. Dies umfasst [integrierte Befehle](/docs/de/commands), Ihre [benutzerdefinierten Skills](/docs/de/skills#create-your-first-skill), Projekt-Skills aus Ihrer Codebasis und Skills aus allen [installierten Plugins](/docs/de/plugins). Wählen Sie einen aus und er wird im Eingabefeld hervorgehoben angezeigt. Geben Sie Ihre Aufgabe danach ein und senden Sie wie gewohnt.493[Skills](/docs/de/skills) erweitern, was Claude tun kann. Claude lädt sie automatisch, wenn sie relevant sind, oder Sie können eine direkt aufrufen: Geben Sie `/` im Eingabefeld ein oder klicken Sie auf die Schaltfläche **+** und wählen Sie **Slash-Befehle** aus, um zu sehen, was verfügbar ist. Dies umfasst [integrierte Befehle](/docs/de/commands), Ihre [benutzerdefinierten Skills](/docs/de/skills#create-your-first-skill), Projekt-Skills aus Ihrer Codebasis und Skills aus allen [installierten Plugins](/docs/de/plugins). Wählen Sie einen aus und er wird im Eingabefeld hervorgehoben angezeigt. Geben Sie Ihre Aufgabe danach ein und senden Sie wie gewohnt.

488 494 

489Sie können einen Befehl senden, während Claude arbeitet, genauso wie jede andere Nachricht, und die Sitzung kehrt zum Leerlauf zurück, sobald der Zug beendet ist. Vor v2.1.206 konnte ein Befehl, der während eines Zuges gesendet wurde, dazu führen, dass die Sitzung weiterhin als laufend angezeigt wurde und Nachrichten, die Sie danach sendeten, nicht zugestellt wurden.495Sie können einen Befehl senden, während Claude arbeitet, genauso wie jede andere Nachricht, und die Sitzung kehrt in den Leerlauf zurück, sobald der Zug beendet ist. Vor v2.1.206 konnte ein während des Zugs gesendeter Befehl die Sitzung als laufend anzeigen lassen und Nachrichten, die Sie danach sendeten, wurden nicht zugestellt.

490 496 

491Persönliche Skills in `~/.claude/skills/` gelten für lokale Sitzungen; eine [SSH](#ssh-sessions)-Sitzung liest `~/.claude/skills/` aus dem Home-Verzeichnis des Remote-Hosts, nicht von Ihrem Computer. Cloud-Sitzungen laden stattdessen die Skills, die für Ihr claude.ai-Konto aktiviert sind. Siehe [Skills in Cowork- und Cloud-Sitzungen](/docs/de/skills#skills-in-cowork-and-cloud-sessions).497Lokale Sitzungen laden Ihre persönlichen Skills aus `~/.claude/skills/`. Eine [SSH](#ssh-sessions)-Sitzung liest `~/.claude/skills/` aus dem Home-Verzeichnis des Remote-Hosts, nicht von Ihrem Computer.

498 

499Lokale und Cloud-Sitzungen laden auch die Skills, die für Ihr claude.ai-Konto aktiviert sind. Cloud-Sitzungen laden sie statt aus `~/.claude/skills/`, wie [Skills in Cowork- und Cloud-Sitzungen](/docs/de/skills#skills-in-cowork-and-cloud-sessions) beschreibt.

492 500 

493<h3 id="install-plugins">501<h3 id="install-plugins">

494 Installieren Sie Plugins502 Plugins installieren

495</h3>503</h3>

496 504 

497[Plugins](/docs/de/plugins) sind wiederverwendbare Pakete, die Skills, Agents, hooks, MCP-Server und LSP-Konfigurationen zu Claude Code hinzufügen. Sie können Plugins aus der Desktop-App installieren, ohne das Terminal zu verwenden.505[Plugins](/docs/de/plugins) sind wiederverwendbare Pakete, die Skills, Agents, Hooks, MCP-Server und LSP-Konfigurationen zu Claude Code hinzufügen. Sie können Plugins aus der Desktop-App installieren, ohne das Terminal zu verwenden.

498 506 

499Für lokale und [SSH](#ssh-sessions)-Sitzungen klicken Sie auf die Schaltfläche **+** neben dem Eingabefeld und wählen Sie **Plugins**, um Ihre installierten Plugins und deren Skills zu sehen. Um ein Plugin hinzuzufügen, wählen Sie **Plugin hinzufügen** aus dem Untermenü, um den Plugin-Browser zu öffnen, der verfügbare Plugins aus Ihren konfigurierten [Marketplaces](/docs/de/plugin-marketplaces) einschließlich des offiziellen Anthropic-Marketplace anzeigt. Wählen Sie **Plugins verwalten**, um Plugins zu aktivieren, zu deaktivieren oder zu deinstallieren.507Für lokale und [SSH](#ssh-sessions)-Sitzungen klicken Sie auf die Schaltfläche **+** neben dem Eingabefeld und wählen Sie **Plugins** aus, um Ihre installierten Plugins und deren Skills zu sehen. Um ein Plugin hinzuzufügen, wählen Sie **Plugin hinzufügen** aus dem Untermenü, um den Plugin-Browser zu öffnen, der verfügbare Plugins aus Ihren konfigurierten [Marketplaces](/docs/de/plugin-marketplaces) einschließlich des offiziellen Anthropic-Marketplace anzeigt. Wählen Sie **Plugins verwalten** aus, um Plugins zu aktivieren, zu deaktivieren oder zu deinstallieren.

500 508 

501Sie können Plugins auf Ihr Benutzerkonto, ein bestimmtes Projekt oder nur lokal beschränken. Wenn Ihre Organisation Plugins zentral verwaltet, sind diese Plugins in Desktop-Sitzungen auf die gleiche Weise verfügbar wie in der CLI.509Sie können Plugins auf Ihr Benutzerkonto, ein bestimmtes Projekt oder nur lokal beschränken. Wenn Ihre Organisation Plugins zentral verwaltet, sind diese Plugins in Desktop-Sitzungen auf die gleiche Weise verfügbar wie in der CLI.

502 510 

503Der Plugin-Browser ist nicht in Cloud-Sitzungen verfügbar, und Plugins, die Sie aus der Desktop-App installieren, sind nicht für Cloud-Sitzungen verfügbar. Um ein Plugin in einer Cloud-Sitzung zu verwenden, deklarieren Sie es entweder im Repository unter `.claude/settings.json` unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins), damit Claude Code es [beim Sitzungsstart installiert](/docs/de/cloud-environments#what-carries-over-from-your-setup), oder aktivieren Sie es für Ihr claude.ai-Konto, damit Claude Code es als [synchronisiertes Plugin](/docs/de/plugins-reference#synced-plugins) lädt. Plugins sind nicht in WSL-Sitzungen verfügbar. Für die vollständige Plugin-Referenz einschließlich der Erstellung eigener Plugins siehe [Plugins](/docs/de/plugins).511Der Plugin-Browser ist in Cloud-Sitzungen nicht verfügbar, und Plugins, die Sie aus der Desktop-App installieren, sind nicht für Cloud-Sitzungen verfügbar. Um ein Plugin in einer Cloud-Sitzung zu verwenden, deklarieren Sie es entweder im Repository unter `.claude/settings.json` unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins), damit Claude Code es [beim Sitzungsstart installiert](/docs/de/cloud-environments#what-carries-over-from-your-setup), oder aktivieren Sie es für Ihr claude.ai-Konto, damit Claude Code es als [synchronisiertes Plugin](/docs/de/plugins-reference#synced-plugins) lädt. Plugins sind in WSL-Sitzungen nicht verfügbar. Für die vollständige Plugin-Referenz einschließlich der Erstellung eigener Plugins siehe [Plugins](/docs/de/plugins).

504 512 

505<h3 id="configure-preview-servers">513<h3 id="configure-preview-servers">

506 Konfigurieren Sie Vorschau-Server514 Vorschauserver konfigurieren

507</h3>515</h3>

508 516 

509Claude erkennt automatisch Ihr Dev-Server-Setup und speichert die Konfiguration in `.claude/launch.json` im Stammverzeichnis des Ordners, den Sie beim Starten der Sitzung ausgewählt haben. Die Vorschau verwendet diesen Ordner als Arbeitsverzeichnis. Wenn Sie also einen übergeordneten Ordner ausgewählt haben, werden Unterordner mit ihren eigenen Dev-Servern nicht automatisch erkannt. Um mit dem Server eines Unterordners zu arbeiten, starten Sie entweder eine Sitzung direkt in diesem Ordner oder fügen Sie eine Konfiguration manuell hinzu.517Claude erkennt automatisch Ihre Dev-Server-Einrichtung und speichert die Konfiguration in `.claude/launch.json` im Stammverzeichnis des Ordners, den Sie beim Starten der Sitzung ausgewählt haben. Die Vorschau verwendet diesen Ordner als Arbeitsverzeichnis. Wenn Sie also einen übergeordneten Ordner ausgewählt haben, werden Unterordner mit ihren eigenen Dev-Servern nicht automatisch erkannt. Um mit dem Server eines Unterordners zu arbeiten, starten Sie entweder eine Sitzung direkt in diesem Ordner oder fügen Sie eine Konfiguration manuell hinzu.

510 518 

511Um anzupassen, wie Ihr Server startet, z. B. um `yarn dev` statt `npm run dev` zu verwenden oder den Port zu ändern, bearbeiten Sie die Datei manuell oder klicken Sie auf **Konfiguration bearbeiten** im Server-Dropdown, um sie in Ihrem Code-Editor zu öffnen. Die Datei unterstützt JSON mit Kommentaren.519Um anzupassen, wie Ihr Server startet, z. B. um `yarn dev` statt `npm run dev` zu verwenden oder den Port zu ändern, bearbeiten Sie die Datei manuell oder klicken Sie auf **Konfiguration bearbeiten** im Server-Dropdown, um sie in Ihrem Code-Editor zu öffnen. Die Datei unterstützt JSON mit Kommentaren.

512 520 


527Sie können mehrere Konfigurationen definieren, um verschiedene Server aus demselben Projekt auszuführen, z. B. ein Frontend und eine API. Siehe die [Beispiele](#examples) unten.535Sie können mehrere Konfigurationen definieren, um verschiedene Server aus demselben Projekt auszuführen, z. B. ein Frontend und eine API. Siehe die [Beispiele](#examples) unten.

528 536 

529<h4 id="auto-verify-changes">537<h4 id="auto-verify-changes">

530 Automatische Überprüfung von Änderungen538 Änderungen automatisch überprüfen

531</h4>539</h4>

532 540 

533Wenn `autoVerify` aktiviert ist, überprüft Claude automatisch Code-Änderungen nach dem Bearbeiten von Dateien. Es macht Screenshots, prüft auf Fehler und bestätigt, dass Änderungen funktionieren, bevor es seine Antwort abschließt.541Wenn `autoVerify` aktiviert ist, überprüft Claude automatisch Code-Änderungen nach dem Bearbeiten von Dateien. Es macht Screenshots, prüft auf Fehler und bestätigt, dass Änderungen funktionieren, bevor es seine Antwort abschließt.

534 542 

535Die automatische Überprüfung ist standardmäßig aktiviert. Deaktivieren Sie sie pro Projekt, indem Sie `"autoVerify": false` zu `.claude/launch.json` hinzufügen, oder schalten Sie sie aus dem Server-Dropdown-Menü um.543Auto-Verify ist standardmäßig aktiviert. Deaktivieren Sie es pro Projekt, indem Sie `"autoVerify": false` zu `.claude/launch.json` hinzufügen, oder schalten Sie es aus dem Server-Dropdown-Menü um.

536 544 

537```json theme={null}545```json theme={null}

538{546{


549}557}

550```558```

551 559 

552Wenn deaktiviert, sind Vorschau-Tools immer noch verfügbar und Sie können Claude jederzeit bitten, zu überprüfen. Die automatische Überprüfung macht es automatisch nach jeder Bearbeitung.560Wenn deaktiviert, sind Vorschau-Tools weiterhin verfügbar und Sie können Claude jederzeit bitten, zu überprüfen. Auto-Verify macht es automatisch nach jeder Bearbeitung.

553 561 

554<h4 id="configuration-fields">562<h4 id="configuration-fields">

555 Konfigurationsfelder563 Konfigurationsfelder


565| `port` | number | Der Port, auf dem Ihr Server lauscht. Standardmäßig 3000 |573| `port` | number | Der Port, auf dem Ihr Server lauscht. Standardmäßig 3000 |

566| `cwd` | string | Arbeitsverzeichnis relativ zu Ihrem Projektstammverzeichnis. Standardmäßig das Projektstammverzeichnis. Verwenden Sie `${workspaceFolder}`, um das Projektstammverzeichnis explizit zu referenzieren |574| `cwd` | string | Arbeitsverzeichnis relativ zu Ihrem Projektstammverzeichnis. Standardmäßig das Projektstammverzeichnis. Verwenden Sie `${workspaceFolder}`, um das Projektstammverzeichnis explizit zu referenzieren |

567| `env` | object | Zusätzliche Umgebungsvariablen als Schlüssel-Wert-Paare, z. B. `{ "NODE_ENV": "development" }`. Legen Sie hier keine Geheimnisse ab, da diese Datei in Ihr Repo committed wird. Um Geheimnisse an Ihren Dev-Server zu übergeben, legen Sie sie stattdessen im [lokalen Umgebungs-Editor](#local-sessions) fest. |575| `env` | object | Zusätzliche Umgebungsvariablen als Schlüssel-Wert-Paare, z. B. `{ "NODE_ENV": "development" }`. Legen Sie hier keine Geheimnisse ab, da diese Datei in Ihr Repo committed wird. Um Geheimnisse an Ihren Dev-Server zu übergeben, legen Sie sie stattdessen im [lokalen Umgebungs-Editor](#local-sessions) fest. |

568| `autoPort` | boolean | Wie Port-Konflikte behandelt werden. Siehe unten |576| `autoPort` | boolean | Wie mit Port-Konflikten umgegangen wird. Siehe [Port-Konflikte](#port-conflicts) |

569| `program` | string | Ein mit `node` auszuführendes Skript. Siehe [wann `program` vs `runtimeExecutable` verwendet werden](#when-to-use-program-vs-runtimeexecutable) |577| `program` | string | Ein Skript, das mit `node` ausgeführt werden soll. Siehe [wann `program` vs `runtimeExecutable` verwendet werden soll](#when-to-use-program-vs-runtimeexecutable) |

570| `args` | string\[] | An `program` übergebene Argumente. Wird nur verwendet, wenn `program` gesetzt ist |578| `args` | string\[] | An `program` übergebene Argumente. Wird nur verwendet, wenn `program` gesetzt ist |

571| `url` | string | Die Adresse, die die Vorschau statt `http://localhost:<port>` öffnet. Siehe [Vorschau unter einer bestimmten URL öffnen](#open-the-preview-at-a-specific-url) |579| `url` | string | Die Adresse, die die Vorschau statt `http://localhost:<port>` öffnet. Siehe [Vorschau unter einer bestimmten URL öffnen](#open-the-preview-at-a-specific-url) |

572 580 

573<a id="when-to-use-program-vs-runtimeexecutable" />581<a id="when-to-use-program-vs-runtimeexecutable" />

574 582 

575<h5 id="when-to-use-program-vs-runtimeexecutable">583<h5 id="when-to-use-program-vs-runtimeexecutable">

576 Wann `program` vs `runtimeExecutable` verwendet werden584 Wann `program` vs `runtimeExecutable` verwendet werden soll

577</h5>585</h5>

578 586 

579Verwenden Sie `runtimeExecutable` mit `runtimeArgs`, um einen Dev-Server über einen Package Manager zu starten. Zum Beispiel `"runtimeExecutable": "npm"` mit `"runtimeArgs": ["run", "dev"]` führt `npm run dev` aus.587Verwenden Sie `runtimeExecutable` mit `runtimeArgs`, um einen Dev-Server über einen Package-Manager zu starten. Zum Beispiel führt `"runtimeExecutable": "npm"` mit `"runtimeArgs": ["run", "dev"]` `npm run dev` aus.

580 588 

581Verwenden Sie `program`, wenn Sie ein eigenständiges Skript haben, das Sie direkt mit `node` ausführen möchten. Zum Beispiel `"program": "server.js"` führt `node server.js` aus. Übergeben Sie zusätzliche Flags mit `args`.589Verwenden Sie `program`, wenn Sie ein eigenständiges Skript haben, das Sie direkt mit `node` ausführen möchten. Zum Beispiel führt `"program": "server.js"` `node server.js` aus. Übergeben Sie zusätzliche Flags mit `args`.

582 590 

583<a id="open-the-preview-at-a-specific-url" />591<a id="open-the-preview-at-a-specific-url" />

584 592 


603}611}

604```612```

605 613 

606Localhost-Adressen öffnen sich direkt, genau wie die Standard-Port-Adresse. Dies umfasst `localhost`, jede `*.localhost`-Subdomain, `127.0.0.1` und `::1`. Aus Sicherheitsgründen muss eine Localhost-`url` nur der Ursprung Ihres Servers sein — kein Pfad oder Query, und der Port muss dem Port des Eintrags entsprechen. Um eine bestimmte Seite anzuzeigen, bitten Sie Claude, dorthin zu navigieren, nachdem die Vorschau geöffnet wird. Eine Localhost-`url` mit einem Pfad, Query oder nicht übereinstimmendem Port wird als Konfigurationsfehler gemeldet, der die URL benennt und die Behebung anzeigt.614Localhost-Adressen öffnen sich direkt, genau wie die Standard-Port-Adresse. Dies umfasst `localhost`, jede `*.localhost`-Subdomain, `127.0.0.1` und `::1`. Aus Sicherheitsgründen muss eine Localhost-`url` nur der Ursprung Ihres Servers sein, ohne Pfad oder Abfrage. Sein Port muss dem Port des Eintrags entsprechen. Um eine bestimmte Seite anzuzeigen, bitten Sie Claude, dorthin zu navigieren, nachdem die Vorschau geöffnet wird. Eine Localhost-`url` mit einem Pfad, einer Abfrage oder einem nicht übereinstimmenden Port wird als Konfigurationsfehler gemeldet, der die URL benennt und die Korrektur anzeigt.

607 615 

608Für jede andere Adresse fragt Desktop beim ersten Mal, wenn die Vorschau sie öffnet, um Ihre Berechtigung, genauso wie wenn Sie in der Vorschau zu einer neuen Website navigieren. Externe Adressen können Pfade enthalten. Wählen Sie **Immer zulassen**, um die Eingabeaufforderung für diese Website in Zukunft zu überspringen. Organisationsrichtlinien, die externe Websites in der Vorschau einschränken, gelten weiterhin.616Für jede andere Adresse fragt Desktop beim ersten Öffnen der Vorschau um Ihre Berechtigung, genauso wie wenn Sie in der Vorschau zu einer neuen Website navigieren. Externe Adressen können Pfade enthalten. Wählen Sie **Immer zulassen**, um die Eingabeaufforderung für diese Website in Zukunft zu überspringen. Organisationsrichtlinien, die externe Websites in der Vorschau einschränken, gelten weiterhin.

609 617 

610Um eine Vorschau eines Servers anzuzeigen, den Sie bereits selbst ausführen, legen Sie `url` ohne einen Befehl fest. Claude verbindet die Vorschau mit Ihrem laufenden Server, statt einen zu starten:618Um eine Vorschau eines Servers anzuzeigen, den Sie bereits selbst ausführen, legen Sie `url` ohne einen Befehl fest. Claude verbindet die Vorschau mit Ihrem laufenden Server, anstatt einen zu starten:

611 619 

612```json theme={null}620```json theme={null}

613{621{


627 Port-Konflikte635 Port-Konflikte

628</h4>636</h4>

629 637 

630Das Feld `autoPort` kontrolliert, was passiert, wenn Ihr bevorzugter Port bereits verwendet wird:638Das Feld `autoPort` steuert, was passiert, wenn Ihr bevorzugter Port bereits verwendet wird:

631 639 

632* **`true`**: Claude findet und verwendet automatisch einen freien Port. Geeignet für die meisten Dev-Server.640* **`true`**: Claude findet und verwendet automatisch einen freien Port. Geeignet für die meisten Dev-Server.

633* **`false`**: Claude schlägt mit einem Fehler fehl. Verwenden Sie dies, wenn Ihr Server einen bestimmten Port verwenden muss, z. B. für OAuth-Callbacks oder CORS-Allowlists.641* **`false`**: Claude schlägt mit einem Fehler fehl. Verwenden Sie dies, wenn Ihr Server einen bestimmten Port verwenden muss, z. B. für OAuth-Callbacks oder CORS-Allowlists.


660 ```668 ```

661 </Tab>669 </Tab>

662 670 

663 <Tab title="Multiple servers">671 <Tab title="Mehrere Server">

664 Für ein Monorepo mit einem Frontend und einem API-Server definieren Sie mehrere Konfigurationen. Das Frontend verwendet `autoPort: true`, sodass es einen freien Port wählt, wenn 3000 belegt ist, während der API-Server Port 8080 genau benötigt:672 Für ein Monorepo mit einem Frontend und einem API-Server definieren Sie mehrere Konfigurationen. Das Frontend verwendet `autoPort: true`, damit es einen freien Port wählt, wenn 3000 belegt ist, während der API-Server Port 8080 genau benötigt:

665 673 

666 ```json theme={null}674 ```json theme={null}

667 {675 {


689 ```697 ```

690 </Tab>698 </Tab>

691 699 

692 <Tab title="Node.js script">700 <Tab title="Node.js-Skript">

693 Um ein Node.js-Skript direkt auszuführen, statt einen Package-Manager-Befehl zu verwenden, verwenden Sie das Feld `program`:701 Um ein Node.js-Skript direkt auszuführen, anstatt einen Package-Manager-Befehl zu verwenden, verwenden Sie das Feld `program`:

694 702 

695 ```json theme={null}703 ```json theme={null}

696 {704 {


822Diese Einstellungen werden über die [Admin-Einstellungskonsole](https://claude.ai/admin-settings/claude-code) konfiguriert:830Diese Einstellungen werden über die [Admin-Einstellungskonsole](https://claude.ai/admin-settings/claude-code) konfiguriert:

823 831 

824* **Code in der Desktop**: Kontrollieren Sie, ob Benutzer in Ihrer Organisation auf Claude Code in der Desktop-App zugreifen können832* **Code in der Desktop**: Kontrollieren Sie, ob Benutzer in Ihrer Organisation auf Claude Code in der Desktop-App zugreifen können

825* **Code im Web**: Aktivieren oder deaktivieren Sie [Web-Sitzungen](/docs/de/claude-code-on-the-web) für Ihre Organisation833* **Code im Web**: Aktivieren oder deaktivieren Sie [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) für Ihre Organisation

826* **Remote Control**: Aktivieren oder deaktivieren Sie [Remote Control](/docs/de/remote-control) für Ihre Organisation834* **Remote Control**: Aktivieren oder deaktivieren Sie [Remote Control](/docs/de/remote-control) für Ihre Organisation

827* **Bypass-Berechtigungsmodus deaktivieren**: Verhindern Sie, dass Benutzer in Ihrer Organisation den Bypass-Berechtigungsmodus aktivieren835* **Bypass-Berechtigungsmodus deaktivieren**: Verhindern Sie, dass Benutzer in Ihrer Organisation den Bypass-Berechtigungsmodus aktivieren

828 836 


949 Kommen Sie von der CLI?957 Kommen Sie von der CLI?

950</h2>958</h2>

951 959 

952Wenn Sie bereits die Claude Code CLI verwenden, führt Desktop dieselbe zugrunde liegende Engine mit einer grafischen Benutzeroberfläche aus. Sie können beide gleichzeitig auf demselben Computer ausführen, sogar auf demselben Projekt. Jede behält separate Sitzungsverlauf, aber sie teilen Konfiguration und Projektgedächtnis über CLAUDE.md-Dateien.960Wenn Sie bereits die Claude Code CLI verwenden, führt Desktop dieselbe zugrunde liegende Engine mit einer grafischen Benutzeroberfläche aus. Sie können beide gleichzeitig auf demselben Computer ausführen, sogar auf demselben Projekt. Jede behält ihre eigene Sitzungsliste, und Sie können eine CLI-Sitzung in Desktop bringen. Sie teilen Konfiguration und Projektgedächtnis über CLAUDE.md-Dateien.

953 961 

954Um eine CLI-Sitzung in Desktop zu verschieben, führen Sie `/desktop` im Terminal aus. Claude speichert Ihre Sitzung und öffnet sie in der Desktop-App, dann beendet die CLI. Dieser Befehl ist auf macOS und x64 Windows verfügbar, wenn Sie mit einem Claude-Abonnement angemeldet sind. Er ist nicht mit API-Schlüssel-Authentifizierung oder auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verfügbar.962Um eine CLI-Sitzung in Desktop zu verschieben, führen Sie `/desktop` im Terminal aus. Claude speichert Ihre Sitzung und öffnet sie in der Desktop-App, dann beendet die CLI. Dieser Befehl ist auf macOS und x64 Windows verfügbar, wenn Sie mit einem Claude-Abonnement angemeldet sind. Er ist nicht mit API-Schlüssel-Authentifizierung oder auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verfügbar.

955 963 

964Um eine CLI-Sitzung von innen in Desktop aufzugreifen, geben Sie stattdessen `/resume` in das Eingabefeld ein. Desktop listet die Sitzungen auf, die Sie von der CLI gestartet haben, und Sie können sie nach Titel, Ordner oder Branch durchsuchen und eine Vorschau sehen, wo jede endete. Wählen Sie eine Sitzung aus und sie wird in der App mit ihrer vollständigen Konversation und ihrem Kontext fortgesetzt.

965 

956<Tip>966<Tip>

957 Wann Desktop vs CLI verwendet werden: Verwenden Sie Desktop, wenn Sie parallele Sitzungen in einem Fenster verwalten, Panes nebeneinander anordnen oder Änderungen visuell überprüfen möchten. Verwenden Sie die CLI, wenn Sie Scripting, Automatisierung oder einen Terminal-Workflow bevorzugen.967 Wann Desktop vs CLI verwendet werden: Verwenden Sie Desktop, wenn Sie parallele Sitzungen in einem Fenster verwalten, Panes nebeneinander anordnen oder Änderungen visuell überprüfen möchten. Verwenden Sie die CLI, wenn Sie Scripting, Automatisierung oder einen Terminal-Workflow bevorzugen.

958</Tip>968</Tip>


966| CLI | Desktop-Äquivalent |976| CLI | Desktop-Äquivalent |

967| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |977| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

968| `--model sonnet` | Modell-Dropdown neben der Schaltfläche „Senden" |978| `--model sonnet` | Modell-Dropdown neben der Schaltfläche „Senden" |

969| `--resume`, `--continue` | Klicken Sie auf eine Sitzung in der Seitenleiste |979| `--resume`, `--continue` | Klicken Sie auf eine Sitzung in der Seitenleiste, oder geben Sie `/resume` in das Eingabefeld ein, um eine Sitzung aufzugreifen, die Sie von der CLI gestartet haben |

970| `--permission-mode` | Moduswahlschalter neben der Schaltfläche „Senden" |980| `--permission-mode` | Moduswahlschalter neben der Schaltfläche „Senden" |

971| `--dangerously-skip-permissions` | Bypass-Berechtigungsmodus. Aktivieren Sie auf Pro- und Max-Plänen in Einstellungen → Claude Code → „Bypass-Berechtigungsmodus zulassen"; auf Team- und Enterprise-Plänen wird es durch die Organisationsrichtlinie gesteuert |981| `--dangerously-skip-permissions` | Bypass-Berechtigungsmodus. Aktivieren Sie auf Pro- und Max-Plänen in Einstellungen → Claude Code → „Bypass-Berechtigungsmodus zulassen"; auf Team- und Enterprise-Plänen wird es durch die Organisationsrichtlinie gesteuert |

972| `--add-dir` | Fügen Sie mehrere Repos mit der Schaltfläche **+** in Cloud-Sitzungen hinzu |982| `--add-dir` | Fügen Sie mehrere Repos mit der Schaltfläche **+** in Cloud-Sitzungen hinzu |

Details

29 Auf dieser Seite bezieht sich „Gerät" auf ein simuliertes iPhone oder iPad, eines der gleichen Simulator-Geräte, die Sie in Xcode unter **Window → Devices and Simulators** verwalten, nicht auf physische Hardware.29 Auf dieser Seite bezieht sich „Gerät" auf ein simuliertes iPhone oder iPad, eines der gleichen Simulator-Geräte, die Sie in Xcode unter **Window → Devices and Simulators** verwalten, nicht auf physische Hardware.

30</Note>30</Note>

31 31 

32Der Simulator-Bereich ist nur in lokalen Sitzungen verfügbar. In [Cloud-](/docs/de/desktop#run-long-running-tasks-remotely) und [SSH-](/docs/de/desktop#ssh-sessions) Sitzungen läuft Claude auf einem Computer, der die Simulatoren auf Ihrem Mac nicht erreichen kann.32Der Simulator-Bereich ist nur in lokalen Sitzungen verfügbar. In [Cloud-](/docs/de/desktop#run-long-running-tasks-in-the-cloud) und [SSH-](/docs/de/desktop#ssh-sessions) Sitzungen läuft Claude auf einem Computer, der die Simulatoren auf Ihrem Mac nicht erreichen kann.

33 33 

34<h2 id="run-your-app-in-the-simulator">34<h2 id="run-your-app-in-the-simulator">

35 Führen Sie Ihre App im Simulator aus35 Führen Sie Ihre App im Simulator aus

Details

70 70 

71 Sie können auch folgende Optionen wählen:71 Sie können auch folgende Optionen wählen:

72 72 

73 * **Cloud**: Führen Sie Sitzungen in der Cloud aus, die auch dann fortgesetzt werden, wenn Sie die App schließen. Cloud-Sitzungen verwenden die gleiche Infrastruktur wie [Claude Code im Web](/docs/de/claude-code-on-the-web).73 * **Cloud**: Führen Sie Sitzungen in der Cloud aus, die auch dann fortgesetzt werden, wenn Sie die App schließen. Siehe [Claude Code in der Cloud verwenden](/docs/de/claude-code-on-the-web), um zu erfahren, wie Cloud-Sitzungen funktionieren.

74 * **SSH**: Verbinden Sie sich über SSH mit einem Remote-Computer, z. B. mit Ihren eigenen Servern, Cloud-VMs oder Dev-Containern. Desktop installiert Claude Code beim ersten Verbinden automatisch auf dem Remote-Computer.74 * **SSH**: Verbinden Sie sich über SSH mit einem Remote-Computer, z. B. mit Ihren eigenen Servern, Cloud-VMs oder Dev-Containern. Desktop installiert Claude Code beim ersten Verbinden automatisch auf dem Remote-Computer.

75 * **WSL** (Windows): Führen Sie die Sitzung in einer [WSL 2-Distribution](/docs/de/desktop-wsl) aus; Claude Code, Tools und Git werden auf der Linux-Seite mit nativen Pfaden ausgeführt.75 * **WSL** (Windows): Führen Sie die Sitzung in einer [WSL 2-Distribution](/docs/de/desktop-wsl) aus; Claude Code, Tools und Git werden auf der Linux-Seite mit nativen Pfaden ausgeführt.

76 </Step>76 </Step>


134 134 

135**Planen Sie Claude ein.** Richten Sie [geplante Aufgaben](/docs/de/desktop-scheduled-tasks) ein, um Claude automatisch regelmäßig auszuführen: eine tägliche Code-Überprüfung jeden Morgen, eine wöchentliche Abhängigkeitsprüfung oder eine Zusammenfassung, die Daten aus Ihren verbundenen Tools abruft.135**Planen Sie Claude ein.** Richten Sie [geplante Aufgaben](/docs/de/desktop-scheduled-tasks) ein, um Claude automatisch regelmäßig auszuführen: eine tägliche Code-Überprüfung jeden Morgen, eine wöchentliche Abhängigkeitsprüfung oder eine Zusammenfassung, die Daten aus Ihren verbundenen Tools abruft.

136 136 

137**Skalieren Sie auf, wenn Sie bereit sind.** Öffnen Sie [parallele Sitzungen](/docs/de/desktop#work-in-parallel-with-sessions) aus der Seitenleiste, um mehrere Aufgaben gleichzeitig zu bearbeiten, jede in ihrem eigenen Git Worktree, und öffnen Sie den [Aufgabenbereich](/docs/de/desktop#watch-background-tasks), um die Subagents und Hintergrund-Befehle zu beobachten, die eine Sitzung ausführt. Öffnen Sie einen [Side Chat](/docs/de/desktop#ask-a-side-question-without-derailing-the-session), um eine Frage zu stellen, ohne den Hauptthread zu unterbrechen. Senden Sie [langfristige Arbeiten in die Cloud](/docs/de/desktop#run-long-running-tasks-remotely), damit sie fortgesetzt werden, auch wenn Sie die App schließen, oder [setzen Sie eine Sitzung im Web oder in Ihrer IDE fort](/docs/de/desktop#continue-in-another-surface), wenn eine Aufgabe länger als erwartet dauert. [Verbinden Sie externe Tools](/docs/de/desktop#extend-claude-code) wie GitHub, Slack und Linear, um Ihren Workflow zusammenzubringen.137**Skalieren Sie auf, wenn Sie bereit sind.** Öffnen Sie [parallele Sitzungen](/docs/de/desktop#work-in-parallel-with-sessions) aus der Seitenleiste, um mehrere Aufgaben gleichzeitig zu bearbeiten, jede in ihrem eigenen Git Worktree, und öffnen Sie den [Aufgabenbereich](/docs/de/desktop#watch-background-tasks), um die Subagents und Hintergrund-Befehle zu beobachten, die eine Sitzung ausführt. Öffnen Sie einen [Side Chat](/docs/de/desktop#ask-a-side-question-without-derailing-the-session), um eine Frage zu stellen, ohne den Hauptthread zu unterbrechen. Senden Sie [langfristige Arbeiten in die Cloud](/docs/de/desktop#run-long-running-tasks-in-the-cloud), damit sie fortgesetzt werden, auch wenn Sie die App schließen, oder [setzen Sie eine Sitzung im Web oder in Ihrer IDE fort](/docs/de/desktop#continue-in-another-surface), wenn eine Aufgabe länger als erwartet dauert. [Verbinden Sie externe Tools](/docs/de/desktop#extend-claude-code) wie GitHub, Slack und Linear, um Ihren Workflow zusammenzubringen.

138 138 

139<h2 id="what’s-next">139<h2 id="what’s-next">

140 Nächste Schritte140 Nächste Schritte

desktop-wsl.md +1 −1

Details

52 Verwaltete Geräte52 Verwaltete Geräte

53</h2>53</h2>

54 54 

55Auf Geräten, die von einer Organisation verwaltet werden, sind WSL-Sitzungen möglicherweise nicht verfügbar. Wenn der Sitzungsstart mit einer Meldung fehlschlägt, dass das Gerät verwaltet wird, wird dies von Ihrem Administrator gesteuert. Administratoren: siehe [wie Einstellungen auf Geräte gelangen](/de/admin-setup#decide-how-settings-reach-devices) im Bereitstellungsleitfaden.55Auf Geräten, die von einer Organisation verwaltet werden, sind WSL-Sitzungen möglicherweise nicht verfügbar. Wenn der Sitzungsstart mit einer Meldung fehlschlägt, dass das Gerät verwaltet wird, wird dies von Ihrem Administrator gesteuert. Administratoren: siehe [wie Einstellungen auf Geräte gelangen](/docs/de/admin-setup#decide-how-settings-reach-devices) im Bereitstellungsleitfaden.

devcontainer.md +1 −1

Details

138 138 

139`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` deaktiviert auch die Feature-Flag-Evaluierung, auf die [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](/docs/de/env-vars#features-that-need-feature-flag-fetching) angewiesen sind, daher können Sitzungen im Container diese nicht verwenden.139`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` deaktiviert auch die Feature-Flag-Evaluierung, auf die [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](/docs/de/env-vars#features-that-need-feature-flag-fetching) angewiesen sind, daher können Sitzungen im Container diese nicht verwenden.

140 140 

141Die Dev Container Feature installiert immer die neueste Claude Code-Version. Um eine bestimmte Claude Code-Version für reproduzierbare Builds zu fixieren, installieren Sie sie von Ihrem Dockerfile mit `npm install -g @anthropic-ai/claude-code@X.Y.Z`, anstatt die Feature zu verwenden, und setzen Sie `DISABLE_AUTOUPDATER` wie oben gezeigt.141Die Dev Container Feature installiert immer die neueste Claude Code-Version. Um eine bestimmte Claude Code-Version für reproduzierbare Builds zu fixieren, installieren Sie sie von Ihrem Dockerfile mit `npm install -g @anthropic-ai/claude-code@X.Y.Z`, anstatt die Feature zu verwenden, und setzen Sie `DISABLE_AUTOUPDATER` auf `1` in `containerEnv`.

142 142 

143Für die vollständige Liste der Richtlinienkontrollen, einschließlich Berechtigungsregeln, Tool-Einschränkungen und MCP-Server-Allowlists, siehe [Richten Sie Claude Code für Ihre Organisation ein](/docs/de/admin-setup).143Für die vollständige Liste der Richtlinienkontrollen, einschließlich Berechtigungsregeln, Tool-Einschränkungen und MCP-Server-Allowlists, siehe [Richten Sie Claude Code für Ihre Organisation ein](/docs/de/admin-setup).

144 144 

Details

8 8 

9Plugins erweitern Claude Code mit Befähigungen, Agenten, Hooks und MCP-Servern. Plugin-Marktplätze sind Kataloge, die Ihnen helfen, diese Erweiterungen zu entdecken und zu installieren, ohne sie selbst zu erstellen.9Plugins erweitern Claude Code mit Befähigungen, Agenten, Hooks und MCP-Servern. Plugin-Marktplätze sind Kataloge, die Ihnen helfen, diese Erweiterungen zu entdecken und zu installieren, ohne sie selbst zu erstellen.

10 10 

11Sie können Plugins auch auf claude.ai aktivieren, für sich selbst oder über Ihre Organisation. Claude Code synchronisiert diese in Ihre Sitzungen ohne eine Marktplatz-Installation, wie [Plugins, die von claude.ai synchronisiert werden](/docs/de/plugins-reference#synced-plugins) beschreibt.

12 

11Möchten Sie Ihren eigenen Marktplatz erstellen und verteilen? Siehe [Erstellen und verteilen Sie einen Plugin-Marktplatz](/docs/de/plugin-marketplaces).13Möchten Sie Ihren eigenen Marktplatz erstellen und verteilen? Siehe [Erstellen und verteilen Sie einen Plugin-Marktplatz](/docs/de/plugin-marketplaces).

12 14 

13<h2 id="how-marketplaces-work">15<h2 id="how-marketplaces-work">


30 Offizieller Anthropic-Marktplatz32 Offizieller Anthropic-Marktplatz

31</h2>33</h2>

32 34 

33Claude Code fügt den offiziellen Anthropic-Marktplatz (`claude-plugins-official`) automatisch beim ersten interaktiven Start hinzu. Falls Claude Code ihn nicht hinzufügen kann, beispielsweise weil Ihr Netzwerk den Download blockiert oder eine [Marktplatzrichtlinie](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) einen früheren Versuch blockiert hat, fügen Sie ihn selbst mit `/plugin marketplace add anthropics/claude-plugins-official` hinzu.35Claude Code fügt den offiziellen Anthropic-Marktplatz (`claude-plugins-official`) automatisch beim ersten interaktiven Start hinzu. Falls Claude Code ihn nicht hinzufügen kann, beispielsweise weil Ihr Netzwerk den Download blockiert oder eine [Marktplatz-Richtlinie](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) einen früheren Versuch blockiert hat, fügen Sie ihn selbst mit `/plugin marketplace add anthropics/claude-plugins-official` hinzu.

34 36 

35Um zu sehen, was verfügbar ist, führen Sie `/plugin` aus und gehen Sie zur Registerkarte **Discover**, oder sehen Sie sich den Katalog unter [claude.com/plugins](https://claude.com/plugins) an.37Um zu sehen, was verfügbar ist, führen Sie `/plugin` aus und gehen Sie zur Registerkarte **Discover**, oder sehen Sie sich den Katalog unter [claude.com/plugins](https://claude.com/plugins) an.

36 38 


42 44 

43`/plugin` öffnet ein interaktives Panel in der Terminal-CLI. Falls Claude meldet, dass `/plugin` in dieser Umgebung nicht verfügbar ist, verwenden Sie den [Plugin-Browser](/docs/de/desktop#install-plugins) in der Claude-Desktop-App, oder deklarieren Sie das Plugin unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) in `.claude/settings.json` für Cloud-Sitzungen.45`/plugin` öffnet ein interaktives Panel in der Terminal-CLI. Falls Claude meldet, dass `/plugin` in dieser Umgebung nicht verfügbar ist, verwenden Sie den [Plugin-Browser](/docs/de/desktop#install-plugins) in der Claude-Desktop-App, oder deklarieren Sie das Plugin unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) in `.claude/settings.json` für Cloud-Sitzungen.

44 46 

45Falls die Installation fehlschlägt, ordnen Sie die Meldung, die Claude Code meldet:47Falls die Installation fehlschlägt, vergleichen Sie die Meldung, die Claude Code meldet:

46 48 

47* `Marketplace "claude-plugins-official" not found`: Fügen Sie den Marktplatz mit `/plugin marketplace add anthropics/claude-plugins-official` hinzu und versuchen Sie dann die Installation erneut.49* `Marketplace "claude-plugins-official" not found`: Fügen Sie den Marktplatz mit `/plugin marketplace add anthropics/claude-plugins-official` hinzu, und versuchen Sie dann die Installation erneut.

48* Das Plugin wird [im Marktplatz nicht gefunden](#install-plugins): Überprüfen Sie den Plugin-Namen.50* Das Plugin wird [im Marktplatz nicht gefunden](#install-plugins): Überprüfen Sie den Plugin-Namen.

49 51 

50<Note>52<Note>

51 Der offizielle Marktplatz wird von Anthropic kuratiert, und die Aufnahme liegt im Ermessen von Anthropic. Die In-App-Einreichungsformulare fügen Plugins zum [Community-Marktplatz](#community-marketplace) hinzu, nicht zum offiziellen. Um Plugins unabhängig zu verteilen, [erstellen Sie Ihren eigenen Marktplatz](/docs/de/plugin-marketplaces) und teilen Sie ihn mit Benutzern.53 Der offizielle Marktplatz wird von Anthropic kuratiert, und die Aufnahme liegt im Ermessen von Anthropic. Die In-App-Einreichungsformulare fügen Plugins zum [Community-Marktplatz](#community-marketplace) hinzu, nicht zum offiziellen. Um Plugins unabhängig zu verteilen, [erstellen Sie Ihren eigenen Marktplatz](/docs/de/plugin-marketplaces) und teilen Sie ihn mit Benutzern.

52</Note>54</Note>

53 55 

54Der offizielle Marktplatz umfasst mehrere Kategorien von Plugins:56Der offizielle Marktplatz umfasst mehrere Plugin-Kategorien:

55 57 

56<h3 id="code-intelligence">58<h3 id="code-intelligence">

57 Code-Intelligenz59 Code-Intelligenz

58</h3>60</h3>

59 61 

60Code-Intelligenz-Plugins aktivieren das integrierte LSP-Tool von Claude Code und geben Claude die Möglichkeit, zu Definitionen zu springen, Referenzen zu finden und Typfehler unmittelbar nach Änderungen zu sehen. Diese Plugins konfigurieren [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)-Verbindungen, die gleiche Technologie, die die Code-Intelligenz von VS Code antreibt. In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) startet Claude Code keine Plugin-Language-Server, daher erhält Claude dort nicht das LSP-Tool.62Code-Intelligenz-Plugins aktivieren das integrierte LSP-Tool von Claude Code und geben Claude die Möglichkeit, zu Definitionen zu springen, Referenzen zu finden und Typfehler unmittelbar nach Bearbeitungen zu sehen. Diese Plugins konfigurieren [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)-Verbindungen, die gleiche Technologie, die die Code-Intelligenz von VS Code antreibt. In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) startet Claude Code keine Plugin-Sprachserver, daher erhält Claude dort nicht das LSP-Tool.

61 63 

62Installieren Sie die Language-Server-Binärdatei aus der folgenden Tabelle, bevor Sie diese Plugins verwenden; das Plugin installiert sie nicht für Sie. Falls Sie bereits einen Language Server installiert haben, kann Claude Sie möglicherweise auffordern, das entsprechende Plugin zu installieren, wenn Sie ein Projekt öffnen.64Installieren Sie die Sprachserver-Binärdatei aus der folgenden Tabelle, bevor Sie diese Plugins verwenden; das Plugin installiert sie nicht für Sie. Falls Sie bereits einen Sprachserver installiert haben, kann Claude Sie auffordern, das entsprechende Plugin zu installieren, wenn Sie ein Projekt öffnen.

63 65 

64| Sprache | Plugin | Erforderliche Binärdatei |66| Sprache | Plugin | Erforderliche Binärdatei |

65| :--------- | :------------------ | :--------------------------- |67| :--------- | :------------------ | :--------------------------- |


78Sie können auch [Ihr eigenes LSP-Plugin erstellen](/docs/de/plugins-reference#lsp-servers) für andere Sprachen.80Sie können auch [Ihr eigenes LSP-Plugin erstellen](/docs/de/plugins-reference#lsp-servers) für andere Sprachen.

79 81 

80<Note>82<Note>

81 Wenn Sie nach der Installation eines Plugins `Executable not found in $PATH` in der Registerkarte `/plugin` Errors sehen, installieren Sie die erforderliche Binärdatei aus der obigen Tabelle.83 Falls Sie nach der Installation eines Plugins `Executable not found in $PATH` in der Registerkarte `/plugin` Errors sehen, installieren Sie die Binärdatei, die die Tabelle [Code-Intelligenz](#code-intelligence) für dieses Plugin auflistet.

82</Note>84</Note>

83 85 

84<h4 id="what-claude-gains-from-code-intelligence-plugins">86<h4 id="what-claude-gains-from-code-intelligence-plugins">

85 Was Claude von Code-Intelligenz-Plugins gewinnt87 Was Claude durch Code-Intelligenz-Plugins gewinnt

86</h4>88</h4>

87 89 

88Sobald ein Code-Intelligenz-Plugin installiert ist und seine Language-Server-Binärdatei verfügbar ist, gewinnt Claude zwei Funktionen:90Sobald ein Code-Intelligenz-Plugin installiert ist und seine Sprachserver-Binärdatei verfügbar ist, erhält Claude zwei Funktionen:

89 91 

90* **Automatische Diagnose**: Nach jeder Dateiänderung, die Claude vornimmt, meldet der Language Server Fehler und Warnungen zurück, sodass Claude Typfehler, fehlende Importe und Syntaxprobleme sieht, ohne einen Compiler oder Linter auszuführen. Falls Claude einen Fehler einführt, bemerkt es das Problem und behebt es in derselben Runde.92* **Automatische Diagnose**: Nach jeder Dateibearbeitung, die Claude vornimmt, meldet der Sprachserver Fehler und Warnungen zurück, sodass Claude Typfehler, fehlende Importe und Syntaxprobleme sieht, ohne einen Compiler oder Linter auszuführen. Falls Claude einen Fehler einführt, bemerkt es ihn und behebt ihn in derselben Runde.

91* **Code-Navigation**: Claude kann den Language Server verwenden, um zu Definitionen zu springen, Referenzen zu finden, Typinformationen beim Hover zu erhalten, Symbole aufzulisten, Implementierungen zu finden und Call-Hierarchien zu verfolgen. Diese Operationen geben Claude eine präzisere Navigation als grep-basierte Suche, obwohl die Verfügbarkeit je nach Sprache und Umgebung variieren kann.93* **Code-Navigation**: Claude kann den Sprachserver verwenden, um zu Definitionen zu springen, Referenzen zu finden, Typinformationen beim Hovern zu erhalten, Symbole aufzulisten, Implementierungen zu finden und Call-Hierarchien zu verfolgen. Diese Operationen geben Claude eine präzisere Navigation als grep-basierte Suche, obwohl die Verfügbarkeit je nach Sprache und Umgebung variieren kann.

92 94 

93Sie müssen die Diagnose nicht über die Installation des Plugins hinaus konfigurieren. Um sie selbst zu lesen, drücken Sie **Strg+O**, wenn Claude Code einen Indikator wie **Found 3 new diagnostic issues in 2 files** anzeigt.95Sie müssen die Diagnose nicht über die Installation des Plugins hinaus konfigurieren. Um sie selbst zu lesen, drücken Sie **Ctrl+O**, wenn Claude Code einen Indikator wie **Found 3 new diagnostic issues in 2 files** anzeigt.

94 96 

95Wenn Sie auf Probleme stoßen, siehe [Code-Intelligenz-Fehlerbehebung](#code-intelligence-issues).97Falls Sie auf Probleme stoßen, siehe [Code-Intelligenz-Fehlerbehebung](#code-intelligence-issues).

96 98 

97<h3 id="external-integrations">99<h3 id="external-integrations">

98 Externe Integrationen100 Externe Integrationen

99</h3>101</h3>

100 102 

101Diese Plugins bündeln vorkonfigurierte [MCP-Server](/docs/de/mcp), damit Sie Claude mit externen Diensten verbinden können, ohne manuelle Einrichtung:103Diese Plugins bündeln vorkonfigurierte [MCP-Server](/docs/de/mcp), sodass Sie Claude mit externen Diensten verbinden können, ohne manuelle Einrichtung:

102 104 

103* **Quellcodeverwaltung**: `github`, `gitlab`105* **Versionskontrolle**: `github`, `gitlab`

104* **Projektmanagement**: `atlassian` (Jira/Confluence), `asana`, `linear`, `notion`106* **Projektmanagement**: `atlassian` (Jira/Confluence), `asana`, `linear`, `notion`

105* **Design**: `figma`107* **Design**: `figma`

106* **Infrastruktur**: `vercel`, `firebase`, `supabase`108* **Infrastruktur**: `vercel`, `firebase`, `supabase`


111 Automatische Sicherheitsüberprüfung113 Automatische Sicherheitsüberprüfung

112</h3>114</h3>

113 115 

114Das Plugin `security-guidance` überprüft jede Änderung, die Claude vornimmt, auf häufige Sicherheitslücken und weist Claude an, das Gefundene in derselben Sitzung zu beheben. Siehe [Sicherheitsprobleme erfassen, während Claude Code schreibt](/docs/de/security-guidance), um zu sehen, was es überprüft und wie Sie projektspezifische Regeln hinzufügen.116Das Plugin `security-guidance` überprüft jede Änderung, die Claude vornimmt, auf häufige Sicherheitslücken und weist Claude an, das Gefundene in derselben Sitzung zu beheben. Siehe [Sicherheitsprobleme erfassen, während Claude Code schreibt](/docs/de/security-guidance) für das, was es überprüft und wie Sie projektspezifische Regeln hinzufügen.

115 117 

116<h3 id="development-workflows">118<h3 id="development-workflows">

117 Entwicklungs-Workflows119 Entwicklungs-Workflows

118</h3>120</h3>

119 121 

120Plugins, die Befähigungen und Agenten für häufige Entwicklungsaufgaben hinzufügen:122Plugins, die Skills und Agents für häufige Entwicklungsaufgaben hinzufügen:

121 123 

122* **commit-commands**: Git-Commit-Workflows einschließlich Commit, Push und PR-Erstellung124* **commit-commands**: Git-Commit-Workflows einschließlich Commit, Push und PR-Erstellung

123* **pr-review-toolkit**: Spezialisierte Agenten für die Überprüfung von Pull Requests125* **pr-review-toolkit**: spezialisierte Agents für die Überprüfung von Pull Requests

124* **agent-sdk-dev**: Tools zum Erstellen mit dem Claude Agent SDK126* **agent-sdk-dev**: Tools zum Erstellen mit dem Claude Agent SDK

125* **plugin-dev**: Toolkit zum Erstellen Ihrer eigenen Plugins127* **plugin-dev**: Toolkit zum Erstellen Ihrer eigenen Plugins

126 128 


130 132 

131Passen Sie an, wie Claude antwortet:133Passen Sie an, wie Claude antwortet:

132 134 

133* **explanatory-output-style**: Pädagogische Einblicke in Implementierungsentscheidungen135* **explanatory-output-style**: pädagogische Einblicke in Implementierungsentscheidungen

134* **learning-output-style**: Interaktiver Lernmodus zum Aufbau von Befähigungen136* **learning-output-style**: interaktiver Lernmodus zum Aufbau von Fähigkeiten

135 137 

136<h2 id="community-marketplace">138<h2 id="community-marketplace">

137 Community-Marktplatz139 Community-Marktplatz


237* **Git-URLs**: Beliebige Git-Repository-URL (GitLab, Bitbucket, selbstgehostet)239* **Git-URLs**: Beliebige Git-Repository-URL (GitLab, Bitbucket, selbstgehostet)

238* **Lokale Pfade**: Verzeichnisse oder direkte Pfade zu `marketplace.json`-Dateien240* **Lokale Pfade**: Verzeichnisse oder direkte Pfade zu `marketplace.json`-Dateien

239* **Remote-URLs**: Direkte URLs zu gehosteten `marketplace.json`-Dateien241* **Remote-URLs**: Direkte URLs zu gehosteten `marketplace.json`-Dateien

242* **claude.ai**: Marktplätze, die auf claude.ai für Ihr Konto gehostet werden, z. B. die Plugin-Bibliothek Ihrer Organisation, die Sie [nach Name auf der Registerkarte **Marktplätze** oder in Ihrer Shell hinzufügen](#add-from-claude-ai), anstatt nach Quelle

240 243 

241<h3 id="add-from-github">244<h3 id="add-from-github">

242 Hinzufügen von GitHub245 Hinzufügen von GitHub


314 URL-basierte Marktplätze haben einige Einschränkungen im Vergleich zu Git-basierten Marktplätzen. Wenn beim Installieren von Plugins Fehler auftreten, siehe [Fehlerbehebung](/docs/de/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).317 URL-basierte Marktplätze haben einige Einschränkungen im Vergleich zu Git-basierten Marktplätzen. Wenn beim Installieren von Plugins Fehler auftreten, siehe [Fehlerbehebung](/docs/de/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).

315</Note>318</Note>

316 319 

320<h3 id="add-from-claude-ai">

321 Hinzufügen von claude.ai

322</h3>

323 

324In Terminal-Sitzungen, in denen [Plugins von Ihrem claude.ai-Konto synchronisiert werden](/docs/de/plugins-reference#synced-plugins), kann claude.ai auch Marktplätze für Sie auflisten, z. B. die Plugin-Bibliothek Ihrer Organisation und Ihre eigenen claude.ai-Uploads. `claude plugin marketplace list` gibt sie in einem Abschnitt `From claude.ai:` aus, und die Registerkarte `/plugin` **Marktplätze** listet sie auf. Wählen Sie einen dort aus, um ihn hinzuzufügen. Das Hinzufügen eines Marktplatzes von claude.ai erfordert Claude Code v2.1.273 oder später.

325 

326Um einen von Ihrer Shell aus hinzuzufügen, führen Sie `claude plugin marketplace add` mit dem Flag `--claudeai` und dem in der Liste angezeigten Namen aus:

327 

328```bash theme={null}

329claude plugin marketplace add --claudeai claudeai-organization-library

330```

331 

332Claude Code registriert den Marktplatz unter einem lokalen Namen, der mit `claudeai-` beginnt und vom Namen abgeleitet ist, unter dem claude.ai ihn auflistet: Ein Marktplatz, der als „Organization library" aufgelistet ist, wird als `claudeai-organization-library` registriert. Installieren Sie seine Plugins unter diesem Namen, z. B. mit `claude plugin install <plugin>@claudeai-organization-library`.

333 

334Wenn Sie sich abmelden oder mit einem anderen Konto anmelden, bleibt der Marktplatz konfiguriert, zeigt aber keine Plugins an, und die Plugins, die Sie bereits von ihm installiert haben, werden weiterhin geladen.

335 

336Der Abschnitt `From claude.ai:` kann auch Git-basierte Marktplätze auflisten, die über claude.ai freigegeben werden. Sie fügen diese mit dem gewöhnlichen Befehl `marketplace add` hinzu und verwenden die Quelle, die die Liste ausgibt.

337 

317<h2 id="install-plugins">338<h2 id="install-plugins">

318 Installieren Sie Plugins339 Installieren Sie Plugins

319</h2>340</h2>

320 341 

321Nachdem Sie Marktplätze hinzugefügt haben, können Sie ein Plugin nach Name installieren:342Nachdem Sie Marktplätze hinzugefügt haben, können Sie ein Plugin nach Name installieren. Für einen Marktplatz, den Sie noch nicht hinzugefügt haben, können Sie stattdessen [ihn hinzufügen und in einem Befehl installieren](#add-a-marketplace-and-install-in-one-command).

343 

344Um nach Name zu installieren:

322 345 

323```shell theme={null}346```shell theme={null}

324/plugin install plugin-name@marketplace-name347/plugin install plugin-name@marketplace-name


360 Stellen Sie sicher, dass Sie einem Plugin vertrauen, bevor Sie es installieren. Anthropic kontrolliert nicht, welche MCP-Server, Dateien oder andere Software in Plugins enthalten sind, und kann nicht überprüfen, dass sie wie beabsichtigt funktionieren. Überprüfen Sie die Homepage jedes Plugins für weitere Informationen.383 Stellen Sie sicher, dass Sie einem Plugin vertrauen, bevor Sie es installieren. Anthropic kontrolliert nicht, welche MCP-Server, Dateien oder andere Software in Plugins enthalten sind, und kann nicht überprüfen, dass sie wie beabsichtigt funktionieren. Überprüfen Sie die Homepage jedes Plugins für weitere Informationen.

361</Warning>384</Warning>

362 385 

386<h3 id="add-a-marketplace-and-install-in-one-command">

387 Fügen Sie einen Marktplatz hinzu und installieren Sie in einem Befehl

388</h3>

389 

390Um ein Plugin von einem Marktplatz zu installieren, den Sie noch nicht hinzugefügt haben, benennen Sie die Marktplatzquelle mit `--marketplace`. Erfordert Claude Code v2.1.275 oder später.

391 

392```shell theme={null}

393/plugin install quality-review-plugin --marketplace your-org/plugins

394```

395 

396Die Quelle nimmt [die gleichen Formen wie `/plugin marketplace add`](#add-marketplaces) an, wie GitHub `owner/repo`, eine Git-URL oder einen lokalen Pfad, außer dass sie keine Leerzeichen enthalten kann. Geben Sie den Plugin-Namen ohne ein `@marketplace`-Suffix an.

397 

398Wenn Sie diesen Marktplatz noch nicht hinzugefügt haben, zeigt Claude Code die aufgelöste Quelle an und fragt Sie zur Bestätigung, bevor Sie ihn hinzufügen. Das Ablehnen bricht die Installation ab und fügt nichts hinzu. Sobald der Marktplatz hinzugefügt ist, öffnen sich die Plugin-Details und Sie wählen einen [Installationsbereich](/docs/de/settings#where-settings-live).

399 

363<h2 id="manage-installed-plugins">400<h2 id="manage-installed-plugins">

364 Verwalten Sie installierte Plugins401 Verwalten Sie installierte Plugins

365</h2>402</h2>


372* eingeben, um nach Plugin-Name oder Beschreibung zu filtern409* eingeben, um nach Plugin-Name oder Beschreibung zu filtern

373* Enter drücken, um die Detailansicht eines Plugins zu öffnen und es zu aktivieren, zu deaktivieren oder zu deinstallieren410* Enter drücken, um die Detailansicht eines Plugins zu öffnen und es zu aktivieren, zu deaktivieren oder zu deinstallieren

374 411 

412Claude Code listet auch die [Plugins auf, die von Ihrem claude.ai-Konto synchronisiert wurden](/docs/de/plugins-reference#synced-plugins) in der Registerkarte **Installed**, mit `synced` als ihrer Quelle. Sie können diese dort aktivieren oder deaktivieren, es sei denn, Ihre Organisation hat sie als erforderlich gekennzeichnet. Um eines zu entfernen, deaktivieren Sie es auf claude.ai. Synchronisierte Plugins erscheinen in Terminal-Sitzungen auf Claude Code v2.1.273 oder später.

413 

375Wenn Sie ein Plugin deinstallieren, das die `.claude/settings.json` eines Projekts aktiviert, fragt Claude Code, welchen Bereich Sie meinen: Deaktivieren Sie es nur für sich selbst, was einen Override in Ihre `.claude/settings.local.json` schreibt und das Plugin für das Projekt installiert lässt, oder deinstallieren Sie es für alle, was es aus der gemeinsamen `.claude/settings.json` entfernt.414Wenn Sie ein Plugin deinstallieren, das die `.claude/settings.json` eines Projekts aktiviert, fragt Claude Code, welchen Bereich Sie meinen: Deaktivieren Sie es nur für sich selbst, was einen Override in Ihre `.claude/settings.local.json` schreibt und das Plugin für das Projekt installiert lässt, oder deinstallieren Sie es für alle, was es aus der gemeinsamen `.claude/settings.json` entfernt.

376 415 

377Die Detailansicht zeigt die Komponenten, die das Plugin bereitstellt: Befehle, Skills, Agenten, Hooks, MCP-Server und LSP-Server. Das gleiche Inventar ist über die Befehlszeile mit `claude plugin details` verfügbar.416Die Detailansicht zeigt die Komponenten, die das Plugin bereitstellt: Befehle, Skills, Agenten, Hooks, MCP-Server und LSP-Server. Das gleiche Inventar ist über die Befehlszeile mit `claude plugin details` verfügbar.


444* Ein `claude plugin` Befehl, den Sie in einem anderen Terminal ausgeführt haben483* Ein `claude plugin` Befehl, den Sie in einem anderen Terminal ausgeführt haben

445* Bearbeitungen an einem Plugin, das Sie mit [`--plugin-dir`](/docs/de/plugins#test-your-plugins-locally) geladen haben, während Sie es entwickeln484* Bearbeitungen an einem Plugin, das Sie mit [`--plugin-dir`](/docs/de/plugins#test-your-plugins-locally) geladen haben, während Sie es entwickeln

446* Ein Plugin [Auto-Update](#configure-auto-updates), dessen Benachrichtigung Sie auffordert, neu zu laden485* Ein Plugin [Auto-Update](#configure-auto-updates), dessen Benachrichtigung Sie auffordert, neu zu laden

486* Eine [Synchronisierung von Ihrem claude.ai-Konto](/docs/de/plugins-reference#synced-plugins), die ein Plugin hinzugefügt, aktualisiert oder entfernt hat und eine Benachrichtigung angezeigt hat, die Sie auffordert, neu zu laden

447* Eine Änderung in einem [`--plugin-dir` Ordner](/docs/de/plugins#test-your-plugins-locally), die Claude Code hielt, weil das Anwenden den Prompt-Cache invalidieren würde487* Eine Änderung in einem [`--plugin-dir` Ordner](/docs/de/plugins#test-your-plugins-locally), die Claude Code hielt, weil das Anwenden den Prompt-Cache invalidieren würde

448 488 

449Vor v2.1.268 blieben Plugins, die Sie im Menü aktiviert, deaktiviert oder deinstalliert haben, und Installationen, die während der Installation nicht aktiviert wurden, ausstehend, bis Sie `/reload-plugins` ausgeführt haben.489Vor v2.1.268 blieben Plugins, die Sie im Menü aktiviert, deaktiviert oder deinstalliert haben, und Installationen, die während der Installation nicht aktiviert wurden, ausstehend, bis Sie `/reload-plugins` ausgeführt haben.


5213. Wählen Sie einen Marktplatz aus der Liste5613. Wählen Sie einen Marktplatz aus der Liste

5224. Wählen Sie **Enable auto-update** oder **Disable auto-update**5624. Wählen Sie **Enable auto-update** oder **Disable auto-update**

523 563 

524`claude-plugins-official` und die meisten anderen offiziellen Anthropic-Marktplätze haben die automatische Aktualisierung standardmäßig aktiviert. Marktplätze von Drittanbietern und lokale Entwicklungsmarktplätze haben die automatische Aktualisierung standardmäßig deaktiviert.564`claude-plugins-official`, die meisten anderen offiziellen Anthropic-Marktplätze und [Marktplätze, die von claude.ai hinzugefügt wurden](#add-from-claude-ai) haben die automatische Aktualisierung standardmäßig aktiviert. Marktplätze von Drittanbietern und lokale Entwicklungsmarktplätze haben die automatische Aktualisierung standardmäßig deaktiviert.

525 565 

526Administratoren können auch `"autoUpdate": true` für jeden [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces)-Eintrag in verwalteten Einstellungen festlegen, um die automatische Aktualisierung für einen Organisationsmarktplatz zu aktivieren, ohne dass jeder Benutzer diese umschalten muss.566Administratoren können auch `"autoUpdate": true` für jeden [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces)-Eintrag in verwalteten Einstellungen festlegen, um die automatische Aktualisierung für einen Organisationsmarktplatz zu aktivieren, ohne dass jeder Benutzer diese umschalten muss.

527 567 

env-vars.md +271 −262

Details

124 Variablen124 Variablen

125</h2>125</h2>

126 126 

127Numerische Variablen wie Timeouts, Token-Budgets und Wiederholungsanzahlen akzeptieren wissenschaftliche Notation und Zifferntrennzeichen zusätzlich zu einfachen Ziffern, außer wo in der Zeile einer Variablen vermerkt ist, dass sie nur einfache Ziffern akzeptiert. Zum Beispiel liest Claude Code `2e3` als 2000 und `64_000` als 64000. Vor v2.1.211 konnten diese Schreibweisen stillschweigend einen viel kleineren Wert setzen, wie `1e6` das Timeout auf 1 setzen.127Numerische Variablen wie Timeouts, Token-Budgets und Wiederholungsanzahlen akzeptieren wissenschaftliche Notation und Zifferntrennzeichen zusätzlich zu einfachen Ziffern, außer wo in der Zeile einer Variablen angegeben ist, dass sie nur einfache Ziffern akzeptiert. Zum Beispiel liest Claude Code `2e3` als 2000 und `64_000` als 64000. Vor v2.1.211 konnten diese Schreibweisen stillschweigend einen viel kleineren Wert setzen, wie `1e6` das Timeout auf 1 setzen.

128 128 

129<Note>129<Note>

130 Für Variablen, die ein Verhalten ein- oder ausschalten, setzen Sie `1` oder `true`, um es einzuschalten, und `0` oder `false`, um es auszuschalten, in beliebiger Schreibweise.130 Für Variablen, die ein Verhalten ein- oder ausschalten, setzen Sie `1` oder `true`, um es einzuschalten, und `0` oder `false`, um es auszuschalten, in beliebiger Schreibweise.

131 131 

132 Einige Variablen lesen nur, ob Sie sie überhaupt gesetzt haben, daher schaltet jeder nicht-leere Wert einschließlich `0` das Verhalten ein, und Sie schalten das Verhalten aus, indem Sie die Variable nicht setzen oder auf einen leeren Wert setzen. Diese Variablen funktionieren so:132 Einige Variablen lesen nur, ob Sie sie überhaupt setzen, daher schaltet jeder nicht-leere Wert einschließlich `0` das Verhalten ein, und Sie schalten das Verhalten aus, indem Sie die Variable nicht setzen oder auf einen leeren Wert setzen. Diese Variablen funktionieren so:

133 133 

134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

135 * `DISABLE_TELEMETRY`135 * `DISABLE_TELEMETRY`


142</Note>142</Note>

143 143 

144| Variable | Zweck |144| Variable | Zweck |

145| :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |145| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

146| `ANTHROPIC_API_KEY` | API-Schlüssel, der als `X-Api-Key`-Header gesendet wird. Wenn gesetzt, wird dieser Schlüssel statt Ihres Claude Pro-, Max-, Team- oder Enterprise-Abonnements verwendet, auch wenn Sie angemeldet sind. Im nicht-interaktiven Modus (`-p`) wird der Schlüssel immer verwendet, wenn er vorhanden ist. Im interaktiven Modus werden Sie aufgefordert, den Schlüssel einmal zu genehmigen, bevor er Ihr Abonnement überschreibt. Um stattdessen Ihr Abonnement zu verwenden, führen Sie `unset ANTHROPIC_API_KEY` aus |146| `ANTHROPIC_API_KEY` | API-Schlüssel, der als `X-Api-Key`-Header gesendet wird. Wenn gesetzt, wird dieser Schlüssel anstelle Ihres Claude Pro-, Max-, Team- oder Enterprise-Abonnements verwendet, auch wenn Sie angemeldet sind. Im nicht-interaktiven Modus (`-p`) wird der Schlüssel immer verwendet, wenn er vorhanden ist. Im interaktiven Modus werden Sie aufgefordert, den Schlüssel einmalig zu genehmigen, bevor er Ihr Abonnement überschreibt. Um stattdessen Ihr Abonnement zu verwenden, führen Sie `unset ANTHROPIC_API_KEY` aus |

147| `ANTHROPIC_AUTH_TOKEN` | Benutzerdefinierter Wert für den `Authorization`-Header (der Wert, den Sie hier setzen, wird mit `Bearer ` vorangestellt) |147| `ANTHROPIC_AUTH_TOKEN` | Benutzerdefinierter Wert für den `Authorization`-Header (der Wert, den Sie hier setzen, wird mit `Bearer ` vorangestellt) |

148| `ANTHROPIC_AWS_API_KEY` | Workspace-API-Schlüssel für [Claude Platform on AWS](/docs/de/claude-platform-on-aws), generiert in der AWS-Konsole. Wird als `x-api-key` gesendet und hat Vorrang vor AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | Workspace-API-Schlüssel für [Claude Platform on AWS](/docs/de/claude-platform-on-aws), generiert in der AWS-Konsole. Wird als `x-api-key` gesendet und hat Vorrang vor AWS SigV4 |

149| `ANTHROPIC_AWS_BASE_URL` | Überschreiben Sie die [Claude Platform on AWS](/docs/de/claude-platform-on-aws) Endpunkt-URL. Verwenden Sie für benutzerdefinierte Regionen oder beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway). Standard ist `https://aws-external-anthropic.{region}.api.aws`. Claude Code löst die Region mit der [gleichen Priorität wie auf Amazon Bedrock](/docs/de/amazon-bedrock#3-configure-claude-code) auf |149| `ANTHROPIC_AWS_BASE_URL` | Überschreiben Sie die [Claude Platform on AWS](/docs/de/claude-platform-on-aws)-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Regionen oder beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway). Standardmäßig `https://aws-external-anthropic.{region}.api.aws`. Claude Code löst die Region mit der [gleichen Priorität wie auf Amazon Bedrock](/docs/de/amazon-bedrock#3-configure-claude-code) auf |

150| `ANTHROPIC_AWS_WORKSPACE_ID` | Erforderlich für [Claude Platform on AWS](/docs/de/claude-platform-on-aws). Wird bei jeder Anfrage als `anthropic-workspace-id`-Header gesendet |150| `ANTHROPIC_AWS_WORKSPACE_ID` | Erforderlich für [Claude Platform on AWS](/docs/de/claude-platform-on-aws). Wird bei jeder Anfrage als `anthropic-workspace-id`-Header gesendet |

151| `ANTHROPIC_BASE_URL` | Überschreiben Sie den API-Endpunkt, um Anfragen durch einen Proxy oder ein Gateway zu leiten. Wenn auf einen Host eines Drittanbieters gesetzt, ist [MCP-Toolsuche](/docs/de/mcp#scale-with-mcp-tool-search) standardmäßig deaktiviert. Setzen Sie `ENABLE_TOOL_SEARCH=true`, wenn Ihr Proxy `tool_reference`-Blöcke weiterleitet. Ab v2.1.196 ist [Remote Control](/docs/de/remote-control#requirements) deaktiviert, wenn dies auf einen anderen Host als `api.anthropic.com` zeigt, was seinem Verhalten auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry entspricht |151| `ANTHROPIC_BASE_URL` | Überschreiben Sie den API-Endpunkt, um Anfragen durch einen Proxy oder ein Gateway zu leiten. Wenn auf einen Nicht-First-Party-Host gesetzt, ist [MCP-Tool-Suche](/docs/de/mcp#scale-with-mcp-tool-search) standardmäßig deaktiviert. Setzen Sie `ENABLE_TOOL_SEARCH=true`, wenn Ihr Proxy `tool_reference`-Blöcke weiterleitet. Ab v2.1.196 ist [Remote Control](/docs/de/remote-control#requirements) deaktiviert, wenn dies auf einen anderen Host als `api.anthropic.com` verweist, was seinem Verhalten auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry entspricht |

152| `ANTHROPIC_BEDROCK_BASE_URL` | Überschreiben Sie die Amazon Bedrock Endpunkt-URL. Verwenden Sie für benutzerdefinierte Amazon Bedrock Endpunkte oder beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway). Siehe [Amazon Bedrock](/docs/de/amazon-bedrock) |152| `ANTHROPIC_BEDROCK_BASE_URL` | Überschreiben Sie die Amazon Bedrock-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Amazon Bedrock-Endpunkte oder beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway). Siehe [Amazon Bedrock](/docs/de/amazon-bedrock) |

153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Überschreiben Sie die Amazon Bedrock Mantle Endpunkt-URL. Siehe [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint) |153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Überschreiben Sie die Amazon Bedrock Mantle-Endpunkt-URL. Siehe [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint) |

154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Präfix für regionsübergreifendes Inferenzprofil (`us`, `eu`, `apac`, `jp`, `au` oder `global`), das Claude Code zuerst versucht, anstelle des aus der AWS-Region abgeleiteten. Wird in AWS GovCloud-Regionen ignoriert. Erfordert Claude Code v2.1.224 oder später. Siehe [Amazon Bedrock](/docs/de/amazon-bedrock#cross-region-inference-profile-prefixes) |154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Präfix für regionsübergreifendes Inferenzprofil (`us`, `eu`, `apac`, `jp`, `au` oder `global`), das Claude Code zuerst versucht, anstelle des aus der AWS-Region abgeleiteten. Wird in AWS GovCloud-Regionen ignoriert. Erfordert Claude Code v2.1.224 oder später. Siehe [Amazon Bedrock](/docs/de/amazon-bedrock#cross-region-inference-profile-prefixes) |

155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [Service-Tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` oder `priority`). Wird als `X-Amzn-Bedrock-Service-Tier`-Header gesendet. Siehe [Amazon Bedrock](/docs/de/amazon-bedrock#service-tiers) |155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [Service-Tier](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` oder `priority`). Wird als `X-Amzn-Bedrock-Service-Tier`-Header gesendet. Siehe [Amazon Bedrock](/docs/de/amazon-bedrock#service-tiers) |

156| `ANTHROPIC_BETAS` | Kommagetrennte Liste zusätzlicher `anthropic-beta`-Header-Werte, die in API-Anfragen einzubeziehen sind. Claude Code sendet bereits die Beta-Header, die es benötigt; verwenden Sie dies, um sich in ein [Anthropic API Beta](https://platform.claude.com/docs/en/api/beta-headers) anzumelden, bevor Claude Code native Unterstützung hinzufügt. Im Gegensatz zum [`--betas`-Flag](/docs/de/cli-reference#cli-flags), das API-Schlüssel-Authentifizierung erfordert, funktioniert diese Variable mit allen Authentifizierungsmethoden einschließlich Claude.ai-Abonnement |156| `ANTHROPIC_BETAS` | Komma-getrennte Liste zusätzlicher `anthropic-beta`-Header-Werte, die in API-Anfragen eingebunden werden sollen. Claude Code sendet bereits die Beta-Header, die es benötigt; verwenden Sie dies, um sich für ein [Anthropic API Beta](https://platform.claude.com/docs/en/api/beta-headers) anzumelden, bevor Claude Code native Unterstützung hinzufügt. Im Gegensatz zur [`--betas`-Flag](/docs/de/cli-reference#cli-flags), die API-Schlüssel-Authentifizierung erfordert, funktioniert diese Variable mit allen Authentifizierungsmethoden einschließlich Claude.ai-Abonnement |

157| `ANTHROPIC_CUSTOM_HEADERS` | Benutzerdefinierte Header, die zu Anfragen hinzugefügt werden (Format `Name: Value`, zeilengetrennt für mehrere Header). Wenn ein Name oder Wert ein Zeichen enthält, das ein HTTP-Header nicht tragen kann, wie ein gekrümmtes Anführungszeichen oder ein Leerzeichen mit Nullbreite, schlägt die Anfrage mit einem Fehler fehl, der das Paar nach Position identifiziert. Erfordert Claude Code v2.1.227 oder später. [Ungültiger Request-Header-Wert](/docs/de/errors#invalid-request-header-value) listet den genauen Zeichensatz auf und wo die Überprüfung läuft. Ein Wert, der einen Credential-, Org- oder Tenant-, Routing- oder API-Verhaltens-Header setzt, wie `Authorization` oder `Host`, zählt als [Einstellung, die Genehmigung benötigt](/docs/de/server-managed-settings#environment-variables-and-the-approval-dialog), wenn Server-verwaltete Einstellungen ihn liefern. Aus Projekt- oder lokalen Einstellungen folgt ein solcher Wert den [Regeln für wann `env`-Werte gelten](/docs/de/settings-reference#when-claude-code-applies-env-values) |157| `ANTHROPIC_CUSTOM_HEADERS` | Benutzerdefinierte Header, die zu Anfragen hinzugefügt werden sollen (`Name: Value`-Format, zeilengetrennt für mehrere Header). Wenn ein Name oder Wert ein Zeichen enthält, das ein HTTP-Header nicht tragen kann, wie ein gekrümmtes Anführungszeichen oder ein Leerzeichen mit Nullbreite, schlägt die Anfrage mit einem Fehler fehl, der das Paar nach Position identifiziert. Erfordert Claude Code v2.1.227 oder später. [Ungültiger Request-Header-Wert](/docs/de/errors#invalid-request-header-value) listet den genauen Zeichensatz auf und wo die Überprüfung läuft. Ein Wert, der einen Credential-, Org- oder Tenant-, Routing- oder API-Verhaltens-Header setzt, wie `Authorization` oder `Host`, zählt als [Einstellung, die Genehmigung benötigt](/docs/de/server-managed-settings#environment-variables-and-the-approval-dialog), wenn Server-verwaltete Einstellungen sie liefern. Aus Projekt- oder lokalen Einstellungen folgt ein solcher Wert den [Regeln für wann `env`-Werte gelten](/docs/de/settings-reference#when-claude-code-applies-env-values) |

158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | Modell-ID, die als benutzerdefinierter Eintrag in der `/model`-Auswahl hinzugefügt wird. Verwenden Sie dies, um ein nicht-standardisiertes oder Gateway-spezifisches Modell auswählbar zu machen, ohne integrierte Aliase zu ersetzen. Siehe [Modellkonfiguration](/docs/de/model-config#add-a-custom-model-option) |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | Modell-ID, die als benutzerdefinierter Eintrag in der `/model`-Auswahl hinzugefügt werden soll. Verwenden Sie dies, um ein nicht-standardisiertes oder Gateway-spezifisches Modell auswählbar zu machen, ohne integrierte Aliase zu ersetzen. Siehe [Modellkonfiguration](/docs/de/model-config#add-a-custom-model-option) |

159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Anzeige-Beschreibung für den benutzerdefinierten Modell-Eintrag in der `/model`-Auswahl. Standard ist `Custom model (<model-id>)`, wenn nicht gesetzt |159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Anzeigebeschreibung für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Standardmäßig `Custom model (<model-id>)`, wenn nicht gesetzt |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Anzeige-Name für den benutzerdefinierten Modell-Eintrag in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt der Eintrag den Namen des Modells, wenn Claude Code die [ID erkennt](/docs/de/model-config#customize-pinned-model-display-and-capabilities), und die Modell-ID andernfalls |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Anzeigename für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt der Eintrag den Namen des Modells an, wenn Claude Code die [ID erkennt](/docs/de/model-config#customize-pinned-model-display-and-capabilities), und die Modell-ID andernfalls |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das benutzerdefinierte Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das benutzerdefinierte Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Modell-ID, zu der der `fable`-Alias aufgelöst wird, und die ID, die Claude Code als Fable-Modell für [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) bei Drittanbieter-Providern erkennt. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Modell-ID, zu der der `fable`-Alias aufgelöst wird, und die ID, die Claude Code als Fable-Modell für [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) bei Drittanbieter-Providern erkennt. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |

163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Anzeige-Beschreibung für das angeheftete Fable-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standard-Beschreibung, die mit `Custom Fable model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Anzeigebeschreibung für das angeheftete Fable-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Fable model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Anzeige-Name für das angeheftete Fable-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Anzeigename für das angeheftete Fable-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells an, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Fable-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Fable-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Modell-ID, zu der der `haiku`-Alias aufgelöst wird, auch verwendet für [Hintergrund-Funktionalität](/docs/de/costs#background-token-usage). Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Modell-ID, zu der der `haiku`-Alias aufgelöst wird, auch verwendet für [Hintergrundfunktionalität](/docs/de/costs#background-token-usage). Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |

167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Anzeige-Beschreibung für das angeheftete Haiku-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standard-Beschreibung, die mit `Custom Haiku model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Anzeigebeschreibung für das angeheftete Haiku-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Haiku model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Anzeige-Name für das angeheftete Haiku-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Anzeigename für das angeheftete Haiku-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells an, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Haiku-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Haiku-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_MODEL` | Modell, auf dem neue Sitzungen standardmäßig starten. Erfordert Claude Code v2.1.236 oder später. Siehe [Standardmodell für neue Sitzungen festlegen](/docs/de/model-config#set-a-default-model-for-new-sessions) |170| `ANTHROPIC_DEFAULT_MODEL` | Modell, auf dem neue Sitzungen standardmäßig starten. Erfordert Claude Code v2.1.236 oder später. Siehe [Standardmodell für neue Sitzungen festlegen](/docs/de/model-config#set-a-default-model-for-new-sessions) |

171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Modell-ID, zu der der `opus`-Alias aufgelöst wird, und die `opusplan` verwendet, während Plan Mode aktiv ist. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Modell-ID, zu der der `opus`-Alias aufgelöst wird, und die `opusplan` verwendet, während Plan Mode aktiv ist. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |

172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Anzeige-Beschreibung für das angeheftete Opus-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standard-Beschreibung, die mit `Custom Opus model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Anzeigebeschreibung für das angeheftete Opus-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Opus model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Anzeige-Name für das angeheftete Opus-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Anzeigename für das angeheftete Opus-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells an, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Opus-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Opus-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Modell-ID, zu der der `sonnet`-Alias aufgelöst wird, und die `opusplan` verwendet, wenn Plan Mode nicht aktiv ist. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Modell-ID, zu der der `sonnet`-Alias aufgelöst wird, und die `opusplan` verwendet, wenn Plan Mode nicht aktiv ist. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |

176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Anzeige-Beschreibung für das angeheftete Sonnet-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standard-Beschreibung, die mit `Custom Sonnet model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Anzeigebeschreibung für das angeheftete Sonnet-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Sonnet model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Anzeige-Name für das angeheftete Sonnet-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Anzeigename für das angeheftete Sonnet-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells an, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Sonnet-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Sonnet-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_FEDERATION_RULE_ID` | Verbund-Regel-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Wenn Sie sie zusammen mit `ANTHROPIC_ORGANIZATION_ID` setzen, wählt Claude Code Verbund-Anmeldedaten, die über Ihre `/login`-Anmeldedaten rangieren. Siehe [Authentifizierungs-Priorität](/docs/de/authentication#authentication-precedence) |179| `ANTHROPIC_FEDERATION_RULE_ID` | Föderations-Regel-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Wenn Sie sie zusammen mit `ANTHROPIC_ORGANIZATION_ID` setzen, wählt Claude Code Föderations-Credentials aus, die über Ihrem `/login`-Credential rangieren. Siehe [Authentifizierungspriorität](/docs/de/authentication#authentication-precedence) |

180| `ANTHROPIC_FOUNDRY_API_KEY` | API-Schlüssel für Microsoft Foundry-Authentifizierung (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |180| `ANTHROPIC_FOUNDRY_API_KEY` | API-Schlüssel für Microsoft Foundry-Authentifizierung (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |

181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Bearer-Token für Microsoft Foundry-Authentifizierung, wie ein Microsoft Entra-Zugriffstoken. Claude Code sendet es als `Authorization: Bearer`-Header. Hat Vorrang vor `ANTHROPIC_FOUNDRY_API_KEY` und vor der Azure-Standard-Anmeldedaten-Kette. Siehe [Microsoft Foundry](/docs/de/microsoft-foundry). Erfordert Claude Code v2.1.203 oder später |181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Bearer-Token für Microsoft Foundry-Authentifizierung, wie ein Microsoft Entra-Zugriffstoken. Claude Code sendet es als `Authorization: Bearer`-Header. Hat Vorrang vor `ANTHROPIC_FOUNDRY_API_KEY` und vor der Azure-Standard-Credential-Kette. Siehe [Microsoft Foundry](/docs/de/microsoft-foundry). Erfordert Claude Code v2.1.203 oder später |

182| `ANTHROPIC_FOUNDRY_BASE_URL` | Vollständige Basis-URL für die Microsoft Foundry-Ressource (zum Beispiel `https://my-resource.services.ai.azure.com/anthropic`). Alternative zu `ANTHROPIC_FOUNDRY_RESOURCE` (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |182| `ANTHROPIC_FOUNDRY_BASE_URL` | Vollständige Basis-URL für die Microsoft Foundry-Ressource (zum Beispiel `https://my-resource.services.ai.azure.com/anthropic`). Alternative zu `ANTHROPIC_FOUNDRY_RESOURCE` (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry-Ressourcenname (zum Beispiel `my-resource`). Erforderlich, wenn `ANTHROPIC_FOUNDRY_BASE_URL` nicht gesetzt ist (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |183| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry-Ressourcenname (zum Beispiel `my-resource`). Erforderlich, wenn `ANTHROPIC_FOUNDRY_BASE_URL` nicht gesetzt ist (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |

184| `ANTHROPIC_MODEL` | Name der zu verwendenden Modell-Einstellung (siehe [Modellkonfiguration](/docs/de/model-config#environment-variables)) |184| `ANTHROPIC_MODEL` | Name der zu verwendenden Modelleinstellung (siehe [Modellkonfiguration](/docs/de/model-config#environment-variables)) |

185| `ANTHROPIC_ORGANIZATION_ID` | Organisations-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie sie zusammen mit `ANTHROPIC_FEDERATION_RULE_ID`. Siehe [Authentifizierungs-Priorität](/docs/de/authentication#authentication-precedence) |185| `ANTHROPIC_ORGANIZATION_ID` | Organisations-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie sie zusammen mit `ANTHROPIC_FEDERATION_RULE_ID`. Siehe [Authentifizierungspriorität](/docs/de/authentication#authentication-precedence) |

186| `ANTHROPIC_PROFILE` | Name des Anthropic-Profils, mit dem authentifiziert werden soll, wie eines, das von [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) erstellt wurde, oder durch [Anmeldung bei einem Console-Konto ohne API-Schlüssel](/docs/de/authentication#sign-in-without-an-api-key). Siehe [Authentifizierungs-Priorität](/docs/de/authentication#authentication-precedence) |186| `ANTHROPIC_PROFILE` | Name des Anthropic-Profils, mit dem authentifiziert werden soll, wie eines, das von [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) erstellt wurde, oder durch [Anmeldung bei einem Console-Konto ohne API-Schlüssel](/docs/de/authentication#sign-in-without-an-api-key). Siehe [Authentifizierungspriorität](/docs/de/authentication#authentication-precedence) |

187| `ANTHROPIC_SMALL_FAST_MODEL` | \[VERALTET] Name des [Haiku-Klasse-Modells für Hintergrund-Aufgaben](/docs/de/costs) |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[VERALTET] Name des [Haiku-Klasse-Modells für Hintergrundaufgaben](/docs/de/costs) |

188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Überschreiben Sie die AWS-Region für das Haiku-Klasse-Modell bei Verwendung von Amazon Bedrock oder Amazon Bedrock Mantle. Bei Amazon Bedrock hat dies nur Auswirkungen, wenn `ANTHROPIC_DEFAULT_HAIKU_MODEL` oder das veraltete `ANTHROPIC_SMALL_FAST_MODEL` auch gesetzt ist, da Amazon Bedrock andernfalls Hintergrund-Aufgaben auf dem [Standard-Sonnet-Modell oder dem primären Modell](/docs/de/amazon-bedrock#4-pin-model-versions) in der Sitzungs-Region ausführt |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Überschreiben Sie die AWS-Region für das Haiku-Klasse-Modell bei Verwendung von Amazon Bedrock oder Amazon Bedrock Mantle. Bei Amazon Bedrock hat dies nur Auswirkungen, wenn `ANTHROPIC_DEFAULT_HAIKU_MODEL` oder das veraltete `ANTHROPIC_SMALL_FAST_MODEL` auch gesetzt ist, da Amazon Bedrock andernfalls Hintergrundaufgaben auf dem [Standard-Sonnet-Modell oder dem primären Modell](/docs/de/amazon-bedrock#4-pin-model-versions) in der Sitzungsregion ausführt |

189| `ANTHROPIC_VERTEX_BASE_URL` | Überschreiben Sie die Google Cloud's Agent Platform Endpunkt-URL. Verwenden Sie für benutzerdefinierte Google Cloud's Agent Platform Endpunkte oder beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway). Siehe [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | Überschreiben Sie die Google Cloud's Agent Platform-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Google Cloud's Agent Platform-Endpunkte oder beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway). Siehe [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) |

190| `ANTHROPIC_VERTEX_PROJECT_ID` | GCP-Projekt-ID für Google Cloud's Agent Platform Anfragen. Siehe [GCP-Anmeldedaten konfigurieren](/docs/de/google-vertex-ai#3-configure-gcp-credentials) |190| `ANTHROPIC_VERTEX_PROJECT_ID` | GCP-Projekt-ID, an die Google Cloud's Agent Platform-Anfragen adressiert werden. Siehe [GCP-Credentials konfigurieren](/docs/de/google-vertex-ai#3-configure-gcp-credentials) |

191| `ANTHROPIC_WORKSPACE_ID` | Workspace-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie dies, wenn Ihre Verbund-Regel auf mehr als einen Workspace begrenzt ist, damit der Token-Austausch weiß, welcher Workspace das Ziel ist |191| `ANTHROPIC_WORKSPACE_ID` | Workspace-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie dies, wenn Ihre Föderations-Regel auf mehr als einen Workspace begrenzt ist, damit der Token-Austausch weiß, welcher Workspace das Ziel ist |

192| `API_FORCE_IDLE_TIMEOUT` | Überschreiben Sie das 5-Minuten-Body-Idle-Timeout, das eine Streaming-Modell-Antwort abbricht, wenn keine Bytes ankommen. Setzen Sie auf `0`, um das Timeout auszuschalten, zum Beispiel wenn ein langsames [Gateway](/docs/de/llm-gateway) oder lokales Modell länger als 5 Minuten zwischen Chunks pausiert, oder `1`, um es für jeden Provider einzuschalten. Wenn nicht gesetzt, ist das Timeout bei Providern außer der direkten Anthropic API und [Claude Platform on AWS](/docs/de/claude-platform-on-aws) aktiv. Die [Stream-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) laufen unabhängig davon und brechen eine lange stille Pause ab, auch wenn Sie hier `0` setzen |192| `API_FORCE_IDLE_TIMEOUT` | Überschreiben Sie das 5-Minuten-Body-Idle-Timeout, das eine Streaming-Modell-Antwort abbricht, wenn keine Bytes ankommen. Setzen Sie auf `0`, um das Timeout auszuschalten, zum Beispiel wenn ein langsames [Gateway](/docs/de/llm-gateway) oder lokales Modell länger als 5 Minuten zwischen Chunks pausiert, oder `1`, um es für jeden Provider zu behalten. Wenn nicht gesetzt, ist das Timeout bei Providern außer der direkten Anthropic API und [Claude Platform on AWS](/docs/de/claude-platform-on-aws) aktiv. Die [Stream-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) laufen unabhängig davon und brechen eine lange stille Pause ab, auch wenn Sie hier `0` setzen |

193| `API_TIMEOUT_MS` | Timeout für API-Anfragen in Millisekunden (Standard: 600000 oder 10 Minuten; Maximum: 2147483647). Erhöhen Sie dies, wenn Anfragen bei langsamen Netzwerken oder beim Routing durch einen Proxy timeout. Werte über dem Maximum führen zu Überläufen des zugrunde liegenden Timers und verursachen, dass Anfragen sofort fehlschlagen |193| `API_TIMEOUT_MS` | Timeout für API-Anfragen in Millisekunden (Standard: 600000 oder 10 Minuten; Maximum: 2147483647). Erhöhen Sie dies, wenn Anfragen bei langsamen Netzwerken oder beim Routing durch einen Proxy timeout. Werte über dem Maximum führen zu Überläufen des zugrunde liegenden Timers und verursachen sofortige Anfragefehler |

194| `AWS_BEARER_TOKEN_BEDROCK` | Amazon Bedrock API-Schlüssel für Authentifizierung (siehe [Amazon Bedrock API-Schlüssel](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |194| `AWS_BEARER_TOKEN_BEDROCK` | Amazon Bedrock API-Schlüssel für Authentifizierung (siehe [Amazon Bedrock API-Schlüssel](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

195| `BASH_DEFAULT_TIMEOUT_MS` | Standard-Timeout für lang laufende Bash-Befehle (Standard: 120000 oder 2 Minuten) |195| `BASH_DEFAULT_TIMEOUT_MS` | Standard-Timeout für lang laufende Bash-Befehle (Standard: 120000 oder 2 Minuten) |

196| `BASH_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen der Bash-Ausgabe, die Claude Code in das Ergebnis eines Befehls zurückliest (Standard: 30000; Maximum: 150000). Wenn Sie die [`bashOutputMaxChars`](/docs/de/settings-reference#bashoutputmaxchars)-Einstellung setzen, ignoriert Claude Code diese Variable. Siehe [Ausgabe-Limits](/docs/de/tools-reference#output-limits) |196| `BASH_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen der Bash-Ausgabe, die Claude Code in das Ergebnis eines Befehls zurückliest (Standard: 30000; Maximum: 150000). Wenn Sie die [`bashOutputMaxChars`](/docs/de/settings-reference#bashoutputmaxchars)-Einstellung setzen, ignoriert Claude Code diese Variable. Siehe [Ausgabebegrenzungen](/docs/de/tools-reference#output-limits) |

197| `BASH_MAX_TIMEOUT_MS` | Maximales Timeout, das das Modell für lang laufende Bash-Befehle setzen kann (Standard: 600000 oder 10 Minuten). Die effektive Obergrenze ist die größere von dieser und `BASH_DEFAULT_TIMEOUT_MS` |197| `BASH_MAX_TIMEOUT_MS` | Maximales Timeout, das das Modell für lang laufende Bash-Befehle setzen kann (Standard: 600000 oder 10 Minuten). Die effektive Obergrenze ist die größere von dieser und `BASH_DEFAULT_TIMEOUT_MS` |

198| `BETA_TRACING_ENDPOINT` | OTLP-Endpunkt für [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta): mit `ENABLE_BETA_TRACING_DETAILED=1` gehen Logs und Traces dorthin statt zu den konfigurierten Exportern. Setzen Sie es in Ihrer Shell, Benutzer-Einstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |198| `BETA_TRACING_ENDPOINT` | OTLP-Endpunkt für [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta): mit `ENABLE_BETA_TRACING_DETAILED=1` gehen Logs und Traces dorthin anstatt zu den konfigurierten Exportern. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |

199| `CCR_FORCE_BUNDLE` | Setzen Sie auf `1`, um [`claude --cloud`](/docs/de/claude-code-on-the-web#send-local-repositories-without-github) zu zwingen, Ihr lokales Repository zu bündeln und hochzuladen, anstatt es von seinem Remote zu klonen |199| `CCR_FORCE_BUNDLE` | Setzen Sie auf `1`, um [`claude --cloud`](/docs/de/claude-code-on-the-web#send-local-repositories-without-github) zu zwingen, Ihr lokales Repository zu bündeln und hochzuladen, anstatt es von seinem Remote zu klonen |

200| `CLAUDECODE` | Setzen Sie auf `1` in Subprozessen, die Claude Code spawnt (Bash- und PowerShell-Tools, Tmux-Sitzungen, [Hook](/docs/de/hooks)-Befehle, [Status-Zeile](/docs/de/statusline)-Befehle, Stdio-[MCP-Server](/docs/de/mcp)-Subprozesse). IDE-Erweiterungen setzen dies auch in ihren integrierten Terminals. Verwenden Sie, um zu erkennen, wenn ein Skript in einem Subprocess läuft, der von Claude Code spawnt wurde. Um zu überprüfen, ob der aktuelle Prozess direkt von einem Tool-Aufruf oder Hook spawnt wurde, anstatt in einem Stdio-MCP-Server, den Claude Code gestartet hat, verwenden Sie stattdessen `CLAUDE_CODE_CHILD_SESSION` |200| `CLAUDECODE` | Setzen Sie auf `1` in Subprozessen, die Claude Code spawnt (Bash- und PowerShell-Tools, Tmux-Sitzungen, [Hook](/docs/de/hooks)-Befehle, [Status-Zeile](/docs/de/statusline)-Befehle, Stdio-[MCP-Server](/docs/de/mcp)-Subprozesse). IDE-Erweiterungen setzen dies auch in ihren integrierten Terminals. Verwenden Sie, um zu erkennen, wenn ein Skript in einem Subprocess läuft, der von Claude Code spawnt wurde. Um zu überprüfen, ob der aktuelle Prozess direkt von einem Tool-Aufruf oder Hook spawnt wurde, anstatt in einem Stdio-MCP-Server, den Claude Code gestartet hat, verwenden Sie stattdessen `CLAUDE_CODE_CHILD_SESSION` |

201| `CLAUDE_AFK_COUNTDOWN_MS` | Wie viele Millisekunden vor Auto-Fortsetzen der Countdown auf dem Bildschirm auf einem unbeantworteten [`AskUserQuestion`](/docs/de/tools-reference)-Dialog erscheint. Standard `20000` (20 Sekunden), begrenzt durch das Auto-Fortsetzen-Timeout. Hat keine Auswirkung, wenn Auto-Fortsetzen nicht eingeschaltet ist; siehe die [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout)-Einstellung und `CLAUDE_AFK_TIMEOUT_MS`. Erfordert Claude Code v2.1.198 oder später |201| `CLAUDE_AFK_COUNTDOWN_MS` | Wie viele Millisekunden vor Auto-Continue der Countdown auf dem Bildschirm auf einem unbeantworteten [`AskUserQuestion`](/docs/de/tools-reference)-Dialog erscheint. Standard `20000` (20 Sekunden), begrenzt durch das Auto-Continue-Timeout. Hat keine Auswirkung, wenn Auto-Continue nicht aktiviert ist; siehe die [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout)-Einstellung und `CLAUDE_AFK_TIMEOUT_MS`. Erfordert Claude Code v2.1.198 oder später |

202| `CLAUDE_AFK_TIMEOUT_MS` | Wie viele Millisekunden Leerlaufzeit vor einem unbeantworteten [`AskUserQuestion`](/docs/de/tools-reference)-Dialog Auto-Fortsetzen ohne Sie. Auto-Fortsetzen ist standardmäßig aus; aktivieren Sie es mit der [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout)-Einstellung. Diese Variable ist ein Override für Demos und automatisierte Tests: wenn gesetzt, hat sie Vorrang vor dieser Einstellung und schaltet Auto-Fortsetzen ein, auch wenn die Einstellung nicht gesetzt oder `never` ist. Das Setzen von `0` schaltet das Timeout nicht aus; es schließt den Dialog sofort. In v2.1.198 und v2.1.199 war Auto-Fortsetzen standardmäßig mit einem `60000` (60 Sekunden) Timeout eingeschaltet. Erfordert Claude Code v2.1.198 oder später |202| `CLAUDE_AFK_TIMEOUT_MS` | Wie viele Millisekunden Leerlaufzeit vor einem unbeantworteten [`AskUserQuestion`](/docs/de/tools-reference)-Dialog Auto-Continue ohne Sie. Auto-Continue ist standardmäßig aus; aktivieren Sie es mit der [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout)-Einstellung. Diese Variable ist ein Override für Demos und automatisierte Tests: wenn gesetzt, hat sie Vorrang vor dieser Einstellung und schaltet Auto-Continue ein, auch wenn die Einstellung nicht gesetzt oder `never` ist. Das Setzen von `0` schaltet das Timeout nicht aus; es schließt den Dialog sofort. In v2.1.198 und v2.1.199 war Auto-Continue standardmäßig mit einem `60000` (60 Sekunden) Timeout aktiviert. Erfordert Claude Code v2.1.198 oder später |

203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Setzen Sie auf `1`, um alle integrierten [Subagent](/docs/de/sub-agents)-Typen wie Explore und Plan zu deaktivieren. Gilt nur im nicht-interaktiven Modus (das `-p`-Flag). Nützlich für SDK-Benutzer, die eine leere Tafel wünschen. Dies entfernt auch `general-purpose`, den Subagent, den Claude Code ausführt, wenn ein Agent-Tool-Aufruf `subagent_type` auslässt. Ein solcher Aufruf schlägt dann mit [`subagent_type is required`](/docs/de/errors#subagent-type-is-required) fehl |203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Setzen Sie auf `1`, um alle integrierten [Subagent](/docs/de/sub-agents)-Typen wie Explore und Plan zu deaktivieren. Gilt nur im nicht-interaktiven Modus (die `-p`-Flag). Nützlich für SDK-Benutzer, die eine leere Tafel wünschen. Dies entfernt auch `general-purpose`, den Subagent, den Claude Code ausführt, wenn ein Agent-Tool-Aufruf `subagent_type` auslässt. Ein solcher Aufruf schlägt dann mit [`subagent_type is required`](/docs/de/errors#subagent-type-is-required) fehl |

204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Setzen Sie auf `1`, um das `mcp__<server>__`-Präfix bei Tool-Namen von SDK-erstellten MCP-Servern zu überspringen. Tools verwenden ihre ursprünglichen Namen. Nur SDK-Verwendung |204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Setzen Sie auf `1`, um das `mcp__<server>__`-Präfix bei Tool-Namen von SDK-erstellten MCP-Servern zu überspringen. Tools verwenden ihre ursprünglichen Namen. Nur SDK-Verwendung |

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Stall-Timeout in Millisekunden für Subagents. Standard `600000` (10 Minuten); wenn Sie `CLAUDE_STREAM_IDLE_TIMEOUT_MS` erhöhen, während der Stream-Watchdog eingeschaltet ist, steigt der Standard mit ihm, wie [Langsame oder steckengebliebene API-Antworten handhaben](/docs/de/agent-sdk/typescript#handle-slow-or-stalled-api-responses) beschreibt. Der Timer setzt sich bei jedem Streaming-Fortschritts-Event zurück; wenn kein Fortschritt innerhalb des Fensters ankommt, bricht Claude Code den Subagent ab und meldet den Stall dem übergeordneten |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Stall-Timeout in Millisekunden für Subagents. Standard `600000` (10 Minuten); wenn Sie `CLAUDE_STREAM_IDLE_TIMEOUT_MS` erhöhen, während der Stream-Watchdog aktiviert ist, steigt der Standard mit ihm, wie [Langsame oder steckengebliebene API-Antworten behandeln](/docs/de/agent-sdk/typescript#handle-slow-or-stalled-api-responses) beschreibt. Der Timer setzt sich bei jedem Streaming-Fortschrittsereignis zurück; wenn kein Fortschritt innerhalb des Fensters ankommt, bricht Claude Code den Subagent ab und meldet den Stall dem übergeordneten |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Setzen Sie den Prozentsatz (1-100) des Auto-Compact-Fensters, bei dem Auto-Compaction ausgelöst wird. Verwenden Sie niedrigere Werte wie `50`, um früher zu komprimieren; die Variable kann die Schwelle nicht erhöhen, daher werden Werte über dem Standard-Prozentsatz ignoriert. Sie gilt nur in Sitzungen, die [vor dem Kontext-Limit des Modells komprimieren](/docs/de/model-config#context-window-and-auto-compaction). Gilt für Haupt-Konversationen und Subagents |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Setzen Sie den Prozentsatz (1-100) des Auto-Compact-Fensters, bei dem Auto-Compaction ausgelöst wird. Verwenden Sie niedrigere Werte wie `50`, um früher zu komprimieren; die Variable kann die Schwelle nicht erhöhen, daher werden Werte über dem Standard-Prozentsatz ignoriert. Sie gilt nur in Sitzungen, die [vor dem Kontext-Limit des Modells komprimieren](/docs/de/model-config#context-window-and-auto-compaction). Gilt für Hauptkonversationen und Subagents |

207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Setzen Sie auf `1`, um automatisches Backgrounding von lang laufenden Agent-Aufgaben zu erzwingen. Wenn aktiviert, werden Subagents nach etwa zwei Minuten Laufzeit in den Hintergrund verschoben. Aktiviert auch [automatisches Backgrounding von langen MCP-Tool-Aufrufen](/docs/de/mcp#automatic-backgrounding-of-long-tool-calls) im nicht-interaktiven Modus auf Claude Code v2.1.212 oder später |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Setzen Sie auf `1`, um automatisches Backgrounding von lang laufenden Agent-Aufgaben zu erzwingen. Wenn aktiviert, werden Subagents nach etwa zwei Minuten Laufzeit in den Hintergrund verschoben. Aktiviert auch [automatisches Backgrounding von langen MCP-Tool-Aufrufen](/docs/de/mcp#automatic-backgrounding-of-long-tool-calls) im nicht-interaktiven Modus auf Claude Code v2.1.212 oder später |

208| `CLAUDE_AX_PREPARK_MS` | Im [Screen-Reader-Modus](/docs/de/accessibility#what-your-screen-reader-hears), wie viele Millisekunden Claude Code wartet, mit dem Cursor am Anfang der Zeile, bevor es eine neue oder geänderte Zeile schreibt. Standard `50`. Setzen Sie `0`, um sofort zu schreiben. Claude Code begrenzt das Warten auf `5000`. Erfordert Claude Code v2.1.233 oder später |208| `CLAUDE_AX_PREPARK_MS` | Im [Screen-Reader-Modus](/docs/de/accessibility#what-your-screen-reader-hears), wie viele Millisekunden Claude Code wartet, mit dem Cursor am Anfang der Zeile, bevor es eine neue oder geänderte Zeile schreibt. Standard `50`. Setzen Sie auf `0`, um sofort zu schreiben. Claude Code begrenzt das Warten auf `5000`. Erfordert Claude Code v2.1.233 oder später |

209| `CLAUDE_AX_SCREEN_READER` | Setzen Sie auf `1`, um Screen-Reader-freundliche Ausgabe zu rendern: flacher Text ohne dekorative Rahmen oder Animationen. Setzen Sie auf `0`, um Screen-Reader-Modus zu erzwingen, auch wenn [`axScreenReader`](/docs/de/settings-reference#axscreenreader) `true` ist. Das [`--ax-screen-reader`](/docs/de/cli-reference#cli-flags)-Flag hat Vorrang. Erfordert Claude Code v2.1.181 oder später |209| `CLAUDE_AX_SCREEN_READER` | Setzen Sie auf `1`, um Screen-Reader-freundliche Ausgabe zu rendern: flacher Text ohne dekorative Rahmen oder Animationen. Setzen Sie auf `0`, um den Screen-Reader-Modus zwangsweise auszuschalten, auch wenn [`axScreenReader`](/docs/de/settings-reference#axscreenreader) `true` ist. Die [`--ax-screen-reader`](/docs/de/cli-reference#cli-flags)-Flag hat Vorrang. Erfordert Claude Code v2.1.181 oder später |

210| `CLAUDE_AX_STARTUP_QUIET_MS` | Im [Screen-Reader-Modus](/docs/de/accessibility), wie viele Millisekunden Claude Code das erste Interface-Rendering nach der Startup-Bestätigungszeile hält, damit Ihr Screen Reader die Zeile vollständig sprechen kann, bevor neue Ausgabe sie unterbricht. Standard `3000`. Setzen Sie `0`, um sofort zu rendern. Claude Code begrenzt das Halten auf `600000` (10 Minuten). Ihr erster Tastendruck beendet das Halten früh. Erfordert Claude Code v2.1.217 oder später |210| `CLAUDE_AX_STARTUP_QUIET_MS` | Im [Screen-Reader-Modus](/docs/de/accessibility), wie viele Millisekunden Claude Code das erste Interface-Rendering nach der Startup-Bestätigungszeile hält, damit Ihr Screen Reader die Zeile vollständig sprechen kann, bevor neue Ausgabe sie unterbricht. Standard `3000`. Setzen Sie auf `0`, um sofort zu rendern. Claude Code begrenzt das Halten auf `600000` (10 Minuten). Ihr erster Tastendruck beendet das Halten früh. Erfordert Claude Code v2.1.217 oder später |

211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kehren Sie nach jedem Bash- oder PowerShell-Befehl in der Haupt-Sitzung zum ursprünglichen Arbeitsverzeichnis zurück |211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kehren Sie nach jedem Bash- oder PowerShell-Befehl in der Hauptsitzung zum ursprünglichen Arbeitsverzeichnis zurück |

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden für den Byte-Level-Streaming-Idle-Watchdog; wenn gesetzt, hat es Vorrang vor `CLAUDE_STREAM_IDLE_TIMEOUT_MS` für diesen Watchdog und lässt den Event-Level-Watchdog unverändert. Claude Code begrenzt diese Variable zwischen 10 Sekunden und 30 Minuten. Erfordert Claude Code v2.1.210 oder später |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden für den Byte-Level-Streaming-Idle-Watchdog; wenn gesetzt, hat es Vorrang vor `CLAUDE_STREAM_IDLE_TIMEOUT_MS` für diesen Watchdog und lässt den Event-Level-Watchdog unverändert. Claude Code begrenzt diese Variable auf zwischen 10 Sekunden und 30 Minuten. Erfordert Claude Code v2.1.210 oder später |

213| `CLAUDE_CLIENT_PRESENCE_FILE` | Pfad zu einer Datei, die ein externes Tool, wie ein Screen-Lock-Listener, erstellt, wenn Sie Ihren Bildschirm entsperren, und löscht, wenn Sie ihn sperren. Während die Datei existiert, überspringt Claude Code [Remote Control Mobile Push-Benachrichtigungen](/docs/de/remote-control#mobile-push-notifications), daher erhalten Sie keine Pushes, während Sie den Computer aktiv nutzen. Wenn die Datei abwesend oder nicht lesbar ist, werden Benachrichtigungen normal gesendet. Claude Code überprüft die Datei einmal pro Push-auslösendes Event, anstatt sie abzufragen. Erfordert Claude Code v2.1.181 oder später |213| `CLAUDE_CLIENT_PRESENCE_FILE` | Pfad zu einer Datei, die ein externes Tool, wie ein Screen-Lock-Listener, erstellt, wenn Sie Ihren Bildschirm entsperren, und löscht, wenn Sie ihn sperren. Während die Datei existiert, überspringt Claude Code [Remote Control Mobile Push-Benachrichtigungen](/docs/de/remote-control#mobile-push-notifications), daher erhalten Sie keine Pushes, während Sie den Computer aktiv nutzen. Wenn die Datei abwesend oder unlesbar ist, werden Benachrichtigungen normal gesendet. Claude Code überprüft die Datei einmal pro Push-auslösendem Ereignis, anstatt sie abzufragen. Erfordert Claude Code v2.1.181 oder später |

214| `CLAUDE_CODE_ACCESSIBILITY` | Setzen Sie auf `1`, um den nativen Terminal-Cursor sichtbar zu halten und den invertierten Text-Cursor-Indikator zu deaktivieren. Ermöglicht Screen-Magnifiern wie macOS Zoom, die Cursor-Position zu verfolgen |214| `CLAUDE_CODE_ACCESSIBILITY` | Setzen Sie auf `1`, um den nativen Terminal-Cursor sichtbar zu halten und den invertierten Text-Cursor-Indikator zu deaktivieren. Ermöglicht Screen-Magnifiern wie macOS Zoom, die Cursor-Position zu verfolgen |

215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Setzen Sie auf `1`, um Memory-Dateien aus Verzeichnissen zu laden, die mit `--add-dir` angegeben sind. Lädt `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` und `CLAUDE.local.md`. Standardmäßig laden zusätzliche Verzeichnisse keine Memory-Dateien |215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Setzen Sie auf `1`, um Memory-Dateien aus Verzeichnissen zu laden, die mit `--add-dir` angegeben sind. Lädt `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` und `CLAUDE.local.md`. Standardmäßig laden zusätzliche Verzeichnisse keine Memory-Dateien |

216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Setzen Sie auf `1`, um den gesamten Bildschirm bei jedem Frame im [Vollbild-Rendering](/docs/de/fullscreen) neu zu zeichnen, anstatt inkrementelle Updates zu senden. Verwenden Sie dies, wenn der Vollbild-Modus veraltete oder falsch platzierte Text-Fragmente zeigt. Claude Code aktiviert dies automatisch für Hintergrund-Sitzungen und [Agent-Ansicht](/docs/de/agent-view) unter Windows |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Setzen Sie auf `1`, um den gesamten Bildschirm bei jedem Frame im [Vollbild-Rendering](/docs/de/fullscreen) neu zu zeichnen, anstatt inkrementelle Updates zu senden. Verwenden Sie dies, wenn der Vollbildmodus veraltete oder falsch platzierte Text-Fragmente zeigt. Claude Code aktiviert dies automatisch für Hintergrund-Sitzungen und [Agent-Ansicht](/docs/de/agent-view) unter Windows |

217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Setzen Sie auf `1`, um den [Effort](/docs/de/model-config#adjust-effort-level)-Parameter bei jeder Anfrage zu senden, auch wenn Claude Code die Modell-ID nicht als Effort-fähig erkennt. Verwenden Sie dies beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway) oder Drittanbieter-Provider, der Modelle unter benutzerdefinierten Identifiern bereitstellt. Modelle, die den Effort-Parameter bei der API ablehnen, einschließlich Claude 3 Modelle, Sonnet 4.0 und 4.5, Opus 4.0 und 4.1 und Haiku 4.5, sind immer noch ausgeschlossen, damit Anfragen nicht fehlschlagen |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Setzen Sie auf `1`, um den [Effort](/docs/de/model-config#adjust-effort-level)-Parameter bei jeder Anfrage zu senden, auch wenn Claude Code die Modell-ID nicht als Effort-fähig erkennt. Verwenden Sie dies beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway) oder Drittanbieter-Provider, der Modelle unter benutzerdefinierten Identifiern bereitstellt. Modelle, die den Effort-Parameter bei der API ablehnen, einschließlich Claude 3-Modelle, Sonnet 4.0 und 4.5, Opus 4.0 und 4.1 und Haiku 4.5, sind immer noch ausgeschlossen, damit Anfragen nicht fehlschlagen |

218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Credentials aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)) |

219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Setzen Sie auf `0`, um Claude Code davon abzuhalten, den Browser automatisch zu öffnen, wenn ein neues [Artifact](/docs/de/artifacts#create-an-artifact) veröffentlicht wird |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Setzen Sie auf `0`, um Claude Code davon abzuhalten, den Browser automatisch zu öffnen, wenn ein neues [Artifact](/docs/de/artifacts#create-an-artifact) veröffentlicht wird |

220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Setzen Sie auf `0`, um Claude davon abzuhalten, [Kommentare auf einem Artifact](/docs/de/artifacts#collect-comments-on-an-artifact) zu lesen und zu beantworten. Hat keine Auswirkung, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [Artifacts ausgeschaltet hat](/docs/de/artifacts#availability). Erfordert Claude Code v2.1.221 oder später |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Setzen Sie auf `0`, um Claude davon abzuhalten, [Kommentare auf einem Artifact](/docs/de/artifacts#collect-comments-on-an-artifact) zu lesen und zu beantworten. Hat keine Auswirkung, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [Artifacts ausgeschaltet hat](/docs/de/artifacts#availability). Erfordert Claude Code v2.1.221 oder später |

221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Setzen Sie auf `0`, um Claude davon abzuhalten, [auf Kommentare, die an es gesendet werden, von selbst zu antworten](/docs/de/artifacts#let-claude-reply-to-comments-on-its-own). Erfordert Claude Code v2.1.228 oder später |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Setzen Sie auf `0`, um Claude davon abzuhalten, [auf Kommentare, die an es gesendet werden, von selbst zu antworten](/docs/de/artifacts#let-claude-reply-to-comments-on-its-own). Erfordert Claude Code v2.1.228 oder später |

222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Setzen Sie auf `0`, um den [Attributions-Block](/docs/de/llm-gateway-protocol#system-prompt-attribution-block) auszulassen, der die Client-Version und einen Prompt-Fingerabdruck trägt, vom Anfang des System-Prompts. Caching bei einer direkten Verbindung zur Anthropic API ist unabhängig davon nicht betroffen. In einigen direkten Verbindungs-Setups behält Claude Code den Block bei [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer-Anfragen, auch wenn Sie `0` setzen. In [System-Prompt-Attributions-Block](/docs/de/llm-gateway-protocol#system-prompt-attribution-block) überprüfen Sie, welche Verbindungen und Anmeldedaten dies abdeckt. Vor v2.1.181 enthielt der Block ein Pro-Request-Token bei benutzerdefinierten Basis-URLs und Microsoft Foundry-Verbindungen, daher setzen Sie auf diesen Versionen `0`, wenn Ihr LLM-Gateway auf dem Request-Body zwischenspeichert oder Anfragen an einen Drittanbieter-Provider weiterleitet, oder wenn Sie sich direkt mit Microsoft Foundry verbinden |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Setzen Sie auf `0`, um den [Attributionsblock](/docs/de/llm-gateway-protocol#system-prompt-attribution-block) auszulassen, der die Client-Version und einen Prompt-Fingerabdruck trägt, vom Anfang des System-Prompts. Caching bei einer direkten Verbindung zur Anthropic API ist in jedem Fall unbeeinträchtigt. In einigen direkten Verbindungs-Setups behält Claude Code den Block bei [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer-Anfragen, auch wenn Sie `0` setzen. In [System-Prompt-Attributionsblock](/docs/de/llm-gateway-protocol#system-prompt-attribution-block) überprüfen Sie, welche Verbindungen und Credentials dies abdeckt. Vor v2.1.181 enthielt der Block ein Pro-Request-Token bei benutzerdefinierten Basis-URLs und Microsoft Foundry-Verbindungen, daher setzen Sie auf `0` auf diesen Versionen, wenn Ihr LLM-Gateway auf dem Request-Body cached oder Anfragen an einen Drittanbieter-Provider weiterleitet, oder wenn Sie sich direkt mit Microsoft Foundry verbinden |

223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Wenn `CLAUDE_AUTO_BACKGROUND_TASKS` aktiviert ist, Sekunden zwischen Erinnerungen an Claude, um [Hintergrund-Subagents](/docs/de/sub-agents#run-subagents-in-foreground-or-background) zu überprüfen, die noch laufen. Akzeptiert eine einfache Ganzzahl von `1` bis `86400` nur; jeder andere Wert oder jede andere Schreibweise wird als nicht gesetzt gelesen. Wenn nicht gesetzt, gibt es keine Check-in-Erinnerungen. Erfordert Claude Code v2.1.248 oder später |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Wenn `CLAUDE_AUTO_BACKGROUND_TASKS` aktiviert ist, Sekunden zwischen Erinnerungen an Claude, um [Background-Subagents](/docs/de/sub-agents#run-subagents-in-foreground-or-background) zu überprüfen, die noch laufen. Akzeptiert nur eine einfache Ganzzahl von `1` bis `86400`; jeder andere Wert oder jede andere Schreibweise wird als nicht gesetzt gelesen. Wenn nicht gesetzt, gibt es keine Check-in-Erinnerungen. Erfordert Claude Code v2.1.248 oder später |

224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Setzen Sie das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) in Tokens, von `100000` bis `1000000`. Akzeptiert nur eine einfache Ganzzahl wie `500000`: ein Wert wie `500k` wird als `500` gelesen und auf das 100K-Minimum begrenzt. Das effektive Fenster ist auch auf das Kontext-Fenster des Modells begrenzt. Hat Vorrang vor dem `/autocompact`-Befehl, dem `--autocompact`-Flag und der `autoCompactWindow`-Einstellung. Die `used_percentage` der Status-Zeile misst sich immer gegen das vollständige Kontext-Fenster des Modells, daher zeigt dieser Prozentsatz nicht mehr an, wenn Compaction läuft, sobald diese Variable gesetzt ist |224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Setzen Sie das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) in Tokens, von `100000` bis `1000000`. Akzeptiert nur eine einfache Ganzzahl wie `500000`: ein Wert wie `500k` wird als `500` gelesen und auf das 100K-Minimum begrenzt. Das effektive Fenster ist auch auf das Kontext-Fenster des Modells begrenzt. Hat Vorrang vor dem `/autocompact`-Befehl, der `--autocompact`-Flag und der `autoCompactWindow`-Einstellung. Die `used_percentage` der Status-Zeile misst immer gegen das vollständige Kontext-Fenster des Modells, daher zeigt dieser Prozentsatz nicht mehr an, wann Compaction läuft, sobald diese Variable gesetzt ist |

225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreiben Sie die automatische [IDE-Verbindung](/docs/de/vs-code). Standardmäßig verbindet sich Claude Code automatisch, wenn es in einem unterstützten IDE-integrierten Terminal gestartet wird. Setzen Sie auf `false`, um dies zu verhindern. Setzen Sie auf `true`, um eine Verbindung zu erzwingen, wenn die Auto-Erkennung fehlschlägt, wie wenn Tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der [`autoConnectIde`](/docs/de/settings-reference#autoconnectide) globalen Konfigurationseinstellung |225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreiben Sie die automatische [IDE-Verbindung](/docs/de/vs-code). Standardmäßig verbindet sich Claude Code automatisch, wenn es in einem unterstützten IDE-integrierten Terminal gestartet wird. Setzen Sie auf `false`, um dies zu verhindern. Setzen Sie auf `true`, um eine Verbindung zu erzwingen, wenn die automatische Erkennung fehlschlägt, wie wenn Tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der [`autoConnectIde`](/docs/de/settings-reference#autoconnectide)-Einstellung der globalen Konfiguration |

226| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Zeit in Millisekunden, die Claude Code auf die AWS-Standard-Anmeldedaten-Provider-Kette wartet, um Anmeldedaten zu produzieren, bevor die Anfrage mit [`AWS default-chain credential resolve timed out`](/docs/de/errors#aws-default-chain-credential-resolve-timed-out) fehlschlägt (Standard: `60000`). Erhöhen Sie dies, wenn ein Schritt in Ihrer Kette legitim länger braucht, wie eine Browser-basierte SSO-Anmeldung mit MFA durch einen Wrapper wie `aws-vault`. Gilt überall dort, wo Claude Code mit der Standard-Kette signiert: [Amazon Bedrock](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/de/claude-platform-on-aws) und der [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint). Erfordert Claude Code v2.1.207 oder später |226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Bei Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry auf `1` setzen, damit der Server-seitige Klassifizierer der Plattform [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Aktionen überprüft; wo die Plattform den Klassifizierer nicht ausführt, fällt Claude Code auf seine eigenen Klassifizierer-Anfragen zurück. Wenn nicht gesetzt oder `0`, läuft der Klassifizierer durch Anfragen, die Claude Code selbst sendet. Hat keine Auswirkung auf andere Provider, einschließlich der Anthropic API. Erfordert Claude Code v2.1.271 oder später |

227| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Wird automatisch in Bash-Tool und [Hook-Befehl](/docs/de/hooks)-Subprozessen gesetzt, während die Sitzung eine aktive [Remote Control](/docs/de/remote-control)-Verbindung hat, und entfernt, wenn die Verbindung endet. Der Wert ist die Sitzungs-ID in `session_`-Form, der gleiche Identifikator, der in der `claude.ai/code`-URL der Sitzung erscheint, daher kann ein Skript zurück zur Sitzung verlinken, die es ausgeführt hat. Erfordert Claude Code v2.1.199 oder später. In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) lesen Sie stattdessen `CLAUDE_CODE_REMOTE_SESSION_ID` |227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Zeit in Millisekunden, die Claude Code auf die AWS-Standard-Credential-Provider-Kette wartet, um Credentials zu produzieren, bevor die Anfrage mit [`AWS default-chain credential resolve timed out`](/docs/de/errors#aws-default-chain-credential-resolve-timed-out) fehlschlägt (Standard: `60000`). Erhöhen Sie dies, wenn ein Schritt in Ihrer Kette legitim länger braucht, wie eine Browser-basierte SSO-Anmeldung mit MFA durch einen Wrapper wie `aws-vault`. Gilt überall dort, wo Claude Code mit der Standard-Kette signiert: [Amazon Bedrock](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/de/claude-platform-on-aws) und der [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint). Erfordert Claude Code v2.1.207 oder später |

228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Setzen Sie auf `0`, um das [Diff der Dateien, die ein Bash-Befehl geändert hat](/docs/de/hooks#bash), auszuschalten, oder `1`, um es in jedem Berechtigungsmodus zu erfassen. Hat Vorrang vor der [`bashEditDiffEnabled`](/docs/de/settings-reference#basheditdiffenabled)-Einstellung. Erfordert Claude Code v2.1.269 oder später |

229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Setzen Sie auf `0`, um eine nicht-interaktive Sitzung einen Idle-Status an ihren Host bei jedem Turn-Ende zu melden, auch während Hintergrundarbeit noch läuft. Standardmäßig meldet die Sitzung einen Running-Status über das Turn-Ende hinaus, während Hintergrundarbeit wie ein Background-Agent oder ein [Workflow](/docs/de/workflows)-Lauf noch live ist. Dies hält einen Host, der den Status beobachtet, wie eine Remote-Sitzungsliste, davon ab, anzukündigen, dass Claude auf Ihre Eingabe wartet, während Arbeit läuft. Background-Shell-Befehle, wie ein Dev-Server, halten nicht den Running-Status. Der Running-Status-Standard und das `0`-Opt-out erfordern Claude Code v2.1.269 oder später; auf früheren Versionen setzen Sie `1`, um den Running-Status zu halten |

230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Wird automatisch in Bash-Tool- und [Hook-Befehl](/docs/de/hooks)-Subprozessen gesetzt, während die Sitzung eine aktive [Remote Control](/docs/de/remote-control)-Verbindung hat, und entfernt, wenn die Verbindung endet. Der Wert ist die Sitzungs-ID in `session_`-Form, der gleiche Identifier, der in der `claude.ai/code`-URL der Sitzung erscheint, daher kann ein Skript zurück zur Sitzung, die es ausgeführt hat, verlinken. Erfordert Claude Code v2.1.199 oder später. In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) lesen Sie stattdessen `CLAUDE_CODE_REMOTE_SESSION_ID` |

228| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Setzen Sie auf `0`, um Claude Code das `0x08`-Byte, auch geschrieben `^H`, als einfaches Backspace zu lesen, oder `1`, um es als Ctrl+Backspace zu lesen. Jeder Wert ersetzt den Plattform-Standard. Standardmäßig liest Claude Code es als Ctrl+Backspace unter Windows, außer wenn `TERM_PROGRAM` `mintty` oder `TERM` `cygwin` ist, und als einfaches Backspace auf macOS und Linux. Setzen Sie `0` in einem Windows-Terminal, wo [Backspace ein ganzes Wort löscht](/docs/de/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Setzen Sie auf `0`, um Claude Code das `0x08`-Byte, auch geschrieben `^H`, als einfaches Backspace zu lesen, oder `1`, um es als Ctrl+Backspace zu lesen. Jeder Wert ersetzt den Plattform-Standard. Standardmäßig liest Claude Code es als Ctrl+Backspace unter Windows, außer wenn `TERM_PROGRAM` `mintty` oder `TERM` `cygwin` ist, und als einfaches Backspace auf macOS und Linux. Setzen Sie `0` in einem Windows-Terminal, wo [Backspace ein ganzes Wort löscht](/docs/de/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

229| `CLAUDE_CODE_CERT_STORE` | Kommagetrennte Liste von CA-Zertifikat-Quellen für TLS-Verbindungen. `bundled` ist der Mozilla CA-Satz, der mit Claude Code ausgeliefert wird. `system` ist der Betriebssystem-Vertrauensspeicher, nur auf Runtimes mit `tls.getCACertificates` lesbar: die native Binärdatei oder Node 22.15 oder später für npm-Installationen. Siehe [CA-Zertifikat-Speicher](/docs/de/network-config#ca-certificate-store). Standard ist `bundled,system` |232| `CLAUDE_CODE_CERT_STORE` | Komma-getrennte Liste von CA-Zertifikat-Quellen für TLS-Verbindungen. `bundled` ist der Mozilla CA-Satz, der mit Claude Code ausgeliefert wird. `system` ist der Betriebssystem-Vertrauensspeicher, nur auf Runtimes mit `tls.getCACertificates` lesbar: die native Binärdatei oder Node 22.15 oder später für npm-Installationen. Siehe [CA-Zertifikat-Speicher](/docs/de/network-config#ca-certificate-store). Standard ist `bundled,system` |

230| `CLAUDE_CODE_CHILD_SESSION` | Wird auf `1` in Subprozessen gesetzt, die Claude Code über die Bash-, PowerShell- und Monitor-Tools, [Hook](/docs/de/hooks)-Befehle und [Status-Zeile](/docs/de/statusline)-Befehle spawnt. Nicht gesetzt für Stdio-[MCP-Server](/docs/de/mcp)-Subprozesse, die langlebig sind und die Sitzung, die sie spawnt hat, überleben. Im Gegensatz zu `CLAUDECODE` wird dies nur von Claude Code selbst gesetzt, wenn es einen Subprocess startet, und nicht von IDE-Erweiterungen, daher unterscheidet es zuverlässig eine verschachtelte Sitzung von einem Top-Level-`claude`, das in einem IDE-integrierten Terminal gestartet wird. Eine verschachtelte interaktive `claude` TUI, die auf diese Weise gestartet wird, wird automatisch von `--resume`, `--continue`, Up-Arrow-Verlauf und der `claude agents`-Liste ausgeschlossen. Nicht-interaktive `claude -p`-Sitzungen bleiben bestehen. Setzen Sie `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, um diesen Ausschluss zu überschreiben. Erfordert Claude Code v2.1.172 oder später |233| `CLAUDE_CODE_CHILD_SESSION` | Wird auf `1` in Subprozessen gesetzt, die Claude Code über die Bash-, PowerShell- und Monitor-Tools, [Hook](/docs/de/hooks)-Befehle und [Status-Zeile](/docs/de/statusline)-Befehle spawnt. Nicht gesetzt für Stdio-[MCP-Server](/docs/de/mcp)-Subprozesse, die langlebig sind und die Sitzung, die sie spawnt hat, überleben. Im Gegensatz zu `CLAUDECODE` wird dies nur von Claude Code selbst gesetzt, wenn es einen Subprocess startet, und nicht von IDE-Erweiterungen, daher unterscheidet es zuverlässig eine verschachtelte Sitzung von einem Top-Level-`claude`, das in einem IDE-integrierten Terminal gestartet wird. Eine verschachtelte interaktive `claude` TUI, die auf diese Weise gestartet wird, wird automatisch von `--resume`, `--continue`, Up-Arrow-Verlauf und der `claude agents`-Liste ausgeschlossen. Nicht-interaktive `claude -p`-Sitzungen bleiben bestehen. Setzen Sie `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, um diesen Ausschluss zu überschreiben. Erfordert Claude Code v2.1.172 oder später |

231| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikat-Datei für mTLS-Authentifizierung |234| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikatsdatei für mTLS-Authentifizierung |

232| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur Client-Private-Key-Datei für mTLS-Authentifizierung |235| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur privaten Client-Schlüsseldatei für mTLS-Authentifizierung |

233| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase für verschlüsselte CLAUDE\_CODE\_CLIENT\_KEY (optional) |236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase für verschlüsselten CLAUDE\_CODE\_CLIENT\_KEY (optional) |

234| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Entfernt in v2.1.186 und jetzt ein No-Op. Setzte zuvor ein separates Timeout für die Connect-, TLS- und Response-Header-Phase einer Streaming-API-Anfrage. Verwenden Sie `API_TIMEOUT_MS` für das Pro-Request-Timeout. Für die Response-Header-Phase einer Streaming-Anfrage siehe `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Entfernt in v2.1.186 und jetzt ein No-Op. Setzte zuvor ein separates Timeout für die Connect-, TLS- und Response-Header-Phase einer Streaming-API-Anfrage. Verwenden Sie `API_TIMEOUT_MS` für das Pro-Request-Timeout. Für die Response-Header-Phase einer Streaming-Anfrage siehe `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

235| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Überschreiben Sie den Debug-Log-Dateipfad. Trotz des Namens ist dies ein Dateipfad, kein Verzeichnis. Erfordert, dass der Debug-Modus separat über `--debug`, `/debug` oder die `DEBUG`-Umgebungsvariable aktiviert wird: Das Setzen dieser Variablen allein aktiviert das Logging nicht. Das [`--debug-file`](/docs/de/cli-reference#cli-flags)-Flag macht beides auf einmal. Standard ist `~/.claude/debug/<session-id>.txt` |238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Überschreiben Sie den Debug-Log-Dateipfad. Trotz des Namens ist dies ein Dateipfad, kein Verzeichnis. Erfordert, dass der Debug-Modus separat über `--debug`, `/debug` oder die `DEBUG`-Umgebungsvariable aktiviert wird: Das Setzen dieser Variablen allein aktiviert keine Protokollierung. Die [`--debug-file`](/docs/de/cli-reference#cli-flags)-Flag macht beides auf einmal. Standardmäßig `~/.claude/debug/<session-id>.txt` |

236| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimales Log-Level, das in die Debug-Log-Datei geschrieben wird. Werte: `verbose`, `debug` (Standard), `info`, `warn`, `error`. Setzen Sie auf `verbose`, um hochvolumige Diagnostiken wie vollständige Status-Zeilen-Befehlsausgabe einzubeziehen, oder erhöhen Sie auf `error`, um Rauschen zu reduzieren |239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimale Log-Ebene, die in die Debug-Log-Datei geschrieben wird. Werte: `verbose`, `debug` (Standard), `info`, `warn`, `error`. Setzen Sie auf `verbose`, um hochvolumige Diagnosen wie vollständige Status-Zeilen-Befehlsausgabe einzuschließen, oder erhöhen Sie auf `error`, um Rauschen zu reduzieren |

237| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Setzen Sie auf `1`, um die [1M-Kontext-Fenster](/docs/de/model-config#extended-context)-Unterstützung zu deaktivieren. Wenn gesetzt, sind 1M-Modell-Varianten in der Modell-Auswahl nicht verfügbar, und Claude Code hält Sitzungen auf Modellen mit einem nativen 1M-Fenster, wie [Sonnet 5](/docs/de/model-config#sonnet-5-context-window) und die Fable-Modelle, auf einem 200K-Fenster; siehe [Erweiterter Kontext](/docs/de/model-config#extended-context) für wie die Haltung durchgesetzt wird. Nützlich für Unternehmensumgebungen mit Compliance-Anforderungen. Für seine Rolle bei der Korrektur des Fensters für eine nicht erkannte `[1m]`-Modell-ID siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Setzen Sie auf `1`, um die Unterstützung des [1M-Kontext-Fensters](/docs/de/model-config#extended-context) zu deaktivieren. Wenn gesetzt, sind 1M-Modell-Varianten im Modell-Picker nicht verfügbar, und Claude Code hält Sitzungen auf Modellen mit einem nativen 1M-Fenster, wie [Sonnet 5](/docs/de/model-config#sonnet-5-context-window) und die Fable-Modelle, auf einem 200K-Fenster; siehe [Extended Context](/docs/de/model-config#extended-context) für wie die Haltung durchgesetzt wird. Nützlich für Unternehmensumgebungen mit Compliance-Anforderungen. Für seine Rolle bei der Korrektur des Fensters für eine nicht erkannte `[1m]`-Modell-ID siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

238| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Setzen Sie auf `1`, um [adaptives Denken](/docs/de/model-config#adjust-effort-level) auf Opus 4.6 und Sonnet 4.6 zu deaktivieren und auf das feste Denk-Budget zurückzufallen, das von `MAX_THINKING_TOKENS` kontrolliert wird. Hat keine Auswirkung auf [Fable-Modelle](/docs/de/model-config#extended-thinking), Sonnet 5 oder Opus 4.7 und später, die immer adaptives Denken verwenden |241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Setzen Sie auf `1`, um [adaptives Denken](/docs/de/model-config#adjust-effort-level) auf Opus 4.6 und Sonnet 4.6 zu deaktivieren und auf das feste Denk-Budget zurückzufallen, das von `MAX_THINKING_TOKENS` kontrolliert wird. Hat keine Auswirkung auf [Fable-Modelle](/docs/de/model-config#extended-thinking), Sonnet 5 oder Opus 4.7 und später, die immer adaptives Denken verwenden |

239| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, [verwaltete Einstellungen](/docs/de/managed-settings#precedence-within-the-managed-tier) `env`-Blöcke pro Schlüssel über Admin-Quellen zu mergen, daher gilt nur der `env`-Block der höchsten Prioritäts-Quelle, wie vor v2.1.223. Setzen Sie es in der Umgebung, die Claude Code startet, da Claude Code eine Kopie, die durch einen Einstellungs-`env`-Block geliefert wird, ignoriert. Erfordert Claude Code v2.1.223 oder später |242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, [verwaltete Einstellungen](/docs/de/managed-settings#precedence-within-the-managed-tier) `env`-Blöcke pro Schlüssel über Admin-Quellen zu mergen, daher gilt nur der `env`-Block der höchsten Prioritätsquelle, wie vor v2.1.223. Setzen Sie es in der Umgebung, die Claude Code startet, da Claude Code eine Kopie, die durch einen Einstellungs-`env`-Block geliefert wird, ignoriert. Erfordert Claude Code v2.1.223 oder später |

240| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Setzen Sie auf `1`, um das [Advisor-Tool](/docs/de/advisor) zu deaktivieren. Der `/advisor`-Befehl wird nicht verfügbar, jedes konfigurierte `advisorModel` wird ignoriert, und das `--advisor`-Flag wird akzeptiert, hat aber keine Auswirkung, daher funktionieren vorhandene Skripte, die es übergeben, weiterhin ohne Fehler |243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Setzen Sie auf `1`, um das [Advisor-Tool](/docs/de/advisor) zu deaktivieren. Der `/advisor`-Befehl wird nicht verfügbar, jedes konfigurierte `advisorModel` wird ignoriert, und die `--advisor`-Flag wird akzeptiert, hat aber keine Auswirkung, daher funktionieren bestehende Skripte, die sie übergeben, weiterhin ohne Fehler |

241| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Setzen Sie auf `1`, um [Hintergrund-Agents und Agent-Ansicht](/docs/de/agent-view) auszuschalten: `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor. Entspricht der [`disableAgentView`](/docs/de/settings-reference#disableagentview)-Einstellung |244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Setzen Sie auf `1`, um [Background-Agents und Agent-Ansicht](/docs/de/agent-view) auszuschalten: `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor. Äquivalent zur [`disableAgentView`](/docs/de/settings-reference#disableagentview)-Einstellung |

242| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Setzen Sie auf `1`, um [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren und den klassischen Haupt-Bildschirm-Renderer zu verwenden. Die Konversation bleibt in Ihrem Terminal-nativen Scrollback, daher funktionieren `Cmd+f` und Tmux-Kopier-Modus wie gewohnt. Hat Vorrang vor `CLAUDE_CODE_NO_FLICKER` und der [`tui`](/docs/de/settings-reference#tui)-Einstellung. Sie können auch mit `/tui default` wechseln. Gilt nicht für Hintergrund-Sitzungen, die von [Agent-Ansicht](/docs/de/agent-view) geöffnet werden, die immer Vollbild-Rendering verwenden |245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Setzen Sie auf `1`, um [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren und den klassischen Main-Screen-Renderer zu verwenden. Die Konversation bleibt im nativen Scrollback Ihres Terminals, daher funktionieren `Cmd+f` und Tmux-Kopier-Modus wie gewohnt. Hat Vorrang vor `CLAUDE_CODE_NO_FLICKER` und der [`tui`](/docs/de/settings-reference#tui)-Einstellung. Sie können auch mit `/tui default` wechseln. Gilt nicht für Background-Sitzungen, die von [Agent-Ansicht](/docs/de/agent-view) geöffnet werden, die immer Vollbild-Rendering verwenden |

243| `CLAUDE_CODE_DISABLE_ARTIFACT` | Setzen Sie auf `1`, um das [Artifact](/docs/de/artifacts)-Tool auszuschalten, das Sitzungs-Ausgabe als private Webseite auf claude.ai veröffentlicht. Sobald Sie es setzen, schaltet keine Einstellungsdatei das Tool wieder ein. Um das Tool stattdessen aus einer Einstellungsdatei auszuschalten, setzen Sie [`enableArtifact`](/docs/de/settings-reference#enableartifact) auf `false`; der veraltete [`disableArtifact`](/docs/de/settings-reference#disableartifact)-Schlüssel schaltet es auch aus |246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Setzen Sie auf `1`, um das [Artifact](/docs/de/artifacts)-Tool auszuschalten, das Sitzungsausgabe als private Webseite auf claude.ai veröffentlicht. Sobald Sie es setzen, schaltet keine Einstellungsdatei das Tool wieder ein. Um das Tool stattdessen aus einer Einstellungsdatei auszuschalten, setzen Sie [`enableArtifact`](/docs/de/settings-reference#enableartifact) auf `false`; der veraltete [`disableArtifact`](/docs/de/settings-reference#disableartifact)-Schlüssel schaltet es auch aus |

244| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Setzen Sie auf `1`, um die Anhang-Verarbeitung zu deaktivieren. Datei-Erwähnungen mit `@`-Syntax werden als einfacher Text gesendet, anstatt in Datei-Inhalt erweitert zu werden |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Setzen Sie auf `1`, um die Anhang-Verarbeitung zu deaktivieren. Datei-Erwähnungen mit `@`-Syntax werden als einfacher Text gesendet, anstatt in Dateiinhalt erweitert zu werden |

245| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Setzen Sie auf `1`, um [Auto-Memory](/docs/de/memory#auto-memory) zu deaktivieren. Setzen Sie auf `0`, um Auto-Memory zu erzwingen, auch wenn `--bare`-Modus oder [`autoMemoryEnabled: false`](/docs/de/settings-reference#automemoryenabled) es andernfalls deaktivieren würde. Wenn deaktiviert, erstellt oder lädt Claude keine Auto-Memory-Dateien |248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Setzen Sie auf `1`, um [Auto-Memory](/docs/de/memory#auto-memory) zu deaktivieren. Setzen Sie auf `0`, um Auto-Memory zu erzwingen, auch wenn `--bare`-Modus oder [`autoMemoryEnabled: false`](/docs/de/settings-reference#automemoryenabled) es andernfalls deaktivieren würde. Wenn deaktiviert, erstellt oder lädt Claude keine Auto-Memory-Dateien |

246| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie auf `1`, um alle Hintergrund-Aufgaben-Funktionalität zu deaktivieren, einschließlich des `run_in_background`-Parameters auf Bash- und Subagent-Tools, Auto-Backgrounding und der Ctrl+B-Verknüpfung |249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie auf `1`, um alle Background-Task-Funktionalität zu deaktivieren, einschließlich des `run_in_background`-Parameters auf Bash- und Subagent-Tools, Auto-Backgrounding und der Ctrl+B-Verknüpfung |

247| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, eine [Amazon Bedrock](/docs/de/amazon-bedrock)-Streaming-Antwort mit fehlender oder leerer `Content-Type`-Header als Amazon Bedrock's binären Event-Stream zu behandeln. Standardmäßig geht Claude Code davon aus, dass ein Gateway den Header aus einer ansonsten unveränderten Antwort gelöscht hat, daher dekodiert es den Body und Streaming funktioniert weiter. Setzen Sie dies nur für ein Gateway, das den Stream auch als Server-Sent-Events erneut aussendet; Claude Code liest dann den Header-losen Body als Server-Sent-Events statt. Erfordert Claude Code v2.1.239 oder später |250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, eine [Amazon Bedrock](/docs/de/amazon-bedrock)-Streaming-Antwort mit fehlender oder leerer `Content-Type`-Header als Amazon Bedrock's binären Event-Stream zu behandeln. Standardmäßig geht Claude Code davon aus, dass ein Gateway den Header aus einer ansonsten unveränderten Antwort gelöscht hat, daher dekodiert es den Body und Streaming funktioniert weiter. Setzen Sie dies nur für ein Gateway, das den Stream auch als Server-Sent-Events erneut ausgibt; Claude Code liest dann den Header-losen Body als Server-Sent-Events statt. Erfordert Claude Code v2.1.239 oder später |

248| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Setzen Sie auf `1`, um die Überprüfung zu überspringen, dass eine [Amazon Bedrock](/docs/de/amazon-bedrock)-Streaming-Antwort den `application/vnd.amazon.eventstream`-Content-Type trägt. Ohne diese Variable schlägt Claude Code die Anfrage mit einem Fehler fehl, der diesen Typ benennt, wenn eine Antwort einen anderen Content-Type trägt, was bedeutet, dass ein [Gateway oder Proxy die Antwort transformiert](/docs/de/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Konfigurieren Sie das Gateway, um den `Content-Type`-Header und Body unverändert weiterzuleiten, anstatt diese Variable zu setzen. Erfordert Claude Code v2.1.208 oder später |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Setzen Sie auf `1`, um die Überprüfung zu überspringen, dass eine [Amazon Bedrock](/docs/de/amazon-bedrock)-Streaming-Antwort den `application/vnd.amazon.eventstream`-Content-Type trägt. Ohne diese Variable schlägt Claude Code die Anfrage mit einem Fehler fehl, der diesen Typ benennt, wenn eine Antwort einen anderen Content-Type trägt, was bedeutet, dass ein [Gateway oder Proxy die Antwort transformiert](/docs/de/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Konfigurieren Sie das Gateway, um den `Content-Type`-Header und Body unverändert weiterzuleiten, anstatt diese Variable zu setzen. Erfordert Claude Code v2.1.208 oder später |

249| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Setzen Sie auf `1`, um eine [Hintergrund-Sitzung](/docs/de/agent-view) davon abzuhalten, laufende Hintergrund-Shell-Befehle, dynamische Workflows, und ab v2.1.198 Hintergrund-Subagents zu übergeben, wenn der [Supervisor](/docs/de/agent-view#the-supervisor-process) diese Sitzungs-Prozess stoppt, neu startet oder aktualisiert, anstatt sie an den nächsten Prozess der Sitzung zu übergeben. Betrifft nur diese Übergabe: Das Backgrounding einer Sitzung mit `←` oder [`/background`](/docs/de/agent-view#from-inside-a-session) trägt immer noch laufende Arbeit über, und `CLAUDE_DISABLE_ADOPT` schaltet beides aus. Erfordert Claude Code v2.1.196 oder später |252| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Setzen Sie auf `1`, um die laufenden Background-Shell-Befehle, dynamischen Workflows, und ab v2.1.198 Background-Subagents einer [Background-Sitzung](/docs/de/agent-view) zu stoppen, wenn der [Supervisor](/docs/de/agent-view#the-supervisor-process) den Prozess dieser Sitzung stoppt, neu startet oder aktualisiert, anstatt sie an den nächsten Prozess der Sitzung zu übergeben. Betrifft nur diese Übergabe: Das Backgrounding einer Sitzung mit `←` oder [`/background`](/docs/de/agent-view#from-inside-a-session) trägt immer noch laufende Arbeit über, und `CLAUDE_DISABLE_ADOPT` schaltet beides aus. Erfordert Claude Code v2.1.196 oder später |

250| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, [Hintergrund-Shell-Befehle](/docs/de/interactive-mode#background-bash-commands) zu beenden, wenn das Betriebssystem Speicherdruck meldet. Standardmäßig beendet Claude Code auf macOS und Linux einen Hintergrund-Shell, der in der Haupt-Sitzung gestartet wurde, bei einem Speicherdruck-Signal, sobald die Sitzung 30 Minuten untätig war und kein Turn oder Subagent läuft. Windows hat kein Speicherdruck-Signal, daher hat diese Variable dort keine Auswirkung. Erfordert Claude Code v2.1.193 oder später |253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, [Background-Shell-Befehle](/docs/de/interactive-mode#background-bash-commands) zu beenden, wenn das Betriebssystem Speicherdruck meldet. Standardmäßig beendet Claude Code auf macOS und Linux einen Background-Shell, der in der Hauptsitzung gestartet wurde, bei einem Speicherdruck-Signal, sobald die Sitzung 30 Minuten untätig war und kein Turn oder Subagent läuft. Windows hat kein Speicherdruck-Signal, daher hat diese Variable dort keine Auswirkung. Erfordert Claude Code v2.1.193 oder später |

251| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Setzen Sie auf `1`, um die [Skills](/docs/de/skills) und Workflows zu deaktivieren, die mit Claude Code enthalten sind: Gebündelte Skills und Workflows werden vollständig entfernt, während integrierte Befehle wie `/init` tippbar bleiben, aber vom Modell verborgen sind. `/doctor` bleibt tippbar wie die integrierten Befehle; verstecken Sie es mit `DISABLE_DOCTOR_COMMAND` statt. Skills von Plugins, `.claude/skills/` und `.claude/commands/` sind nicht betroffen. Entspricht der [`disableBundledSkills`](/docs/de/settings-reference#disablebundledskills)-Einstellung |254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Setzen Sie auf `1`, um die [Skills](/docs/de/skills) und Workflows zu deaktivieren, die mit Claude Code enthalten sind: Bundled Skills und Workflows werden vollständig entfernt, während integrierte Befehle wie `/init` tippbar bleiben, aber vom Modell verborgen werden. `/doctor` bleibt wie die integrierten Befehle tippbar; verstecken Sie es mit `DISABLE_DOCTOR_COMMAND` statt. Skills von Plugins, `.claude/skills/` und `.claude/commands/` sind nicht betroffen. Äquivalent zur [`disableBundledSkills`](/docs/de/settings-reference#disablebundledskills)-Einstellung |

252| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Setzen Sie auf `1`, um die [Claude in Chrome](/docs/de/chrome)-Browser-Tools verfügbar zu halten, während Sie den Chrome-Abschnitt des System-Prompts und den `/claude-in-chrome` [Gebündelten Skill](/docs/de/skills#bundled-skills) auslassen. Für Hosts, die Claude Code einbetten und ihre eigene Browser-Anleitung bereitstellen. Erfordert Claude Code v2.1.257 oder später |255| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Setzen Sie auf `1`, um die [Claude in Chrome](/docs/de/chrome)-Browser-Tools verfügbar zu halten, während Sie den Chrome-Abschnitt des System-Prompts und den `/claude-in-chrome` [Bundled Skill](/docs/de/skills#bundled-skills) auslassen. Für Hosts, die Claude Code einbetten und ihre eigene Browser-Anleitung bereitstellen. Erfordert Claude Code v2.1.257 oder später |

253| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Setzen Sie auf `1`, um zu verhindern, dass CLAUDE.md-Memory-Dateien in den Kontext geladen werden, einschließlich Benutzer-, Projekt- und Auto-Memory-Dateien |256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Setzen Sie auf `1`, um zu verhindern, dass Memory-Dateien geladen werden, einschließlich Benutzer-, Projekt- und Auto-Memory-Dateien |

254| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie auf `1`, um [geplante Aufgaben](/docs/de/scheduled-tasks) zu deaktivieren. Der `/loop`-Skill und Cron-Tools werden nicht verfügbar und alle bereits geplanten Aufgaben stoppen, einschließlich Aufgaben, die bereits mid-session laufen |257| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie auf `1`, um [geplante Aufgaben](/docs/de/scheduled-tasks) zu deaktivieren. Der `/loop`-Skill und Cron-Tools werden nicht verfügbar und alle bereits geplanten Aufgaben stoppen, einschließlich Aufgaben, die bereits mid-session laufen |

255| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Setzen Sie auf `1`, um Anthropic-spezifische `anthropic-beta`-Request-Header und Beta-Tool-Schema-Felder (wie `defer_loading` und `eager_input_streaming`) aus API-Anfragen zu entfernen. Verwenden Sie dies, wenn ein Proxy-Gateway Anfragen mit Fehlern wie "Unexpected value(s) for the `anthropic-beta` header" oder "Extra inputs are not permitted" ablehnt. Standard-Felder (`name`, `description`, `input_schema`, `cache_control`) bleiben erhalten. [MCP-Toolsuche](/docs/de/mcp#scale-with-mcp-tool-search) ist deaktiviert und alle MCP-Tools laden upfront, auch wenn Sie `ENABLE_TOOL_SEARCH` setzen. Auf Claude Code v2.1.227 oder später können [verwaltete Einstellungen](/docs/de/managed-settings) die Toolsuche eingeschaltet halten. [Pre-Release-Fähigkeiten deaktivieren](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) behandelt, wo der Override gilt |258| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Setzen Sie auf `1`, um Anthropic-spezifische `anthropic-beta`-Request-Header und Beta-Tool-Schema-Felder (wie `defer_loading` und `eager_input_streaming`) aus API-Anfragen zu entfernen. Verwenden Sie dies, wenn ein Proxy-Gateway Anfragen mit Fehlern wie "Unexpected value(s) for the `anthropic-beta` header" oder "Extra inputs are not permitted" ablehnt. Standard-Felder (`name`, `description`, `input_schema`, `cache_control`) bleiben erhalten. [MCP-Tool-Suche](/docs/de/mcp#scale-with-mcp-tool-search) ist deaktiviert und alle MCP-Tools laden upfront, auch wenn Sie `ENABLE_TOOL_SEARCH` setzen. Auf Claude Code v2.1.227 oder später können [verwaltete Einstellungen](/docs/de/managed-settings) Tool-Suche aktiviert halten. [Pre-Release-Fähigkeiten deaktivieren](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) behandelt, wo der Override gilt |

256| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Setzen Sie auf `1`, um die integrierten [Explore- und Plan-Subagents](/docs/de/sub-agents#built-in-subagents) zu deaktivieren. Claude erkundet stattdessen mit seinen Such-Tools oder dem General-Purpose-Subagent, und [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) liest Dateien direkt, anstatt Explore- und Plan-Agents zu starten. Benutzerdefinierte Subagents mit dem Namen `Explore` oder `Plan` sind nicht betroffen. Um jeden integrierten Subagent-Typ im Agent SDK oder nicht-interaktiven Modus zu entfernen, verwenden Sie stattdessen `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Erfordert Claude Code v2.1.198 oder später |259| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Setzen Sie auf `1`, um die integrierten [Explore- und Plan-Subagents](/docs/de/sub-agents#built-in-subagents) zu deaktivieren. Claude erkundet mit seinen Such-Tools oder dem General-Purpose-Subagent statt, und [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) liest Dateien direkt, anstatt Explore- und Plan-Agents zu starten. Benutzerdefinierte Subagents mit Namen `Explore` oder `Plan` sind nicht betroffen. Um jeden integrierten Subagent-Typ im Agent SDK oder nicht-interaktiven Modus zu entfernen, verwenden Sie stattdessen `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Erfordert Claude Code v2.1.198 oder später |

257| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie auf `1`, um [Fast Mode](/docs/de/fast-mode) zu deaktivieren |260| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie auf `1`, um [Fast Mode](/docs/de/fast-mode) zu deaktivieren |

258| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Setzen Sie auf `1`, um die "How is Claude doing?"-Sitzungs-Qualitäts-Umfragen zu deaktivieren. Umfragen sind auch deaktiviert, wenn `DISABLE_TELEMETRY`, `DO_NOT_TRACK` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist, es sei denn, `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` meldet sich wieder an. Um stattdessen eine Sample-Rate zu setzen, verwenden Sie die [`feedbackSurveyRate`](/docs/de/settings-reference#feedbacksurveyrate)-Einstellung. Siehe [Sitzungs-Qualitäts-Umfragen](/docs/de/data-usage#session-quality-surveys) |261| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Setzen Sie auf `1`, um die "How is Claude doing?"-Sitzungsqualitäts-Umfragen zu deaktivieren. Umfragen sind auch deaktiviert, wenn `DISABLE_TELEMETRY`, `DO_NOT_TRACK` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist, es sei denn, `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` meldet sich wieder an. Um stattdessen eine Sample-Rate zu setzen, verwenden Sie die [`feedbackSurveyRate`](/docs/de/settings-reference#feedbacksurveyrate)-Einstellung. Siehe [Sitzungsqualitäts-Umfragen](/docs/de/data-usage#session-quality-surveys) |

259| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Setzen Sie auf `1`, um Datei-[Checkpointing](/docs/de/checkpointing) zu deaktivieren. Der `/rewind`-Befehl kann Code-Änderungen nicht wiederherstellen. Überschreibt die [`fileCheckpointingEnabled`](/docs/de/settings-reference#filecheckpointingenabled)-Einstellung |262| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Setzen Sie auf `1`, um Datei-[Checkpointing](/docs/de/checkpointing) zu deaktivieren. Der `/rewind`-Befehl kann Code-Änderungen nicht wiederherstellen. Überschreibt die [`fileCheckpointingEnabled`](/docs/de/settings-reference#filecheckpointingenabled)-Einstellung |

260| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Setzen Sie auf `1`, um integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot aus Claude's System-Prompt zu entfernen. Nützlich, wenn Sie Ihre eigenen Git-Workflow-Skills verwenden. Hat Vorrang vor der [`includeGitInstructions`](/docs/de/settings-reference#includegitinstructions)-Einstellung, wenn gesetzt |263| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Setzen Sie auf `1`, um integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot aus Claudes System-Prompt zu entfernen. Nützlich, wenn Sie Ihre eigenen Git-Workflow-Skills verwenden. Hat Vorrang vor der [`includeGitInstructions`](/docs/de/settings-reference#includegitinstructions)-Einstellung, wenn gesetzt |

261| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Setzen Sie auf `1`, um die automatische Umleitung von Opus 4.0 und 4.1 zur aktuellen Opus-Version auf der Anthropic API zu verhindern. Verwenden Sie, wenn Sie absichtlich ein älteres Modell anheften möchten. Die Umleitung läuft nicht auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry |264| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Setzen Sie auf `1`, um die automatische Neuzuordnung von Opus 4.0 und 4.1 zur aktuellen Opus-Version auf der Anthropic API zu verhindern. Verwenden Sie, wenn Sie absichtlich ein älteres Modell anheften möchten. Die Neuzuordnung läuft nicht auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry |

262| `CLAUDE_CODE_DISABLE_MOUSE` | Setzen Sie auf `1`, um die Maus-Verfolgung im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren. Tastatur-Scrolling mit `PgUp` und `PgDn` funktioniert immer noch. Verwenden Sie dies, um Ihres Terminal's natives Copy-on-Select-Verhalten zu behalten |265| `CLAUDE_CODE_DISABLE_MOUSE` | Setzen Sie auf `1`, um die Mausverfolgung im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren. Tastatur-Scrolling mit `PgUp` und `PgDn` funktioniert immer noch. Verwenden Sie dies, um das native Copy-on-Select-Verhalten Ihres Terminals zu behalten |

263| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Setzen Sie auf `1`, um Click-, Drag- und Hover-Handling im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren, während Sie Maus-Rad-Scrolling behalten. Verwenden Sie dies, wenn Sie möchten, dass Rad-Scroll in Claude Code funktioniert, aber nicht möchten, dass Clicks den Cursor positionieren, Tool-Ausgabe erweitern oder Links öffnen. `CLAUDE_CODE_DISABLE_MOUSE` hat Vorrang, wenn beide gesetzt sind. Erfordert Claude Code v2.1.195 oder später |266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Setzen Sie auf `1`, um Click-, Drag- und Hover-Handling im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren, während Sie Mausrad-Scrolling behalten. Verwenden Sie dies, wenn Sie möchten, dass Rad-Scroll in Claude Code funktioniert, aber nicht möchten, dass Clicks den Cursor positionieren, Tool-Ausgabe erweitern oder Links öffnen. `CLAUDE_CODE_DISABLE_MOUSE` hat Vorrang, wenn beide gesetzt sind. Erfordert Claude Code v2.1.195 oder später |

264| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, das [mTLS-Client-Zertifikat und den Schlüssel](/docs/de/network-config#mtls-authentication) erneut zu lesen, wenn eine API-Anfrage mit einem Verbindungs-Level-Fehler fehlschlägt, wie ein Verbindungs-Reset oder ein TLS-Handshake-Fehler. Mit dem Reload deaktiviert lädt Claude Code rotierte Dateien nur, wenn es nächstes Mal Einstellungen anwendet oder beim nächsten Startup. Erfordert Claude Code v2.1.232 oder später |267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, das [mTLS-Client-Zertifikat und den Schlüssel](/docs/de/network-config#mtls-authentication) erneut zu lesen, wenn eine API-Anfrage mit einem Verbindungs-Level-Fehler fehlschlägt, wie ein Verbindungs-Reset oder ein TLS-Handshake-Fehler. Mit dem Reload deaktiviert lädt Claude Code rotierte Dateien nur, wenn es nächstes Mal Einstellungen anwendet oder beim nächsten Start. Erfordert Claude Code v2.1.232 oder später |

265| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um nicht-wesentlichen Netzwerk-Traffic zu deaktivieren: Auto-Updates, Telemetrie, Fehler-Reporting, der `/feedback`-Befehl, [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior), Release-Notizen, die [PR- und MR-Status-Badge](/docs/de/interactive-mode#pr-review-status)-Überprüfungen und Verfügbarkeits-Überprüfungen wie die [Fast Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Überprüfung. Es stoppt auch die [Hintergrund-Läufe von Plugin-`command`-Quellen](/docs/de/plugin-marketplaces#when-claude-code-re-runs-the-command), die lokale Befehle statt Netzwerk-Traffic sind, weil sie Abhängigkeits-Installationen auslösen können. **Das Setzen auf `0` oder `false` deaktiviert immer noch diesen Traffic**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um sie wieder zu erlauben. Deaktiviert auch Feature-Flag-Abruf, was [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar macht. Offizielle Plugin-Marketplace-Auto-Installation ist nicht abgedeckt; deaktivieren Sie sie mit `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Betrifft nicht [Gateway-Modell-Erkennung](/docs/de/llm-gateway-connect#add-gateway-models-to-the-model-picker), die ihr eigenes Opt-In hat |268| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um nicht-wesentlichen Netzwerk-Traffic zu deaktivieren: Auto-Updates, Telemetrie, Fehlerberichterstattung, den `/feedback`-Befehl, [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior), Release-Notizen, die [PR- und MR-Status-Badge](/docs/de/interactive-mode#pr-review-status)-Überprüfungen und Verfügbarkeitsprüfungen wie die [Fast-Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Überprüfung. Es stoppt auch die [Background-Läufe von Plugin-`command`-Quellen](/docs/de/plugin-marketplaces#when-claude-code-re-runs-the-command), die lokale Befehle sind, anstatt Netzwerk-Traffic, da sie Abhängigkeits-Installationen auslösen können. **Das Setzen auf `0` oder `false` deaktiviert immer noch diesen Traffic**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um sie wieder zu erlauben. Deaktiviert auch Feature-Flag-Abruf, was [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar macht. Offizieller Plugin-Marketplace-Auto-Install ist nicht abgedeckt; deaktivieren Sie ihn mit `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Betrifft nicht [Gateway-Modell-Erkennung](/docs/de/llm-gateway-connect#add-gateway-models-to-the-model-picker), die ihr eigenes Opt-In hat |

266| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Setzen Sie auf `1`, um das Nicht-Streaming-Fallback zu deaktivieren, wenn eine Streaming-Anfrage mid-stream fehlschlägt. Streaming-Fehler propagieren stattdessen zur Wiederholungs-Schicht. Nützlich, wenn ein Proxy oder Gateway das Fallback verursacht, doppelte Tool-Ausführung zu produzieren |269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Setzen Sie auf `1`, um das Non-Streaming-Fallback zu deaktivieren, wenn eine Streaming-Anfrage mid-stream fehlschlägt. Streaming-Fehler propagieren stattdessen zur Retry-Schicht. Nützlich, wenn ein Proxy oder Gateway das Fallback verursacht, duplizierte Tool-Ausführung zu produzieren |

267| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Setzen Sie auf `1`, um die Desktop-Benachrichtigung des `PushNotification`-Tools zu senden, auch während Sie im Terminal tippen oder es fokussiert haben. Standardmäßig überspringt das Tool sowohl die Desktop-Benachrichtigung als auch den [Mobile Push](/docs/de/remote-control#mobile-push-notifications), wenn es kürzliche Tastatur-Aktivität oder Terminal-Fokus erkennt. Diese Variable deaktiviert nur diese lokale Überprüfung, daher kann der Server den Mobile Push immer noch unterdrücken, wenn er erkennt, dass Sie aktiv sind. Erfordert Claude Code v2.1.193 oder später |270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Setzen Sie auf `1`, um die Desktop-Benachrichtigung des `PushNotification`-Tools zu senden, auch während Sie im Terminal tippen oder es fokussiert haben. Standardmäßig überspringt das Tool sowohl die Desktop-Benachrichtigung als auch den [Mobile Push](/docs/de/remote-control#mobile-push-notifications), wenn es kürzliche Tastaturaktivität oder Terminal-Fokus erkennt. Diese Variable deaktiviert nur diese lokale Überprüfung, daher kann der Server den Mobile Push immer noch unterdrücken, wenn er erkennt, dass Sie aktiv sind. Erfordert Claude Code v2.1.193 oder später |

268| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Setzen Sie auf `1`, um die automatische Registrierung des offiziellen Plugin-Marketplace zu deaktivieren. Claude Code liest die Variable, wenn es den Marketplace registrieren soll, normalerweise beim ersten interaktiven Start einer Maschine. Wenn die Variable zu diesem Zeitpunkt gesetzt ist, überspringt Claude Code die Registrierung dauerhaft. Das Aufheben der Einstellung der Variablen später macht den Skip nicht rückgängig. Führen Sie `claude plugin marketplace add anthropics/claude-plugins-official` aus, um den Marketplace jederzeit zu registrieren |271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Setzen Sie auf `1`, um die automatische Registrierung des offiziellen Plugin-Marketplace zu deaktivieren. Claude Code liest die Variable, wenn es den Marketplace registrieren soll, normalerweise beim ersten interaktiven Start einer Maschine. Wenn die Variable zu diesem Zeitpunkt gesetzt ist, überspringt Claude Code die Registrierung dauerhaft. Das Aufheben der Einstellung der Variablen später macht den Skip nicht rückgängig. Führen Sie `claude plugin marketplace add anthropics/claude-plugins-official` aus, um den Marketplace jederzeit zu registrieren |

269| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, Ihre [`Notification`-Hooks für unbeantwortete Berechtigungs-Anfragen](/docs/de/hooks#notification) in Sitzungen auszuführen, in denen Claude Code sie an den Agent SDK's `canUseTool`-Callback sendet, was ist, wie Claude Desktop und die VS Code-Erweiterung Claude Code hosten. Hat keine Auswirkung in Terminal-Sitzungen. Erfordert Claude Code v2.1.233 oder später |272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, Ihre [`Notification`-Hooks für unbeantwortete Berechtigungsanfragen](/docs/de/hooks#notification) in Sitzungen auszuführen, in denen Claude Code sie an den `canUseTool`-Callback des Agent SDK sendet, was ist, wie Claude Desktop und die VS Code-Erweiterung Claude Code hosten. Hat keine Auswirkung in Terminal-Sitzungen. Erfordert Claude Code v2.1.233 oder später |

270| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Setzen Sie auf `1`, um das Laden von Skills aus dem System-weiten verwalteten Skills-Verzeichnis zu überspringen. Nützlich für Container- oder CI-Sitzungen, die keine Operator-bereitgestellten Skills laden sollten |273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Setzen Sie auf `1`, um das Laden von Skills aus dem systemweiten verwalteten Skills-Verzeichnis zu überspringen. Nützlich für Container- oder CI-Sitzungen, die keine Operator-bereitgestellten Skills laden sollten |

271| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Setzen Sie auf `1`, um automatische Terminal-Titel-Updates basierend auf Konversations-Kontext zu deaktivieren. In Agent SDK und `claude -p`-Sitzungen überspringt dies auch die Hintergrund-Anfrage des Small/Fast-Modells, die den Sitzungs-Titel generiert |274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Setzen Sie auf `1`, um automatische Terminal-Titel-Updates basierend auf Konversations-Kontext zu deaktivieren. In Agent SDK und `claude -p`-Sitzungen überspringt dies auch die Background-Small/Fast-Model-Anfrage, die den Sitzungs-Titel generiert |

272| `CLAUDE_CODE_DISABLE_THINKING` | Setzen Sie auf `1`, um den `thinking`-Parameter vollständig aus API-Anfragen auszulassen. Dies ist eine Kompatibilitäts-Option für Proxies und Gateways, die den Parameter ablehnen. Auf Modellen, die standardmäßig denken, bedeutet das Auslassen des Parameters, dass das Modell möglicherweise immer noch denkt. Um [erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) auf der Anthropic API explizit zu deaktivieren, verwenden Sie stattdessen `MAX_THINKING_TOKENS=0`. Weder Variable schaltet Denken auf Fable-Modellen aus, die Denken nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `MAX_THINKING_TOKENS=0` ebenfalls den Parameter aus, daher verhalten sich die beiden Variablen dort gleich |275| `CLAUDE_CODE_DISABLE_THINKING` | Setzen Sie auf `1`, um den `thinking`-Parameter vollständig aus API-Anfragen auszulassen. Dies ist eine Kompatibilitätsoption für Proxies und Gateways, die den Parameter ablehnen. Bei Modellen, die standardmäßig denken, bedeutet das Auslassen des Parameters, dass das Modell möglicherweise immer noch denkt. Um [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) auf der Anthropic API explizit zu deaktivieren, verwenden Sie stattdessen `MAX_THINKING_TOKENS=0`. Keine Variable schaltet Denken auf Fable-Modellen aus, die Denken nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `MAX_THINKING_TOKENS=0` ebenfalls den Parameter aus, daher verhalten sich die beiden Variablen dort gleich |

273| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Setzen Sie auf `1`, um proaktive [Auto-Compaction](/docs/de/costs#reduce-token-usage) zu überspringen, wenn Claude Code die Modell-ID nicht erkennt, wie ein [LLM-Gateway](/docs/de/llm-gateway)-Alias. Ohne diese Variable komprimiert Claude Code beim Kontext-Fenster, das es für die ID annimmt. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` kann das angenommene Fenster stattdessen korrigieren; siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) für wann jede Variable gilt. Erfordert Claude Code v2.1.223 oder später |276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Setzen Sie auf `1`, um proaktive [Auto-Compaction](/docs/de/costs#reduce-token-usage) zu überspringen, wenn Claude Code die Modell-ID nicht erkennt, wie ein [LLM-Gateway](/docs/de/llm-gateway)-Alias. Ohne diese Variable komprimiert Claude Code bei dem Kontext-Fenster, das es für die ID annimmt. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` kann das angenommene Fenster stattdessen korrigieren; siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) für wann jede Variable gilt. Erfordert Claude Code v2.1.223 oder später |

274| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Setzen Sie auf `1`, um virtuelles Scrolling im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren und jede Nachricht im Transkript zu rendern. Verwenden Sie dies, wenn Scrolling im Vollbild-Modus leere Regionen zeigt, wo Nachrichten erscheinen sollten |277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Setzen Sie auf `1`, um virtuelles Scrolling im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren und jede Nachricht im Transkript zu rendern. Verwenden Sie dies, wenn Scrolling im Vollbildmodus leere Regionen zeigt, wo Nachrichten erscheinen sollten |

275| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Setzen Sie auf `1`, um [Workflows](/docs/de/workflows#turn-workflows-off) zu deaktivieren. Entspricht der [`disableWorkflows`](/docs/de/settings-reference#disableworkflows)-Einstellung |278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Setzen Sie auf `1`, um [PowerShell-Tool](/docs/de/tools-reference#powershell-tool)-Befehle unter Windows direkt zu starten, anstatt durch den `cmd.exe`-Launcher. Standardmäßig lässt der Launcher einen PowerShell-Befehl [im Hintergrund laufen](/docs/de/tools-reference#background-commands) [zum nächsten Prozess der Sitzung übergehen](/docs/de/agent-view#the-supervisor-process), wie wenn Sie [die Sitzung backgrounden](/docs/de/agent-view#from-inside-a-session). Wenn Sie die Variable setzen, stoppt ein backgroundeter PowerShell-Befehl, wenn der Prozess der Sitzung beendet wird. Bash-Befehle sind nicht betroffen. Erfordert Claude Code v2.1.269 oder später |

276| `CLAUDE_CODE_EFFORT_LEVEL` | Setzen Sie die Effort-Stufe für unterstützte Modelle. Werte: `low`, `medium`, `high`, `xhigh`, `max` oder `auto`, um den Modell-Standard zu verwenden. Verfügbare Stufen hängen vom Modell ab. Hat Vorrang vor `--effort`, `/effort` und den `modelSettings`- und `effortLevel`-Einstellungen. Eine [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel) Obergrenze gilt immer noch. Siehe [Effort-Stufe anpassen](/docs/de/model-config#adjust-effort-level) |279| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Setzen Sie auf `1`, um [Workflows](/docs/de/workflows#turn-workflows-off) zu deaktivieren. Äquivalent zur [`disableWorkflows`](/docs/de/settings-reference#disableworkflows)-Einstellung |

277| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | Setzen Sie auf `1`, um das Anhängen von zusätzlichem Text an das Ende des System-Prompts von jedem [Subagent](/docs/de/sub-agents) außer einem [gegabelten Subagent](/docs/de/sub-agents#fork-the-current-conversation) zu aktivieren. Die [`--append-subagent-system-prompt`](/docs/de/cli-reference#cli-flags) und [`--append-subagent-system-prompt-file`](/docs/de/cli-reference#cli-flags)-Flags liefern den angehängten Text und setzen diese Variable automatisch, daher müssen Sie sie nicht selbst setzen. Erfordert Claude Code v2.1.205 oder später |280| `CLAUDE_CODE_EFFORT_LEVEL` | Setzen Sie die Effort-Ebene für unterstützte Modelle. Werte: `low`, `medium`, `high`, `xhigh`, `max` oder `auto`, um den Modell-Standard zu verwenden. Verfügbare Ebenen hängen vom Modell ab. Hat Vorrang vor `--effort`, `/effort` und den `modelSettings`- und `effortLevel`-Einstellungen. Eine [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel)-Obergrenze gilt immer noch. Siehe [Effort-Ebene anpassen](/docs/de/model-config#adjust-effort-level) |

278| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Akzeptiert für Kompatibilität mit älteren Versionen und hat keine Auswirkung. Auto-Modus ist standardmäßig auf jedem Provider verfügbar, einschließlich Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten [Claude Apps Gateway](/docs/de/claude-apps-gateway)-Sitzungen. In v2.1.158 bis v2.1.206 war das Setzen auf `1` erforderlich, um [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) auf diesen Providern verfügbar zu machen |281| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Akzeptiert für Kompatibilität mit älteren Versionen und hat keine Auswirkung. Auto-Modus ist standardmäßig auf jedem Provider verfügbar, einschließlich Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten [Claude Apps Gateway](/docs/de/claude-apps-gateway)-Sitzungen. In v2.1.158 bis v2.1.206 war das Setzen auf `1` erforderlich, um [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) auf diesen Providern verfügbar zu machen |

279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Überschreiben Sie die [Sitzungs-Zusammenfassung](/docs/de/interactive-mode#session-recap)-Verfügbarkeit. Setzen Sie auf `0`, um Zusammenfassungen unabhängig vom `/config`-Toggle auszuschalten. Setzen Sie auf `1`, um Zusammenfassungen zu erzwingen, wenn [`awaySummaryEnabled`](/docs/de/settings-reference#awaysummaryenabled) `false` ist. Hat Vorrang vor der Einstellung und dem `/config`-Toggle |282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Überschreiben Sie die [Sitzungs-Zusammenfassung](/docs/de/interactive-mode#session-recap)-Verfügbarkeit. Setzen Sie auf `0`, um Zusammenfassungen unabhängig vom `/config`-Toggle auszuschalten. Setzen Sie auf `1`, um Zusammenfassungen zu erzwingen, wenn [`awaySummaryEnabled`](/docs/de/settings-reference#awaysummaryenabled) `false` ist. Hat Vorrang vor der Einstellung und dem `/config`-Toggle |

280| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Setzen Sie auf `1`, um den Plugin-Status bei Turn-Grenzen im [nicht-interaktiven Modus](/docs/de/headless) zu aktualisieren, nachdem eine Hintergrund-Installation abgeschlossen ist. Standardmäßig aus, weil die Aktualisierung den System-Prompt mid-session ändert, was [Prompt-Caching](/docs/de/prompt-caching) für diesen Turn ungültig macht |283| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Setzen Sie auf `1`, um den Plugin-Status bei Turn-Grenzen im [nicht-interaktiven Modus](/docs/de/headless) zu aktualisieren, nachdem eine Background-Installation abgeschlossen ist. Standardmäßig aus, da die Aktualisierung den System-Prompt mid-session ändert, was [Prompt-Caching](/docs/de/prompt-caching) für diesen Turn ungültig macht |

281| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Setzen Sie auf `1`, um die "How is Claude doing?"-Sitzungs-Qualitäts-Umfrage zu Ihrem eigenen [OpenTelemetry-Collector](/docs/de/monitoring-usage) zu leiten, wenn Anthropic-gebundener nicht-wesentlicher Traffic blockiert ist. Umfrage-Bewertungen werden nur als OTEL-Events zu Ihrem konfigurierten Collector emittiert. Keine Umfrage-Daten werden in diesem Modus an Anthropic gesendet. Gilt, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` oder `DO_NOT_TRACK` gesetzt ist, und hat sonst keine Auswirkung. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` und die Organisations-Produkt-Feedback-Richtlinie haben Vorrang |284| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Setzen Sie auf `1`, um die "How is Claude doing?"-Sitzungsqualitäts-Umfrage an Ihren eigenen [OpenTelemetry-Collector](/docs/de/monitoring-usage) zu leiten, wenn Anthropic-gebundener nicht-wesentlicher Traffic blockiert ist. Umfrage-Bewertungen werden nur als OTEL-Events an Ihren konfigurierten Collector ausgegeben. Keine Umfrage-Daten werden in diesem Modus an Anthropic gesendet. Gilt, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` oder `DO_NOT_TRACK` gesetzt ist, und hat sonst keine Auswirkung. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` und die Organisations-Produktfeedback-Richtlinie haben Vorrang |

282| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Kontrolliert, ob Tool-Aufruf-Eingaben von der API streamen, während Claude sie generiert. Mit diesem aus kommt eine große Tool-Eingabe wie ein langer Datei-Schreib nur an, nachdem Claude sie fertig generiert hat, was aussehen kann, als würde es hängen. Standardmäßig auf der Anthropic API aktiviert. Bei Amazon Bedrock und Google Cloud's Agent Platform, aktiviert pro Modell, wo der bereitgestellte Container es unterstützt. Setzen Sie auf `0`, um zu deaktivieren. Setzen Sie auf `1`, um zu erzwingen, wenn Routing durch einen Proxy über `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` oder `ANTHROPIC_BEDROCK_BASE_URL`. Standardmäßig bei Microsoft Foundry und [Gateway](/docs/de/llm-gateway)-Verbindungen aus |285| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Kontrolliert, ob Tool-Call-Eingaben von der API streamen, während Claude sie generiert. Mit diesem aus kommt eine große Tool-Eingabe wie ein langer Datei-Write nur an, nachdem Claude sie fertig generiert hat, was aussehen kann, als würde es hängen. Standardmäßig auf der Anthropic API aktiviert. Bei Amazon Bedrock und Google Cloud's Agent Platform, aktiviert pro Modell, wo der bereitgestellte Container es unterstützt. Setzen Sie auf `0`, um zu deaktivieren. Setzen Sie auf `1`, um zu erzwingen, wenn Routing durch einen Proxy über `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` oder `ANTHROPIC_BEDROCK_BASE_URL`. Standardmäßig aus bei Microsoft Foundry und [Gateway](/docs/de/llm-gateway)-Verbindungen |

283| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Setzen Sie auf `1`, um die `/model`-Auswahl von Ihrem Gateway's `/v1/models`-Endpunkt zu füllen, wenn `ANTHROPIC_BASE_URL` auf ein Anthropic-kompatibles Gateway wie LiteLLM, Kong oder einen internen Proxy zeigt. Standardmäßig aus, weil Gateways, die von einem gemeinsamen API-Schlüssel unterstützt werden, andernfalls jedem Benutzer jedes Modell zeigen würden, das der Schlüssel zugreifen kann. Erkannte Modelle werden immer noch durch eine [`availableModels`](/docs/de/settings-reference#availablemodels)-Allowlist gefiltert, die die Sitzung erhält; liefern Sie die Liste durch [MDM oder eine verwaltete Einstellungsdatei](/docs/de/managed-settings#delivery-mechanisms), da [Server-verwaltete Lieferung bei Gateway-Konfigurationen nicht verfügbar ist](/docs/de/server-managed-settings#platform-availability) |286| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Setzen Sie auf `1`, um den `/model`-Picker von Ihrem Gateway's `/v1/models`-Endpunkt zu füllen, wenn `ANTHROPIC_BASE_URL` auf ein Anthropic-kompatibles Gateway wie LiteLLM, Kong oder einen internen Proxy verweist. Standardmäßig aus, da Gateways, die von einem gemeinsamen API-Schlüssel unterstützt werden, andernfalls jedem Benutzer jedes Modell zeigen würden, das der Schlüssel zugreifen kann. Entdeckte Modelle werden immer noch durch eine [`availableModels`](/docs/de/settings-reference#availablemodels)-Allowlist gefiltert, die die Sitzung erhält; liefern Sie die Liste über [MDM oder eine verwaltete Einstellungsdatei](/docs/de/managed-settings#delivery-mechanisms), da [Server-verwaltete Lieferung bei Gateway-Konfigurationen nicht verfügbar ist](/docs/de/server-managed-settings#platform-availability) |

284| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Entfernt in v2.1.142, als der [Fast Mode](/docs/de/fast-mode)-Standard von Opus 4.6 zu Opus 4.7 wechselte |287| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Entfernt in v2.1.142, als der [Fast-Mode](/docs/de/fast-mode)-Standard von Opus 4.6 zu Opus 4.7 wechselte |

285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Setzen Sie auf `false`, um Prompt-Vorschläge auszuschalten, die ausgegraut Vorhersagen, die in Ihrer Prompt-Eingabe erscheinen. Hat Vorrang vor der [`promptSuggestionEnabled`](/docs/de/settings-reference#promptsuggestionenabled)-Einstellung, die ist, was der **Prompt suggestions**-Toggle in `/config` schreibt. Claude Code [pausiert auch Vorschläge, während Ihr Konto nahe oder bei seinem Nutzungs-Limit ist](/docs/de/interactive-mode#when-claude-code-skips-suggestions). Setzen Sie auf `true`, um sie eingeschaltet zu halten, bis Sie das Limit erreichen. Erfordert Claude Code v2.1.238 oder später. Siehe [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) |288| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Setzen Sie auf `false`, um Prompt-Vorschläge auszuschalten, die ausgegraut Vorhersagen, die in Ihrer Prompt-Eingabe erscheinen. Hat Vorrang vor der [`promptSuggestionEnabled`](/docs/de/settings-reference#promptsuggestionenabled)-Einstellung, die ist, was der **Prompt-Vorschläge**-Toggle in `/config` schreibt. Claude Code [pausiert auch Vorschläge, während Ihr Konto nahe oder bei seinem Nutzungslimit ist](/docs/de/interactive-mode#when-claude-code-skips-suggestions). Setzen Sie auf `true`, um sie eingeschaltet zu halten, bis Sie das Limit erreichen. Erfordert Claude Code v2.1.238 oder später. Siehe [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) |

286| `CLAUDE_CODE_ENABLE_TASKS` | Wählt, welche Task-Tracking-Tools Claude Code in [Sitzungen bereitstellt, die sie haben](/docs/de/tools-reference#task-tool-availability). Standardmäßig stellt Claude Code die Task-Tools `TaskCreate`, `TaskUpdate`, `TaskGet` und `TaskList` bereit. Setzen Sie auf `0`, um stattdessen das Legacy-`TodoWrite`-Tool zu erhalten. Siehe [Task-Liste](/docs/de/interactive-mode#task-list) |289| `CLAUDE_CODE_ENABLE_TASKS` | Wählt, welche Task-Tracking-Tools Claude Code in [Sitzungen bereitstellt, die sie haben](/docs/de/tools-reference#task-tool-availability). Standardmäßig stellt Claude Code die Task-Tools `TaskCreate`, `TaskUpdate`, `TaskGet` und `TaskList` bereit. Setzen Sie auf `0`, um stattdessen das Legacy-`TodoWrite`-Tool zu erhalten. Siehe [Task-Liste](/docs/de/interactive-mode#task-list) |

287| `CLAUDE_CODE_ENABLE_TELEMETRY` | Setzen Sie auf `1`, um OpenTelemetry-Datenerfassung für Metriken und Logging zu aktivieren. Erforderlich, bevor OTel-Exporter konfiguriert werden. Siehe [Monitoring](/docs/de/monitoring-usage) |290| `CLAUDE_CODE_ENABLE_TELEMETRY` | Setzen Sie auf `1`, um OpenTelemetry-Datenerfassung für Metriken und Protokollierung zu aktivieren. Erforderlich, bevor OTel-Exporter konfiguriert werden. Siehe [Monitoring](/docs/de/monitoring-usage) |

288| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Setzen Sie auf `1`, um die Task-Tracking-Tools auf den Modellen zu erhalten, die unter [Task-Tool-Verfügbarkeit](/docs/de/tools-reference#task-tool-availability) aufgelistet sind, wo Claude Code sie andernfalls auslässt. `CLAUDE_CODE_ENABLE_TASKS` wählt immer noch die Task-Tools oder `TodoWrite`. Erfordert Claude Code v2.1.233 oder später |291| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Setzen Sie auf `1`, um die Task-Tracking-Tools auf jedem Modell zu erhalten. Ohne dies stellt Claude Code sie standardmäßig nur auf den Modellen bereit, die unter [Task-Tool-Verfügbarkeit](/docs/de/tools-reference#task-tool-availability) aufgelistet sind. `CLAUDE_CODE_ENABLE_TASKS` wählt immer noch die Task-Tools oder `TodoWrite`. Erfordert Claude Code v2.1.233 oder später |

289| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Zeit in Millisekunden zum Warten, nachdem die Query-Schleife untätig wird, bevor automatisch beendet wird. Nützlich für automatisierte Workflows und Skripte, die SDK-Modus verwenden |292| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Zeit in Millisekunden, die nach dem Leerlaufen der Query-Schleife gewartet werden soll, bevor automatisch beendet wird. Nützlich für automatisierte Workflows und Skripte, die SDK-Modus verwenden |

290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Setzen Sie auf `1`, um [Agent-Teams](/docs/de/agent-teams) zu aktivieren. Agent-Teams sind experimentell und standardmäßig deaktiviert |293| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Setzen Sie auf `1`, um [Agent-Teams](/docs/de/agent-teams) zu aktivieren. Agent-Teams sind experimentell und standardmäßig deaktiviert |

291| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene jedes API-Request-Body zusammengeführt wird. Nützlich zum Übergeben von Provider-spezifischen Parametern, die Claude Code nicht direkt verfügbar macht. Ein Wert, der in Ihrer Shell exportiert wird, gilt auch für die [Hintergrund-Sitzungen](/docs/de/agent-view), die Sie mit `claude agents` oder `--bg` dispatchen. Vor v2.1.206 ignorierten Hintergrund-Sitzungen einen Shell-exportierten Wert und verwendeten, was die Hintergrund-Supervisor-Prozess geerbt hatte |294| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene jedes API-Request-Body zusammengeführt werden soll. Nützlich zum Übergeben von Provider-spezifischen Parametern, die Claude Code nicht direkt verfügbar macht. Ein Wert, der in Ihrer Shell exportiert wird, gilt auch für die [Background-Sitzungen](/docs/de/agent-view), die Sie mit `claude agents` oder `--bg` dispatchen. Vor v2.1.206 ignorierten Background-Sitzungen einen Shell-exportierten Wert und verwendeten, was der Background-Supervisor-Prozess erbte |

292| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreiben Sie das Standard-Token-Limit für Datei-Lesevorgänge. Nützlich, wenn Sie größere Dateien vollständig lesen müssen |295| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreiben Sie das Standard-Token-Limit für Datei-Lesevorgänge. Nützlich, wenn Sie größere Dateien vollständig lesen müssen |

293| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Setzen Sie auf `1`, um Transkript-Persistenz, Prompt-Verlauf und `claude agents`-Registrierung zu erzwingen, auch wenn dieser `claude` von innen in einer anderen Claude Code-Sitzung gestartet wurde. Verwenden Sie, wenn ein geerbter `CLAUDE_CODE_CHILD_SESSION`-Wert, zum Beispiel von einer `screen`-Sitzung oder einem Hintergrund-Launcher, der zuerst von Claude Code's Bash-Tool gestartet wurde, verursacht, dass eine echte Top-Level-Sitzung als verschachtelt fehlklassifiziert wird. Ab v2.1.178 erkennt Claude Code den Tmux-Fall automatisch und ignoriert den geerbten Marker, daher braucht Tmux diese Variable nicht mehr. Auch auf v2.1.169 und früher geehrt; hat keine Auswirkung auf v2.1.170 und v2.1.171, wo die verschachtelte Sitzungs-Erkennung, die es überschreibt, entfernt wurde |296| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Setzen Sie auf `1`, um Transkript-Persistenz, Prompt-Verlauf und `claude agents`-Registrierung zu erzwingen, auch wenn dieser `claude` von innen in einer anderen Claude Code-Sitzung gestartet wurde. Verwenden Sie, wenn ein vererbter `CLAUDE_CODE_CHILD_SESSION`-Wert, zum Beispiel von einer `screen`-Sitzung oder einem Background-Launcher, der zuerst von Claude Code's Bash-Tool gestartet wurde, verursacht, dass eine echte Top-Level-Sitzung als verschachtelt fehlklassifiziert wird. Ab v2.1.178 erkennt Claude Code den Tmux-Fall automatisch und ignoriert den vererbten Marker, daher braucht Tmux diese Variable nicht mehr. Auch auf v2.1.169 und früher geehrt; hat keine Auswirkung auf v2.1.170 und v2.1.171, wo die verschachtelte Sitzungs-Erkennung, die es überschreibt, entfernt wurde |

294| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Setzen Sie auf `1`, um Durchstreichungs-Rendering für `~~text~~` in Claude's Antworten zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht auto-erkannt wird, wie über SSH ohne `TERM_PROGRAM` weitergeleitet. Ohne dies zeigen nicht erkannte Terminals die wörtlichen `~~`-Marker statt den Text als Durchstreichung zu rendern. Erfordert Claude Code v2.1.186 oder später |297| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Setzen Sie auf `1`, um Durchstreichungs-Rendering für `~~text~~` in Claudes Antworten zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht auto-erkannt wird, wie über SSH ohne `TERM_PROGRAM` weitergeleitet. Ohne dies zeigen nicht erkannte Terminals die literalen `~~`-Marker, anstatt den Text als Durchstreichung zu rendern. Erfordert Claude Code v2.1.186 oder später |

295| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setzen Sie auf `1`, um DEC-Privatmodus 2026 [synchronisierte Ausgabe](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht auto-erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Fähigkeits-Sonde antworten. Hat keine Auswirkung unter Tmux. Im Gegensatz zu `CLAUDE_CODE_NO_FLICKER`, das zum [Vollbild-Rendering](/docs/de/fullscreen) wechselt, ändert dies nicht den Renderer |298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setzen Sie auf `1`, um DEC-Privatmodus 2026 [synchronisierte Ausgabe](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht auto-erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Fähigkeits-Sonde antworten. Hat keine Auswirkung unter Tmux. Im Gegensatz zu `CLAUDE_CODE_NO_FLICKER`, das zum [Vollbild-Rendering](/docs/de/fullscreen) wechselt, ändert dies nicht den Renderer |

296| `CLAUDE_CODE_FORK_SUBAGENT` | Kontrolliert [Fork-Modus](/docs/de/sub-agents#turn-fork-mode-on-or-off), der Claude erlaubt, [gegabelte Subagents](/docs/de/sub-agents#fork-the-current-conversation) selbst zu spawnen, und ist standardmäßig nur in interaktiven Sitzungen eingeschaltet. Setzen Sie auf `1`, um es auch in `claude -p` und dem Agent SDK einzuschalten, oder `0`, um es in jeder Art von Sitzung auszuschalten. Sie können `/subtask` ausführen, ob Fork-Modus eingeschaltet ist oder nicht. Der interaktive Standard erfordert Claude Code v2.1.232 oder später; auf früheren Versionen setzen Sie die Variable auf `1`, um Fork-Modus einzuschalten |299| `CLAUDE_CODE_FORK_SUBAGENT` | Kontrolliert [Fork-Modus](/docs/de/sub-agents#turn-fork-mode-on-or-off), der Claude erlaubt, [gegabelte Subagents](/docs/de/sub-agents#fork-the-current-conversation) selbst zu spawnen, und ist standardmäßig nur in interaktiven Sitzungen aktiviert. Setzen Sie auf `1`, um es auch in `claude -p` und dem Agent SDK zu aktivieren, oder `0`, um es in jeder Art von Sitzung auszuschalten. Sie können `/subtask` ausführen, ob Fork-Modus aktiviert ist oder nicht. Der interaktive Standard erfordert Claude Code v2.1.232 oder später; auf früheren Versionen setzen Sie die Variable auf `1`, um Fork-Modus zu aktivieren |

297| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Setzen Sie auf `1`, um [Subagent](/docs/de/sub-agents)-Text- und Denk-Blöcke in `claude -p --output-format stream-json`-Ausgabe auszugeben, das gleiche Verhalten wie das [`--forward-subagent-text`](/docs/de/cli-reference#cli-flags)-Flag. Verwenden Sie die Variable, wenn ein Harness `claude` aufruft und das Flag nicht selbst übergeben kann. Im Gegensatz zum Flag, das außerhalb des nicht-interaktiven Modus mit Stream-JSON-Ausgabe mit einem Fehler beendet wird, wird die Variable dort ignoriert, daher funktionieren verschachtelte Aufrufe weiter, wenn sie prozess-weit gesetzt ist. Erfordert Claude Code v2.1.211 oder später |300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Setzen Sie auf `1`, um [Subagent](/docs/de/sub-agents)-Text- und Denk-Blöcke in `claude -p --output-format stream-json`-Ausgabe auszugeben, das gleiche Verhalten wie die [`--forward-subagent-text`](/docs/de/cli-reference#cli-flags)-Flag. Verwenden Sie die Variable, wenn ein Harness `claude` aufruft und die Flag selbst nicht übergeben kann. Im Gegensatz zur Flag, die außerhalb des nicht-interaktiven Modus mit Stream-JSON-Ausgabe mit einem Fehler beendet wird, wird die Variable dort ignoriert, daher funktionieren verschachtelte Aufrufe weiter, wenn sie prozessweit gesetzt ist. Erfordert Claude Code v2.1.211 oder später |

298| `CLAUDE_CODE_GIT_BASH_PATH` | Nur Windows: Pfad zur Git Bash-Ausführungsdatei (`bash.exe`). Verwenden Sie, wenn Git Bash installiert ist, aber nicht in Ihrem PATH. Wenn der Pfad nicht existiert oder die Datei nicht `bash.exe`, `sh.exe`, `bash` oder `sh` heißt, ignoriert Claude Code die Variable und auto-erkennt Git Bash, als wäre sie nicht gesetzt, und protokolliert eine Warnung, die mit `--debug` sichtbar ist. Vor v2.1.219 beendete Claude Code beim Startup, wenn der Pfad nicht existierte, und verwendete jede existierende Datei als Shell, ohne zu überprüfen, dass es Bash oder sh war. Siehe [Windows-Setup](/docs/de/setup#set-up-on-windows) |301| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in Millisekunden für die [Gateway-Modell-Erkennungs](/docs/de/llm-gateway-protocol#model-discovery)-Anfrage, die `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` aktiviert (Standard: `3000`). Erhöhen Sie dies, wenn Ihr Gateway länger als drei Sekunden braucht, um `/v1/models` beim Start zu beantworten. Akzeptiert nur einfache Ziffern; `0`, negative Werte und andere Schreibweisen behalten den Standard. Erfordert Claude Code v2.1.269 oder später |

302| `CLAUDE_CODE_GIT_BASH_PATH` | Nur Windows: Pfad zur Git Bash-Ausführungsdatei (`bash.exe`). Verwenden Sie, wenn Git Bash installiert ist, aber nicht in Ihrem PATH. Wenn der Pfad nicht existiert oder die Datei nicht `bash.exe`, `sh.exe`, `bash` oder `sh` heißt, ignoriert Claude Code die Variable und auto-erkennt Git Bash, als ob sie nicht gesetzt wäre, und protokolliert eine Warnung, die mit `--debug` sichtbar ist. Vor v2.1.219 beendete Claude Code beim Start, wenn der Pfad nicht existierte, und verwendete jede existierende Datei als Shell, ohne zu überprüfen, dass es Bash oder sh war. Siehe [Windows-Setup](/docs/de/setup#set-up-on-windows) |

299| `CLAUDE_CODE_GLOB_HIDDEN` | Setzen Sie auf `false`, um Dotfiles aus Ergebnissen auszuschließen, wenn Claude das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) aufruft. Standardmäßig enthalten. Betrifft nicht `@`-Datei-Autovervollständigung, `ls`, Grep oder Read |303| `CLAUDE_CODE_GLOB_HIDDEN` | Setzen Sie auf `false`, um Dotfiles aus Ergebnissen auszuschließen, wenn Claude das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) aufruft. Standardmäßig enthalten. Betrifft nicht `@`-Datei-Autovervollständigung, `ls`, Grep oder Read |

300| `CLAUDE_CODE_GLOB_NO_IGNORE` | Setzen Sie auf `false`, um das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) `.gitignore`-Muster respektieren zu lassen. Standardmäßig gibt Glob alle übereinstimmenden Dateien zurück, einschließlich gitignorierter. Betrifft nicht `@`-Datei-Autovervollständigung, die ihre eigene [`respectGitignore`-Einstellung](/docs/de/settings-reference#respectgitignore) hat |304| `CLAUDE_CODE_GLOB_NO_IGNORE` | Setzen Sie auf `false`, um das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) `.gitignore`-Muster respektieren zu lassen. Standardmäßig gibt Glob alle übereinstimmenden Dateien zurück, einschließlich gitignorierter. Betrifft nicht `@`-Datei-Autovervollständigung, die ihre eigene [`respectGitignore`-Einstellung](/docs/de/settings-reference#respectgitignore) hat |

301| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in Sekunden für Glob-Tool-Datei-Erkennung. Standard ist 20 Sekunden auf den meisten Plattformen und 60 Sekunden auf WSL |305| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in Sekunden für Glob-Tool-Datei-Erkennung. Standardmäßig 20 Sekunden auf den meisten Plattformen und 60 Sekunden auf WSL |

302| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Wie viele Minuten Hintergrund-Arbeit ein aktives Ziel warten lassen kann, bevor Claude Code [Claude auffordert, es zu überprüfen](/docs/de/goal#background-work-defers-evaluation). Standard `30`. Setzen Sie `0`, um Check-ins auszuschalten. Geben Sie ganze Minuten in einfachen Ziffern an, höchstens `10080`, was eine Woche ist. Claude Code behandelt jeden anderen Wert als nicht gesetzt und verwendet den Standard. Erfordert Claude Code v2.1.234 oder später |306| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Wie viele Minuten Hintergrundarbeit ein aktives Ziel warten lassen kann, bevor Claude Code [Claude auffordert, es zu überprüfen](/docs/de/goal#background-work-defers-evaluation). Standard `30`. Setzen Sie auf `0`, um Check-ins auszuschalten. Geben Sie ganze Minuten in einfachen Ziffern an, höchstens `10080`, was eine Woche ist. Claude Code behandelt jeden anderen Wert als nicht gesetzt und verwendet den Standard. Erfordert Claude Code v2.1.234 oder später |

303| `CLAUDE_CODE_HIDE_CWD` | Setzen Sie auf `1`, um das Arbeitsverzeichnis im Startup-Logo zu verbergen. Nützlich für Screenshares oder Aufzeichnungen, wo der Pfad Ihren OS-Benutzernamen offenlegt |307| `CLAUDE_CODE_HIDE_CWD` | Setzen Sie auf `1`, um das Arbeitsverzeichnis im Startup-Logo zu verbergen. Nützlich für Screenshares oder Aufzeichnungen, wo der Pfad Ihren OS-Benutzernamen offenlegt |

304| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Überschreiben Sie die Host-Adresse, die zum Verbinden mit der IDE-Erweiterung verwendet wird. Standardmäßig auto-erkennt Claude Code die richtige Adresse, einschließlich WSL-zu-Windows-Routing |308| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Überschreiben Sie die Host-Adresse, die zum Verbinden mit der IDE-Erweiterung verwendet wird. Standardmäßig auto-erkennt Claude Code die richtige Adresse, einschließlich WSL-zu-Windows-Routing |

305| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Setzen Sie auf `1`, um die Auto-Installation von IDE-Erweiterungen zu überspringen. Entspricht dem Setzen von [`autoInstallIdeExtension`](/docs/de/settings-reference#autoinstallideextension) auf `false` |309| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Setzen Sie auf `1`, um die Auto-Installation von IDE-Erweiterungen zu überspringen. Äquivalent zum Setzen von [`autoInstallIdeExtension`](/docs/de/settings-reference#autoinstallideextension) auf `false` |

306| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Setzen Sie auf `1`, um die Validierung von IDE-Lockfile-Einträgen während der Verbindung zu überspringen. Verwenden Sie, wenn Auto-Connect Ihre IDE nicht findet, obwohl sie läuft |310| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Setzen Sie auf `1`, um die Validierung von IDE-Lockfile-Einträgen während der Verbindung zu überspringen. Verwenden Sie, wenn Auto-Connect Ihre IDE trotz laufend nicht findet |

307| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Wie viele [Subagents](/docs/de/sub-agents#concurrent-subagent-limit) in einer Sitzung laufen können, bevor das Agent-Tool sich weigert, einen anderen zu spawnen (Standard: 20). Akzeptiert eine positive ganze Zahl in einfachen Ziffern; alles andere wird ignoriert, daher kann die Variable die Obergrenze anpassen, aber nicht deaktivieren. Erfordert Claude Code v2.1.217 oder später |311| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Wie viele [Subagents](/docs/de/sub-agents#concurrent-subagent-limit) in einer Sitzung laufen können, bevor das Agent-Tool sich weigert, einen anderen zu spawnen (Standard: 20). Akzeptiert eine positive ganze Zahl in einfachen Ziffern; alles andere wird ignoriert, daher kann die Variable die Obergrenze anpassen, aber nicht deaktivieren. Erfordert Claude Code v2.1.217 oder später |

308| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Überschreiben Sie die Kontext-Fenster-Größe, die Claude Code für das aktive Modell annimmt. Ab v2.1.193 hängt, wie es angewendet wird, davon ab, wie Claude Code die Modell-ID auflöst; siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Verwenden Sie dies, wenn Routing zu einem Modell durch `ANTHROPIC_BASE_URL`, dessen Kontext-Fenster nicht der integrierten Größe für seinen Namen entspricht |312| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Überschreiben Sie die Kontext-Fenster-Größe, die Claude Code für das aktive Modell annimmt. Ab v2.1.193 hängt, wie es angewendet wird, davon ab, wie Claude Code die Modell-ID auflöst; siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Verwenden Sie dies beim Routing zu einem Modell durch `ANTHROPIC_BASE_URL`, dessen Kontext-Fenster nicht der integrierten Größe für seinen Namen entspricht |

309| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Setzen Sie die maximale Anzahl von Ausgabe-Tokens für die meisten Anfragen. Standardwerte und Obergrenzen variieren je nach Modell; siehe [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code standardmäßig auf 32000 für Modell-IDs, die es nicht erkennt, wie Gateway-spezifische Namen, und senkt Werte über einer Modell-Obergrenze auf die Obergrenze. Das Erhöhen dieses Wertes reduziert das verfügbare effektive Kontext-Fenster, bevor [Auto-Compaction](/docs/de/costs#reduce-token-usage) ausgelöst wird |313| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Setzen Sie die maximale Anzahl von Output-Tokens für die meisten Anfragen. Standardwerte und Obergrenzen variieren je nach Modell; siehe [Max Output Tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code standardmäßig auf 32000 für Modell-IDs, die es nicht erkennt, wie Gateway-spezifische Namen, und senkt Werte über einer Modell-Obergrenze auf die Obergrenze. Das Erhöhen dieses Wertes reduziert das verfügbare effektive Kontext-Fenster, bevor [Auto-Compaction](/docs/de/costs#reduce-token-usage) ausgelöst wird |

310| `CLAUDE_CODE_MAX_RETRIES` | Überschreiben Sie die Anzahl der Wiederholungen fehlgeschlagener API-Anfragen (Standard: 10). Begrenzt auf 15 ab v2.1.186; ab v2.1.199 erhöht `CLAUDE_CODE_RETRY_WATCHDOG` den Standard und entfernt die Obergrenze. Für unbeaufsichtigte Sitzungen, die längere Ausfallzeiten abwarten müssen, setzen Sie stattdessen `CLAUDE_CODE_RETRY_WATCHDOG` |314| `CLAUDE_CODE_MAX_RETRIES` | Überschreiben Sie die Anzahl der Wiederholungen fehlgeschlagener API-Anfragen (Standard: 10). Begrenzt auf 15 ab v2.1.186; ab v2.1.199 hebt `CLAUDE_CODE_RETRY_WATCHDOG` den Standard an und entfernt die Obergrenze. Für unbeaufsichtigte Sitzungen, die längere Ausfallzeiten abwarten müssen, setzen Sie stattdessen `CLAUDE_CODE_RETRY_WATCHDOG` |

311| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Entfernt in v2.1.224 und jetzt ein No-Op. Begrenzte zuvor die Gesamtzahl der [Subagents](/docs/de/sub-agents), die Claude mit dem Agent-Tool in einer Sitzung spawnen konnte (Standard: 200); Spawning über die Obergrenze fehlte mit `Subagent spawn limit reached`. Die [gleichzeitige Subagent-Obergrenze](/docs/de/sub-agents#concurrent-subagent-limit) und die [Tiefe-Obergrenze](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) gelten immer noch |315| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Entfernt in v2.1.224 und jetzt ein No-Op. Begrenzte zuvor die Gesamtzahl der [Subagents](/docs/de/sub-agents), die Claude mit dem Agent-Tool in einer Sitzung spawnen konnte (Standard: 200); Spawning über die Obergrenze hinaus schlägt mit `Subagent spawn limit reached` fehl. Die [gleichzeitige Subagent-Obergrenze](/docs/de/sub-agents#concurrent-subagent-limit) und die [Tiefenlimit](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) gelten immer noch |

312| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Anzahl der [Subagent-Schichten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) unter der Haupt-Konversation (Standard: 3). Bei der Standard-Einstellung können Subagents ihre eigenen spawnen, und ein Subagent in der dritten Schicht kann nicht weiter spawnen; setzen Sie `1`, um Verschachtelung auszuschalten. In v2.1.217 bis v2.1.218 war der Standard 1, daher konnte ein Subagent nicht seinen eigenen spawnen, es sei denn, Sie erhöhten die Obergrenze; v2.1.219 erhöhte den Standard auf 3. Akzeptiert eine positive ganze Zahl in einfachen Ziffern; alles andere wird ignoriert, daher kann die Obergrenze angepasst, aber nicht entfernt werden. Erfordert Claude Code v2.1.217 oder später |316| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Anzahl der [Subagent-Schichten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) unter der Hauptkonversation (Standard: 3). Bei der Standardeinstellung können Subagents ihre eigenen spawnen, und ein Subagent in der dritten Schicht kann nicht weiter spawnen; setzen Sie `1`, um Verschachtelung auszuschalten. In v2.1.217 bis v2.1.218 war der Standard 1, daher konnte ein Subagent nicht sein eigenes spawnen, es sei denn, Sie erhöhten die Obergrenze; v2.1.219 erhöhte den Standard auf 3. Akzeptiert eine positive ganze Zahl in einfachen Ziffern; alles andere wird ignoriert, daher kann die Obergrenze angepasst, aber nicht entfernt werden. Erfordert Claude Code v2.1.217 oder später |

313| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Maximale Anzahl von Read-Only-Tools und Subagents, die parallel ausgeführt werden können (Standard: 10). Höhere Werte erhöhen Parallelismus, verbrauchen aber mehr Ressourcen |317| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Maximale Anzahl von Read-Only-Tools und Subagents, die parallel ausgeführt werden können (Standard: 10). Höhere Werte erhöhen Parallelismus, verbrauchen aber mehr Ressourcen |

314| `CLAUDE_CODE_MAX_TURNS` | Begrenzen Sie die Anzahl der agentic Turns, wenn keine explizite Obergrenze übergeben wird. Entspricht dem Übergeben von [`--max-turns`](/docs/de/cli-reference#cli-flags), das Vorrang hat, wenn beide gesetzt sind. Ein Wert, der keine positive Ganzzahl ist, wird beim Startup mit einem Fehler abgelehnt, anstatt als keine Obergrenze behandelt zu werden |318| `CLAUDE_CODE_MAX_TURNS` | Begrenzen Sie die Anzahl der Agentic-Turns, wenn keine explizite Obergrenze übergeben wird. Äquivalent zum Übergeben von [`--max-turns`](/docs/de/cli-reference#cli-flags), das Vorrang hat, wenn beide gesetzt sind. Ein Wert, der keine positive Ganzzahl ist, wird beim Start mit einem Fehler abgelehnt, anstatt als keine Obergrenze behandelt zu werden |

315| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Obergrenze für die Gesamtzahl der [WebSearch](/docs/de/tools-reference#websearch-tool-behavior)-Aufrufe, die eine Sitzung machen kann (Standard: 200). Wenn Claude die Obergrenze erreicht, geben weitere WebSearch-Aufrufe eine Mitteilung zurück, die Claude sagt, mit den Informationen fortzufahren, die es bereits gesammelt hat. Akzeptiert eine positive ganze Zahl ohne Obergrenze. Alles andere wird ignoriert und der Standard gilt, daher kann die Obergrenze erhöht, aber nicht ausgeschaltet werden. Erfordert Claude Code v2.1.212 oder später |319| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Obergrenze für die Gesamtzahl der [WebSearch](/docs/de/tools-reference#websearch-tool-behavior)-Aufrufe, die eine Sitzung machen kann (Standard: 200). Wenn Claude die Obergrenze erreicht, geben weitere WebSearch-Aufrufe eine Mitteilung zurück, die Claude auffordert, mit den Informationen fortzufahren, die es bereits gesammelt hat. Akzeptiert eine positive ganze Zahl ohne Obergrenze. Alles andere wird ignoriert und der Standard gilt, daher kann die Obergrenze erhöht, aber nicht ausgeschaltet werden. Erfordert Claude Code v2.1.212 oder später |

316| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Setzen Sie auf `1`, um Stdio-MCP-Server mit nur einer sicheren Basis-Umgebung plus der konfigurierten `env` des Servers zu spawnen, anstatt Ihre Shell-Umgebung zu erben |320| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Setzen Sie auf `1`, um Stdio-MCP-Server nur mit einer sicheren Baseline-Umgebung plus der konfigurierten `env` des Servers zu spawnen, anstatt Ihre Shell-Umgebung zu erben |

317| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Verstrichene Zeit in Millisekunden, bevor ein noch laufender MCP-Tool-Aufruf [zu einer Hintergrund-Aufgabe wechselt](/docs/de/mcp#automatic-backgrounding-of-long-tool-calls) (Standard: 120000 oder 2 Minuten). Setzen Sie auf `0`, um automatisches Backgrounding auszuschalten. Erfordert Claude Code v2.1.212 oder später |321| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Verstrichene Zeit in Millisekunden, bevor ein noch laufender MCP-Tool-Aufruf [zu einer Background-Aufgabe wechselt](/docs/de/mcp#automatic-backgrounding-of-long-tool-calls) (Standard: 120000 oder 2 Minuten). Setzen Sie auf `0`, um automatisches Backgrounding auszuschalten. Erfordert Claude Code v2.1.212 oder später |

318| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Idle-Timeout in Millisekunden für MCP-Tool-Aufrufe. Wenn ein Stdio-, HTTP-, SSE-, WebSocket- oder [claude.ai-Connector](/docs/de/mcp#use-mcp-servers-from-claude-ai)-MCP-Server für diese lange keine Antwort und keine Fortschritts-Benachrichtigung sendet, bricht der Tool-Aufruf mit einem Fehler ab, anstatt auf das Gesamt-`MCP_TOOL_TIMEOUT` zu warten. Überschreibt die Pro-Transport-Standards von 300000 (5 Minuten) für Netzwerk-Server und 1800000 (30 Minuten) für Stdio-Server. Setzen Sie auf `0`, um die Idle-Überprüfung zu deaktivieren. Werte unter 1000 werden auf eine Sekunde erhöht, und der Wert ist auf das effektive `MCP_TOOL_TIMEOUT` begrenzt. Ein Pro-Server-`timeout` in `.mcp.json` von mindestens 1000 erhöht das Idle-Fenster dieses Servers auf mindestens den `timeout`-Wert. Gilt nicht für IDE-Server oder SDK In-Process-Server. Erfordert Claude Code v2.1.187 oder später. Vor v2.1.203 waren Stdio-Server von dem Idle-Timeout ausgenommen |322| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Wie lange in Millisekunden der erste Turn einer [nicht-interaktiven](/docs/de/headless)-Sitzung auf MCP-Server wartet, die noch verbinden, anstelle des Standard-[First-Turn-Waits](/docs/de/agent-sdk/mcp#connection-timing). Wenn gesetzt, deckt das Warten jeden ausstehenden Server ab. Setzen Sie auf `0`, um das Warten zu überspringen. Ein [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags)-Server behält sein eigenes `MCP_TIMEOUT`-Warten unabhängig vom Wert. Erfordert Claude Code v2.1.274 oder später |

319| `CLAUDE_CODE_MESSAGING_SOCKET` | Wird von Claude Code gesetzt, nicht von Ihnen: in Sitzungen, die einen [Inbox-Socket](/docs/de/cross-session-messaging#the-sessions-inbox-socket) binden, exportiert Claude Code den Pfad dieses Sockets zu Hooks und Bash-Befehlen, wenn es den Socket bindet. In einer Sitzung, die mit Messaging eingeschaltet startet, bindet Claude Code den Socket, bevor ein Hook läuft. Andere Sitzungen auf der Maschine liefern Nachrichten an diesen Pfad. Jede Sitzung exportiert ihren eigenen Socket, anstatt einen von einem übergeordneten geerbt zu haben, und Nachrichten, die auf ihm ankommen, gehen durch die [Inbound-Kontrollen](/docs/de/cross-session-messaging#control-inbound-messages) der Sitzung. Einstellungs-`env`-Blöcke können es nicht setzen. Erfordert Claude Code v2.1.224 oder später |323| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Idle-Timeout in Millisekunden für MCP-Tool-Aufrufe. Wenn ein Stdio-, HTTP-, SSE-, WebSocket- oder [claude.ai-Connector](/docs/de/mcp#use-mcp-servers-from-claude-ai)-MCP-Server für diese lange keine Antwort und keine Fortschritts-Benachrichtigung sendet, bricht der Tool-Aufruf mit einem Fehler ab, anstatt auf das Gesamt-`MCP_TOOL_TIMEOUT` zu warten. Überschreibt die Pro-Transport-Standards von 300000 (5 Minuten) für Netzwerk-Server und 1800000 (30 Minuten) für Stdio-Server. Setzen Sie auf `0`, um die Idle-Überprüfung zu deaktivieren. Werte unter 1000 werden auf eine Sekunde erhöht, und der Wert ist auf das effektive `MCP_TOOL_TIMEOUT` begrenzt. Ein Pro-Server-`timeout` in `.mcp.json` von mindestens 1000 erhöht das Idle-Fenster dieses Servers auf mindestens den `timeout`-Wert. Gilt nicht für IDE-Server oder SDK-In-Process-Server. Erfordert Claude Code v2.1.187 oder später. Vor v2.1.203 waren Stdio-Server vom Idle-Timeout ausgenommen |

320| `CLAUDE_CODE_MESSAGING_TOKEN` | Wird von Claude Code gesetzt, nicht von Ihnen: in Sitzungen, die einen [Inbox-Socket](/docs/de/cross-session-messaging#the-sessions-inbox-socket) binden, exportiert Claude Code dieses Pro-Sitzungs-Token zu Hooks und Bash-Befehlen neben `CLAUDE_CODE_MESSAGING_SOCKET`. Ein Skript, das zum Socket postet, kann `{"type":"auth","token":"<token>"}` als erste Zeile senden, um zu beweisen, dass es zur Sitzung gehört. Auf nativem Windows erfordert Claude Code diese Zeile und schließt jede Verbindung, die nicht mit einer gültigen öffnet. Die [Own-Child-Regeln](/docs/de/cross-session-messaging#the-sessions-inbox-socket) sagen, wann Claude Code das Token konsultiert. Jede Sitzung exportiert ihr eigenes Token, nie eines, das von einer übergeordneten Sitzung geerbt wurde. Einstellungs-`env`-Blöcke können es nicht setzen. Erfordert Claude Code v2.1.228 oder später |324| `CLAUDE_CODE_MESSAGING_SOCKET` | Wird von Claude Code gesetzt, nicht von Ihnen: in Sitzungen, die einen [Inbox-Socket](/docs/de/cross-session-messaging#the-sessions-inbox-socket) binden, exportiert Claude Code den Pfad dieses Sockets an Hooks und Bash-Befehle, wenn es den Socket bindet. In einer Sitzung, die mit Messaging startet, bindet Claude Code den Socket, bevor ein Hook läuft. Andere Sitzungen auf der Maschine liefern Nachrichten an diesen Pfad. Jede Sitzung exportiert ihren eigenen Socket, anstatt einen von einem übergeordneten zu erben, und Nachrichten, die darauf ankommen, gehen durch die [Inbound-Kontrollen](/docs/de/cross-session-messaging#control-inbound-messages) der Sitzung. Einstellungs-`env`-Blöcke können es nicht setzen. Erfordert Claude Code v2.1.224 oder später |

325| `CLAUDE_CODE_MESSAGING_TOKEN` | Wird von Claude Code gesetzt, nicht von Ihnen: in Sitzungen, die einen [Inbox-Socket](/docs/de/cross-session-messaging#the-sessions-inbox-socket) binden, exportiert Claude Code diesen Pro-Sitzungs-Token an Hooks und Bash-Befehle neben `CLAUDE_CODE_MESSAGING_SOCKET`. Ein Skript, das zum Socket postet, kann `{"type":"auth","token":"<token>"}` als erste Zeile senden, um zu beweisen, dass es zur Sitzung gehört. Auf nativem Windows erfordert Claude Code diese Zeile und schließt jede Verbindung, die nicht mit einer gültigen öffnet. Die [Own-Child-Regeln](/docs/de/cross-session-messaging#the-sessions-inbox-socket) sagen, wann Claude Code den Token konsultiert. Jede Sitzung exportiert ihren eigenen Token, nie einen von einer übergeordneten Sitzung geerbt. Einstellungs-`env`-Blöcke können es nicht setzen. Erfordert Claude Code v2.1.228 oder später |

321| `CLAUDE_CODE_NATIVE_CURSOR` | Setzen Sie auf `1`, um den eigenen Cursor des Terminals bei der Eingabe-Einfügemarke anzuzeigen, anstatt eines gezeichneten Blocks. Der Cursor respektiert die Blink-, Form- und Fokus-Einstellungen des Terminals |326| `CLAUDE_CODE_NATIVE_CURSOR` | Setzen Sie auf `1`, um den eigenen Cursor des Terminals bei der Eingabe-Einfügemarke anzuzeigen, anstatt eines gezeichneten Blocks. Der Cursor respektiert die Blink-, Form- und Fokus-Einstellungen des Terminals |

322| `CLAUDE_CODE_NEW_INIT` | Setzen Sie auf `1`, um `/init` einen interaktiven Setup-Flow ausführen zu lassen. Der Flow fragt, welche Dateien generiert werden sollen, einschließlich CLAUDE.md, Skills und Hooks, bevor die Codebasis erkundet und geschrieben wird. Ohne diese Variable generiert `/init` automatisch eine CLAUDE.md ohne zu fragen |327| `CLAUDE_CODE_NEW_INIT` | Setzen Sie auf `1`, um `/init` einen interaktiven Setup-Flow ausführen zu lassen. Der Flow fragt, welche Dateien generiert werden sollen, einschließlich CLAUDE.md, Skills und Hooks, bevor die Codebasis erkundet und geschrieben wird. Ohne diese Variable generiert `/init` automatisch eine CLAUDE.md ohne zu fragen |

323| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Setzen Sie auf `1`, um Terminal-Ausgabe durch einen zweiten nicht-blockierenden Datei-Deskriptor zu schreiben, daher kann ein Terminal, das nicht liest, wie ein pausierter Tmux-Control-Mode-Pane oder eine steckengebliebene SSH-Verbindung, Claude Code mid-session nicht einfrieren. Gilt auf macOS, Linux und WSL, wenn stdout ein Terminal ist. Erfordert Claude Code v2.1.261 oder später |328| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Setzen Sie auf `1`, um Terminal-Ausgabe durch einen zweiten nicht-blockierenden Datei-Deskriptor zu schreiben, daher kann ein Terminal, das nicht mehr liest, wie ein pausierter Tmux-Control-Mode-Pane oder eine steckengebliebene SSH-Verbindung, Claude Code nicht mid-session einfrieren. Gilt auf macOS, Linux und WSL, wenn stdout ein Terminal ist. Erfordert Claude Code v2.1.261 oder später |

324| `CLAUDE_CODE_NO_FLICKER` | Setzen Sie auf `1`, um [Vollbild-Rendering](/docs/de/fullscreen) zu aktivieren, eine Forschungs-Vorschau, die Flimmern reduziert und Speicher in langen Konversationen flach hält. Überschreibt die [`tui`](/docs/de/settings-reference#tui)-Einstellung; Sie können auch mit `/tui fullscreen` wechseln |329| `CLAUDE_CODE_NO_FLICKER` | Setzen Sie auf `1`, um [Vollbild-Rendering](/docs/de/fullscreen) zu aktivieren, eine Forschungs-Vorschau, die Flimmern reduziert und Speicher in langen Konversationen flach hält. Überschreibt die [`tui`](/docs/de/settings-reference#tui)-Einstellung; Sie können auch mit `/tui fullscreen` wechseln |

325| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | OAuth-Refresh-Token für Claude.ai-Authentifizierung. Wenn gesetzt, tauscht `claude auth login` dieses Token direkt aus, anstatt einen Browser zu öffnen. Erfordert `CLAUDE_CODE_OAUTH_SCOPES`. Nützlich für die Bereitstellung von Authentifizierung in automatisierten Umgebungen |330| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | OAuth-Refresh-Token für Claude.ai-Authentifizierung. Wenn gesetzt, tauscht `claude auth login` diesen Token direkt aus, anstatt einen Browser zu öffnen. Erfordert `CLAUDE_CODE_OAUTH_SCOPES`. Nützlich für die Bereitstellung von Authentifizierung in automatisierten Umgebungen |

326| `CLAUDE_CODE_OAUTH_SCOPES` | Leerzeichen-getrennte OAuth-Scopes, mit denen das Refresh-Token ausgestellt wurde, wie `"user:profile user:inference user:sessions:claude_code"`. Erforderlich, wenn `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` gesetzt ist |331| `CLAUDE_CODE_OAUTH_SCOPES` | Leerzeichen-getrennte OAuth-Scopes, mit denen der Refresh-Token ausgestellt wurde, wie `"user:profile user:inference user:sessions:claude_code"`. Erforderlich, wenn `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` gesetzt ist |

327| `CLAUDE_CODE_OAUTH_TOKEN` | OAuth-Zugriffstoken für claude.ai-Authentifizierung. Alternative zu `/login` für SDK und automatisierte Umgebungen. Hat Vorrang vor Keychain-gespeicherten Anmeldedaten. Generieren Sie eines mit [`claude setup-token`](/docs/de/authentication#generate-a-long-lived-token). Wenn Sie nicht [`/login`](/docs/de/authentication#authentication-precedence) ausführen, verwendet Claude Code das Token, das Sie für die ganze Sitzung setzen. Um ein abgelaufenes Token zu ersetzen, generieren Sie ein neues und starten Sie neu |332| `CLAUDE_CODE_OAUTH_TOKEN` | OAuth-Zugriffstoken für claude.ai-Authentifizierung. Alternative zu `/login` für SDK und automatisierte Umgebungen. Hat Vorrang vor Keychain-gespeicherten Credentials. Generieren Sie eines mit [`claude setup-token`](/docs/de/authentication#generate-a-long-lived-token). Wenn Sie nicht [`/login`](/docs/de/authentication#authentication-precedence) ausführen, verwendet Claude Code das Token, das Sie für die ganze Sitzung setzen. Um ein abgelaufenes Token zu ersetzen, generieren Sie ein neues und starten Sie neu |

328| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Entfernt in v2.1.160 und jetzt ein No-Op. Heftete zuvor [Fast Mode](/docs/de/fast-mode) auf Claude Opus 4.6 statt des aktuellen Standards. Opus 4.6 unterstützt Fast Mode nicht mehr |333| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Entfernt in v2.1.160 und jetzt ein No-Op. Heftete zuvor [Fast Mode](/docs/de/fast-mode) auf Claude Opus 4.6 an, anstelle des aktuellen Standards. Opus 4.6 unterstützt Fast Mode nicht mehr |

329| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Maximale Länge von Inhalts-tragenden OpenTelemetry-Attributen (Modell-Antworten, Tool-Inhalt, System-Prompts, rohe API-Bodies), Kürzungs-Marker enthalten, in UTF-16-Code-Einheiten (Standard: 61440, d.h. 60 KB). Erhöhen Sie es nur, wenn Ihr Telemetrie-Backend Attribut-Werte größer als 64 KB akzeptiert, oder senken Sie es, um Telemetrie-Volumen zu reduzieren. Erfordert Claude Code v2.1.214 oder später. Siehe [Monitoring](/docs/de/monitoring-usage) |334| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Maximale Länge von Content-tragenden OpenTelemetry-Attributen (Modell-Antworten, Tool-Inhalt, System-Prompts, rohe API-Bodies), Kürzungs-Marker enthalten, in UTF-16-Code-Einheiten (Standard: 61440, d.h. 60 KB). Erhöhen Sie es nur, wenn Ihr Telemetrie-Backend Attribut-Werte größer als 64 KB akzeptiert, oder senken Sie es, um Telemetrie-Volumen zu reduzieren. Erfordert Claude Code v2.1.214 oder später. Siehe [Monitoring](/docs/de/monitoring-usage) |

330| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Setzen Sie auf `1`, um OpenTelemetry-Exporter-Diagnose-Fehler zu stderr zu schreiben. Standardmäßig erscheinen diese Fehler nur mit `--debug`, daher schlägt ein falsch konfigurierter Exporter wie eine Prometheus-Port-Kollision andernfalls stillschweigend fehl. Erfordert Claude Code v2.1.179 oder später. Siehe [Monitoring](/docs/de/monitoring-usage) |335| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Setzen Sie auf `1`, um OpenTelemetry-Exporter-Diagnose-Fehler auf stderr zu schreiben. Standardmäßig erscheinen diese Fehler nur mit `--debug`, daher schlägt ein fehlkonfigurierter Exporter wie eine Prometheus-Port-Kollision andernfalls stillschweigend fehl. Erfordert Claude Code v2.1.179 oder später. Siehe [Monitoring](/docs/de/monitoring-usage) |

331| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden zum Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Monitoring](/docs/de/monitoring-usage) |336| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden zum Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Monitoring](/docs/de/monitoring-usage) |

332| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer OpenTelemetry-Header in Millisekunden (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](/docs/de/monitoring-usage#dynamic-headers) |337| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer OpenTelemetry-Header in Millisekunden (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](/docs/de/monitoring-usage#dynamic-headers) |

333| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in Millisekunden für den OpenTelemetry-Exporter zum Beenden beim Herunterfahren (Standard: 2000). Erhöhen Sie, wenn Metriken beim Beenden gelöscht werden. Siehe [Monitoring](/docs/de/monitoring-usage) |338| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in Millisekunden für den OpenTelemetry-Exporter zum Beenden beim Herunterfahren (Standard: 2000). Erhöhen Sie, wenn Metriken beim Beenden gelöscht werden. Siehe [Monitoring](/docs/de/monitoring-usage) |

334| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Setzen Sie auf `1`, um Claude Code Ihren Package-Manager's Upgrade-Befehl im Hintergrund ausführen zu lassen, wenn eine neue Version verfügbar ist. Gilt für Homebrew und WinGet-Installationen. Andere Package-Manager zeigen weiterhin den Upgrade-Befehl ohne Ausführung. Siehe [Auto-Updates](/docs/de/setup#auto-updates) |339| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Setzen Sie auf `1`, um Claude Code Ihren Package-Manager-Upgrade-Befehl im Hintergrund ausführen zu lassen, wenn eine neue Version verfügbar ist. Gilt für Homebrew- und WinGet-Installationen. Andere Package-Manager zeigen weiterhin den Upgrade-Befehl ohne Ausführung. Siehe [Auto-Updates](/docs/de/setup#auto-updates) |

335| `CLAUDE_CODE_PERFORCE_MODE` | Setzen Sie auf `1`, um Perforce-bewussten Schreib-Schutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit mit einem `p4 edit <file>`-Hinweis fehl, wenn die Ziel-Datei das Owner-Write-Bit nicht hat, das Perforce bei synchronisierten Dateien löscht, bis `p4 edit` sie öffnet. Dies verhindert, dass Claude Code Perforce-Änderungs-Tracking umgeht |340| `CLAUDE_CODE_PERFORCE_MODE` | Setzen Sie auf `1`, um Perforce-bewussten Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit mit einem `p4 edit <file>`-Hinweis fehl, wenn die Zieldatei das Owner-Write-Bit nicht hat, das Perforce bei synced Dateien löscht, bis `p4 edit` sie öffnet. Dies verhindert, dass Claude Code Perforce-Change-Tracking umgeht |

336| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreiben Sie das Plugins-Root-Verzeichnis. Trotz des Namens setzt dies das übergeordnete Verzeichnis, nicht den Cache selbst: Marketplaces und der Plugin-Cache leben in Unterverzeichnissen unter diesem Pfad. Standard ist `~/.claude/plugins` |341| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreiben Sie das Plugins-Root-Verzeichnis. Trotz des Namens setzt dies das übergeordnete Verzeichnis, nicht den Cache selbst: Marketplaces und der Plugin-Cache leben in Unterverzeichnissen unter diesem Pfad. Standardmäßig `~/.claude/plugins` |

337| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in Millisekunden für Git-Operationen beim Installieren oder Aktualisieren von Plugins (Standard: 120000). Erhöhen Sie diesen Wert für große Repositories oder langsame Netzwerk-Verbindungen. Siehe [Git-Operationen timeout](/docs/de/plugin-marketplaces#git-operations-time-out) |342| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in Millisekunden für Git-Operationen beim Installieren oder Aktualisieren von Plugins (Standard: 120000). Erhöhen Sie diesen Wert für große Repositories oder langsame Netzwerk-Verbindungen. Siehe [Git-Operationen timeout](/docs/de/plugin-marketplaces#git-operations-time-out) |

338| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Setzen Sie auf `1`, um den Re-Clone-Versuch zu überspringen und den vorhandenen Marketplace-Cache zu behalten, wenn ein `git pull` fehlschlägt. Nützlich in Offline- oder Airgapped-Umgebungen, wo Re-Cloning auf die gleiche Weise fehlschlagen würde. Siehe [Marketplace-Updates schlagen in Offline-Umgebungen fehl](/docs/de/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |343| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Setzen Sie auf `1`, um den Re-Clone-Versuch zu überspringen und den bestehenden Marketplace-Checkout zu behalten, wenn eine Marketplace-Aktualisierung das Remote nicht erreichen oder authentifizieren kann. Nützlich in Offline- oder Airgapped-Umgebungen, wo Re-Cloning auf die gleiche Weise fehlschlagen würde. Siehe [Marketplace-Updates schlagen in Offline-Umgebungen fehl](/docs/de/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |

339| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Setzen Sie auf `1`, um GitHub `owner/repo`-Shorthand-Quellen über HTTPS statt SSH zu klonen. Gilt für Plugin-Installation und Update sowie `/plugin marketplace add` und `update`. Nützlich in CI-Runnern, Containern oder jeder Umgebung ohne konfigurierten SSH-Schlüssel für `github.com` |344| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Setzen Sie auf `1`, um GitHub `owner/repo`-Shorthand-Quellen über HTTPS statt SSH zu klonen. Gilt für Plugin-Installation und -Update sowie `/plugin marketplace add` und `update`. Nützlich in CI-Runnern, Containern oder jeder Umgebung ohne konfigurierten SSH-Schlüssel für `github.com` |

340| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Pfad zu einem oder mehreren Read-Only-Plugin-Seed-Verzeichnissen, getrennt durch `:` auf Unix oder `;` auf Windows. Verwenden Sie dies, um ein vorpopuliertes Plugins-Verzeichnis in ein Container-Image zu bündeln. Claude Code registriert Marketplaces aus diesen Verzeichnissen beim Startup und verwendet vorgespeicherte Plugins ohne Re-Cloning. Siehe [Plugins für Container vorpopulieren](/docs/de/plugin-marketplaces#pre-populate-plugins-for-containers) |345| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Pfad zu einem oder mehreren Read-Only-Plugin-Seed-Verzeichnissen, getrennt durch `:` auf Unix oder `;` auf Windows. Verwenden Sie dies, um ein vorpopuliertes Plugins-Verzeichnis in ein Container-Image zu bündeln. Claude Code registriert Marketplaces aus diesen Verzeichnissen beim Start und verwendet vorgelagerte Plugins ohne Re-Cloning. Siehe [Pre-Populate Plugins für Container](/docs/de/plugin-marketplaces#pre-populate-plugins-for-containers) |

341| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, `-ExecutionPolicy Bypass` zu übergeben, wenn PowerShell für Tool-Aufrufe, Hooks und Status-Zeilen-Befehle spawnt, und respektieren Sie stattdessen die effektive Ausführungs-Richtlinie der Maschine. Standardmäßig umgeht Claude Code die Ausführungs-Richtlinie auf Prozess-Ebene, daher funktionieren `.ps1`-Skripte und Modul-Importe auf Standard-Restricted-Windows-Installationen. Prozess-Ebene-Bypass überschreibt niemals Group Policy `MachinePolicy` oder `UserPolicy`, unabhängig von dieser Einstellung |346| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, `-ExecutionPolicy Bypass` zu übergeben, wenn PowerShell für Tool-Aufrufe, Hooks und Status-Zeilen-Befehle spawnt, und respektieren Sie stattdessen die effektive Ausführungs-Richtlinie der Maschine. Standardmäßig umgeht Claude Code die Ausführungs-Richtlinie im Prozess-Scope, daher funktionieren `.ps1`-Skripte und Modul-Importe auf Standard-Restricted-Windows-Installationen. Prozess-Scope-Bypass überschreibt niemals Group Policy `MachinePolicy` oder `UserPolicy`, unabhängig von dieser Einstellung |

342| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Obergrenze in Millisekunden für Idle-Warten auf Hintergrund-Subagents und Workflows nach dem finalen Turn im [nicht-interaktiven Modus](/docs/de/headless#background-tasks-at-exit) mit dem `-p`-Flag. Idle-Warten startet neu, jedes Mal wenn Claude einen Turn nimmt, um ein Hintergrund-Ergebnis zu handhaben. Standard: `600000` oder 10 Minuten. Wenn Idle-Warten die Obergrenze erreicht, stoppt Claude Code das Warten auf die verbleibenden Hintergrund-Aufgaben und beendet. Setzen Sie auf `0`, um unbegrenzt zu warten. Diese Obergrenze ist getrennt von der fünf-Sekunden-Gnadenfrist, die auf einfache Hintergrund-Shells gilt. Erfordert Claude Code v2.1.182 oder später |347| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Obergrenze in Millisekunden für Idle-Warten auf Background-Subagents und Workflows nach dem finalen Turn im [nicht-interaktiven Modus](/docs/de/headless#background-tasks-at-exit) mit der `-p`-Flag. Idle-Warten startet jedes Mal neu, wenn Claude einen Turn nimmt, um ein Background-Ergebnis zu behandeln. Standard: `600000` oder 10 Minuten. Wenn Idle-Warten die Obergrenze erreicht, stoppt Claude Code das Warten auf die verbleibenden Background-Aufgaben und beendet. Setzen Sie auf `0`, um unbegrenzt zu warten. Diese Obergrenze ist separat von der fünf-Sekunden-Gnadenfrist, die für einfache Background-Shells gilt. Erfordert Claude Code v2.1.182 oder später |

343| `CLAUDE_CODE_PROCESS_WRAPPER` | Starten Sie die Prozesse, die Claude Code von seiner eigenen Binärdatei startet, wie den Hintergrund-Service, der [Agent-Ansicht](/docs/de/agent-view)-Sitzungen hostet, durch einen Corporate-Launcher, der als Argv-Präfix wie `/opt/corp/launcher` gegeben wird. Setzen Sie es im `env`-Block von Benutzer- oder [verwalteten Einstellungen](/docs/de/managed-settings), nicht als Shell-Export, daher erbt der abgelöste Hintergrund-Service es; Projekt- und lokale Einstellungen können es nicht setzen. Entspricht der [`processWrapper`-Einstellung](/docs/de/settings-reference#processwrapper), die Claude Code v2.1.210 oder später erfordert; diese Variable hat Vorrang, wenn beide gesetzt sind. Die VS Code-Erweiterung konfiguriert ihren eigenen Launcher separat durch ihre `claudeProcessWrapper`-Einstellung. Wird unter Windows ignoriert. Siehe [Claude Code hinter einem Corporate-Launcher ausführen](/docs/de/corporate-launcher) für das Wert-Format, was der Launcher abdeckt und den Vertrag, den der Launcher erfüllen muss. Erfordert Claude Code v2.1.208 oder später |348| `CLAUDE_CODE_PROCESS_WRAPPER` | Starten Sie die Prozesse, die Claude Code von seiner eigenen Binärdatei startet, wie der Background-Service, der [Agent-Ansicht](/docs/de/agent-view)-Sitzungen hostet, durch einen Corporate-Launcher, der als argv-Präfix wie `/opt/corp/launcher` gegeben ist. Setzen Sie es im `env`-Block von Benutzer- oder [verwalteten Einstellungen](/docs/de/managed-settings), nicht als Shell-Export, daher erbt der abgelöste Background-Service es; Projekt- und lokale Einstellungen können es nicht setzen. Äquivalent zur [`processWrapper`-Einstellung](/docs/de/settings-reference#processwrapper), die Claude Code v2.1.210 oder später erfordert; diese Variable hat Vorrang, wenn beide gesetzt sind. Die VS Code-Erweiterung konfiguriert ihren eigenen Launcher separat über ihre `claudeProcessWrapper`-Einstellung. Wird unter Windows ignoriert. Siehe [Claude Code hinter einem Corporate-Launcher ausführen](/docs/de/corporate-launcher) für das Wert-Format, was der Launcher abdeckt und den Vertrag, den der Launcher erfüllen muss. Erfordert Claude Code v2.1.208 oder später |

344| `CLAUDE_CODE_PROJECT_DIR_NAME` | Setzen Sie zusammen mit `CLAUDE_CONFIG_DIR`, um den `projects/`-Verzeichnis-Namen zu wählen, unter dem Claude Code die Transkripte und Auto-Memory dieser Sitzung speichert, anstelle eines aus dem Arbeitsverzeichnis-Pfad abgeleiteten. Zum Beispiel startet Claude Code mit `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` speichert sie unter `/srv/tenant-a/projects/work/`. Claude Code ignoriert diese Variable, wenn `CLAUDE_CONFIG_DIR` nicht gesetzt ist, und liest sie nur aus der Umgebung, die Sie `claude` von starten, nie aus einem [Einstellungsdatei-`env`-Block](#in-settings-files). Siehe [Projekt-Verzeichnis selbst benennen](/docs/de/sessions#name-the-project-directory-yourself). Erfordert Claude Code v2.1.234 oder später |349| `CLAUDE_CODE_PROJECT_DIR_NAME` | Setzen Sie zusammen mit `CLAUDE_CONFIG_DIR`, um den `projects/`-Verzeichnis-Namen zu wählen, unter dem Claude Code die Transkripte und Auto-Memory dieser Sitzung speichert, anstelle eines aus dem Arbeitsverzeichnis-Pfad abgeleiteten. Zum Beispiel startet Claude Code mit `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` speichert sie unter `/srv/tenant-a/projects/work/`. Claude Code ignoriert diese Variable, wenn `CLAUDE_CONFIG_DIR` nicht gesetzt ist, und liest sie nur aus der Umgebung, die Sie `claude` starten, nie aus einem [Einstellungs-Datei-`env`-Block](#in-settings-files). Siehe [Projekt-Verzeichnis selbst benennen](/docs/de/sessions#name-the-project-directory-yourself). Erfordert Claude Code v2.1.234 oder später |

345| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für die Haupt-Konversation zu wählen: Ihre interaktiven, `-p` und SDK-Turns, plus die Helfer, die inline mit ihnen laufen. Hat Vorrang vor der `promptCacheTtl`-Einstellung und über `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt es. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einer höheren Rate. Erfordert Claude Code v2.1.242 oder später |350| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für die Hauptkonversation zu wählen: Ihre interaktiven, `-p` und SDK-Turns, plus die Helfer,die inline mit ihnen laufen. Hat Vorrang vor der `promptCacheTtl`-Einstellung und über `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt es. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einer höheren Rate. Erfordert Claude Code v2.1.242 oder später |

346| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Setzen Sie auf `1`, um W3C-Trace-Kontext zu propagieren, wenn `ANTHROPIC_BASE_URL` auf einen benutzerdefinierten Proxy zeigt. Propagation deckt den `traceparent`-Header auf Modell- und HTTP-MCP-Anfragen und die `TRACEPARENT`-Umgebungsvariable für Bash-, PowerShell- und Hook-Subprozesse ab. Standardmäßig ist Propagation nur aktiviert, wenn direkt mit der Anthropic API verbunden. Hinzugefügt in v2.1.152. Siehe [Traces (Beta)](/docs/de/monitoring-usage#traces-beta) |351| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Setzen Sie auf `1`, um W3C-Trace-Kontext zu propagieren, wenn `ANTHROPIC_BASE_URL` auf einen benutzerdefinierten Proxy verweist. Propagation deckt den `traceparent`-Header auf Modell- und HTTP-MCP-Anfragen und die `TRACEPARENT`-Umgebungsvariable für Bash-, PowerShell- und Hook-Subprozesse ab. Standardmäßig ist Propagation nur aktiviert, wenn direkt mit der Anthropic API verbunden. Hinzugefügt in v2.1.152. Siehe [Traces (Beta)](/docs/de/monitoring-usage#traces-beta) |

347| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Wird von Host-Plattformen gesetzt, die Claude Code einbetten und das Modell-Provider-Routing in ihrem Namen verwalten. Wenn gesetzt, ignoriert Claude Code Provider-Auswahl-, Endpunkt- und Authentifizierungs-Variablen wie `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` und `ANTHROPIC_API_KEY` in Einstellungsdateien, daher können Benutzer-Einstellungen das Host-Routing nicht überschreiben. Claude Code ignoriert auch Modell-Auswahl-Schlüssel wie `model`, `fallbackModel` und `modelOverrides` in [verwalteten Einstellungen](/docs/de/managed-settings), welche verwaltete Quelle sie liefert, daher hat die Host-Modell-Konfiguration Vorrang vor einer veralteten verwalteten Modell-Anheftung. Claude Code ignoriert auch Modell-Auswahl-Variablen wie `ANTHROPIC_MODEL` und die `ANTHROPIC_DEFAULT_*_MODEL`-Familie in einem verwalteten `env`-Block; eine [`availableModels`](/docs/de/model-config#restrict-model-selection)-Allowlist in verwalteten Einstellungen gilt immer noch, es sei denn, der Host liefert seine eigene. Claude Code überspringt auch die automatische Telemetrie-Opt-Out, die es andernfalls bei Drittanbieter-Providern wie Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform und Microsoft Foundry anwendet, daher folgt Telemetrie dem Standard-`DISABLE_TELEMETRY`-Opt-Out. Siehe [Standard-Verhaltensweisen nach API-Provider](/docs/de/data-usage#default-behaviors-by-api-provider) |352| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Wird von Host-Plattformen gesetzt, die Claude Code einbetten und Model-Provider-Routing in ihrem Namen verwalten. Wenn gesetzt, ignoriert Claude Code Provider-Auswahl-, Endpunkt- und Authentifizierungs-Variablen wie `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` und `ANTHROPIC_API_KEY` in Einstellungsdateien, daher können Benutzer-Einstellungen das Routing des Hosts nicht überschreiben. Claude Code ignoriert auch Modell-Auswahl-Schlüssel wie `model`, `fallbackModel` und `modelOverrides` in [verwalteten Einstellungen](/docs/de/managed-settings), welche verwaltete Quelle sie auch liefert, daher hat die Modell-Konfiguration des Hosts Vorrang vor einem veralteten verwalteten Modell-Pin. Claude Code ignoriert auch Modell-Auswahl-Variablen wie `ANTHROPIC_MODEL` und die `ANTHROPIC_DEFAULT_*_MODEL`-Familie in einem verwalteten `env`-Block; eine [`availableModels`](/docs/de/model-config#restrict-model-selection)-Allowlist in verwalteten Einstellungen gilt immer noch, es sei denn, der Host liefert seine eigene. Claude Code überspringt auch das automatische Telemetrie-Opt-Out, das es andernfalls bei Drittanbieter-Providern wie Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform und Microsoft Foundry anwendet, daher folgt Telemetrie dem Standard-`DISABLE_TELEMETRY`-Opt-Out. Siehe [Standard-Verhaltensweisen nach API-Provider](/docs/de/data-usage#default-behaviors-by-api-provider) |

348| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Setzen Sie auf `1`, um dem Proxy zu erlauben, DNS-Auflösung statt des Aufrufers durchzuführen. Opt-In für Umgebungen, in denen der Proxy Hostname-Auflösung handhaben sollte |353| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Setzen Sie auf `1`, um dem Proxy zu erlauben, DNS-Auflösung durchzuführen, anstelle des Aufrufers. Opt-In für Umgebungen, in denen der Proxy Hostname-Auflösung handhaben sollte |

349| `CLAUDE_CODE_REMOTE` | Wird automatisch auf `true` gesetzt, wenn Claude Code als [Cloud-Sitzung](/docs/de/claude-code-on-the-web) läuft. Lesen Sie dies aus einem Hook oder Setup-Skript, um zu erkennen, ob Sie in einer Cloud-Sitzung sind |354| `CLAUDE_CODE_REMOTE` | Wird automatisch auf `true` gesetzt, wenn Claude Code als [Cloud-Sitzung](/docs/de/claude-code-on-the-web) läuft. Lesen Sie dies aus einem Hook oder Setup-Skript, um zu erkennen, ob Sie in einer Cloud-Sitzung sind |

350| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird automatisch in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) auf die aktuelle Sitzungs-ID gesetzt. Lesen Sie dies, um einen Link zurück zum Sitzungs-Transkript zu konstruieren. Siehe [Ausgabe zurück zur Sitzung verlinken](/docs/de/cloud-environments#link-output-back-to-the-session) |355| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird automatisch in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) auf die ID der aktuellen Sitzung gesetzt. Lesen Sie dies, um einen Link zurück zum Sitzungs-Transkript zu konstruieren. Siehe [Ausgabe zurück zur Sitzung verlinken](/docs/de/cloud-environments#link-output-back-to-the-session) |

351| `CLAUDE_CODE_RESTRICTED` | Setzen Sie auf `1`, um die Sitzung im eingeschränkten Modus zu starten, das gleiche wie das Übergeben von [`--restricted`](/docs/de/cli-reference#cli-flags). Claude Code ignoriert diese Variable in einem Einstellungsdatei-`env`-Block. Erfordert Claude Code v2.1.248 oder später |356| `CLAUDE_CODE_RESTRICTED` | Setzen Sie auf `1`, um die Sitzung im eingeschränkten Modus zu starten, das gleiche wie das Übergeben von [`--restricted`](/docs/de/cli-reference#cli-flags). Claude Code ignoriert diese Variable in einem Einstellungs-Datei-`env`-Block. Erfordert Claude Code v2.1.248 oder später |

352| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Setzen Sie auf `1`, um automatisch fortzufahren, wenn die vorherige Sitzung mid-turn endete. Wird im SDK-Modus verwendet, daher setzt das Modell fort, ohne dass das SDK den Prompt erneut senden muss. Um dies auszuschalten, heben Sie die Einstellung der Variablen auf oder setzen Sie sie auf `0`. Vor v2.1.221 ignorierte Claude Code `0` und andere falsy-Werte, daher löste das Setzen von `0` die Wiederaufnahme im nicht-interaktiven Modus aus und das Aufheben der Einstellung der Variablen war die einzige Möglichkeit, es auszuschalten |357| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Setzen Sie auf `1`, um automatisch fortzufahren, wenn die vorherige Sitzung mid-turn endete. Wird im SDK-Modus verwendet, daher setzt das Modell fort, ohne dass das SDK den Prompt erneut senden muss. Um dies auszuschalten, heben Sie die Einstellung der Variablen auf oder setzen Sie sie auf `0`. Vor v2.1.221 ignorierte Claude Code `0` und andere falsy-Werte, daher löste das Setzen von `0` die Wiederaufnahme im nicht-interaktiven Modus aus und das Aufheben der Einstellung der Variablen war die einzige Möglichkeit, es auszuschalten |

353| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Maximales Alter in Millisekunden der letzten Transkript-Nachricht für eine Sitzung, die mid-turn endete, um automatisch bei Wiederaufnahme fortzufahren. Wenn die letzte Nachricht älter als diese Grenze ist, überspringt Claude Code sowohl die `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`-automatische Wiederaufnahme als auch die eingespritzte `CLAUDE_CODE_RESUME_PROMPT`-Fortsetzungs-Nachricht, und die Sitzung startet untätig, daher fahren Sie explizit fort. Nicht gesetzt oder `0` bedeutet keine Grenze; ein negativer oder nicht-numerischer Wert wendet eine Ein-Stunden-Grenze an. Spawn-Skripte für lang laufende Agents können dies setzen, daher führt ein Neustart gegen ein altes Transkript nicht einen veralteten Prompt erneut aus. Claude Code setzt selbst eine Ein-Stunden-Grenze, wenn es eine abgestürzte [Agent-Ansicht](/docs/de/agent-view)-Sitzung neu startet, die ihre Konversation von einer interaktiven Sitzung geerbt hat. Erfordert Claude Code v2.1.211 oder später |358| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Maximales Alter in Millisekunden der letzten Transkript-Nachricht für eine Sitzung, die mid-turn endete, um automatisch bei Wiederaufnahme fortzufahren. Wenn die letzte Nachricht älter als diese Grenze ist, überspringt Claude Code sowohl die automatische `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`-Wiederaufnahme als auch die eingespritzte `CLAUDE_CODE_RESUME_PROMPT`-Fortsetzungs-Nachricht, und die Sitzung startet untätig, daher fahren Sie explizit fort. Nicht gesetzt oder `0` bedeutet keine Grenze, außer dass ein Turn, dessen letzte Anfrage mit einem API-Fehler fehlschlägt, nur fortgesetzt wird, während dieser Fehler weniger als sechs Stunden alt ist. Ein positiver Wert begrenzt jeden Turn, einschließlich dieser; ein negativer oder nicht-numerischer Wert wendet eine einstündige Grenze an. Spawn-Skripte für lang laufende Agents können dies setzen, daher startet eine Wiederaufnahme gegen ein altes Transkript nicht einen veralteten Prompt erneut. Claude Code setzt selbst eine einstündige Grenze, wenn es eine abgestürzte [Agent-Ansicht](/docs/de/agent-view)-Sitzung neu startet, die ihre Konversation von einer interaktiven Sitzung geerbt hat. Erfordert Claude Code v2.1.211 oder später |

354| `CLAUDE_CODE_RESUME_PROMPT` | Überschreiben Sie die Fortsetzungs-Nachricht, die eingespritzt wird, wenn eine Sitzung, die mid-turn endete, fortgesetzt wird. Standard ist `Continue from where you left off.`. Spawn-Skripte für lang laufende Agents können dies auf eine direktere Boot-Nachricht setzen. Ein leerer String verwendet den Standard |359| `CLAUDE_CODE_RESUME_PROMPT` | Überschreiben Sie die Fortsetzungs-Nachricht, die eingespritzt wird, wenn eine Sitzung fortgesetzt wird, die mid-turn endete. Standardmäßig `Continue from where you left off.`. Spawn-Skripte für lang laufende Agents können dies setzen, um eine direktere Boot-Nachricht zu haben. Ein leerer String verwendet den Standard |

355| `CLAUDE_CODE_RETRY_WATCHDOG` | Setzen Sie auf `1` für unbeaufsichtigte Sitzungen wie Eval-Harnesses, CI-Jobs oder Remote-Worker. Wiederholt `429`- und `529`-Kapazitäts-Fehler unbegrenzt, anstatt nach `CLAUDE_CODE_MAX_RETRIES`-Versuchen zu fehlschlagen. Claude Code schlägt sofort bei einem `429` fehl, der ein Ausgaben-Limit oder erschöpfte Nutzungs-Credits meldet, auch einen von einem [Gateway-Ausgaben-Cap](/docs/de/errors#spend-limit-reached), das nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 wiederholte der Watchdog diese unbegrenzt. Der Watchdog sichert sich bis zu 5 Minuten zwischen Versuchen ab, oder bis das Limit zurückgesetzt wird, wenn die Antwort eine Rate-Limit-Reset-Zeit trägt, daher wartet eine Sitzung, die ein Nutzungs-Limit trifft, das verbleibende Fenster ab. Auf v2.1.199 oder später erhöht es auch die Standard-Wiederholungs-Anzahl für andere transiente Fehler, wie Server-Fehler, Timeouts und gelöschte Verbindungen, auf 300, ungefähr drei Stunden Backoff, und entfernt die Obergrenze von 15 auf `CLAUDE_CODE_MAX_RETRIES`, wenn Sie diese Variable explizit setzen. Erfordert Claude Code v2.1.186 oder später |360| `CLAUDE_CODE_RETRY_WATCHDOG` | Setzen Sie auf `1` für unbeaufsichtigte Sitzungen wie Eval-Harnesses, CI-Jobs oder Remote-Worker. Wiederholungen `429` und `529` Kapazitäts-Fehler unbegrenzt, anstatt nach `CLAUDE_CODE_MAX_RETRIES`-Versuchen zu fehlschlagen. Claude Code schlägt sofort fehl, wenn eine Standard-Speed-Anfrage einen `429` erhält, der ein Ausgabenlimit oder erschöpfte Nutzungs-Credits meldet, auch einen von einem [Gateway-Ausgabenlimit](/docs/de/errors#spend-limit-reached), das nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 wiederholte der Watchdog diese unbegrenzt. Für Fast-Mode-Anfragen siehe [Rate-Limits handhaben](/docs/de/fast-mode#handle-rate-limits). Der Watchdog sichert sich bis zu 5 Minuten zwischen Versuchen ab, oder bis das Limit zurückgesetzt wird, wenn die Antwort eine Rate-Limit-Reset-Zeit trägt, daher wartet eine Sitzung, die ein Nutzungslimit trifft, das verbleibende Fenster ab. Auf v2.1.199 oder später erhöht es auch die Standard-Wiederholungsanzahl für andere transiente Fehler, wie Server-Fehler, Timeouts und gelöschte Verbindungen, auf 300, ungefähr drei Stunden Backoff, und entfernt die Obergrenze von 15 auf `CLAUDE_CODE_MAX_RETRIES`, wenn Sie diese Variable explizit setzen. Erfordert Claude Code v2.1.186 oder später |

356| `CLAUDE_CODE_SAFE_MODE` | Setzen Sie auf `1`, um im sicheren Modus zu starten: CLAUDE.md, Skills, Plugins, Hooks, MCP-Server, benutzerdefinierte Befehle und Agents, Ausgabe-Stile, Workflows, benutzerdefinierte Themes, benutzerdefinierte Tastenbindungen, Status-Zeile und Datei-Vorschlag-Befehle, LSP-Server und Auto-Memory laden nicht, zur Fehlerbehebung einer kaputten Konfiguration. Verwaltete Einstellungs-Richtlinie gilt immer noch, einschließlich Richtlinie-konfigurierter Hooks, Status-Zeile und Datei-Vorschlag-Befehle; verwaltete Plugins, verwaltete Skills, verwaltete CLAUDE.md und Richtlinie-konfigurierte MCP-Server laden nicht. Entspricht dem Übergeben von [`--safe-mode`](/docs/de/cli-reference#cli-flags). Direkt gespawnte Kind-Prozesse erben die Variable |361| `CLAUDE_CODE_SAFE_MODE` | Setzen Sie auf `1`, um im sicheren Modus zu starten: CLAUDE.md, Skills, Plugins, Hooks, MCP-Server, benutzerdefinierte Befehle und Agents, Output-Stile, Workflows, benutzerdefinierte Themes, benutzerdefinierte Keybindings, Status-Zeile und Datei-Vorschlag-Befehle, LSP-Server und Auto-Memory laden nicht zur Fehlerbehebung einer kaputten Konfiguration. Verwaltete Einstellungs-Richtlinie gilt immer noch, einschließlich Richtlinien-konfigurierter Hooks, Status-Zeile und Datei-Vorschlag-Befehle; verwaltete Plugins, verwaltete Skills, verwaltete CLAUDE.md und Richtlinien-konfigurierte MCP-Server laden nicht. Äquivalent zum Übergeben von [`--safe-mode`](/docs/de/cli-reference#cli-flags). Direkt gespawnte Child-Prozesse erben die Variable |

357| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-Objekt, das begrenzt, wie oft spezifische Skripte pro Sitzung aufgerufen werden können, wenn `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist. Schlüssel sind Substrings, die gegen den Befehlstext abgeglichen werden; Werte sind Ganzzahl-Aufrufs-Limits. Zum Beispiel erlaubt `{"deploy.sh": 2}` `deploy.sh`, höchstens zweimal aufgerufen zu werden. Matching ist Substring-basiert, daher zählen Shell-Expansion-Tricks wie `./scripts/deploy.sh $(evil)` immer noch gegen die Obergrenze. Runtime-Fan-Out über `xargs` oder `find -exec` wird nicht erkannt; dies ist eine Defense-in-Depth-Kontrolle |362| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-Objekt, das begrenzt, wie oft spezifische Skripte pro Sitzung aufgerufen werden können, wenn `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist. Schlüssel sind Substrings, die gegen den Befehlstext abgeglichen werden; Werte sind Ganzzahl-Aufruflimits. Zum Beispiel erlaubt `{"deploy.sh": 2}` `deploy.sh`, höchstens zweimal aufgerufen zu werden. Matching ist Substring-basiert, daher zählen Shell-Expansion-Tricks wie `./scripts/deploy.sh $(evil)` immer noch gegen die Obergrenze. Runtime-Fan-Out über `xargs` oder `find -exec` wird nicht erkannt; dies ist eine Defense-in-Depth-Kontrolle |

358| `CLAUDE_CODE_SCROLL_SPEED` | Setzen Sie den Maus-Rad-Scroll-Multiplikator im [Vollbild-Rendering](/docs/de/fullscreen#mouse-wheel-scrolling). Akzeptiert jeden positiven Wert bis zu 20, einschließlich Bruch-Werte unter 1 wie `0.5`, um beschleunigtes Trackpad- und Rad-Scrolling in Terminals zu verlangsamen, die Rad-Events bereits verstärken. Setzen Sie auf `3`, um `vim` zu entsprechen, wenn Ihr Terminal ein Rad-Event pro Kerbe ohne Verstärkung sendet. Wird im JetBrains IDE-Terminal ignoriert, wo Claude Code sein eigenes Scroll-Handling verwendet |363| `CLAUDE_CODE_SCROLL_SPEED` | Setzen Sie den Mausrad-Scroll-Multiplikator im [Vollbild-Rendering](/docs/de/fullscreen#mouse-wheel-scrolling). Akzeptiert jeden positiven Wert bis zu 20, einschließlich Bruch-Werte unter 1 wie `0.5`, um beschleunigtes Trackpad- und Rad-Scrolling in Terminals zu verlangsamen, die Rad-Events bereits verstärken. Setzen Sie auf `3`, um `vim` zu entsprechen, wenn Ihr Terminal ein Rad-Event pro Kerbe ohne Verstärkung sendet. Wird im JetBrains IDE-Terminal ignoriert, wo Claude Code sein eigenes Scroll-Handling verwendet |

359| `CLAUDE_CODE_SEND_FEEDBACK` | Setzen Sie auf `0`, um [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) für eine Sitzung auszuschalten. Setzen Sie auf `1`, um es einzuschalten, wo Ihr Konto bereits Zugriff hat; die Variable kann Zugriff nicht selbst gewähren, und die anderen Schalter, die Feedback ausschalten, wie `DISABLE_FEEDBACK_COMMAND` und der [`feedbackDrafts`](/docs/de/settings-reference#feedbackdrafts)-Einstellung's `off`-Wert, gelten immer noch |364| `CLAUDE_CODE_SEND_FEEDBACK` | Setzen Sie auf `0`, um [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) für eine Sitzung auszuschalten. Setzen Sie auf `1`, um es einzuschalten, wo Ihr Konto bereits Zugriff hat; die Variable kann Zugriff nicht selbst gewähren, und die anderen Schalter, die Feedback ausschalten, wie `DISABLE_FEEDBACK_COMMAND` und der [`feedbackDrafts`](/docs/de/settings-reference#feedbackdrafts)-Einstellung's `off`-Wert, gelten immer noch |

360| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Überschreiben Sie das Zeit-Budget in Millisekunden für [SessionEnd](/docs/de/hooks#sessionend)-Hooks. Gilt für Sitzungs-Beendigung, `/clear` und Sitzungs-Wechsel über interaktives `/resume`. Standardmäßig ist das Budget 1,5 Sekunden, automatisch erhöht auf das höchste Pro-Hook-`timeout`, das in Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts auf Plugin-bereitgestellten Hooks erhöhen das Budget nicht |365| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Überschreiben Sie das Zeit-Budget in Millisekunden für [SessionEnd](/docs/de/hooks#sessionend)-Hooks. Der Wert ist auch das Timeout für jeden Hook, der kein eigenes `timeout` setzt. Gilt für Sitzungs-Exit, `/clear` und Sitzungs-Wechsel über interaktives `/resume`. Standardmäßig ist das Budget 1,5 Sekunden, automatisch erhöht auf das höchste Pro-Hook-`timeout`, das in Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts auf Plugin-bereitgestellten Hooks erhöhen das Budget nicht |

361| `CLAUDE_CODE_SESSION_ID` | Wird automatisch auf die aktuelle Sitzungs-ID in Bash- und PowerShell-Tool-Subprozessen, [Hook-Befehl](/docs/de/hooks)-Subprozessen und Stdio-[MCP-Server](/docs/de/mcp)-Subprozessen gesetzt. Für Bash, PowerShell und Hooks entspricht dies dem `session_id`-Feld in der Hook-JSON-Eingabe und wird auf `/clear` aktualisiert. Ein MCP-Server-Subprocess behält die ID, mit der er spawnt wurde. Bei `--resume <session-id>` erhält er die fortgesetzte ID, die Hooks und Bash entspricht. Bei `--continue` oder `--resume` ohne explizite ID kann er stattdessen die anfängliche Startup-ID erhalten. Verwenden Sie, um Skripte und externe Tools mit der Claude Code-Sitzung zu korrelieren, die sie gestartet hat |366| `CLAUDE_CODE_SESSION_ID` | Wird automatisch auf die aktuelle Sitzungs-ID in Bash- und PowerShell-Tool-Subprozessen, [Hook-Befehl](/docs/de/hooks)-Subprozessen und Stdio-[MCP-Server](/docs/de/mcp)-Subprozessen gesetzt. Für Bash, PowerShell und Hooks entspricht dies dem `session_id`-Feld in der Hook-JSON-Eingabe und wird auf `/clear` aktualisiert. Ein MCP-Server-Subprocess behält die ID, mit der er spawnt wurde. Bei `--resume <session-id>` erhält er die fortgesetzte ID, die Hooks und Bash entspricht. Bei `--continue` oder `--resume` ohne explizite ID kann er stattdessen die anfängliche Startup-ID erhalten. Verwenden Sie, um Skripte und externe Tools mit der Claude Code-Sitzung zu korrelieren, die sie gestartet hat |

362| `CLAUDE_CODE_SHELL` | Setzen Sie die Shell, die Claude Code zum Ausführen von Bash-Tool-Befehlen verwendet. Akzeptiert einen Pfad zu einer `bash`- oder `zsh`-Binärdatei, zum Beispiel `/opt/homebrew/bin/bash`. Andere Shells wie `fish` werden nicht unterstützt. Wenn der Wert kein funktionierender `bash`- oder `zsh`-Pfad ist, ignoriert Claude Code ihn und fällt auf Auto-Erkennung zurück. Auto-Erkennung verwendet Ihre `$SHELL`, wenn sie auf `bash` oder `zsh` zeigt, andernfalls wählt sie die erste funktionierende `zsh` dann `bash`, die auf Ihrem `PATH` und Standard-Installationsorten gefunden wird |367| `CLAUDE_CODE_SHELL` | Setzen Sie die Shell, die Claude Code zum Ausführen von Bash-Tool-Befehlen verwendet. Akzeptiert einen Pfad zu einer `bash`- oder `zsh`-Binärdatei, zum Beispiel `/opt/homebrew/bin/bash`. Andere Shells wie `fish` werden nicht unterstützt. Wenn der Wert kein funktionierender `bash`- oder `zsh`-Pfad ist, ignoriert Claude Code ihn und fällt auf Auto-Erkennung zurück. Auto-Erkennung verwendet Ihren `$SHELL`, wenn er auf `bash` oder `zsh` verweist, andernfalls wählt es das erste funktionierende `zsh` dann `bash`, das auf Ihrem `PATH` und Standard-Installationsorten gefunden wird |

363| `CLAUDE_CODE_SHELL_PREFIX` | Befehlspräfix, der Shell-Befehle umhüllt, die Claude Code spawnt: Bash-Tool-Aufrufe, [Hook](/docs/de/hooks)-Befehle, [Status-Zeile](/docs/de/statusline)-Befehle und Stdio-[MCP-Server](/docs/de/mcp)-Startup-Befehle. PowerShell-Hooks und Exec-Form-Hooks laufen ohne das Präfix. Nützlich zum Protokollieren oder Auditing. Das Setzen eines bloßen ausführbaren Pfads wie `/path/to/logger.sh` führt jeden Befehl als `/path/to/logger.sh '<command>'` aus. Der Wrapper erhält die Befehlszeile als ein einzelnes Shell-zitiertes Argument in `$1`, daher muss der Wrapper `$1` mit einer Shell erneut auswerten, zum Beispiel `exec bash -c "$1"`. Das Behandeln von `$1` als bloßer ausführbarer Pfad bricht Stdio-MCP-Server, die Argumente wie `npx -y <package>` übergeben. Für Bash-Tool-Aufrufe enthält `$1` die vollständige Shell-Aufrufe, die Claude Code zusammensetzt, einschließlich Umgebungs-Setup, nicht nur den Befehl, den Claude ausgeführt hat |368| `CLAUDE_CODE_SHELL_PREFIX` | Befehlspräfix, der Shell-Befehle umhüllt, die Claude Code spawnt: Bash-Tool-Aufrufe, [Hook](/docs/de/hooks)-Befehle, [Status-Zeile](/docs/de/statusline)-Befehle und Stdio-[MCP-Server](/docs/de/mcp)-Startup-Befehle. PowerShell-Hooks und Exec-Form-Hooks laufen ohne das Präfix. Nützlich für Protokollierung oder Auditing. Das Setzen eines bloßen ausführbaren Pfads wie `/path/to/logger.sh` führt jeden Befehl als `/path/to/logger.sh '<command>'` aus. Der Wrapper erhält die Befehlszeile als ein einzelnes Shell-zitiertes Argument in `$1`, daher muss der Wrapper `$1` mit einer Shell erneut auswerten, zum Beispiel `exec bash -c "$1"`. Das Behandeln von `$1` als bloßer ausführbarer Pfad bricht Stdio-MCP-Server, die Argumente übergeben, wie `npx -y <package>`. Für Bash-Tool-Aufrufe enthält `$1` die vollständige Shell-Aufrufe, die Claude Code zusammensetzt, einschließlich Umgebungs-Setup, nicht nur den Befehl, den Claude ausgeführt hat |

364| `CLAUDE_CODE_SIMPLE` | Setzen Sie auf `1`, um mit einem minimalen System-Prompt und nur den Bash-, Datei-Lese- und Datei-Bearbeitungs-Tools zu laufen. MCP-Tools von `--mcp-config` sind immer noch verfügbar. Deaktiviert Auto-Discovery von Hooks, Skills, benutzerdefinierten Befehlen, Subagents, Plugins, MCP-Servern, Auto-Memory und CLAUDE.md. Skills in einem Verzeichnis, das Sie mit `--add-dir` übergeben, laden immer noch. OAuth-Tokens und Keychain-Anmeldedaten werden nicht gelesen, daher muss Anthropic-Authentifizierung von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` in `--settings` kommen. Entspricht dem Übergeben von [`--bare`](/docs/de/headless#start-faster-with-bare-mode) |369| `CLAUDE_CODE_SIMPLE` | Setzen Sie auf `1`, um mit einem minimalen System-Prompt und nur den Bash-, Datei-Lese- und Datei-Edit-Tools zu laufen. MCP-Tools von `--mcp-config` sind immer noch verfügbar. Deaktiviert Auto-Discovery von Hooks, Skills, benutzerdefinierten Befehlen, Subagents, Plugins, MCP-Servern, Auto-Memory und CLAUDE.md. Skills in einem Verzeichnis, das Sie mit `--add-dir` übergeben, laden immer noch. OAuth-Tokens und Keychain-Credentials werden nicht gelesen, daher muss Anthropic-Authentifizierung von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` in `--settings` kommen. Äquivalent zum Übergeben von [`--bare`](/docs/de/headless#start-faster-with-bare-mode) |

365| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Setzen Sie auf `1`, um einen kürzeren System-Prompt und abgekürzte Tool-Beschreibungen auf jedem Modell zu verwenden. Setzen Sie auf `0`, `false`, `no` oder `off`, um zu deaktivieren, auch wenn das Experiment oder die Server-Konfiguration es andernfalls aktivieren würde. Der vollständige Tool-Satz, Hooks, MCP-Server und CLAUDE.md-Discovery bleiben aktiviert |370| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Setzen Sie auf `1`, um einen kürzeren System-Prompt und abgekürzte Tool-Beschreibungen auf jedem Modell zu verwenden. Setzen Sie auf `0`, `false`, `no` oder `off`, um zu deaktivieren, auch wenn das Experiment oder die Server-Konfiguration es andernfalls aktivieren würde. Der vollständige Tool-Satz, Hooks, MCP-Server und CLAUDE.md-Discovery bleiben aktiviert |

366| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Überspringen Sie die Client-seitige Authentifizierung für [Claude Platform on AWS](/docs/de/claude-platform-on-aws), für Gateways, die Anfragen selbst signieren |371| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Überspringen Sie die Client-seitige Authentifizierung für [Claude Platform on AWS](/docs/de/claude-platform-on-aws), für Gateways, die Anfragen selbst signieren |

367| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Setzen Sie auf `1`, um den In-Process-Cache von Anmeldedaten, die von der AWS-Standard-Anmeldedaten-Provider-Kette aufgelöst werden, auszuschalten, daher löst Claude Code die Kette bei jeder API-Anfrage auf. Mit dem Cache aus fordert ein SSO-gestütztes Profil Anmeldedaten bei jeder Anfrage von IAM Identity Center an. Siehe [Anmeldedaten-Caching und Auflösungs-Timeout](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout). Erfordert Claude Code v2.1.207 oder später |372| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Setzen Sie auf `1`, um den In-Process-Cache von Credentials, die von der AWS-Standard-Credential-Provider-Kette aufgelöst werden, auszuschalten, daher löst Claude Code die Kette bei jeder API-Anfrage auf. Mit dem Cache aus fordert ein SSO-gestütztes Profil Credentials von IAM Identity Center bei jeder Anfrage an. Siehe [Credential-Caching und Auflösungs-Timeout](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout). Erfordert Claude Code v2.1.207 oder später |

368| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Überspringen Sie AWS-Authentifizierung für Amazon Bedrock (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |373| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Überspringen Sie die AWS-Authentifizierung für Amazon Bedrock (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |

369| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Setzen Sie auf `1`, um einen fehlgeschlagenen [Fast Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Verfügbarkeits-Check als verfügbar zu behandeln, für Netzwerke, die die Direct-Request des Checks zu `api.anthropic.com` blockieren. Claude Code respektiert immer noch eine "disabled by your organization"-Antwort |374| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Setzen Sie auf `1`, um eine fehlgeschlagene [Fast-Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Verfügbarkeitsprüfung als verfügbar zu behandeln, für Netzwerke, die die direkte Anfrage der Überprüfung an `api.anthropic.com` blockieren. Claude Code respektiert immer noch eine "disabled by your organization"-Antwort |

370| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Setzen Sie auf `1`, um die Client-seitige [Fast Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Verfügbarkeits-Check zu überspringen, für Proxies, die die Request des Checks abfangen, anstatt sie zu weigern. Die API lehnt Fast Mode-Anfragen immer noch ab, wenn Ihre Organisation Fast Mode deaktiviert hat |375| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Setzen Sie auf `1`, um die Client-seitige [Fast-Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Verfügbarkeitsprüfung zu überspringen, für Proxies, die die Anfrage der Überprüfung abfangen, anstatt sie zu weigern. Die API lehnt Fast-Mode-Anfragen immer noch ab, wenn Ihre Organisation Fast Mode deaktiviert hat |

371| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Überspringen Sie Azure-Authentifizierung für Microsoft Foundry, für einen Proxy oder ein Gateway, das seinen eigenen `Authorization`-Header injiziert. Claude Code sendet Anfragen ohne Azure-Anmeldedaten und bewahrt den `Authorization`-Header, den Sie liefern, zum Beispiel durch `ANTHROPIC_CUSTOM_HEADERS`. Wird ignoriert, wenn `ANTHROPIC_FOUNDRY_API_KEY` oder `ANTHROPIC_FOUNDRY_AUTH_TOKEN` gesetzt ist. Vor v2.1.203 ließ diese Variable den Microsoft Foundry-Client unfähig, Anfragen zu senden, es sei denn, ein API-Schlüssel war auch gesetzt |376| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Überspringen Sie die Azure-Authentifizierung für Microsoft Foundry, für einen Proxy oder ein Gateway, das seinen eigenen `Authorization`-Header injiziert. Claude Code sendet Anfragen ohne Azure-Credential und bewahrt den `Authorization`-Header, den Sie liefern, zum Beispiel durch `ANTHROPIC_CUSTOM_HEADERS`. Wird ignoriert, wenn `ANTHROPIC_FOUNDRY_API_KEY` oder `ANTHROPIC_FOUNDRY_AUTH_TOKEN` gesetzt ist. Vor v2.1.203 ließ diese Variable den Microsoft Foundry-Client unfähig, Anfragen zu senden, es sei denn, ein API-Schlüssel war auch gesetzt |

372| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Überspringen Sie AWS-Authentifizierung für Amazon Bedrock Mantle (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |377| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Überspringen Sie die AWS-Authentifizierung für Amazon Bedrock Mantle (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |

373| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Setzen Sie auf `1`, um das Schreiben von Prompt-Verlauf und Sitzungs-Transkripten auf die Festplatte zu überspringen. Sitzungen, die mit dieser Variablen gesetzt gestartet werden, erscheinen nicht in `--resume`, `--continue` oder Up-Arrow-Verlauf. Nützlich für ephemere Skript-Sitzungen |378| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Setzen Sie auf `1`, um das Schreiben von Prompt-Verlauf und Sitzungs-Transkripten auf die Festplatte zu überspringen. Sitzungen, die mit dieser Variablen gesetzt gestartet werden, erscheinen nicht in `--resume`, `--continue` oder Up-Arrow-Verlauf. Nützlich für ephemere Skript-Sitzungen |

374| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Überspringen Sie Google-Authentifizierung für Google Cloud's Agent Platform (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |379| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Überspringen Sie die Google-Authentifizierung für Google Cloud's Agent Platform (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |

375| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Maximale Anzahl aufeinanderfolgender Male, dass ein [Stop](/docs/de/hooks#stop)- oder [SubagentStop](/docs/de/hooks#subagentstop)-Hook den Turn vom Beenden blockieren kann, bevor Claude Code es überschreibt und den Turn trotzdem beendet (Standard: 8). Setzen Sie auf `0`, um die Obergrenze zu deaktivieren. Erhöhen Sie dies, wenn Ihr Hook legitim mehr Iterationen braucht, um zu lösen |380| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Setzen Sie auf `1`, um eine Sitzung, die mit `--output-format stream-json` gestartet wurde, eine [Result-Nachricht zu schreiben, die benennt, warum Claude Code sich weigerte zu starten](/docs/de/agent-sdk/typescript#startup_failure_reason) für Startup-Fehler, die andernfalls nur mit stderr enden. Erfordert Claude Code v2.1.274 oder später |

376| `CLAUDE_CODE_SUBAGENT_MODEL` | Das Standard-Modell für [Subagents](/docs/de/sub-agents#choose-a-model), [Agent-Team](/docs/de/agent-teams#specify-teammates-and-models)-Teammates und [Workflow](/docs/de/workflows)-Agents, die nicht auf andere Weise ein Modell zugewiesen bekommen. Akzeptiert einen Alias wie `haiku` oder einen vollständigen Modell-Namen. Zwei Quellen haben Vorrang vor ihm: ein Modell, das Claude beim Spawnen des Agents übergibt, und ein `model`-Feld in der Agent-Definition, einschließlich `inherit`. Um das zu ändern, setzen Sie [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/de/sub-agents#run-every-subagent-on-one-model). Siehe [Modell wählen](/docs/de/sub-agents#choose-a-model) für die vollständige Reihenfolge. Das Setzen auf `inherit` ist das gleiche wie das Nicht-Setzen. Vor v2.1.251 überschrieb diese Variable sowohl das Pro-Aufrufs-Modell als auch das `model`-Feld der Definition |381| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Maximale Anzahl aufeinanderfolgender Male, die ein [Stop](/docs/de/hooks#stop)- oder [SubagentStop](/docs/de/hooks#subagentstop)-Hook den Turn vom Beenden blockieren kann, bevor Claude Code es überschreibt und den Turn trotzdem beendet (Standard: 8). Setzen Sie auf `0`, um die Obergrenze zu deaktivieren. Erhöhen Sie dies, wenn Ihr Hook legitim mehr Iterationen braucht, um zu lösen |

382| `CLAUDE_CODE_SUBAGENT_MODEL` | Das Standard-Modell für [Subagents](/docs/de/sub-agents#choose-a-model), [Agent-Team](/docs/de/agent-teams#specify-teammates-and-models)-Teammates und [Workflow](/docs/de/workflows)-Agents, die nicht auf andere Weise ein Modell zugewiesen bekommen. Akzeptiert einen Alias wie `haiku` oder einen vollständigen Modellnamen. Zwei Quellen haben Vorrang vor ihm: ein Modell, das Claude beim Spawnen des Agents übergibt, und ein `model`-Feld in der Agent-Definition, einschließlich `inherit`. Um das zu ändern, setzen Sie [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/de/sub-agents#run-every-subagent-on-one-model). Siehe [Modell wählen](/docs/de/sub-agents#choose-a-model) für die vollständige Reihenfolge. Das Setzen auf `inherit` ist das gleiche wie das Nicht-Setzen. Vor v2.1.251 überschrieb diese Variable sowohl das Pro-Aufrufs-Modell als auch das `model`-Feld der Definition |

377| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Setzen Sie auf `1`, um ein Modell auf Subagents, Teammates und Workflow-Agents zu erzwingen. [Jeden Subagent auf einem Modell ausführen](/docs/de/sub-agents#run-every-subagent-on-one-model) sagt, welches Modell das ist. Erfordert Claude Code v2.1.257 oder später |383| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Setzen Sie auf `1`, um ein Modell auf Subagents, Teammates und Workflow-Agents zu erzwingen. [Jeden Subagent auf einem Modell ausführen](/docs/de/sub-agents#run-every-subagent-on-one-model) sagt, welches Modell das ist. Erfordert Claude Code v2.1.257 oder später |

378| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für Anfragen außerhalb der Haupt-Konversation zu wählen, wie [Subagents](/docs/de/sub-agents), Workflows und Hintergrund-Arbeit. Hat Vorrang vor der `subagentPromptCacheTtl`-Einstellung und über `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt es. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einer höheren Rate. Erfordert Claude Code v2.1.242 oder später |384| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für Anfragen außerhalb der Hauptkonversation zu wählen, wie [Subagents](/docs/de/sub-agents), Workflows und Hintergrundarbeit. Hat Vorrang vor der `subagentPromptCacheTtl`-Einstellung und über `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt es. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einer höheren Rate. Erfordert Claude Code v2.1.242 oder später |

379| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Setzen Sie auf `1`, um Anmeldedaten aus Subprocess-Umgebungen zu entfernen (Bash-Tool, Hooks, MCP-Stdio-Server): Anthropic- und Cloud-Provider-Anmeldedaten, jede andere Variable, die Claude Code als Anmeldedaten erkennt, und Anmeldedaten, die in Package-Registry-URLs eingebettet sind. Der übergeordnete Claude-Prozess behält diese Anmeldedaten für API-Aufrufe, aber Kind-Prozesse können sie nicht lesen, was die Exposition gegenüber Prompt-Injection-Angriffen reduziert, die versuchen, Geheimnisse über Shell-Expansion zu exfiltrieren. Auf Linux führt dies auch Bash-Subprozesse in einem isolierten PID-Namespace aus, daher können sie Host-Prozess-Umgebungen über `/proc` nicht lesen; als Nebeneffekt können `ps`, `pgrep` und `kill` Host-Prozesse nicht sehen oder signalisieren. `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |385| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Setzen Sie auf `1`, um Credentials aus Subprocess-Umgebungen zu entfernen (Bash-Tool, Hooks, MCP-Stdio-Server): Anthropic- und Cloud-Provider-Credentials, jede andere Variable, die Claude Code als Credential erkennt, und Credentials, die in Package-Registry-URLs eingebettet sind. Der übergeordnete Claude-Prozess behält diese Credentials für API-Aufrufe, aber Child-Prozesse können sie nicht lesen, was die Exposition gegenüber Prompt-Injection-Angriffen reduziert, die versuchen, Secrets über Shell-Expansion zu exfiltrieren. Auf v2.1.251 oder später entfernt der Scrub auch Claude Code's eigene Konfigurationsspeicher-Pointer-Variablen (wie `CLAUDE_CONFIG_DIR`), daher kann ein Child-Prozess ein verlegtes Konfigurationsverzeichnis nicht lokalisieren. Lassen Sie den Scrub nicht gesetzt, wenn ein Subprocess diese Variablen braucht. Auf Linux führt dies auch Bash-Subprozesse in einem isolierten PID-Namespace aus, daher können sie Host-Prozess-Umgebungen über `/proc` nicht lesen; als Nebeneffekt können `ps`, `pgrep` und `kill` Host-Prozesse nicht sehen oder signalisieren. `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |

380| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Setzen Sie auf `1` im nicht-interaktiven Modus (das `-p`-Flag), um auf die Fertigstellung der Plugin-Installation zu warten, bevor die erste Query. Ohne dies installieren sich Plugins im Hintergrund und sind möglicherweise nicht beim ersten Turn verfügbar. Kombinieren Sie mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um das Warten zu begrenzen |386| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Setzen Sie auf `1` im nicht-interaktiven Modus (die `-p`-Flag), um auf die Fertigstellung der Plugin-Installation zu warten, bevor die erste Abfrage. Ohne dies installieren sich Plugins im Hintergrund und sind möglicherweise nicht beim ersten Turn verfügbar. Kombinieren Sie mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um das Warten zu begrenzen |

381| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für synchrone Plugin-Installation. Wenn überschritten, fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: ohne diese Variable wartet synchrone Installation bis zur Fertigstellung |387| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für synchrone Plugin-Installation. Wenn überschritten, fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: ohne diese Variable wartet synchrone Installation bis zur Fertigstellung |

382| `CLAUDE_CODE_SYNC_SKILLS` | Setzen Sie auf `1`, um Ihre aktivierten claude.ai-Skills in `~/.claude/skills/synced/` herunterzuladen und alle 10 Minuten erneut zu synchronisieren. Bevor es die erste Query ausführt, wartet Claude Code bis zu `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` auf die Liste Ihrer Skills. Die Downloads selbst beenden sich im Hintergrund, und Claude wartet auf den Download eines Skills, wenn er diesen Skill aufruft. Der `synced`-Ordner-Name ist [für diesen Download reserviert](/docs/de/skills#where-skills-live). Vor v2.1.227 luden die Skills in `~/.claude/skills/` direkt herunter. Gilt nur im nicht-interaktiven Modus mit dem `-p`-Flag. Erfordert claude.ai-Authentifizierung. [Claude Code on the Web](/docs/de/claude-code-on-the-web)-Sitzungen erhalten Ihre aktivierten claude.ai-Skills automatisch; Sie müssen dies dort nicht setzen. Claude Code wendet [zusätzliche Regeln auf die heruntergeladenen Skills](/docs/de/skills#how-synced-skills-behave) an, wie das Nicht-Ausführen ihrer `!`-Befehle auf Ihrer Maschine |388| `CLAUDE_CODE_SYNC_SKILLS` | Setzen Sie auf `1` im nicht-interaktiven Modus mit der `-p`-Flag, um Claude Code die Skills herunterladen zu lassen, die für Ihr claude.ai-Konto in diesem Lauf aktiviert sind, und auf die Liste von ihnen zu warten, bis zu `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, bevor es die erste Abfrage ausführt. Die Downloads selbst beenden sich im Hintergrund, und Claude wartet auf den Download eines Skills, wenn er diesen aufruft. Erfordert claude.ai-Authentifizierung. Terminal-Sitzungen, in denen Sie sich mit Ihrem claude.ai-Konto anmelden, [laden diese Skills](/docs/de/skills#where-synced-skills-load) in `~/.claude/skills/synced/` herunter und resynchronisieren etwa alle 10 Minuten ohne diese Variable, daher setzen Sie es nur, wenn ein `-p`-Lauf Ihre aktuellen Skills bei seiner ersten Abfrage braucht. Vor v2.1.273 luden Terminal-Sitzungen sie nur in einem `-p`-Lauf mit dieser Variablen gesetzt herunter. Der `synced`-Ordnername ist [für diesen Download reserviert](/docs/de/skills#where-skills-live). Vor v2.1.227 luden die Skills in `~/.claude/skills/` direkt herunter. Claude Code wendet [Extra-Regeln auf die heruntergeladenen Skills](/docs/de/skills#how-synced-skills-behave) an, wie das Nicht-Ausführen ihrer `!`-Befehle auf Ihrer Maschine |

383| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für eine Mid-Session-Skills-Resync, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 30000). Begrenzt den Download, der ausgelöst wird, wenn der Host eine Skill-Neuladen während der Sitzung anfordert. Wenn überschritten, stoppt die Resync und verbleibende Downloads setzen sich im Hintergrund fort |389| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für die Skills-Resynchronisierung, die mid-session läuft, wenn eine App, die auf dem [Agent SDK](/docs/de/agent-sdk/typescript#query-object) gebaut ist, Skills neu lädt (Standard: 30000). Wenn überschritten, setzt die Neuladeung mit welchen Skills auch immer angekommen sind fort, und die verbleibenden Downloads beenden sich im Hintergrund |

384| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in Millisekunden für die erste Query zum Warten auf die anfängliche Skill-Liste, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 5000). Wenn überschritten, läuft die erste Query mit welchen Skills auch immer angekommen sind. Die Downloads beenden sich im Hintergrund auf jeden Fall, und Claude wartet auf den Download eines Skills, wenn er diesen Skill aufruft |390| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in Millisekunden für die erste Abfrage, um auf die anfängliche Skill-Liste zu warten, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 5000). Wenn überschritten, läuft die erste Abfrage mit welchen Skills auch immer angekommen sind. Die Downloads beenden sich im Hintergrund in jedem Fall, und Claude wartet auf den Download eines Skills, wenn er diesen aufruft |

385| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setzen Sie auf `false`, um Syntax-Highlighting in Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihr Terminal-Setup stören. Um Highlighting auch in Code-Blöcken und Datei-Vorschauen zu deaktivieren, verwenden Sie die [`syntaxHighlightingDisabled`](/docs/de/settings-reference#syntaxhighlightingdisabled)-Einstellung |391| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setzen Sie auf `false`, um Syntax-Highlighting in Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihr Terminal-Setup stören. Um Highlighting auch in Code-Blöcken und Datei-Vorschauen zu deaktivieren, verwenden Sie die [`syntaxHighlightingDisabled`](/docs/de/settings-reference#syntaxhighlightingdisabled)-Einstellung |

386| `CLAUDE_CODE_TASK_LIST_ID` | Teilen Sie eine Task-Liste über Sitzungen. Setzen Sie die gleiche ID in mehreren Claude Code-Instanzen, um an einer gemeinsamen Task-Liste zu koordinieren, in [Sitzungen, die die Task-Tools haben](/docs/de/tools-reference#task-tool-availability). Siehe [Task-Liste](/docs/de/interactive-mode#task-list) |392| `CLAUDE_CODE_TASK_LIST_ID` | Teilen Sie eine Task-Liste über Sitzungen. Setzen Sie die gleiche ID in mehreren Claude Code-Instanzen, um an einer gemeinsamen Task-Liste zu koordinieren, in [Sitzungen, die die Task-Tools haben](/docs/de/tools-reference#task-tool-availability). Siehe [Task-Liste](/docs/de/interactive-mode#task-list) |

387| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Überschreiben Sie in Millisekunden, wie lange eine nicht-interaktive Sitzung beim Beenden auf ihr [Agent-Team](/docs/de/agent-teams) wartet, um sich abzubauen. Akzeptiert 1000 bis 60000; ein Out-of-Range-Wert wird ignoriert und der Standard von 10000 gilt. Erfordert Claude Code v2.1.206 oder später |393| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Überschreiben Sie in Millisekunden, wie lange eine nicht-interaktive Sitzung beim Exit auf ihr [Agent-Team](/docs/de/agent-teams) wartet, um sich abzubauen. Akzeptiert 1000 bis 60000; ein Out-of-Range-Wert wird ignoriert und der Standard von 10000 gilt. Erfordert Claude Code v2.1.206 oder später |

388| `CLAUDE_CODE_TMPDIR` | Überschreiben Sie das Temp-Verzeichnis, das für interne Temp-Dateien verwendet wird. Claude Code hängt `/claude-{uid}/` auf Unix oder `/claude/` auf Windows an diesen Pfad an. Standard: `/tmp` auf macOS, `os.tmpdir()` auf Linux und Windows. Auf macOS und Linux erhalten [Sandboxed](/docs/de/sandboxing)-Bash-Subprozesse einen kurzen Fallback-`$TMPDIR` unter dem System-Standard, wenn Ihr Override ein langer Pfad ist, da einige Tools fehlschlagen, wenn Temp-Pfade zu lang werden. Nicht-Sandboxed-Bash-Befehle erben Ihren Shell's `$TMPDIR` unverändert. Claude Code's eigene Temp-Dateien verwenden immer Ihren Override. Setzen Sie es in Ihrer Shell, Benutzer-Einstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |394| `CLAUDE_CODE_TMPDIR` | Überschreiben Sie das Temp-Verzeichnis, das für interne Temp-Dateien verwendet wird. Claude Code hängt `/claude-{uid}/` auf Unix oder `/claude/` auf Windows an diesen Pfad an. Standard: `/tmp` auf macOS, `os.tmpdir()` auf Linux und Windows. Auf macOS und Linux erhalten [Sandboxed](/docs/de/sandboxing)-Bash-Subprozesse einen kurzen Fallback-`$TMPDIR` unter dem System-Standard, wenn Ihr Override ein langer Pfad ist, da einige Tools fehlschlagen, wenn Temp-Pfade zu lang werden. Nicht-Sandboxed-Bash-Befehle erben Ihren Shell-`$TMPDIR` unverändert. Claude Code's eigene Temp-Dateien verwenden immer Ihren Override. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |

389| `CLAUDE_CODE_TMUX_TRUECOLOR` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um 24-Bit-Truecolor-Ausgabe in Tmux zu erlauben. **Das Setzen auf `0` oder `false` erlaubt immer noch Truecolor**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um die 256-Farben-Begrenzung wiederherzustellen. Standardmäßig begrenzt Claude Code auf 256 Farben, wenn `$TMUX` gesetzt ist, weil Tmux Truecolor-Escape-Sequenzen nicht durchleitet, es sei denn, es ist konfiguriert. Setzen Sie dies, nachdem Sie `set -ga terminal-overrides ',*:Tc'` zu Ihrer `~/.tmux.conf` hinzugefügt haben. Siehe [Terminal-Konfiguration](/docs/de/terminal-config) für andere Tmux-Einstellungen |395| `CLAUDE_CODE_TMUX_TRUECOLOR` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um 24-Bit-Truecolor-Ausgabe in Tmux zu erlauben. **Das Setzen auf `0` oder `false` erlaubt immer noch Truecolor**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um die 256-Farben-Begrenzung wiederherzustellen. Standardmäßig begrenzt Claude Code auf 256 Farben, wenn `$TMUX` gesetzt ist, da Tmux Truecolor-Escape-Sequenzen nicht durchleitet, es sei denn, es ist konfiguriert. Setzen Sie dies, nachdem Sie `set -ga terminal-overrides ',*:Tc'` zu Ihrer `~/.tmux.conf` hinzugefügt haben. Siehe [Terminal-Konfiguration](/docs/de/terminal-config) für andere Tmux-Einstellungen |

390| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Auf Linux und WSL, setzen Sie auf eine kommagetrennte Liste der Arten von Prozessen, die Claude Code [von der Tool-Memory-Obergrenze ausschließt](/docs/de/tools-reference#memory-limit-on-linux-and-wsl), wie `mcp` oder `lsp`. Setzen Sie `none`, um jeden Kind zu deckeln, oder `all-new`, um nur Bash-, PowerShell- und Monitor-Tool-Befehle zu deckeln. Claude Code hält Bash-, PowerShell- und Monitor-Tool-Befehle unter der Obergrenze, was auch immer Sie auflisten. Erfordert Claude Code v2.1.246 oder später |396| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Auf Linux und WSL auf eine komma-getrennte Liste der Arten von Prozessen setzen, die Claude Code [von der Tool-Memory-Obergrenze ausschließt](/docs/de/tools-reference#memory-limit-on-linux-and-wsl), wie `mcp` oder `lsp`. Setzen Sie `none`, um jeden Kind zu begrenzen, oder `all-new`, um nur Bash-, PowerShell- und Monitor-Tool-Befehle zu begrenzen. Claude Code hält Bash-, PowerShell- und Monitor-Tool-Befehle unter der Obergrenze, was auch immer Sie auflisten. Erfordert Claude Code v2.1.246 oder später |

391| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Auf Linux und WSL, setzen Sie auf eine Größe wie `4G`, um [den Speicher, den Bash- und PowerShell-Tool-Befehle verwenden können, zu deckeln](/docs/de/tools-reference#memory-limit-on-linux-and-wsl), und Monitor-Tool-Befehle auf v2.1.246 oder später. Schreiben Sie die Größe in einfachen Ziffern, allein für eine Anzahl von Bytes oder mit einem `K`-, `M`-, `G`- oder `T`-Suffix. Setzen Sie `0` oder `off`, um die Obergrenze auszuschalten. Sobald der erste Prozess, den Claude Code startet, die Obergrenze ein- oder ausgeschaltet hat, hat ein geänderter Wert Auswirkung, wenn Sie `claude` nächstes Mal starten. Erfordert Claude Code v2.1.233 oder später |397| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Auf Linux und WSL auf eine Größe wie `4G` setzen, um [die Memory, die Bash- und PowerShell-Tool-Befehle verwenden können, zu begrenzen](/docs/de/tools-reference#memory-limit-on-linux-and-wsl), und Monitor-Tool-Befehle auf v2.1.246 oder später. Schreiben Sie die Größe in einfachen Ziffern, allein für eine Anzahl von Bytes oder mit einem `K`, `M`, `G` oder `T`-Suffix. Setzen Sie `0` oder `off`, um die Obergrenze auszuschalten. Sobald der erste Prozess, den Claude Code startet, die Obergrenze ein- oder ausgeschaltet hat, hat ein geänderter Wert Auswirkung, wenn Sie `claude` nächstes Mal starten. Erfordert Claude Code v2.1.233 oder später |

392| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Frist in Millisekunden für Dialoge, die Claude Code an einen Remote-Client weiterleitet, wie einen [Remote Control](/docs/de/remote-control) oder SDK-Host, und für den Genehmigungsdialog für eine [gehaltene Cross-Session-Nachricht](/docs/de/cross-session-messaging#control-inbound-messages), bevor Claude Code sie abbricht; Berechtigungs-Prompts und `AskUserQuestion`-Fragen verwenden ihre eigenen Flows und werden nicht dadurch geregelt. Begrenzt auch den Mid-Session-[Fable-Nutzungs-Credits-Zustimmungs-Prompt](/docs/de/model-config#fable-and-usage-credits) in einer Sitzung, die möglicherweise unbeaufsichtigt läuft. [Inbound-Nachrichten kontrollieren](/docs/de/cross-session-messaging#control-inbound-messages) und [nicht-interaktive Sitzungen](/docs/de/cross-session-messaging#non-interactive-sessions) decken die vollständigen gehaltenen Nachricht-Ablauf-Regeln ab, einschließlich der Fälle, wo die Frist nicht gilt. Überschreibt die [`dialogExpiry`](/docs/de/settings-reference#dialogexpiry)-Einstellung; `0` oder ein negativer Wert deaktiviert die Frist |398| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Deadline in Millisekunden, bevor Claude Code einen Dialog abbricht, den es an einen Remote-Client wie einen [Remote Control](/docs/de/remote-control) oder SDK-Host weiterleitet, oder den Genehmigungsdialog für eine [gehaltene Cross-Session-Nachricht](/docs/de/cross-session-messaging#control-inbound-messages); Berechtigungsprompts und `AskUserQuestion`-Fragen verwenden ihre eigenen Flows und werden nicht dadurch regiert. Auf Claude Code v2.1.236 oder später begrenzt es auch den mid-session [Fable-Nutzungs-Credits-Zustimmungs-Prompt](/docs/de/model-config#fable-and-usage-credits) in einer Sitzung, die möglicherweise unbeaufsichtigt läuft. [Inbound-Nachrichten kontrollieren](/docs/de/cross-session-messaging#control-inbound-messages) und [nicht-interaktive Sitzungen](/docs/de/cross-session-messaging#non-interactive-sessions) decken die vollständigen gehaltenen-Nachricht-Ablauf-Regeln ab, einschließlich der Fälle, wo die Deadline nicht gilt. Überschreibt die [`dialogExpiry`](/docs/de/settings-reference#dialogexpiry)-Einstellung. `0` oder ein negativer Wert deaktiviert die Deadline |

393| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Verwenden Sie [Claude Platform on AWS](/docs/de/claude-platform-on-aws) |399| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Verwenden Sie [Claude Platform on AWS](/docs/de/claude-platform-on-aws) |

394| `CLAUDE_CODE_USE_BEDROCK` | Verwenden Sie [Amazon Bedrock](/docs/de/amazon-bedrock) |400| `CLAUDE_CODE_USE_BEDROCK` | Verwenden Sie [Amazon Bedrock](/docs/de/amazon-bedrock) |

395| `CLAUDE_CODE_USE_FOUNDRY` | Verwenden Sie [Microsoft Foundry](/docs/de/microsoft-foundry) |401| `CLAUDE_CODE_USE_FOUNDRY` | Verwenden Sie [Microsoft Foundry](/docs/de/microsoft-foundry) |

396| `CLAUDE_CODE_USE_MANTLE` | Verwenden Sie den Amazon Bedrock [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint) |402| `CLAUDE_CODE_USE_MANTLE` | Verwenden Sie den Amazon Bedrock [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint) |

397| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Setzen Sie auf `1`, um benutzerdefinierte Befehle, Subagents und Ausgabe-Stile mit Node.js-Datei-APIs statt Ripgrep zu entdecken. Setzen Sie dies, wenn die gebündelte Ripgrep-Binärdatei in Ihrer Umgebung nicht verfügbar oder blockiert ist. Betrifft nicht die Grep- oder Datei-Such-Tools |403| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Setzen Sie auf `1`, um benutzerdefinierte Befehle, Subagents und Output-Stile mit Node.js-Datei-APIs zu entdecken, anstatt Ripgrep. Setzen Sie dies, wenn die gebündelte Ripgrep-Binärdatei in Ihrer Umgebung nicht verfügbar oder blockiert ist. Betrifft nicht die Grep- oder Datei-Such-Tools |

398| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Kontrolliert das PowerShell-Tool. Auf Windows ohne Git Bash ist das Tool automatisch aktiviert; setzen Sie auf `0`, um es zu deaktivieren. Auf Windows mit Git Bash installiert ist das Tool standardmäßig für claude.ai und Console-Konten aktiviert; setzen Sie auf `1`, um es in Amazon Bedrock-, Google Cloud's Agent Platform- und Microsoft Foundry-Sitzungen zu aktivieren, oder `0`, um es auszuschalten. Auf Linux, macOS und WSL setzen Sie auf `1`, um es zu aktivieren, was `pwsh` auf Ihrem `PATH` erfordert. Wenn auf Windows aktiviert, kann Claude PowerShell-Befehle nativ ausführen, anstatt durch Git Bash zu leiten. Siehe [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) |404| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Kontrolliert das PowerShell-Tool. Auf Windows ohne Git Bash ist das Tool automatisch aktiviert; setzen Sie auf `0`, um es zu deaktivieren. Auf Windows mit Git Bash installiert ist das Tool standardmäßig für claude.ai und Console-Konten aktiviert; setzen Sie auf `1`, um es in Amazon Bedrock-, Google Cloud's Agent Platform- und Microsoft Foundry-Sitzungen zu aktivieren, oder `0`, um es auszuschalten. Auf Linux, macOS und WSL setzen Sie auf `1`, um es zu aktivieren, was `pwsh` auf Ihrem `PATH` erfordert. Wenn aktiviert auf Windows, kann Claude PowerShell-Befehle nativ ausführen, anstatt durch Git Bash zu leiten. Siehe [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) |

399| `CLAUDE_CODE_USE_VERTEX` | Verwenden Sie [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) |405| `CLAUDE_CODE_USE_VERTEX` | Verwenden Sie [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) |

400| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Setzen Sie auf die Anzahl der Millisekunden, die [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) jede abgerufene URL's Antwort zwischenspeichert. Der Standard ist `900000`, was 15 Minuten ist. Akzeptiert nur einfache Ziffern; `0`, ein Dezimal oder jede andere Schreibweise behält den Standard. Claude Code liest den Wert einmal pro Start, daher gilt eine Änderung in einem Einstellungs-`env`-Block, wenn Sie `claude` nächstes Mal starten. Erfordert Claude Code v2.1.233 oder später |406| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Setzen Sie auf die Anzahl der Millisekunden, die [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) jede abgerufene URL's Antwort cached. Der Standard ist `900000`, was 15 Minuten ist. Akzeptiert nur einfache Ziffern; `0`, eine Dezimalzahl oder jede andere Schreibweise behält den Standard. Claude Code liest den Wert einmal pro Start, daher gilt eine Änderung in einem Einstellungs-`env`-Block, wenn Sie `claude` nächstes Mal starten. Erfordert Claude Code v2.1.233 oder später |

401| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Obergrenze in Millisekunden auf wie lange [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) auf eine Seite wartet, um herunterzuladen, einschließlich aller Umleitungen, die es folgt. Ein Download, der bis dahin nicht abgeschlossen ist, schlägt mit einem Deadline-Fehler fehl. Der Standard ist `300000`, was fünf Minuten ist. Setzen Sie auf `0`, um das Limit zu entfernen. Akzeptiert nur einfache Ziffern; ein Dezimal oder jede andere Schreibweise behält den Standard. Erfordert Claude Code v2.1.268 oder später |407| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Obergrenze in Millisekunden, wie lange [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) auf das Herunterladen einer Seite wartet, einschließlich aller Umleitungen, die es folgt. Ein Download, der bis dahin nicht abgeschlossen ist, schlägt mit einem Deadline-Fehler fehl. Der Standard ist `300000`, was fünf Minuten ist. Setzen Sie auf `0`, um die Obergrenze zu entfernen. Akzeptiert nur einfache Ziffern; eine Dezimalzahl oder jede andere Schreibweise behält den Standard. Erfordert Claude Code v2.1.268 oder später |

402| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Obergrenze in Millisekunden, wie lange ein [Workflow](/docs/de/workflows)-Agent auf die erste Antwort eines Geschwister-Agents mit gleichem Präfix wartet, bevor er seine eigene erste Anfrage sendet. Wenn ein Fan-Out mehrere Agents startet, die einen [Prompt-Cache-Präfix](/docs/de/workflows#prompt-caching-in-a-fan-out) teilen, hält Claude Code alle außer dem ersten Agent für bis zu diese lange, daher lesen die restlichen den zwischengespeicherten Präfix, anstatt ihn jeweils nicht zwischengespeichert zu verarbeiten. Standard `5000`. Setzen Sie auf `0`, um das Warten zu deaktivieren. Wenn `DISABLE_PROMPT_CACHING` gesetzt ist, warten Agents nie. Erfordert Claude Code v2.1.229 oder später |408| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Wie viele Agents ein einzelner [Workflow](/docs/de/workflows)-Lauf auf einmal ausführt, von `1` bis `256`. Standardmäßig führt ein Lauf bis zu 16 Agents auf einmal aus, weniger, wenn Claude Code weniger CPUs verfügbar hat; wartende `agent()`-Aufrufe warten auf einen freien Slot. Jeder laufende Agent's Transkript bleibt in Claude Code's Memory, daher erhöhen höhere Werte die Memory-Nutzung. Akzeptiert nur einfache Ziffern; Out-of-Range-Werte und andere Schreibweisen behalten den Standard. Erfordert Claude Code v2.1.269 oder später |

403| `CLAUDE_CONFIG_DIR` | Überschreiben Sie das Konfigurationsverzeichnis (Standard: `~/.claude`). Alle Einstellungen, Sitzungs-Verlauf und Plugins werden unter diesem Pfad gespeichert. Für Anmeldedaten siehe [wo Claude Code Anmeldedaten speichert](/docs/de/authentication#credential-management). Nützlich zum Ausführen mehrerer Konten nebeneinander: zum Beispiel `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Setzen Sie es in Ihrer Shell, Benutzer-Einstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |409| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Obergrenze in Millisekunden, wie lange ein [Workflow](/docs/de/workflows)-Agent auf die erste Antwort eines gleich-Präfix-Siblings wartet, bevor er seine eigene erste Anfrage sendet. Wenn ein Fan-Out mehrere Agents startet, die einen [Prompt-Cache-Präfix](/docs/de/workflows#prompt-caching-in-a-fan-out) teilen, hält Claude Code alle außer dem ersten Agent für bis zu diese lange, daher lesen die Rest den gecachten Präfix, anstatt ihn jeweils ungecacht zu verarbeiten. Standard `5000`. Setzen Sie auf `0`, um das Warten zu deaktivieren. Wenn `DISABLE_PROMPT_CACHING` gesetzt ist, warten Agents nie. Erfordert Claude Code v2.1.229 oder später |

404| `CLAUDE_DISABLE_ADOPT` | Setzen Sie auf `1`, um laufende Hintergrund-Arbeit zu stoppen, anstatt sie zu übernehmen, wenn Sie eine Sitzung backgrounden, indem Sie `←` drücken oder [`/background`](/docs/de/agent-view#from-inside-a-session) verwenden. Claude Code fragt Sie zur Bestätigung auf, bevor Sie backgrounden, dann stoppt die Aufgaben, die andernfalls übernommen würden. Erfordert Claude Code v2.1.195 oder später |410| `CLAUDE_CONFIG_DIR` | Überschreiben Sie das Konfigurationsverzeichnis (Standard: `~/.claude`). Alle Einstellungen, Sitzungs-Verlauf und Plugins werden unter diesem Pfad gespeichert. Für Credentials siehe [wo Claude Code Credentials speichert](/docs/de/authentication#credential-management). Nützlich zum Ausführen mehrerer Konten nebeneinander: zum Beispiel `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |

405| `CLAUDE_EFFORT` | Wird automatisch in Bash-Tool-Subprozessen und Hook-Befehlen auf die [Effort-Stufe](/docs/de/model-config#adjust-effort-level) gesetzt, die in Kraft ist, wenn der Subprocess startet: `low`, `medium`, `high`, `xhigh` oder `max`. Ultracode ist keine unterschiedliche Stufe und meldet sich als `xhigh`. Entspricht dem `effort.level`-Feld, das an [Hooks](/docs/de/hooks) übergeben wird. Wird nur gesetzt, wenn das aktuelle Modell den Effort-Parameter unterstützt |411| `CLAUDE_DISABLE_ADOPT` | Setzen Sie auf `1`, um laufende Hintergrundarbeit zu stoppen, anstatt sie zu tragen, wenn Sie eine Sitzung backgrounden, indem Sie `←` drücken oder [`/background`](/docs/de/agent-view#from-inside-a-session) verwenden. Claude Code fragt Sie, um zu bestätigen, bevor Sie backgrounden, dann stoppt die Aufgaben, die andernfalls getragen würden. Erfordert Claude Code v2.1.195 oder später |

406| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog zu erzwingen, oder setzen Sie auf `0`, um ihn zu erzwingen-deaktivieren. `0` schaltet auch die [First-Byte-Frist](/docs/de/network-config#streaming-idle-watchdogs) auf den Verbindungen aus, wo diese Frist läuft. Wenn nicht gesetzt, ist der Watchdog standardmäßig für direkte Anthropic API und [Claude Platform on AWS](/docs/de/claude-platform-on-aws)-Verbindungen aktiviert, und für Streaming-Antworten auf [Gateway](/docs/de/gateways)-Verbindungen, die durch `ANTHROPIC_BASE_URL` oder `ANTHROPIC_AWS_BASE_URL` erreicht werden; vor v2.1.222 lief er nicht auf diesen Gateway-Verbindungen, daher konnte der Event-Level-Watchdog einen Stall dort melden, auch während Keep-Alive-Pings ankamen. Für Timeouts und wie die Timer interagieren, siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |412| `CLAUDE_EFFORT` | Wird automatisch in Bash-Tool-Subprozessen und Hook-Befehlen auf die [Effort-Ebene](/docs/de/model-config#adjust-effort-level) gesetzt, die in Kraft ist, wenn der Subprocess startet: `low`, `medium`, `high`, `xhigh` oder `max`. Ultracode ist keine unterschiedliche Ebene und meldet sich als `xhigh`. Entspricht dem `effort.level`-Feld, das an [Hooks](/docs/de/hooks) übergeben wird. Wird nur gesetzt, wenn das aktuelle Modell den Effort-Parameter unterstützt |

407| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog auf Amazon Bedrock `vnd.amazon.eventstream`-Antworten zu aktivieren, was auch die [First-Byte-Frist](/docs/de/network-config#streaming-idle-watchdogs) auf Bedrock-Streaming-Anfragen aktiviert. Standardmäßig aus. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |413| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog zu erzwingen, oder setzen Sie auf `0`, um ihn zu erzwingen-deaktivieren. `0` schaltet auch die [First-Byte-Deadline](/docs/de/network-config#streaming-idle-watchdogs) auf den Verbindungen aus, wo diese Deadline läuft. Wenn nicht gesetzt, ist der Watchdog standardmäßig für direkte Anthropic API und [Claude Platform on AWS](/docs/de/claude-platform-on-aws)-Verbindungen aktiviert, und für Streaming-Antworten auf [Gateway](/docs/de/gateways)-Verbindungen, die über `ANTHROPIC_BASE_URL` oder `ANTHROPIC_AWS_BASE_URL` erreicht werden; vor v2.1.222 lief er nicht auf diesen Gateway-Verbindungen, daher konnte der Event-Level-Watchdog einen Stall dort melden, auch während Keep-Alive-Pings ankamen. Für Timeouts und wie die Timer interagieren, siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |

408| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Setzen Sie auf `0`, um den Event-Level-Streaming-Idle-Watchdog zu erzwingen-deaktivieren, oder setzen Sie auf `1`, um ihn zu erzwingen-aktivieren. Wenn nicht gesetzt, ist der Watchdog standardmäßig für alle Provider eingeschaltet. Vor v2.1.196 war der Unset-Standard Server-kontrolliert auf der direkten Anthropic API und aus auf anderen Providern. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; für die anderen Stall-Timer, die neben diesem laufen, siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |414| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog auf Amazon Bedrock `vnd.amazon.eventstream`-Antworten zu aktivieren, was auch die [First-Byte-Deadline](/docs/de/network-config#streaming-idle-watchdogs) auf Bedrock-Streaming-Anfragen aktiviert. Standardmäßig aus. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

415| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Setzen Sie auf `0`, um den Event-Level-Streaming-Idle-Watchdog zu erzwingen-deaktivieren, oder setzen Sie auf `1`, um ihn zu erzwingen-aktivieren. Wenn nicht gesetzt, ist der Watchdog standardmäßig für alle Provider aktiviert. Vor v2.1.196 war der nicht-gesetzte Standard Server-kontrolliert auf der direkten Anthropic API und aus auf anderen Providern. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; für die anderen Stall-Timer, die neben diesem laufen, siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |

409| `CLAUDE_ENV_FILE` | Pfad zu einem Shell-Skript, dessen Inhalt Claude Code vor jedem Bash-Befehl im gleichen Shell-Prozess ausführt, daher sind Exports in der Datei für den Befehl sichtbar. Verwenden Sie, um Virtualenv- oder Conda-Aktivierung über Befehle hinweg zu persistieren. Wird auch dynamisch von [SessionStart](/docs/de/hooks#persist-environment-variables), [Setup](/docs/de/hooks#setup), [CwdChanged](/docs/de/hooks#cwdchanged) und [FileChanged](/docs/de/hooks#filechanged)-Hooks gefüllt |416| `CLAUDE_ENV_FILE` | Pfad zu einem Shell-Skript, dessen Inhalt Claude Code vor jedem Bash-Befehl im gleichen Shell-Prozess ausführt, daher sind Exports in der Datei für den Befehl sichtbar. Verwenden Sie, um Virtualenv- oder Conda-Aktivierung über Befehle hinweg zu persistieren. Wird auch dynamisch von [SessionStart](/docs/de/hooks#persist-environment-variables), [Setup](/docs/de/hooks#setup), [CwdChanged](/docs/de/hooks#cwdchanged) und [FileChanged](/docs/de/hooks#filechanged)-Hooks gefüllt |

410| `CLAUDE_JOB_DIR` | Wird von Claude Code in jeder [Hintergrund-Sitzung](/docs/de/agent-view) auf das `~/.claude/jobs/<id>`-Verzeichnis dieser Sitzung gesetzt. Shell-Befehle, die die Sitzung ausführt, erben es. Schreiben Sie Scratch-Dateien zu [`$CLAUDE_JOB_DIR/tmp`](/docs/de/agent-view#where-state-is-stored). Claude's `Write`- und `Edit`-Aufrufe dort fordern keine Berechtigung an, und das Verzeichnis wird entfernt, wenn die Sitzung gelöscht wird |417| `CLAUDE_JOB_DIR` | Wird von Claude Code in jeder [Background-Sitzung](/docs/de/agent-view) auf das `~/.claude/jobs/<id>`-Verzeichnis dieser Sitzung gesetzt. Shell-Befehle, die die Sitzung ausführt, erben es. Schreiben Sie Scratch-Dateien zu [`$CLAUDE_JOB_DIR/tmp`](/docs/de/agent-view#where-state-is-stored). Claude's `Write`- und `Edit`-Aufrufe dort fragen nicht nach Genehmigung, und das Verzeichnis wird entfernt, wenn die Sitzung gelöscht wird |

411| `CLAUDE_PID` | Claude Code setzt dies auf seine eigene Prozess-ID in den Subprozessen, die es spawnt: Bash- und PowerShell-Tool-Befehle und Hook-Befehle. Auf Linux verwendet die Bash-Tool's Shell-Integration es, um einen `pkill`-Pattern zu weigern, der den Claude Code-Prozess selbst entsprechen würde; siehe [die Fehler-Referenz](/docs/de/errors#pkill-pattern-matches-the-claude-code-process). Lesen Sie es aus Ihren eigenen Skripten, um den übergeordneten Claude Code-Prozess absichtlich zu identifizieren oder zu signalisieren. Erfordert Claude Code v2.1.214 oder später |418| `CLAUDE_PID` | Claude Code setzt dies auf seine eigene Prozess-ID in den Subprozessen, die es spawnt: Bash- und PowerShell-Tool-Befehle und Hook-Befehle. Auf Linux verwendet die Bash-Tool's Shell-Integration es, um einen `pkill`-Pattern zu weigern, der den Claude Code-Prozess selbst entsprechen würde; siehe [die Fehler-Referenz](/docs/de/errors#pkill-pattern-matches-the-claude-code-process). Lesen Sie es aus Ihren eigenen Skripten, um den übergeordneten Claude Code-Prozess absichtlich zu identifizieren oder zu signalisieren. Erfordert Claude Code v2.1.214 oder später |

412| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Präfix für Auto-generierte [Remote Control](/docs/de/remote-control)-Sitzungs-Namen, wenn kein expliziter Name bereitgestellt wird. Standard ist der Hostname Ihrer Maschine, was Namen wie `myhost-graceful-unicorn` produziert. Das `--remote-control-session-name-prefix`-CLI-Flag setzt den gleichen Wert für einen einzelnen Aufruf |419| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Präfix für auto-generierte [Remote Control](/docs/de/remote-control)-Sitzungs-Namen, wenn kein expliziter Name bereitgestellt wird. Standardmäßig der Hostname Ihrer Maschine, produziert Namen wie `myhost-graceful-unicorn`. Die `--remote-control-session-name-prefix`-CLI-Flag setzt den gleichen Wert für einen einzelnen Aufruf |

413| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Frist in Millisekunden für das erste Response-Byte einer Streaming-Anfrage, auf den Verbindungen, wo die [First-Byte-Frist](/docs/de/network-config#streaming-idle-watchdogs) läuft. Für wie Claude Code sie begrenzt, die zusätzliche Zeit, die es für große Request-Bodies hinzufügt, und wie es die Frist wählt, wenn Sie dies nicht gesetzt lassen, siehe [Keine Antwort von API](/docs/de/errors#no-response-from-api). Erfordert Claude Code v2.1.242 oder später |420| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Deadline in Millisekunden für das erste Response-Byte einer Streaming-Anfrage, auf den Verbindungen, wo die [First-Byte-Deadline](/docs/de/network-config#streaming-idle-watchdogs) läuft. Für wie Claude Code es begrenzt, die Extra-Zeit, die es für große Request-Bodies hinzufügt, und wie es die Deadline wählt, wenn Sie dies nicht gesetzt lassen, siehe [Keine Antwort von API](/docs/de/errors#no-response-from-api). Erfordert Claude Code v2.1.242 oder später |

414| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden, bevor die Event- und Byte-Level-Streaming-Idle-Watchdogs eine steckengebliebene Verbindung schließen. Wenn Sie diese Variable explizit setzen, ist das Minimum `300000` (5 Minuten); niedrigere Werte werden stillschweigend auf die Obergrenze begrenzt, um erweiterte Denk-Pausen und Proxy-Pufferung zu absorbieren, und der Byte-Level-Watchdog begrenzt den Wert auf 30 Minuten. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` hat Vorrang über diese Variable für den Byte-Level-Watchdog. Für die Pro-Watchdog-Unset-Standards siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |421| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden, bevor die Event- und Byte-Level-Streaming-Idle-Watchdogs eine steckengebliebene Verbindung schließen. Wenn Sie diese Variable explizit setzen, ist das Minimum `300000` (5 Minuten); niedrigere Werte werden stillschweigend auf die Obergrenze geklemmt, um Extended-Thinking-Pausen und Proxy-Buffering zu absorbieren, und der Byte-Level-Watchdog begrenzt den Wert auf 30 Minuten. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` hat Vorrang über diese Variable für den Byte-Level-Watchdog. Für die Pro-Watchdog-nicht-gesetzten Standards siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |

415| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Entfernt in v2.1.260 und jetzt ein No-Op. Begrenzte zuvor die maximale Lebensdauer in Millisekunden für einen [Hintergrund-Shell-Befehl](/docs/de/interactive-mode#background-bash-commands), den ein [Subagent](/docs/de/sub-agents) gestartet hat, mit einem 60-Minuten-Standard. Siehe [die Hintergrund-Befehlslebensdauer-Regeln](/docs/de/tools-reference#background-commands) |422| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Entfernt in v2.1.260 und jetzt ein No-Op. Begrenzte zuvor, wie lange ein [Background-Shell-Befehl](/docs/de/interactive-mode#background-bash-commands), den ein [Subagent](/docs/de/sub-agents) gestartet hat, laufen konnte, in Millisekunden, mit einem 60-Minuten-Standard. Siehe [die Background-Befehl-Lebensdauer-Regeln](/docs/de/tools-reference#background-commands) |

416| `DEBUG` | Setzen Sie auf `1`, um Debug-Modus zu aktivieren, entspricht dem Starten mit [`--debug`](/docs/de/cli-reference#cli-flags). Debug-Logs werden zu `~/.claude/debug/<session-id>.txt` geschrieben, oder zum Pfad, der von `CLAUDE_CODE_DEBUG_LOGS_DIR` gesetzt wird. Nur die Truthy-Werte `1`, `true`, `yes` und `on` aktivieren Debug-Modus, daher triggern Namespace-Muster wie `DEBUG=express:*`, die für andere Tools gesetzt sind, es nicht |423| `DEBUG` | Setzen Sie auf `1`, um Debug-Modus zu aktivieren, äquivalent zum Starten mit [`--debug`](/docs/de/cli-reference#cli-flags). Debug-Logs werden zu `~/.claude/debug/<session-id>.txt` geschrieben, oder zum Pfad, der von `CLAUDE_CODE_DEBUG_LOGS_DIR` gesetzt wird. Nur die Truthy-Werte `1`, `true`, `yes` und `on` aktivieren Debug-Modus, daher aktivieren Namespace-Muster wie `DEBUG=express:*`, die für andere Tools gesetzt sind, es nicht |

417| `DISABLE_AUTOUPDATER` | Setzen Sie auf `1`, um automatische Hintergrund-Updates zu deaktivieren. Manuelles `claude update` funktioniert immer noch. Verwenden Sie `DISABLE_UPDATES`, um beides zu blockieren |424| `DISABLE_AUTOUPDATER` | Setzen Sie auf `1`, um automatische Background-Updates zu deaktivieren. Manuelles `claude update` funktioniert immer noch. Verwenden Sie `DISABLE_UPDATES`, um beides zu blockieren |

418| `DISABLE_AUTO_COMPACT` | Setzen Sie auf `1`, um automatische Compaction zu deaktivieren, wenn sich dem Kontext-Limit nähert. Der manuelle `/compact`-Befehl bleibt verfügbar. Verwenden Sie, wenn Sie explizite Kontrolle darüber möchten, wann Compaction auftritt. Überschreibt die [`autoCompactEnabled`](/docs/de/settings-reference#autocompactenabled)-Einstellung |425| `DISABLE_AUTO_COMPACT` | Setzen Sie auf `1`, um automatische Compaction zu deaktivieren, wenn sich dem Kontext-Limit nähert. Der manuelle `/compact`-Befehl bleibt verfügbar. Verwenden Sie, wenn Sie explizite Kontrolle darüber möchten, wann Compaction auftritt. Überschreibt die [`autoCompactEnabled`](/docs/de/settings-reference#autocompactenabled)-Einstellung |

419| `DISABLE_COMPACT` | Setzen Sie auf `1`, um alle Compaction zu deaktivieren: sowohl automatische Compaction als auch den manuellen `/compact`-Befehl |426| `DISABLE_COMPACT` | Setzen Sie auf `1`, um alle Compaction zu deaktivieren: sowohl automatische Compaction als auch den manuellen `/compact`-Befehl |

420| `DISABLE_COST_WARNINGS` | Setzen Sie auf `1`, um Kosten-Warnungs-Nachrichten zu deaktivieren |427| `DISABLE_COST_WARNINGS` | Setzen Sie auf `1`, um Kosten-Warnungs-Nachrichten zu deaktivieren |

421| `DISABLE_DOCTOR_COMMAND` | Setzen Sie auf `1`, um den [`/doctor`](/docs/de/commands#all-commands)-Setup-Checkup-Skill und seinen `/checkup`-Alias zu verbergen. Nützlich für verwaltete Deployments, wo Benutzer Setup-Diagnostiken nicht von einer Sitzung ausführen sollten. Betrifft nicht den `claude doctor`-Terminal-Befehl. Vor v2.1.205 verbarg diese Variable den `/doctor`-Diagnostik-Bildschirm-Befehl |428| `DISABLE_DOCTOR_COMMAND` | Setzen Sie auf `1`, um den [`/doctor`](/docs/de/commands#all-commands)-Setup-Checkup-Skill und seinen `/checkup`-Alias zu verbergen. Nützlich für verwaltete Deployments, wo Benutzer Setup-Diagnosen nicht von einer Sitzung ausführen sollten. Betrifft nicht den `claude doctor`-Terminal-Befehl. Vor v2.1.205 verbarg diese Variable den `/doctor`-Diagnose-Bildschirm-Befehl |

422| `DISABLE_ERROR_REPORTING` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um sich von Fehler-Reporting abzumelden. **Das Setzen auf `0` oder `false` meldet sich immer noch ab**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um Fehler-Reporting wieder einzuschalten |429| `DISABLE_ERROR_REPORTING` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um sich von Fehlerberichterstattung abzumelden. **Das Setzen auf `0` oder `false` meldet sich immer noch ab**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um Fehlerberichterstattung wieder einzuschalten |

423| `DISABLE_EXTRA_USAGE_COMMAND` | Setzen Sie auf `1`, um den `/usage-credits`-Befehl zu verbergen, der Benutzern erlaubt, zusätzliche Nutzung über Rate-Limits zu kaufen |430| `DISABLE_EXTRA_USAGE_COMMAND` | Setzen Sie auf `1`, um den `/usage-credits`-Befehl zu verbergen, der Benutzern erlaubt, zusätzliche Nutzung über Rate-Limits hinaus zu kaufen |

424| `DISABLE_FEEDBACK_COMMAND` | Setzen Sie auf `1`, um den `/feedback`-Befehl und [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) zu deaktivieren. Deaktiviert auch `/bug` und `/share`, die durch den gleichen Pfad berichten; vor v2.1.212 waren sie Aliase von `/feedback`, daher war der Befehl unter jedem Namen deaktiviert. Der ältere Name `DISABLE_BUG_COMMAND` wird auch akzeptiert |431| `DISABLE_FEEDBACK_COMMAND` | Setzen Sie auf `1`, um den `/feedback`-Befehl und [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) zu deaktivieren. Deaktiviert auch `/bug` und `/share`, die durch den gleichen Pfad berichten; vor v2.1.212 waren sie Aliase von `/feedback`, daher war der Befehl unter jedem Namen deaktiviert. Der ältere Name `DISABLE_BUG_COMMAND` wird auch akzeptiert |

425| `DISABLE_GROWTHBOOK` | Setzen Sie auf `1` oder `true`, um GrowthBook-Feature-Flag-Abruf zu deaktivieren und Code-Standards für jedes Flag zu verwenden. Dies macht [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar. Das Setzen auf `0` oder `false` lässt Abruf eingeschaltet. Telemetrie-Event-Logging bleibt eingeschaltet, es sei denn, `DISABLE_TELEMETRY` ist auch gesetzt |432| `DISABLE_GROWTHBOOK` | Setzen Sie auf `1` oder `true`, um GrowthBook-Feature-Flag-Abruf zu deaktivieren und Code-Standards für jedes Flag zu verwenden. Dies macht [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar. Das Setzen auf `0` oder `false` lässt Abruf an. Telemetrie-Event-Protokollierung bleibt an, es sei denn, `DISABLE_TELEMETRY` ist auch gesetzt |

426| `DISABLE_INSTALLATION_CHECKS` | Setzen Sie auf `1`, um Installations-Warnungen zu deaktivieren. Verwenden Sie nur, wenn Sie den Installations-Ort manuell verwalten, da dies Probleme mit Standard-Installationen maskieren kann |433| `DISABLE_INSTALLATION_CHECKS` | Setzen Sie auf `1`, um Installationswarnungen zu deaktivieren. Verwenden Sie nur, wenn Sie den Installationsort manuell verwalten, da dies Probleme mit Standard-Installationen maskieren kann |

427| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Setzen Sie auf `1`, um den `/install-github-app`-Befehl zu verbergen. Bereits verborgen, wenn Sie Drittanbieter-Provider verwenden (Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry) |434| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Setzen Sie auf `1`, um den `/install-github-app`-Befehl zu verbergen. Bereits verborgen, wenn Sie Drittanbieter-Provider verwenden (Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry) |

428| `DISABLE_INTERLEAVED_THINKING` | Setzen Sie auf `1`, um das Senden des Interleaved-Thinking-Beta-Headers zu verhindern. Nützlich, wenn Ihr LLM-Gateway oder Provider [Interleaved Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) nicht unterstützt |435| `DISABLE_INTERLEAVED_THINKING` | Setzen Sie auf `1`, um das Senden des Interleaved-Thinking-Beta-Headers zu verhindern. Nützlich, wenn Ihr LLM-Gateway oder Provider [Interleaved Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) nicht unterstützt |

429| `DISABLE_LOGIN_COMMAND` | Setzen Sie auf `1`, um den `/login`-Befehl zu verbergen. Nützlich, wenn Authentifizierung extern über API-Schlüssel oder `apiKeyHelper` gehandhabt wird |436| `DISABLE_LOGIN_COMMAND` | Setzen Sie auf `1`, um den `/login`-Befehl zu verbergen. Nützlich, wenn Authentifizierung extern über API-Schlüssel oder `apiKeyHelper` behandelt wird |

430| `DISABLE_LOGOUT_COMMAND` | Setzen Sie auf `1`, um den `/logout`-Befehl zu verbergen |437| `DISABLE_LOGOUT_COMMAND` | Setzen Sie auf `1`, um den `/logout`-Befehl zu verbergen |

431| `DISABLE_PROMPT_CACHING` | Setzen Sie auf `1`, um [Prompt-Caching](/docs/de/prompt-caching#disable-prompt-caching) für alle Modelle zu deaktivieren (hat Vorrang vor Pro-Modell-Einstellungen) |438| `DISABLE_PROMPT_CACHING` | Setzen Sie auf `1`, um [Prompt-Caching](/docs/de/prompt-caching#disable-prompt-caching) für alle Modelle zu deaktivieren (hat Vorrang vor Pro-Modell-Einstellungen) |

432| `DISABLE_PROMPT_CACHING_FABLE` | Setzen Sie auf `1`, um Prompt-Caching für Fable-Modelle zu deaktivieren |439| `DISABLE_PROMPT_CACHING_FABLE` | Setzen Sie auf `1`, um Prompt-Caching für Fable-Modelle zu deaktivieren |


436| `DISABLE_TELEMETRY` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um sich von Telemetrie abzumelden. **Das Setzen auf `0` oder `false` meldet sich immer noch ab**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um Telemetrie wieder einzuschalten. Telemetrie-Events enthalten keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle. Deaktiviert auch Feature-Flag-Abruf mit der gleichen Auswirkung wie `DISABLE_GROWTHBOOK`, was [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar macht. Siehe [Telemetrie für Ihre Organisation ausschalten](/docs/de/managed-settings#turn-telemetry-off-for-your-organization) |443| `DISABLE_TELEMETRY` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um sich von Telemetrie abzumelden. **Das Setzen auf `0` oder `false` meldet sich immer noch ab**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um Telemetrie wieder einzuschalten. Telemetrie-Events enthalten keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle. Deaktiviert auch Feature-Flag-Abruf mit der gleichen Auswirkung wie `DISABLE_GROWTHBOOK`, was [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar macht. Siehe [Telemetrie für Ihre Organisation ausschalten](/docs/de/managed-settings#turn-telemetry-off-for-your-organization) |

437| `DISABLE_UPDATES` | Setzen Sie auf `1`, um alle Updates zu blockieren, einschließlich manuelles `claude update` und `claude install`. Strenger als `DISABLE_AUTOUPDATER`. Verwenden Sie, wenn Sie Claude Code über Ihre eigenen Kanäle verteilen und Benutzer sich nicht selbst aktualisieren sollten |444| `DISABLE_UPDATES` | Setzen Sie auf `1`, um alle Updates zu blockieren, einschließlich manuelles `claude update` und `claude install`. Strenger als `DISABLE_AUTOUPDATER`. Verwenden Sie, wenn Sie Claude Code über Ihre eigenen Kanäle verteilen und Benutzer sich nicht selbst aktualisieren sollten |

438| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl zu verbergen |445| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl zu verbergen |

439| `DO_NOT_TRACK` | Setzen Sie auf `1`, um sich von Telemetrie abzumelden, mit der gleichen Auswirkung wie `DISABLE_TELEMETRY`, einschließlich der Nicht-Verfügbarkeit von [Remote Control](/docs/de/remote-control#requirements) und den anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching). Claude Code liest diese Variable als Standard-Boolean, daher lässt `0` Telemetrie eingeschaltet, und respektiert sie als die Cross-Tool-Konvention, die von vielen Developer-CLIs erkannt wird |446| `DO_NOT_TRACK` | Setzen Sie auf `1`, um sich von Telemetrie abzumelden, mit der gleichen Auswirkung wie `DISABLE_TELEMETRY`, einschließlich der Nicht-Verfügbarkeit von [Remote Control](/docs/de/remote-control#requirements) und den anderen [Features, die Feature-Flag-Abruf benötigen](#features-that-need-feature-flag-fetching). Claude Code liest diese Variable als Standard-Boolean, daher lässt `0` Telemetrie an, und ehrt sie als die Cross-Tool-Konvention, die von vielen Developer-CLIs erkannt wird |

440| `ENABLE_BETA_TRACING_DETAILED` | Setzen Sie auf `1`, zusammen mit `BETA_TRACING_ENDPOINT`, um [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta) einzuschalten, das Inhalts-tragende Span-Attribute und den `claude_code.hook`-Span hinzufügt. Interaktive CLI-Sitzungen erfordern auch, dass Ihre Organisation für das Beta auf die Allowlist gesetzt ist. Beide Variablen werden in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |447| `ENABLE_BETA_TRACING_DETAILED` | Setzen Sie auf `1`, zusammen mit `BETA_TRACING_ENDPOINT`, um [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta) zu aktivieren, das Content-tragende Span-Attribute und den `claude_code.hook`-Span hinzufügt. Interaktive CLI-Sitzungen erfordern auch, dass Ihre Organisation für das Beta auf die Allowlist gesetzt ist. Beide Variablen werden in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |

441| `ENABLE_CLAUDEAI_MCP_SERVERS` | Setzen Sie auf `false`, um Claude Code davon abzuhalten, [claude.ai-MCP-Server](/docs/de/mcp#use-mcp-servers-from-claude-ai) zu fetchen. Standardmäßig für angemeldete Benutzer aktiviert. Um Pro-Projekt oder Pro-Org zu deaktivieren, setzen Sie stattdessen [`disableClaudeAiConnectors`](/docs/de/settings-reference#disableclaudeaiconnectors) in Einstellungen |448| `ENABLE_CLAUDEAI_MCP_SERVERS` | Setzen Sie auf `false`, um Claude Code davon abzuhalten, [claude.ai-MCP-Server](/docs/de/mcp#use-mcp-servers-from-claude-ai) zu fetchen. Standardmäßig für angemeldete Benutzer aktiviert. Um Pro-Projekt oder Pro-Org zu deaktivieren, setzen Sie stattdessen [`disableClaudeAiConnectors`](/docs/de/settings-reference#disableclaudeaiconnectors) in Einstellungen |

442| `ENABLE_PROMPT_CACHING_1H` | Setzen Sie auf `1`, um eine 1-Stunden-[Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) statt der Standard-5-Minuten anzufordern. Gedacht für API-Schlüssel-, [Amazon Bedrock](/docs/de/amazon-bedrock)-, [Google Cloud's Agent Platform](/docs/de/google-vertex-ai)-, [Microsoft Foundry](/docs/de/microsoft-foundry)- und [Claude Platform on AWS](/docs/de/claude-platform-on-aws)-Benutzer. Abonnement-Benutzer innerhalb der enthaltenen Nutzung erhalten die 1-Stunden-TTL automatisch auf der [Haupt-Konversation](/docs/de/prompt-caching#which-ttl-each-request-gets). Abonnement-Benutzer, die auf [Nutzungs-Credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) zeichnen, können es setzen, um die 1-Stunden-TTL zu behalten. 1-Stunden-Cache-Schreibvorgänge werden mit einer höheren Rate berechnet. Um die TTL stattdessen Pro-Request-Bucket zu wählen, verwenden Sie `CLAUDE_CODE_PROMPT_CACHE_TTL` und `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, die Vorrang vor dieser Variablen haben |449| `ENABLE_PROMPT_CACHING_1H` | Setzen Sie auf `1`, um eine 1-Stunden-[Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) anstelle der Standard-5-Minuten anzufordern. Gedacht für API-Schlüssel-, [Amazon Bedrock](/docs/de/amazon-bedrock)-, [Google Cloud's Agent Platform](/docs/de/google-vertex-ai)-, [Microsoft Foundry](/docs/de/microsoft-foundry)- und [Claude Platform on AWS](/docs/de/claude-platform-on-aws)-Benutzer. Abonnement-Benutzer innerhalb der enthaltenen Nutzung erhalten die 1-Stunden-TTL automatisch auf der [Hauptkonversation](/docs/de/prompt-caching#which-ttl-each-request-gets). Abonnement-Benutzer, die auf [Nutzungs-Credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) zeichnen, können es setzen, um die 1-Stunden-TTL zu behalten. 1-Stunden-Cache-Schreibvorgänge werden mit einer höheren Rate berechnet. Um die TTL stattdessen Pro-Request-Bucket zu wählen, verwenden Sie `CLAUDE_CODE_PROMPT_CACHE_TTL` und `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, die Vorrang vor dieser Variablen haben |

443| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Veraltet. Verwenden Sie stattdessen `ENABLE_PROMPT_CACHING_1H` |450| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Veraltet. Verwenden Sie stattdessen `ENABLE_PROMPT_CACHING_1H` |

444| `ENABLE_TOOL_SEARCH` | Kontrolliert [MCP-Toolsuche](/docs/de/mcp#scale-with-mcp-tool-search). Nicht gesetzt, Claude Code verschiebt alle MCP-Tools standardmäßig. Es lädt sie immer noch upfront auf Google Cloud's Agent Platform-Modellen früher als die Claude 4.5-Generation, auf einer Microsoft Foundry-Deployment auf Azure gehostet, und wenn `ANTHROPIC_BASE_URL` auf einen Host eines Drittanbieters zeigt. `true` verschiebt immer und sendet den Beta-Header, außer auf diesen gleichen Agent Platform-Modellen und Microsoft Foundry-Deployments; Anfragen schlagen auf Proxies fehl, die `tool_reference` nicht unterstützen. `auto` lädt upfront, wenn Tool-Definitionen in 10% des Kontexts passen. `auto:N` setzt eine benutzerdefinierte Schwelle, wie `auto:5` für 5%. `false` lädt alle Tools upfront. Ein Wert, den Sie selbst setzen, wird ignoriert, wenn `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` gesetzt ist. Vor v2.1.221 deaktivierte Claude Code die Toolsuche für alle Modelle auf Google Cloud's Agent Platform, es sei denn, Sie setzen diese Variable auf `true` |451| `ENABLE_TOOL_SEARCH` | Kontrolliert [MCP-Tool-Suche](/docs/de/mcp#scale-with-mcp-tool-search). Nicht gesetzt, Claude Code verschiebt alle MCP-Tools standardmäßig. Es lädt sie immer noch upfront auf Google Cloud's Agent Platform-Modellen früher als die Claude 4.5-Generation, auf einer Microsoft Foundry-Deployment auf Azure gehostet, und wenn `ANTHROPIC_BASE_URL` auf einen Nicht-First-Party-Host verweist. `true` verschiebt immer und sendet den Beta-Header, außer auf diesen gleichen Agent Platform-Modellen und Microsoft Foundry-Deployments; Anfragen schlagen auf Proxies fehl, die `tool_reference` nicht unterstützen. `auto` lädt upfront, wenn Tool-Definitionen in 10% des Kontexts passen. `auto:N` setzt einen benutzerdefinierten Schwellenwert, wie `auto:5` für 5%. `false` lädt alle Tools upfront. Ein Wert, den Sie selbst setzen, wird ignoriert, wenn `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` gesetzt ist. Vor v2.1.221 deaktivierte Claude Code Tool-Suche für alle Modelle auf Google Cloud's Agent Platform, es sei denn, Sie setzen diese Variable auf `true` |

445| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um jedes Modell zu machen, das Wiederholung mit einem wiederholten Überladungs-Fehler stoppt, wenn kein Fallback-Modell konfiguriert ist. **Das Setzen auf `0` oder `false` aktiviert dies immer noch**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um das Standard-Wiederholungs-Verhalten wiederherzustellen. Ohne es stoppen Modelle, die Claude Code als Opus-, Fable- oder Mythos-Modelle erkennt, Wiederholung auf diese Weise, wenn Sie sich mit einem API-Schlüssel oder einem [Drittanbieter-Provider](/docs/de/third-party-integrations) statt einem Claude-Abonnement authentifizieren. Ab v2.1.160 triggert eine konfigurierte [Fallback-Modell-Kette](/docs/de/model-config#fallback-model-chains) auf wiederholte Überladungs-Fehler für jedes primäre Modell, daher betrifft diese Variable nicht das Wechseln zu einem Fallback-Modell |452| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um Claude Code zu veranlassen, bei wiederholten Overload-Fehlern für jedes Modell zu stoppen, wenn kein Fallback-Modell konfiguriert ist. **Das Setzen auf `0` oder `false` aktiviert dies immer noch**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um das Standard-Wiederholungs-Verhalten wiederherzustellen. Ohne dies stoppt Claude Code das Wiederholen auf diese Weise auf Modellen, die es als Opus-, Fable- oder Mythos-Modelle erkennt, wenn Sie sich mit einem API-Schlüssel oder einem [Drittanbieter-Provider](/docs/de/third-party-integrations) authentifizieren, anstelle eines Claude-Abonnements. Auf Claude Code v2.1.160 oder später wechselt Claude Code zu Ihrem konfigurierten [Fallback-Modell-Kette](/docs/de/model-config#fallback-model-chains) bei wiederholten Overload-Fehlern für jedes primäre Modell, daher betrifft diese Variable nicht das Wechseln zu einem Fallback-Modell |

446| `FORCE_AUTOUPDATE_PLUGINS` | Setzen Sie auf `1`, um Plugin-Auto-Updates zu erzwingen, auch wenn der Haupt-Auto-Updater über `DISABLE_AUTOUPDATER` deaktiviert ist |453| `FORCE_AUTOUPDATE_PLUGINS` | Setzen Sie auf `1`, um Plugin-Auto-Updates zu erzwingen, auch wenn der Haupt-Auto-Updater über `DISABLE_AUTOUPDATER` deaktiviert ist |

447| `FORCE_HYPERLINK` | Setzen Sie auf `1`, um klickbare OSC 8-Hyperlinks zu aktivieren, wenn Ihr Terminal sie unterstützt, aber nicht auto-erkannt wird, oder `0`, um sie zu deaktivieren. Wenn nicht gesetzt, aktiviert Claude Code Hyperlinks nur, wenn es Terminal-Unterstützung erkennt. Claude Code parst diesen Wert als Zahl, nicht als Boolean, daher aktiviert ein Wert wie `false`, `no` oder `off` Hyperlinks, anstatt sie zu deaktivieren. Claude Code rendert die Footer-[PR- oder Merge-Request-Badge](/docs/de/interactive-mode#pr-review-status) als Hyperlink, auch wenn es Terminal-Unterstützung nicht erkennen kann, wie über SSH. Setzen Sie `0`, um die Badge als einfachen Text zu rendern |454| `FORCE_HYPERLINK` | Setzen Sie auf `1`, um klickbare OSC 8-Hyperlinks zu aktivieren, wenn Ihr Terminal sie unterstützt, aber nicht auto-erkannt wird, oder `0`, um sie zu deaktivieren. Wenn nicht gesetzt, aktiviert Claude Code Hyperlinks nur, wenn es Terminal-Unterstützung erkennt. Claude Code parst diesen Wert als Zahl, nicht als Boolean, daher aktiviert ein Wert wie `false`, `no` oder `off` Hyperlinks, anstatt sie zu deaktivieren. Der Footer [PR- oder Merge-Request-Badge](/docs/de/interactive-mode#pr-review-status) wird als Hyperlink gerendert, auch wenn Claude Code Terminal-Unterstützung nicht erkennen kann, wie über SSH. Setzen Sie `0`, um den Badge als einfachen Text zu rendern |

448| `FORCE_PROMPT_CACHING_5M` | Setzen Sie auf `1`, um die 5-Minuten-Prompt-Cache-TTL zu erzwingen, auch wenn 1-Stunden-TTL andernfalls gelten würde. Überschreibt `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` und die `promptCacheTtl`- und `subagentPromptCacheTtl`-Einstellungen |455| `FORCE_PROMPT_CACHING_5M` | Setzen Sie auf `1`, um die 5-Minuten-Prompt-Cache-TTL zu erzwingen, auch wenn 1-Stunden-TTL andernfalls gelten würde. Überschreibt `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` und die `promptCacheTtl`- und `subagentPromptCacheTtl`-Einstellungen |

449| `HTTP_PROXY` | Geben Sie HTTP-Proxy-Server für Netzwerk-Verbindungen an |456| `HTTP_PROXY` | Geben Sie HTTP-Proxy-Server für Netzwerk-Verbindungen an |

450| `HTTPS_PROXY` | Geben Sie HTTPS-Proxy-Server für Netzwerk-Verbindungen an |457| `HTTPS_PROXY` | Geben Sie HTTPS-Proxy-Server für Netzwerk-Verbindungen an |

451| `IS_DEMO` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um Demo-Modus zu aktivieren: verbirgt Ihre E-Mail und Organisations-Namen aus dem Header und `/status`-Ausgabe, und überspringt Onboarding. **Das Setzen auf `0` oder `false` aktiviert immer noch Demo-Modus**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um es auszuschalten. Nützlich beim Streamen oder Aufzeichnen einer Sitzung |458| `IS_DEMO` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um Demo-Modus zu aktivieren: verbirgt Ihre E-Mail und Organisations-Namen aus dem Header und `/status`-Ausgabe, und überspringt Onboarding. **Das Setzen auf `0` oder `false` aktiviert immer noch Demo-Modus**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung der Variablen auf, um es auszuschalten. Nützlich beim Streamen oder Aufzeichnen einer Sitzung |

452| `MAX_MCP_OUTPUT_TOKENS` | Maximale Anzahl von Tokens, die in MCP-Tool-Antworten erlaubt sind. Claude Code zeigt eine Warnung, wenn die Ausgabe 10.000 Tokens überschreitet. Tools, die [`anthropic/maxResultSizeChars`](/docs/de/mcp#raise-the-limit-for-a-specific-tool) deklarieren, verwenden stattdessen dieses Zeichen-Limit für Text-Inhalt, aber Bild-Inhalt von diesen Tools unterliegt immer noch dieser Variablen (Standard: 25000) |459| `MAX_MCP_OUTPUT_TOKENS` | Maximale Anzahl von Tokens, die in MCP-Tool-Antworten erlaubt sind. Claude Code zeigt eine Warnung an, wenn die Ausgabe 10.000 Tokens überschreitet. Tools, die [`anthropic/maxResultSizeChars`](/docs/de/mcp#raise-the-limit-for-a-specific-tool) deklarieren, verwenden stattdessen dieses Zeichen-Limit für Text-Inhalt, aber Bild-Inhalt von diesen Tools unterliegt immer noch dieser Variablen (Standard: 25000) |

453| `MAX_STRUCTURED_OUTPUT_RETRIES` | Anzahl der Wiederholungen, wenn die Antwort des Modells die Validierung gegen das [`--json-schema`](/docs/de/cli-reference#cli-flags) im nicht-interaktiven Modus mit dem `-p`-Flag fehlschlägt; nach so vielen fehlgeschlagenen Versuchen ohne gültige Ausgabe schlägt der Run fehl. Die gleiche Obergrenze gilt, wenn ein [Workflow](/docs/de/workflows)-Subagent's strukturierte Ausgabe die Validierung fehlschlägt. Standard ist 5, ein erster Versuch plus vier Wiederholungen |460| `MAX_STRUCTURED_OUTPUT_RETRIES` | Anzahl der Versuche, die Claude Code erlaubt, wenn die Antwort des Modells die Validierung gegen das [`--json-schema`](/docs/de/cli-reference#cli-flags) im nicht-interaktiven Modus mit der `-p`-Flag fehlschlägt; nach so vielen fehlgeschlagenen Versuchen ohne gültige Ausgabe schlägt der Lauf fehl. Die gleiche Obergrenze gilt, wenn die strukturierte Ausgabe eines [Workflow](/docs/de/workflows)-Subagents die Validierung fehlschlägt. Standardmäßig 5, ein erster Versuch plus vier Wiederholungen |

454| `MAX_THINKING_TOKENS` | Festes Token-Budget für [erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code begrenzt es auf ein Token unter den Max-Output-Tokens der Anfrage und nie unter 1.024. Siehe `CLAUDE_CODE_MAX_OUTPUT_TOKENS` für wie dieses Limit gesetzt wird. Wenn nicht gesetzt und Denken aktiviert ist, wählen Modelle mit [adaptivem Denken](/docs/de/model-config#adjust-effort-level) ihre eigene Denk-Tiefe, und andere Modelle verwenden die Obergrenze. Setzen Sie auf `0`, um Denken auf der Anthropic API zu deaktivieren, außer auf Fable-Modellen, die Denken nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `0` den `thinking`-Parameter aus statt. Mit Denken auf der Anthropic API ausgeschaltet sendet Claude Code stattdessen Effort `high` an Modelle, die es weiß, [akzeptieren diese Kombination nicht](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5. Claude Code ignoriert Nicht-Null-Werte auf adaptiven Denk-Modellen, außer auf den Modellen, wo `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` adaptives Denken ausschaltet |461| `MAX_THINKING_TOKENS` | Festes Token-Budget für [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code begrenzt es auf ein Token unter den Max-Output-Tokens der Anfrage und nie unter 1.024. Siehe `CLAUDE_CODE_MAX_OUTPUT_TOKENS` für wie dieses Limit gesetzt wird. Wenn nicht gesetzt und Denken aktiviert ist, wählen Modelle mit [adaptivem Denken](/docs/de/model-config#adjust-effort-level) ihre eigene Denk-Tiefe, und andere Modelle verwenden die Obergrenze. Setzen Sie auf `0`, um Denken auf der Anthropic API zu deaktivieren, außer auf Fable-Modellen, die Denken nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `0` den `thinking`-Parameter aus statt. Mit Denken auf der Anthropic API ausgeschaltet sendet Claude Code Effort `high` statt einer höheren Ebene zu Modellen, die es weiß, [akzeptieren diese Kombination nicht](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5. Claude Code ignoriert nicht-Null-Werte auf adaptiven Denk-Modellen, außer auf den Modellen, wo `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` adaptives Denken ausschaltet |

455| `MCP_CLIENT_SECRET` | OAuth-Client-Secret für MCP-Server, die [vorkonfigurierte Anmeldedaten](/docs/de/mcp#use-pre-configured-oauth-credentials) erfordern. Vermeidet die interaktive Aufforderung beim Hinzufügen eines Servers mit `--client-secret` |462| `MCP_CLIENT_SECRET` | OAuth-Client-Secret für MCP-Server, die [vorkonfigurierte Credentials](/docs/de/mcp#use-pre-configured-oauth-credentials) erfordern. Vermeidet den interaktiven Prompt beim Hinzufügen eines Servers mit `--client-secret` |

456| `MCP_CONNECTION_NONBLOCKING` | Kontrolliert, ob Startup auf MCP-Server-Verbindung wartet, bevor die erste Query. MCP-Startup ist standardmäßig nicht-blockierend: Server verbinden sich im Hintergrund und ihre Tools werden verfügbar, wenn sie fertig sind. Setzen Sie auf `0`, um Claude Code auf Server-Verbindung warten zu lassen, bevor die erste Query. Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, machen Startup immer noch warten, außer wenn sie vom [Discovery-Cache](/docs/de/mcp#server-status-detail) serviert werden, da ihre Tools vorhanden sein müssen, wenn der erste Prompt gebaut wird. Im nicht-interaktiven Modus (`-p`) wartet Claude Code auch auf noch ausstehende Server, bevor der erste Turn, mit einer längeren Frist, wenn Sie [`--mcp-config`](/docs/de/cli-reference#cli-flags) explizit übergeben; siehe diesen Flag's Eintrag für die Cached-Server-Ausnahme |463| `MCP_CONNECTION_NONBLOCKING` | Kontrolliert, ob Startup auf MCP-Server wartet, um sich zu verbinden, bevor die erste Abfrage. MCP-Startup ist standardmäßig nicht-blockierend: Server verbinden sich im Hintergrund und ihre Tools werden verfügbar, wenn sie fertig sind. Setzen Sie auf `0`, um Claude Code auf Server-Verbindung vor der ersten Abfrage zu warten. Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, machen Startup immer noch warten, außer wenn sie vom [Discovery-Cache](/docs/de/mcp#server-status-detail) serviert werden, da ihre Tools vorhanden sein müssen, wenn der erste Prompt gebaut wird. Im nicht-interaktiven Modus (`-p`) ohne `--input-format stream-json` wartet Claude Code auch auf noch ausstehende Server vor dem ersten Turn, unabhängig von dieser Variablen. Wenn Sie [`--mcp-config`](/docs/de/cli-reference#cli-flags) explizit übergeben, hat das Warten eine längere Deadline; siehe diesen Flag-Eintrag für die Cached-Server-Ausnahme |

457| `MCP_CONNECT_TIMEOUT_MS` | Wie lange blockierendes MCP-Startup wartet, in Millisekunden, auf die Verbindungs-Batch, bevor die Tool-Liste Snapshot wird (Standard: 5000). Gilt, wenn `MCP_CONNECTION_NONBLOCKING=0` oder für Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) markiert sind. Server, die immer noch ausstehend sind, verbinden sich weiter im Hintergrund. Unterschiedlich von `MCP_TIMEOUT`, das einen einzelnen Server's Verbindungs-Versuch begrenzt |464| `MCP_CONNECT_TIMEOUT_MS` | Wie lange blockierendes MCP-Startup wartet, in Millisekunden, für den Verbindungs-Batch, bevor die Tool-Liste Snapshot wird (Standard: 5000). Gilt, wenn `MCP_CONNECTION_NONBLOCKING=0` oder für Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) markiert sind. Server, die immer noch ausstehend sind, bei der Deadline, verbinden sich weiter im Hintergrund. Unterschiedlich von `MCP_TIMEOUT`, das einen einzelnen Server's Verbindungs-Versuch begrenzt |

458| `MCP_DISCOVERY_CACHE` | Schaltet den [MCP-Discovery-Cache](/docs/de/mcp#server-status-detail) ein oder aus. Mit dem Cache ein kann ein Remote-HTTP- oder SSE-Server, den Sie zuvor verwendet haben, den [`cached`-Status](/docs/de/mcp#server-status-detail) zeigen, und Claude Code verbindet ihn beim ersten Tool-Aufruf statt beim Startup. Der Cache ist standardmäßig aus, es sei denn, ein gradueller Rollout hat ihn für Ihr Konto aktiviert. Setzen Sie auf `1`, um ihn einzuschalten, oder `0`, um ihn aus zu halten, auch wenn der Rollout ihn aktiviert hat. Vor v2.1.238 war der Cache standardmäßig ein. Der `cached`-Status erfordert Claude Code v2.1.221 oder später |465| `MCP_DISCOVERY_CACHE` | Schaltet den [MCP-Discovery-Cache](/docs/de/mcp#server-status-detail) ein oder aus. Mit dem Cache an kann ein Remote-HTTP- oder SSE-Server, den Sie zuvor verwendet haben, den [`cached`-Status](/docs/de/mcp#server-status-detail) zeigen, und Claude Code verbindet ihn beim ersten Tool-Aufruf, anstatt beim Startup. Der Cache ist standardmäßig aus, es sei denn, ein gradueller Rollout hat ihn für Ihr Konto aktiviert. Setzen Sie auf `1`, um ihn einzuschalten, oder `0`, um ihn aus zu halten, auch wenn der Rollout ihn aktiviert hat. Vor v2.1.238 war der Cache standardmäßig an. Der `cached`-Status erfordert Claude Code v2.1.221 oder später |

459| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Maximales Alter, in Sekunden, eines [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrags (Standard: 14400 oder 4 Stunden). Bei einem Start, wo der Eintrag älter als das ist, verwirft Claude Code ihn und verbindet den Server beim Startup, wie es mit dem Cache aus tut. Claude Code begrenzt den Wert auf 7 Tage. Vor v2.1.238 war der Standard 86400 oder 24 Stunden, und Claude Code begrenzte den Wert nicht |466| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Maximales Alter, in Sekunden, eines [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrags (Standard: 14400 oder 4 Stunden). Bei einem Start, wo der Eintrag älter als das ist, verwirft Claude Code ihn und verbindet den Server beim Startup, wie es mit dem Cache aus tut. Claude Code begrenzt den Wert auf 7 Tage. Vor v2.1.238 war der Standard 86400 oder 24 Stunden, und Claude Code begrenzte den Wert nicht |

460| `MCP_DISCOVERY_CACHE_STRIKES` | Bei einem Start, wo ein [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrag älter als `MCP_DISCOVERY_CACHE_TTL_S` ist, aktualisiert Claude Code ihn im Hintergrund. Diese Variable setzt, wie viele Aktualisierungen hintereinander fehlschlagen können, bevor Claude Code den Eintrag verwirft und den Server beim nächsten Start statt verbindet (Standard: 1). Erhöhen Sie es, wenn Ihre Netzwerk-Verbindung gelegentlich ausfällt, daher verwirft eine fehlgeschlagene Aktualisierung nicht den Eintrag. Erfordert Claude Code v2.1.238 oder später |467| `MCP_DISCOVERY_CACHE_STRIKES` | Bei einem Start, wo ein [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrag älter als `MCP_DISCOVERY_CACHE_TTL_S` ist, aktualisiert Claude Code ihn im Hintergrund. Diese Variable setzt, wie viele Aktualisierungen in einer Reihe fehlschlagen können, bevor Claude Code den Eintrag verwirft und den Server beim nächsten Start statt verbindet (Standard: 1). Erhöhen Sie es, wenn Ihre Netzwerk-Verbindung gelegentlich ausfällt, daher verwirft eine fehlgeschlagene Aktualisierung nicht den Eintrag. Erfordert Claude Code v2.1.238 oder später |

461| `MCP_DISCOVERY_CACHE_TTL_S` | Sekunden, für die Claude Code einen [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrag ohne Aktualisierung verwendet (Standard: 900). Bei einem Start, wo der Eintrag älter als das ist, verwendet Claude Code ihn immer noch, aber aktualisiert ihn im Hintergrund. Sobald der Eintrag älter als `MCP_DISCOVERY_CACHE_MAX_STALE_S` ist, verwirft Claude Code ihn statt. Claude Code begrenzt den Wert auf `MCP_DISCOVERY_CACHE_MAX_STALE_S`, was 4 Stunden standardmäßig ist. Vor v2.1.238 begrenzte Claude Code den Wert nicht |468| `MCP_DISCOVERY_CACHE_TTL_S` | Sekunden, für die Claude Code einen [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrag verwendet, ohne ihn zu aktualisieren (Standard: 900). Bei einem Start, wo der Eintrag älter als das ist, verwendet Claude Code ihn immer noch, aber aktualisiert ihn im Hintergrund. Sobald der Eintrag älter als `MCP_DISCOVERY_CACHE_MAX_STALE_S` ist, verwirft Claude Code ihn statt. Claude Code begrenzt den Wert auf `MCP_DISCOVERY_CACHE_MAX_STALE_S`, was 4 Stunden standardmäßig ist. Vor v2.1.238 begrenzte Claude Code den Wert nicht |

462| `MCP_OAUTH_CALLBACK_PORT` | Fester Port für den OAuth-Redirect-Callback, als Alternative zu `--callback-port`, wenn ein MCP-Server mit [vorkonfigurierten Anmeldedaten](/docs/de/mcp#use-pre-configured-oauth-credentials) hinzugefügt wird |469| `MCP_OAUTH_CALLBACK_PORT` | Fester Port für den OAuth-Redirect-Callback, als Alternative zu `--callback-port`, wenn ein MCP-Server mit [vorkonfigurierten Credentials](/docs/de/mcp#use-pre-configured-oauth-credentials) hinzugefügt wird |

463| `MCP_PROTOCOL_NEGOTIATION` | Nur auf der [v2-MCP-Client-Runtime](/docs/de/mcp#mcp-client-runtimes), ob Claude Code Server für MCP-Protokoll-Revision 2026-07-28 prüft. Setzen Sie `auto`, um HTTP-, claude.ai-Connector- und Stdio-Server zu prüfen; ein Server, der nicht auf die Prüfung antwortet, verbindet sich auf dem früheren Protokoll statt, wie SSE- und WebSocket-Server immer tun. Setzen Sie `legacy`, um die Prüfung für jeden Server zu überspringen. Ohne die Variable prüft Claude Code HTTP- und claude.ai-Connector-Server auf Claude Code v2.1.232 oder später, mit den Ausnahmen, die der [MCP-Client-Runtimes](/docs/de/mcp#mcp-client-runtimes)-Abschnitt auflistet. Jeder andere Wert wird mit einer Warnung im Debug-Log ignoriert. Erfordert Claude Code v2.1.221 oder später |470| `MCP_PROTOCOL_NEGOTIATION` | Nur auf der [v2-MCP-Client-Runtime](/docs/de/mcp#mcp-client-runtimes), ob Claude Code Server für MCP-Protokoll-Revision 2026-07-28 prüft. Setzen Sie `auto`, um HTTP-, claude.ai-Connector- und Stdio-Server zu prüfen; ein Server, der nicht auf die Sonde antwortet, verbindet sich auf dem früheren Protokoll statt, wie SSE- und WebSocket-Server immer tun. Setzen Sie `legacy`, um die Sonde für jeden Server zu überspringen. Ohne die Variable prüft Claude Code HTTP-Server, und prüft auch claude.ai-Connector-Server in Sitzungen, wo es [Feature-Flags fetcht](#features-that-need-feature-flag-fetching). Jeder andere Wert wird mit einer Warnung im Debug-Log ignoriert. Erfordert Claude Code v2.1.221 oder später |

464| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von Remote-MCP-Servern (HTTP/SSE), die parallel während Startup verbunden werden (Standard: 20) |471| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von Remote-MCP-Servern (HTTP/SSE), um parallel beim Startup zu verbinden (Standard: 20) |

465| `MCP_SDK_GENERATION` | Heften Sie, welche [MCP-Client-Runtime](/docs/de/mcp#mcp-client-runtimes) dieser Prozess mit MCP-Servern verbindet: `v1`, gebaut auf MCP TypeScript SDK 1.x, oder `v2`, gebaut auf [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Ohne die Variable verwendet Claude Code v2 auf Claude Code v2.1.232 oder später, außer wo dieser Abschnitt sagt, dass es v1 verwendet. Auf Claude Code v2.1.221 oder später überprüft die v2-Runtime den Aussteller, den ein MCP-OAuth-Server in seiner Autorisierungs-Antwort zurückgibt, und schlägt die Anmeldung mit einem Fehler fehl, der mit `Issuer mismatch in authorization response` beginnt, wenn er nicht übereinstimmt. Die v1-Runtime führt diese Überprüfung nicht aus. Wenn Sie einen nicht erkannten Wert setzen, ignoriert Claude Code ihn und schreibt eine Warnung zum Debug-Log. Claude Code liest den Wert einmal pro Prozess. Erfordert Claude Code v2.1.218 oder später |472| `MCP_SDK_GENERATION` | Heften Sie, welche [MCP-Client-Runtime](/docs/de/mcp#mcp-client-runtimes) dieser Prozess mit MCP-Servern verbindet: `v1`, gebaut auf MCP TypeScript SDK 1.x, oder `v2`, gebaut auf [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Ohne die Variable verwendet Claude Code v2, ab den Versionen, die in diesem Abschnitt aufgelistet sind. Auf Claude Code v2.1.221 oder später überprüft die v2-Runtime den Issuer, den ein MCP-OAuth-Server in seiner Autorisierungs-Antwort zurückgibt, und schlägt die Anmeldung mit einem Fehler fehl, der mit `Issuer mismatch in authorization response` beginnt, wenn er nicht übereinstimmt. Die v1-Runtime führt diese Überprüfung nicht aus. Wenn Sie einen nicht erkannten Wert setzen, ignoriert Claude Code ihn und schreibt eine Warnung in das Debug-Log. Claude Code liest den Wert einmal pro Prozess. Erfordert Claude Code v2.1.218 oder später |

466| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von lokalen MCP-Servern (Stdio), die parallel während Startup verbunden werden (Standard: 3) |473| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von lokalen MCP-Servern (Stdio), um parallel beim Startup zu verbinden (Standard: 3) |

467| `MCP_TIMEOUT` | Timeout in Millisekunden für MCP-Server-Startup (Standard: 30000 oder 30 Sekunden) |474| `MCP_TIMEOUT` | Timeout in Millisekunden für MCP-Server-Startup (Standard: 30000 oder 30 Sekunden) |

468| `MCP_TOOL_TIMEOUT` | Timeout in Millisekunden für MCP-Tool-Ausführung (Standard: 100000000, ungefähr 28 Stunden). Für einen HTTP-, SSE- oder claude.ai-Connector-Server timeout jede Anfrage auch nach 60 Sekunden standardmäßig; setzen Sie diese Variable oder den Pro-Server-`timeout` über 60000, um dieses Pro-Request-Limit zu erhöhen. Ein niedrigerer Wert verkürzt immer noch das Gesamt-Tool-Ausführungs-Timeout, aber lässt das Pro-Request-Limit bei 60 Sekunden. Stdio- und WebSocket-Server haben keinen Pro-Request-Timer. Ein Pro-Server-`timeout`-Feld in `.mcp.json` überschreibt dies für diesen Server. Ein Pro-Server-`timeout` von mindestens 1000 setzt auch das minimale Idle-Fenster für die Tool-Aufrufe dieses Servers, daher bricht `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` sie nie früher ab; diese Untergrenze erfordert Claude Code v2.1.203 oder später. Für die Env-Variable werden Werte unter 1000 auf eine Sekunde erhöht; für das Pro-Server-Feld werden Werte unter 1000 ignoriert |475| `MCP_TOOL_TIMEOUT` | Timeout in Millisekunden für MCP-Tool-Ausführung (Standard: 100000000, etwa 28 Stunden). Für einen HTTP-, SSE- oder claude.ai-Connector-Server, jede Anfrage timeout auch nach 60 Sekunden standardmäßig; setzen Sie diese Variable oder den Pro-Server-`timeout` über 60000, um dieses Pro-Request-Limit zu erhöhen. Ein niedrigerer Wert verkürzt immer noch das Gesamt-Tool-Ausführungs-Timeout, aber lässt das Pro-Request-Limit bei 60 Sekunden. Stdio- und WebSocket-Server haben keinen Pro-Request-Timer. Ein Pro-Server-`timeout`-Feld in `.mcp.json` überschreibt dies für diesen Server. Ein Pro-Server-`timeout` von mindestens 1000 setzt auch das Minimum-Idle-Fenster für die Tool-Aufrufe dieses Servers, daher bricht `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` sie nie früher ab; diese Untergrenze erfordert Claude Code v2.1.203 oder später. Für die Env-Variable werden Werte unter 1000 auf eine Sekunde begrenzt; für das Pro-Server-Feld werden Werte unter 1000 ignoriert |

469| `NO_PROXY` | Liste von Domains und IPs, zu denen Anfragen direkt ausgegeben werden, Proxy umgehend |476| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt ausgegeben werden, Proxy umgehend |

470| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Standard-OpenTelemetry-SDK-Limit auf Attribut-Wert-Länge. Claude Code begrenzt Inhalts-tragende Telemetrie-Attribute auf das kleinere von diesem und `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, daher bleibt der Kürzungs-Marker innerhalb des SDK-Limits. Claude Code liest die `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT`- und `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`-Varianten gleich, und der kleinste gesetzte Wert gilt für alle Signale. Erfordert Claude Code v2.1.214 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#common-configuration-variables) |477| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Standard-OpenTelemetry-SDK-Limit auf Attribut-Wert-Länge. Claude Code begrenzt Content-tragende Telemetrie-Attribute auf das kleinere von diesem und `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, daher bleibt der Kürzungs-Marker innerhalb des SDK-Limits. Claude Code liest die `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT`- und `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`-Varianten gleich, und der kleinste gesetzte Wert gilt für alle Signale. Erfordert Claude Code v2.1.214 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#common-configuration-variables) |

471| `OTEL_LOG_ASSISTANT_RESPONSES` | Setzen Sie auf `1`, um den Antwort-Text des Modells auf `assistant_response`-OpenTelemetry-Log-Events einzubeziehen. Wenn nicht gesetzt, wird der Wert von `OTEL_LOG_USER_PROMPTS` statt verwendet. Setzen Sie auf `0`, um Antworten redaktiert zu halten, auch wenn `OTEL_LOG_USER_PROMPTS` gesetzt ist. Erfordert Claude Code v2.1.193 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#assistant-response-event) |478| `OTEL_LOG_ASSISTANT_RESPONSES` | Setzen Sie auf `1`, um den Antwort-Text des Modells auf `assistant_response`-OpenTelemetry-Log-Events einzuschließen. Wenn nicht gesetzt, wird der Wert von `OTEL_LOG_USER_PROMPTS` statt verwendet. Setzen Sie auf `0`, um Antworten redaktiert zu halten, auch wenn `OTEL_LOG_USER_PROMPTS` gesetzt ist. Erfordert Claude Code v2.1.193 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#assistant-response-event) |

472| `OTEL_LOG_RAW_API_BODIES` | Geben Sie Anthropic Messages API Request- und Response-JSON als `api_request_body` / `api_response_body`-Log-Events aus. Setzen Sie auf `1` für Inline-Bodies, die beim Inhalts-Limit gekürzt werden, oder `file:<dir>`, um nicht gekürzte Bodies auf die Festplatte zu schreiben und statt einen `body_ref`-Pfad auszugeben. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` konfiguriert das Inhalts-Limit, 60 KB standardmäßig. Standardmäßig deaktiviert; Bodies enthalten die gesamte Konversations-Geschichte. Setzen Sie es in Ihrer Shell, Benutzer-Einstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Siehe [Monitoring](/docs/de/monitoring-usage#api-request-body-event) |479| `OTEL_LOG_RAW_API_BODIES` | Geben Sie Anthropic Messages API Request- und Response-JSON als `api_request_body` / `api_response_body`-Log-Events aus. Setzen Sie auf `1` für Inline-Bodies, die beim Content-Limit gekürzt werden, oder `file:<dir>`, um ungekürzte Bodies auf die Festplatte zu schreiben und statt einen `body_ref`-Pfad auszugeben. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` konfiguriert das Content-Limit, 60 KB standardmäßig. Standardmäßig deaktiviert; Bodies enthalten die gesamte Konversations-Historie. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Siehe [Monitoring](/docs/de/monitoring-usage#api-request-body-event) |

473| `OTEL_LOG_TOOL_CONTENT` | Setzen Sie auf `1`, um Tool-Input- und Output-Inhalt in OpenTelemetry-Span-Events einzubeziehen. Standardmäßig deaktiviert, um sensible Daten zu schützen. Siehe [Monitoring](/docs/de/monitoring-usage) |480| `OTEL_LOG_TOOL_CONTENT` | Setzen Sie auf `1`, um Tool-Inhalt in das `tool.output`-OpenTelemetry-Span-Event einzuschließen. Span-Attribute tragen Tool-Inhalt unter [ihren eigenen Gates](/docs/de/monitoring-usage#new-context-gates). Erfordert [Tracing](/docs/de/monitoring-usage#traces-beta). Standardmäßig deaktiviert zum Schutz sensibler Daten. Siehe [Monitoring](/docs/de/monitoring-usage#tool-output-span-event) |

474| `OTEL_LOG_TOOL_DETAILS` | Setzen Sie auf `1`, um Tool-Input-Argumente, MCP-Server-Namen, Benutzer-erstellte Workflow-Namen, rohe Fehler-Strings bei Tool-Fehlern, die Ablehnung `category` auf `api_refusal`-Events und andere Tool-Details in OpenTelemetry-Traces und Logs einzubeziehen. Standardmäßig deaktiviert, um PII zu schützen. Siehe [Monitoring](/docs/de/monitoring-usage) |481| `OTEL_LOG_TOOL_DETAILS` | Setzen Sie auf `1`, um Tool-Input-Argumente, MCP-Server-Namen, Benutzer-erstellte Workflow-Namen, rohe Error-Strings bei Tool-Fehlern, die Refusal-`category` auf `api_refusal`-Events und andere Tool-Details in OpenTelemetry-Traces und Logs einzuschließen. Standardmäßig deaktiviert zum Schutz von PII. Siehe [Monitoring](/docs/de/monitoring-usage) |

475| `OTEL_LOG_USER_PROMPTS` | Setzen Sie auf `1`, um Benutzer-Prompt-Text in OpenTelemetry-Traces und Logs einzubeziehen. Standardmäßig deaktiviert (Prompts sind redaktiert). Siehe [Monitoring](/docs/de/monitoring-usage) |482| `OTEL_LOG_USER_PROMPTS` | Setzen Sie auf `1`, um Benutzer-Prompt-Text in OpenTelemetry-Traces und Logs einzuschließen. Standardmäßig deaktiviert (Prompts sind redaktiert). Siehe [Monitoring](/docs/de/monitoring-usage) |

476| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Setzen Sie auf `false`, um Account-UUID aus Metriken-Attributen auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage) |483| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Setzen Sie auf `false`, um Account-UUID aus Metrik-Attributen auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage) |

477| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Setzen Sie auf `true`, um den Sitzungs-Einstiegspunkt in Metriken-Attributen einzubeziehen (Standard: ausgeschlossen). Hinzugefügt in v2.1.152. Siehe [Monitoring](/docs/de/monitoring-usage) |484| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Setzen Sie auf `true`, um den Sitzungs-Entrypoint in Metrik-Attributen einzuschließen (Standard: ausgeschlossen). Hinzugefügt in v2.1.152. Siehe [Monitoring](/docs/de/monitoring-usage) |

478| `OTEL_METRICS_INCLUDE_REPOSITORY` | Setzen Sie auf `true`, um OpenTelemetry-Metriken und Events mit `vcs.*`-Attributen zu taggen, die das Repository der Sitzung identifizieren (Standard: ausgeschlossen). Erfordert Claude Code v2.1.269 oder später. Siehe [Repository-Attribute](/docs/de/monitoring-usage#repository-attributes) |485| `OTEL_METRICS_INCLUDE_REPOSITORY` | Setzen Sie auf `true`, um OpenTelemetry-Metriken und Events mit `vcs.*`-Attributen zu taggen, die das Repository der Sitzung identifizieren (Standard: ausgeschlossen). Erfordert Claude Code v2.1.269 oder später. Siehe [Repository-Attribute](/docs/de/monitoring-usage#repository-attributes) |

479| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Ab v2.1.161 hängt Claude Code `OTEL_RESOURCE_ATTRIBUTES`-Schlüssel an Metrik-Datenpunkt-Labels an. Setzen Sie auf `false`, um sie auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage#multi-team-organization-support) |486| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Ab v2.1.161 hängt Claude Code `OTEL_RESOURCE_ATTRIBUTES`-Schlüssel an Metrik-Datenpunkt-Labels an. Setzen Sie auf `false`, um sie auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage#multi-team-organization-support) |

480| `OTEL_METRICS_INCLUDE_SESSION_ID` | Setzen Sie auf `false`, um Sitzungs-ID aus Metriken-Attributen auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage) |487| `OTEL_METRICS_INCLUDE_SESSION_ID` | Setzen Sie auf `false`, um Sitzungs-ID aus Metrik-Attributen auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage) |

481| `OTEL_METRICS_INCLUDE_VERSION` | Setzen Sie auf `true`, um Claude Code-Version in Metriken-Attributen einzubeziehen (Standard: ausgeschlossen). Siehe [Monitoring](/docs/de/monitoring-usage) |488| `OTEL_METRICS_INCLUDE_VERSION` | Setzen Sie auf `true`, um Claude Code-Version in Metrik-Attributen einzuschließen (Standard: ausgeschlossen). Siehe [Monitoring](/docs/de/monitoring-usage) |

482| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreiben Sie das Zeichen-Budget für Skill-Metadaten, die dem [Skill-Tool](/docs/de/skills#control-who-invokes-a-skill) gezeigt werden. Das Budget skaliert dynamisch bei 1% des Kontext-Fensters, mit einem Fallback von 8.000 Zeichen. Legacy-Name für Rückwärts-Kompatibilität behalten |489| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreiben Sie das Zeichen-Budget für Skill-Metadaten, die dem [Skill-Tool](/docs/de/skills#control-who-invokes-a-skill) gezeigt werden. Das Budget skaliert dynamisch bei 1% des Kontext-Fensters, mit einem Fallback von 8.000 Zeichen. Legacy-Name für Rückwärts-Kompatibilität behalten |

483| `TASK_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen einer [Hintergrund-Aufgabe](/docs/de/tools-reference#background-commands)-Ausgabe, die das `TaskOutput`-Tool behält (Standard: 32000; Maximum: 160000). Wenn Sie die [`taskOutputMaxChars`](/docs/de/settings-reference#taskoutputmaxchars)-Einstellung setzen, ignoriert Claude Code diese Variable |490| `TASK_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen einer [Background-Aufgabe](/docs/de/tools-reference#background-commands)-Ausgabe, die das `TaskOutput`-Tool behält (Standard: 32000; Maximum: 160000). Wenn Sie die [`taskOutputMaxChars`](/docs/de/settings-reference#taskoutputmaxchars)-Einstellung setzen, ignoriert Claude Code diese Variable |

484| `USE_BUILTIN_RIPGREP` | Setzen Sie auf `0`, um System-installiertes `rg` statt `rg` zu verwenden, das mit Claude Code enthalten ist |491| `USE_BUILTIN_RIPGREP` | Setzen Sie auf `0`, um System-installiertes `rg` anstelle von `rg`, das mit Claude Code enthalten ist, zu verwenden |

485| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Überschreiben Sie die Region für Claude 3.5 Haiku bei Verwendung von Google Cloud's Agent Platform |492| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Überschreiben Sie Region für Claude 3.5 Haiku bei Verwendung von Google Cloud's Agent Platform |

486| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Überschreiben Sie die Region für Claude 3.5 Sonnet bei Verwendung von Google Cloud's Agent Platform |493| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Überschreiben Sie Region für Claude 3.5 Sonnet bei Verwendung von Google Cloud's Agent Platform |

487| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Überschreiben Sie die Region für Claude 3.7 Sonnet bei Verwendung von Google Cloud's Agent Platform |494| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Überschreiben Sie Region für Claude 3.7 Sonnet bei Verwendung von Google Cloud's Agent Platform |

488| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Überschreiben Sie die Region für Claude 4.0 Opus bei Verwendung von Google Cloud's Agent Platform |495| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Überschreiben Sie Region für Claude 4.0 Opus bei Verwendung von Google Cloud's Agent Platform |

489| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Überschreiben Sie die Region für Claude 4.0 Sonnet bei Verwendung von Google Cloud's Agent Platform |496| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Überschreiben Sie Region für Claude 4.0 Sonnet bei Verwendung von Google Cloud's Agent Platform |

490| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Überschreiben Sie die Region für Claude 4.1 Opus bei Verwendung von Google Cloud's Agent Platform |497| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Überschreiben Sie Region für Claude 4.1 Opus bei Verwendung von Google Cloud's Agent Platform |

491| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Überschreiben Sie die Region für Claude Opus 4.5 bei Verwendung von Google Cloud's Agent Platform |498| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Überschreiben Sie Region für Claude Opus 4.5 bei Verwendung von Google Cloud's Agent Platform |

492| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Überschreiben Sie die Region für Claude Sonnet 4.5 bei Verwendung von Google Cloud's Agent Platform |499| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Überschreiben Sie Region für Claude Sonnet 4.5 bei Verwendung von Google Cloud's Agent Platform |

493| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Überschreiben Sie die Region für Claude Opus 4.6 bei Verwendung von Google Cloud's Agent Platform |500| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Überschreiben Sie Region für Claude Opus 4.6 bei Verwendung von Google Cloud's Agent Platform |

494| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie die Region für Claude Sonnet 4.6 bei Verwendung von Google Cloud's Agent Platform |501| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie Region für Claude Sonnet 4.6 bei Verwendung von Google Cloud's Agent Platform |

495| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Überschreiben Sie die Region für Claude Opus 4.7 bei Verwendung von Google Cloud's Agent Platform |502| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Überschreiben Sie Region für Claude Opus 4.7 bei Verwendung von Google Cloud's Agent Platform |

496| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Überschreiben Sie die Region für Claude Opus 4.8 bei Verwendung von Google Cloud's Agent Platform |503| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Überschreiben Sie Region für Claude Opus 4.8 bei Verwendung von Google Cloud's Agent Platform |

497| `VERTEX_REGION_CLAUDE_5_OPUS` | Überschreiben Sie die Region für Claude Opus 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.219 |504| `VERTEX_REGION_CLAUDE_5_OPUS` | Überschreiben Sie Region für Claude Opus 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.219 |

498| `VERTEX_REGION_CLAUDE_5_SONNET` | Überschreiben Sie die Region für Claude Sonnet 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.197 |505| `VERTEX_REGION_CLAUDE_5_SONNET` | Überschreiben Sie Region für Claude Sonnet 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.197 |

499| `VERTEX_REGION_CLAUDE_FABLE_5` | Überschreiben Sie die Region für Claude Fable 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.170 |506| `VERTEX_REGION_CLAUDE_FABLE_5` | Überschreiben Sie Region für Claude Fable 5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.170 |

500| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Überschreiben Sie die Region für Claude Fable 5.1 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.257 |507| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Überschreiben Sie Region für Claude Fable 5.1 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.257 |

501| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Überschreiben Sie die Region für Claude Haiku 4.5 bei Verwendung von Google Cloud's Agent Platform |508| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Überschreiben Sie Region für Claude Haiku 4.5 bei Verwendung von Google Cloud's Agent Platform |

502 509 

503Standard-OpenTelemetry-Exporter-Variablen (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` und Signal-spezifische Varianten) werden auch unterstützt. Siehe [Monitoring](/docs/de/monitoring-usage) für Konfigurationsdetails.510Standard-OpenTelemetry-Exporter-Variablen (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` und Signal-spezifische Varianten) werden auch unterstützt. Siehe [Monitoring](/docs/de/monitoring-usage) für Konfigurationsdetails.

504 511 


514 521 

515Wenn das Abrufen deaktiviert ist, können Sie nicht:522Wenn das Abrufen deaktiviert ist, können Sie nicht:

516 523 

524* Claude Code [Dateien `AGENTS.md` als Projektanweisungen lesen lassen](/docs/de/memory#agents-md); es lädt nur `CLAUDE.md`-Dateien

517* [Sitzungen standardmäßig im Auto-Modus starten](/docs/de/permission-modes#which-mode-a-session-starts-in) auf Pro-, Max- und Team-Plänen525* [Sitzungen standardmäßig im Auto-Modus starten](/docs/de/permission-modes#which-mode-a-session-starts-in) auf Pro-, Max- und Team-Plänen

518* Die VS Code-Erweiterung [Einstellungsdateien für den Startberechtigungsmodus lesen lassen](/docs/de/permission-modes#switch-permission-modes)526* Die VS Code-Erweiterung [Einstellungsdateien für den Startberechtigungsmodus lesen lassen](/docs/de/permission-modes#switch-permission-modes)

519* [`/auto-mode-setup`](/docs/de/auto-mode-config#generate-environment-entries) ausführen, um `autoMode.environment`-Einträge zu entwerfen527* [`/auto-mode-setup`](/docs/de/auto-mode-config#generate-environment-entries) ausführen, um `autoMode.environment`-Einträge zu entwerfen


521* [Sitzungen über diese Maschine hinaus Nachrichten senden](/docs/de/cross-session-messaging#message-sessions-on-other-machines); das Messaging zwischen Sitzungen auf dieser Maschine funktioniert mit deaktiviertem Abrufen529* [Sitzungen über diese Maschine hinaus Nachrichten senden](/docs/de/cross-session-messaging#message-sessions-on-other-machines); das Messaging zwischen Sitzungen auf dieser Maschine funktioniert mit deaktiviertem Abrufen

522* [`claude import` oder den `/import`-Befehl](/docs/de/cli-reference#cli-commands) ausführen530* [`claude import` oder den `/import`-Befehl](/docs/de/cli-reference#cli-commands) ausführen

523* [`/skill-doctor`](/docs/de/skills#find-unused-skills) ausführen oder seinen Bericht in der `/plugin` **Stats**-Registerkarte öffnen531* [`/skill-doctor`](/docs/de/skills#find-unused-skills) ausführen oder seinen Bericht in der `/plugin` **Stats**-Registerkarte öffnen

532* Die [Skills](/docs/de/skills#where-synced-skills-load) und [Plugins](/docs/de/plugins-reference#synced-plugins) synchronisieren, die für Ihr claude.ai-Konto aktiviert sind, in Ihre Terminal-Sitzungen

524* [Das Advisor-Tool](/docs/de/advisor#requirements) verwenden533* [Das Advisor-Tool](/docs/de/advisor#requirements) verwenden

525* [Kommentare zu einem Artefakt](/docs/de/artifacts#collect-comments-on-an-artifact) lesen oder beantworten534* [Kommentare zu einem Artefakt](/docs/de/artifacts#collect-comments-on-an-artifact) lesen oder beantworten

526* Den [v2 MCP-Client-Runtime](/docs/de/mcp#mcp-client-runtimes) und seinen Protokoll-Probe ohne Setzen von `MCP_SDK_GENERATION` und `MCP_PROTOCOL_NEGOTIATION` abrufen; Claude Code verwendet die v1-Runtime, es sei denn, Sie setzen `MCP_SDK_GENERATION=v2`, und überspringt die Probe, es sei denn, Sie setzen `MCP_PROTOCOL_NEGOTIATION=auto`535* Claude Code Sonden auf claude.ai-Connector-Servern für [MCP-Protokollrevision 2026-07-28](/docs/de/mcp#mcp-client-runtimes) durchführen lassen, es sei denn, Sie setzen `MCP_PROTOCOL_NEGOTIATION=auto`

527* Das [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) standardmäßig für claude.ai und Console-Konten unter Windows mit installiertem Git Bash abrufen; Claude Code leitet Shell-Befehle durch Git Bash weiter, es sei denn, Sie setzen `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Unter Windows ohne Git Bash bleibt das Tool aktiviert536* Das [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) standardmäßig für claude.ai und Console-Konten unter Windows mit installiertem Git Bash abrufen; Claude Code leitet Shell-Befehle durch Git Bash weiter, es sei denn, Sie setzen `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Unter Windows ohne Git Bash bleibt das Tool aktiviert

528* [Von Claude entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) abrufen, das Claude Code durch ein abgerufenes Flag aktiviert537* [Von Claude entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) abrufen, das Claude Code durch ein abgerufenes Flag aktiviert

529* Claude Code [MCP-Tools ausschließen, deren Eingabeschema die API ablehnen würde](/docs/de/mcp#tools-with-invalid-input-schemas); es sendet das Schema trotzdem, und eine Anfrage, die es enthält, schlägt mit [einem 400-Fehler fehl, der das Tool nach seiner Position benennt](/docs/de/errors#tool-input-schema-is-invalid)538* Claude Code [MCP-Tools ausschließen, deren Eingabeschema die API ablehnen würde](/docs/de/mcp#tools-with-invalid-input-schemas); es sendet das Schema trotzdem, und eine Anfrage, die es enthält, schlägt mit [einem 400-Fehler fehl, der das Tool nach seiner Position benennt](/docs/de/errors#tool-input-schema-is-invalid)

errors.md +610 −232

Details

70| `OAuth token revoked` / `OAuth token has expired` | [Authentifizierung](#oauth-token-revoked-or-expired) |70| `OAuth token revoked` / `OAuth token has expired` | [Authentifizierung](#oauth-token-revoked-or-expired) |

71| `API Error: 401 Invalid authentication credentials` | [Authentifizierung](#api-error-401-invalid-authentication-credentials) |71| `API Error: 401 Invalid authentication credentials` | [Authentifizierung](#api-error-401-invalid-authentication-credentials) |

72| `Login expired · Please run /login` | [Authentifizierung](#login-expired) |72| `Login expired · Please run /login` | [Authentifizierung](#login-expired) |

73| `Claude login not accepted · Run /login, then try again` | [Authentifizierung](#claude-login-not-accepted) |

73| `Not signed in to the Cloud gateway — run /login.` | [Authentifizierung](#administrator-policy-requires-a-cloud-gateway-sign-in) |74| `Not signed in to the Cloud gateway — run /login.` | [Authentifizierung](#administrator-policy-requires-a-cloud-gateway-sign-in) |

74| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentifizierung](#administrator-policy-requires-a-cloud-gateway-sign-in) |75| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentifizierung](#administrator-policy-requires-a-cloud-gateway-sign-in) |

75| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentifizierung](#login-expired) |76| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentifizierung](#login-expired) |


79| `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile` | [Authentifizierung](#anthropic-profile-login-expired) |80| `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile` | [Authentifizierung](#anthropic-profile-login-expired) |

80| `does not meet scope requirement user:profile` | [Authentifizierung](#oauth-scope-requirement) |81| `does not meet scope requirement user:profile` | [Authentifizierung](#oauth-scope-requirement) |

81| `claude.ai rejected the session token` / `session token rejected` | [Authentifizierung](#claude-ai-rejected-the-session-token) |82| `claude.ai rejected the session token` / `session token rejected` | [Authentifizierung](#claude-ai-rejected-the-session-token) |

83| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [Authentifizierung](#mcp-server-needs-you-to-sign-in-again) |

84| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Authentifizierung](#mcp-server-needs-you-to-sign-in-again) |

85| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Authentifizierung](#mcp-server-needs-you-to-sign-in-again) |

86| `MCP server "<name>" requires re-authorization (token expired)` | [Authentifizierung](#mcp-server-needs-you-to-sign-in-again) |

82| `Issuer mismatch in authorization response (RFC 9207)` | [Authentifizierung](#issuer-mismatch-in-authorization-response) |87| `Issuer mismatch in authorization response (RFC 9207)` | [Authentifizierung](#issuer-mismatch-in-authorization-response) |

83| `Cloud gateway session expired — run /login to reconnect.` | [Authentifizierung](#cloud-gateway-session-expired) |88| `Cloud gateway session expired — run /login to reconnect.` | [Authentifizierung](#cloud-gateway-session-expired) |

84| `Cloud gateway <url> no longer accepts this session` | [Authentifizierung](#cloud-gateway-session-expired) |89| `Cloud gateway <url> no longer accepts this session` | [Authentifizierung](#cloud-gateway-session-expired) |

85| `AWS credentials expired or invalid` | [Authentifizierung](#aws-credentials-expired-or-invalid) |90| `AWS credentials expired or invalid` | [Authentifizierung](#aws-credentials-expired-or-invalid) |

86| `AWS authentication failed` | [Authentifizierung](#aws-authentication-failed) |91| `AWS authentication failed` | [Authentifizierung](#aws-authentication-failed) |

92| `Google Cloud credentials expired or invalid` | [Authentifizierung](#google-cloud-credentials-expired-or-invalid) |

93| `Google Cloud authentication failed` | [Authentifizierung](#google-cloud-authentication-failed) |

94| `Microsoft Foundry authentication failed` | [Authentifizierung](#microsoft-foundry-authentication-failed) |

95| `Gateway refused the request` | [Authentifizierung](#gateway-refused-the-request) |

87| `Could not load AWS credentials` / `Could not load Google Cloud credentials` | [Authentifizierung](#could-not-load-aws-or-google-cloud-credentials) |96| `Could not load AWS credentials` / `Could not load Google Cloud credentials` | [Authentifizierung](#could-not-load-aws-or-google-cloud-credentials) |

88| `AWS default-chain credential resolve timed out` | [Authentifizierung](#aws-default-chain-credential-resolve-timed-out) |97| `AWS default-chain credential resolve timed out` | [Authentifizierung](#aws-default-chain-credential-resolve-timed-out) |

89| `Timed out after 60s waiting for AWS` | [Authentifizierung](#bedrock-setup-verification-timed-out-waiting-for-aws) |98| `Timed out after 60s waiting for AWS` | [Authentifizierung](#bedrock-setup-verification-timed-out-waiting-for-aws) |


151| `Download timed out: exceeded the total deadline` | [Installationsfehler](#the-connection-dropped-while-downloading-the-update) |160| `Download timed out: exceeded the total deadline` | [Installationsfehler](#the-connection-dropped-while-downloading-the-update) |

152| `--bg and --print conflict` | [Befehlszeilenfehler](#command-line-errors) |161| `--bg and --print conflict` | [Befehlszeilenfehler](#command-line-errors) |

153| `Cloud sessions cannot be created from a --restricted session` | [Befehlszeilenfehler](#cloud-sessions-cannot-be-created-from-a-restricted-session) |162| `Cloud sessions cannot be created from a --restricted session` | [Befehlszeilenfehler](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

163| `Cloud sessions are disabled by your organization's policy` | [Befehlszeilenfehler](#cloud-sessions-are-disabled-by-your-organizations-policy) |

164| `Couldn't verify your organization's policy for cloud sessions` | [Befehlszeilenfehler](#cloud-sessions-are-disabled-by-your-organizations-policy) |

154| `Error: --json-schema is not a valid JSON Schema` | [Befehlszeilenfehler](#command-line-errors) |165| `Error: --json-schema is not a valid JSON Schema` | [Befehlszeilenfehler](#command-line-errors) |

155| `Error: Invalid --agents configuration:` | [Befehlszeilenfehler](#invalid-agents-configuration) |166| `Error: Invalid --agents configuration:` | [Befehlszeilenfehler](#invalid-agents-configuration) |

156| `Error: Settings file exceeds the 2MiB limit` | [Befehlszeilenfehler](#settings-file-exceeds-the-2mib-limit) |167| `Error: Settings file exceeds the 2MiB limit` | [Befehlszeilenfehler](#settings-file-exceeds-the-2mib-limit) |


167| `Server rejected the Authorization header minted by the configured headersHelper` | [Befehlszeilenfehler](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |178| `Server rejected the Authorization header minted by the configured headersHelper` | [Befehlszeilenfehler](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |

168| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Befehlszeilenfehler](#mcp-permission-prompt-tool-not-found) |179| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Befehlszeilenfehler](#mcp-permission-prompt-tool-not-found) |

169| `OAuth callback port <port> is already in use — another process may be holding it` | [Befehlszeilenfehler](#oauth-callback-port-is-already-in-use) |180| `OAuth callback port <port> is already in use — another process may be holding it` | [Befehlszeilenfehler](#oauth-callback-port-is-already-in-use) |

181| `No available ports for OAuth redirect` | [Befehlszeilenfehler](#no-available-ports-for-oauth-redirect) |

170| `Shell command failed for pattern "..."`, von `/security-review` oder einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |182| `Shell command failed for pattern "..."`, von `/security-review` oder einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |

171| `Shell command permission check failed for pattern "..."`, von einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |183| `Shell command permission check failed for pattern "..."`, von einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |

172| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |184| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |


181| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Befehlszeilenfehler](#no-github-account-is-connected-to-your-claude-account) |193| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Befehlszeilenfehler](#no-github-account-is-connected-to-your-claude-account) |

182| `Your connected GitHub account can't see <owner>/<repo>` | [Befehlszeilenfehler](#your-connected-github-account-cant-see-the-repository) |194| `Your connected GitHub account can't see <owner>/<repo>` | [Befehlszeilenfehler](#your-connected-github-account-cant-see-the-repository) |

183| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Befehlszeilenfehler](#the-github-app-preflight-failed-transiently) |195| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Befehlszeilenfehler](#the-github-app-preflight-failed-transiently) |

196| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Befehlszeilenfehler](#github-isnt-connected-to-your-claude-account) |

197| `Single sign-on authorization needed` | [Befehlszeilenfehler](#single-sign-on-authorization-needed) |

184| `Failed to resume the conversation` | [Befehlszeilenfehler](#failed-to-resume-the-conversation) |198| `Failed to resume the conversation` | [Befehlszeilenfehler](#failed-to-resume-the-conversation) |

185| `No conversation found with session ID: <session-id>` | [Befehlszeilenfehler](#no-conversation-found-with-the-session-id) |199| `No conversation found with session ID: <session-id>` | [Befehlszeilenfehler](#no-conversation-found-with-the-session-id) |

186| `Cannot switch renderers in this session` | [Befehlszeilenfehler](#cannot-switch-renderers-in-this-session) |200| `Cannot switch renderers in this session` | [Befehlszeilenfehler](#cannot-switch-renderers-in-this-session) |


188| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [Befehlszeilenfehler](#terminal-setup-left-your-zed-keymap-unchanged) |202| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [Befehlszeilenfehler](#terminal-setup-left-your-zed-keymap-unchanged) |

189| `Your Zed keymap isn't a readable list of keybindings` | [Befehlszeilenfehler](#terminal-setup-left-your-zed-keymap-unchanged) |203| `Your Zed keymap isn't a readable list of keybindings` | [Befehlszeilenfehler](#terminal-setup-left-your-zed-keymap-unchanged) |

190| `Skill usage reports are not available on this connection.` | [Befehlszeilenfehler](#skill-usage-reports-are-not-available-on-this-connection) |204| `Skill usage reports are not available on this connection.` | [Befehlszeilenfehler](#skill-usage-reports-are-not-available-on-this-connection) |

205| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Befehlszeilenfehler](#custom-output-styles-cant-be-selected-over-remote-control) |

206| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Befehlszeilenfehler](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

191| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin-Fehler](#plugin-eval-is-currently-in-early-access) |207| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin-Fehler](#plugin-eval-is-currently-in-early-access) |

192| `Marketplace "<name>" is registered from an untrusted source` | [Plugin-Fehler](#marketplace-is-registered-from-an-untrusted-source) |208| `Marketplace "<name>" is registered from an untrusted source` | [Plugin-Fehler](#marketplace-is-registered-from-an-untrusted-source) |

193| `references ${user_config.*} in a shell-form command` | [Plugin-Fehler](#plugin-command-references-user-config) |209| `references ${user_config.*} in a shell-form command` | [Plugin-Fehler](#plugin-command-references-user-config) |


207| `pkill: refusing to run` | [Werkzeugfehler](#pkill-pattern-matches-the-claude-code-process) |223| `pkill: refusing to run` | [Werkzeugfehler](#pkill-pattern-matches-the-claude-code-process) |

208| `Failed to write to <name>'s inbox — nothing was sent` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |224| `Failed to write to <name>'s inbox — nothing was sent` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |

209| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |225| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |

226| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Werkzeugfehler](#teammate-agent-definition-not-restored) |

210| `Message too large for cross-session delivery` | [Werkzeugfehler](#message-too-large-for-cross-session-delivery) |227| `Message too large for cross-session delivery` | [Werkzeugfehler](#message-too-large-for-cross-session-delivery) |

211| `Too many messages to this session just now` | [Werkzeugfehler](#too-many-messages-to-this-session-just-now) |228| `Too many messages to this session just now` | [Werkzeugfehler](#too-many-messages-to-this-session-just-now) |

212| `Refusing to send: reply target is a symlink` / `Refusing to send: cannot vet reply target` | [Werkzeugfehler](#refusing-to-send-a-cross-session-message) |229| `Refusing to send: reply target is a symlink` / `Refusing to send: cannot vet reply target` | [Werkzeugfehler](#refusing-to-send-a-cross-session-message) |

213| `Refusing to send: connected endpoint is not the expected process` / `Refusing to send: connected endpoint identity could not be read` | [Werkzeugfehler](#refusing-to-send-a-cross-session-message) |230| `Refusing to send: connected endpoint is not the expected process` / `Refusing to send: connected endpoint identity could not be read` | [Werkzeugfehler](#refusing-to-send-a-cross-session-message) |

214| `Refusing to send: connected endpoint is not owned by this user` / `Refusing to send: connected endpoint owner could not be read` | [Werkzeugfehler](#refusing-to-send-a-cross-session-message) |231| `Refusing to send: connected endpoint is not owned by this user` / `Refusing to send: connected endpoint owner could not be read` | [Werkzeugfehler](#refusing-to-send-a-cross-session-message) |

215| `Refusing to send: connected endpoint is a different process with the expected pid` | [Werkzeugfehler](#refusing-to-send-a-cross-session-message) |232| `Refusing to send: connected endpoint is a different process with the expected pid` | [Werkzeugfehler](#refusing-to-send-a-cross-session-message) |

216| `Refusing to read <path>: its symlink resolution changed after permission was checked` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |233| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |

217| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |234| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |

235| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |

218| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |236| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |

219| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |237| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [Werkzeugfehler](#refusing-after-a-symlink-changed) |

220| `task output swap refused (tasks dir moved or linked)` | [Werkzeugfehler](#task-output-swap-refused) |238| `task output swap refused (tasks dir moved or linked)` | [Werkzeugfehler](#task-output-swap-refused) |

221| `Command killed: its output file was replaced or could no longer be verified` | [Werkzeugfehler](#task-output-swap-refused) |239| `Command killed: its output file was replaced or could no longer be verified` | [Werkzeugfehler](#task-output-swap-refused) |

222| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Werkzeugfehler](#the-source-file-is-not-valid-utf-8-text) |240| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Werkzeugfehler](#the-source-file-is-not-valid-utf-8-text) |

223| `the source file has the replacement character U+FFFD` | [Werkzeugfehler](#the-source-file-is-not-valid-utf-8-text) |241| `the source file has the replacement character U+FFFD` | [Werkzeugfehler](#the-source-file-is-not-valid-utf-8-text) |

242| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Werkzeugfehler](#reading-a-local-file-from-outside-the-connected-folders) |

243| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Werkzeugfehler](#reading-a-local-file-from-outside-the-connected-folders) |

244| `WebFetch cannot fetch localhost or other hostnames without a dot` | [Werkzeugfehler](#webfetch-cannot-fetch-localhost) |

224| `Can't open MCP settings while no terminal is attached to this background session` | [Fehler in Hintergrund-Sitzungen](#commands-refused-in-a-background-session) |245| `Can't open MCP settings while no terminal is attached to this background session` | [Fehler in Hintergrund-Sitzungen](#commands-refused-in-a-background-session) |

225| `Can't open MCP settings in a background session` | [Fehler in Hintergrund-Sitzungen](#commands-refused-in-a-background-session) |246| `Can't open MCP settings in a background session` | [Fehler in Hintergrund-Sitzungen](#commands-refused-in-a-background-session) |

226| `blocked because the path is spelled in a form that cannot be safely resolved` | [Fehler in Hintergrund-Sitzungen](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |247| `blocked because the path is spelled in a form that cannot be safely resolved` | [Fehler in Hintergrund-Sitzungen](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |


229| `Can't open — this session is running in another terminal` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |250| `Can't open — this session is running in another terminal` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |

230| `This conversation is already open in another running Claude session` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |251| `This conversation is already open in another running Claude session` | [Fehler in Hintergrund-Sitzungen](#this-session-is-running-in-another-terminal) |

231| `This session's saved conversation is no longer on disk` | [Fehler in Hintergrund-Sitzungen](#this-sessions-saved-conversation-is-no-longer-on-disk) |252| `This session's saved conversation is no longer on disk` | [Fehler in Hintergrund-Sitzungen](#this-sessions-saved-conversation-is-no-longer-on-disk) |

253| `kept <id> — its worktree is still at <path>` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |

232| `kept <id> — <n> unpushed commits on <branch>` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |254| `kept <id> — <n> unpushed commits on <branch>` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |

233| `kept <id> — worktree has commits that are not pushed anywhere` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |255| `kept <id> — worktree has commits that are not pushed anywhere` | [Fehler in Hintergrund-Sitzungen](#worktree-has-commits-that-are-not-pushed-anywhere) |

234| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [Fehler in Hintergrund-Sitzungen](#terminal-host-process-died) |256| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [Fehler in Hintergrund-Sitzungen](#terminal-host-process-died) |


242| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Fehler in Hintergrund-Sitzungen](#working-directory-no-longer-exists-when-starting-a-background-session) |264| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Fehler in Hintergrund-Sitzungen](#working-directory-no-longer-exists-when-starting-a-background-session) |

243| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Fehler in Hintergrund-Sitzungen](#eacces-when-starting-a-background-session) |265| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Fehler in Hintergrund-Sitzungen](#eacces-when-starting-a-background-session) |

244| `Claude Code process exited with code N` | [Wrapper- und IDE-Fehler](#claude-code-process-exited-with-code-n) |266| `Claude Code process exited with code N` | [Wrapper- und IDE-Fehler](#claude-code-process-exited-with-code-n) |

267| `The connection to Claude Code ended before this message completed` | [Wrapper- und IDE-Fehler](#the-connection-to-claude-code-ended-before-this-message-completed) |

245| `Could not locate the Claude CLI on PATH` | [Wrapper- und IDE-Fehler](#could-not-locate-the-claude-cli-on-path) |268| `Could not locate the Claude CLI on PATH` | [Wrapper- und IDE-Fehler](#could-not-locate-the-claude-cli-on-path) |

246| `Restored the code, but skipped N files` | [Rewind-Warnungen und Fehler](#restored-the-code-but-skipped-files) |269| `Restored the code, but skipped N files` | [Rewind-Warnungen und Fehler](#restored-the-code-but-skipped-files) |

247| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind-Warnungen und Fehler](#no-files-were-restored) |270| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind-Warnungen und Fehler](#no-files-were-restored) |


272 Automatische Wiederholungen295 Automatische Wiederholungen

273</h2>296</h2>

274 297 

275Claude Code wiederholt vorübergehende Fehler bis zu 10-mal mit exponentiellem Backoff, bevor ein Fehler angezeigt wird. Es wiederholt nicht immer einen Fehler, der während der Antwort von Claude auftritt. Wenn Sie einen der Fehler auf dieser Seite sehen, hat Claude Code bereits alle anwendbaren Wiederholungen für diesen Fehler durchgeführt. Die folgenden Listen zeigen, welche Fehler das vollständige Budget erhalten, welche ein kleineres Budget erhalten und welche keine Wiederholungen erhalten.298Claude Code wiederholt vorübergehende Fehler bis zu 10-mal mit exponentiellem Backoff, bevor dir ein Fehler angezeigt wird. Es wiederholt nicht immer einen Fehler, der während einer unvollständigen Antwort von Claude auftritt. Wenn du einen der Fehler auf dieser Seite siehst, hat Claude Code bereits alle anwendbaren Wiederholungen für diesen Fehler durchgeführt; die Listen unten zeigen, welche Fehler das volle Budget erhalten, welche ein kleineres erhalten, und welche keines erhalten.

276 299 

277Claude Code wiederholt diese Fehler:300Claude Code wiederholt diese Fehler:

278 301 

279* Serverfehler, überladene Antworten und Request-Timeouts, die ankommen, bevor Claude mit dem Streamen seiner Antwort begonnen hat.302* Serverfehler, überladene Antworten und Request-Timeouts, die ankommen, bevor Claude mit dem Streamen seiner Antwort begonnen hat.

280* Unterbrochene Verbindungen. Wenn eine Verbindung während eines Requests unterbrochen wird, bevor Claude einen Teil seiner Antwort abgeschlossen hat, einschließlich des Denkens, sendet Claude Code den Request mit demselben Backoff erneut, und der Turn wird fortgesetzt, auch wenn bereits Text zu streamen begonnen hatte. Wenn die Verbindung unterbrochen wird, nachdem Claude das Denken abgeschlossen hat, aber bevor es mit Text oder Tool-Aufrufen begonnen hat, sendet Claude Code den Request stattdessen bis zu zweimal schnell hintereinander erneut und beendet den Turn mit `Connection lost before a response was produced`, wenn die Verbindung an diesem Punkt weiterhin unterbrochen wird.303* Unterbrochene Verbindungen. Wenn eine Verbindung während eines Requests unterbrochen wird, bevor Claude einen Teil seiner Antwort abgeschlossen hat, einschließlich seines Denkens, sendet Claude Code den Request mit demselben Backoff erneut aus und die Runde wird fortgesetzt, auch wenn bereits etwas Text zu streamen begonnen hatte. Wenn die Verbindung unterbrochen wird, nachdem Claude das Denken abgeschlossen hat, aber bevor es einen Text oder Tool-Aufruf gestartet hat, sendet Claude Code den Request stattdessen bis zu zweimal schnell hintereinander erneut aus und beendet die Runde mit `Connection lost before a response was produced`, wenn die Verbindung an diesem Punkt weiterhin unterbrochen wird.

281* Eine Verbindung, die Claude Code als unterbrochen erkannt hat, weil Ihr Computer während eines Requests in den Ruhezustand versetzt wurde. Claude Code zählt dies als unterbrochene Verbindung nach den obigen Regeln; sobald das Wiederholungs-Label den spezifischen Grund benennt, lautet es `Connection lost while your computer was asleep`, und wenn der Turn endet, nachdem Claude das Denken abgeschlossen hat, aber bevor Text oder Tool-Aufrufe erfolgt sind, lautet die Nachricht `Your computer went to sleep before a response was produced`.304* Eine Verbindung, die Claude Code als unterbrochen erkannt hat, weil dein Computer während eines Requests in den Ruhezustand versetzt wurde. Claude Code zählt sie als unterbrochene Verbindung nach den obigen Regeln; sobald das Wiederholungs-Label den spezifischen Grund benennt, lautet es `Connection lost while your computer was asleep`, und wenn die Runde endet, nachdem Claude das Denken abgeschlossen hat, aber bevor ein Text oder Tool-Aufruf erfolgt, lautet die Nachricht `Your computer went to sleep before a response was produced`.

282* Ein stagnierender Antwort-Stream, wenn die Antwort-Header angekommen sind, aber keine Antwort von Claude angekommen ist, oder wenn Claude das Denken abgeschlossen hat, aber keinen Text oder Tool-Aufruf gestartet hat: Claude Code bricht die stagnierende Verbindung ab und sendet den Request höchstens einmal erneut, außerhalb des obigen 10-Versuch-Budgets. Wenn der Response zweimal stagniert, nachdem Claude das Denken abgeschlossen hat, aber bevor Text oder Tool-Aufrufe erfolgt sind, beendet Claude Code den Turn mit `The response stalled before a response was produced`.305* Ein stagnierender Antwort-Stream, wenn die Antwort-Header angekommen sind, aber keiner von Claudes Antwort angekommen ist, oder wenn Claude das Denken abgeschlossen hat, aber keinen Text oder Tool-Aufruf gestartet hat: Claude Code bricht die stagnierende Verbindung ab und sendet den Request höchstens einmal erneut aus, außerhalb des oben genannten 10-Versuch-Budgets. Wenn der Response ein zweites Mal stagniert, nachdem Claude das Denken abgeschlossen hat, aber bevor ein Text oder Tool-Aufruf erfolgt, beendet Claude Code die Runde mit `The response stalled before a response was produced`.

283* Ein Streaming-Request, auf den die API nie mit Response-Headern antwortet, auf einer Verbindung, auf der die [first-byte deadline läuft](/docs/de/network-config#streaming-idle-watchdogs): Claude Code bricht ihn bei der Deadline ab und sendet ihn höchstens einmal pro Model-Request erneut, innerhalb des Wiederholungs-Budgets, und beendet dann den Turn mit [No response from API](#no-response-from-api), wenn dieser Versuch auch unbeantwortet bleibt. Bei anderen Verbindungen wartet der Request auf `API_TIMEOUT_MS`. Wenn Sie `CLAUDE_CODE_RETRY_WATCHDOG` setzen, gilt die Einfach-Wiederholung-Obergrenze nicht.306* Ein Streaming-Request, auf den die API nie mit Response-Headern antwortet, auf einer Verbindung, auf der die [first-byte deadline läuft](/docs/de/network-config#streaming-idle-watchdogs): Claude Code bricht ihn bei der Deadline ab und sendet ihn höchstens einmal pro Model-Request erneut aus, innerhalb des Wiederholungs-Budgets, und beendet dann die Runde mit [No response from API](#no-response-from-api), wenn dieser Versuch auch unbeantwortet bleibt. Bei anderen Verbindungen wartet der Request auf `API_TIMEOUT_MS`. Wenn du `CLAUDE_CODE_RETRY_WATCHDOG` setzt, gilt die Einfach-Wiederholung-Obergrenze nicht.

284* Temporäre 429-Drosselungen, aber nicht die Ausgabenlimit-`429` eines Gateways, die keine Drosselung ist; siehe [Spend limit reached](#spend-limit-reached).307* Temporäre 429-Drosselungen, aber nicht die Ausgabenlimit-`429` eines Gateways, die keine Drosselung ist; siehe [Spend limit reached](#spend-limit-reached).

285 * Wenn Sie mit einem claude.ai-Abonnement angemeldet sind, umfasst dies 429-Drosselungen, die nicht die Quota-Header Ihres Plans enthalten. Vor v2.1.199 wiederholte Claude Code diese Drosselungen nur für API-Schlüssel- und Enterprise-Anmeldungen.308 * Wenn du mit einem claude.ai-Abonnement angemeldet bist, umfasst dies 429-Drosselungen, die die Quota-Header deines Plans nicht enthalten. Vor v2.1.199 wiederholte Claude Code diese Drosselungen nur für API-Schlüssel- und Enterprise-Anmeldungen.

286* Ein Request, der abgelehnt wurde, weil die Eingabe plus `max_tokens` das Kontext-Limit überschreitet. Das erneute Senden würde auf die gleiche Weise fehlschlagen, daher wiederholt Claude Code mit reduziertem `max_tokens` und stoppt die Wiederholung und komprimiert stattdessen in zwei Fällen:309* Ein Request, der abgelehnt wird, weil die Eingabe plus `max_tokens` das Kontext-Limit überschreitet. Das Erneut-Senden unverändert würde auf die gleiche Weise fehlschlagen, daher wiederholt Claude Code mit reduziertem `max_tokens` und stoppt die Wiederholung und komprimiert stattdessen in zwei Fällen:

287 * Wenn keine Reduktion passt, zum Beispiel wenn das Gespräch selbst das Kontext-Fenster fast ausfüllt.310 * Wenn keine Reduktion passt, zum Beispiel wenn das Gespräch selbst das Kontext-Fenster fast ausfüllt.

288 * Wenn eine Wiederholung `max_tokens` nicht weiter verringern kann. Vor v2.1.218 konnte Claude Code einen reduzierten Request erneut senden, der immer noch nicht passte, z. B. wenn das Extended-Thinking-Budget das verbleibende Kontext überschritt, bis das Wiederholungs-Budget aufgebraucht war.311 * Wenn eine Wiederholung `max_tokens` nicht weiter verringern kann. Vor v2.1.218 konnte Claude Code einen reduzierten Request erneut senden, der immer noch nicht passte, z. B. wenn das Extended-Thinking-Budget das verbleibende Kontext überschritt, bis das Wiederholungs-Budget aufgebraucht war.

289* Ein abgelaufenes oder fehlendes Google Cloud-Credential auf [Google Cloud's Agent Platform](/docs/de/google-vertex-ai), oder AWS-Credentials, die auf Ihrem Computer nicht geladen werden können. Claude Code verwirft seine zwischengespeicherten Credentials und wiederholt bis zu zweimal, meldet dann den Fehler, damit Sie sich sofort erneut authentifizieren können, wie unter [Could not load AWS or Google Cloud credentials](#could-not-load-aws-or-google-cloud-credentials) beschrieben. Vor v2.1.228 wiederholte Claude Code ein fehlgeschlagenes Google Cloud-Credential durch das vollständige Wiederholungs-Budget, bevor der Fehler angezeigt wurde.312* Ein abgelaufenes oder fehlendes Google Cloud-Credential auf [Google Cloud's Agent Platform](/docs/de/google-vertex-ai), oder AWS-Credentials, die auf deinem Computer nicht geladen werden können. Claude Code verwirft seine zwischengespeicherten Credentials und wiederholt bis zu zweimal, dann meldet es den Fehler, damit du dich sofort erneut authentifizieren kannst, wie unter [Could not load AWS or Google Cloud credentials](#could-not-load-aws-or-google-cloud-credentials) beschrieben. Vor v2.1.228 wiederholte Claude Code ein fehlgeschlagenes Google Cloud-Credential durch das volle Wiederholungs-Budget, bevor der Fehler angezeigt wurde.

290* Ein `401` oder `403` von der Anthropic API, direkt oder über ein [LLM gateway](/docs/de/llm-gateway), während ein [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)-Skript das Credential liefert. Claude Code führt das Skript erneut aus und wiederholt mit seiner frischen Ausgabe, innerhalb des vollständigen Wiederholungs-Budgets. Wenn das Skript selbst bei der erneuten Ausführung fehlschlägt, zeigt Claude Code stattdessen [Your apiKeyHelper script is failing](#your-apikeyhelper-script-is-failing) an.313* Ein `401` oder `403` von der Anthropic API, direkt oder über ein [LLM gateway](/docs/de/llm-gateway), während ein [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)-Skript die Credential liefert. Claude Code führt das Skript erneut aus und wiederholt mit seiner frischen Ausgabe, innerhalb des vollen Wiederholungs-Budgets. Wenn das Skript selbst beim erneuten Ausführen fehlschlägt, zeigt Claude Code stattdessen [Your apiKeyHelper script is failing](#your-apikeyhelper-script-is-failing) an.

291 314 

292Vor v2.1.227 lautete `Connection lost before a response was produced` `Connection closed while thinking, before producing a response` und `The response stalled before a response was produced` lautete `Response stalled while thinking, before producing a response`.315Vor v2.1.227 lautete `Connection lost before a response was produced` `Connection closed while thinking, before producing a response` und `The response stalled before a response was produced` lautete `Response stalled while thinking, before producing a response`.

293 316 

294Claude Code wiederholt diese Fehler nicht:317Claude Code wiederholt diese Fehler nicht:

295 318 

296* Ein TLS-Zertifikatvalidierungsfehler, z. B. ein TLS-inspizierender Proxy, ein fehlendes `NODE_EXTRA_CA_CERTS`-Bundle oder ein abgelaufenes Zertifikat. Claude Code meldet den Fehler beim ersten Versuch, damit Sie die Zertifikat-Einrichtung sofort beheben können; siehe [SSL certificate errors](#ssl-certificate-errors). Claude Code wiederholt immer noch vorübergehende TLS-Bedingungen wie einen Handshake-Timeout. Vor v2.1.199 wiederholte Claude Code Zertifikatsfehler durch das vollständige Wiederholungs-Budget, bevor der Fehler angezeigt wurde.319* Ein TLS-Zertifikatvalidierungsfehler, z. B. ein TLS-inspizierender Proxy, ein fehlendes `NODE_EXTRA_CA_CERTS`-Bundle oder ein abgelaufenes Zertifikat. Claude Code meldet den Fehler beim ersten Versuch, damit du die Zertifikat-Einrichtung sofort beheben kannst; siehe [SSL certificate errors](#ssl-certificate-errors). Claude Code wiederholt immer noch vorübergehende TLS-Bedingungen wie ein Handshake-Timeout. Vor v2.1.199 wiederholte Claude Code Zertifikatfehler durch das volle Wiederholungs-Budget, bevor der Fehler angezeigt wurde.

297* Ein Serverfehler, eine unterbrochene Verbindung oder ein stagnierender Stream, der ankommt, nachdem Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem das Denken beendet wurde, aber bevor die Antwort beendet wird. Claude Code führt den Request nicht erneut aus, da dies zu doppelten Tool-Aufrufen führen könnte. Es behält das bei, was Claude abgeschlossen hat, führt alle Tool-Aufrufe aus, die Claude beendet hat, und setzt den Turn von deren Ergebnissen fort. Für das, was Sie in einer interaktiven Sitzung und in einer nicht-interaktiven Sitzung sehen, lesen Sie [The response above may be incomplete](#the-response-above-may-be-incomplete). Vor v2.1.199 verwarf Claude Code die teilweise Ausgabe und meldete den gesamten Turn als Fehler, wenn ein Serverfehler während des Streams ankam.320* Ein Serverfehler, eine unterbrochene Verbindung oder ein stagnierender Stream, der ankommt, nachdem Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem es das Denken beendet hat, aber bevor es die Antwort beendet. Claude Code führt den Request nicht erneut aus, da dies die gleichen Tool-Aufrufe zweimal ausführen könnte. Es behält das bei, was Claude abgeschlossen hat, führt alle Tool-Aufrufe aus, die Claude beendet hat, und setzt die Runde von ihren Ergebnissen fort. Für das, was du in einer interaktiven Sitzung und in einer nicht-interaktiven siehst, lies [The response above may be incomplete](#the-response-above-may-be-incomplete). Vor v2.1.199 verwarf Claude Code die teilweise Ausgabe und meldete die ganze Runde als Fehler, wenn ein Serverfehler während des Streams ankam.

298* Ein Fehler, der ankommt, nachdem Claude die Antwort beendet hat: Es muss nichts wiederholt werden, daher behält Claude Code die vollständige Antwort und beendet den Turn normal.321* Ein Fehler, der ankommt, nachdem Claude die Antwort beendet hat: Es muss nichts wiederholt werden, daher behält Claude Code die vollständige Antwort und beendet die Runde normal.

299* Eine [Amazon Bedrock Streaming-Antwort mit unerwartetem Content-Type](#bedrock-streaming-response-has-an-unexpected-content-type), da das Gateway oder der Proxy, der die Antwort umschreibt, die Wiederholung auf die gleiche Weise umschreiben würde. Erfordert Claude Code v2.1.208 oder später.322* Eine [Amazon Bedrock Streaming-Antwort mit unerwartetem Content-Type](#bedrock-streaming-response-has-an-unexpected-content-type), da das Gateway oder der Proxy, der die Antwort umschreibt, die Wiederholung auf die gleiche Weise umschreiben würde. Erfordert Claude Code v2.1.208 oder später.

300* Eine nicht-Streaming-Wiederholung eines fehlgeschlagenen Streaming-Requests, der einen Erfolgsstatus erhält, aber [keine Claude API-Nachricht im Body](#api-returned-an-empty-or-malformed-response). Claude Code beendet den Turn mit diesem Fehler.323* Ein nicht-Streaming-Wiederholung eines fehlgeschlagenen Streaming-Requests, der einen Erfolgsstatus erhält, aber [keine Claude API-Nachricht im Body](#api-returned-an-empty-or-malformed-response). Claude Code beendet die Runde mit diesem Fehler.

301* Ein Request, den die Richtlinienprüfung Ihrer Organisation abgelehnt hat, was sich als `API Error:`-Zeile mit der Ablehnungsnachricht äußert. Die Administratoren Ihrer Organisation richten die Prüfung mit [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks) ein, einer Claude Enterprise-Funktion, und die Nachricht endet mit den Anweisungen, die sie konfiguriert haben, oder teilt Ihnen standardmäßig mit, sie zu kontaktieren. Claude Code sendet den abgelehnten Request nicht erneut an dasselbe Modell oder an ein [fallback model](/docs/de/model-config#fallback-model-chains), da die Ablehnung den Inhalt des Requests betrifft, nicht das Modell. Vor v2.1.239 konnte Claude Code einen abgelehnten Request erneut senden, ohne zu streamen oder auf einem konfigurierten Fallback-Modell, bevor die Ablehnung angezeigt wurde.324* Ein Request, den die Richtlinienprüfung deiner Organisation abgelehnt hat, die sich als `API Error:`-Zeile mit der Ablehnungsnachricht darstellt. Die Administratoren deiner Organisation richten die Prüfung mit [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks) ein, einer Claude Enterprise-Funktion, und die Nachricht endet mit den Anweisungen, die sie konfiguriert haben, oder teilt dir standardmäßig mit, sie zu kontaktieren. Claude Code sendet den abgelehnten Request nicht erneut an das gleiche Modell oder an ein [fallback model](/docs/de/model-config#fallback-model-chains), da die Ablehnung den Inhalt des Requests betrifft, nicht das Modell. Vor v2.1.239 konnte Claude Code einen abgelehnten Request erneut senden, ohne Streaming oder auf einem konfigurierten Fallback-Modell, bevor dir die Ablehnung angezeigt wurde.

302 325 

303<h3 id="what-you-see-while-claude-code-retries-or-waits">326<h3 id="what-you-see-while-claude-code-retries-or-waits">

304 Was Sie sehen, während Claude Code wiederholt oder wartet327 Was du siehst, während Claude Code wiederholt oder wartet

305</h3>328</h3>

306 329 

307Während der Wiederholung zeigt der Spinner einen `Retrying in Ns · attempt x/y`-Countdown nach einem Fehler-Label. Das Label benennt den spezifischen Grund vom ersten Versuch für Fehler, auf die Sie sofort reagieren können: Das Netzwerk ist ausgefallen, ein TLS-Handshake ist fehlgeschlagen, oder Sie haben ein Rate Limit erreicht. Für andere Fehler lautet es zunächst `API error`. Ab v2.1.198 wechselt es zum spezifischen Grund vom dritten Versuch, oder beim letzten Versuch, wenn `CLAUDE_CODE_MAX_RETRIES` weniger als drei erlaubt; frühere Versionen wechseln nur beim letzten Versuch.330Während der Wiederholung zeigt der Spinner einen `Retrying in Ns · attempt x/y`-Countdown nach einem Fehler-Label. Das Label benennt den spezifischen Grund vom ersten Versuch für Fehler, auf die du sofort reagieren kannst: Das Netzwerk ist ausgefallen, ein TLS-Handshake ist fehlgeschlagen, oder du hast ein Rate-Limit erreicht. Für andere Fehler lautet es zunächst `API error`. Ab v2.1.198 wechselt es zum spezifischen Grund vom dritten Versuch, oder beim letzten Versuch, wenn `CLAUDE_CODE_MAX_RETRIES` weniger als drei erlaubt; frühere Versionen wechseln nur beim letzten Versuch.

308 331 

309Ab v2.1.198 wird der übliche Spinner-Tipp während Wiederholungen unterdrückt. Sobald der Fehlergrund offenbart wird, wenn der Fehler eine 529-Überladung ist, benennt die Zeile unter dem Countdown auch, wo der Service-Status überprüft werden kann: `status.claude.com` auf der Anthropic API, oder der Provider- oder Gateway-Host, der in der Nachricht auf anderen Konfigurationen benannt ist.332Ab v2.1.198 wird der übliche Spinner-Tipp während Wiederholungen unterdrückt. Sobald der Fehlergrund offenbart wird, wenn der Fehler eine 529-Überladung ist, benennt die Zeile unter dem Countdown auch, wo der Service-Status überprüft werden kann: `status.claude.com` auf der Anthropic API, oder der Provider- oder Gateway-Host, der in der Nachricht auf anderen Konfigurationen benannt ist.

310 333 

311Wenn 20 Sekunden lang keine Daten im Response-Stream ankommen, während ein Request noch ausstehend ist, zeigt der Spinner `Waiting for API response · will retry in … · check your network` an, bevor eine Wiederholung gestartet hat. Der Request ist noch nicht fehlgeschlagen: Der Countdown läuft bis zu dem Punkt, an dem Claude Code die stagnierende Verbindung abbricht. Nach dem Abbruch hängt das, was Sie sehen, davon ab, wie weit die Antwort gekommen war:334Wenn 20 Sekunden lang keine Daten im Response-Stream ankommen, während ein Request noch ausstehend ist, zeigt der Spinner `Waiting for API response · will retry in … · check your network` an, bevor eine Wiederholung gestartet hat. Der Request ist noch nicht fehlgeschlagen: Der Countdown läuft bis zu dem Punkt, an dem Claude Code die stagnierende Verbindung abbricht. Nach dem Abbruch hängt das, was du siehst, davon ab, wie weit die Antwort gekommen war:

312 335 

313* Bevor Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem das Denken beendet wurde, wiederholt Claude Code den Request oder beendet den Turn mit einem Fehler. [Automatic retries](#automatic-retries) sagt, welche Stagnationen es wiederholt und wie oft.336* Bevor Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem es das Denken beendet hat, wiederholt Claude Code den Request oder beendet die Runde mit einem Fehler. [Automatic retries](#automatic-retries) sagt, welche Stagnationen es wiederholt und wie oft.

314* Nachdem Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem das Denken beendet wurde, aber bevor Claude die Antwort beendet hat, behält Claude Code das bei, was Claude abgeschlossen hat, setzt den Turn von allen Tool-Aufrufen fort, die Claude beendet hat, und zeigt [The response above may be incomplete](#the-response-above-may-be-incomplete). In einer nicht-interaktiven Sitzung und für die Antwort eines Subagenten in jeder Sitzung kann Claude Code zuerst Claude auffordern, die Antwort fortzusetzen; dieser Eintrag sagt, wann dies der Fall ist und wann Sie die Benachrichtigung dort immer noch sehen.337* Nachdem Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem es das Denken beendet hat, aber bevor Claude die Antwort beendet hat, behält Claude Code das bei, was Claude abgeschlossen hat, setzt die Runde von allen Tool-Aufrufen fort, die Claude beendet hat, und zeigt [The response above may be incomplete](#the-response-above-may-be-incomplete). In einer nicht-interaktiven Sitzung und für die Antwort eines Subagenten in jeder Sitzung kann Claude Code zuerst Claude auffordern, die Antwort fortzusetzen; dieser Eintrag sagt, wann es das tut und wann du die Mitteilung dort immer noch siehst.

315* Nachdem Claude die Antwort beendet hat, beendet Claude Code den Turn normal.338* Nachdem Claude die Antwort beendet hat, beendet Claude Code die Runde normal.

316 339 

317Das Banner wird automatisch gelöscht, sobald Daten wieder ankommen oder eine Wiederholung erfolgreich ist. Wenn es bei jedem Versuch erneut angezeigt wird, behandeln Sie es als [network issue](#unable-to-connect-to-api). Vor v2.1.185 erschien das Banner nach 10 Sekunden mit anderer Formulierung.340Das Banner wird automatisch gelöscht, sobald Daten wieder ankommen oder eine Wiederholung erfolgreich ist. Wenn es bei jedem Versuch erneut angezeigt wird, behandle es als [network issue](#unable-to-connect-to-api). Vor v2.1.185 erschien das Banner nach 10 Sekunden mit anderer Formulierung.

318 341 

319Während Claude den [advisor](/docs/de/advisor) konsultiert, erscheint das Banner nach 90 Sekunden ohne Daten statt 20, da eine lange Advisor-Überprüfung gut über 20 Sekunden lang nichts senden kann. Vor v2.1.214 galt die 20-Sekunden-Schwelle auch während Advisor-Aufrufen, daher erschien das Banner während Advisor-Überprüfungen, auch wenn nichts falsch war.342Während Claude den [advisor](/docs/de/advisor) konsultiert, erscheint das Banner nach 90 Sekunden ohne Daten statt 20, da eine lange Advisor-Überprüfung für gut über 20 Sekunden nichts senden kann. Vor v2.1.214 galt die 20-Sekunden-Schwelle auch während Advisor-Aufrufen, daher erschien das Banner während Advisor-Überprüfungen, auch wenn nichts falsch war.

320 343 

321<h3 id="tune-retry-behavior">344<h3 id="tune-retry-behavior">

322 Wiederholungsverhalten anpassen345 Wiederholungsverhalten anpassen

323</h3>346</h3>

324 347 

325Sie können das Wiederholungsverhalten mit diesen Umgebungsvariablen anpassen:348Du kannst das Wiederholungsverhalten mit diesen Umgebungsvariablen anpassen:

326 349 

327| Variable | Standard | Effekt |350| Variable | Standard | Effekt |

328| :---------------------------------------------------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |351| :---------------------------------------------------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

329| [`CLAUDE_CODE_MAX_RETRIES`](/docs/de/env-vars) | 10 | Anzahl der Wiederholungsversuche. Ab v2.1.186 auf 15 begrenzt; ab v2.1.199 hebt `CLAUDE_CODE_RETRY_WATCHDOG` den Standard an und entfernt die Obergrenze. Senken Sie ihn, um Fehler in Skripten schneller zu zeigen. |352| [`CLAUDE_CODE_MAX_RETRIES`](/docs/de/env-vars) | 10 | Anzahl der Wiederholungsversuche. Ab v2.1.186 auf 15 begrenzt; ab v2.1.199 erhöht `CLAUDE_CODE_RETRY_WATCHDOG` den Standard und entfernt die Obergrenze. Senke es, um Fehler in Skripten schneller zu zeigen. |

330| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/de/env-vars) | nicht gesetzt | Setzen Sie auf `1` in unbeaufsichtigten Sitzungen wie CI-Jobs, um `429`- und `529`-Kapazitätsfehler unbegrenzt zu wiederholen, statt nach `CLAUDE_CODE_MAX_RETRIES`-Versuchen zu fehlschlagen. Claude Code schlägt sofort bei einem `429` fehl, das ein Ausgabenlimit oder erschöpfte Nutzungsguthaben meldet, auch bei einem [gateway spend cap](#spend-limit-reached), das nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 wiederholte der Watchdog diese unbegrenzt. Ab v2.1.199 erhöht es auch die Standard-Wiederholungsanzahl für andere vorübergehende Fehler, wie Serverfehler, Timeouts und unterbrochene Verbindungen, auf 300, ungefähr drei Stunden Backoff, und entfernt die Obergrenze von 15 auf `CLAUDE_CODE_MAX_RETRIES`, wenn Sie diese Variable explizit setzen. |353| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/de/env-vars) | nicht gesetzt | Setze auf `1` in unbeaufsichtigten Sitzungen wie CI-Jobs, um `429`- und `529`-Kapazitätsfehler unbegrenzt zu wiederholen, statt nach `CLAUDE_CODE_MAX_RETRIES`-Versuchen zu fehlschlagen. Claude Code schlägt sofort fehl, wenn ein Standard-Speed-Request einen `429` erhält, der ein Ausgabenlimit oder erschöpfte Nutzungsguthaben meldet, auch einen von einer [gateway spend cap](#spend-limit-reached), die nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 wiederholte der Watchdog diese unbegrenzt. Für Fast-Mode-Requests siehe [Handle rate limits](/docs/de/fast-mode#handle-rate-limits). Auf v2.1.199 oder später erhöht es auch die Standard-Wiederholungsanzahl für andere vorübergehende Fehler, wie Serverfehler, Timeouts und unterbrochene Verbindungen, auf 300, ungefähr drei Stunden Backoff, und entfernt die Obergrenze von 15 auf `CLAUDE_CODE_MAX_RETRIES`, wenn du diese Variable explizit setzt. |

331| [`API_TIMEOUT_MS`](/docs/de/env-vars) | 600000 | Pro-Request-Timeout in Millisekunden. Erhöhen Sie ihn für langsame Netzwerke oder Proxies. Er begrenzt auch, wie lange Claude Code auf Response-Header wartet, beschrieben in [No response from API](#no-response-from-api). |354| [`API_TIMEOUT_MS`](/docs/de/env-vars) | 600000 | Pro-Request-Timeout in Millisekunden. Erhöhe es für langsame Netzwerke oder Proxies. Es begrenzt auch, wie lange Claude Code auf Response-Header wartet, beschrieben in [No response from API](#no-response-from-api). |

332| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/de/env-vars) | nicht gesetzt | Deadline in Millisekunden für das erste Response-Byte eines Streaming-Requests. Erfordert Claude Code v2.1.242 oder später. Für die Auswahl der Deadline durch Claude Code, wenn dies nicht gesetzt ist, siehe [No response from API](#no-response-from-api). |355| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/de/env-vars) | nicht gesetzt | Deadline in Millisekunden für das erste Response-Byte eines Streaming-Requests. Erfordert Claude Code v2.1.242 oder später. Wie Claude Code die Deadline auswählt, wenn dies nicht gesetzt ist, siehe [No response from API](#no-response-from-api). |

333 356 

334<h2 id="server-errors">357<h2 id="server-errors">

335 Serverfehler358 Serverfehler


591Das ausgewählte Modell verwendet das 1M-Token-Fenster mit erweitertem Kontext, und Ihr Plan enthält es nur über Nutzungsguthaben.614Das ausgewählte Modell verwendet das 1M-Token-Fenster mit erweitertem Kontext, und Ihr Plan enthält es nur über Nutzungsguthaben.

592 615 

593```text theme={null}616```text theme={null}

594API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context617API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context

595```618```

596 619 

597Dies ist eine Berechtigungsprüfung, keine Kontingenterschöpfung. Sie wird auch dann ausgelöst, wenn Ihre Sitzungs- und Wochenkontingente noch Kapazität haben. Siehe [Extended context](/docs/de/model-config#extended-context) für die Pläne, die 1M-Kontext direkt enthalten, und welche Nutzungsguthaben erfordern. Claude Code führt diese Prüfung durch, wenn Sie das Modell mit `/model` auswählen, und nur bei einer direkten Verbindung zur Anthropic-API; wenn Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway](/docs/de/llm-gateway) verweisen, erlaubt `/model` die `[1m]`-Auswahl und das Gateway entscheidet, ob die Anfrage erfolgreich ist.620Dies ist eine Berechtigungsprüfung, keine Kontingenterschöpfung. Sie wird auch dann ausgelöst, wenn Ihre Sitzungs- und Wochenkontingente noch Kapazität haben. Siehe [Extended context](/docs/de/model-config#extended-context) für die Pläne, die 1M-Kontext direkt enthalten, und welche Nutzungsguthaben erfordern. Claude Code führt diese Prüfung durch, wenn Sie das Modell mit `/model` auswählen, und nur bei einer direkten Verbindung zur Anthropic-API; wenn Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway](/docs/de/llm-gateway) verweisen, erlaubt `/model` die `[1m]`-Auswahl und das Gateway entscheidet, ob die Anfrage erfolgreich ist.


601**Was zu tun ist:**624**Was zu tun ist:**

602 625 

603* Führen Sie `/model` aus und wählen Sie die Variante ohne das `[1m]`-Suffix, um auf das Standard-Kontextfenster zurückzufallen626* Führen Sie `/model` aus und wählen Sie die Variante ohne das `[1m]`-Suffix, um auf das Standard-Kontextfenster zurückzufallen

604* Wo die Meldung `/usage-credits` nennt, führen Sie es aus, um die getaktete Abrechnung für die 1M-Variante auf Pro und Max zu aktivieren, oder um Nutzungsguthaben von Ihrem Administrator auf Team und Enterprise anzufordern627* Wo die Meldung `/usage-credits` nennt, führen Sie es aus, um die getaktete Abrechnung für die 1M-Variante auf Pro und Max zu aktivieren, oder um Nutzungsguthaben von Ihrem Administrator auf Team und Enterprise anzufordern. Starten Sie Claude Code neu, sobald Nutzungsguthaben aktiviert sind. Bis Sie neu starten, bleibt die Sitzung auf dem Standard-Kontextlimit.

605* Wenn der Fehler nach `/model` weiterhin besteht, kann eine 1M-Modell-ID an anderer Stelle gesetzt sein. Siehe [Setting your model](/docs/de/model-config#setting-your-model) für die zu überprüfenden Konfigurationsorte in Prioritätsreihenfolge.628* Wenn der Fehler nach `/model` weiterhin besteht, kann eine 1M-Modell-ID an anderer Stelle gesetzt sein. Siehe [Setting your model](/docs/de/model-config#setting-your-model) für die zu überprüfenden Konfigurationsorte in Prioritätsreihenfolge.

606* Um 1M-Varianten vollständig aus dem Modellwähler zu entfernen, setzen Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/de/env-vars)629* Um 1M-Varianten vollständig aus dem Modellwähler zu entfernen, setzen Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/de/env-vars)

607 630 

631Vor v2.1.268 endete die Meldung mit `run /usage-credits to turn them on, or /model to switch to standard context` und erwähnte das Neustarten nicht.

632 

608<h3 id="the-prompt-to-confirm-went-unanswered">633<h3 id="the-prompt-to-confirm-went-unanswered">

609 The prompt to confirm went unanswered634 The prompt to confirm went unanswered

610</h3>635</h3>


971 996 

972* Eine `CLAUDE_CODE_USE_*`-Provider-Variable, z. B. `CLAUDE_CODE_USE_BEDROCK` für [Amazon Bedrock](/docs/de/amazon-bedrock) oder `CLAUDE_CODE_USE_VERTEX` für [Google Cloud's Agent Platform](/docs/de/google-vertex-ai)997* Eine `CLAUDE_CODE_USE_*`-Provider-Variable, z. B. `CLAUDE_CODE_USE_BEDROCK` für [Amazon Bedrock](/docs/de/amazon-bedrock) oder `CLAUDE_CODE_USE_VERTEX` für [Google Cloud's Agent Platform](/docs/de/google-vertex-ai)

973* [`ANTHROPIC_BASE_URL`](/docs/de/env-vars), die auf einen anderen Host als `api.anthropic.com` zeigt, z. B. ein [LLM-Gateway](/docs/de/llm-gateway) oder Proxy, selbst wenn Sie sich mit claude.ai anmelden; vor v2.1.196 blockierte eine benutzerdefinierte Basis-URL Remote Control nicht998* [`ANTHROPIC_BASE_URL`](/docs/de/env-vars), die auf einen anderen Host als `api.anthropic.com` zeigt, z. B. ein [LLM-Gateway](/docs/de/llm-gateway) oder Proxy, selbst wenn Sie sich mit claude.ai anmelden; vor v2.1.196 blockierte eine benutzerdefinierte Basis-URL Remote Control nicht

999* `ANTHROPIC_UNIX_SOCKET` gesetzt, sodass die Sitzung ihre Anfragen durch einen lokalen Socket statt an `api.anthropic.com` sendet

974* Eine Enterprise-[Cloud-Gateway](/docs/de/claude-apps-gateway)-Anmeldung, die durch `/login` erfolgt ist, die Remote Control nicht unterstützt und keine Variable zum Aufheben hat1000* Eine Enterprise-[Cloud-Gateway](/docs/de/claude-apps-gateway)-Anmeldung, die durch `/login` erfolgt ist, die Remote Control nicht unterstützt und keine Variable zum Aufheben hat

975 1001 

976**Was zu tun ist:**1002**Was zu tun ist:**


1125* Im nicht-interaktiven Modus führen Sie `claude` in der gleichen Umgebung aus, führen Sie `/login` aus, dann führen Sie Ihren Befehl erneut aus. Für Automatisierung, die sich nicht interaktiv anmelden kann, authentifizieren Sie sich mit `ANTHROPIC_API_KEY` oder [generieren Sie ein langlebiges Token mit `claude setup-token`](/docs/de/authentication#generate-a-long-lived-token).1151* Im nicht-interaktiven Modus führen Sie `claude` in der gleichen Umgebung aus, führen Sie `/login` aus, dann führen Sie Ihren Befehl erneut aus. Für Automatisierung, die sich nicht interaktiv anmelden kann, authentifizieren Sie sich mit `ANTHROPIC_API_KEY` oder [generieren Sie ein langlebiges Token mit `claude setup-token`](/docs/de/authentication#generate-a-long-lived-token).

1126* Wenn die Anmeldung weiterhin fehlschlägt, siehe [Anmeldung und Authentifizierung](/docs/de/troubleshoot-install#login-and-authentication)1152* Wenn die Anmeldung weiterhin fehlschlägt, siehe [Anmeldung und Authentifizierung](/docs/de/troubleshoot-install#login-and-authentication)

1127 1153 

1154<h3 id="claude-login-not-accepted">

1155 Claude-Anmeldung nicht akzeptiert

1156</h3>

1157 

1158Sie versuchten, eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) zu starten, und der Server weigerte sich, sie mit einem 401 zu erstellen: er akzeptierte die Claude-Anmeldung, die dieser Computer gesendet hat, nicht, normalerweise weil die Anmeldung abgelaufen oder widerrufen wurde.

1159 

1160Der erste Teil der Zeile ist der eigene Grund des Servers, wenn er einen gibt. Andernfalls liest sich die Zeile:

1161 

1162```text theme={null}

1163Claude login not accepted · Run /login, then try again

1164```

1165 

1166**Was zu tun ist:**

1167 

1168* Führen Sie `/login` aus, schließen Sie die Anmeldung ab, dann starten Sie die Sitzung erneut

1169 

1128<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1170<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1129 Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung1171 Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung

1130</h3>1172</h3>


1229 1271 

1230Vor v2.1.222 markierte Claude Code den Connector als Authentifizierung erforderlich, was Sie auf den Autorisierungsfluss des Connectors hinwies, obwohl das Abschließen ihn nicht behob.1272Vor v2.1.222 markierte Claude Code den Connector als Authentifizierung erforderlich, was Sie auf den Autorisierungsfluss des Connectors hinwies, obwohl das Abschließen ihn nicht behob.

1231 1273 

1274<h3 id="mcp-server-needs-you-to-sign-in-again">

1275 MCP-Server benötigt Sie, sich erneut anzumelden

1276</h3>

1277 

1278Ein Remote-[MCP-Server](/docs/de/mcp) lehnte die Anmeldedaten bei einem Tool-Aufruf während der Sitzung ab, normalerweise weil eine Anmeldung oder ein Token abgelaufen ist oder weil das Token einen Berechtigungsbereich fehlt, den das Tool benötigt. Der Tool-Aufruf schlägt fehl, und `/mcp` markiert den Server als [Authentifizierung erforderlich](/docs/de/mcp#authenticate-with-remote-mcp-servers).

1279 

1280Für einen Server, bei dem Sie sich von Claude Code aus anmelden, einschließlich eines claude.ai-Connectors, ist die Anmeldung abgelaufen oder wurde widerrufen:

1281 

1282```text theme={null}

1283MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

1284```

1285 

1286Führen Sie `/mcp` aus, wählen Sie den Server und melden Sie sich erneut von seinem Menü an.

1287 

1288Für einen Server, der mit einem [`headersHelper`](/docs/de/mcp#use-dynamic-headers-for-custom-authentication)-Skript konfiguriert ist, hat Claude Code das Helper-Skript bereits erneut ausgeführt und den Aufruf einmal erneut versucht, bevor dies angezeigt wird:

1289 

1290```text theme={null}

1291MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)

1292```

1293 

1294Überprüfen Sie, dass der Helper eine Anmeldedaten zurückgibt, die der Server akzeptiert, dann verbinden Sie sich von `/mcp` erneut, das den Helper erneut ausführt.

1295 

1296Für einen Server mit einem statischen `Authorization`-Header in seiner Konfiguration:

1297 

1298```text theme={null}

1299MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

1300```

1301 

1302Aktualisieren Sie den Header-Wert, wo der Server konfiguriert ist, dann verbinden Sie sich von `/mcp` erneut.

1303 

1304Vor v2.1.273 zeigten alle drei Fälle `MCP server "<name>" requires re-authorization (token expired)`.

1305 

1306Ein Server kann auch einen Tool-Aufruf mit HTTP 403 `insufficient_scope` ablehnen, um Sie aufzufordern, einen Bereich zu autorisieren, manchmal einen, den Ihr Token bereits auflistet. Die Meldung benennt diesen Bereich:

1307 

1308```text theme={null}

1309MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

1310```

1311 

1312Führen Sie `/mcp` aus, wählen Sie den Server und authentifizieren Sie sich erneut von seinem Menü.

1313 

1314Wenn die Konfiguration des Servers weder [`oauth.scopes`](/docs/de/mcp#restrict-oauth-scopes) noch [`authServerMetadataUrl`](/docs/de/mcp#override-oauth-metadata-discovery) setzt, fordert Claude Code den Bereich an, den der Server benannt hat. Mit einer der beiden Einstellungen fordert Claude Code stattdessen die Bereiche dieser Einstellung an. Wenn Sie `oauth.scopes` angeheftet haben, fügen Sie den fehlenden Bereich zu dieser Liste hinzu, bevor Sie sich erneut authentifizieren.

1315 

1316Vor v2.1.274 zeigte dieser Fall die `needs you to sign in again`-Meldung, und vor v2.1.273 zeigte er `requires re-authorization (token expired)` wie die anderen Fälle.

1317 

1232<h3 id="issuer-mismatch-in-authorization-response">1318<h3 id="issuer-mismatch-in-authorization-response">

1233 Aussteller-Nichtübereinstimmung in der Autorisierungsantwort1319 Aussteller-Nichtübereinstimmung in der Autorisierungsantwort

1234</h3>1320</h3>


1253 AWS-Anmeldedaten abgelaufen oder ungültig1339 AWS-Anmeldedaten abgelaufen oder ungültig

1254</h3>1340</h3>

1255 1341 

1256Diese Meldung erfordert Claude Code v2.1.198 oder später und erscheint nur, wenn [`awsAuthRefresh`](/docs/de/amazon-bedrock#advanced-credential-configuration) in Ihrer Einstellungsdatei gesetzt ist. Ihr AWS-Sitzungs-Token ist abgelaufen oder wurde abgelehnt, und die automatische Aktualisierung, die Claude Code bereits ausgeführt hat, hat keine Anmeldedaten produziert, die die API akzeptiert. Es erscheint auf einem 401 von [Claude Platform on AWS](/docs/de/claude-platform-on-aws) oder dem [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint), wie diese Provider ein abgelaufenes Sicherheits-Token melden.1342Ihr AWS-Sitzungs-Token ist abgelaufen oder wurde abgelehnt. Diese Meldung erscheint auf einem 401 von [Claude Platform on AWS](/docs/de/claude-platform-on-aws) oder dem [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint), wie diese Provider ein abgelaufenes Sicherheits-Token melden.

1257 1343 

1258Der Aktionshinweis in der Mitte benennt den `awsAuthRefresh`-Befehl aus Ihren Einstellungen, sodass er variiert. Der stabile Teil ist der führende `AWS credentials expired or invalid`:1344Der Aktionshinweis in der Mitte variiert mit Ihrem Setup. Der stabile Teil ist der führende `AWS credentials expired or invalid`:

1259 1345 

1260```text theme={null}1346```text theme={null}

1261AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...1347AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...

1262```1348```

1263 1349 

1264Ohne `awsAuthRefresh` konfiguriert, zeigt der gleiche 401 stattdessen die generische `Please run /login`-Meldung, die AWS-Anmeldedaten nicht aktualisieren kann.1350Vor v2.1.273 erschien diese Meldung nur, wenn `awsAuthRefresh` konfiguriert war.

1265 1351 

1266**Was zu tun ist:**1352**Was zu tun ist:**

1267 1353 

1268* Führen Sie den `awsAuthRefresh`-Befehl aus, der in der Meldung benannt ist, z. B. `aws sso login --profile myprofile`, in einem anderen Terminal aus und schließen Sie die Browser-Anmeldung ab, dann versuchen Sie es erneut1354* Wenn der Hinweis sagt, dass Anmeldedaten von dieser Umgebung verwaltet werden, besitzt die App, die Claude Code gestartet hat, die Anmeldedaten und die anderen Schritte hier gelten nicht: versuchen Sie es erneut, oder kontaktieren Sie Ihren Administrator

1269* In einer interaktiven Sitzung führen Sie `/login` aus, wählen Sie **3rd-party platform**, dann wählen Sie **Claude Platform on AWS · refresh credentials** unter **Using 3rd-party platforms**, um den gleichen Befehl auszuführen, ohne Claude Code neu zu starten. Siehe [AWS-Anmeldedaten konfigurieren](/docs/de/claude-platform-on-aws#1-configure-aws-credentials)1355* Wenn [`awsAuthRefresh`](/docs/de/amazon-bedrock#advanced-credential-configuration) gesetzt ist, führen Sie den in der Meldung benannten Befehl aus, z. B. `aws sso login --profile myprofile`, in einem anderen Terminal aus und schließen Sie die Browser-Anmeldung ab, dann versuchen Sie es erneut. Andernfalls aktualisieren Sie die AWS-Anmeldedaten, die Sie selbst verwenden: Ihre SSO-Anmeldung, Zugriffschlüssel, API-Schlüssel oder Proxy-Token

1356* Mit `awsAuthRefresh` in einer interaktiven Sitzung können Sie stattdessen `/login` ausführen, **3rd-party platform** wählen, dann **Claude Platform on AWS · refresh credentials** unter **Using 3rd-party platforms** wählen, um den gleichen Befehl auszuführen, ohne Claude Code neu zu starten. Siehe [AWS-Anmeldedaten konfigurieren](/docs/de/claude-platform-on-aws#1-configure-aws-credentials)

1270* Wenn der Fehler nach dem erfolgreichen Aktualisierungsbefehl wiederholt wird, bestätigen Sie, dass die Identität außerhalb von Claude Code mit `aws sts get-caller-identity` in der gleichen Shell und dem gleichen Profil gültig ist1357* Wenn der Fehler nach dem erfolgreichen Aktualisierungsbefehl wiederholt wird, bestätigen Sie, dass die Identität außerhalb von Claude Code mit `aws sts get-caller-identity` in der gleichen Shell und dem gleichen Profil gültig ist

1271 1358 

1272<h3 id="aws-authentication-failed">1359<h3 id="aws-authentication-failed">

1273 AWS-Authentifizierung fehlgeschlagen1360 AWS-Authentifizierung fehlgeschlagen

1274</h3>1361</h3>

1275 1362 

1276Diese Meldung erfordert Claude Code v2.1.198 oder später und erscheint nur, wenn [`awsAuthRefresh`](/docs/de/amazon-bedrock#advanced-credential-configuration) in Ihrer Einstellungsdatei gesetzt ist. Ihr AWS-Provider hat einen 403 zurückgegeben, oder [Amazon Bedrock](/docs/de/amazon-bedrock) hat einen 401 zurückgegeben.1363Ihr AWS-Provider hat einen 403 zurückgegeben, oder [Amazon Bedrock](/docs/de/amazon-bedrock) hat einen 401 zurückgegeben.

1277 1364 

1278Claude Code kann nicht sagen, welche Ursache Sie getroffen haben. Amazon Bedrock meldet ein abgelaufenes Sicherheits-Token als 403, aber ein 403 ist auch, wie es eine Autorisierungsverweigerung meldet, z. B. eine `AccessDeniedException` von einer fehlenden IAM-Berechtigung oder einem Modell, das nicht für Ihr Konto aktiviert ist.1365Amazon Bedrock meldet ein abgelaufenes Sicherheits-Token als 403, aber ein 403 ist auch, wie es eine Autorisierungsverweigerung meldet, z. B. eine `AccessDeniedException` von einer fehlenden IAM-Berechtigung. Claude Code kann diese beiden Ursachen nicht unterscheiden.

1279 1366 

1280Ein 401 von Amazon Bedrock landet auch hier statt unter [AWS-Anmeldedaten abgelaufen oder ungültig](#aws-credentials-expired-or-invalid), weil Amazon Bedrock ein abgelaufenes Token nicht als 401 meldet. Ein 401 von diesem Endpunkt kommt normalerweise von etwas anderem im Anfragepfad, z. B. einem Unternehmens-Proxy.1367Ein 401 von Amazon Bedrock landet auch hier statt unter [AWS-Anmeldedaten abgelaufen oder ungültig](#aws-credentials-expired-or-invalid), weil Amazon Bedrock ein abgelaufenes Token nicht als 401 meldet. Ein 401 von diesem Endpunkt kommt normalerweise von etwas anderem im Anfragepfad, z. B. einem Unternehmens-Proxy.

1281 1368 


1285AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1372AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...

1286```1373```

1287 1374 

1288Der Aktionshinweis in der Mitte benennt den `awsAuthRefresh`-Befehl aus Ihren Einstellungen, sodass er variiert. Der stabile Teil ist der führende `AWS authentication failed`.1375Der Aktionshinweis in der Mitte variiert mit Ihrem Setup. Der stabile Teil ist der führende `AWS authentication failed`.

1376 

1377Wenn der 403 Amazon Bedrock's Antwort ist, dass Sie keinen Zugriff auf das Modell mit der angegebenen Modell-ID haben, sagt der Hinweis stattdessen, dass Sie das Modell für Ihr Konto und Ihre Region in der Amazon Bedrock-Konsole aktivieren.

1378 

1379Vor v2.1.273 erschien diese Meldung nur, wenn `awsAuthRefresh` konfiguriert war.

1289 1380 

1290**Was zu tun ist:**1381**Was zu tun ist:**

1291 1382 

1292* Führen Sie den `awsAuthRefresh`-Befehl aus, der in der Meldung benannt ist, oder `aws sso login`, falls ein abgelaufenes Anmeldedaten die Ursache ist1383* Wenn der Hinweis sagt, dass Anmeldedaten von dieser Umgebung verwaltet werden, besitzt die App, die Claude Code gestartet hat, die Anmeldedaten und die anderen Schritte hier gelten nicht: versuchen Sie es erneut, oder kontaktieren Sie Ihren Administrator

1384* Aktualisieren Sie Ihre AWS-Anmeldedaten, falls ein abgelaufenes Anmeldedaten die Ursache ist: führen Sie den [`awsAuthRefresh`](/docs/de/amazon-bedrock#advanced-credential-configuration)-Befehl aus, der in der Meldung benannt ist, wenn einer gesetzt ist, oder aktualisieren Sie Ihre SSO-Anmeldung, Zugriffschlüssel, API-Schlüssel oder Proxy-Token selbst

1293* Wenn Ihre Anmeldedaten aktuell sind, bestätigen Sie die IAM-Berechtigungen in [IAM-Konfiguration](/docs/de/amazon-bedrock#iam-configuration), die an die Identität angehängt sind, die Sie verwenden, und dass das ausgewählte Modell für Ihr Konto und Ihre Region aktiviert ist1385* Wenn Ihre Anmeldedaten aktuell sind, bestätigen Sie die IAM-Berechtigungen in [IAM-Konfiguration](/docs/de/amazon-bedrock#iam-configuration), die an die Identität angehängt sind, die Sie verwenden, und dass das ausgewählte Modell für Ihr Konto und Ihre Region aktiviert ist

1294* Führen Sie `aws sts get-caller-identity` aus, um zu bestätigen, welche Identität Ihre Anfragen verwenden; ein veraltetes `AWS_PROFILE` oder Standardprofil ist eine häufige Ursache für eine Berechtigungsnichtübereinstimmung1386* Führen Sie `aws sts get-caller-identity` aus, um zu bestätigen, welche Identität Ihre Anfragen verwenden; ein veraltetes `AWS_PROFILE` oder Standardprofil ist eine häufige Ursache für eine Berechtigungsnichtübereinstimmung

1295 1387 

1388<h3 id="google-cloud-credentials-expired-or-invalid">

1389 Google Cloud-Anmeldedaten abgelaufen oder ungültig

1390</h3>

1391 

1392Ihre Google Cloud-Anmeldedaten für [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) sind abgelaufen oder wurden abgelehnt: die Anfrage hat einen 401 zurückgegeben, wie Agent Platform Anmeldedaten-Ablauf meldet.

1393 

1394Der Aktionshinweis in der Mitte variiert mit Ihrem Setup. Der stabile Teil ist der führende `Google Cloud credentials expired or invalid`:

1395 

1396```text theme={null}

1397Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...

1398```

1399 

1400**Was zu tun ist:**

1401 

1402* Wenn der Hinweis sagt, dass Anmeldedaten von dieser Umgebung verwaltet werden, besitzt die App, die Claude Code gestartet hat, die Anmeldedaten und die anderen Schritte hier gelten nicht: versuchen Sie es erneut, oder kontaktieren Sie Ihren Administrator

1403* Wenn Sie sich mit Anwendungsstandardanmeldedaten authentifizieren, führen Sie den [`gcpAuthRefresh`](/docs/de/google-vertex-ai#advanced-credential-configuration)-Befehl aus, der in der Meldung benannt ist, oder `gcloud auth application-default login`, und schließen Sie die Anmeldung ab, dann versuchen Sie es erneut

1404* Wenn Sie durch ein [LLM-Gateway](/docs/de/llm-gateway) mit `CLAUDE_CODE_SKIP_VERTEX_AUTH` gesetzt leiten, aktualisieren Sie das Gateway-Token in `ANTHROPIC_AUTH_TOKEN` oder `ANTHROPIC_CUSTOM_HEADERS`, dann versuchen Sie es erneut

1405* Wenn Sie sich mit einer Service-Account-Schlüsseldatei authentifizieren, bestätigen Sie, dass `GOOGLE_APPLICATION_CREDENTIALS` auf einen gültigen Schlüssel zeigt. Siehe [GCP-Anmeldedaten konfigurieren](/docs/de/google-vertex-ai#3-configure-gcp-credentials)

1406* Wenn der Fehler nach einer Aktualisierung wiederholt wird, bestätigen Sie, dass die Identität außerhalb von Claude Code mit `gcloud auth application-default print-access-token` in der gleichen Shell funktioniert

1407 

1408Vor v2.1.273 zeigte ein 401 von Agent Platform die generische `Please run /login`- oder `Failed to authenticate`-Meldung statt, die Google Cloud-Anmeldedaten nicht aktualisieren kann.

1409 

1410<h3 id="google-cloud-authentication-failed">

1411 Google Cloud-Authentifizierung fehlgeschlagen

1412</h3>

1413 

1414[Google Cloud's Agent Platform](/docs/de/google-vertex-ai) hat einen 403 zurückgegeben, den es für Autorisierungsverweigerungen statt abgelaufener Anmeldedaten verwendet. Normalerweise fehlt der Identität, mit der Sie sich authentifizieren, eine IAM-Berechtigung, oder das Modell ist nicht für Ihr Projekt aktiviert.

1415 

1416Der Aktionshinweis in der Mitte variiert mit Ihrem Setup. Der stabile Teil ist der führende `Google Cloud authentication failed`:

1417 

1418```text theme={null}

1419Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...

1420```

1421 

1422**Was zu tun ist:**

1423 

1424* Wenn der Hinweis sagt, dass Anmeldedaten von dieser Umgebung verwaltet werden, besitzt die App, die Claude Code gestartet hat, die Anmeldedaten und die anderen Schritte hier gelten nicht: versuchen Sie es erneut, oder kontaktieren Sie Ihren Administrator

1425* Bestätigen Sie die Rollen in [IAM-Konfiguration](/docs/de/google-vertex-ai#iam-configuration), die der Identität gewährt sind, mit der Sie sich authentifizieren

1426* Bestätigen Sie, dass das Modell für Ihr Projekt aktiviert ist. Siehe [Modellzugriff anfordern](/docs/de/google-vertex-ai#2-request-model-access)

1427 

1428Vor v2.1.273 zeigte ein 403 von Agent Platform die generische `Please run /login`- oder `Failed to authenticate`-Meldung statt, die Google Cloud-Anmeldedaten nicht aktualisieren kann.

1429 

1430<h3 id="microsoft-foundry-authentication-failed">

1431 Microsoft Foundry-Authentifizierung fehlgeschlagen

1432</h3>

1433 

1434[Microsoft Foundry](/docs/de/microsoft-foundry) hat einen 401 oder 403 zurückgegeben: die Azure-Anmeldedaten auf der Anfrage wurden abgelehnt, oder die Identität dahinter hat keinen Zugriff auf die Foundry-Ressource. `/login` kann keine Azure-Anmeldedaten prägen. Der Aktionshinweis in der Mitte variiert mit Ihrem Setup. Der stabile Teil ist der führende `Microsoft Foundry authentication failed`:

1435 

1436```text theme={null}

1437Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...

1438```

1439 

1440**Was zu tun ist:**

1441 

1442* Wenn der Hinweis sagt, dass Anmeldedaten von dieser Umgebung verwaltet werden, besitzt die App, die Claude Code gestartet hat, die Anmeldedaten und die anderen Schritte hier gelten nicht: versuchen Sie es erneut, oder kontaktieren Sie Ihren Administrator

1443* Aktualisieren Sie die Anmeldedaten, die Sie in [Azure-Anmeldedaten konfigurieren](/docs/de/microsoft-foundry#2-configure-azure-credentials) konfiguriert haben: rotieren Sie `ANTHROPIC_FOUNDRY_API_KEY`, prägen Sie ein frisches `ANTHROPIC_FOUNDRY_AUTH_TOKEN`, oder führen Sie `az login` aus, damit die Standard-Microsoft Entra-Anmeldedaten-Chain sich erneut anmelden kann

1444* Wenn die Anmeldedaten aktuell sind, bestätigen Sie, dass die Identität Zugriff auf die Foundry-Ressource hat. Siehe [Azure RBAC-Konfiguration](/docs/de/microsoft-foundry#azure-rbac-configuration)

1445 

1446Vor v2.1.273 zeigte ein 401 oder 403 von Microsoft Foundry die generische `Please run /login`- oder `Failed to authenticate`-Meldung statt, die Azure-Anmeldedaten nicht aktualisieren kann.

1447 

1296<h3 id="could-not-load-aws-or-google-cloud-credentials">1448<h3 id="could-not-load-aws-or-google-cloud-credentials">

1297 AWS-Anmeldedaten konnten nicht geladen werden oder Google Cloud-Anmeldedaten1449 AWS- oder Google Cloud-Anmeldedaten konnten nicht geladen werden

1298</h3>1450</h3>

1299 1451 

1300Claude Code konnte keine verwendbaren Anmeldedaten aus der AWS-Anmeldedaten-Provider-Chain oder aus Ihren Google-Anwendungsstandardanmeldedaten auf dem Computer, auf dem es ausgeführt wird, erhalten, sodass keine Anfrage Ihren Cloud-Provider erreichte. Claude Code löscht seine zwischengespeicherten Anmeldedaten und versucht zweimal erneut, bevor diese Meldung angezeigt wird. Das Detail nach dem `·` benennt die spezifische Ursache, z. B. eine abgelaufene SSO-Sitzung, fehlende Anwendungsstandardanmeldedaten, die als `Could not load the default credentials` gemeldet werden, oder eine widerrufene Anmeldung, die als `invalid_grant` gemeldet wird:1452Claude Code konnte keine verwendbaren Anmeldedaten aus der AWS-Anmeldedaten-Provider-Chain oder aus Ihren Google-Anwendungsstandardanmeldedaten auf dem Computer, auf dem es ausgeführt wird, erhalten, sodass keine Anfrage Ihren Cloud-Provider erreichte. Claude Code löscht seine zwischengespeicherten Anmeldedaten und versucht zweimal erneut, bevor diese Meldung angezeigt wird. Das Detail nach dem `·` benennt die spezifische Ursache, z. B. eine abgelaufene SSO-Sitzung, fehlende Anwendungsstandardanmeldedaten, die als `Could not load the default credentials` gemeldet werden, oder eine widerrufene Anmeldung, die als `invalid_grant` gemeldet wird:


1315 AWS-Standard-Chain-Anmeldedaten-Auflösung hat das Zeitlimit überschritten1467 AWS-Standard-Chain-Anmeldedaten-Auflösung hat das Zeitlimit überschritten

1316</h3>1468</h3>

1317 1469 

1318Die AWS-Standard-Anmeldedaten-Provider-Chain hat Anmeldedaten nicht innerhalb von 60 Sekunden produziert, sodass Claude Code die Auflösung gestoppt und die Anfrage fehlgeschlagen hat. Dieses Zeitlimit ist eine Ursache von [AWS-Anmeldedaten konnten nicht geladen werden oder Google Cloud-Anmeldedaten](#could-not-load-aws-or-google-cloud-credentials). Der Fehler ist lokale Anmeldedaten-Auflösung: die Anfrage erreichte nie [Amazon Bedrock](/docs/de/amazon-bedrock), [Claude Platform on AWS](/docs/de/claude-platform-on-aws) oder den [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint). Claude Code löscht seinen [Anmeldedaten-Cache](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout) und versucht es erneut, bevor dieser Fehler auftritt, sodass die Chain bei wiederholten Versuchen steckengeblieben ist, wenn Sie ihn sehen.1470Die AWS-Standard-Anmeldedaten-Provider-Chain hat Anmeldedaten nicht innerhalb von 60 Sekunden produziert, sodass Claude Code die Auflösung gestoppt und die Anfrage fehlgeschlagen hat. Dieses Zeitlimit ist eine Ursache von [AWS- oder Google Cloud-Anmeldedaten konnten nicht geladen werden](#could-not-load-aws-or-google-cloud-credentials). Der Fehler ist lokale Anmeldedaten-Auflösung: die Anfrage erreichte nie [Amazon Bedrock](/docs/de/amazon-bedrock), [Claude Platform on AWS](/docs/de/claude-platform-on-aws) oder den [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint). Claude Code löscht seinen [Anmeldedaten-Cache](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout) und versucht es erneut, bevor dieser Fehler auftritt, sodass die Chain bei wiederholten Versuchen steckengeblieben ist, wenn Sie ihn sehen.

1319 1471 

1320```text theme={null}1472```text theme={null}

1321API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1473API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.


1383* Führen Sie `/login` in der Sitzung aus und schließen Sie die Browser-Anmeldung ab1535* Führen Sie `/login` in der Sitzung aus und schließen Sie die Browser-Anmeldung ab

1384* Für einen nicht-interaktiven Start starten Sie `claude` in der gleichen Umgebung, führen Sie `/login` aus, dann führen Sie Ihren Befehl erneut aus1536* Für einen nicht-interaktiven Start starten Sie `claude` in der gleichen Umgebung, führen Sie `/login` aus, dann führen Sie Ihren Befehl erneut aus

1385 1537 

1538<h3 id="gateway-refused-the-request">

1539 Gateway lehnte die Anfrage ab

1540</h3>

1541 

1542Sie sind durch ein [Claude apps gateway](/docs/de/claude-apps-gateway) angemeldet, und eine Anfrage hat einen 403 zurückgegeben: das Gateway oder das Upstream dahinter hat sie abgelehnt. Die erneute Anmeldung ändert eine Ablehnung nicht, sodass die Meldung auf Ihren Gateway-Administrator zeigt:

1543 

1544```text theme={null}

1545Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...

1546```

1547 

1548**Was zu tun ist:**

1549 

1550* Bitten Sie Ihren Gateway-Administrator, die Anfrage nachzuschlagen. Der `API Error:`-Schwanz trägt die Ablehnung, die das Gateway zurückgegeben hat

1551* Für Administratoren: eine [Zugriffskontrollregel](/docs/de/claude-apps-gateway-config#http-tuning) auf dem Gateway gibt einen 403 zurück, den das [Audit-Protokoll](/docs/de/claude-apps-gateway-deploy#logs) mit seinem Grund aufzeichnet, und eine Upstream-Autorisierungsverweigerung wird pro [Upstream-Fehlermeldungen](/docs/de/claude-apps-gateway-config#upstream-error-messages) weitergeleitet

1552 

1553Vor v2.1.273 zeigte ein 403 auf einer Gateway-Sitzung die generische `Please run /login`- oder `Failed to authenticate`-Meldung statt, und die erneute Anmeldung löscht die Ablehnung nicht.

1554 

1386<h2 id="network-and-connection-errors">1555<h2 id="network-and-connection-errors">

1387 Netzwerk- und Verbindungsfehler1556 Netzwerk- und Verbindungsfehler

1388</h2>1557</h2>


1400Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)1569Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)

1401Can't reach the API server — check your internet or DNS (ENOTFOUND)1570Can't reach the API server — check your internet or DNS (ENOTFOUND)

1402No internet route — check your connection or VPN (EHOSTUNREACH)1571No internet route — check your connection or VPN (EHOSTUNREACH)

1403Couldn't connect through your proxy (ERR_PROXY_TUNNEL)1572Couldn't connect through your proxy (ERR_PROXY_TUNNEL) — the proxy refused the tunnel: check its credentials and that it allows this host

1404Connection dropped (ECONNRESET)1573Connection dropped (ECONNRESET)

1405fetch failed1574fetch failed

1406Request timed out. Check your internet connection and proxy settings1575Request timed out. Check your internet connection and proxy settings


1482 1651 

1483Vor v2.1.234 endete die Nachricht nach `intercepting the request`.1652Vor v2.1.234 endete die Nachricht nach `intercepting the request`.

1484 1653 

1654Vor v2.1.271 endete auch eine Antwort, die eine gültige API-Nachricht unter einem nicht-JSON-Inhaltstyp wie `text/plain` trug, den Zug mit diesem Fehler. Einige LLM-Gateways verwenden diesen Inhaltstyp für die Nicht-Streaming-Antwort.

1655 

1485**Was zu tun ist:**1656**Was zu tun ist:**

1486 1657 

1487* Lesen Sie die `Response:`-Klausel, um zu sehen, welches System geantwortet hat. Ein HTML-Text, keine Anthropic-Anfrage-ID oder ein benannter Server wie `nginx` oder `cloudflare` bedeutet, dass etwas zwischen Claude Code und der API an seiner Stelle geantwortet hat1658* Lesen Sie die `Response:`-Klausel, um zu sehen, welches System geantwortet hat. Ein HTML-Text, keine Anthropic-Anfrage-ID oder ein benannter Server wie `nginx` oder `cloudflare` bedeutet, dass etwas zwischen Claude Code und der API an seiner Stelle geantwortet hat


1530Ein Proxy oder Sicherheitsgerät in Ihrem Netzwerk fängt TLS-Datenverkehr mit seinem eigenen Zertifikat ab, und Claude Code vertraut ihm nicht.1701Ein Proxy oder Sicherheitsgerät in Ihrem Netzwerk fängt TLS-Datenverkehr mit seinem eigenen Zertifikat ab, und Claude Code vertraut ihm nicht.

1531 1702 

1532```text theme={null}1703```text theme={null}

1533Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates1704Unable to connect to API: SSL certificate verification failed (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config

1534Unable to connect to API: Self-signed certificate detected. Check your proxy or corporate SSL certificates1705Unable to connect to API: Self-signed certificate detected (SELF_SIGNED_CERT_IN_CHAIN). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config

1535```1706```

1536 1707 

1708Vor v2.1.273 endeten beide Meldungen bei `Check your proxy or corporate SSL certificates`, ohne den OpenSSL-Code oder den `NODE_EXTRA_CA_CERTS`-Hinweis.

1709 

1537Ab v2.1.199 wird ein Zertifikatvalidierungsfehler nicht wiederholt, daher wird dieser Fehler beim ersten Versuch angezeigt, anstatt nach dem vollständigen [Wiederholungsbudget](#automatic-retries). Frühere Versionen verbrachten einige Minuten mit Wiederholungen, bevor sie ihn zeigten. Vorübergehende TLS-Bedingungen, wie z. B. ein Handshake-Timeout, werden immer noch wiederholt.1710Ab v2.1.199 wird ein Zertifikatvalidierungsfehler nicht wiederholt, daher wird dieser Fehler beim ersten Versuch angezeigt, anstatt nach dem vollständigen [Wiederholungsbudget](#automatic-retries). Frühere Versionen verbrachten einige Minuten mit Wiederholungen, bevor sie ihn zeigten. Vorübergehende TLS-Bedingungen, wie z. B. ein Handshake-Timeout, werden immer noch wiederholt.

1538 1711 

1539Während `/login` und der Startup-Konnektivitätsprüfung wird der gleiche Fehler mit dem OpenSSL-Code und der Behebung inline gemeldet:1712Während `/login` und der Startup-Konnektivitätsprüfung wird der gleiche Fehler mit einer anderen Nachricht gemeldet:

1540 1713 

1541```text theme={null}1714```text theme={null}

1542SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.1715SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.


1714 1887 

1715Beheben Sie zunächst den benannten Fehler; `/compact` schlägt mit demselben Fehler fehl, bis Sie dies tun. Vor v2.1.229 zeigte eine fehlgeschlagene automatische Komprimierung `Prompt is too long` ohne die Ursache an.1888Beheben Sie zunächst den benannten Fehler; `/compact` schlägt mit demselben Fehler fehl, bis Sie dies tun. Vor v2.1.229 zeigte eine fehlgeschlagene automatische Komprimierung `Prompt is too long` ohne die Ursache an.

1716 1889 

1890Wenn die automatische Komprimierung bei diesem Fehler ausgeführt wird, fasst sie normalerweise Ihre ältesten Austausche zusammen und behält die neuesten. Als letzter Ausweg fasst Claude Code anders zusammen:

1891 

1892* Wenn es keinen ganzen Austausch zusammenfassen kann, behält Claude Code Ihre neueste Eingabeaufforderung wörtlich und fasst alles davor zusammen.

1893* In diesem Fall, wenn das Gespräch nicht mit Ihrer Eingabeaufforderung endet, fasst Claude Code stattdessen das gesamte Gespräch zusammen.

1894 

1895Claude Code überspringt diese Wiederherstellung, wenn der Inhalt, den es weitergeben würde, keine Modellantworte enthält und weniger als etwa 1.000 Token Ihres eigenen Textes, wie z. B. eine kurze Wiederholung nach einem übergroßen Einfügen. Führen Sie `/clear` aus, um neu zu beginnen. Vor v2.1.269 schlug die Komprimierung fehl, wenn sie keinen ganzen Austausch zusammenfassen konnte, daher traf eine Sitzung in diesem Zustand bei jedem Durchgang diesen Fehler erneut.

1896 

1717Ein Gespräch mit nur einem Austausch hat keine früheren Runden zum Zusammenfassen. Wenn die automatische Komprimierung auf einer ausgeführt worden wäre, überspringt Claude Code den Versuch und erklärt stattdessen, was die Anfrage ausfüllt. Wenn die API keine Token-Zählungen in ihrem Fehler meldet, lautet die Meldung:1897Ein Gespräch mit nur einem Austausch hat keine früheren Runden zum Zusammenfassen. Wenn die automatische Komprimierung auf einer ausgeführt worden wäre, überspringt Claude Code den Versuch und erklärt stattdessen, was die Anfrage ausfüllt. Wenn die API keine Token-Zählungen in ihrem Fehler meldet, lautet die Meldung:

1718 1898 

1719```text theme={null}1899```text theme={null}


1736 1916 

1737**Was zu tun ist:**1917**Was zu tun ist:**

1738 1918 

1739* Führen Sie in einem Gespräch mit mehreren Runden `/compact` aus, um frühere Runden zusammenzufassen und Platz freizugeben, oder `/clear`, um neu zu beginnen. Ein Gespräch mit nur einem Austausch kann nicht komprimiert werden, daher verkleinern Sie stattdessen die Anfrage1919* Führen Sie `/compact` aus, um frühere Runden zusammenzufassen und Platz freizugeben, oder `/clear`, um neu zu beginnen. Wenn `/compact` mit `Not enough messages to compact.` antwortet, ist das Gespräch ein einzelner Austausch ohne frühere Inhalte zum Zusammenfassen, daher wird der Platz von dieser einen Eingabeaufforderung und dem, was Claude Code mit jeder Anfrage sendet, verbraucht: Führen Sie `/clear` aus und senden Sie erneut mit weniger eingefügtem Text oder kleineren Anhängen, oder reduzieren Sie die Werkzeugdefinitionen und Speicherdateien mit den folgenden Schritten

1740* Führen Sie `/context` aus, um eine Aufschlüsselung zu sehen, was das Fenster verbraucht: Systemaufforderung, Werkzeuge, Speicherdateien und Nachrichten1920* Führen Sie `/context` aus, um eine Aufschlüsselung zu sehen, was das Fenster verbraucht: Systemaufforderung, Werkzeuge, Speicherdateien und Nachrichten

1741* Deaktivieren Sie MCP-Server, die Sie nicht verwenden, mit `/mcp disable <name>`, um ihre Werkzeugdefinitionen aus dem Kontext zu entfernen1921* Deaktivieren Sie MCP-Server, die Sie nicht verwenden, mit `/mcp disable <name>`, um ihre Werkzeugdefinitionen aus dem Kontext zu entfernen

1742* Kürzen Sie große `CLAUDE.md`-Speicherdateien, oder verschieben Sie Anweisungen in [pfadgebundene Regeln](/docs/de/memory#path-specific-rules), die nur bei Bedarf geladen werden1922* Kürzen Sie große `CLAUDE.md`-Speicherdateien, oder verschieben Sie Anweisungen in [pfadgebundene Regeln](/docs/de/memory#path-specific-rules), die nur bei Bedarf geladen werden


2019 Modell ist durch die Einstellungen Ihrer Organisation eingeschränkt2199 Modell ist durch die Einstellungen Ihrer Organisation eingeschränkt

2020</h3>2200</h3>

2021 2201 

2022Ihr Organisationsadministrator hat dieses Modell in der claude.ai-Administratorkonsole deaktiviert, oder es ist durch eine [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste in verwalteten Einstellungen ausgeschlossen. Wenn das eingeschränkte Modell mit `--model`, `ANTHROPIC_MODEL` oder der `model`-Einstellung gesetzt wurde, ersetzt Claude Code ein zulässiges Modell und fährt fort. Das Eingeben von `/model <name>` für ein eingeschränktes Modell wird mit `Run /model to choose a different model.` abgelehnt und die Sitzung behält ihr aktuelles Modell.2202Ihr Organisationsadministrator hat dieses Modell in der claude.ai-Administratorkonsole deaktiviert, oder es ist durch eine [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste in verwalteten Einstellungen ausgeschlossen. Wenn das eingeschränkte Modell mit `--model`, `ANTHROPIC_MODEL` oder der `model`-Einstellung gesetzt wurde, ersetzt Claude Code ein zulässiges Modell und fährt fort. Das Eingeben von `/model <name>` für ein eingeschränktes Modell wird mit `Run /model to choose a different model.` abgelehnt und die Sitzung behält ihr aktuelles Modell. Die Ersetzungsmitteilung kann auch mid-session nach einem Admin-Deaktivieren des Modells, auf dem eine Sitzung läuft, in der claude.ai-Administratorkonsole angezeigt werden.

2023 2203 

2024```text theme={null}2204```text theme={null}

2025Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.2205Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.


2259 Befehlszeilenfehler2439 Befehlszeilenfehler

2260</h2>2440</h2>

2261 2441 

2262Diese Fehler stammen aus dem `claude`-Befehl und seinen Unterbefehlen, aus einem Befehlsnamen, den Sie an der Eingabeaufforderung eingeben, und aus Befehlen wie `/security-review`, die Kontext sammeln, indem sie Shell-Befehle ausführen, bevor ihre Eingabeaufforderung ausgeführt wird. Sie stammen auch von `/tui`, das die CLI neu startet.2442Diese Fehler stammen aus dem `claude`-Befehl und seinen Unterbefehlen, aus einem Befehlsnamen, den Sie an der Eingabeaufforderung eingeben, und aus Befehlen wie `/security-review`, die Kontext durch Ausführung von Shell-Befehlen sammeln, bevor ihre Eingabeaufforderung ausgeführt wird. Sie stammen auch von `/tui`, das die CLI neu startet.

2263 2443 

2264<h3 id="conflict-between-bg-and-print">2444<h3 id="conflict-between-bg-and-print">

2265 Konflikt zwischen --bg und --print2445 Konflikt zwischen --bg und --print

2266</h3>2446</h3>

2267 2447 

2268Diese Meldung erfordert Claude Code v2.1.198 oder später. Sie haben `--bg` mit `-p` oder `--print` in derselben `claude`-Invokation kombiniert. `--bg` startet eine [Hintergrundsitzung](/docs/de/agent-view#from-your-shell), die Sie später mit `claude agents` anfügen, während `--print` [nicht interaktiv](/docs/de/headless) ausgeführt wird und nie die interaktive Sitzung startet, die `claude agents` anfügt. Vor v2.1.198 hat diese Kombination stillschweigend einen Hintergrund-Job erstellt, der nie angefügt werden konnte.2448Diese Meldung erfordert Claude Code v2.1.198 oder später. Sie haben `--bg` mit `-p` oder `--print` in derselben `claude`-Invokation kombiniert. `--bg` startet eine [Hintergrund-Sitzung](/docs/de/agent-view#from-your-shell), die Sie später mit `claude agents` anfügen, während `--print` [nicht interaktiv](/docs/de/headless) ausgeführt wird und nie die interaktive Sitzung startet, die `claude agents` anfügt. Vor v2.1.198 hat diese Kombination stillschweigend einen Hintergrund-Job erstellt, der nie angefügt werden konnte.

2269 2449 

2270```text theme={null}2450```text theme={null}

2271--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.2451--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.


2274**Was zu tun ist:**2454**Was zu tun ist:**

2275 2455 

2276* Lassen Sie `-p` oder `--print` weg. `--bg` nimmt die Eingabeaufforderung als sein Positionsargument, also ist `claude --bg "<task>"` der vollständige Befehl. Siehe [Neue Agenten von Ihrer Shell aus versenden](/docs/de/agent-view#from-your-shell).2456* Lassen Sie `-p` oder `--print` weg. `--bg` nimmt die Eingabeaufforderung als sein Positionsargument, also ist `claude --bg "<task>"` der vollständige Befehl. Siehe [Neue Agenten von Ihrer Shell aus versenden](/docs/de/agent-view#from-your-shell).

2277* Um die Eingabeaufforderung nicht interaktiv auszuführen und das Ergebnis auszudrucken, anstatt eine Hintergrundsitzung zu erstellen, lassen Sie `--bg` weg und führen Sie `claude -p "<task>"` aus2457* Um die Eingabeaufforderung nicht interaktiv auszuführen und das Ergebnis auszudrucken, anstatt eine Hintergrund-Sitzung zu erstellen, lassen Sie `--bg` weg und führen Sie `claude -p "<task>"` aus

2278 2458 

2279<h3 id="invalid-agents-configuration">2459<h3 id="invalid-agents-configuration">

2280 Ungültige --agents-Konfiguration2460 Ungültige --agents-Konfiguration

2281</h3>2461</h3>

2282 2462 

2283Der Wert, den Sie an `--agents` übergeben haben, ist ungültig, daher wird `claude` mit Code 1 beendet, anstatt die Sitzung zu starten. Wenn Sie `--safe-mode`, `--resume` oder `--continue` übergeben oder [`CLAUDE_CODE_SAFE_MODE`](/docs/de/env-vars#variables) setzen, überprüft Claude Code den Wert nicht und startet die Sitzung. Vor v2.1.242 hat Claude Code die Sitzung trotzdem gestartet und die Definitionen weggelassen, die nicht geladen werden konnten.2463Der Wert, den Sie an `--agents` übergeben haben, ist ungültig, daher beendet `claude` mit Code 1, anstatt die Sitzung zu starten. Wenn Sie `--safe-mode`, `--resume` oder `--continue` übergeben oder [`CLAUDE_CODE_SAFE_MODE`](/docs/de/env-vars#variables) setzen, überprüft Claude Code den Wert nicht und startet die Sitzung. Vor v2.1.242 hat Claude Code die Sitzung trotzdem gestartet und die Definitionen weggelassen, die nicht geladen werden konnten.

2284 2464 

2285```text theme={null}2465```text theme={null}

2286Error: Invalid --agents configuration:2466Error: Invalid --agents configuration:


22932. Wenn er analysiert wird, aber eine Agent-Definition nicht dem Schema für [CLI-definierte Subagenten](/docs/de/sub-agents#choose-the-subagent-scope) entspricht, druckt Claude Code eine Zeile pro Problem24732. Wenn er analysiert wird, aber eine Agent-Definition nicht dem Schema für [CLI-definierte Subagenten](/docs/de/sub-agents#choose-the-subagent-scope) entspricht, druckt Claude Code eine Zeile pro Problem

22943. Wenn ein Agent-Name mit `-` beginnt, druckt Claude Code `<name>: agent names must not start with '-'`24743. Wenn ein Agent-Name mit `-` beginnt, druckt Claude Code `<name>: agent names must not start with '-'`

2295 2475 

2296Wenn es mehr als 20 Problemzeilen gibt, druckt Claude Code die ersten 20 und ersetzt den Rest durch `…and N more`.2476Wenn es mehr als 20 Problemzeilen gibt, druckt Claude Code die ersten 20 und ersetzt den Rest mit `…and N more`.

2297 2477 

2298**Was zu tun ist:**2478**Was zu tun ist:**

2299 2479 


2303 Cloud-Sitzungen können nicht aus einer --restricted-Sitzung erstellt werden2483 Cloud-Sitzungen können nicht aus einer --restricted-Sitzung erstellt werden

2304</h3>2484</h3>

2305 2485 

2306Wenn Sie eine Sitzung mit [`--restricted`](/docs/de/cli-reference#cli-flags) starten, weigert sich Claude Code, [Cloud-Sitzungen](/docs/de/claude-code-on-the-web#from-terminal-to-web) daraus zu erstellen, da die neue Sitzung außerhalb des eingeschränkten Prozesses ausgeführt würde und den eingeschränkten Modus nicht erzwingen würde. Claude Code weigert sich auf der Client-Seite, bevor es den Server kontaktiert, daher wird keine Cloud-Sitzung erstellt:2486Wenn Sie eine Sitzung mit [`--restricted`](/docs/de/cli-reference#cli-flags) starten, weigert sich Claude Code, [Cloud-Sitzungen](/docs/de/claude-code-on-the-web#from-terminal-to-cloud) daraus zu erstellen, da die neue Sitzung außerhalb des eingeschränkten Prozesses ausgeführt würde und den eingeschränkten Modus nicht erzwingen würde. Claude Code weigert sich auf der Client-Seite, bevor der Server kontaktiert wird, daher wird keine Cloud-Sitzung erstellt:

2307 2487 

2308```text theme={null}2488```text theme={null}

2309Cloud sessions cannot be created from a --restricted session: they would not enforce it.2489Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2314* Führen Sie die Aufgabe lokal in der eingeschränkten Sitzung aus2494* Führen Sie die Aufgabe lokal in der eingeschränkten Sitzung aus

2315* Wenn Sie kontrollieren, wie die Sitzung gestartet wurde, starten Sie eine neue `claude`-Sitzung ohne `--restricted` und erstellen Sie die Cloud-Sitzung von dort aus2495* Wenn Sie kontrollieren, wie die Sitzung gestartet wurde, starten Sie eine neue `claude`-Sitzung ohne `--restricted` und erstellen Sie die Cloud-Sitzung von dort aus

2316 2496 

2317Vor v2.1.248 hatte Claude Code keine `--restricted`-Flag; frühere Versionen lehnen die Flag selbst mit einem Fehler für unbekannte Optionen ab.2497Vor v2.1.248 hatte Claude Code kein `--restricted`-Flag; frühere Versionen lehnen das Flag selbst mit einem Fehler für unbekannte Optionen ab.

2498 

2499<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

2500 Cloud-Sitzungen sind durch die Richtlinie Ihrer Organisation deaktiviert

2501</h3>

2502 

2503Die `allow_remote_sessions`-Richtlinie Ihrer Organisation ist deaktiviert, daher sind [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) und die Befehle, die sie verwenden, nicht verfügbar:

2504 

2505```text theme={null}

2506Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2507```

2508 

2509Die Meldung wird angezeigt, wenn Sie [eine Cloud-Sitzung vom Terminal aus erstellen](/docs/de/claude-code-on-the-web#from-terminal-to-cloud) und wenn Sie einen Befehl eingeben, der Cloud-Sitzungen benötigt, wie `/teleport`, `/remote-env` oder `/web-setup`. Vor v2.1.268 gab die Eingabe eines dieser Befehle stattdessen [`Unknown command`](#unknown-command) zurück.

2510 

2511Dies ist eine serverseitige Organisationsrichtlinie, daher kann sie nicht aus lokalen Einstellungen, Umgebungsvariablen oder CLI-Flags überschrieben werden.

2512 

2513Wenn Claude Code die Richtlinie Ihrer Organisation noch nicht geladen hat oder sie nicht abrufen kann, antworten diese Befehle stattdessen mit `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.`

2514 

2515**Was zu tun ist:**

2516 

2517* Bitten Sie einen [Besitzer](/docs/de/server-managed-settings#access-control) in Ihrer Organisation, Cloud-Sitzungen in den Claude Code-Administratoreinstellungen unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) zu aktivieren

2518* Wenn die Meldung besagt, dass die Richtlinie nicht überprüft werden konnte, überprüfen Sie Ihre Netzwerkverbindung, starten Sie Claude Code neu und versuchen Sie es erneut

2318 2519 

2319<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2520<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

2320 Der --json-schema-Wert ist kein gültiges JSON-Schema2521 Der --json-schema-Wert ist kein gültiges JSON-Schema

2321</h3>2522</h3>

2322 2523 

2323Das Schema, das Sie an [`--json-schema`](/docs/de/cli-reference#cli-flags) im [nicht interaktiven Modus](/docs/de/headless#get-structured-output) übergeben haben, ist bei der JSON-Schema-Kompilierung fehlgeschlagen, daher wird `claude` mit Code 1 beendet, anstatt die Eingabeaufforderung auszuführen. Vor v2.1.205 hat ein ungültiges Schema unstrukturierte Ausgabe ohne Fehler erzeugt, und jedes Schema, das das `format`-Schlüsselwort verwendete, wurde als ungültig behandelt.2524Das Schema, das Sie an [`--json-schema`](/docs/de/cli-reference#cli-flags) in [nicht interaktivem Modus](/docs/de/headless#get-structured-output) übergeben haben, ist bei der JSON-Schema-Kompilierung fehlgeschlagen, daher beendet `claude` mit Code 1, anstatt die Eingabeaufforderung auszuführen. Vor v2.1.205 hat ein ungültiges Schema unstrukturierte Ausgabe ohne Fehler erzeugt, und jedes Schema, das das `format`-Schlüsselwort verwendet hat, wurde als ungültig behandelt.

2324 2525 

2325```text theme={null}2526```text theme={null}

2326Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2527Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values


2328 2529 

2329Der Text nach dem zweiten Doppelpunkt ist die Diagnose des Validators und benennt das Schlüsselwort oder die Position, die fehlgeschlagen ist. Schemas, die das `format`-Schlüsselwort verwenden, wie `"format": "email"`, sind gültig: Claude Code akzeptiert `format` als Anmerkung und erzwingt es nicht.2530Der Text nach dem zweiten Doppelpunkt ist die Diagnose des Validators und benennt das Schlüsselwort oder die Position, die fehlgeschlagen ist. Schemas, die das `format`-Schlüsselwort verwenden, wie `"format": "email"`, sind gültig: Claude Code akzeptiert `format` als Anmerkung und erzwingt es nicht.

2330 2531 

2331Claude Code führt zwei Überprüfungen vor der Schema-Kompilierung durch: Es lehnt einen Wert ab, der nicht als JSON analysierbar ist, mit `Error: --json-schema is not valid JSON` ab, und gültiges JSON, das kein Objekt ist, mit `Error: --json-schema must be a JSON object`.2532Claude Code führt zwei Überprüfungen vor der Schema-Kompilierung durch: Es lehnt einen Wert ab, der nicht als JSON analysierbar ist, mit `Error: --json-schema is not valid JSON`, und gültiges JSON, das kein Objekt ist, mit `Error: --json-schema must be a JSON object`.

2332 2533 

2333**Was zu tun ist:**2534**Was zu tun ist:**

2334 2535 


2340 Einstellungsdatei überschreitet das 2-MiB-Limit2541 Einstellungsdatei überschreitet das 2-MiB-Limit

2341</h3>2542</h3>

2342 2543 

2343Die Datei, die Sie an [`--settings`](/docs/de/cli-reference#cli-flags) übergeben haben, ist größer als 2 MiB, daher wird `claude` beim Start mit Code 1 beendet, anstatt sie zu laden. Eine Einstellungsdatei ist ein kleines JSON-Dokument, daher bedeutet eine Datei dieser Größe normalerweise, dass der Pfad auf die falsche Datei zeigt. Vor v2.1.214 hat Claude Code die Datei ohne Größenprüfung gelesen, und eine mehrere Gigabyte große Datei oder eine Gerätedatei wie `/dev/zero` hat den Speicher unbegrenzt vergrößert.2544Die Datei, die Sie an [`--settings`](/docs/de/cli-reference#cli-flags) übergeben haben, ist größer als 2 MiB, daher beendet `claude` mit Code 1 beim Start, anstatt sie zu laden. Eine Einstellungsdatei ist ein kleines JSON-Dokument, daher bedeutet eine Datei dieser Größe normalerweise, dass der Pfad auf die falsche Datei zeigt. Vor v2.1.214 hat Claude Code die Datei ohne Größenprüfung gelesen, und eine mehrere Gigabyte große Datei oder eine Gerätedatei wie `/dev/zero` hat den Speicher unbegrenzt vergrößert.

2344 2545 

2345```text theme={null}2546```text theme={null}

2346Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2547Error: Settings file exceeds the 2MiB limit: /path/to/settings.json


2356 Das aktuelle Verzeichnis existiert nicht mehr2557 Das aktuelle Verzeichnis existiert nicht mehr

2357</h3>2558</h3>

2358 2559 

2359Sie haben `claude` aus einem Verzeichnis gestartet, das gelöscht oder verschoben wurde, nachdem Ihre Shell es betreten hat, beispielsweise ein Worktree oder ein temporäres Verzeichnis, das eine andere Shell entfernt hat. Claude Code kann sein Arbeitsverzeichnis nicht lesen, daher wird es mit Code 1 beendet, bevor die Sitzung gestartet wird, sowohl im interaktiven als auch im [nicht interaktiven](/docs/de/headless) Modus. Vor v2.1.239 ist Claude Code mit minifizierter Bundle-Quelle und einem rohen `ENOENT ... uv_cwd`-Stack auf stderr abgestürzt, anstatt diese Meldung anzuzeigen.2560Sie haben `claude` aus einem Verzeichnis gestartet, das nach dem Betreten durch Ihre Shell gelöscht oder verschoben wurde, beispielsweise ein Worktree oder ein temporäres Verzeichnis, das eine andere Shell entfernt hat. Claude Code kann sein Arbeitsverzeichnis nicht lesen, daher beendet es mit Code 1 vor dem Start der Sitzung, sowohl im interaktiven als auch im [nicht interaktiven](/docs/de/headless) Modus. Vor v2.1.239 ist Claude Code mit minifiziertem Bundle-Quellcode und einem rohen `ENOENT ... uv_cwd`-Stack auf stderr abgestürzt, anstatt diese Meldung anzuzeigen.

2360 2561 

2361```text theme={null}2562```text theme={null}

2362The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.2563The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.


2372**Was zu tun ist:**2573**Was zu tun ist:**

2373 2574 

2374* Wechseln Sie zu einem Verzeichnis, das existiert, z. B. Ihr Home- oder Projektverzeichnis, und führen Sie dann `claude` erneut aus2575* Wechseln Sie zu einem Verzeichnis, das existiert, z. B. Ihr Home- oder Projektverzeichnis, und führen Sie dann `claude` erneut aus

2375* Wenn das Verzeichnis unter demselben Pfad neu erstellt wurde, hält Ihre Shell immer noch das gelöschte. Führen Sie `cd "$PWD"` aus oder verlassen Sie das Verzeichnis und betreten Sie es erneut, und führen Sie dann `claude` erneut aus2576* Wenn das Verzeichnis unter demselben Pfad neu erstellt wurde, hält Ihre Shell immer noch das gelöschte. Führen Sie `cd "$PWD"` aus oder verlassen Sie das Verzeichnis und betreten Sie es erneut, dann führen Sie `claude` erneut aus

2376* Für `EPERM` auf macOS beenden Sie Ihre Terminal-App mit Cmd+Q, öffnen Sie sie erneut, kehren Sie zu diesem Ordner zurück, und führen Sie `claude` aus. Wenn `ls` in diesem Ordner immer noch fehlschlägt, öffnen Sie **Systemeinstellungen > Datenschutz & Sicherheit > Dateien und Ordner**, aktivieren Sie den Ordner für Ihre Terminal-App, und öffnen Sie dann das Terminal erneut2577* Für `EPERM` auf macOS beenden Sie Ihre Terminal-App mit Cmd+Q, öffnen Sie sie erneut, kehren Sie zu diesem Ordner zurück und führen Sie `claude` aus. Wenn `ls` in diesem Ordner immer noch fehlschlägt, öffnen Sie **Systemeinstellungen > Datenschutz & Sicherheit > Dateien und Ordner**, aktivieren Sie den Ordner für Ihre Terminal-App und öffnen Sie das Terminal erneut

2377 2578 

2378<h3 id="directory-couldnt-be-resolved-to-a-real-location">2579<h3 id="directory-couldnt-be-resolved-to-a-real-location">

2379 Verzeichnis konnte nicht zu einem echten Ort aufgelöst werden2580 Verzeichnis konnte nicht zu einem echten Ort aufgelöst werden


2381 2582 

2382Sie haben `/add-dir` für ein Unterverzeichnis Ihres Arbeitsverzeichnisses ausgeführt, und Claude Code konnte das Verzeichnis nicht zu seinem echten Ort auflösen.2583Sie haben `/add-dir` für ein Unterverzeichnis Ihres Arbeitsverzeichnisses ausgeführt, und Claude Code konnte das Verzeichnis nicht zu seinem echten Ort auflösen.

2383 2584 

2384Sie haben bereits Dateizugriff auf ein Unterverzeichnis des Arbeitsverzeichnisses, daher lädt `/add-dir` nur seine Fähigkeiten, Befehle und Agenten. Bevor sie geladen werden, überprüft Claude Code, dass der echte Ort des Verzeichnisses, mit aufgelösten Symlinks, sich im Arbeitsverzeichnis befindet. Wenn Claude Code diesen Ort nicht auflösen kann, lädt es nichts und zeigt diese Meldung:2585Sie haben bereits Dateizugriff auf ein Unterverzeichnis des Arbeitsverzeichnisses, daher lädt `/add-dir` nur seine Skills, Befehle und Agenten. Bevor sie geladen werden, überprüft Claude Code, dass der echte Ort des Verzeichnisses, mit aufgelösten Symlinks, sich im Arbeitsverzeichnis befindet. Wenn Claude Code diesen Ort nicht auflösen kann, lädt es nichts und zeigt diese Meldung:

2385 2586 

2386```text theme={null}2587```text theme={null}

2387packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.2588packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.


2392* Überprüfen Sie, dass der Pfad ein echtes Verzeichnis im Arbeitsverzeichnis benennt, und führen Sie dann `/add-dir` erneut aus2593* Überprüfen Sie, dass der Pfad ein echtes Verzeichnis im Arbeitsverzeichnis benennt, und führen Sie dann `/add-dir` erneut aus

2393* Die Meldung ändert Ihren Dateizugriff nicht; sie meldet nur, dass der `.claude/`-Inhalt des Verzeichnisses nicht geladen wurde2594* Die Meldung ändert Ihren Dateizugriff nicht; sie meldet nur, dass der `.claude/`-Inhalt des Verzeichnisses nicht geladen wurde

2394 2595 

2395Vor v2.1.261 erschien diese Meldung auch für jeden `/add-dir <subdirectory>`, wenn das Arbeitsverzeichnis auf einem `/net/<host>`-Automount war, wo Claude Code sich weigert, Pfade nach Design aufzulösen; das Verzeichnis war in Ordnung und ein Wiederholungsversuch konnte nicht helfen.2596Vor v2.1.261 erschien diese Meldung auch für jeden `/add-dir <subdirectory>`, wenn das Arbeitsverzeichnis auf einem `/net/<host>`-Automount war, wo Claude Code sich weigert, Pfade nach Design aufzulösen; das Verzeichnis war in Ordnung und ein erneuter Versuch konnte nicht helfen.

2396 2597 

2397<h3 id="workspace-not-trusted-when-starting-remote-control">2598<h3 id="workspace-not-trusted-when-starting-remote-control">

2398 Arbeitsbereich nicht vertraut beim Starten der Remote-Steuerung2599 Arbeitsbereich nicht vertraut beim Starten der Remote-Steuerung

2399</h3>2600</h3>

2400 2601 

2401Sie haben den [Remote-Steuerung](/docs/de/remote-control)-Servermodus mit `claude remote-control` oder seinem `claude rc`-Alias in einem Verzeichnis gestartet, das Sie nicht vertraut haben. Der Befehl zeigt selbst den Workspace-Trust-Dialog nicht an, daher wird er mit Code 1 beendet und benennt die Lösung:2602Sie haben den [Remote-Steuerungs](/docs/de/remote-control)-Servermodus mit `claude remote-control` oder seinem `claude rc`-Alias in einem Verzeichnis gestartet, das Sie nicht vertraut haben. Der Befehl zeigt den Dialog zur Arbeitsbereichsvertrauenswürdigkeit selbst nicht an, daher beendet er mit Code 1 und benennt die Lösung:

2402 2603 

2403```text theme={null}2604```text theme={null}

2404Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.2605Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

2405```2606```

2406 2607 

2407In Ihrem Home-Verzeichnis ist die Meldung anders, da der Workspace-Trust-Dialog niemals Trust für das Home-Verzeichnis speichert, daher kann das Akzeptieren dort diese Überprüfung nicht erfüllen. Vor v2.1.214 zeigte das Home-Verzeichnis die obige Meldung an, deren Rat dort nicht erfolgreich sein kann.2608In Ihrem Home-Verzeichnis ist die Meldung anders, da der Dialog zur Arbeitsbereichsvertrauenswürdigkeit nie Vertrauen für das Home-Verzeichnis speichert, daher kann das Akzeptieren dort diese Überprüfung nicht erfüllen. Vor v2.1.214 zeigte das Home-Verzeichnis die obige Meldung, deren Rat dort nicht erfolgreich sein kann.

2408 2609 

2409```text theme={null}2610```text theme={null}

2410Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).2611Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).


2412 2613 

2413**Was zu tun ist:**2614**Was zu tun ist:**

2414 2615 

2415* Führen Sie `claude` im Verzeichnis aus, akzeptieren Sie den [Workspace-Trust-Dialog](/docs/de/permissions#project-allow-rules-and-workspace-trust), und führen Sie dann `claude remote-control` erneut aus2616* Führen Sie `claude` im Verzeichnis aus, akzeptieren Sie den [Dialog zur Arbeitsbereichsvertrauenswürdigkeit](/docs/de/permissions#project-allow-rules-and-workspace-trust), und führen Sie dann `claude remote-control` erneut aus

2416* Wechseln Sie in Ihrem Home-Verzeichnis zu einem Projektverzeichnis und starten Sie Remote-Steuerung von dort aus2617* Wechseln Sie in Ihrem Home-Verzeichnis zu einem Projektverzeichnis und starten Sie die Remote-Steuerung dort

2417 2618 

2418<h3 id="not-carried-over-to-the-sessions-remote-control-starts">2619<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

2419 Nicht übertragen auf die Sitzungen, die Remote-Steuerung startet2620 Nicht übertragen auf die Sitzungen, die Remote-Steuerung startet

2420</h3>2621</h3>

2421 2622 

2422Sie haben [Remote-Steuerung](/docs/de/remote-control) mit einer globalen `claude`-Flag vor dem `remote-control`-Verb gestartet, eine, die die Sitzungen einschränken oder konfigurieren würde, die Remote-Steuerung startet, wie `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` oder `--mcp-config`. Eine Flag, die vor dem Verb platziert wird, erreicht diese Sitzungen nie. Claude Code weigert sich zu starten und benennt stattdessen die Flag:2623Sie haben [Remote-Steuerung](/docs/de/remote-control) mit einem globalen `claude`-Flag vor dem `remote-control`-Verb gestartet, eines, das die Sitzungen einschränken oder konfigurieren würde, die Remote-Steuerung startet, wie `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` oder `--mcp-config`. Ein Flag, das vor dem Verb platziert ist, erreicht diese Sitzungen nie. Claude Code weigert sich zu starten, anstatt es zu starten, und benennt das Flag:

2423 2624 

2424```text theme={null}2625```text theme={null}

2425Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).2626Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).


2427 2628 

2428Claude Code weigert sich nicht bei globalen Flags, die harmlos zu löschen sind, wie `--verbose`, `--model` oder ein von einem Wrapper injiziertes `--session-id` oder `--plugin-dir`: Es ignoriert sie und Remote-Steuerung startet.2629Claude Code weigert sich nicht bei globalen Flags, die harmlos zu löschen sind, wie `--verbose`, `--model` oder ein von einem Wrapper injiziertes `--session-id` oder `--plugin-dir`: Es ignoriert sie und Remote-Steuerung startet.

2429 2630 

2430Claude Code weigert sich auch zu starten für eine globale Flag, die es noch nicht als harmlos erkennt, daher kann eine Flag, die in einer neueren Version hinzugefügt wird, in dieser Meldung erscheinen, bis eine spätere Version sie als harmlos markiert.2631Claude Code weigert sich auch zu starten für ein globales Flag, das es noch nicht als harmlos erkennt, daher kann ein Flag, das in einer neueren Version hinzugefügt wurde, in dieser Meldung erscheinen, bis eine spätere Version es als harmlos markiert.

2431 2632 

2432**Was zu tun ist:**2633**Was zu tun ist:**

2433 2634 

2434* Entfernen Sie die Flag vor dem Verb und übergeben Sie [Remote-Steuerung's eigene Optionen](/docs/de/remote-control#start-a-remote-control-session) danach; `claude remote-control --help` listet sie auf2635* Entfernen Sie das Flag vor dem Verb und übergeben Sie [Remote-Steuerungs eigene Optionen](/docs/de/remote-control#start-a-remote-control-session) danach; `claude remote-control --help` listet sie auf

2435* Wenn die abgelehnte Flag `--permission-mode` ist, führen Sie `claude remote-control --permission-mode <mode>` aus, um den Berechtigungsmodus für die Sitzungen festzulegen, die Remote-Steuerung startet2636* Wenn das abgelehnte Flag `--permission-mode` ist, führen Sie `claude remote-control --permission-mode <mode>` aus, um den Berechtigungsmodus für die Sitzungen festzulegen, die Remote-Steuerung startet

2436 2637 

2437Vor v2.1.248 akzeptierte `claude remote-control` seine eigenen Flags nicht, wenn eine globale Flag zuerst kam, und der Befehl schlug mit einem Fehler für unbekannte Optionen fehl.2638Vor v2.1.248 akzeptierte `claude remote-control` seine eigenen Flags nicht, wenn ein globales Flag zuerst kam, und der Befehl schlug mit einem Fehler für unbekannte Optionen fehl.

2438 2639 

2439<h3 id="claude-import-is-not-yet-available-in-this-build">2640<h3 id="claude-import-is-not-yet-available-in-this-build">

2440 claude import ist in diesem Build noch nicht verfügbar2641 claude import ist in diesem Build noch nicht verfügbar

2441</h3>2642</h3>

2442 2643 

2443Sie haben [`claude import`](/docs/de/cli-reference#cli-commands) ausgeführt, und Claude Code hat festgestellt, dass der Import-Flow ausgeschaltet ist, daher wird der Befehl mit Code 1 beendet, anstatt den Import zu starten. Vor v2.1.222 hat ein Build mit ausgeschaltetem Import-Flow `import` als Eingabeaufforderung behandelt und eine interaktive Sitzung gestartet, anstatt diese Meldung auszudrucken.2644Sie haben [`claude import`](/docs/de/cli-reference#cli-commands) ausgeführt, und Claude Code hat den Import-Flow ausgeschaltet gefunden, daher beendet der Befehl mit Code 1, anstatt den Import zu starten. Vor v2.1.222 hat ein Build mit ausgeschaltetem Import-Flow `import` als Eingabeaufforderung behandelt und eine interaktive Sitzung gestartet, anstatt diese Meldung zu drucken.

2444 2645 

2445```text theme={null}2646```text theme={null}

2446`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.2647`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

2447```2648```

2448 2649 

2449Claude Code schaltet `claude import` über eine Feature-Flag ein, die es von Anthropic abruft und auf der Festplatte zwischenspeichert. Diese Meldung bedeutet, dass der zwischengespeicherte Wert ausgeschaltet ist. Die Ursache ist normalerweise eine der folgenden:2650Claude Code schaltet `claude import` durch ein Feature-Flag ein, das es von Anthropic abruft und auf der Festplatte zwischenspeichert. Diese Meldung bedeutet, dass der zwischengespeicherte Wert ausgeschaltet ist. Die Ursache ist normalerweise eine der folgenden:

2450 2651 

2451* Sie haben seit der Installation keine Sitzung gestartet, daher hat Claude Code die Flag noch nicht abgerufen. Der erste `claude import` kann dies drucken, auch wenn die Funktion für Sie verfügbar ist.2652* Sie haben seit der Installation keine Sitzung gestartet, daher hat Claude Code das Flag noch nicht abgerufen. Der erste `claude import` kann dies drucken, auch wenn die Funktion für Sie verfügbar ist.

2452* Sie verwenden Claude Code über Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, Claude Platform auf AWS oder über ein [Claude-Apps-Gateway](/docs/de/claude-apps-gateway#availability-and-limitations). Claude Code ruft Feature-Flags in diesen Sitzungen nicht ab, daher bleibt `claude import` nicht verfügbar.2653* Sie verwenden Claude Code über Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder Claude Platform auf AWS, oder über ein [Claude-Apps-Gateway](/docs/de/claude-apps-gateway#availability-and-limitations). Claude Code ruft Feature-Flags in diesen Sitzungen nicht ab, daher bleibt `claude import` nicht verfügbar.

2453* Sie haben `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` oder [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) gesetzt, was das Abrufen von Feature-Flags ausschaltet, daher bleibt `claude import` nicht verfügbar.2654* Sie haben `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` oder [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) gesetzt, was das Abrufen von Feature-Flags deaktiviert, daher bleibt `claude import` nicht verfügbar.

2454 2655 

2455**Was zu tun ist:**2656**Was zu tun ist:**

2456 2657 

2457* Bei einer Neuinstallation starten Sie `claude`, warten Sie, bis die Sitzung geladen ist, beenden Sie sie, und führen Sie `claude import` erneut aus2658* Starten Sie bei einer Neuinstallation `claude`, warten Sie, bis die Sitzung geladen ist, beenden Sie sie, und führen Sie `claude import` erneut aus

2458* Wo das Abrufen von Feature-Flags ausgeschaltet bleibt, richten Sie die Konfiguration selbst ein: Fügen Sie MCP-Server mit [`claude mcp add`](/docs/de/mcp#installing-mcp-servers) hinzu, und erstellen Sie die [`CLAUDE.md`-Dateien](/docs/de/memory#how-claude-md-files-load), [Fähigkeiten und Befehle](/docs/de/skills#where-skills-live) und [Subagenten](/docs/de/sub-agents#choose-the-subagent-scope), die Sie übertragen möchten. Die Meldung benennt auch `~/.claude/settings.json`. Von der Konfiguration, die `claude import` überträgt, enthält diese Datei nur den [Berechtigungsmodus](/docs/de/settings-reference#permission-settings); Claude Code liest MCP-Server nicht daraus.2659* Wo das Abrufen von Feature-Flags ausgeschaltet bleibt, richten Sie die Konfiguration selbst ein: Fügen Sie MCP-Server mit [`claude mcp add`](/docs/de/mcp#installing-mcp-servers) hinzu, und erstellen Sie die [`CLAUDE.md`-Dateien](/docs/de/memory#how-claude-md-files-load), [Skills und Befehle](/docs/de/skills#where-skills-live) und [Subagenten](/docs/de/sub-agents#choose-the-subagent-scope), die Sie übertragen möchten. Die Meldung benennt auch `~/.claude/settings.json`. Von der Konfiguration, die `claude import` überträgt, enthält diese Datei nur den [Berechtigungsmodus](/docs/de/settings-reference#permission-settings); Claude Code liest MCP-Server nicht daraus.

2459 2660 

2460<h3 id="could-not-read-claude-code-config">2661<h3 id="could-not-read-claude-code-config">

2461 Claude Code-Konfiguration konnte nicht gelesen werden2662 Claude Code-Konfiguration konnte nicht gelesen werden

2462</h3>2663</h3>

2463 2664 

2464Sie haben [`claude import`](/docs/de/cli-reference#cli-commands) ausgeführt, während Claude Code `~/.claude.json` nicht analysieren konnte, die Datei, in der es Ihren Login und den projektspezifischen Status speichert. Der Unterbefehl liest diese Datei, um die Verfügbarkeit zu überprüfen, zeigt aber nicht den Wiederherstellungsdialog an, den die interaktive Sitzung zeigt, daher wird er mit Code 1 beendet. Vor v2.1.222 hat `claude import` mit einer nicht lesbaren Konfigurationsdatei eine interaktive Sitzung gestartet, deren Wiederherstellungsdialog die Datei behandelt hat.2665Sie haben [`claude import`](/docs/de/cli-reference#cli-commands) ausgeführt, während Claude Code `~/.claude.json` nicht analysieren konnte, die Datei, in der es Ihren Login und den projektspezifischen Status speichert. Der Unterbefehl liest diese Datei, um die Verfügbarkeit zu überprüfen, zeigt aber nicht den Wiederherstellungsdialog an, den die interaktive Sitzung zeigt, daher beendet er mit Code 1. Vor v2.1.222 hat `claude import` mit einer nicht lesbaren Konfigurationsdatei eine interaktive Sitzung gestartet, deren Wiederherstellungsdialog die Datei behandelt hat.

2465 2666 

2466```text theme={null}2667```text theme={null}

2467Could not read Claude Code config — run `claude` with no arguments to recover it.2668Could not read Claude Code config — run `claude` with no arguments to recover it.


2470**Was zu tun ist:**2671**Was zu tun ist:**

2471 2672 

2472* Führen Sie `claude` ohne Argumente aus. Claude Code erkennt die ungültige Datei und bietet an, sie zurückzusetzen. Führen Sie dann `claude import` erneut aus.2673* Führen Sie `claude` ohne Argumente aus. Claude Code erkennt die ungültige Datei und bietet an, sie zurückzusetzen. Führen Sie dann `claude import` erneut aus.

2473* Um manuelle Änderungen zu behalten, die Sie vorgenommen haben, beheben Sie die JSON-Syntax in `~/.claude.json` in einem Editor, und führen Sie dann `claude import` erneut aus2674* Um manuelle Änderungen zu behalten, die Sie vorgenommen haben, beheben Sie die JSON-Syntax in `~/.claude.json` in einem Editor und führen Sie dann `claude import` erneut aus

2474 2675 

2475<h3 id="could-not-import-a-server-from-claude-desktop">2676<h3 id="could-not-import-a-server-from-claude-desktop">

2476 Ein Server konnte nicht aus Claude Desktop importiert werden2677 Server konnte nicht aus Claude Desktop importiert werden

2477</h3>2678</h3>

2478 2679 

2479Claude Code konnte einen der Server, die Sie in `claude mcp add-from-claude-desktop` ausgewählt haben, nicht hinzufügen. Der Befehl importiert immer noch die anderen ausgewählten Server und druckt eine Zeile pro Server, den er nicht hinzufügen konnte. Vor v2.1.205 hat der erste Server, der fehlgeschlagen ist, den Import gestoppt und keiner der ausgewählten Server wurde hinzugefügt.2680Claude Code konnte einen der Server, die Sie in `claude mcp add-from-claude-desktop` ausgewählt haben, nicht hinzufügen. Der Befehl importiert immer noch die anderen ausgewählten Server und druckt eine Zeile pro Server, den er nicht hinzufügen konnte. Vor v2.1.205 hat der erste Server, der fehlgeschlagen ist, den Import gestoppt und keiner der ausgewählten Server wurde hinzugefügt.


2508 .mcp.json kann nicht gelesen werden2709 .mcp.json kann nicht gelesen werden

2509</h3>2710</h3>

2510 2711 

2511Ein Befehl, der die Projekt-[`.mcp.json`](/docs/de/mcp#project-scope) liest, wie `claude mcp add` oder `claude mcp add-json` mit `--scope project`, oder `claude mcp remove`, hat festgestellt, dass die Datei in Ihrem aktuellen Verzeichnis keine reguläre Datei ist oder größer als 2 MiB ist, daher wird er mit diesem Fehler beendet, anstatt die Datei zu lesen.2712Ein Befehl, der das Projekt [`.mcp.json`](/docs/de/mcp#project-scope) liest, wie `claude mcp add` oder `claude mcp add-json` mit `--scope project` oder `claude mcp remove`, hat festgestellt, dass die Datei in Ihrem aktuellen Verzeichnis keine reguläre Datei ist oder größer als 2 MiB ist, daher beendet er mit diesem Fehler, anstatt die Datei zu lesen.

2512 2713 

2513```text theme={null}2714```text theme={null}

2514Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.2715Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.

2515```2716```

2516 2717 

2517Vor v2.1.257 ließ eine FIFO bei `.mcp.json` den Befehl für immer ohne Ausgabe warten, und ein Symlink zu einer Gerätedatei wie `/dev/zero` vergrößerte den Speicher, bis der Prozess beendet wurde.2718Vor v2.1.257 ließ ein FIFO bei `.mcp.json` den Befehl für immer ohne Ausgabe warten, und ein Symlink zu einer Gerätedatei wie `/dev/zero` vergrößerte den Speicher, bis der Prozess beendet wurde.

2518 2719 

2519**Was zu tun ist:**2720**Was zu tun ist:**

2520 2721 

2521* Überprüfen Sie, was bei `.mcp.json` in Ihrem aktuellen Verzeichnis sitzt. Ersetzen Sie es durch eine gewöhnliche JSON-Datei im [Projekt-Scope-Format](/docs/de/mcp#project-scope), oder löschen Sie es, und führen Sie dann den Befehl erneut aus.2722* Überprüfen Sie, was sich bei `.mcp.json` in Ihrem aktuellen Verzeichnis befindet. Ersetzen Sie es durch eine gewöhnliche JSON-Datei im [Projektbereich-Format](/docs/de/mcp#project-scope) oder löschen Sie es, und führen Sie dann den Befehl erneut aus.

2522 2723 

2523<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">2724<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

2524 Server ist von Anthropic gehostet und unterstützt lokales OAuth nicht2725 Server ist von Anthropic gehostet und unterstützt lokales OAuth nicht


2530"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.2731"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.

2531```2732```

2532 2733 

2533Claude Code stimmt diese Hosts nach URL ab, daher erscheint die Meldung, wenn ein Server, den Sie mit `claude mcp add` oder in `.mcp.json` hinzugefügt haben, auf einen von ihnen zeigt.2734Claude Code gleicht diese Hosts nach URL ab, daher erscheint die Meldung, wenn ein Server, den Sie mit `claude mcp add` oder in `.mcp.json` hinzugefügt haben, auf einen von ihnen zeigt.

2534 2735 

2535**Was zu tun ist:**2736**Was zu tun ist:**

2536 2737 


2547Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.2748Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.

2548```2749```

2549 2750 

2550Claude Code führt den Helper bei jedem Verbindungsversuch erneut aus, daher kann ein Wiederholungsversuch nach einer vorübergehenden Ablehnung, wie z. B. einem Token-Rotations-Rennen, mit einer frischen Anmeldeinformation erfolgreich sein.2751Claude Code führt den Helper bei jedem Verbindungsversuch erneut aus, daher kann ein erneuter Versuch nach einer vorübergehenden Ablehnung, wie einer Token-Rotations-Rasse, mit einer frischen Anmeldeinformation erfolgreich sein.

2551 2752 

2552**Was zu tun ist:**2753**Was zu tun ist:**

2553 2754 

2554* Führen Sie den `headersHelper`-Befehl selbst so aus, wie Claude Code ihn ausführt: aus dem [Verzeichnis, in dem Claude Code ihn ausführt](/docs/de/mcp#where-the-helper-runs), mit den [Umgebungsvariablen, die Claude Code für ihn setzt](/docs/de/mcp#use-dynamic-headers-for-custom-authentication), und ohne die [Anmeldeinformationsvariablen, die Claude Code entfernt](/docs/de/mcp#which-variables-a-helper-can-read) für einen Server aus einer Projekt-`.mcp.json`, einem Plugin oder einer Projekt-Agent-Datei. Überprüfen Sie, dass er einen `Authorization`-Wert druckt, den der Endpunkt des Servers akzeptiert2755* Führen Sie den `headersHelper`-Befehl selbst so aus, wie Claude Code ihn ausführt: aus dem [Verzeichnis, in dem Claude Code ihn ausführt](/docs/de/mcp#where-the-helper-runs), mit den [Umgebungsvariablen, die Claude Code für ihn setzt](/docs/de/mcp#use-dynamic-headers-for-custom-authentication), und ohne die [Anmeldeinformationsvariablen, die Claude Code entfernt](/docs/de/mcp#which-variables-a-helper-can-read) für einen Server aus einer Projekt `.mcp.json`, einem Plugin oder einer Projekt-Agent-Datei. Überprüfen Sie, dass er einen `Authorization`-Wert druckt, den der Endpunkt des Servers akzeptiert

2555* Nachdem Sie den Helper oder seine Anmeldeinformationsquelle behoben haben, wählen Sie den Server in `/mcp` aus und wählen Sie **Reconnect**2756* Nachdem Sie den Helper oder seine Anmeldeinformationsquelle behoben haben, wählen Sie den Server in `/mcp` aus und wählen Sie **Reconnect**

2556 2757 

2557Vor v2.1.248 führte Claude Code die OAuth-Erkennung für einen Server aus, dessen Helper den `Authorization`-Header bereitstellte. Diese Erkennung konnte mit `Incompatible auth server: does not support dynamic client registration` fehlschlagen, anstatt die abgelehnte Anmeldeinformation zu melden.2758Vor v2.1.248 führte Claude Code OAuth-Erkennung für einen Server durch, dessen Helper den `Authorization`-Header bereitstellte. Diese Erkennung konnte mit `Incompatible auth server: does not support dynamic client registration` fehlschlagen, anstatt die abgelehnte Anmeldeinformation zu melden.

2558 2759 

2559<h3 id="mcp-permission-prompt-tool-not-found">2760<h3 id="mcp-permission-prompt-tool-not-found">

2560 MCP-Berechtigungsprompt-Tool nicht gefunden2761 MCP-Berechtigungsaufforderungs-Tool nicht gefunden

2561</h3>2762</h3>

2562 2763 

2563Das Tool, das Sie an [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) übergeben haben, war nicht unter den verbundenen MCP-Tools, als der Lauf zuerst eine Berechtigungsentscheidung benötigte, entweder weil sein Server nie verbunden wurde oder weil kein verbundener Server ein Tool mit diesem Namen bereitstellt. Claude Code sendet Ihre Eingabeaufforderung trotzdem: Der [nicht interaktive](/docs/de/headless) Lauf wird mit diesem Fehler und Exit-Code 1 beim ersten Tool-Aufruf beendet, der Genehmigung benötigt, daher wird keine Antwort erzeugt, obwohl die Anfrage gestellt wurde. Vor dem ersten Prompt wartet Claude Code bis zu dem pro-Server-Verbindungs-Timeout von 30 Sekunden, der von [`MCP_TIMEOUT`](/docs/de/env-vars) gesetzt wird, damit dieser Server verbunden wird. Vor v2.1.206 wartete der Start nicht, bis der Server die Verbindung beendete, daher erzeugte ein langsam startender, aber gesunder Server auch diesen Fehler.2764Das Tool, das Sie an [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) übergeben haben, war nicht unter den verbundenen MCP-Tools, als der Lauf zuerst eine Berechtigungsentscheidung benötigte, entweder weil sein Server nie verbunden wurde oder weil kein verbundener Server ein Tool mit diesem Namen verfügbar macht. Claude Code sendet Ihre Eingabeaufforderung immer noch: Der [nicht interaktive](/docs/de/headless) Lauf beendet sich mit diesem Fehler und Exit-Code 1 beim ersten Tool-Aufruf, der Genehmigung benötigt, daher erzeugt er keine Antwort, obwohl die Anfrage gestellt wurde. Vor dem ersten Prompt wartet Claude Code bis zu dem pro-Server-Verbindungs-Timeout von 30 Sekunden, der durch [`MCP_TIMEOUT`](/docs/de/env-vars) gesetzt ist, damit dieser Server verbunden wird. Vor v2.1.206 wartete der Start nicht, bis der Server die Verbindung beendete, daher erzeugte ein langsam startender, aber gesunder Server auch diesen Fehler.

2564 2765 

2565```text theme={null}2766```text theme={null}

2566Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none2767Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none


2571**Was zu tun ist:**2772**Was zu tun ist:**

2572 2773 

2573* Überprüfen Sie, dass der Server startet und verbunden bleibt: Führen Sie `claude mcp list` im selben Verzeichnis aus und bestätigen Sie, dass der Server als verbunden aufgelistet ist2774* Überprüfen Sie, dass der Server startet und verbunden bleibt: Führen Sie `claude mcp list` im selben Verzeichnis aus und bestätigen Sie, dass der Server als verbunden aufgelistet ist

2574* Bestätigen Sie, dass der Tool-Name dem `mcp__<server>__<tool>`-Namen entspricht, den der Server bereitstellt2775* Bestätigen Sie, dass der Tool-Name dem `mcp__<server>__<tool>`-Namen entspricht, den der Server verfügbar macht

2575* Wenn der Server länger als 30 Sekunden zum Starten benötigt, erhöhen Sie [`MCP_TIMEOUT`](/docs/de/env-vars)2776* Wenn der Server länger als 30 Sekunden zum Starten benötigt, erhöhen Sie [`MCP_TIMEOUT`](/docs/de/env-vars)

2576 2777 

2577<h3 id="oauth-callback-port-is-already-in-use">2778<h3 id="oauth-callback-port-is-already-in-use">

2578 OAuth-Callback-Port wird bereits verwendet2779 OAuth-Callback-Port wird bereits verwendet

2579</h3>2780</h3>

2580 2781 

2581Wenn Sie sich bei einem Remote-MCP-Server mit OAuth anmelden, startet Claude Code einen lokalen Listener, um den Anmelde-Callback zu empfangen. Wenn der Port, den dieser Listener benötigt, von einem anderen Prozess gehalten wird, schlägt die Anmeldung mit dieser Meldung fehl. Dies geschieht hauptsächlich mit einem [festen Callback-Port](/docs/de/mcp#use-a-fixed-oauth-callback-port), der über die Variable [`MCP_OAUTH_CALLBACK_PORT`](/docs/de/env-vars) oder `--callback-port` gesetzt wird, da Claude Code ohne einen verfügbaren Port auswählt.2782Wenn Sie sich bei einem Remote-MCP-Server mit OAuth anmelden, startet Claude Code einen lokalen Listener, um den Anmelde-Callback zu empfangen. Wenn der Port, den dieser Listener benötigt, von einem anderen Prozess gehalten wird, schlägt die Anmeldung mit dieser Meldung fehl. Dies geschieht hauptsächlich mit einem [festen Callback-Port](/docs/de/mcp#use-a-fixed-oauth-callback-port), der durch die Variable [`MCP_OAUTH_CALLBACK_PORT`](/docs/de/env-vars) oder `--callback-port` gesetzt ist, da Claude Code ohne einen verfügbaren Port auswählt.

2582 2783 

2583```text theme={null}2784```text theme={null}

2584OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.2785OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.


2588 2789 

2589**Was zu tun ist:**2790**Was zu tun ist:**

2590 2791 

2591* Führen Sie den Befehl aus der Meldung aus, um den Prozess zu finden, der den Port hält, und stoppen Sie ihn oder warten Sie, bis er beendet ist2792* Führen Sie den Befehl aus der Meldung aus, um den Prozess zu finden, der den Port hält, und stoppen Sie ihn oder warten Sie, bis er fertig ist

2592* Wenn ein anderes Programm diesen Port dauerhaft benötigt, registrieren Sie einen anderen Redirect-URI beim Server und setzen Sie seinen Port mit `MCP_OAUTH_CALLBACK_PORT` oder `--callback-port`, je nachdem, was Sie verwenden2793* Wenn ein anderes Programm diesen Port dauerhaft benötigt, registrieren Sie einen anderen Redirect-URI beim Server und setzen Sie seinen Port mit `MCP_OAUTH_CALLBACK_PORT` oder `--callback-port`, je nachdem, was Sie verwenden

2593* Starten Sie dann die Anmeldung erneut, zum Beispiel indem Sie den Server in `/mcp` auswählen2794* Starten Sie dann die Anmeldung erneut, z. B. indem Sie den Server in `/mcp` auswählen

2795 

2796<h3 id="no-available-ports-for-oauth-redirect">

2797 Keine verfügbaren Ports für OAuth-Umleitung

2798</h3>

2799 

2800Wenn Sie sich bei einem Remote-MCP-Server mit [OAuth](/docs/de/mcp#authenticate-with-remote-mcp-servers) anmelden, startet Claude Code einen lokalen Listener, um den Anmelde-Callback zu empfangen. Die Anmeldung schlägt mit dieser Meldung fehl, wenn Claude Code keinen lokalen Port dafür binden kann. Etwas auf der Maschine verhindert, dass es auf `127.0.0.1` lauscht, z. B. Sicherheitssoftware oder eine Sandbox-Richtlinie, die lokale Listener verweigert.

2801 

2802```text theme={null}

2803No available ports for OAuth redirect

2804```

2805 

2806Vor v2.1.268 fiel Claude Code nicht auf einen vom Betriebssystem zugewiesenen Port zurück, daher erschien die Meldung auch, wenn nur die selbst ausgewählten Ports nicht gebunden werden konnten. Dies kann auf Windows-Hosts geschehen, wo Hyper-V Port-Bereiche reserviert, die die Ports abdecken, die Claude Code auswählt.

2807 

2808**Was zu tun ist:**

2809 

2810* Überprüfen Sie, ob Sicherheitssoftware oder eine Sandbox-Richtlinie Prozesse daran hindert, auf `127.0.0.1` zu lauschen, und erlauben Sie Claude Code, einen lokalen Port zu binden

2811* Starten Sie dann die Anmeldung erneut, z. B. indem Sie den Server in `/mcp` auswählen

2594 2812 

2595<h3 id="security-review-fails-without-origin-head">2813<h3 id="security-review-fails-without-origin-head">

2596 /security-review schlägt ohne origin/HEAD fehl2814 /security-review schlägt ohne origin/HEAD fehl

2597</h3>2815</h3>

2598 2816 

2599[`/security-review`](/docs/de/commands#all-commands) erstellt seinen Review-Kontext, indem es Ihren Branch gegen `origin/HEAD` vergleicht, die lokale Ref, die aufzeichnet, welcher Branch der Standard auf Ihrem `origin`-Remote ist. Wenn diese Ref nicht existiert, schlagen die git-Befehle, die den Diff sammeln, fehl und die Review stoppt, bevor sie beginnt.2817[`/security-review`](/docs/de/commands#all-commands) erstellt seinen Review-Kontext, indem es Ihren Branch gegen `origin/HEAD` vergleicht, die lokale Ref, die aufzeichnet, welcher Branch der Standard auf Ihrem `origin`-Remote ist. Wenn diese Ref nicht existiert, schlagen die Git-Befehle, die den Diff sammeln, fehl und die Review stoppt, bevor sie beginnt.

2600 2818 

2601```text theme={null}2819```text theme={null}

2602Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]2820Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


2605'git <command> [<revision>...] -- [<file>...]'2823'git <command> [<revision>...] -- [<file>...]'

2606```2824```

2607 2825 

2608Der zitierte Befehl variiert zwischen Läufen: Die Review startet mehrere `git`-Befehle gegen `origin/HEAD` gleichzeitig und meldet, welcher zuerst fehlschlägt, daher können Sie `git log` oder einen anderen `git diff` an seiner Stelle sehen. Git erstellt die Ref nur, wenn der Standard-Branch des Remote sowohl vom Remote beworben wird als auch von Ihrem Fetch-Refspec abgedeckt wird. Ein vollständiger `git clone` eines Remote mit Commits erfüllt beide Bedingungen. Single-Branch- und CI-Checkouts rufen zu enge Refspecs ab, ein Server-seitiges HEAD, das auf einen Branch zeigt, den niemand gepusht hat, bewirbt keinen Standard, und ein Repository ohne `origin`-Remote oder eines, das Sie nie abgerufen haben, bietet keines.2826Die Meldung kann stattdessen `git log` oder einen anderen `git diff` zitieren. Git erstellt `origin/HEAD` nur, wenn der Remote einen Standard-Branch bewirbt und Ihr Fetch-Refspec ihn abdeckt, was ein vollständiger `git clone` eines Remote mit Commits tut. Die Ref fehlt in diesen Setups:

2827 

2828* Ein Single-Branch- oder CI-Checkout, der einen zu engen Refspec abruft

2829* Ein Remote, dessen serverseitige HEAD auf einen Branch zeigt, den niemand gepusht hat

2830* Ein Repository ohne `origin`-Remote oder eines, das Sie nie abgerufen haben

2609 2831 

2610Claude Code zeigt denselben Fehler für jede Fähigkeit, die [dynamischen Kontext injiziert](/docs/de/skills#when-an-injected-command-fails). Ein fehlgeschlagener injizierter Befehl bricht die Invokation dieser Fähigkeit ab. Zwei Geschwister-Strings werden vor dem Befehl überhaupt ausgeführt:2832Claude Code zeigt denselben Fehler für jeden Skill, der [dynamischen Kontext injiziert](/docs/de/skills#when-an-injected-command-fails), und ein fehlgeschlagener injizierter Befehl bricht die Invokation dieses Skills ab. Zwei Geschwister-Strings werden vor dem Befehl ausgelöst:

2611 2833 

2612* `Shell command permission check failed for pattern "..."`: Die Berechtigungsprüfung des Befehls hat etwas anderes als Zulassung zurückgegeben. Injizierte Befehle fragen nie, daher wird die Invokation ohne Frage abgebrochen. Genehmigen Sie Befehle im Voraus, die keine Regel mit [`allowed-tools`](/docs/de/skills#pre-approve-tools-for-a-skill) erfüllt. Eine übereinstimmende Ask- oder Deny-Regel bricht die Invokation trotzdem ab, unabhängig von `allowed-tools`2834* `Shell command permission check failed for pattern "..."`: Die Berechtigungsprüfung des Befehls hat ihn nicht erlaubt. [Berechtigungsprüfungen auf injizierten Befehlen](/docs/de/skills#permission-checks-on-injected-commands) behandelt, welche Ergebnisse in jedem Berechtigungsmodus abbrechen und wie Sie einen Befehl mit `allowed-tools` vorab genehmigen

2613* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: Die Frontmatter der Fähigkeit verlangt bash auf einer Maschine ohne sie. Installieren Sie Git für Windows oder ändern Sie die Frontmatter zu `shell: powershell`. Siehe [Wie injizierte Befehle ausgeführt werden](/docs/de/skills#how-injected-commands-run)2835* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: Die Frontmatter des Skills verlangt Bash auf einer Maschine ohne ihn. Installieren Sie Git für Windows oder ändern Sie die Frontmatter zu `shell: powershell`. Siehe [Wie injizierte Befehle ausgeführt werden](/docs/de/skills#how-injected-commands-run)

2614 2836 

2615**Was zu tun ist:**2837**Was zu tun ist:**

2616 2838 

2617* Erstellen Sie die Ref, indem Sie den Standard-Branch Ihres Remote benennen: `git remote set-head origin <default-branch>`. Dies funktioniert, wenn die lokale Tracking-Ref `origin/<default-branch>` existiert. Wenn nicht, wie bei Single-Branch-Clones, rufen Sie den Branch zuerst ab: Führen Sie `git remote set-branches --add origin <branch>` aus, dann `git fetch origin`, dann führen Sie den set-head-Befehl erneut aus. Führen Sie `/security-review` erneut aus.2839* Erstellen Sie die Ref, indem Sie den Standard-Branch Ihres Remote benennen: `git remote set-head origin <default-branch>`. Dies funktioniert, wenn die lokale Tracking-Ref `origin/<default-branch>` existiert. Wenn nicht, wie in Single-Branch-Klonen, rufen Sie den Branch zuerst ab: Führen Sie `git remote set-branches --add origin <branch>` aus, dann `git fetch origin`, dann führen Sie den set-head-Befehl erneut aus. Führen Sie `/security-review` erneut aus.

2618* Wenn Sie den Branch nicht benennen möchten, führen Sie `git fetch origin` aus und dann `git remote set-head origin --auto`, was den Remote fragt, welcher Branch sein Standard ist. Es schlägt mit `error: Cannot determine remote HEAD` fehl, wenn der Remote keinen Standard-Branch bewirbt, weil er leer ist oder sein HEAD auf einen Branch zeigt, den niemand gepusht hat; benennen Sie den Branch stattdessen explizit. Es schlägt mit `error: Not a valid ref` fehl, wenn Ihr Clone diesen Branch nicht abruft; erweitern Sie den Refspec zuerst wie oben.2840* Wenn Sie den Branch nicht benennen möchten, führen Sie `git fetch origin` aus und dann `git remote set-head origin --auto`, das den Remote fragt, welcher Branch sein Standard ist. Es schlägt mit `error: Cannot determine remote HEAD` fehl, wenn der Remote keinen Standard-Branch bewirbt, weil er leer ist oder seine HEAD auf einen Branch zeigt, den niemand gepusht hat; benennen Sie den Branch stattdessen explizit. Es schlägt mit `error: Not a valid ref` fehl, wenn Ihr Klon diesen Branch nicht abruft; erweitern Sie den Refspec zuerst wie oben.

2619* Wenn das Repository keinen Remote hat, fügen Sie einen mit `git remote add origin <url>` hinzu und rufen Sie ab, bevor Sie die Ref erstellen. Wenn der Remote leer ist, pushen Sie Ihren Branch zuerst mit `git push -u origin HEAD` und benennen Sie diesen Branch im set-head-Befehl; `origin/HEAD` zeigt dann auf den Branch, den Sie gerade gepusht haben, daher sieht `/security-review` einen leeren Diff, bis der Branch davon abweicht.2841* Wenn das Repository keinen Remote hat, fügen Sie einen mit `git remote add origin <url>` hinzu und rufen Sie ab, bevor Sie die Ref erstellen. Wenn der Remote leer ist, pushen Sie Ihren Branch zuerst mit `git push -u origin HEAD` und benennen Sie diesen Branch im set-head-Befehl; `origin/HEAD` zeigt dann auf den Branch, den Sie gerade gepusht haben, daher sieht `/security-review` einen leeren Diff, bis der Branch von ihm abweicht.

2620 2842 

2621<h3 id="input-must-be-provided-when-using-print">2843<h3 id="input-must-be-provided-when-using-print">

2622 Eingabe muss bereitgestellt werden, wenn --print verwendet wird2844 Eingabe muss bereitgestellt werden, wenn --print verwendet wird

2623</h3>2845</h3>

2624 2846 

2625Bare `claude` benötigt stdout, um ein Terminal zu sein, um die interaktive Benutzeroberfläche zu starten. Wenn stdout umgeleitet wird oder die Konsole kein echtes Terminal ist, wie PowerShell ISE und einige IDE-Ausgabebereiche, führt `claude` stattdessen [nicht interaktiv](/docs/de/headless) aus. Das ist derselbe Modus wie `claude -p`, der eine Eingabeaufforderung erfordert, daher benennt die Meldung `--print`, auch wenn Sie die Flag nicht übergeben haben. Das Übergeben von `-p`/`--print` ohne Eingabeaufforderung und nichts auf stdin erzeugt überall denselben Fehler.2847Bare `claude` benötigt stdout, um ein Terminal zu sein, um die interaktive UI zu starten. Wenn stdout umgeleitet wird oder die Konsole kein echtes Terminal ist, wie PowerShell ISE und einige IDE-Ausgabebereiche, führt `claude` stattdessen [nicht interaktiv](/docs/de/headless) aus. Das ist derselbe Modus wie `claude -p`, der eine Eingabeaufforderung erfordert, daher benennt die Meldung `--print`, auch wenn Sie das Flag nicht übergeben haben. Das Übergeben von `-p`/`--print` ohne Eingabeaufforderung und nichts auf stdin erzeugt überall denselben Fehler.

2626 2848 

2627```text theme={null}2849```text theme={null}

2628Error: Input must be provided either through stdin or as a prompt argument when using --print2850Error: Input must be provided either through stdin or as a prompt argument when using --print


2637 Eingabe enthielt nur Leerzeichen2859 Eingabe enthielt nur Leerzeichen

2638</h3>2860</h3>

2639 2861 

2640Im [nicht interaktiven Modus](/docs/de/headless) weigert sich Claude Code, eine Eingabeaufforderung, die nur aus Leerzeichen, Tabulatoren oder Zeilenumbrüchen besteht, zu senden, da die API Nachrichten ohne sichtbaren Text ablehnt. Welche Meldung Sie sehen, hängt davon ab, woher die leere Eingabeaufforderung kam:2862Im [nicht interaktiven Modus](/docs/de/headless) weigert sich Claude Code, eine Eingabeaufforderung zu akzeptieren, die nur aus Leerzeichen, Tabulatoren oder Zeilenumbrüchen besteht, anstatt sie zu senden, da die API Nachrichten ohne sichtbaren Text ablehnt. Welche Meldung Sie sehen, hängt davon ab, woher die leere Eingabeaufforderung kam:

2641 2863 

2642* **Eingabeaufforderungsargument oder gepipte stdin für `claude -p`**: `claude` wird mit `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` beendet2864* **Eingabeaufforderungs-Argument oder gepipte stdin für `claude -p`**: `claude` beendet sich mit `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`

2643* **Nachricht, die an eine laufende `--input-format stream-json` oder [Agent SDK](/docs/de/agent-sdk/overview)-Sitzung eingereicht wird**: Claude Code beendet den Zug, ohne das Modell aufzurufen, und die Sitzung bleibt verwendbar. Die Ablehnung kommt als Informationsmeldung und als Ergebnis-Text des Zugs an: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`2865* **Nachricht eingereicht an eine laufende `--input-format stream-json` oder [Agent SDK](/docs/de/agent-sdk/overview)-Sitzung**: Claude Code beendet die Runde ohne Aufruf des Modells und die Sitzung bleibt nutzbar. Die Ablehnung kommt als informative Meldung und als Ergebnis-Text der Runde: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`

2644 2866 

2645Vor v2.1.229 hat Claude Code die Leerzeichen-only-Nachricht an die API gesendet, die die Anfrage mit einem 400-Fehler abgelehnt hat.2867Vor v2.1.229 hat Claude Code die Whitespace-only-Nachricht an die API gesendet, die die Anfrage mit einem 400-Fehler abgelehnt hat.

2646 2868 

2647**Was zu tun ist:**2869**Was zu tun ist:**

2648 2870 


2652 stream-json-Eingabe trug über 256M Zeichen ohne Zeilenumbruch2874 stream-json-Eingabe trug über 256M Zeichen ohne Zeilenumbruch

2653</h3>2875</h3>

2654 2876 

2655Ihr Programm hat mehr als 268.435.456 Zeichen auf stdin ohne Zeilenumbruch an einen `claude -p --input-format stream-json`-Lauf gesendet, daher druckt Claude Code diesen Fehler auf stderr und wird mit Code 1 beendet, anstatt mehr Eingabe zu puffern. Die Meldung gibt dieses Budget als `256M` an. Vor v2.1.257 hat Claude Code solche Eingaben ohne Limit gepuffert, was den Speicher vergrößert hat, bis der Prozess abgestürzt ist oder beendet wurde.2877Ihr Programm hat mehr als 268.435.456 Zeichen auf stdin ohne Zeilenumbruch an einen `claude -p --input-format stream-json`-Lauf gesendet, daher druckt Claude Code diesen Fehler auf stderr und beendet sich mit Code 1, anstatt mehr Eingabe zu puffern. Die Meldung gibt dieses Budget als `256M` an. Vor v2.1.257 hat Claude Code solche Eingaben ohne Limit gepuffert, was den Speicher vergrößert hat, bis der Prozess abstürzte oder beendet wurde.

2656 2878 

2657```text theme={null}2879```text theme={null}

2658Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.2880Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.


2662 2884 

2663**Was zu tun ist:**2885**Was zu tun ist:**

2664 2886 

2665* Überprüfen Sie, was auf stdin gepipet wird. Mit [`--input-format stream-json`](/docs/de/cli-reference#cli-flags) muss jede Nachricht eine newline-terminierte JSON-Zeile sein2887* Überprüfen Sie, was auf stdin gepipet wird. Mit [`--input-format stream-json`](/docs/de/cli-reference#cli-flags) muss jede Nachricht eine Zeilenumbruch-terminierte JSON-Zeile sein

2666* Um stattdessen einfachen Text zu senden, lassen Sie `--input-format stream-json` weg; `claude -p` liest standardmäßig eine einfache Text-Eingabeaufforderung von stdin2888* Um stattdessen einfachen Text zu senden, lassen Sie `--input-format stream-json` weg; `claude -p` liest standardmäßig eine einfache Text-Eingabeaufforderung von stdin

2667 2889 

2668<h3 id="unknown-command">2890<h3 id="unknown-command">

2669 Unbekannter Befehl2891 Unbekannter Befehl

2670</h3>2892</h3>

2671 2893 

2672Sie haben einen `/`-Namen eingereicht, der keinem Befehl in dieser Sitzung entspricht, daher meldet Claude Code den Namen, anstatt etwas auszuführen:2894In einer interaktiven Terminal-Sitzung haben Sie einen `/`-Namen eingereicht, der keinem Befehl in dieser Sitzung entspricht, daher meldet Claude Code den Namen, anstatt etwas auszuführen:

2673 2895 

2674```text theme={null}2896```text theme={null}

2675Unknown command: /hepl. Did you mean /help?2897Unknown command: /hepl. Did you mean /help?


2678Claude Code schlägt den nächsten Befehlsnamen oder Alias vor, den das Menü in dieser Sitzung auflistet. Wenn nichts nah ist, endet die Meldung nach dem Namen. Die Ursache ist normalerweise eine der folgenden:2900Claude Code schlägt den nächsten Befehlsnamen oder Alias vor, den das Menü in dieser Sitzung auflistet. Wenn nichts nah ist, endet die Meldung nach dem Namen. Die Ursache ist normalerweise eine der folgenden:

2679 2901 

2680* Ein Tippfehler, wie `/hepl` für `/help`. [Wie das Befehlsmenü das, was Sie eingeben, abgleicht](/docs/de/commands#how-the-command-menu-matches-what-you-type) behandelt das Auswählen einer nahen Übereinstimmung, bevor Sie einreichen2902* Ein Tippfehler, wie `/hepl` für `/help`. [Wie das Befehlsmenü das, was Sie eingeben, abgleicht](/docs/de/commands#how-the-command-menu-matches-what-you-type) behandelt das Auswählen einer nahen Übereinstimmung, bevor Sie einreichen

2681* Ein Befehl, der existiert, aber in dieser Sitzung nicht verfügbar ist, weil eine Anforderung nicht erfüllt ist, wie Ihre Plattform, Ihr Plan oder Ihre Authentifizierungsmethode. Die Troubleshooting-Einträge für [`/web-setup`](/docs/de/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) und [`/schedule`](/docs/de/routines#schedule-returns-unknown-command) gehen durch zwei häufige Fälle. Einige Befehle antworten mit ihrer eigenen Meldung, wenn die Richtlinie Ihrer Organisation sie deaktiviert2903* Ein Befehl, der existiert, aber in dieser Sitzung nicht verfügbar ist, weil eine Anforderung nicht erfüllt ist, wie Ihre Plattform, Ihr Plan oder Ihre Authentifizierungsmethode. Die Troubleshooting-Einträge für [`/web-setup`](/docs/de/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) und [`/schedule`](/docs/de/routines#schedule-returns-unknown-command) gehen durch zwei häufige Fälle. Einige Befehle antworten mit ihrer eigenen Meldung, wenn die Richtlinie Ihrer Organisation sie deaktiviert, wie [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

2682* Ein Befehl aus einem [Plugin](/docs/de/plugins) oder [MCP-Server](/docs/de/mcp#use-mcp-prompts-as-commands), der in dieser Sitzung nicht installiert oder verbunden ist2904* Ein Befehl aus einem [Plugin](/docs/de/plugins) oder [MCP-Server](/docs/de/mcp#use-mcp-prompts-as-commands), der in dieser Sitzung nicht installiert oder verbunden ist

2683 2905 

2684Claude Code behandelt nicht jeden Prompt, der mit `/` beginnt, als Befehl. Es sendet die Eingabeaufforderung als normale Nachricht an Claude, wenn das erste Wort nach dem `/` mit Interpunktion beginnt, wie das `/--`, das einen Lean-Doc-Kommentar öffnet, oder ein Pfad wie `/var/log/syslog` ist.2906Claude Code antwortet auf einen nicht übereinstimmenden `/`-Namen auf diese Weise nur in einer interaktiven Terminal-Sitzung. In jeder anderen Sitzung sendet es die Eingabeaufforderung als normale Nachricht an Claude, mit einer Notiz, dass der Befehl nicht ausgeführt wurde, und einer Liste von Befehlen, die Claude in der Sitzung ausführen kann. Diese Sitzungen umfassen:

2907 

2908* `-p`-Läufe

2909* [Agent SDK](/docs/de/agent-sdk/overview)-Anwendungen

2910* Die Code-Registerkarte der [Desktop-App](/docs/de/desktop)

2911* Das Chat-Panel der [VS Code-Erweiterung](/docs/de/vs-code)

2912* [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) und [Routinen](/docs/de/routines)

2913 

2914Für einen integrierten Befehl, der in einer dieser Sitzungen nicht ausgeführt werden kann, antwortet Claude Code immer noch, dass der Befehl nicht verfügbar ist, anstatt ihn an Claude zu senden. Vor v2.1.274 sendeten nur Cloud-Sitzungen und Routinen einen nicht übereinstimmenden Namen an Claude. Vor v2.1.273 antworteten sie auch mit `Unknown command`.

2915 

2916Claude Code behandelt nicht jeden Prompt, der mit `/` beginnt, als Befehl. Es sendet die Eingabeaufforderung als normale Nachricht an Claude, wenn das erste Wort nach dem `/` mit Interpunktion beginnt, wie das `/--`, das einen Lean-Doc-Kommentar öffnet, oder ein Pfad wie `/var/log/syslog`.

2685 2917 

2686Vor v2.1.236 hat Claude Code, wenn Sie `Enter` gedrückt haben, während das Befehlsmenü eine nahe Übereinstimmung für den Namen auflistete, den Sie eingegeben haben, diese Übereinstimmung ausgeführt, daher hat ein Tippfehler wie `/hepl` `/help` ausgeführt, anstatt diese Meldung zu erzeugen.2918Vor v2.1.236 führte Claude Code, wenn Sie die Eingabetaste drückten, während das Befehlsmenü eine nahe Übereinstimmung für den Namen auflistete, den Sie eingegeben haben, diese Übereinstimmung aus, daher führte ein Tippfehler wie `/hepl` `/help` aus, anstatt diese Meldung zu erzeugen.

2687 2919 

2688**Was zu tun ist:**2920**Was zu tun ist:**

2689 2921 


2691* Wenn Claude Code einen dokumentierten Befehl als unbekannt meldet, überprüfen Sie seine Zeile in der [Befehlsreferenz](/docs/de/commands) auf die Anforderung, die er benennt2923* Wenn Claude Code einen dokumentierten Befehl als unbekannt meldet, überprüfen Sie seine Zeile in der [Befehlsreferenz](/docs/de/commands) auf die Anforderung, die er benennt

2692 2924 

2693<h3 id="diff-is-too-large-for-ultrareview">2925<h3 id="diff-is-too-large-for-ultrareview">

2694 Diff ist zu groß für Ultrareview2926 Diff ist zu groß für ultrareview

2695</h3>2927</h3>

2696 2928 

2697Der Diff zwischen Ihrem Branch und dem Base-Branch, einschließlich nicht committeter und gestaffelter Änderungen, überschreitet die Größenlimits für eine [Ultrareview](/docs/de/ultrareview), daher weigern sich `/code-review ultra` und der `claude ultrareview`-Unterbefehl, die Review zu starten, bevor die Cloud-Sitzung beginnt. Eine abgelehnte Review verwendet keinen kostenlosen Lauf und belastet keine Nutzungsguthaben. Die Meldung benennt die geltenden Limits, die Größe Ihres Diff und die Dateien, die die meisten geänderten Zeilen beitragen. Vor v2.1.216 zeigte die Meldung nur die rohen Diff-Statistiken.2929Der Diff zwischen Ihrem Branch und dem Base-Branch, einschließlich nicht committeter und gestaffelter Änderungen, überschreitet die Größenlimits für eine [ultrareview](/docs/de/ultrareview), daher weigern sich `/code-review ultra` und der `claude ultrareview`-Unterbefehl die Review, bevor die Cloud-Sitzung startet. Eine abgelehnte Review verwendet keinen kostenlosen Lauf und belastet keine Nutzungsguthaben. Die Meldung benennt die geltenden Limits, die Größe Ihres Diff und die Dateien, die die meisten geänderten Zeilen beitragen. Vor v2.1.216 zeigte die Meldung nur die rohen Diff-Statistiken.

2698 2930 

2699```text theme={null}2931```text theme={null}

2700Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.2932Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.

2701```2933```

2702 2934 

2703Das Überprüfen eines Pull Request wendet dieselben Limits an; diese Form der Meldung beginnt mit `PR #<N> is too large for ultrareview` und benennt die Datei- und Zeilenzahlen des PR.2935Das Überprüfen eines Pull Request wendet dieselben Limits an; diese Form der Meldung beginnt mit `PR #<N> is too large for ultrareview` und benennt die Datei und Zeilenzahlen des PR.

2704 2936 

2705**Was zu tun ist:**2937**Was zu tun ist:**

2706 2938 


2708* Teilen Sie die Änderung in kleinere Branches auf und überprüfen Sie jeden. Die Dateien, die die Meldung benennt, tragen die meisten geänderten Zeilen bei, daher beginnen Sie damit, diese in ihren eigenen Branch zu verschieben.2940* Teilen Sie die Änderung in kleinere Branches auf und überprüfen Sie jeden. Die Dateien, die die Meldung benennt, tragen die meisten geänderten Zeilen bei, daher beginnen Sie damit, diese in ihren eigenen Branch zu verschieben.

2709 2941 

2710<h3 id="could-not-find-merge-base-with-the-base-branch">2942<h3 id="could-not-find-merge-base-with-the-base-branch">

2711 Konnte Merge-Base mit dem Base-Branch nicht finden2943 Merge-Base mit dem Base-Branch konnte nicht gefunden werden

2712</h3>2944</h3>

2713 2945 

2714`/code-review ultra` und der `claude ultrareview`-Unterbefehl überprüfen den Diff zwischen Ihrem Branch und einem Base-Branch, was einen Commit erfordert, den die beiden teilen. Wenn `git merge-base` keinen findet, weigert sich Claude Code, die Review zu starten, bevor die Cloud-Sitzung beginnt. Bei einem Clone, den Claude Code als vollständig überprüfen kann, mit mindestens einem Branch, fällt es auf [Überprüfung jeder verfolgten Datei](/docs/de/ultrareview#diff-limits-and-fallbacks) zurück, anstatt zu weigern. Sie sehen diese Ablehnung, wenn der Base-Branch überhaupt nicht gefunden werden kann, wenn Claude Code nicht überprüfen kann, dass Ihr Clone vollständig ist, oder im seltenen Repository, wo der Whole-Tree-Diff nicht möglich ist, wie das SHA-256-Objektformat.2946`/code-review ultra` und der `claude ultrareview`-Unterbefehl überprüfen den Diff zwischen Ihrem Branch und einem Base-Branch, was einen Commit erfordert, den die beiden teilen. Wenn `git merge-base` keinen findet, weigert sich Claude Code, die Review zu starten, bevor die Cloud-Sitzung startet. Bei einem Klon, den Claude Code als vollständig überprüfen kann, mit mindestens einem Branch, fällt es stattdessen auf [Überprüfung jeder verfolgten Datei](/docs/de/ultrareview#diff-limits-and-fallbacks) zurück. Sie sehen diese Ablehnung, wenn der Base-Branch überhaupt nicht gefunden werden kann, wenn Claude Code nicht überprüfen kann, dass Ihr Klon vollständig ist, oder im seltenen Repository, wo der Whole-Tree-Diff nicht möglich ist, wie das SHA-256-Objektformat.

2715 2947 

2716```text theme={null}2948```text theme={null}

2717Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.2949Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.


2719 2951 

2720Der Hinweis nach dem ersten Satz hängt davon ab, was Claude Code beobachtet hat:2952Der Hinweis nach dem ersten Satz hängt davon ab, was Claude Code beobachtet hat:

2721 2953 

2722* **Sie haben keinen Base-Branch übergeben**: Claude Code hat gegen den Standard-Branch des Repository verglichen und schlägt vor, Ihren Base explizit zu übergeben, wie im Beispiel oben2954* **Sie haben keinen Base-Branch übergeben**: Claude Code verglich gegen den Standard-Branch des Repository und schlägt vor, Ihren Base explizit zu übergeben, wie im Beispiel oben

2723* **Sie haben einen Base-Branch übergeben, der bereits in Ihrem Clone war**: Der Hinweis lautet ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``2955* **Sie haben einen Base-Branch übergeben, der bereits in Ihrem Klon war**: Der Hinweis lautet ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

2724* **Sie haben einen Base-Branch übergeben, der nicht in Ihrem Clone war**: Claude Code hat ihn vor dem Vergleich von origin abgerufen. Der Hinweis lautet ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; wenn Claude Code nicht sagen kann, ob Ihr Clone flach ist, schlägt es stattdessen `git fetch --unshallow origin` vor. Vor v2.1.221 schlug der Hinweis `git fetch --unshallow origin` für jeden abgerufenen Base-Branch vor, und bei einem vollständigen Clone schlägt dieser Befehl mit `fatal: --unshallow on a complete repository does not make sense` fehl.2956* **Sie haben einen Base-Branch übergeben, der nicht in Ihrem Klon war**: Claude Code hat ihn von origin abgerufen, bevor es verglich. Der Hinweis lautet ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; wenn Claude Code nicht sagen kann, ob Ihr Klon flach ist, schlägt es stattdessen `git fetch --unshallow origin` vor. Vor v2.1.221 schlug der Hinweis `git fetch --unshallow origin` für jeden abgerufenen Base-Branch vor, und bei einem vollständigen Klon schlägt dieser Befehl mit `fatal: --unshallow on a complete repository does not make sense` fehl.

2725 2957 

2726**Was zu tun ist:**2958**Was zu tun ist:**

2727 2959 

2728* Wenn ein anderer Branch Ihr echter Base ist, übergeben Sie ihn explizit: `/code-review ultra <branch>`2960* Wenn ein anderer Branch Ihr echter Base ist, übergeben Sie ihn explizit: `/code-review ultra <branch>`

2729* Wenn Ihr Clone möglicherweise keine vollständige Historie hat, führen Sie `git fetch --unshallow origin` aus und führen Sie die Review erneut aus2961* Wenn Ihr Klon möglicherweise keine vollständige Historie hat, führen Sie `git fetch --unshallow origin` aus und führen Sie die Review erneut aus

2730 2962 

2731<h3 id="your-checkout-has-no-branches">2963<h3 id="your-checkout-has-no-branches">

2732 Ihr Checkout hat keine Branches2964 Ihr Checkout hat keine Branches

2733</h3>2965</h3>

2734 2966 

2735Ein Checkout kann Commits haben, aber keine Branches: Wenn Sie `git init` gefolgt von `git fetch <url>` und `git checkout FETCH_HEAD` ausführen, erhalten Sie einen detached HEAD ohne Refs. Claude Code packt Ihr Repository als git-Bundle, um es für eine [Ultrareview](/docs/de/ultrareview) hochzuladen, und es kann ein Repository, das keine Branches oder andere Refs hat, nicht bündeln, daher weigern sich `/code-review ultra` und der `claude ultrareview`-Unterbefehl, die Review zu starten, bevor die Cloud-Sitzung beginnt.2967Ein Checkout kann Commits haben, aber keine Branches: Wenn Sie `git init` gefolgt von `git fetch <url>` und `git checkout FETCH_HEAD` ausführen, erhalten Sie einen detached HEAD ohne Refs. Claude Code packt Ihr Repository als Git-Bundle, um es für eine [ultrareview](/docs/de/ultrareview) hochzuladen, und es kann ein Repository, das keine Branches oder andere Refs hat, nicht bündeln, daher weigern sich `/code-review ultra` und der `claude ultrareview`-Unterbefehl die Review, bevor die Cloud-Sitzung startet.

2736 2968 

2737```text theme={null}2969```text theme={null}

2738Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.2970Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.


2748 Kein GitHub-Konto ist mit Ihrem Claude-Konto verbunden2980 Kein GitHub-Konto ist mit Ihrem Claude-Konto verbunden

2749</h3>2981</h3>

2750 2982 

2751Sie haben `/code-review ultra <PR#>` oder `claude ultrareview <PR#>` ausgeführt, und bevor die Cloud-Sitzung erstellt wird, fragt Claude Code den Server, ob [das GitHub-Konto, das mit Ihrem Claude-Konto verbunden ist](/docs/de/ultrareview#review-a-pull-request), das Repository des PR erreichen kann. Kein Konto ist verbunden, oder die Verbindung ist abgelaufen, daher würde der Cloud-Clone fehlschlagen und Claude Code weigert sich zu starten. Claude Code gibt keinen kostenlosen Lauf aus und belastet keine Nutzungsguthaben für einen abgelehnten Start.2983Sie haben `/code-review ultra <PR#>` oder `claude ultrareview <PR#>` ausgeführt, und bevor die Cloud-Sitzung erstellt wird, fragt Claude Code den Server, ob [das GitHub-Konto, das mit Ihrem Claude-Konto verbunden ist](/docs/de/ultrareview#review-a-pull-request), das Repository des PR erreichen kann. Kein Konto ist verbunden oder die Verbindung ist abgelaufen, daher würde der Cloud-Klon fehlschlagen und Claude Code weigert sich zu starten. Claude Code gibt keinen kostenlosen Lauf aus und belastet keine Nutzungsguthaben für einen abgelehnten Start.

2752 2984 

2753```text theme={null}2985```text theme={null}

2754Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).2986Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).


2758 2990 

2759**Was zu tun ist:**2991**Was zu tun ist:**

2760 2992 

2761* Führen Sie `/web-setup` aus, um Ihren GitHub CLI-Login mit Ihrem Claude-Konto zu verbinden, oder verbinden Sie ein Konto unter [claude.ai/connect-github](https://claude.ai/connect-github)2993* Führen Sie `/web-setup` aus, um Ihre GitHub CLI-Anmeldung mit Ihrem Claude-Konto zu verbinden, oder verbinden Sie ein Konto unter [claude.ai/connect-github](https://claude.ai/connect-github)

2762* Führen Sie die Review eine Minute nach der Verbindung erneut aus2994* Führen Sie die Review eine Minute nach der Verbindung erneut aus

2763 2995 

2764Vor v2.1.248 überprüfte Claude Code dies nicht vor dem Start.2996Vor v2.1.248 überprüfte Claude Code dies nicht vor dem Start.


2767 Ihr verbundenes GitHub-Konto kann das Repository nicht sehen2999 Ihr verbundenes GitHub-Konto kann das Repository nicht sehen

2768</h3>3000</h3>

2769 3001 

2770Sie haben `/code-review ultra <PR#>` oder `claude ultrareview <PR#>` ausgeführt, und [das GitHub-Konto, das mit Ihrem Claude-Konto verbunden ist](/docs/de/ultrareview#review-a-pull-request), kann das Repository des PR nicht lesen, daher würde der Cloud-Clone fehlschlagen und Claude Code weigert sich zu starten. Claude Code gibt keinen kostenlosen Lauf aus und belastet keine Nutzungsguthaben für einen abgelehnten Start.3002Sie haben `/code-review ultra <PR#>` oder `claude ultrareview <PR#>` ausgeführt, und [das GitHub-Konto, das mit Ihrem Claude-Konto verbunden ist](/docs/de/ultrareview#review-a-pull-request), kann das Repository des PR nicht lesen, daher würde der Cloud-Klon fehlschlagen und Claude Code weigert sich zu starten. Claude Code gibt keinen kostenlosen Lauf aus und belastet keine Nutzungsguthaben für einen abgelehnten Start.

2771 3003 

2772```text theme={null}3004```text theme={null}

2773Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3005Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.


2777 3009 

2778**Was zu tun ist:**3010**Was zu tun ist:**

2779 3011 

2780* Wenn Ihr lokales `gh`-CLI das Repository lesen kann, führen Sie `/web-setup` aus, um diesen Login mit Ihrem Claude-Konto zu verbinden3012* Wenn Ihre lokale `gh`-CLI das Repository lesen kann, führen Sie `/web-setup` aus, um diese Anmeldung mit Ihrem Claude-Konto zu verbinden

2781* Führen Sie die Review nach der Änderung erneut aus3013* Führen Sie die Review nach der Änderung erneut aus

2782 3014 

2783Vor v2.1.248 überprüfte Claude Code dies nicht vor dem Start.3015Vor v2.1.248 überprüfte Claude Code dies nicht vor dem Start.

2784 3016 

2785<h3 id="the-github-app-preflight-failed-transiently">3017<h3 id="the-github-app-preflight-failed-transiently">

2786 Der GitHub App-Preflight ist vorübergehend fehlgeschlagen3018 Der GitHub-App-Preflight ist vorübergehend fehlgeschlagen

2787</h3>3019</h3>

2788 3020 

2789Sie haben eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) aus einem lokalen Repository gestartet, und zwei Schritte sind zusammen fehlgeschlagen. Claude Code konnte das Bundle Ihres Repository nicht erstellen oder hochladen. Vor dem Upload überprüfte es, ob der Cloud-Service das Repository von GitHub klonen kann, und anstatt einer definitiven Antwort endete diese Überprüfung in einem Fehler, den ein Wiederholungsversuch klären könnte, wie ein Netzwerkfehler, ein Timeout oder ein vorübergehender Serverfehler. Die vollständige Meldung beginnt mit dem, was das Bundle gestoppt hat, zum Beispiel `Could not upload repo bundle (<error>)`, und endet mit dem Preflight-Satz:3021Sie haben eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) aus einem lokalen Repository gestartet, und zwei Schritte sind zusammen fehlgeschlagen. Claude Code konnte das Bundle Ihres Repository nicht erstellen oder hochladen. Bevor der Upload, überprüfte es, ob der Cloud-Service das Repository von GitHub klonen kann, und anstatt einer definitiven Antwort endete diese Überprüfung in einem Fehler, den ein erneuter Versuch klären könnte, wie ein Netzwerkfehler, ein Timeout oder ein vorübergehender Serverfehler. Die vollständige Meldung beginnt mit dem, was das Bundle gestoppt hat, z. B. `Could not upload repo bundle (<error>)`, und endet mit dem Preflight-Satz:

2790 3022 

2791```text theme={null}3023```text theme={null}

2792Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3024Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


2794 3026 

2795**Was zu tun ist:**3027**Was zu tun ist:**

2796 3028 

2797* Führen Sie den Befehl nach einem Moment erneut aus. Wenn die GitHub-Überprüfung erfolgreich ist, kann Claude Code die Sitzung von einem GitHub-Clone starten, daher blockiert der fehlgeschlagene Upload den Start nicht mehr3029* Führen Sie den Befehl nach einem Moment erneut aus. Wenn die GitHub-Überprüfung besteht, kann Claude Code die Sitzung von einem GitHub-Klon starten, daher blockiert der fehlgeschlagene Upload den Start nicht mehr

2798* Wenn Wiederholungsversuche weiterhin fehlschlagen, benennt der Anfang der Meldung, was den Upload gestoppt hat. Wenn diese Ursache etwas ist, das Sie beheben können, beheben Sie es, damit die Sitzung stattdessen von Ihrem lokalen Repository starten kann3030* Wenn erneute Versuche weiterhin fehlschlagen, benennt der Anfang der Meldung, was den Upload gestoppt hat. Wenn diese Ursache etwas ist, das Sie beheben können, beheben Sie es, damit die Sitzung stattdessen von Ihrem lokalen Repository starten kann

2799 3031 

2800Vor v2.1.251 endete Claude Code die Meldung mit `Please set up GitHub on https://claude.ai/code`, auch wenn die GitHub-Überprüfung nur vorübergehend fehlgeschlagen ist, und Setup-Rat kann einen vorübergehenden Fehler nicht klären.3032Vor v2.1.251 endete Claude Code die Meldung mit `Please set up GitHub on https://claude.ai/code`, auch wenn die GitHub-Überprüfung nur vorübergehend fehlgeschlagen ist, und Setup-Ratschläge können einen vorübergehenden Fehler nicht klären.

3033 

3034<h3 id="github-isnt-connected-to-your-claude-account">

3035 GitHub ist nicht mit Ihrem Claude-Konto verbunden

3036</h3>

3037 

3038Sie haben eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) aus Ihrem lokalen Repository gestartet, z. B. mit `/autofix-pr`. Kein GitHub-Konto ist mit Ihrem Claude-Konto verbunden oder die Verbindung ist abgelaufen, daher weigert sich Claude Code zu starten:

3039 

3040```text theme={null}

3041GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github

3042```

3043 

3044Wenn Sie eine Routine mit [`/schedule`](/docs/de/routines) erstellen, erscheint dieselbe Meldung als Setup-Notiz, die das Repository benennt; die Notiz blockiert nicht das Erstellen der Routine.

3045 

3046**Was zu tun ist:**

3047 

3048* Führen Sie `/web-setup` aus, um Ihre GitHub CLI-Anmeldung mit Ihrem Claude-Konto zu verbinden, oder verbinden Sie ein Konto unter [claude.ai/connect-github](https://claude.ai/connect-github). Siehe [GitHub-Authentifizierungsoptionen](/docs/de/claude-code-on-the-web#github-authentication-options) für wie die beiden sich unterscheiden.

3049* Führen Sie den Befehl eine Minute nach der Verbindung erneut aus

3050 

3051Vor v2.1.268 meldete Claude Code dies als vorübergehenden Fehler der Claude GitHub-App-Überprüfung und schlug vor, erneut zu versuchen oder die App zu installieren; keiner verbindet ein GitHub-Konto.

3052 

3053<h3 id="single-sign-on-authorization-needed">

3054 Single-Sign-On-Autorisierung erforderlich

3055</h3>

3056 

3057Sie haben [`/install-github-app`](/docs/de/github-actions#quick-setup) ausgeführt und ein Repository ausgewählt, dessen Organisation SAML-Single-Sign-On erzwingt. Bevor das Setup, überprüft Claude Code Ihren Zugriff auf das Repository mit der GitHub CLI, und GitHub lehnte diese Überprüfung ab, weil Ihr `gh`-Token noch nicht für die Organisation autorisiert ist. Der Assistent zeigt die Warnung mit den Schritten zur Autorisierung:

3058 

3059```text theme={null}

3060Single sign-on authorization needed

3061<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.

3062```

3063 

3064**Was zu tun ist:**

3065 

3066* Autorisieren Sie Ihre GitHub CLI-Anmeldung mit den `repo`- und `workflow`-Bereichen erneut, indem Sie `gh auth refresh -h github.com -s repo,workflow` ausführen, und autorisieren Sie die Organisation, wenn GitHub zur Single-Sign-On auffordert

3067* Wenn Sie sich mit einem persönlichen Zugangstoken in `GH_TOKEN` authentifizieren, öffnen Sie [github.com/settings/tokens](https://github.com/settings/tokens), wählen Sie **Configure SSO** auf dem Token und autorisieren Sie die Organisation

3068* Führen Sie `/install-github-app` erneut aus

3069 

3070Vor v2.1.273 zeigte Claude Code die Warnung `Admin permissions required` für diese Bedingung statt.

2801 3071 

2802<h3 id="failed-to-resume-the-conversation">3072<h3 id="failed-to-resume-the-conversation">

2803 Konnte die Konversation nicht fortsetzen3073 Konversation konnte nicht fortgesetzt werden

2804</h3>3074</h3>

2805 3075 

2806Claude Code konnte das gespeicherte Transkript für die Sitzung, die Sie aus dem [`claude --resume`-Picker](/docs/de/sessions#use-the-session-picker) ausgewählt haben, nicht lesen oder verarbeiten, daher beendet es den Prozess, anstatt in einem teilweise geladenen Zustand fortzufahren. Die Meldung enthält den Befehl zum Wiederholungsversuch:3076Claude Code konnte das gespeicherte Transkript für die Sitzung, die Sie aus der [`claude --resume`-Auswahl](/docs/de/sessions#use-the-session-picker) ausgewählt haben, nicht lesen oder verarbeiten, daher beendet es den Prozess, anstatt in einem teilweise geladenen Zustand fortzufahren. Die Meldung enthält den Befehl zum erneuten Versuchen:

2807 3077 

2808```text theme={null}3078```text theme={null}

2809Failed to resume the conversation.3079Failed to resume the conversation.

2810Run claude --resume <session-id> to retry, or claude to start a new session.3080Run claude --resume <session-id> to retry, or claude to start a new session.

2811```3081```

2812 3082 

2813Claude Code wird mit Code 1 beendet, nachdem die Meldung angezeigt wurde. Der `/resume`-Picker in einer laufenden Sitzung meldet `Failed to resume conversation` in der Konversation, und Ihre aktuelle Sitzung läuft weiter. Vor v2.1.216 blieb ein fehlgeschlagener Resume aus dem `claude --resume`-Picker auf dem `Resuming conversation…`-Spinner unbegrenzt, anstatt diese Meldung anzuzeigen.3083Claude Code beendet sich mit Code 1 nach Anzeige der Meldung. Die `/resume`-Auswahl in einer laufenden Sitzung meldet `Failed to resume conversation` in der Konversation statt, und Ihre aktuelle Sitzung läuft weiter. Vor v2.1.216 blieb ein fehlgeschlagenes Resume aus der `claude --resume`-Auswahl auf dem `Resuming conversation…`-Spinner unbegrenzt, anstatt diese Meldung anzuzeigen.

2814 3084 

2815**Was zu tun ist:**3085**Was zu tun ist:**

2816 3086 

2817* Führen Sie `claude --resume <session-id>` mit der Sitzungs-ID aus der Meldung aus, um zu wiederholen3087* Führen Sie `claude --resume <session-id>` mit der Sitzungs-ID aus der Meldung aus, um erneut zu versuchen

2818* Wenn der Wiederholungsversuch erneut fehlschlägt, führen Sie `claude` aus, um eine neue Sitzung zu starten3088* Wenn der erneute Versuch erneut fehlschlägt, führen Sie `claude` aus, um eine neue Sitzung zu starten

2819 3089 

2820<h3 id="no-conversation-found-with-the-session-id">3090<h3 id="no-conversation-found-with-the-session-id">

2821 Keine Konversation mit der Sitzungs-ID gefunden3091 Keine Konversation mit der Sitzungs-ID gefunden

2822</h3>3092</h3>

2823 3093 

2824Sie haben eine Sitzungs-ID an `claude --resume <session-id>` übergeben und kein gespeichertes Transkript hat sie abgeglichen:3094Sie haben eine Sitzungs-ID an `claude --resume <session-id>` übergeben und kein gespeichertes Transkript stimmte überein:

2825 3095 

2826```text theme={null}3096```text theme={null}

2827No conversation found with session ID: <session-id>3097No conversation found with session ID: <session-id>

2828```3098```

2829 3099 

2830Claude Code wird mit Code 1 beendet, nachdem die Meldung angezeigt wurde. Claude Code [durchsucht zuerst das aktuelle Projekt, dann jedes andere Projekt auf dieser Maschine](/docs/de/sessions#resume-a-session) nach der ID. Vor v2.1.223 stoppte die Suche im aktuellen Projektverzeichnis und seinen git-Worktrees, daher fortsetzen aus dem Verzeichnis, in dem die Sitzung zuletzt funktionierte.3100Claude Code beendet sich mit Code 1 nach Anzeige der Meldung. Claude Code [durchsucht zuerst das aktuelle Projekt, dann jedes andere Projekt auf dieser Maschine](/docs/de/sessions#resume-a-session) nach der ID. Vor v2.1.223 stoppte die Suche im aktuellen Projektverzeichnis und seinen Git-Worktrees, daher Resume aus dem Verzeichnis, in dem die Sitzung zuletzt funktionierte.

2831 3101 

2832Häufige Ursachen:3102Häufige Ursachen:

2833 3103 

2834* **Falsch eingegebene ID**: Für einen nicht interaktiven Lauf ist die ID das `session_id`-Feld der [`--output-format json`-Ausgabe](/docs/de/headless#get-structured-output)3104* **Falsch eingegebene ID**: Für einen nicht interaktiven Lauf ist die ID das `session_id`-Feld der [`--output-format json`-Ausgabe](/docs/de/headless#get-structured-output)

2835* **Gelöschtes Transkript**: Claude Code entfernt Transkripte nach der [Aufbewahrungsfrist](/docs/de/sessions#where-transcripts-are-stored), 30 Tage standardmäßig, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically)3105* **Gelöschtes Transkript**: Claude Code entfernt Transkripte nach der [Aufbewahrungsfrist](/docs/de/sessions#where-transcripts-are-stored), 30 Tage standardmäßig, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically)

2836* **Andere Maschine**: Claude Code speichert Transkripte lokal, daher fortsetzen Sie die Sitzung auf der Maschine, auf der sie ausgeführt wurde3106* **Andere Maschine**: Claude Code speichert Transkripte lokal, daher Resume die Sitzung auf der Maschine, auf der sie ausgeführt wurde

2837* **Doppelte Kopien**: Wenn Sie ein Projektverzeichnis unter `~/.claude/projects` kopiert haben, sodass zwei Transkripte dieselbe ID tragen, meldet Claude Code diese Meldung, anstatt eine Kopie willkürlich fortzusetzen3107* **Doppelte Kopien**: Wenn Sie ein Projektverzeichnis unter `~/.claude/projects` kopiert haben, so dass zwei Transkripte dieselbe ID tragen, meldet Claude Code diese Meldung, anstatt eine Kopie willkürlich fortzusetzen

2838 3108 

2839**Was zu tun ist:**3109**Was zu tun ist:**

2840 3110 

2841* Für eine interaktive Sitzung öffnen Sie den [Session-Picker](/docs/de/sessions#use-the-session-picker) mit `claude --resume` und drücken Sie `Ctrl+A`, um ihn auf jedes Projekt auf dieser Maschine zu erweitern, dann wählen Sie die Sitzung aus3111* Für eine interaktive Sitzung öffnen Sie die [Sitzungsauswahl](/docs/de/sessions#use-the-session-picker) mit `claude --resume` und drücken Sie `Ctrl+A`, um sie auf jedes Projekt auf dieser Maschine zu erweitern, dann wählen Sie die Sitzung

2842* Sitzungen, die mit `claude -p` oder dem [Agent SDK](/docs/de/agent-sdk/overview) erstellt wurden, erscheinen nicht im Picker, daher überprüfen Sie die ID erneut gegen die `session_id`, die Ihr ursprünglicher Lauf gedruckt hat3112* Sitzungen, die mit `claude -p` oder dem [Agent SDK](/docs/de/agent-sdk/overview) erstellt wurden, erscheinen nicht in der Auswahl, daher überprüfen Sie die ID erneut gegen die `session_id`, die Ihr ursprünglicher Lauf gedruckt hat

2843 3113 

2844<h3 id="cannot-switch-renderers-in-this-session">3114<h3 id="cannot-switch-renderers-in-this-session">

2845 Renderer können in dieser Sitzung nicht gewechselt werden3115 Renderer können in dieser Sitzung nicht gewechselt werden


2847 3117 

2848Wenn Sie Renderer wechseln, startet Claude Code seinen Prozess neu. Sie haben [`/tui`](/docs/de/fullscreen#enable-fullscreen-rendering) in einer Sitzung ausgeführt, die Claude Code ablehnt neu zu starten, daher wechselt es nicht und speichert nichts. Welche Meldung Sie sehen, sagt Ihnen die Ursache:3118Wenn Sie Renderer wechseln, startet Claude Code seinen Prozess neu. Sie haben [`/tui`](/docs/de/fullscreen#enable-fullscreen-rendering) in einer Sitzung ausgeführt, die Claude Code ablehnt neu zu starten, daher wechselt es nicht und speichert nichts. Welche Meldung Sie sehen, sagt Ihnen die Ursache:

2849 3119 

2850* `Cannot switch renderers while work is running in the background`: Sie haben Hintergrundarbeit laufen, die ein Neustart aufgeben würde, wie eine Background-Shell oder einen Subagenten. Warten Sie, bis die Arbeit beendet ist, oder stoppen Sie sie mit [`/tasks`](/docs/de/commands), dann führen Sie `/tui fullscreen` oder `/tui default` erneut aus3120* `Cannot switch renderers while work is running in the background`: Sie haben Hintergrundarbeit, die ein Neustart aufgeben würde, wie eine Background-Shell oder einen Subagenten. Warten Sie, bis die Arbeit fertig ist, oder stoppen Sie sie mit [`/tasks`](/docs/de/commands), dann führen Sie `/tui fullscreen` oder `/tui default` erneut aus

2851* `Cannot switch renderers in this session`: Die Sitzung hat Einschränkungen, die Claude Code nicht an den neu gestarteten Prozess übergeben kann. Vor v2.1.234 hat Claude Code trotzdem neu gestartet und die neu gestartete Sitzung lief ohne sie3121*

3122 

3123`Cannot switch renderers in this session`: Die Sitzung hat Einschränkungen, die Claude Code nicht an den neu gestarteten Prozess übergeben kann. Vor v2.1.234 startete Claude Code trotzdem neu und die neu gestartete Sitzung lief ohne sie

2852 3124 

2853In der Einschränkungsmeldung benennt der Teil in Klammern die Einschränkungen, die Claude Code gefunden hat:3125In der Einschränkungsmeldung benennt der Teil in Klammern die Einschränkungen, die Claude Code gefunden hat:

2854 3126 


2858 3130 

2859Jeder Grund, den die Meldung in Klammern zeigen kann:3131Jeder Grund, den die Meldung in Klammern zeigen kann:

2860 3132 

2861* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Sie haben die Sitzung mit einer Flag gestartet, die Claude Code nicht an den neu gestarteten Prozess zurückgibt. Diese Flags umfassen [`--system-prompt`](/docs/de/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, eine [`--tools`](/docs/de/cli-reference#cli-flags)-Allowlist, [`--setting-sources`](/docs/de/cli-reference#cli-flags) und [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags)3133* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Sie haben die Sitzung mit einem Flag gestartet, das Claude Code nicht an den neu gestarteten Prozess zurückgibt. Diese Flags umfassen [`--system-prompt`](/docs/de/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, eine [`--tools`](/docs/de/cli-reference#cli-flags)-Allowlist, [`--setting-sources`](/docs/de/cli-reference#cli-flags) und [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags)

2862* `permission rules set for this session only`: Ein [Berechtigungsupdate](/docs/de/hooks#permission-update-entries) aus einem Hook oder SDK-Aufrufer hat Deny- oder Ask-Regeln mit dem `session`-Ziel hinzugefügt. Session-scoped Allow-Regeln lösen die Ablehnung nicht aus. Ein Neustart löscht sie, und Claude Code fragt stattdessen erneut3134* `permission rules set for this session only`: Ein [Berechtigungsupdate](/docs/de/hooks#permission-update-entries) aus einem Hook oder SDK-Aufrufer hat Deny- oder Ask-Regeln mit dem `session`-Ziel hinzugefügt. Sitzungsspezifische Allow-Regeln lösen die Ablehnung nicht aus. Ein Neustart löscht sie, und Claude Code fragt stattdessen erneut

2863* `ask-before-running rules with no command-line form`: Ein Berechtigungsupdate aus einem Hook oder SDK-Aufrufer hat Ask-Regeln neben den Regeln hinzugefügt, die Claude Code als `--allowed-tools` und `--disallowed-tools` zurückgibt. Keine Flag existiert für Ask-Regeln3135* `ask-before-running rules with no command-line form`: Ein Berechtigungsupdate aus einem Hook oder SDK-Aufrufer hat Ask-Regeln neben den Regeln hinzugefügt, die Claude Code als `--allowed-tools` und `--disallowed-tools` zurückgibt. Kein Flag existiert für Ask-Regeln

2864* `permission rules a command line cannot carry intact` und `added directories a command line cannot carry intact`: Ein Berechtigungsupdate hat eine Regel oder einen Verzeichnispfad mid-session hinzugefügt. Die Befehlszeile des neu gestarteten Prozesses kann seinen Text nicht als denselben Wert tragen3136* `permission rules a command line cannot carry intact` und `added directories a command line cannot carry intact`: Ein Berechtigungsupdate hat eine Regel oder einen Verzeichnispfad mid-session hinzugefügt. Die Befehlszeile des neu gestarteten Prozesses kann seinen Text nicht als denselben Wert tragen

2865 3137 

2866**Was zu tun ist:**3138**Was zu tun ist:**


2871 /terminal-setup hat Ihre Zed-Tastaturzuordnung unverändert gelassen3143 /terminal-setup hat Ihre Zed-Tastaturzuordnung unverändert gelassen

2872</h3>3144</h3>

2873 3145 

2874Sie haben [`/terminal-setup`](/docs/de/terminal-config#enter-multiline-prompts) in Zed ausgeführt, und Claude Code konnte das Update Ihrer Zed `keymap.json` nicht abschließen, daher hat es die Datei unverändert gelassen.3146Sie haben [`/terminal-setup`](/docs/de/terminal-config#enter-multiline-prompts) in Zed ausgeführt, und Claude Code konnte das Update zu Ihrer Zed `keymap.json` nicht abschließen, daher hat es die Datei unverändert gelassen.

2875 3147 

2876Jede Meldung benennt den Pfad zu Ihrer Tastaturzuordnung und endet mit dem Tastaturzuordnungsblock, den Sie selbst hinzufügen:3148Jede Meldung benennt den Pfad zu Ihrer Tastaturzuordnung und endet mit dem Tastaturzuordnungsblock, den Sie selbst hinzufügen:

2877 3149 


2883 3155 

2884Die erste Zeile der Meldung benennt die Ursache:3156Die erste Zeile der Meldung benennt die Ursache:

2885 3157 

2886* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code konnte die Datei nicht lesen, zum Beispiel wegen Dateiberechtigungen3158* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code konnte die Datei nicht lesen, z. B. wegen Dateiberechtigungen

2887* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: Die Datei wurde gut gelesen, aber wird nicht als Array von Tastaturzuordnungsblöcken analysiert, auch mit `//`-Kommentaren und nachfolgenden Kommas erlaubt3159* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: Die Datei las sich gut, aber analysiert nicht als Array von Tastaturzuordnungsblöcken, auch mit `//`-Kommentaren und nachfolgenden Kommas erlaubt

2888* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code konnte die Datei nicht neben ihr in eine `.bak`-Sicherung kopieren, daher hat es nichts geändert3160* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code konnte die Datei nicht zu einer `.bak`-Sicherung daneben kopieren, daher hat es nichts geändert

2889* `Couldn't update your Zed keymap, so it was left unchanged.`: Das zusammengeführte Ergebnis wurde nicht als gültige Tastaturzuordnung überprüft, die die Bindung trägt, daher hat Claude Code es verworfen, anstatt es zu schreiben. Ein Tastaturzuordnungsblock mit einem duplizierten Schlüssel kann dies verursachen3161* `Couldn't update your Zed keymap, so it was left unchanged.`: Das zusammengeführte Ergebnis überprüfte nicht als gültige Tastaturzuordnung, die die Bindung trägt, daher verwarf Claude Code es, anstatt zu schreiben. Ein Tastaturzuordnungsblock mit einem duplizierten Schlüssel kann dies verursachen

2890 3162 

2891**Was zu tun ist:**3163**Was zu tun ist:**

2892 3164 

2893* Kopieren Sie den Block aus der Meldung in das Top-Level-Array in Ihrer `keymap.json` unter dem Pfad, den die Meldung benennt3165* Kopieren Sie den Block aus der Meldung in das Top-Level-Array in Ihrer `keymap.json` unter dem Pfad, den die Meldung benennt

2894* Für `isn't a readable list of keybindings`, beheben Sie den Syntaxfehler, oder machen Sie den Top-Level-Wert der Datei ein Array, dann führen Sie `/terminal-setup` erneut aus3166* Für `isn't a readable list of keybindings`, beheben Sie den Syntaxfehler oder machen Sie den Top-Level-Wert der Datei ein Array, dann führen Sie `/terminal-setup` erneut aus

2895 3167 

2896Vor v2.1.247 konnte `/terminal-setup` eine Zed-Tastaturzuordnung, die `//`-Kommentare oder nachfolgende Kommas verwendete, nicht analysieren, und es ersetzte die gesamte Datei mit nur seiner eigenen Bindung, während es die Bindung als installiert meldete. Um eine Tastaturzuordnung wiederherzustellen, die eine frühere Version ersetzt hat, verwenden Sie die `.bak`-Sicherungsdatei, die unter [Mehrzeilige Eingabeaufforderungen eingeben](/docs/de/terminal-config#enter-multiline-prompts) beschrieben wird.3168Vor v2.1.247 konnte `/terminal-setup` eine Zed-Tastaturzuordnung, die `//`-Kommentare oder nachfolgende Kommas verwendete, nicht analysieren, und es ersetzte die gesamte Datei mit nur seiner eigenen Bindung, während es die Bindung als installiert meldete. Um eine Tastaturzuordnung wiederherzustellen, die eine frühere Version ersetzte, verwenden Sie die `.bak`-Sicherungsdatei, die unter [Mehrzeilige Eingabeaufforderungen eingeben](/docs/de/terminal-config#enter-multiline-prompts) beschrieben ist.

2897 3169 

2898<h3 id="skill-usage-reports-are-not-available-on-this-connection">3170<h3 id="skill-usage-reports-are-not-available-on-this-connection">

2899 Skill-Nutzungsberichte sind auf dieser Verbindung nicht verfügbar3171 Skill-Nutzungsberichte sind auf dieser Verbindung nicht verfügbar


2907 3179 

2908**Was zu tun ist:**3180**Was zu tun ist:**

2909 3181 

2910* Führen Sie `/skill-doctor` im Terminal auf der Maschine aus, auf der die Sitzung läuft, oder führen Sie `claude -p "/skill-doctor"` dort aus3182* Führen Sie `/skill-doctor` im Terminal auf der Maschine aus, auf der die Sitzung ausgeführt wird, oder führen Sie `claude -p "/skill-doctor"` dort aus

3183 

3184<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3185 Benutzerdefinierte Ausgabestile können nicht über Remote-Steuerung ausgewählt werden

3186</h3>

3187 

3188Sie haben [`/output-style`](/docs/de/output-styles#change-your-output-style) von der mobilen App oder dem Web über [Remote-Steuerung](/docs/de/remote-control) ausgeführt, oder der Befehl kam in einer Nachricht an, die in die Sitzung weitergeleitet wurde. Da ein solcher Zug möglicherweise nicht vom Kontoinhaber kommt, listet Claude Code nur [integrierte Stile](/docs/de/output-styles#built-in-output-styles) auf und wählt sie aus, und fügt diese Notiz hinzu, wenn der Befehl die Stile auflistet oder den Namen, den Sie angegeben haben, nicht erkennt. Ein [benutzerdefinierter Stil](/docs/de/output-styles#create-a-custom-output-style)-Name erhält die gleiche Antwort wie ein Name, der nicht existiert:

3189 

3190```text theme={null}

3191Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.

3192```

3193 

3194**Was zu tun ist:**

3195 

3196* Wählen Sie einen integrierten Stil, z. B. `/output-style concise`

3197* Um einen benutzerdefinierten Stil zu verwenden, setzen Sie [`outputStyle`](/docs/de/settings-reference#outputstyle) in der Datei `.claude/settings.local.json` des Projekts, oder führen Sie `/output-style <style>` im Terminal der Sitzung selbst aus, wenn es eines hat

3198 

3199<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3200 Ausgabestile werden in lokalen Einstellungen gespeichert, die diese Sitzung nicht lädt

3201</h3>

3202 

3203Sie haben versucht, [Ausgabestile](/docs/de/output-styles) mit `/output-style <style>` oder `/config outputStyle=<style>` in einer Sitzung zu wechseln, deren Einstellungsquellen `local` ausschließen. Beispiele sind eine [Agent SDK](/docs/de/agent-sdk/typescript)-Sitzung, deren [`settingSources`](/docs/de/agent-sdk/typescript#options) `"local"` auslässt, und eine CLI-Sitzung, die mit einem [`--setting-sources`](/docs/de/cli-reference#cli-flags)-Wert gestartet wurde, der `local` auslässt. Beide Befehle speichern den Stil in `.claude/settings.local.json`, eine Datei, die eine solche Sitzung nie zurückliest, daher weigert sich Claude Code, anstatt eine Einstellung zu schreiben, die keine Auswirkung hätte:

3204 

3205```text theme={null}

3206Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.

3207```

3208 

3209**Was zu tun ist:**

3210 

3211* Fügen Sie `local` zu den Einstellungsquellen der Sitzung hinzu und wechseln Sie erneut

3212* Setzen Sie den [`outputStyle`](/docs/de/settings-reference#outputstyle)-Schlüssel in einer Einstellungsdatei, die die Sitzung lädt, wie `.claude/settings.json` im Projekt oder `~/.claude/settings.json`. Im TypeScript SDK setzen Sie stattdessen `outputStyle` im Inline-`settings`-Objekt; siehe [Aktivieren Sie einen Ausgabestil](/docs/de/agent-sdk/modifying-system-prompts#activate-an-output-style)

2911 3213 

2912<h2 id="plugin-errors">3214<h2 id="plugin-errors">

2913 Plugin-Fehler3215 Plugin-Fehler


3045 3347 

3046Claude Code fragte das Betriebssystem, ob ein Plugin-Pfad existiert, und erhielt einen Fehler, der nicht „nicht gefunden" ist, daher wird nicht geladen, was der Pfad benennt. Wie viel des Plugins geladen wird, hängt davon ab, welcher Pfad fehlgeschlagen ist:3348Claude Code fragte das Betriebssystem, ob ein Plugin-Pfad existiert, und erhielt einen Fehler, der nicht „nicht gefunden" ist, daher wird nicht geladen, was der Pfad benennt. Wie viel des Plugins geladen wird, hängt davon ab, welcher Pfad fehlgeschlagen ist:

3047 3349 

3048* Einer der [Standard-Komponentenordner](/docs/de/plugins-reference#file-locations-reference) eines Plugins, wie z. B. `skills/` oder `commands/`: Die anderen Komponenten des Plugins werden weiterhin geladen3350* Einer der [Standard-Komponentenordner](/docs/de/plugins-reference#file-locations-reference) eines Plugins, wie z. B. der `skills/`-Ordner, die `monitors/monitors.json`-Datei oder eine [`SKILL.md` im Plugin-Stammverzeichnis](/docs/de/plugins-reference#skills): Die anderen Komponenten des Plugins werden weiterhin geladen

3049* Das eigene Verzeichnis des Plugins: Nichts aus diesem Plugin wird geladen3351* Das eigene Verzeichnis des Plugins: Nichts aus diesem Plugin wird geladen

3050 3352 

3051Sie sehen diesen Fehler nicht für einen Pfad, der überhaupt nicht existiert. In `/plugin` wird der Fehler unter dem Plugin angezeigt und benennt den Pfad und den Code, den das Betriebssystem zurückgegeben hat:3353Sie sehen diesen Fehler nicht für einen Pfad, der überhaupt nicht existiert. In `/plugin` wird der Fehler unter dem Plugin angezeigt und benennt den Pfad und den Code, den das Betriebssystem zurückgegeben hat:


3123* Wenn Sie es nicht reparieren können, löschen Sie die Datei oder ersetzen Sie ihren Inhalt durch `{}`, und fügen Sie dann jeden Marketplace mit `claude plugin marketplace add <source>` erneut hinzu. Claude Code registriert die Marketplaces, die Ihre Benutzer- oder verwalteten Einstellungen in [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces) deklarieren, das nächste Mal, wenn Sie es in einem Ordner starten, dem Sie vertraut haben.3425* Wenn Sie es nicht reparieren können, löschen Sie die Datei oder ersetzen Sie ihren Inhalt durch `{}`, und fügen Sie dann jeden Marketplace mit `claude plugin marketplace add <source>` erneut hinzu. Claude Code registriert die Marketplaces, die Ihre Benutzer- oder verwalteten Einstellungen in [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces) deklarieren, das nächste Mal, wenn Sie es in einem Ordner starten, dem Sie vertraut haben.

3124 3426 

3125<h2 id="tool-errors">3427<h2 id="tool-errors">

3126 Werkzeugfehler3428 Tool-Fehler

3127</h2>3429</h2>

3128 3430 

3129Diese Fehler stammen von Claudes integrierten Werkzeugen. Claude behebt die meisten Werkzeugfehler automatisch. Wenn eine Änderung von Ihnen erforderlich ist, gibt die **Was zu tun ist**-Liste dieses Fehlers an, was zu ändern ist.3431Diese Fehler stammen von Claudes integrierten Tools. Claude korrigiert die meisten Tool-Fehler automatisch. Wenn eine Änderung von Ihnen erforderlich ist, gibt die Liste **Was zu tun ist** für diesen Fehler an, was zu ändern ist.

3130 3432 

3131<h3 id="agent-would-be-spawned-with-zero-tools">3433<h3 id="agent-would-be-spawned-with-zero-tools">

3132 Agent würde mit null Werkzeugen erzeugt3434 Agent würde mit null Tools erzeugt

3133</h3>3435</h3>

3134 3436 

3135Jeder Eintrag in der [`tools`-Liste](/docs/de/sub-agents#supported-frontmatter-fields) des Subagenten konnte mit keinem verwendbaren Werkzeug abgeglichen werden, daher weigerte sich Claude Code, den Subagenten zu starten: Ohne Werkzeuge konnte er nicht handeln. Die Nachricht gruppiert Ihre Einträge nach dem, was schiefgelaufen ist:3437Jeder Eintrag in der [`tools`-Liste](/docs/de/sub-agents#supported-frontmatter-fields) des Subagenten konnte mit keinem verwendbaren Tool abgeglichen werden, daher weigerte sich Claude Code, den Subagenten zu starten: Ohne Tools konnte er nicht handeln. Die Nachricht gruppiert Ihre Einträge nach dem, was schiefgelaufen ist:

3136 3438 

3137* **Nicht erkannt**: Der Eintrag stimmt mit keinem Werkzeugnamen überein, normalerweise ein Tippfehler wie `Grpe` für `Grep`.3439* **Unbekannt**: Der Eintrag stimmt mit keinem Tool-Namen überein, normalerweise ein Tippfehler wie `Grpe` für `Grep`.

3138* **Nicht für Subagenten verfügbar**: Der Eintrag benennt ein echtes Werkzeug, das [Subagenten nicht verwenden können](/docs/de/sub-agents#available-tools). Hintergrund-Subagenten behalten einen kleineren integrierten Werkzeugsatz, daher landet ein Eintrag, den nur ein Vordergrund-Subagent verwenden kann, hier, wenn der Subagent im Hintergrund ausgeführt würde, was die Standardeinstellung ist. Wenn Sie `Agent` auflisten, meldet die Nachricht ihn stattdessen unter der nächsten Gruppe.3440* **Nicht für Subagenten verfügbar**: Der Eintrag benennt ein echtes Tool, das [Subagenten nicht verwenden können](/docs/de/sub-agents#available-tools). Hintergrund-Subagenten behalten einen kleineren integrierten Tool-Satz, daher landet ein Eintrag, den nur ein Vordergrund-Subagent verwenden kann, hier, wenn der Subagent im Hintergrund ausgeführt würde, was die Standardeinstellung ist. Wenn Sie `Agent` auflisten, meldet die Nachricht ihn stattdessen unter der nächsten Gruppe.

3139* **Stimmt mit keinen Werkzeugen in dieser Sitzung überein**: Der Eintrag ist gültig, aber kein Werkzeug in der aktuellen Sitzung stimmt gerade damit überein, wie `mcp__github__*` ohne verbundenen GitHub-MCP-Server oder `Agent` für einen Subagenten am [Tiefenlimit](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents).3441* **Stimmt mit keinen Tools in dieser Sitzung überein**: Der Eintrag ist gültig, aber kein Tool in der aktuellen Sitzung stimmt gerade damit überein, wie `mcp__github__*` ohne verbundenen GitHub-MCP-Server oder `Agent` für einen Subagenten am [Tiefenlimit](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents).

3140 3442 

3141Das Weglassen des `tools`-Feldes löst diese Weigerung niemals aus. Wenn Sie die `tools`-Liste leer lassen oder `disallowedTools` jeden Eintrag darin entfernt, startet Claude Code auch den Subagenten ohne Werkzeuge.3443Das Weglassen des `tools`-Feldes löst diese Weigerung nie aus. Wenn Sie die `tools`-Liste leer lassen oder `disallowedTools` jeden Eintrag darin entfernt, überspringt Claude Code die Weigerung auch und startet den Subagenten ohne Tools.

3142 3444 

3143Vor v2.1.208 wurde der Subagent ohne Werkzeuge gestartet und konnte ein leeres oder verwirrendes Ergebnis zurückgeben.3445Vor v2.1.208 wurde der Subagent ohne Tools gestartet und konnte ein leeres oder verwirrendes Ergebnis zurückgeben.

3144 3446 

3145```text theme={null}3447```text theme={null}

3146Agent 'code-reviewer' würde mit null Werkzeugen erzeugt — Weigerung. Seine tools-Liste wurde zu nichts aufgelöst: nicht erkannt [Grpe]. Beheben Sie die tools-Frontmatter des Agenten oder übergeben Sie einen anderen subagent_type.3448Agent 'code-reviewer' würde mit null Tools erzeugt — Weigerung. Seine Tools-Liste wurde zu nichts aufgelöst: unbekannt [Grpe]. Beheben Sie die Tools-Frontmatter des Agenten oder übergeben Sie einen anderen subagent_type.

3147```3449```

3148 3450 

3149**Was zu tun ist:**3451**Was zu tun ist:**

3150 3452 

3151* Korrigieren Sie jeden Eintrag, den der Fehler benennt, anhand der [für Subagenten verfügbaren Werkzeuge](/docs/de/sub-agents#available-tools)3453* Korrigieren Sie jeden Eintrag, den der Fehler benennt, anhand der [für Subagenten verfügbaren Tools](/docs/de/sub-agents#available-tools)

3152* Entfernen Sie Einträge für Werkzeuge, die die Sitzung nicht hat, wie MCP-Werkzeuge von einem Server, der nicht verbunden ist3454* Entfernen Sie Einträge für Tools, die die Sitzung nicht hat, wie MCP-Tools von einem Server, der nicht verbunden ist

3153* Für ein Werkzeug, das [Hintergrund-Subagenten ablegen](/docs/de/sub-agents#available-tools), wie `LSP`, entfernen Sie den Eintrag. Um das Werkzeug zu behalten, [schalten Sie den Fork-Modus aus](/docs/de/sub-agents#turn-fork-mode-on-or-off) und bitten Sie Claude, den Subagenten im Vordergrund auszuführen3455* Für ein Tool, das [Hintergrund-Subagenten ablegen](/docs/de/sub-agents#available-tools), wie `LSP`, entfernen Sie den Eintrag. Um das Tool zu behalten, [schalten Sie den Fork-Modus aus](/docs/de/sub-agents#turn-fork-mode-on-or-off) und bitten Sie Claude, den Subagenten im Vordergrund auszuführen

3154* Löschen Sie das `tools`-Feld, anstatt Werkzeuge aufzulisten, um dem Subagenten jedes [für Subagenten verfügbare Werkzeug](/docs/de/sub-agents#available-tools) zu geben3456* Löschen Sie das `tools`-Feld, anstatt Tools aufzulisten, um dem Subagenten alle [für Subagenten verfügbaren Tools](/docs/de/sub-agents#available-tools) zu geben

3155* Für eine `tools`-Liste, die nur `Agent` enthält, erhöhen Sie das [Tiefenlimit](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) oder geben Sie dem Agenten mindestens ein anderes Werkzeug: Claude Code behält `Agent` bei diesem Limit zurück, daher wird eine Liste mit nichts anderem darin zu keinen Werkzeugen aufgelöst3457* Für eine `tools`-Liste, die nur `Agent` enthält, erhöhen Sie das [Tiefenlimit](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) oder geben Sie dem Agenten mindestens ein anderes Tool: Claude Code behält `Agent` bei diesem Limit zurück, daher wird eine Liste mit nichts anderem darin zu keinen Tools aufgelöst

3156 3458 

3157<h3 id="file-is-covered-by-a-read-deny-rule">3459<h3 id="file-is-covered-by-a-read-deny-rule">

3158 Datei wird durch eine Read-Ablehnungsregel abgedeckt3460 Datei wird durch eine Read-Ablehnungsregel abgedeckt

3159</h3>3461</h3>

3160 3462 

3161Das Edit- oder Write-Werkzeug wurde auf einem Pfad aufgerufen, der durch eine [`Read`-Ablehnungsregel](/docs/de/permissions#read-and-edit) abgeglichen wird, einschließlich der Erstellung einer neuen Datei unter diesem Pfad. Beide Werkzeuge ändern Inhalte, die Claude zurücklesen können muss, daher weigert sich Claude Code, den Aufruf zu tätigen, bevor ein Dateizugriff erfolgt. NotebookEdit wird nicht durch `Read`-Ablehnungsregeln abgedeckt. Vor v2.1.228 blockierte die Regel nur das Edit-Werkzeug, und vor v2.1.208 blockierte nur eine `Edit`-Ablehnungsregel Bearbeitungen.3463Das Edit- oder Write-Tool wurde auf einem Pfad aufgerufen, der einer [`Read`-Ablehnungsregel](/docs/de/permissions#read-and-edit) entspricht, einschließlich der Erstellung einer neuen Datei unter diesem Pfad. Beide Tools ändern Inhalte, die Claude lesen können muss, daher weigert sich Claude Code, den Aufruf vor jedem Dateizugriff zu tätigen. NotebookEdit wird nicht durch `Read`-Ablehnungsregeln abgedeckt. Vor v2.1.228 blockierte die Regel nur das Edit-Tool, und vor v2.1.208 blockierte nur eine `Edit`-Ablehnungsregel Bearbeitungen.

3162 3464 

3163```text theme={null}3465```text theme={null}

3164Datei wird durch eine Read-Ablehnungsregel in Ihren Berechtigungseinstellungen abgedeckt und kann nicht bearbeitet werden.3466Datei wird durch eine Read-Ablehnungsregel in Ihren Berechtigungseinstellungen abgedeckt und kann nicht bearbeitet werden.

3165```3467```

3166 3468 

3167Wenn Claude Code das Write-Werkzeug ablehnt, endet die Nachricht mit `und kann nicht geschrieben werden`.3469Wenn Claude Code das Write-Tool ablehnt, endet die Nachricht stattdessen mit `und kann nicht geschrieben werden`.

3168 3470 

3169**Was zu tun ist:**3471**Was zu tun ist:**

3170 3472 

3171* Wenn Claude die Datei ändern können sollte, entfernen oder verengen Sie die `Read`-Ablehnungsregel in `/permissions` oder in [Einstellungen](/docs/de/settings-reference#permission-settings)3473* Wenn Claude die Datei ändern können sollte, entfernen oder verengen Sie die `Read`-Ablehnungsregel in `/permissions` oder in [Einstellungen](/docs/de/settings-reference#permission-settings)

3172* Wenn die Datei unverändert bleiben muss, behalten Sie die Regel und fügen Sie eine `Edit`-Ablehnungsregel für denselben Pfad hinzu, um auch das NotebookEdit-Werkzeug zu blockieren3474* Wenn die Datei unverändert bleiben muss, behalten Sie die Regel und fügen Sie eine `Edit`-Ablehnungsregel für denselben Pfad hinzu, um auch das NotebookEdit-Tool zu blockieren

3173 3475 

3174<h3 id="subagent-type-is-required">3476<h3 id="subagent-type-is-required">

3175 subagent\_type ist erforderlich3477 subagent\_type ist erforderlich

3176</h3>3478</h3>

3177 3479 

3178```text theme={null}3480```text theme={null}

3179subagent_type ist erforderlich: Der Allzweck-Agent ist in dieser Sitzung nicht verfügbar. Verfügbare Agenten: ...3481subagent_type ist erforderlich: Der allgemeine Agent ist in dieser Sitzung nicht verfügbar. Verfügbare Agenten: ...

3180```3482```

3181 3483 

3182Claude hat das [Agent-Werkzeug](/docs/de/tools-reference#agent-tool-behavior) ohne `subagent_type` aufgerufen, und diese Sitzung hat keinen [Allzweck-Subagenten](/docs/de/sub-agents#built-in-subagents) als Fallback. Das ist in zwei Setups der Fall:3484Claude hat das [Agent-Tool](/docs/de/tools-reference#agent-tool-behavior) ohne `subagent_type` aufgerufen, und diese Sitzung hat keinen [allgemeinen Subagenten](/docs/de/sub-agents#built-in-subagents) als Fallback. Das ist in zwei Setups der Fall:

3183 3485 

3184* [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/docs/de/env-vars) ist im nicht-interaktiven Modus gesetzt, was jeden integrierten Subagenten entfernt3486* [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/docs/de/env-vars) ist im nicht-interaktiven Modus gesetzt, was jeden integrierten Subagenten entfernt

3185* Der Hauptthread-Agent der Sitzung hat eine [`tools: Agent(...)`-Zulassungsliste](/docs/de/sub-agents#restrict-which-subagents-can-be-spawned), die `general-purpose` ausschließt3487* Der Hauptthread-Agent der Sitzung hat eine [`tools: Agent(...)`-Zulassungsliste](/docs/de/sub-agents#restrict-which-subagents-can-be-spawned), die `general-purpose` ausschließt


3187**Was zu tun ist:**3489**Was zu tun ist:**

3188 3490 

3189* Normalerweise nichts: Die Nachricht listet die Subagenten auf, die die Sitzung hat, daher kann Claude mit einem von ihnen erneut versuchen3491* Normalerweise nichts: Die Nachricht listet die Subagenten auf, die die Sitzung hat, daher kann Claude mit einem von ihnen erneut versuchen

3190* Wenn Claude weiterhin fehlschlägt, fügen Sie `general-purpose` zur `tools: Agent(...)`-Zulassungsliste hinzu, oder deaktivieren Sie `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`3492* Wenn Claude weiterhin fehlschlägt, fügen Sie `general-purpose` zur `tools: Agent(...)`-Zulassungsliste hinzu, oder heben Sie `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` auf

3191 3493 

3192Vor v2.1.235 schlug derselbe Aufruf mit `Agent type 'general-purpose' not found` fehl.3494Vor v2.1.235 schlug derselbe Aufruf mit `Agent-Typ 'general-purpose' nicht gefunden` fehl.

3193 3495 

3194<h3 id="memory-index-is-over-its-read-limit">3496<h3 id="memory-index-is-over-its-read-limit">

3195 Speicherindex überschreitet sein Lesenlimit3497 Memory-Index überschreitet sein Lesenlimit

3196</h3>3498</h3>

3197 3499 

3198Claude schrieb in den [automatischen Speicher](/docs/de/memory#auto-memory)-Index `MEMORY.md` und ließ ihn über eines seiner Lesenlimits hinaus: 200 Zeilen oder 25 KB. Der Schreibvorgang war erfolgreich, aber nur die ersten 200 Zeilen oder 25 KB, je nachdem, was zuerst kommt, werden zu Beginn einer Sitzung geladen, daher wird alles über dem Limit jedes Mal gelöscht, wenn der Index gelesen wird. Vor v2.1.210 wurde ein über dem Limit liegender Index beim nächsten Laden stillschweigend gekürzt, ohne ein Schreibzeitsignal.3500Claude schrieb in den [Auto-Memory](/docs/de/memory#auto-memory)-Index `MEMORY.md` und ließ ihn über eines seiner Lesenlimits hinaus: 200 Zeilen oder 25 KB. Der Schreibvorgang war erfolgreich, aber nur die ersten 200 Zeilen oder 25 KB, je nachdem, was zuerst kommt, werden zu Beginn einer Sitzung geladen, daher wird alles über dem Limit jedes Mal gelöscht, wenn der Index gelesen wird. Vor v2.1.210 wurde ein über dem Limit liegender Index beim nächsten Laden stillschweigend gekürzt, ohne ein Schreib-Zeit-Signal.

3199 3501 

3200```text theme={null}3502```text theme={null}

3201Fehler: Dieser Schreibvorgang ließ den Speicherindex bei MEMORY.md bei 214 Zeilen, über seinem 200-Zeilen-Lesenlimit. Der Schreibvorgang war erfolgreich, aber alles über dem Limit wird stillschweigend gelöscht, jedes Mal wenn der Index geladen wird — Einträge am Ende sind bereits für Leser unsichtbar. Schreiben Sie ihn jetzt auf unter 140 Zeilen um: Behalten Sie eine Zeile pro Eintrag, verschieben Sie Details in Themendateien, und führen Sie stale Einträge zusammen oder löschen Sie sie.3503Fehler: Dieser Schreibvorgang ließ den Memory-Index bei MEMORY.md bei 214 Zeilen, über seinem 200-Zeilen-Lesenlimit. Der Schreibvorgang war erfolgreich, aber alles über dem Limit wird stillschweigend gelöscht, jedes Mal wenn der Index geladen wird — Einträge am Ende sind bereits für Leser unsichtbar. Schreiben Sie ihn jetzt auf unter 140 Zeilen um: Behalten Sie eine Zeile pro Eintrag, verschieben Sie Details in Topic-Dateien, und führen Sie stale Einträge zusammen oder löschen Sie sie.

3202```3504```

3203 3505 

3204Nur der Inhalt, der geladen wird, zählt zu den Limits. YAML-Frontmatter und Block-Level-HTML-Kommentare werden entfernt, bevor der Index geladen wird, daher sind sie von der Messung ausgeschlossen. Vor v2.1.211 maß Claude Code die Rohdatei, und Frontmatter oder Kommentare konnten diesen Fehler auslösen, selbst wenn der geladene Inhalt passte.3506Nur der Inhalt, der geladen wird, zählt zu den Limits. YAML-Frontmatter und Block-Level-HTML-Kommentare werden entfernt, bevor der Index geladen wird, daher sind sie von der Messung ausgeschlossen. Vor v2.1.211 maß Claude Code die Rohdatei, und Frontmatter oder Kommentare könnten diesen Fehler auslösen, selbst wenn der geladene Inhalt passte.

3205 3507 

3206Claude Code liefert den Fehler an Claude nach dem Schreibvorgang, anstatt ihn als Banner in Ihrem Terminal zu drucken, daher bemerken Sie ihn möglicherweise nur im Transkript.3508Claude Code liefert den Fehler an Claude nach dem Schreibvorgang, anstatt ihn als Banner in Ihrem Terminal zu drucken, daher bemerken Sie ihn möglicherweise nur im Transkript.

3207 3509 

3208Wenn Claudes Schreibvorgang die Datei einem Limit nahe bringt, ohne es zu überschreiten, gibt Claude Code stattdessen eine mildere Erinnerung zurück, um den Index zu komprimieren.3510Wenn Claudes Schreibvorgang die Datei einem Limit nahe bringt, ohne es zu überschreiten, gibt Claude Code stattdessen eine mildere Erinnerung zurück, um den Index zu komprimieren, anstatt diesen Fehler.

3209 3511 

3210**Was zu tun ist:**3512**Was zu tun ist:**

3211 3513 

3212* Lassen Sie Claude `MEMORY.md` umschreiben, oder bitten Sie ihn darum: Behalten Sie eine Zeile pro Eintrag, verschieben Sie Details in Themendateien, und führen Sie stale Einträge zusammen oder löschen Sie sie3514* Lassen Sie Claude `MEMORY.md` umschreiben, oder bitten Sie ihn dazu: Behalten Sie eine Zeile pro Eintrag, verschieben Sie Details in Topic-Dateien, und führen Sie stale Einträge zusammen oder löschen Sie sie

3213* Um den Index selbst zu kürzen, siehe [Überprüfen und bearbeiten Sie Ihren Speicher](/docs/de/memory#audit-and-edit-your-memory)3515* Um den Index selbst zu kürzen, siehe [Audit und Bearbeitung Ihres Memory](/docs/de/memory#audit-and-edit-your-memory)

3214 3516 

3215<h3 id="pkill-pattern-matches-the-claude-code-process">3517<h3 id="pkill-pattern-matches-the-claude-code-process">

3216 pkill-Muster stimmt mit dem Claude Code-Prozess überein3518 pkill-Muster stimmt mit dem Claude Code-Prozess überein

3217</h3>3519</h3>

3218 3520 

3219Ein `pkill`-Befehl in einem Bash-Werkzeugaufruf verwendete ein Muster, normalerweise mit `-f`, das mit dem Claude Code-Prozess selbst übereinstimmt, daher weigert sich Claude Code, den Befehl auszuführen, anstatt die Sitzung zu beenden. Claude Code testet das Muster mit `pgrep`, bevor `pkill` ausgeführt wird, und weigert sich, wenn seine eigene Prozess-ID im Ergebnis ist. Die Überprüfung läuft nur unter Linux; unter macOS wird `pkill` unverändert ausgeführt. Vor v2.1.214 wurde der Befehl ausgeführt, und ein übereinstimmendes Muster beendete die Claude Code-Sitzung mitten im Zug.3521Ein `pkill`-Befehl in einem Bash-Tool-Aufruf verwendete ein Muster, normalerweise mit `-f`, das mit dem Claude Code-Prozess selbst übereinstimmt, daher weigert sich Claude Code, den Befehl auszuführen, anstatt die Sitzung zu beenden. Claude Code testet das Muster mit `pgrep`, bevor `pkill` ausgeführt wird, und weigert sich, wenn seine eigene Prozess-ID im Ergebnis ist. Die Überprüfung läuft nur unter Linux; auf macOS wird `pkill` unverändert ausgeführt. Vor v2.1.214 wurde der Befehl ausgeführt, und ein übereinstimmendes Muster beendete die Claude Code-Sitzung mitten im Zug.

3220 3522 

3221```text theme={null}3523```text theme={null}

3222pkill: Weigerung auszuführen — dieses Muster stimmt mit dem Claude CLI-Prozess überein (PID 12345). Verengen Sie das Muster, oder zielen Sie auf Ihre eigenen Kinder mit `pkill -P $$ ...`.3524pkill: Weigerung auszuführen — dieses Muster stimmt mit dem Claude CLI-Prozess überein (PID 12345). Verengen Sie das Muster, oder zielen Sie auf Ihre eigenen untergeordneten Prozesse mit `pkill -P $$ ...` ab.

3223```3525```

3224 3526 

3225Die Weigerung erscheint im Bash-Werkzeugergebnis, anstatt als Banner in Ihrem Terminal, und Claude passt den Befehl normalerweise selbst an.3527Die Weigerung erscheint im Bash-Tool-Ergebnis, anstatt als Banner in Ihrem Terminal, und Claude passt den Befehl normalerweise selbst an.

3226 3528 

3227**Was zu tun ist:**3529**Was zu tun ist:**

3228 3530 

3229* Verengen Sie das Muster, damit es nur den beabsichtigten Prozess abgleicht, zum Beispiel den vollständigen Pfad der Zielbinärdatei anstelle einer kurzen Teilzeichenfolge3531* Verengen Sie das Muster, damit es nur den beabsichtigten Prozess abgleicht, zum Beispiel den vollständigen Pfad der Zieldatei anstelle einer kurzen Teilzeichenfolge

3230* Um Prozesse zu stoppen, die von der aktuellen Shell gestartet wurden, verwenden Sie `pkill -P $$` mit dem Muster, das die Übereinstimmung auf die eigenen Kindprozesse der Shell beschränkt3532* Um Prozesse zu stoppen, die von der aktuellen Shell gestartet wurden, verwenden Sie `pkill -P $$` mit dem Muster, das die Übereinstimmung auf die untergeordneten Prozesse der Shell selbst beschränkt

3231 3533 

3232<h3 id="failed-to-write-to-a-teammate-inbox">3534<h3 id="failed-to-write-to-a-teammate-inbox">

3233 Fehler beim Schreiben in den Posteingang eines Teamkollegen3535 Fehler beim Schreiben in den Posteingang eines Teamkollegen

3234</h3>3536</h3>

3235 3537 

3236Claude Code konnte keine Nachricht in die Postfachdatei eines Teamkollegen unter `~/.claude/teams/{team-name}/inboxes/` schreiben, daher erhielt der Empfänger nichts. Der Schreibvorgang schlägt fehl, wenn Claude Code die Datei nicht erstellen oder aktualisieren kann, zum Beispiel weil die Festplatte voll ist, das Verzeichnis nicht beschreibbar ist oder ein anderer Agent die Postfachsperre zu lange hält. Vor v2.1.224 meldete Claude Code die Nachricht als gesendet, selbst wenn der Schreibvorgang fehlschlug.3538Claude Code konnte keine Nachricht in die Postfachdatei eines Teamkollegen unter `~/.claude/teams/{team-name}/inboxes/` schreiben, daher erhielt der Empfänger nichts. Der Schreibvorgang schlägt fehl, wenn Claude Code die Datei nicht erstellen oder aktualisieren kann, zum Beispiel weil die Festplatte voll ist, das Verzeichnis nicht beschreibbar ist oder ein anderer Agent die Inbox-Sperre zu lange hält. Vor v2.1.224 meldete Claude Code die Nachricht als gesendet, selbst wenn der Schreibvorgang fehlschlug.

3237 3539 

3238Der Fehler erscheint im Werkzeugergebnis des sendenden Agenten, anstatt als Banner in Ihrem Terminal, und sein Text weist Claude an, es erneut zu versuchen:3540Der Fehler erscheint im Tool-Ergebnis des sendenden Agenten, anstatt als Banner in Ihrem Terminal, und sein Text teilt Claude mit, es erneut zu versuchen:

3239 3541 

3240```text theme={null}3542```text theme={null}

3241Fehler beim Schreiben in den Posteingang des Forschers — nichts wurde gesendet. Versuchen Sie es erneut, oder kontaktieren Sie den Lead.3543Fehler beim Schreiben in den Posteingang des Forschers — nichts wurde gesendet. Versuchen Sie es erneut, oder kontaktieren Sie den Lead.

3242```3544```

3243 3545 

3244Strukturierte [Agent-Team](/docs/de/agent-teams)-Protokollnachrichten schlagen auf die gleiche Weise fehl, und der Fehler benennt die unzugestellte Nachricht: Wenn Claude Code eine Plangenehmigung, Planablehnung, Abschaltsanforderung oder Abschaltungsablehnung nicht schreiben kann, liest sich der Fehler `Fehler beim Schreiben der <Nachricht> in den Posteingang von <Name> — nichts wurde gesendet`. Die `Plangenehmigung` in dieser Liste ist die Entscheidung des Leads, der den Plan eines Teamkollegen genehmigt; die Planeinreichung des Teamkollegen ist die separate `Plangenehmigungsanforderung`-Nachricht. Diese Nachricht und zwei weitere Protokollnachrichten tragen ihren eigenen Nachrichtentext und ihre Konsequenz:3546Strukturierte [Agent-Team](/docs/de/agent-teams)-Protokollnachrichten schlagen auf die gleiche Weise fehl, und der Fehler benennt die unzugestellte Nachricht: Wenn Claude Code eine Plan-Genehmigung, Plan-Ablehnung, Shutdown-Anfrage oder Shutdown-Ablehnung nicht schreiben kann, liest sich der Fehler `Fehler beim Schreiben der <Nachricht> in den Posteingang von <Name> — nichts wurde gesendet`. Die `Plan-Genehmigung` in dieser Liste ist die Entscheidung des Leads, den Plan eines Teamkollegen zu genehmigen; die Plan-Einreichung des Teamkollegen ist die separate `Plan-Genehmigungsanfrage`-Nachricht. Diese Nachricht und zwei weitere Protokollnachrichten tragen ihren eigenen Nachrichtentext und ihre Konsequenzen:

3245 3547 

3246* `Fehler beim Schreiben der Plangenehmigungsanforderung in den Posteingang des Leads — Plan nicht eingereicht; versuchen Sie es erneut`: Der Plan des Teamkollegen erreichte den Lead nie, und der Teamkollege bleibt im Planmodus, bis eine Neueinreichung erfolgreich ist3548* `Fehler beim Schreiben der Plan-Genehmigungsanfrage in den Posteingang des Leads — Plan nicht eingereicht; versuchen Sie es erneut`: Der Plan des Teamkollegen erreichte den Lead nie, und der Teamkollege bleibt im Plan-Modus, bis eine Neueinreichung erfolgreich ist

3247* `Die Berechtigungsanforderung konnte nicht an den Team-Lead zugestellt werden (Postfachschreibfehler)`: Die Berechtigungsanforderung des Teamkollegen erreichte den Lead nie, daher genehmigte niemand den Werkzeugaufruf3549* `Die Berechtigungsanfrage konnte nicht an den Team-Lead zugestellt werden (Postfach-Schreibfehler)`: Die Berechtigungsanfrage des Teamkollegen erreichte den Lead nie, daher genehmigte niemand den Tool-Aufruf

3248* `Die Bestätigung konnte nicht in den Posteingang des Team-Leads geschrieben werden.`: Die Abschaltungsgenehmigung selbst trat in Kraft und der Teamkollege beendet; nur die Bestätigung an den Lead fehlt3550* `Die Bestätigung konnte nicht in den Posteingang des Team-Leads geschrieben werden.`: Die Shutdown-Genehmigung selbst trat in Kraft und der Teamkollege beendet; nur die Bestätigung an den Lead fehlt

3249 3551 

3250Wenn Sie selbst einen Teamkollegen kontaktieren, indem Sie `@name` gefolgt von der Nachricht in der Lead-Sitzung eingeben, erscheint derselbe Fehler als Benachrichtigung, `Konnte nicht in den Posteingang von @name schreiben — Nachricht nicht gesendet. Versuchen Sie es erneut.`, und Claude Code behält Ihren Text im Eingabefeld, damit Sie ihn erneut senden können.3552Wenn Sie selbst einen Teamkollegen kontaktieren, indem Sie `@name` gefolgt von der Nachricht in der Lead-Sitzung eingeben, erscheint derselbe Fehler als Benachrichtigung, `Konnte nicht in den Posteingang von @name schreiben — Nachricht nicht gesendet. Versuchen Sie es erneut.`, und Claude Code behält Ihren Text im Prompt-Feld, damit Sie ihn erneut senden können.

3251 3553 

3252**Was zu tun ist:**3554**Was zu tun ist:**

3253 3555 

3254* Bitten Sie den Absender, die Nachricht erneut zu senden; Konflikte um die Postfachsperre sind vorübergehend und klären sich beim erneuten Versuch3556* Bitten Sie den Absender, die Nachricht erneut zu senden; Contention für die Inbox-Sperre ist vorübergehend und wird beim Wiederholen gelöscht

3255* Überprüfen Sie den freien Speicherplatz, und überprüfen Sie, dass `~/.claude/teams` und die Dateien darunter von Ihrem Benutzer beschreibbar sind3557* Überprüfen Sie den freien Speicherplatz, und überprüfen Sie, dass `~/.claude/teams` und die Dateien darunter von Ihrem Benutzer beschreibbar sind

3256 3558 

3559<h3 id="teammate-agent-definition-not-restored">

3560 Agent-Definition des Teamkollegen wurde nicht wiederhergestellt

3561</h3>

3562 

3563Claude kontaktierte einen gestoppten [Agent-Team](/docs/de/agent-teams)-Teamkollegen, und Claude Code brachte ihn zurück, ohne die [Subagenten-Definition](/docs/de/agent-teams#use-subagent-definitions-for-teammates) erneut anzuwenden, von der er erzeugt wurde, weil seine Definitionsdatei aus einem Ordner ohne gespeichertes Vertrauen kam. Die Benachrichtigung folgt dem Wiederaufnahmebericht im Tool-Ergebnis des sendenden Agenten:

3564 

3565```text wrap theme={null}

3566Seine Agent-Definition wurde nicht wiederhergestellt: Der Ordner, aus dem seine Definitionsdatei stammt, ist nicht vertraut (Quelle: projectSettings), daher läuft der Teamkollege mit den Team-essentiellen Tools und ohne benutzerdefinierte Anweisungen. Um ihn wiederherzustellen, muss der Benutzer Claude Code in diesem Ordner ausführen und den Vertrauensdialog akzeptieren (das --debug-Protokoll benennt den Ordner); ändern Sie die Vertrauenseinstellungen nicht im Namen des Benutzers.

3567```

3568 

3569Die Überprüfung gilt für eine Definition im `.claude/agents/`-Verzeichnis des Projekts oder eines `--add-dir`-Verzeichnisses, und das Akzeptieren des Vertrauensdialogs für einen übergeordneten Ordner erfüllt ihn nicht.

3570 

3571**Was zu tun ist:**

3572 

3573* Führen Sie `claude` in dem Ordner aus, den das [Debug-Protokoll](/docs/de/debug-your-config) benennt, und akzeptieren Sie den Vertrauensdialog. Die Definition wird erneut angewendet, wenn Claude Code den Teamkollegen das nächste Mal zurückbringt; Sie müssen die Lead-Sitzung nicht neu starten

3574* Oder setzen Sie den `hasTrustDialogAccepted`-Eintrag auf `true` in `~/.claude.json`, wobei Sie den genauen `projects["<path>"]`-Schlüssel verwenden, den das Debug-Protokoll druckt

3575 

3257<h3 id="message-too-large-for-cross-session-delivery">3576<h3 id="message-too-large-for-cross-session-delivery">

3258 Nachricht zu groß für sitzungsübergreifende Zustellung3577 Nachricht zu groß für sitzungsübergreifende Zustellung

3259</h3>3578</h3>

3260 3579 

3261Claudes [sitzungsübergreifende Nachricht](/docs/de/cross-session-messaging) an eine andere Ihrer Sitzungen auf dieser Maschine war zu lang zum Senden. Claude Code lehnte sie ab, und die empfangende Sitzung erhielt nichts. Die Weigerung erscheint im Werkzeugergebnis der sendenden Sitzung, nicht als Banner in Ihrem Terminal. Sie benennt beide Größen und wie die Nachricht passt:3580Claudes [sitzungsübergreifende Nachricht](/docs/de/cross-session-messaging) an eine andere Ihrer Sitzungen auf dieser Maschine war zu lang zum Senden. Claude Code weigerte sich, und die empfangende Sitzung erhielt nichts. Die Weigerung erscheint im Tool-Ergebnis der sendenden Sitzung, nicht als Banner in Ihrem Terminal. Sie benennt beide Größen und wie die Nachricht passt:

3262 3581 

3263```text wrap theme={null}3582```text wrap theme={null}

3264Fehler beim Senden an api-worker: Nachricht zu groß für sitzungsübergreifende Zustellung: Die serialisierte Nachricht ist 1.203.844 Zeichen und das Limit ist 1.048.576. Kürzen Sie den Nachrichtentext — legen Sie Masseninhalt in eine Datei, die der Empfänger lesen kann, anstatt in die Nachricht — oder teilen Sie ihn in kleinere Nachrichten auf.3583Fehler beim Senden an api-worker: Nachricht zu groß für sitzungsübergreifende Zustellung: Die serialisierte Nachricht ist 1.203.844 Zeichen und das Limit ist 1.048.576. Kürzen Sie den Nachrichtentext — legen Sie Masseninhalt in eine Datei, die der Empfänger lesen kann, anstatt in die Nachricht — oder teilen Sie ihn in kleinere Nachrichten auf.


3277 Zu viele Nachrichten an diese Sitzung gerade eben3596 Zu viele Nachrichten an diese Sitzung gerade eben

3278</h3>3597</h3>

3279 3598 

3280Claude sendete einen schnellen Schub von [sitzungsübergreifenden Nachrichten](/docs/de/cross-session-messaging) an eine Ihrer Sitzungen auf dieser Maschine, und der Schub erreichte das, was diese Sitzung akzeptiert. Claude Code lehnte den nächsten Sendevorgang ab, und die empfangende Sitzung erhielt nichts davon. Die Weigerung erscheint im Werkzeugergebnis der sendenden Sitzung, nicht als Banner in Ihrem Terminal:3599Claude sendete einen schnellen Schub von [sitzungsübergreifenden Nachrichten](/docs/de/cross-session-messaging) an eine Ihrer Sitzungen auf dieser Maschine, und der Schub erreichte das, was diese Sitzung akzeptiert. Claude Code weigerte sich, die nächste zu senden, und die empfangende Sitzung erhielt nichts davon. Die Weigerung erscheint im Tool-Ergebnis der sendenden Sitzung, nicht als Banner in Ihrem Terminal:

3281 3600 

3282```text wrap theme={null}3601```text wrap theme={null}

3283Fehler beim Senden an api-worker: Zu viele Nachrichten an diese Sitzung gerade eben: 30 wurden kürzlich gesendet und mehr würden durch sein Ratenlimit gelöscht, daher wurde diese nicht gesendet. Fassen Sie das Verbleibende in eine Nachricht zusammen, oder warten Sie ein wenig, bevor Sie mehr senden.3602Fehler beim Senden an api-worker: Zu viele Nachrichten an diese Sitzung gerade eben: 30 wurden kürzlich gesendet und mehr würden durch sein Ratenlimit gelöscht, daher wurde diese nicht gesendet. Fassen Sie das Verbleibende in eine Nachricht zusammen, oder warten Sie ein wenig, bevor Sie mehr senden.


3288* Normalerweise nichts: Claude fasst den verbleibenden Inhalt in eine Nachricht zusammen, oder wartet, bevor mehr gesendet wird3607* Normalerweise nichts: Claude fasst den verbleibenden Inhalt in eine Nachricht zusammen, oder wartet, bevor mehr gesendet wird

3289* Wenn Sie den Schub selbst ausgelöst haben, bitten Sie Claude, das Verbleibende in eine einzelne Nachricht zu kombinieren3608* Wenn Sie den Schub selbst ausgelöst haben, bitten Sie Claude, das Verbleibende in eine einzelne Nachricht zu kombinieren

3290 3609 

3291Vor v2.1.236 meldete Claude Code diese Sendungen als gesendet. Die empfangende Sitzung ließ sie ungelesen fallen.3610Vor v2.1.236 meldete Claude Code diese Sends als gesendet. Die empfangende Sitzung ließ sie ungelesen fallen.

3292 3611 

3293<h3 id="refusing-to-send-a-cross-session-message">3612<h3 id="refusing-to-send-a-cross-session-message">

3294 Weigerung, eine sitzungsübergreifende Nachricht zu senden3613 Weigerung, eine sitzungsübergreifende Nachricht zu senden

3295</h3>3614</h3>

3296 3615 

3297Bevor Claude Code eine [sitzungsübergreifende Nachricht](/docs/de/cross-session-messaging) an eine andere Ihrer Sitzungen auf dieser Maschine schreibt, überprüft es, dass das Postfach-Socket der Zielsitzung der Endpunkt ist, an den die Nachricht adressiert wurde. Wenn eine Überprüfung fehlschlägt, weigert sich Claude Code, den Sendevorgang in der sendenden Sitzung durchzuführen, und die Zielsitzung erhält nichts. Für eine Nachricht, die Claude sendet, erscheint die Weigerung im Werkzeugergebnis der sendenden Sitzung:3616Bevor Claude Code eine [sitzungsübergreifende Nachricht](/docs/de/cross-session-messaging) an eine andere Ihrer Sitzungen auf dieser Maschine schreibt, überprüft es, dass die Inbox-Socket der Ziel-Sitzung der Endpunkt ist, an den die Nachricht adressiert wurde. Wenn eine Überprüfung fehlschlägt, weigert sich Claude Code, den Send in der sendenden Sitzung zu tätigen, und die Ziel-Sitzung erhält nichts. Für eine Nachricht, die Claude sendet, erscheint die Weigerung im Tool-Ergebnis der sendenden Sitzung:

3298 3617 

3299```text theme={null}3618```text theme={null}

3300Fehler beim Senden an api-worker: Weigerung zu senden: Antwortziel ist ein Symlink3619Fehler beim Senden an api-worker: Weigerung zu senden: Antwortziel ist ein Symlink


3302 3621 

3303Der Text nach `Weigerung zu senden:` benennt die Überprüfung, die fehlgeschlagen ist:3622Der Text nach `Weigerung zu senden:` benennt die Überprüfung, die fehlgeschlagen ist:

3304 3623 

3305* `Antwortziel ist ein Symlink`: Ein symbolischer Link sitzt am Socket-Pfad der Zielsitzung. Claude Code liefert nicht durch ihn, weil ein Link dort die Nachricht zu einem Endpunkt umleiten könnte, den die Zielsitzung nicht erstellt hat.3624* `Antwortziel ist ein Symlink`: Ein symbolischer Link sitzt am Socket-Pfad der Ziel-Sitzung. Claude Code liefert nicht durch ihn, weil ein Link dort die Nachricht zu einem Endpunkt umleiten könnte, den die Ziel-Sitzung nicht erstellt hat.

3306* `Antwortziel kann nicht überprüft werden`: Claude Code konnte den Zielpfad überhaupt nicht inspizieren, zum Beispiel weil das Lesen mit einem Berechtigungsfehler fehlschlug.3625* `Antwortziel kann nicht überprüft werden`: Claude Code konnte den Zielpfad überhaupt nicht überprüfen, zum Beispiel weil das Lesen mit einem Berechtigungsfehler fehlschlug.

3307* `Verbundener Endpunkt ist nicht der erwartete Prozess`: Der Prozess, der den Socket hält, ist nicht die Sitzung, an die die Nachricht adressiert wurde, daher ist die Adresse veraltet oder ein anderer Prozess hat den Socket ersetzt.3626* `Verbundener Endpunkt ist nicht der erwartete Prozess`: Der Prozess, der den Socket hält, ist nicht die Sitzung, an die die Nachricht adressiert wurde, daher ist die Adresse veraltet oder ein anderer Prozess hat den Socket ersetzt.

3308* `Verbundene Endpunkt-Identität konnte nicht gelesen werden`: Claude Code verbunden, konnte aber nicht lesen, welcher Prozess das andere Ende hält, daher konnte es das Ziel nicht bestätigen. Dies kann vorübergehend sein.3627* `Verbundene Endpunkt-Identität konnte nicht gelesen werden`: Claude Code verbunden, konnte aber nicht lesen, welcher Prozess das andere Ende hält, daher konnte es das Ziel nicht bestätigen. Dies kann vorübergehend sein.

3309* `Verbundener Endpunkt wird nicht von diesem Benutzer besessen`: Der Prozess, der den Socket hält, läuft unter einem anderen Benutzerkonto, daher ist es nicht eine Ihrer Sitzungen.3628* `Verbundener Endpunkt wird nicht von diesem Benutzer besessen`: Der Prozess, der den Socket hält, läuft unter einem anderen Benutzerkonto, daher ist es nicht eine Ihrer Sitzungen.


3313**Was zu tun ist:**3632**Was zu tun ist:**

3314 3633 

3315* Normalerweise nichts: Die Überprüfungen verhindern, dass eine Nachricht einen anderen Endpunkt als die Sitzung erreicht, an die sie adressiert wurde, und nichts wurde gesendet3634* Normalerweise nichts: Die Überprüfungen verhindern, dass eine Nachricht einen anderen Endpunkt als die Sitzung erreicht, an die sie adressiert wurde, und nichts wurde gesendet

3316* Bitten Sie Claude, Ihre Sitzungen erneut aufzulisten und erneut zu senden; eine Weigerung, die durch eine veraltete Adresse verursacht wird, klärt sich, sobald Claude an die aktuelle sendet3635* Bitten Sie Claude, Ihre Sitzungen erneut aufzulisten und erneut zu senden; eine Weigerung, die durch eine veraltete Adresse verursacht wird, wird gelöscht, sobald Claude an die aktuelle sendet

3317* Wenn `Antwortziel ist ein Symlink` für eine Sitzung wiederholt wird, überprüfen Sie, was einen Link am Socket-Pfad dieser Sitzung erstellt hat, angezeigt in ihrem `/status` unter `Peer address`3636* Wenn `Antwortziel ist ein Symlink` für eine Sitzung wiederholt wird, überprüfen Sie, was einen Link am Socket-Pfad dieser Sitzung erstellt hat, angezeigt in ihrem `/status` unter `Peer address`

3318* Für `Verbundene Endpunkt-Identität konnte nicht gelesen werden`, erneut senden; die Bedingung kann vorübergehend sein3637* Für `Verbundene Endpunkt-Identität konnte nicht gelesen werden`, erneut senden; die Bedingung kann vorübergehend sein

3319* Wenn `Verbundener Endpunkt wird nicht von diesem Benutzer besessen` auf einer gemeinsamen Maschine erscheint, läuft die Sitzung unter diesem Endpunkt unter einem anderen Benutzerkonto, daher kann Claude sie nicht von Ihrem aus kontaktieren3638* Wenn `Verbundener Endpunkt wird nicht von diesem Benutzer besessen` auf einer gemeinsamen Maschine erscheint, läuft die Sitzung unter diesem Endpunkt unter einem anderen Benutzerkonto, daher kann Claude sie nicht von Ihrem aus kontaktieren

3320 3639 

3321Vor v2.1.248 überprüfte Claude Code nicht den Besitzer des Endpunkts oder die Prozessstartzeit, daher erscheinen die Weigerungen, die diese Überprüfungen benennen, nicht auf früheren Versionen.3640Vor v2.1.248 überprüfte Claude Code nicht den Besitzer des Endpunkts oder die Prozess-Startzeit, daher erscheinen die Verweigerungen, die diese Überprüfungen benennen, nicht auf früheren Versionen.

3322 3641 

3323<h3 id="refusing-after-a-symlink-changed">3642<h3 id="refusing-after-a-symlink-changed">

3324 Weigerung, einen Pfad zu lesen, zu schreiben oder zu durchsuchen3643 Weigerung, einen Pfad zu lesen, zu schreiben oder zu durchsuchen

3325</h3>3644</h3>

3326 3645 

3327Claude Code überprüft die [Berechtigungsregeln](/docs/de/permissions#read-and-edit) eines Dateipfads, bestätigt dann diese Auflösung erneut, wenn das Werkzeug die Datei öffnet oder die Suche startet. Wenn es nicht bestätigen kann, dass der Pfad immer noch zu dem Ort führt, den die Überprüfung genehmigt hat, weigert sich Claude Code, die Operation durchzuführen. Die Weigerung erscheint im Werkzeugergebnis:3646Claude Code überprüft die [Berechtigungsregeln](/docs/de/permissions#read-and-edit) eines Dateipfads, bestätigt dann diese Auflösung erneut, wenn das Tool die Datei öffnet oder die Suche startet. Wenn es nicht bestätigen kann, dass der Pfad immer noch zu dem Ort führt, den die Überprüfung genehmigt hat, weigert sich Claude Code, die Operation auszuführen, anstatt sie zu folgen. Die Weigerung erscheint im Tool-Ergebnis:

3328 3647 

3329```text theme={null}3648```text wrap theme={null}

3330Weigerung zu lesen /path/to/file: Seine Symlink-Auflösung hat sich nach der Berechtigungsprüfung geändert. Wenn ein Link im Arbeitsverzeichnis gleichzeitig umgeschrieben wird, stoppen Sie das und versuchen Sie es erneut.3649Weigerung zu lesen /path/to/file: Seine Symlink-Auflösung änderte sich nach der Berechtigungsprüfung (ein Link auf dem Weg führt jetzt irgendwohin, das die Überprüfung nicht sah). Wenn ein Link im Arbeitsverzeichnis gleichzeitig umgeschrieben wird, stoppen Sie das und versuchen Sie es erneut.

3331```3650```

3332 3651 

3333Der Text nach dem Pfad benennt den Grund:3652Jede Weigerung benennt ihren Grund:

3334 3653 

3335* `Seine Symlink-Auflösung hat sich nach der Berechtigungsprüfung geändert`: Ein Symlink entlang des Pfads oder an einer Grep- oder Glob-Suchroot wurde zwischen der Berechtigungsprüfung und der Operation ersetzt3654* `Seine Symlink-Auflösung änderte sich nach der Berechtigungsprüfung`: Ein Symlink entlang des Pfads, oder bei einer Grep- oder Glob-Suchwurzel, wurde zwischen der Berechtigungsprüfung und der Operation ersetzt. In einer Leseverweigerung benennt der eingeklammerte Satz, welcher Vergleich fehlschlug.

3336* `Seine Übergeordnete-Verzeichnis-Symlink-Auflösung hat sich nach der Berechtigungsprüfung geändert`: Ein Verzeichnis, das der Schreibpfad durchläuft, führt nicht mehr zu dem genehmigten Ort3655* `Seine Symlink-Auflösung des übergeordneten Verzeichnisses änderte sich nach der Berechtigungsprüfung`: Ein Verzeichnis, das der Schreibpfad durchläuft, wird nicht mehr zu dem genehmigten Ort aufgelöst

3337* `Es ist ein symbolischer Link. Schreiben Sie stattdessen zum Ziel des Links`: Ein symbolischer Link sitzt am genehmigten Schreibort selbst3656* `Es ist ein symbolischer Link. Schreiben Sie stattdessen zum Ziel-Pfad des Links`: Ein Symlink sitzt am genehmigten Schreibort selbst, zum Beispiel eine `CLAUDE.md`, die ein Symlink zu `AGENTS.md` ist; die Nachricht leitet Claude zum Ziel des Links

3338* `Ein Pfad, durch den eine seiner Read-Ablehnungsregeln geschrieben wird, hat sich geändert, während die Suche vorbereitet wurde. Versuchen Sie es erneut.`: Eine `Read`-Ablehnungsregel für die Suche benennt einen Pfad, der durch einen Symlink führt, und dieser Link hat sich geändert, während Claude Code die Suche vorbereitete3657* `Weigerung, durch Symlink zu schreiben: <path>. Lösen Sie den Symlink auf und übergeben Sie den echten Ziel-Pfad explizit.`: dieselbe Bedingung, die erfasst wird, wenn ein anderer Schreiber die Datei öffnet, wie ein Schreiben zu einer verlinkten `.mcp.json`

3339* `Es konnte nicht geöffnet werden (EACCES) — es ist nicht lesbar, oder wird gleichzeitig ersetzt.`: Die Suchroot existiert, konnte aber nicht geöffnet werden; der eingeklammerte Code ist der Betriebssystemfehler3658* `Weigerung, in ein verlinktes Verzeichnis zu schreiben: <path>`: Das Verzeichnis, das die Datei hält, ist selbst ein symbolischer Link, zum Beispiel das `.claude/`-Verzeichnis eines Projekts, das mit einem anderen Ort verlinkt ist

3340* `Seine Berechtigungsprüfung ist abgelaufen, bevor sie ausgeführt wurde (zu viele gleichzeitige Dateivorgänge). Versuchen Sie es erneut.`: Claude Code hat den Genehmigungsdatensatz unter vielen gleichzeitigen Dateivorgängen entfernt, bevor das Werkzeug ihn verwendete; das erneute Versuchen führt eine frische Berechtigungsprüfung durch3659* `Ein Pfad, durch den eine seiner Read-Ablehnungsregeln geschrieben wird, änderte sich, während die Suche vorbereitet wurde. Versuchen Sie es erneut.`: Eine `Read`-Ablehnungsregel für die Suche benennt einen Pfad, der durch einen Symlink führt, und dieser Link änderte sich, während Claude Code die Suche vorbereitete

3341* `ripgrep wurde nur nach Name auf PATH gefunden, und eine Suche außerhalb des Arbeitsverzeichnisses kann Ihre Read-Ablehnungsregeln in dieser Konfiguration nicht anwenden`: Claude Code konnte die `rg`-Binärdatei nicht zu einem absoluten Pfad auflösen, daher weigert es sich, Suchen außerhalb des Arbeitsverzeichnisses durchzuführen, anstatt eine auszuführen, die Ihre Ablehnungsregeln nicht abdecken3660* `Es konnte nicht geöffnet werden (EACCES) — es ist nicht lesbar, oder wird gleichzeitig ersetzt.`: Die Suchwurzel existiert, konnte aber nicht geöffnet werden; der eingeklammerte Code ist der Betriebssystemfehler

3661* `Seine Berechtigungsprüfung lief ab, bevor sie lief (zu viele gleichzeitige Dateivorgänge). Versuchen Sie es erneut.`: Claude Code räumte den Genehmigungsdatensatz unter vielen gleichzeitigen Dateivorgängen auf, bevor das Tool ihn verwendete; das Wiederholen führt eine frische Berechtigungsprüfung durch

3662* `ripgrep wurde nur nach Name auf PATH gefunden, und eine Suche außerhalb des Arbeitsverzeichnisses kann Ihre Read-Ablehnungsregeln in dieser Konfiguration nicht anwenden`: Claude Code konnte die `rg`-Binärdatei nicht zu einem absoluten Pfad auflösen, daher weigert es sich, Suchen außerhalb des Arbeitsverzeichnisses auszuführen, anstatt eine auszuführen, die Ihre Ablehnungsregeln nicht abdecken

3342 3663 

3343**Was zu tun ist:**3664**Was zu tun ist:**

3344 3665 

3345* Normalerweise nichts: Die Weigerung erreicht Claude als Werkzeugergebnis, und die abgelehnte Operation wird nicht ausgeführt3666* Normalerweise nichts: Die Weigerung erreicht Claude als das Tool-Ergebnis, und die abgelehnte Operation wird nicht ausgeführt

3346* Wenn eine Symlink-Weigerung auf einem Pfad wiederholt wird, finden Sie, was einen Link dort ständig umschreibt, wie ein Build-Tool oder Datei-Watcher, oder bitten Sie Claude, stattdessen den aufgelösten Pfad der Datei zu verwenden3667* Wenn eine Symlink-Weigerung auf einem Pfad wiederholt wird, finden Sie, was einen Link dort ständig umschreibt, wie ein Build-Tool oder File-Watcher, oder bitten Sie Claude, den aufgelösten Pfad der Datei anstelle des verlinkten zu verwenden

3347* Wenn diese Weigerung für jede Datei erscheint, während Claude Code unter Windows in einem AppContainer oder Sandbox mit eingeschränktem Token läuft, aktualisieren Sie auf v2.1.265 oder später3668* Wenn diese Weigerung für jede Datei erscheint, während Claude Code unter Windows in einem AppContainer oder Sandbox mit eingeschränktem Token läuft, aktualisieren Sie auf v2.1.265 oder später

3669* Wenn eine Leseverweigerung auf macOS für eine Datei erscheint, die nichts umschreibt, wie ein Screenshot, der in den Prompt gezogen wird, aktualisieren Sie auf v2.1.273 oder später

3348* Für die ripgrep-Weigerung installieren Sie ripgrep mit Ihrem Paketmanager, damit `rg` zu einem absoluten Pfad auf `PATH` aufgelöst wird, oder halten Sie Suchen unter dem Arbeitsverzeichnis3670* Für die ripgrep-Weigerung installieren Sie ripgrep mit Ihrem Paketmanager, damit `rg` zu einem absoluten Pfad auf `PATH` aufgelöst wird, oder halten Sie Suchen unter dem Arbeitsverzeichnis

3349 3671 

3350Vor v2.1.251 überprüfte Claude Code die Auflösung eines Pfads nur für Dateischreibvorgänge erneut, daher konnte ein Link, der nach der Berechtigungsprüfung ersetzt wurde, einen Lese- oder Suchvorgang zu einem anderen Ort umleiten, ohne eine Nachricht. Von diesen Weigerungen erscheint nur die Übergeordnete-Verzeichnis-Schreib-Weigerung auf früheren Versionen.3672Vor v2.1.251 überprüfte Claude Code die Auflösung eines Pfads nur für Dateischreibvorgänge erneut, daher konnte ein Link, der nach der Berechtigungsprüfung ersetzt wurde, eine Lese- oder Suche zu einem anderen Ort umleiten, ohne eine Nachricht. Von diesen Verweigerungen erscheint nur die Schreibverweigerung des übergeordneten Verzeichnisses auf früheren Versionen.

3351 3673 

3352<h3 id="task-output-swap-refused">3674<h3 id="task-output-swap-refused">

3353 Task-Ausgabe-Swap abgelehnt3675 Task-Ausgabe-Swap abgelehnt

3354</h3>3676</h3>

3355 3677 

3356Claude Code speichert die Ausgabe jedes Bash-Befehls in einer Datei unter seinem Temp-Verzeichnis. Jedes Mal, wenn es eine dieser Dateien öffnet, überprüft es, dass der Pfad immer noch zu der Datei führt, die es erstellt hat, ohne Symlink, zusätzlichen Hard Link oder verschobenes Verzeichnis, das ihn umleitet. Diese Nachricht bedeutet, dass diese Überprüfung fehlgeschlagen ist, daher weigerte sich Claude Code, die Operation durchzuführen, anstatt die Ausgabe durch diesen Pfad zu schreiben oder zu lesen. Die Nachricht erscheint im Bash-Werkzeugergebnis:3678Claude Code speichert die Ausgabe jedes Bash-Befehls in einer Datei unter seinem Temp-Verzeichnis. Jedes Mal, wenn es eine dieser Dateien öffnet, überprüft es, dass der Pfad immer noch zu der Datei führt, die es erstellt hat, ohne Symlink, zusätzlichen Hard-Link oder verschobenes Verzeichnis, das ihn umleitet. Diese Nachricht bedeutet, dass diese Überprüfung fehlgeschlagen ist, daher weigerte sich Claude Code, die Operation auszuführen, anstatt Ausgabe durch diesen Pfad zu schreiben oder zu lesen. Die Nachricht erscheint im Bash-Tool-Ergebnis:

3357 3679 

3358```text wrap theme={null}3680```text wrap theme={null}

3359Task-Ausgabe-Swap abgelehnt (Tasks-Verzeichnis verschoben oder verlinkt): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. Zur Wiederherstellung: Starten Sie Claude Code mit CLAUDE_CODE_TMPDIR neu, das auf ein frisches Verzeichnis gesetzt ist; oder, wenn /private/tmp/claude-501/-Users-you-my-project ein verwaistes Verzeichnis oder ein Symlink ist, der nicht dort sein sollte, entfernen Sie diesen Eintrag selbst (nicht das, worauf er zeigt) und starten Sie neu.3681Task-Ausgabe-Swap abgelehnt (Tasks-Verzeichnis verschoben oder verlinkt): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. Zur Wiederherstellung: Starten Sie Claude Code mit CLAUDE_CODE_TMPDIR neu, das auf ein frisches Verzeichnis gesetzt ist; oder, wenn /private/tmp/claude-501/-Users-you-my-project ein verwaistes Verzeichnis oder ein Symlink ist, der nicht dort sein sollte, entfernen Sie diesen Eintrag selbst (nicht das, worauf er zeigt) und starten Sie neu.

3360```3682```

3361 3683 

3362Der eingeklammerte Text benennt die Überprüfung, die fehlgeschlagen ist. Gründe wie `Ausgabe-Symlink wurde umgeleitet`, `Ausgabedatei-Identität geändert` und `nicht eine reguläre Datei` melden alle dieselbe Bedingung: Etwas am oder entlang des Ausgabepfads ist nicht mehr die Datei, die Claude Code erstellt hat. Nur einige Gründe tragen einen `Zur Wiederherstellung:`-Satz.3684Der eingeklammerte Text benennt die Überprüfung, die fehlgeschlagen ist. Gründe wie `Ausgabe-Symlink wurde umgeleitet`, `Ausgabedatei-Identität änderte sich` und `keine reguläre Datei` melden alle dieselbe Bedingung: Etwas am oder entlang des Ausgabepfads ist nicht mehr die Datei, die Claude Code erstellt hat. Nur einige Gründe tragen einen `Zur Wiederherstellung:`-Satz.

3363 3685 

3364Wenn die Überprüfung fehlschlägt, während ein Befehl noch läuft, stoppt Claude Code den Befehl, und sein Ergebnis meldet:3686Wenn die Überprüfung fehlschlägt, während ein Befehl noch läuft, stoppt Claude Code den Befehl, und sein Ergebnis meldet:

3365 3687 


3378 Die Quelldatei ist kein gültiger UTF-8-Text3700 Die Quelldatei ist kein gültiger UTF-8-Text

3379</h3>3701</h3>

3380 3702 

3381Claude versuchte, ein [Artefakt](/docs/de/artifacts) aus einer Datei zu veröffentlichen, deren Bytes nicht als Text dekodiert werden, oder deren Text bereits das Ersatzzeichen `U+FFFD` enthält, daher weigerte sich Claude Code, die Veröffentlichung durchzuführen, bevor etwas hochgeladen wurde. Die Nachricht erscheint im Artifact-Werkzeugergebnis und benennt die erste Position zum Beheben:3703Claude versuchte, ein [Artefakt](/docs/de/artifacts) aus einer Datei zu veröffentlichen, deren Bytes nicht als Text dekodiert werden, oder deren Text bereits das Ersatzzeichen `U+FFFD` enthält, daher weigerte sich Claude Code, die Veröffentlichung zu tätigen, bevor etwas hochgeladen wurde. Die Nachricht erscheint im Artifact-Tool-Ergebnis und benennt die erste Position zum Beheben:

3382 3704 

3383```text wrap theme={null}3705```text wrap theme={null}

3384file_path: Die Quelldatei ist kein gültiger UTF-8-Text (erstes ungültiges Byte bei Zeile 12, Spalte 40). Sie kann in einer anderen Kodierung gespeichert sein oder Binärdaten enthalten. Schreiben Sie sie als UTF-8 um, dann veröffentlichen Sie erneut. Nichts wurde veröffentlicht.3706file_path: Die Quelldatei ist kein gültiger UTF-8-Text (erstes ungültiges Byte bei Zeile 12, Spalte 40). Sie kann in einer anderen Kodierung gespeichert sein oder Binärdaten enthalten. Schreiben Sie sie als UTF-8 um, dann veröffentlichen Sie erneut. Nichts wurde veröffentlicht.

3385 3707 

3386file_path: Die Quelldatei hat das Ersatzzeichen U+FFFD bei Zeile 12, Spalte 40, normalerweise dort gelassen, wo eine frühere Bearbeitung oder ein Einfügen ein Zeichen verloren hat. Ersetzen Sie es durch den beabsichtigten Text (in HTML schreiben Sie ein beabsichtigtes U+FFFD als &#xFFFD;), dann veröffentlichen Sie erneut. Nichts wurde veröffentlicht.3708file_path: Die Quelldatei hat das Ersatzzeichen U+FFFD bei Zeile 12, Spalte 40, normalerweise dort gelassen, wo eine frühere Bearbeitung oder ein Einfügen ein Zeichen verlor. Ersetzen Sie es durch den beabsichtigten Text (in HTML schreiben Sie ein beabsichtigtes U+FFFD als &#xFFFD;), dann veröffentlichen Sie erneut. Nichts wurde veröffentlicht.

3387```3709```

3388 3710 

3389Claude Code dekodiert die Datei als UTF-8, oder als UTF-16, wenn sie mit einer Little-Endian-UTF-16-Byte-Order-Marke beginnt. Wenn eine solche UTF-16-Datei nicht dekodiert, benennt die erste Nachricht `UTF-16` und weist Sie immer noch an, die Datei als UTF-8 umzuschreiben. Wenn mehr Positionen der benannten folgen, fügt die Nachricht eine Zählung wie `(+2 weitere)` nach der Position hinzu.3711Claude Code dekodiert die Datei als UTF-8, oder als UTF-16, wenn sie mit einer Little-Endian-UTF-16-Byte-Order-Mark beginnt. Wenn eine solche UTF-16-Datei nicht dekodiert, benennt die erste Nachricht `UTF-16` und teilt Ihnen immer noch mit, die Datei als UTF-8 umzuschreiben. Wenn mehr Positionen der benannten folgen, fügt die Nachricht eine Zählung wie `(+2 weitere)` nach der Position hinzu.

3390 3712 

3391**Was zu tun ist:**3713**Was zu tun ist:**

3392 3714 

3393* Normalerweise nichts: Claude schreibt die Datei um und veröffentlicht erneut3715* Normalerweise nichts: Claude schreibt die Datei um und veröffentlicht erneut

3394* Wenn die Datei eine ist, die Sie geschrieben oder exportiert haben, speichern Sie sie erneut als UTF-8, und ersetzen Sie jedes `U+FFFD` durch das Zeichen, das eine frühere Bearbeitung, ein Einfügen oder eine Konvertierung verloren hat3716* Wenn die Datei eine ist, die Sie geschrieben oder exportiert haben, speichern Sie sie erneut als UTF-8, und ersetzen Sie jedes `U+FFFD` durch das Zeichen, das eine frühere Bearbeitung, ein Einfügen oder eine Konvertierung verlor

3395* Um ein beabsichtigtes `U+FFFD` auf der Seite anzuzeigen, schreiben Sie es als `&#xFFFD;` im HTML, anstatt das Literalzeichen3717* Um ein beabsichtigtes `U+FFFD` auf der Seite anzuzeigen, schreiben Sie es als `&#xFFFD;` im HTML, anstatt das Literalzeichen

3396 3718 

3397Vor v2.1.267 lud Claude Code eine solche Datei ohne Überprüfung hoch, und der Server lehnte die Veröffentlichung stattdessen ab.3719Vor v2.1.267 lud Claude Code eine solche Datei ohne Überprüfung hoch, und der Server lehnte die Veröffentlichung stattdessen ab.

3398 3720 

3721<h3 id="reading-a-local-file-from-outside-the-connected-folders">

3722 Lesen einer lokalen Datei von außerhalb der verbundenen Ordner in einer Cowork-Sitzung

3723</h3>

3724 

3725In einer [Cowork](https://claude.com/docs/cowork/overview)-Sitzung, die auf Ihrer Maschine in der Claude Desktop-App läuft, benannte Claude eine lokale Datei für ein [Artefakt](/docs/de/artifacts). Claude Code konnte nicht bestätigen, dass die Datei eine einfache Datei in den verbundenen Ordnern der Sitzung ist: Der Pfad sitzt außerhalb dieser Ordner, führt durch einen Symlink, oder ist so geschrieben, dass er eine andere Datei als die, die er zu sein scheint, benennen kann. Das Lesen einer solchen Datei benötigt Ihre Genehmigung, und in einer Sitzung, die Ihnen die Genehmigungskarte nicht zeigen kann, wie eine, die auf das Überspringen aller Genehmigungen eingestellt ist, weigert sich Claude Code, die Datei zu lesen.

3726 

3727Die Weigerung erscheint im Artifact-Tool-Ergebnis; wenn die Datei überhaupt nicht untersucht werden konnte, benennt sie stattdessen diesen Fehler:

3728 

3729```text wrap theme={null}

3730Das Lesen einer lokalen Datei von außerhalb der verbundenen Ordner dieser Sitzung, oder durch einen Link, benötigt die Genehmigungskarte, und niemand kann sie in dieser Cowork-Sitzung beantworten. Verwenden Sie eine einfache Datei in den verbundenen Ordnern; versuchen Sie diese Datei nicht erneut in dieser Sitzung.

3731 

3732Kann file_path nicht lesen (ENOENT) — die Datei konnte nicht untersucht werden, und niemand kann die Genehmigungskarte in dieser Cowork-Sitzung beantworten. Überprüfen Sie, dass die Datei als einfache Datei in den verbundenen Ordnern existiert, dann versuchen Sie es mit diesem Pfad erneut.

3733```

3734 

3735**Was zu tun ist:**

3736 

3737* Normalerweise nichts: Die Nachricht teilt Claude mit, stattdessen eine einfache Datei in den verbundenen Ordnern zu verwenden

3738* Um diese genaue Datei in das Artefakt zu legen, kopieren Sie sie als reguläre Datei, keinen Symlink, in einen der verbundenen Ordner der Sitzung, und fragen Sie erneut

3739 

3740<h3 id="webfetch-cannot-fetch-localhost">

3741 WebFetch kann localhost nicht abrufen

3742</h3>

3743 

3744Claude hat [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) mit einer URL aufgerufen, deren Hostname keinen Punkt hat, wie `http://localhost:3000` oder einen bloßen Intranet-Namen wie `http://wiki/`. WebFetch weigert sich, diese URLs vor jedem Anfrage zu machen:

3745 

3746```text wrap theme={null}

3747WebFetch kann localhost oder andere Hostnamen ohne Punkt nicht abrufen. Um einen lokalen Server zu erreichen, verwenden Sie stattdessen Bash mit curl.

3748```

3749 

3750**Was zu tun ist:**

3751 

3752* Normalerweise nichts: Die Nachricht zeigt Claude auf `curl` durch das Bash-Tool, das lokale und Intranet-Server erreichen kann

3753 

3754Vor v2.1.268 meldete WebFetch diese URLs mit einem generischen `Ungültige URL`-Fehler.

3755 

3399<h2 id="background-session-errors">3756<h2 id="background-session-errors">

3400 Fehler in Hintergrund-Sitzungen3757 Fehler in Hintergrund-Sitzungen

3401</h2>3758</h2>


3521Sie haben versucht, eine [Hintergrund-Sitzung](/docs/de/agent-view#what-deleting-a-session-removes) zu löschen, deren Worktree Commits enthält, die Claude Code nicht bestätigen kann, dass sie anderswo gespeichert sind. Claude Code behält den Worktree und die Sitzungszeile bei, anstatt die Commits zu zerstören. `claude rm` nennt den Branch und die nicht gepushten Commits und sagt, wie Sie vorgehen:3878Sie haben versucht, eine [Hintergrund-Sitzung](/docs/de/agent-view#what-deleting-a-session-removes) zu löschen, deren Worktree Commits enthält, die Claude Code nicht bestätigen kann, dass sie anderswo gespeichert sind. Claude Code behält den Worktree und die Sitzungszeile bei, anstatt die Commits zu zerstören. `claude rm` nennt den Branch und die nicht gepushten Commits und sagt, wie Sie vorgehen:

3522 3879 

3523```text theme={null}3880```text theme={null}

3524kept 7c5dcf5d — 2 unpushed commits on claude/fix-login (a1b2c3d Fix login flow, … and 1 more)3881kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"

3525 worktree: /home/you/project/.claude/worktrees/fix-login3882 2 unpushed commits on "claude/fix-login": a1b2c3d "Fix login flow" and 1 more. They exist on no remote, so deleting the worktree would lose them.

3526 push them, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef3883 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

3527```3884```

3528 3885 

3529Wenn Claude Code die Commits nicht zusammenfassen kann, liest sich die Meldung stattdessen `worktree has commits that are not pushed anywhere`. In der [Agent-Ansicht](/docs/de/agent-view) zeigt die Sitzungszeile `not deleted` mit dem gleichen Grund.3886Wenn Claude Code die Commits nicht zusammenfassen kann, liest sich die Detailzeile `The worktree has unpushed commits` stattdessen. In der [Agent-Ansicht](/docs/de/agent-view) zeigt die Sitzungszeile `not deleted` mit dem gleichen Grund.

3530 3887 

3531Commits auf einem Remote blockieren die Löschung nicht. Auch nicht Commits auf der lokalen Kopie des Standard-Branches Ihres `origin`-Remote, solange dieser Branch in Ihrem Haupt-Checkout ausgecheckt ist, dem Repository-Verzeichnis selbst, nicht einem Worktree.3888Commits auf einem Remote blockieren die Löschung nicht. Auch nicht Commits auf der lokalen Kopie des Standard-Branches Ihres `origin`-Remote, solange dieser Branch in Ihrem Haupt-Checkout ausgecheckt ist, dem Repository-Verzeichnis selbst, nicht einem Worktree.

3532 3889 


3536* Um die Commits zu verwerfen, führen Sie den `claude rm <id> --discard-unpushed`-Befehl aus, den die Meldung druckte, oder drücken Sie `Ctrl+X` zweimal auf der Sitzungszeile in der Agent-Ansicht erneut. Dies entfernt die Sitzung und den Worktree zusammen mit seinem Branch, den nicht gepushten Commits und allen nicht committeten Änderungen. Wenn der Worktree seit der Ablehnung einen Commit gewonnen hat, behält Claude Code ihn erneut und zeigt den aktualisierten Status3893* Um die Commits zu verwerfen, führen Sie den `claude rm <id> --discard-unpushed`-Befehl aus, den die Meldung druckte, oder drücken Sie `Ctrl+X` zweimal auf der Sitzungszeile in der Agent-Ansicht erneut. Dies entfernt die Sitzung und den Worktree zusammen mit seinem Branch, den nicht gepushten Commits und allen nicht committeten Änderungen. Wenn der Worktree seit der Ablehnung einen Commit gewonnen hat, behält Claude Code ihn erneut und zeigt den aktualisierten Status

3537* Wenn die Meldung sagt, dass der Worktree auch von einer anderen beendeten Sitzung aufgezeichnet wird, blockiert das Löschen erneut nicht, ihn zu verwerfen: pushen Sie die Commits, dann löschen Sie die Sitzung erneut3894* Wenn die Meldung sagt, dass der Worktree auch von einer anderen beendeten Sitzung aufgezeichnet wird, blockiert das Löschen erneut nicht, ihn zu verwerfen: pushen Sie die Commits, dann löschen Sie die Sitzung erneut

3538 3895 

3896Vor v2.1.268 setzte `claude rm` die Commit-Zusammenfassung auf die `kept`-Zeile selbst. Wenn `claude rm` die Commits nicht zusammenfassen konnte, las sich die `kept`-Zeile `worktree has commits that are not pushed anywhere` anstelle der Zusammenfassung.

3897 

3539Vor v2.1.260 nannte die Meldung nicht den Branch oder die Commits, und das Löschen erneut wurde auf die gleiche Weise abgelehnt: das Löschen der Sitzung ohne Pushen bedeutete das Entfernen des Worktree selbst mit `git worktree remove --force <path>`, dann das erneute Ausführen von `claude rm <id>`.3898Vor v2.1.260 nannte die Meldung nicht den Branch oder die Commits, und das Löschen erneut wurde auf die gleiche Weise abgelehnt: das Löschen der Sitzung ohne Pushen bedeutete das Entfernen des Worktree selbst mit `git worktree remove --force <path>`, dann das erneute Ausführen von `claude rm <id>`.

3540 3899 

3541Vor v2.1.248 zählte der Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, nicht: Ein Branch, den Sie bereits dort gemergt haben, löste diese Ablehnung immer noch aus, bis seine Commits einen Remote erreichten.3900Vor v2.1.248 zählte der Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, nicht: Ein Branch, den Sie bereits dort gemergt haben, löste diese Ablehnung immer noch aus, bis seine Commits einen Remote erreichten.


3759Error: Claude Code process exited with code 14118Error: Claude Code process exited with code 1

3760```4119```

3761 4120 

4121Unter Windows kann der native Build mit Code `4294967295` direkt nach Abschluss eines Durchlaufs beendet werden. Wenn dieser Exit an einer Durchlauf-Grenze landet, ohne dass eine Nachricht wartet und keine Hintergrundaufgabe ausgeführt wird, schließt die [VS Code-Erweiterung](/docs/de/vs-code) die Sitzung stillschweigend, anstatt diesen Fehler anzuzeigen. Ihre nächste Nachricht setzt das Gespräch fort.

4122 

4123Vor v2.1.273 zeigte die Erweiterung den Fehler für diesen Exit bei jeder Durchlauf-Grenze an, obwohl nichts verloren ging.

4124 

3762**Was zu tun ist:**4125**Was zu tun ist:**

3763 4126 

3764* In VS Code folgen Sie dem Link **Ausgabeprotokolle anzeigen**, der mit dem Fehler angezeigt wird, um den zugrunde liegenden Fehler zu sehen4127* In VS Code folgen Sie dem Link **Ausgabeprotokolle anzeigen**, der mit dem Fehler angezeigt wird, um den zugrunde liegenden Fehler zu sehen


3782* Legen Sie den PATH-Eintrag als Benutzer- oder Systemumgebungsvariable fest, nicht in Ihrem PowerShell-Profil. Die Erweiterung führt Ihr Profil nicht aus, daher erreicht eine PATH-Bearbeitung, die nur dort vorhanden ist, sie nie.4145* Legen Sie den PATH-Eintrag als Benutzer- oder Systemumgebungsvariable fest, nicht in Ihrem PowerShell-Profil. Die Erweiterung führt Ihr Profil nicht aus, daher erreicht eine PATH-Bearbeitung, die nur dort vorhanden ist, sie nie.

3783* Starten Sie VS Code nach dem Ändern von PATH neu. Die Erweiterung überprüft den PATH, den VS Code beim Start erfasst hat, daher wird eine PATH-Änderung erst nach einem Neustart wirksam.4146* Starten Sie VS Code nach dem Ändern von PATH neu. Die Erweiterung überprüft den PATH, den VS Code beim Start erfasst hat, daher wird eine PATH-Änderung erst nach einem Neustart wirksam.

3784 4147 

4148<h3 id="the-connection-to-claude-code-ended-before-this-message-completed">

4149 Die Verbindung zu Claude Code wurde beendet, bevor diese Nachricht abgeschlossen wurde

4150</h3>

4151 

4152Die [VS Code-Erweiterung](/docs/de/vs-code) hat Ihre Nachricht an den `claude`-Prozess gesendet, und die Verbindung wurde ohne Fehler beendet, bevor der Prozess sie bestätigt oder abgeschlossen hat. Die Erweiterung kann nicht feststellen, ob die Nachricht verarbeitet wurde, daher fordert sie Sie auf, sie erneut zu senden:

4153 

4154```text theme={null}

4155The connection to Claude Code ended before this message completed — it may not have been processed, so please send it again.

4156```

4157 

4158**Was zu tun ist:**

4159 

4160* Senden Sie die Nachricht erneut. Die nächste Nachricht startet einen neuen `claude`-Prozess, der das Gespräch fortsetzt.

4161* Wenn es sich wiederholt, führen Sie `claude` in einem Terminal im selben Projekt aus. Ein Fehler, der den Prozess immer wieder beendet, wird dort normalerweise mit seiner echten Fehlermeldung reproduziert.

4162 

3785<h2 id="rewind-warnings-and-errors">4163<h2 id="rewind-warnings-and-errors">

3786 Rewind-Warnungen und Fehler4164 Rewind-Warnungen und Fehler

3787</h2>4165</h2>

fast-mode.md +16 −3

Details

32* Geben Sie `/fast` ein und drücken Sie Tab, um ihn ein- oder auszuschalten32* Geben Sie `/fast` ein und drücken Sie Tab, um ihn ein- oder auszuschalten

33* Setzen Sie `"fastMode": true` in Ihrer [Benutzereinstellungsdatei](/docs/de/settings)33* Setzen Sie `"fastMode": true` in Ihrer [Benutzereinstellungsdatei](/docs/de/settings)

34 34 

35Standardmäßig bleibt der Schnellmodus, den Sie in einer interaktiven Sitzung aktivieren, über Sitzungen hinweg erhalten. Im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag funktioniert `/fast` nur in einer Sitzung, die mit dem Schnellmodus in ihrem [`--settings`](/docs/de/cli-reference#cli-flags)-Wert gestartet wurde, zum Beispiel `claude -p --settings '{"fastMode": true}'`; der Toggle gilt dann nur für diese Sitzung und wird nicht als Ihr Standard gespeichert, und in jeder anderen nicht-interaktiven Sitzung meldet der Befehl, dass der Schnellmodus nicht verfügbar ist. Sie können den Schnellmodus so konfigurieren, dass er sich bei jeder Sitzung zurückgesetzt wird. Weitere Informationen finden Sie unter [Opt-in pro Sitzung erforderlich](#require-per-session-opt-in).35Standardmäßig bleibt der Schnellmodus, den Sie in einer interaktiven Sitzung aktivieren, über Sitzungen hinweg erhalten. Sie können den Schnellmodus so konfigurieren, dass er sich bei jeder Sitzung zurückgesetzt wird. Weitere Informationen finden Sie unter [Opt-in pro Sitzung erforderlich](#require-per-session-opt-in).

36 

37Außerhalb einer [Cloud-Sitzung](#use-fast-mode-in-cloud-sessions), im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag funktioniert `/fast` nur in einer Sitzung, die mit dem Schnellmodus in ihrem [`--settings`](/docs/de/cli-reference#cli-flags)-Wert gestartet wurde, zum Beispiel `claude -p --settings '{"fastMode": true}'`; der Toggle gilt dann nur für diese Sitzung und wird nicht als Ihr Standard gespeichert. Das `-p`-Formular erfordert Claude Code v2.1.205 oder später. Anderswo im nicht-interaktiven Modus meldet der Befehl, dass der Schnellmodus nicht verfügbar ist.

36 38 

37Sie können `/fast` ausführen, während Claude arbeitet, und Claude Code schaltet den Schnellmodus um, ohne auf das Ende des Zugs zu warten. Claude Code beendet den laufenden Zug mit seiner ursprünglichen Geschwindigkeit, sodass die Geschwindigkeitsänderung ab Ihrem nächsten Zug wirksam wird. Wenn Ihr aktuelles Modell den Schnellmodus nicht unterstützt, wird durch das Aktivieren auch Ihr Modell gewechselt, und Claude Code verwendet das neue Modell ab seiner nächsten Anfrage in diesem Zug.39Sie können `/fast` ausführen, während Claude arbeitet, und Claude Code schaltet den Schnellmodus um, ohne auf das Ende des Zugs zu warten. Claude Code beendet den laufenden Zug mit seiner ursprünglichen Geschwindigkeit, sodass die Geschwindigkeitsänderung ab Ihrem nächsten Zug wirksam wird. Wenn Ihr aktuelles Modell den Schnellmodus nicht unterstützt, wird durch das Aktivieren auch Ihr Modell gewechselt, und Claude Code verwendet das neue Modell ab seiner nächsten Anfrage in diesem Zug.

38 40 


62 64 

63Claude Code sendet den Schnellmodus-Status der Sitzung nach einem Modellwechsel, einer Wiederverbindung oder einer fehlgeschlagenen [Verfügbarkeitsprüfung](#use-fast-mode-behind-proxies-and-llm-gateways) erneut an Geräte, die über Remote Control verbunden sind.65Claude Code sendet den Schnellmodus-Status der Sitzung nach einem Modellwechsel, einer Wiederverbindung oder einer fehlgeschlagenen [Verfügbarkeitsprüfung](#use-fast-mode-behind-proxies-and-llm-gateways) erneut an Geräte, die über Remote Control verbunden sind.

64 66 

67<h3 id="use-fast-mode-in-cloud-sessions">

68 Schnellmodus in Cloud-Sitzungen verwenden

69</h3>

70 

71Der Schnellmodus funktioniert in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), wenn er auf Ihrem Konto verfügbar ist, unabhängig davon, ob die Sitzung auf von Anthropic verwalteter Infrastruktur oder einem [selbstgehosteten Runner](/docs/de/self-hosted-environments) ausgeführt wird. Erfordert Claude Code v2.1.271 oder später in der Umgebung der Sitzung.

72 

73Geben Sie `/fast on` in der Sitzung ein, um den Schnellmodus zu aktivieren. Er bleibt nur für diese Sitzung aktiviert und wird nicht als Ihr Standard gespeichert. Die [Anforderungen](#requirements) gelten auch in Cloud-Sitzungen.

74 

65<h2 id="understand-the-cost-tradeoff">75<h2 id="understand-the-cost-tradeoff">

66 Kostenabwägung verstehen76 Kostenabwägung verstehen

67</h2>77</h2>


135* **Owner-Aktivierung für Teams und Enterprise**: Der Schnellmodus ist standardmäßig für Teams- und Enterprise-Organisationen deaktiviert. Ein Owner muss den Schnellmodus explizit [aktivieren](#enable-fast-mode-for-your-organization), bevor Benutzer darauf zugreifen können.145* **Owner-Aktivierung für Teams und Enterprise**: Der Schnellmodus ist standardmäßig für Teams- und Enterprise-Organisationen deaktiviert. Ein Owner muss den Schnellmodus explizit [aktivieren](#enable-fast-mode-for-your-organization), bevor Benutzer darauf zugreifen können.

136 146 

137<Note>147<Note>

138 Wenn der Schnellmodus für Ihre Organisation nicht aktiviert wurde, zeigt der Befehl `/fast` „Fast mode has been disabled by your organization." an. Wenn die [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation das Schnellmodus-Opus-Modell ausschließt, wird `/fast` mit „is not in your organization's allowed models" abgelehnt. Die Ausnahme ist eine Sitzung, die bereits auf einem zulässigen Opus-Modell ausgeführt wird, das den Schnellmodus unterstützt: `/fast` aktiviert den Schnellmodus auf Ihrem aktuellen Modell, anstatt Modelle zu wechseln.148 Zwei Organisationseinstellungen können das Aktivieren des Schnellmodus mit `/fast` blockieren:

149 

150 * **Schnellmodus nicht aktiviert**: Wenn der Schnellmodus für Ihre Organisation nicht aktiviert wurde, zeigt das Aktivieren des Schnellmodus mit `/fast` „Fast mode has been disabled by your organization." an.

151 * **Schnellmodus-Modell nicht zulässig**: Wenn die [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation das Schnellmodus-Opus-Modell ausschließt, wird das Aktivieren mit „is not in your organization's allowed models" abgelehnt. In einer Sitzung, die bereits auf einem zulässigen Opus-Modell ausgeführt wird, das den Schnellmodus unterstützt, aktiviert `/fast` stattdessen den Schnellmodus auf Ihrem aktuellen Modell, ohne Modelle zu wechseln.

139</Note>152</Note>

140 153 

141<h3 id="enable-fast-mode-for-your-organization">154<h3 id="enable-fast-mode-for-your-organization">


173 186 

174Setzen Sie in beiden Fällen `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`, um den Schnellmodus wiederherzustellen. `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` gilt nicht für beide Fälle, da es nur fehlgeschlagene Prüfungen umgeht und beide eine deaktivierte Antwort erzeugen. Whitelisting direkten Ausgangs hilft nicht im Fall des Bearer-Tokens, der die Anfrage nie sendet.187Setzen Sie in beiden Fällen `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`, um den Schnellmodus wiederherzustellen. `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` gilt nicht für beide Fälle, da es nur fehlgeschlagene Prüfungen umgeht und beide eine deaktivierte Antwort erzeugen. Whitelisting direkten Ausgangs hilft nicht im Fall des Bearer-Tokens, der die Anfrage nie sendet.

175 188 

176Die Variablen beeinflussen nur die clientseitige Prüfung. Wenn Ihre Organisation den Schnellmodus deaktiviert hat, lehnt die API Schnellmodus-Anfragen ab, unabhängig davon, ob sie gesetzt sind.189Die Variablen beeinflussen nur die clientseitige Prüfung. Wenn Ihre Organisation den Schnellmodus deaktiviert hat, lehnt die API Schnellmodus-Anfragen ab, unabhängig davon, ob sie gesetzt sind. Eine Ablehnung von der API bleibt bestehen, auch wenn eine Skip-Variable gesetzt ist. Claude Code versucht die abgelehnte Anfrage mit Standardgeschwindigkeit erneut, schaltet den Schnellmodus aus, und `/fast` meldet, dass Ihre Organisation den Schnellmodus deaktiviert hat.

177 190 

178Das Setzen von `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` unterdrückt auch die Verfügbarkeitsprüfung. Ohne eine zuvor zwischengespeicherte erfolgreiche Prüfung meldet `/fast` „Fast mode is currently unavailable"; beide Skip-Variablen stellen den Schnellmodus in dieser Konfiguration auch wieder her.191Das Setzen von `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` unterdrückt auch die Verfügbarkeitsprüfung. Ohne eine zuvor zwischengespeicherte erfolgreiche Prüfung meldet `/fast` „Fast mode is currently unavailable"; beide Skip-Variablen stellen den Schnellmodus in dieser Konfiguration auch wieder her.

179 192 

Details

36* [Checkpoints](/docs/de/checkpointing), [sandboxing](/docs/de/sandboxing) und [Workflows](/docs/de/workflows)36* [Checkpoints](/docs/de/checkpointing), [sandboxing](/docs/de/sandboxing) und [Workflows](/docs/de/workflows)

37* [OpenTelemetry metrics](/docs/de/monitoring-usage) und die [verwaltete Einstellungsdatei](/docs/de/managed-settings#delivery-mechanisms)37* [OpenTelemetry metrics](/docs/de/monitoring-usage) und die [verwaltete Einstellungsdatei](/docs/de/managed-settings#delivery-mechanisms)

38 38 

39Drei davon haben anbieter-spezifische Unterschiede:39Diese haben anbieter-spezifische Unterschiede:

40 40 

41* **CLAUDE.md memory**: `CLAUDE.md`-Dateien werden auf jedem Anbieter geladen. Das Lesen von [`AGENTS.md`-Dateien](/docs/de/memory#agents-md) als Projektanweisungen erfordert auch eine Sitzung, die [Feature Flags abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching)

41* **MCP servers**: [Konnektoren von claude.ai](/docs/de/mcp#use-mcp-servers-from-claude-ai) werden nur geladen, wenn Ihr claude.ai-Abonnement die aktive Authentifizierungsmethode ist. [Tool-Suche](/docs/de/mcp#configure-tool-search) ist standardmäßig deaktiviert, wenn `ANTHROPIC_BASE_URL` auf einen Nicht-First-Party-Host verweist, und wird auf Google Cloud's Agent Platform-Modellen vor der Claude 4.5-Generation oder auf Microsoft Foundry [Bereitstellungen, die auf Azure gehostet werden](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) nicht unterstützt42* **MCP servers**: [Konnektoren von claude.ai](/docs/de/mcp#use-mcp-servers-from-claude-ai) werden nur geladen, wenn Ihr claude.ai-Abonnement die aktive Authentifizierungsmethode ist. [Tool-Suche](/docs/de/mcp#configure-tool-search) ist standardmäßig deaktiviert, wenn `ANTHROPIC_BASE_URL` auf einen Nicht-First-Party-Host verweist, und wird auf Google Cloud's Agent Platform-Modellen vor der Claude 4.5-Generation oder auf Microsoft Foundry [Bereitstellungen, die auf Azure gehostet werden](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) nicht unterstützt

42* **Subagents**: der integrierte [Explore Subagent](/docs/de/sub-agents#built-in-subagents) begrenzt sein vererbtes Modell auf Opus auf der Claude API und erbt das Modell der Hauptkonversation direkt auf jedem anderen Anbieter, einschließlich Claude Platform on AWS43* **Subagents**: der integrierte [Explore Subagent](/docs/de/sub-agents#built-in-subagents) begrenzt sein vererbtes Modell auf Opus auf der Claude API und erbt das Modell der Hauptkonversation direkt auf jedem anderen Anbieter, einschließlich Claude Platform on AWS

43* **[Commands](/docs/de/commands#all-commands)**:44* **[Commands](/docs/de/commands#all-commands)**:


51 52 

52Diese erfordern die Anmeldung mit einem claude.ai-Konto und sind nicht mit einem Anthropic Console API-Schlüssel oder von einem Drittanbieter erreichbar:53Diese erfordern die Anmeldung mit einem claude.ai-Konto und sind nicht mit einem Anthropic Console API-Schlüssel oder von einem Drittanbieter erreichbar:

53 54 

54* [Claude Code im Web](/docs/de/claude-code-on-the-web), Claude Code auf Mobilgeräten und [Claude Code in Slack](/docs/de/slack)55* [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), Claude Code auf Mobilgeräten und [Claude Code in Slack](/docs/de/slack)

55* [Claude Code Desktop](/docs/de/desktop)56* [Claude Code Desktop](/docs/de/desktop)

56* [Routines](/docs/de/routines) (`/schedule`)57* [Routines](/docs/de/routines) (`/schedule`)

57* [Ultrareview](/docs/de/ultrareview)58* [Ultrareview](/docs/de/ultrareview)


222<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Auf diesen Anbietern unterstützt Auto mode nur Claude Sonnet 5, Opus 4.7 oder später und die Fable-Modelle. Siehe [Auto mode configuration](/docs/de/auto-mode-config). Der integrierte Standard-Berechtigungsmodus auf diesen Anbietern ist Manual. Siehe [in welchem Modus eine Sitzung startet](/docs/de/permission-modes#which-mode-a-session-starts-in). In v2.1.158 bis v2.1.206 erforderte Auto mode auf diesen Anbietern auch das Setzen von `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 entfernte die Anforderung.<br />223<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Auf diesen Anbietern unterstützt Auto mode nur Claude Sonnet 5, Opus 4.7 oder später und die Fable-Modelle. Siehe [Auto mode configuration](/docs/de/auto-mode-config). Der integrierte Standard-Berechtigungsmodus auf diesen Anbietern ist Manual. Siehe [in welchem Modus eine Sitzung startet](/docs/de/permission-modes#which-mode-a-session-starts-in). In v2.1.158 bis v2.1.206 erforderte Auto mode auf diesen Anbietern auch das Setzen von `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 entfernte die Anforderung.<br />

223<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Unterliegt Ihrer Vereinbarung mit dem Cloud-Anbieter.<br />224<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Unterliegt Ihrer Vereinbarung mit dem Cloud-Anbieter.<br />

224<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Dashboard und API nur. [Contribution metrics](/docs/de/analytics#enable-contribution-metrics) erfordert eine claude.ai Team- oder Enterprise-Organisation.<br />225<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Dashboard und API nur. [Contribution metrics](/docs/de/analytics#enable-contribution-metrics) erfordert eine claude.ai Team- oder Enterprise-Organisation.<br />

225<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Erfordert Claude Code v2.1.224 oder später auf macOS und Linux, einschließlich Linux in WSL 2. Auf nativem Windows erfordert Claude Code v2.1.234 oder später. Mit API-Schlüssel-Authentifizierung ist Messaging nur auf dem gleichen Computer möglich. Auf Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform und Microsoft Foundry ist Messaging nur auf dem gleichen Computer möglich und erfordert Claude Code v2.1.248 oder später. Claude kann Ihre [Claude Code im Web](/docs/de/claude-code-on-the-web) Sitzungen und Ihre Sitzungen auf anderen Computern nur von einer Sitzung aus finden, die mit [Remote Control](/docs/de/remote-control) verbunden ist. Um eine Verbindung herzustellen, benötigen Sie eine claude.ai-Anmeldung und die anderen [Remote Control-Anforderungen](/docs/de/remote-control#requirements). Siehe [Sitzungen auf anderen Computern anschreiben](/docs/de/cross-session-messaging#message-sessions-on-other-machines).226<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Erfordert Claude Code v2.1.224 oder später auf macOS und Linux, einschließlich Linux in WSL 2. Auf nativem Windows erfordert Claude Code v2.1.234 oder später. Mit API-Schlüssel-Authentifizierung ist Messaging nur auf dem gleichen Computer möglich. Auf Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform und Microsoft Foundry ist Messaging nur auf dem gleichen Computer möglich und erfordert Claude Code v2.1.248 oder später. Claude kann Ihre [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) und Ihre Sitzungen auf anderen Computern nur von einer Sitzung aus finden, die mit [Remote Control](/docs/de/remote-control) verbunden ist. Um eine Verbindung herzustellen, benötigen Sie eine claude.ai-Anmeldung und die anderen [Remote Control-Anforderungen](/docs/de/remote-control#requirements). Siehe [Sitzungen auf anderen Computern anschreiben](/docs/de/cross-session-messaging#message-sessions-on-other-machines).

226 227 

227<Note>228<Note>

228 Wenn Sie sich über ein [LLM gateway](/docs/de/llm-gateway) authentifizieren, entspricht die Verfügbarkeit von Funktionen dem zugrunde liegenden Anbieter, an den das Gateway weiterleitet, mit Ausnahme der Funktionen, die Claude Code selbst deaktiviert. Wenn `ANTHROPIC_BASE_URL` auf einen anderen Host als `api.anthropic.com` verweist, deaktiviert Claude Code Funktionen wie [Remote Control](/docs/de/remote-control#requirements) und [server-managed settings](/docs/de/server-managed-settings#platform-availability), unabhängig davon, was das Gateway weiterleitet. Einige Anthropic-exklusive Funktionen wie der [Advisor](/docs/de/advisor) funktionieren nur, wenn das Gateway Anfragen intakt an die Anthropic API weiterleitet.229 Wenn Sie sich über ein [LLM gateway](/docs/de/llm-gateway) authentifizieren, entspricht die Verfügbarkeit von Funktionen dem zugrunde liegenden Anbieter, an den das Gateway weiterleitet, mit Ausnahme der Funktionen, die Claude Code selbst deaktiviert. Wenn `ANTHROPIC_BASE_URL` auf einen anderen Host als `api.anthropic.com` verweist, deaktiviert Claude Code Funktionen wie [Remote Control](/docs/de/remote-control#requirements) und [server-managed settings](/docs/de/server-managed-settings#platform-availability), unabhängig davon, was das Gateway weiterleitet. Einige Anthropic-exklusive Funktionen wie der [Advisor](/docs/de/advisor) funktionieren nur, wenn das Gateway Anfragen intakt an die Anthropic API weiterleitet.

230 

231 Für die Unterschiede zwischen den Anfragen, die Claude Code sendet, zwischen einem Amazon Bedrock- oder Agent Platform-Format-Gateway, einem `ANTHROPIC_BASE_URL`-Gateway und einer Claude apps gateway-Anmeldung, siehe [Client-Verhalten nach Verbindungsmethode](/docs/de/llm-gateway-protocol#how-the-connection-method-changes-client-behavior).

229</Note>232</Note>

230 233 

231<h3 id="summary-by-provider">234<h3 id="summary-by-provider">


303 306 

304| Funktion | Pro | Max | Team | Enterprise |307| Funktion | Pro | Max | Team | Enterprise |

305| :-------------------------------------------------------------------------- | :-- | :-- | :-------------- | :-------------------------------- |308| :-------------------------------------------------------------------------- | :-- | :-- | :-------------- | :-------------------------------- |

306| [Claude Code on the web](/docs/de/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |309| [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

307| [Routines](/docs/de/routines) | ✓ | ✓ | ✓ | ✓ |310| [Routines](/docs/de/routines) | ✓ | ✓ | ✓ | ✓ |

308| [Remote Control](/docs/de/remote-control) | ✓ | ✓ | Admin-aktiviert | Admin-aktiviert |311| [Remote Control](/docs/de/remote-control) | ✓ | ✓ | Admin-aktiviert | Admin-aktiviert |

309| [Channels](/docs/de/channels) | ✓ | ✓ | Admin-aktiviert | Admin-aktiviert |312| [Channels](/docs/de/channels) | ✓ | ✓ | Admin-aktiviert | Admin-aktiviert |


319| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |322| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |

320| [Zero Data Retention](/docs/de/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |323| [Zero Data Retention](/docs/de/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |

321 324 

322<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> Auf Enterprise erfordert einen Premium-Sitz oder einen Chat + Claude Code-Sitz. Siehe [Claude Code on the web](/docs/de/claude-code-on-the-web).<br />325<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> Auf Enterprise erfordert einen Premium-Sitz oder einen Chat + Claude Code-Sitz. Siehe [Cloud-Sitzungen](/docs/de/claude-code-on-the-web).<br />

323<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> Nicht im Standard-Enterprise-Plan enthalten. Erfordert separate Aktivierung durch Anthropic für qualifizierte Konten. Siehe [Zero Data Retention](/docs/de/zero-data-retention).326<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> Nicht im Standard-Enterprise-Plan enthalten. Erfordert separate Aktivierung durch Anthropic für qualifizierte Konten. Siehe [Zero Data Retention](/docs/de/zero-data-retention).

324 327 

325Für Preise und den vollständigen Planvergleich siehe [Team plans](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) und [Enterprise plans](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).328Für Preise und den vollständigen Planvergleich siehe [Team plans](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) und [Enterprise plans](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

Details

294 294 

295 * Der Agent's eigener System-Prompt, nicht der Claude Code System-Prompt295 * Der Agent's eigener System-Prompt, nicht der Claude Code System-Prompt

296 * Vollständiger Inhalt von Skills, die im `skills:`-Feld des Agenten aufgelistet sind296 * Vollständiger Inhalt von Skills, die im `skills:`-Feld des Agenten aufgelistet sind

297 * CLAUDE.md und Git-Status, außer die integrierten Explore- und Plan-Agenten [lassen beide weg](/docs/de/sub-agents#what-loads-at-startup)297 * CLAUDE.md und Git-Status, außer die integrierten Explore- und Plan-Agenten [lassen beide weg](/docs/de/sub-agents#what-loads-at-startup), und ein Agent, dessen Definition [`omitClaudeMd`](/docs/de/sub-agents#supported-frontmatter-fields) setzt, überspringt die Benutzer-, Projekt- und lokalen CLAUDE.md-Dateien

298 * Welcher Kontext auch immer der Lead-Agent im Prompt übergibt298 * Welcher Kontext auch immer der Lead-Agent im Prompt übergibt

299 299 

300 Für einen [Fork](/docs/de/sub-agents#fork-the-current-conversation) lädt Claude Code die bisherige Konversation des übergeordneten Elements, den System-Prompt und die Tools statt dessen.300 Für einen [Fork](/docs/de/sub-agents#fork-the-current-conversation) lädt Claude Code die bisherige Konversation des übergeordneten Elements, den System-Prompt und die Tools statt dessen.

fullscreen.md +10 −9

Details

101* **Klicken Sie in die Eingabeaufforderung**, um Ihren Cursor überall im eingegebenen Text zu positionieren.101* **Klicken Sie in die Eingabeaufforderung**, um Ihren Cursor überall im eingegebenen Text zu positionieren.

102* **Klicken Sie auf einen Vorschlag in der `/`-Befehlsliste oder `@`-Dateiliste**, um ihn zu akzeptieren. Das Hovern hebt die Zeile unter Ihrem Cursor hervor.102* **Klicken Sie auf einen Vorschlag in der `/`-Befehlsliste oder `@`-Dateiliste**, um ihn zu akzeptieren. Das Hovern hebt die Zeile unter Ihrem Cursor hervor.

103* **Klicken Sie auf eine Option in einem Auswahlmenü**, um sie auszuwählen. Dies umfasst Berechtigungsaufforderungen, `/model`, `/config` und andere Dialoge, die eine Liste von Optionen anzeigen. Das Hovern zeigt einen Zeiger auf der Zeile unter Ihrem Cursor. Erfordert Claude Code v2.1.187 oder später.103* **Klicken Sie auf eine Option in einem Auswahlmenü**, um sie auszuwählen. Dies umfasst Berechtigungsaufforderungen, `/model`, `/config` und andere Dialoge, die eine Liste von Optionen anzeigen. Das Hovern zeigt einen Zeiger auf der Zeile unter Ihrem Cursor. Erfordert Claude Code v2.1.187 oder später.

104* **Klicken Sie auf eine Option in einem Mehrfachauswahlmenü**, um sie umzuschalten, und klicken Sie auf die Schaltfläche „Senden", um Ihre Auswahl zu bestätigen. Wenn Sie auf eine Freitextzeile klicken, z. B. die `Other`-Zeile in einer Multiple-Choice-Frage, wird das Eingabefeld fokussiert, damit Sie eine Antwort eingeben können. Erfordert Claude Code v2.1.208 oder später.104* **Klicken Sie auf eine Option in einem Mehrfachauswahlmenü**, um sie umzuschalten, und klicken Sie auf die Schaltfläche „Senden", um Ihre Auswahl zu bestätigen. Wenn Sie auf eine Freitextzeile klicken, z. B. die Zeile `Other` in einer Multiple-Choice-Frage, wird das Eingabefeld fokussiert, damit Sie eine Antwort eingeben können. Erfordert Claude Code v2.1.208 oder später.

105* **Klicken Sie auf ein reduziertes Werkzeugergebnis**, um es zu erweitern und die vollständige Ausgabe anzuzeigen. Klicken Sie erneut, um es zu reduzieren. Der Werkzeugaufruf und sein Ergebnis werden zusammen erweitert. Nur Nachrichten, die mehr anzuzeigen haben, sind anklickbar.105* **Klicken Sie auf den Wert einer Einstellung im `/config`-Bereich**, um ihn zu ändern, und scrollen Sie die Einstellungsliste mit dem Mausrad. Erfordert Claude Code v2.1.271 oder später.

106 * Durch Klicken wird auch die Ausgabe eines `!`-Shell-Befehls erweitert, unabhängig davon, ob es sich um ein älteres abgeschnittenes Ergebnis oder die Live-Fortschrittszeile während der Befehlsausführung handelt. Erfordert Claude Code v2.1.257 oder später.106* **Klicken Sie auf ein reduziertes Werkzeugergebnis**, um es zu erweitern und die vollständige Ausgabe anzuzeigen. Klicken Sie erneut, um es zu reduzieren. Der Werkzeugaufruf und sein Ergebnis werden zusammen erweitert. Nur Nachrichten, die mehr zu zeigen haben, sind anklickbar.

107* **Halten Sie `Cmd` auf macOS oder `Ctrl` auf Linux und Windows und klicken Sie auf eine URL oder einen Dateipfad**, um ihn zu öffnen. Einfache `http://`- und `https://`-URLs werden in Ihrem Browser geöffnet, und Dateipfade in der Werkzeugausgabe, wie die nach einem Edit oder Write gedruckten, werden in Ihrer Standardanwendung geöffnet. Ein einfacher Klick ohne den Modifikator öffnet keine Links und entspricht dem nativen Terminalverhalten.107 * Das Klicken erweitert auch die Ausgabe eines `!`-Shell-Befehls, ob ein älteres abgeschnittenes Ergebnis oder die Live-Fortschrittszeile während der Befehlsausführung. Erfordert Claude Code v2.1.257 oder später.

108* **Halten Sie `Cmd` auf macOS oder `Ctrl` auf Linux und Windows, und klicken Sie auf eine URL oder einen Dateipfad**, um ihn zu öffnen. Einfache `http://`- und `https://`-URLs werden in Ihrem Browser geöffnet, und Dateipfade in der Werkzeugausgabe, wie die nach einem Edit oder Write gedruckten, werden in Ihrer Standardanwendung geöffnet. Ein einfacher Klick ohne den Modifikator öffnet keine Links und entspricht dem nativen Terminal-Verhalten.

108 * Claude Code rendert einen Netzwerkpfad (UNC-Pfad), z. B. `\\server\share\file.ts`, als reinen Text ohne Link, da das Öffnen eines Netzwerkpfads Ihre Windows-Anmeldedaten an den Host senden kann, den er benennt.109 * Claude Code rendert einen Netzwerkpfad (UNC-Pfad), z. B. `\\server\share\file.ts`, als reinen Text ohne Link, da das Öffnen eines Netzwerkpfads Ihre Windows-Anmeldedaten an den Host senden kann, den er benennt.

109 * Einige macOS-Terminals leiten `Cmd`+Klick an die laufende Anwendung weiter, anstatt den Link selbst zu öffnen, und das Terminal-Mausprotokoll hat keine Möglichkeit, die `Cmd`-Taste zu codieren, daher empfängt Claude Code einen einfachen Klick. In Ghostty und in Warp auf macOS erkennt Claude Code dies und ermöglicht es, dass ein einfacher Klick auf einen Link ihn öffnet, und das Halten von `Cmd` funktioniert immer noch.110 * Einige macOS-Terminals leiten `Cmd`+Klick an die laufende App weiter, anstatt den Link selbst zu öffnen, und das Terminal-Mausprotokoll hat keine Möglichkeit, die `Cmd`-Taste zu codieren, daher empfängt Claude Code einen einfachen Klick. In Ghostty und in Warp auf macOS erkennt Claude Code dies und ermöglicht es, dass ein einfacher Klick auf einen Link ihn öffnet, und das Halten von `Cmd` funktioniert immer noch.

110 * Im integrierten VS Code-Terminal und ähnlichen xterm.js-basierten Terminals delegiert Claude Code an den eigenen Link-Handler des Terminals, der die gleiche Geste verwendet.111 * Im integrierten VS Code-Terminal und ähnlichen xterm.js-basierten Terminals delegiert Claude Code an den eigenen Link-Handler des Terminals, der die gleiche Geste verwendet.

111* **Klicken und ziehen Sie**, um Text überall in der Konversation auszuwählen. Doppelklick wählt ein Wort aus und entspricht den Wortgrenzen von iTerm2, sodass ein Dateipfad als eine Einheit ausgewählt wird. Doppelklick auf eine URL wählt die gesamte URL aus, einschließlich des Schemas. Dreifachklick wählt die Zeile aus.112* **Klicken und ziehen**, um Text überall in der Konversation auszuwählen. Doppelklick wählt ein Wort aus und entspricht den Wortgrenzen von iTerm2, sodass ein Dateipfad als eine Einheit ausgewählt wird. Doppelklick auf eine URL wählt die gesamte URL aus, einschließlich des Schemas. Dreifachklick wählt die Zeile aus.

112* **Scrollen Sie mit dem Mausrad**, um sich durch die Konversation zu bewegen.113* **Scrollen Sie mit dem Mausrad**, um sich durch die Konversation zu bewegen.

113 114 

114Der ausgewählte Text wird beim Loslassen der Maus automatisch in die Zwischenablage kopiert. Um dies auszuschalten, schalten Sie „Kopieren bei Auswahl" in `/config` um.115Der ausgewählte Text wird beim Loslassen der Maus automatisch in die Zwischenablage kopiert. Um dies auszuschalten, schalten Sie „Copy on select" in `/config` um.

115 116 

116Wenn „Kopieren bei Auswahl" ausgeschaltet ist, drücken Sie `Ctrl+Shift+c`, um manuell zu kopieren. Auf Terminals, die das Kitty-Tastaturprotokoll unterstützen, z. B. Kitty, WezTerm, Ghostty und iTerm2, funktioniert auch `Cmd+c`. Wenn Sie eine Auswahl aktiv haben, kopiert `Ctrl+c` statt zu stornieren.117Wenn „Copy on select" ausgeschaltet ist, drücken Sie `Ctrl+Shift+c`, um manuell zu kopieren. Auf Terminals, die das Kitty-Tastaturprotokoll unterstützen, z. B. Kitty, WezTerm, Ghostty und iTerm2, funktioniert auch `Cmd+c`. Wenn Sie eine Auswahl aktiv haben, kopiert `Ctrl+c` statt zu stornieren.

117 118 

118Wenn eine Auswahl aktiv ist, halten Sie `Shift` und drücken Sie die Pfeiltasten, um sie von der Tastatur aus zu erweitern. `Shift+↑` und `Shift+↓` scrollen den Viewport, wenn die Auswahl die obere oder untere Kante erreicht. `Shift+Home` und `Shift+End` erweitern bis zum Anfang oder Ende der aktuellen Zeile.119Wenn eine Auswahl aktiv ist, halten Sie `Shift` und drücken Sie die Pfeiltasten, um sie von der Tastatur aus zu erweitern. `Shift+↑` und `Shift+↓` scrollen den Viewport, wenn die Auswahl die obere oder untere Kante erreicht. `Shift+Home` und `Shift+End` erweitern bis zum Anfang oder Ende der aktuellen Zeile.

119 120 

120In der normalen Eingabeaufforderungsansicht hängt das, was mit einer aktiven Auswahl geschieht, von der Taste ab, die Sie drücken:121In der normalen Eingabeaufforderungsansicht hängt das, was mit einer aktiven Auswahl geschieht, von der Taste ab, die Sie drücken:

121 122 

122* **`Esc`**: Claude Code führt die übliche Aktion der Taste aus, z. B. das Unterbrechen der laufenden Antwort oder das Schließen eines offenen Dialogs, und die Auswahl bleibt hervorgehoben.123* **`Esc`**: Claude Code führt die übliche Aktion der Taste aus, z. B. das Unterbrechen der laufenden Antwort oder das Schließen eines offenen Dialogs, und die Auswahl bleibt hervorgehoben.

123* **`PgUp`, `PgDn`, `Ctrl+Home`, `Ctrl+End` oder `Shift`, `Alt` oder `Option` oder `Cmd`, `Win` oder `Super` mit einer Pfeil-, `Home`- oder `End`-Taste**: Die Auswahl bleibt erhalten.124* **`PgUp`, `PgDn`, `Ctrl+Home`, `Ctrl+End` oder `Shift`, `Alt` oder `Option` oder `Cmd`, `Win` oder `Super` mit einer Pfeiltaste, `Home` oder `End`-Taste**: Die Auswahl bleibt erhalten.

124* **Jede andere Taste, einschließlich einfacher Pfeiltasten, `Enter` und eingegebener Zeichen**: Claude Code löscht die Auswahl.125* **Jede andere Taste, einschließlich einfacher Pfeiltasten, `Enter` und eingegebener Zeichen**: Claude Code löscht die Auswahl.

125* **Eine Taste, die an [`selection:clear`](/docs/de/keybindings#scroll-actions) gebunden ist**: Claude Code löscht die Auswahl, auch wenn die Taste `Esc` oder eine andere Taste ist, die sie normalerweise beibehält. Die Aktion hat keine Standardbindung.126* **Eine Taste, die an [`selection:clear`](/docs/de/keybindings#scroll-actions) gebunden ist**: Claude Code löscht die Auswahl, auch wenn die Taste `Esc` oder eine andere Taste ist, die sie normalerweise beibehält. Die Aktion hat keine Standardbindung.

126 127 

Details

11Mehrere Produkte teilen den Namen Claude Code. Diese Seite behandelt die `claude-code-action`-Workflow-Integration, die Sie mit Workflow-Dateien in Ihrem Repository konfigurieren. Für die verwandten Produkte siehe:11Mehrere Produkte teilen den Namen Claude Code. Diese Seite behandelt die `claude-code-action`-Workflow-Integration, die Sie mit Workflow-Dateien in Ihrem Repository konfigurieren. Für die verwandten Produkte siehe:

12 12 

13* [Code Review](/docs/de/code-review): automatische Überprüfung bei jedem Pull Request, ohne einen Workflow zu schreiben13* [Code Review](/docs/de/code-review): automatische Überprüfung bei jedem Pull Request, ohne einen Workflow zu schreiben

14* [Claude Code im Web](/docs/de/claude-code-on-the-web): Claude Code-Sitzungen von Ihrem Browser oder Telefon14* [Claude Code in der Cloud](/docs/de/claude-code-on-the-web): Claude Code-Sitzungen, die auf Cloud-Infrastruktur statt auf Ihrem Computer ausgeführt werden

15* [Claude Agent SDK](/docs/de/agent-sdk/overview): benutzerdefinierte Automatisierung außerhalb von GitHub Actions. Die Claude Code GitHub Action basiert auf dem SDK15* [Claude Agent SDK](/docs/de/agent-sdk/overview): benutzerdefinierte Automatisierung außerhalb von GitHub Actions. Die Claude Code GitHub Action basiert auf dem SDK

16* [GitHub Enterprise Server](/docs/de/github-enterprise-server): Claude Code mit selbstgehostetem GitHub16* [GitHub Enterprise Server](/docs/de/github-enterprise-server): Claude Code mit selbstgehostetem GitHub

17 17 


131 GitHub App-Berechtigungen131 GitHub App-Berechtigungen

132</h3>132</h3>

133 133 

134Die [Claude GitHub App](https://github.com/apps/claude) wird von jeder Claude-Funktion geteilt, die sich mit GitHub integriert, einschließlich der Claude Code GitHub Action, [Code Review](/docs/de/code-review) und [Auto-Fix für Pull Requests](/docs/de/claude-code-on-the-web#auto-fix-pull-requests) auf Claude Code im Web. Eine GitHub App hat einen einzelnen Berechtigungssatz, der alle ihre Funktionen abdeckt, daher enthält der Satz einige Berechtigungen, die die Claude Code GitHub Action nicht verwendet.134Die [Claude GitHub App](https://github.com/apps/claude) wird von jeder Claude-Funktion geteilt, die sich mit GitHub integriert, einschließlich der Claude Code GitHub Action, [Code Review](/docs/de/code-review) und [Auto-Fix für Pull Requests](/docs/de/claude-code-on-the-web#auto-fix-pull-requests) in Cloud-Sitzungen. Eine GitHub App hat einen einzelnen Berechtigungssatz, der alle ihre Funktionen abdeckt, daher enthält der Satz einige Berechtigungen, die die Claude Code GitHub Action nicht verwendet.

135 135 

136Wenn Sie die App installieren, gewähren Sie die folgenden Berechtigungen:136Wenn Sie die App installieren, gewähren Sie die folgenden Berechtigungen:

137 137 

Details

41 Richten Sie die Integration ein41 Richten Sie die Integration ein

42</h2>42</h2>

43 43 

44Über die Voraussetzungen hinaus erstellen Sie vier Dinge: eine GitHub-Identität für die Claude Code GitHub Action, die Cloud-seitige Vertrauenskonfiguration, die Repository-Geheimnisse und die Workflow-Datei. Die folgenden Schritte führen Sie durch jeden Punkt.44Über die Voraussetzungen hinaus erstellen Sie eine GitHub-Identität für die Claude Code GitHub Action, die Cloud-seitige Vertrauenskonfiguration, die Repository-Geheimnisse und die Workflow-Datei. Die folgenden Schritte führen Sie durch jeden Punkt.

45 45 

46<Steps>46<Steps>

47 <Step title="Wählen Sie eine GitHub-Identität">47 <Step title="Wählen Sie eine GitHub-Identität">

48 Die Claude Code GitHub Action pusht Commits und postet Kommentare über eine GitHub-Identität. Die [Schnelleinrichtung](/docs/de/github-actions#quick-setup) installiert die offizielle Claude GitHub App dafür. Mit einem Cloud-Anbieter wählen Sie die Identität selbst:48 Die Claude Code GitHub Action pusht Commits und postet Kommentare über eine GitHub-Identität. Die [Schnelleinrichtung](/docs/de/github-actions#quick-setup) installiert die offizielle Claude GitHub App dafür. Mit einem Cloud-Anbieter wählen Sie die Identität selbst:

49 49 

50 * **Offizielle [Claude GitHub App](https://github.com/apps/claude)**: installieren Sie sie im Repository, oder überspringen Sie zum nächsten Schritt, wenn sie bereits installiert ist50 * **Offizielle [Claude GitHub App](https://github.com/apps/claude)**: installieren Sie sie im Repository, oder überspringen Sie zum nächsten Schritt, wenn sie bereits installiert ist

51 * **Benutzerdefinierte GitHub App**: erstellen Sie Ihre eigene App, wie unten beschrieben, wenn Sie nur die drei Berechtigungen möchten, die die Claude Code GitHub Action verwendet, anstelle des [vollständigen Satzes der offiziellen App](/docs/de/github-actions#github-app-permissions)51 * **Benutzerdefinierte GitHub App**: erstellen Sie Ihre eigene App, wenn Sie nur die drei Berechtigungen möchten, die die Claude Code GitHub Action verwendet, anstelle des [vollständigen Satzes der offiziellen App](/docs/de/github-actions#github-app-permissions)

52 * **GitHub's automatisches `GITHUB_TOKEN`**: keine App zu erstellen oder zu installieren, aber GitHub löst Ihre CI-Workflows nicht bei Commits aus, die damit erstellt wurden52 * **GitHub's automatisches `GITHUB_TOKEN`**: keine App zu erstellen oder zu installieren, aber GitHub löst Ihre CI-Workflows nicht bei Commits aus, die damit erstellt wurden

53 53 

54 Die Workflow-Beispiele im vierten Schritt authentifizieren sich mit einer benutzerdefinierten App. Dieser Schritt sagt auch, was für die anderen beiden Optionen zu ändern ist.54 Die Workflow-Beispiele im vierten Schritt authentifizieren sich mit einer benutzerdefinierten App. Dieser Schritt sagt auch, was für die anderen beiden Optionen zu ändern ist.

glossary.md +22 −5

Details

12 A12 A

13</h2>13</h2>

14 14 

15<h3 id="agents-md">

16 AGENTS.md

17</h3>

18 

19Eine Markdown-Datei mit Projektanweisungen, die Sie für KI-Coding-Agenten schreiben. Wenn Ihr Repository eine solche Datei hat und keine [CLAUDE.md](#claude-md), liest Claude sie als Ihre Projektanweisungen, ohne dass Sie eine zweite Datei hinzufügen müssen. Sie können die Einstellung **Projektanweisungen** in `/config` ändern, um Claude beide Dateien oder nur `CLAUDE.md` zu lesen. Das direkte Lesen von `AGENTS.md` erfordert Claude Code v2.1.277 oder später in einer Sitzung, die Feature Flags abruft; in anderen Versionen importieren Sie es aus einer CLAUDE.md.

20 

21Weitere Informationen: [AGENTS.md](/docs/de/memory#agents-md)

22 

15<h3 id="agent-teams">23<h3 id="agent-teams">

16 Agent Teams24 Agent Teams

17</h3>25</h3>


122 130 

123Eine Markdown-Datei mit persistenten Anweisungen, die Sie für Claude schreiben, geladen zu Beginn jeder Sitzung als Benutzernachricht nach dem System-Prompt. Legen Sie Projektkonventionen, Architekturnotizen und „immer X tun"-Regeln hier ab. CLAUDE.md überlebt [Komprimierung](#compaction) und wird danach frisch von der Festplatte neu gelesen.131Eine Markdown-Datei mit persistenten Anweisungen, die Sie für Claude schreiben, geladen zu Beginn jeder Sitzung als Benutzernachricht nach dem System-Prompt. Legen Sie Projektkonventionen, Architekturnotizen und „immer X tun"-Regeln hier ab. CLAUDE.md überlebt [Komprimierung](#compaction) und wird danach frisch von der Festplatte neu gelesen.

124 132 

125Sie können CLAUDE.md im Projektbereich in `./CLAUDE.md` oder `./.claude/CLAUDE.md`, im Benutzerbereich in `~/.claude/CLAUDE.md` oder als [verwaltete Richtlinie](#managed-settings) für Ihre Organisation platzieren. Alle gefundenen Dateien werden in den Kontext verkettet, anstatt sich gegenseitig zu überschreiben, geordnet vom breitesten Bereich zum spezifischsten.133Sie können CLAUDE.md im Projektbereich in `./CLAUDE.md` oder `./.claude/CLAUDE.md`, im Benutzerbereich in `~/.claude/CLAUDE.md` oder als [verwaltete Richtlinie](#managed-settings) für Ihre Organisation platzieren. Alle gefundenen Dateien werden in den Kontext verkettet, anstatt sich gegenseitig zu überschreiben, geordnet vom breitesten Bereich zum spezifischsten. Claude Code kann auch die [AGENTS.md](#agents-md)-Dateien eines Projekts laden, eigenständig oder zusammen mit CLAUDE.md.

126 134 

127Weitere Informationen: [CLAUDE.md-Dateien](/docs/de/memory#claude-md-files)135Weitere Informationen: [CLAUDE.md-Dateien](/docs/de/memory#claude-md-files)

128 136 

137<h3 id="cloud-session">

138 Cloud-Sitzung

139</h3>

140 

141Eine Claude Code-Sitzung, die weiterläuft, nachdem Sie Ihren Laptop schließen, da sie auf Cloud-Infrastruktur statt auf Ihrem Computer läuft: standardmäßig von Anthropic verwaltet oder eine [selbst gehostete Umgebung](/docs/de/self-hosted-environments), die Ihre Organisation betreibt. Sie starten eine von claude.ai/code, der Claude Mobile App, der Desktop-App mit **Cloud** ausgewählt, `claude --cloud` oder einer [Routine](/docs/de/routines). Eine Sitzung in Ihrem Terminal, IDE oder der Desktop-App mit **Local** ausgewählt ist eine lokale Sitzung; um von einem anderen Gerät auf eine lokale Sitzung zuzugreifen, verwenden Sie [Remote Control](#remote-control).

142 

143Weitere Informationen: [Claude Code in der Cloud verwenden](/docs/de/claude-code-on-the-web)

144 

129<h3 id="command">145<h3 id="command">

130 Command146 Command

131</h3>147</h3>


332 Remote Control348 Remote Control

333</h3>349</h3>

334 350 

335Eine Möglichkeit, eine lokale Claude Code-Sitzung von Ihrem Telefon oder Browser über claude.ai fortzusetzen. Ihr Code bleibt auf Ihrem Computer; nur die Benutzeroberfläche ist remote. Unterschiedlich von Claude Code im Web, das in einer Cloud-Sandbox ausgeführt wird.351Eine Möglichkeit, eine lokale Claude Code-Sitzung von Ihrem Telefon oder Browser über claude.ai fortzusetzen. Ihr Code bleibt auf Ihrem Computer; nur die Benutzeroberfläche ist remote. Unterschiedlich von einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web), die in einer Cloud-Sandbox ausgeführt wird.

336 352 

337Weitere Informationen: [Remote Control](/docs/de/remote-control)353Weitere Informationen: [Remote Control](/docs/de/remote-control)

338 354 


408 Teleport424 Teleport

409</h3>425</h3>

410 426 

411Ein Befehl, `/teleport`, der eine Cloud Claude Code-Sitzung in Ihr lokales Terminal zieht. Claude ruft den Branch ab, lädt den Konversationsverlauf und setzt die Web-Sitzung fort, wo sie zuletzt war. Die umgekehrte Richtung ist `--cloud`, die eine lokale Aufgabe zum Ausführen im Web sendet.427Ein Befehl, `/teleport`, der eine Cloud Claude Code-Sitzung in Ihr lokales Terminal zieht. Claude ruft den Branch ab, lädt den Konversationsverlauf und setzt die Cloud-Sitzung fort, wo sie zuletzt war. Die umgekehrte Richtung ist `--cloud`, die eine lokale Aufgabe zum Ausführen in der Cloud sendet.

412 428 

413Weitere Informationen: [Vom Web zum Terminal](/docs/de/claude-code-on-the-web#from-web-to-terminal)429Weitere Informationen: [Vom Cloud zum Terminal](/docs/de/claude-code-on-the-web#from-cloud-to-terminal)

414 430 

415<h3 id="tool">431<h3 id="tool">

416 Tool432 Tool


461Diese Begriffe erscheinen in älteren Dokumentationen, Blog-Posts und Community-Inhalten. Verwenden Sie den aktuellen Namen, wenn Sie diese Website durchsuchen.477Diese Begriffe erscheinen in älteren Dokumentationen, Blog-Posts und Community-Inhalten. Verwenden Sie den aktuellen Namen, wenn Sie diese Website durchsuchen.

462 478 

463| Alter Begriff | Jetzt genannt | Notizen |479| Alter Begriff | Jetzt genannt | Notizen |

464| --------------- | --------------------------------------------- | --------------------------------------------------- |480| ----------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------- |

465| Headless Mode | [Non-Interactive Mode](#non-interactive-mode) | Gleiches `-p`-Flag, gleiches Verhalten |481| Headless Mode | [Non-Interactive Mode](#non-interactive-mode) | Gleiches `-p`-Flag, gleiches Verhalten |

482| Web-Sitzung; „Claude Code im Web" als Name für jede Cloud-Sitzung | [Cloud-Sitzung](#cloud-session) | „Claude Code im Web" benennt jetzt nur die Browser-Oberfläche unter claude.ai/code |

466| Custom Commands | [Skills](#skill) | `.claude/commands/`-Dateien funktionieren weiterhin |483| Custom Commands | [Skills](#skill) | `.claude/commands/`-Dateien funktionieren weiterhin |

467| Slash Commands | Commands | „Slash" aus der Produktkopie entfernt |484| Slash Commands | Commands | „Slash" aus der Produktkopie entfernt |

headless.md +1 −1

Details

343Das Flag `--allowedTools` verwendet [Berechtigungsregelsyntax](/docs/de/settings-reference#permission-rule-syntax). Das nachfolgende ` *` ermöglicht Präfix-Matching, sodass `Bash(git diff *)` jeden Befehl erlaubt, der mit `git diff` beginnt. Das Leerzeichen vor `*` ist wichtig: ohne es würde `Bash(git diff*)` auch `git diff-index` entsprechen.343Das Flag `--allowedTools` verwendet [Berechtigungsregelsyntax](/docs/de/settings-reference#permission-rule-syntax). Das nachfolgende ` *` ermöglicht Präfix-Matching, sodass `Bash(git diff *)` jeden Befehl erlaubt, der mit `git diff` beginnt. Das Leerzeichen vor `*` ist wichtig: ohne es würde `Bash(git diff*)` auch `git diff-index` entsprechen.

344 344 

345<Note>345<Note>

346 Benutzer-aufgerufene [skills](/docs/de/skills) und benutzerdefinierte Befehle funktionieren im `-p`-Modus: Fügen Sie `/skill-name` in die Eingabeaufforderungszeichenkette ein und Claude Code erweitert sie vor dem Ausführen. Integrierte Befehle, die nur in der Terminalschnittstelle ausgeführt werden, wie `/login`, sind im `-p`-Modus nicht verfügbar. `/model`, `/effort`, `/fast`, `/color` und `/rename` akzeptieren den Wert als Argument, zum Beispiel `/model sonnet`, und `/mcp` ohne Argument gibt eine Textzusammenfassung des Serverstatus aus; diese Formen erfordern Claude Code v2.1.205 oder später und folgen den [Verfügbarkeitshinweisen](/docs/de/commands#all-commands) jedes Befehls. Um eine Einstellung von einer `-p`-Aufruf zu ändern, übergeben Sie `key=value` an `/config`, zum Beispiel `/config thinking=false`.346 Benutzer-aufgerufene [skills](/docs/de/skills) und benutzerdefinierte Befehle funktionieren im `-p`-Modus. Fügen Sie `/skill-name` in die Eingabeaufforderungszeichenkette ein und Claude Code erweitert sie vor dem Ausführen. Integrierte Befehle, die nur in der Terminalschnittstelle ausgeführt werden, wie `/login`, sind im `-p`-Modus nicht verfügbar. `/model`, `/effort`, `/fast`, `/color` und `/rename` akzeptieren den Wert als Argument, zum Beispiel `/model sonnet`, und `/mcp` ohne Argument gibt eine Textzusammenfassung des Serverstatus aus; diese Formen erfordern Claude Code v2.1.205 oder später und folgen den [Verfügbarkeitshinweisen](/docs/de/commands#all-commands) jedes Befehls. Um eine Einstellung zu ändern, übergeben Sie `key=value` an `/config`, zum Beispiel `/config thinking=false`. `/output-style <style>` wechselt [Ausgabestile](/docs/de/output-styles) und `/output-style` allein listet sie auf. Erfordert Claude Code v2.1.269 oder später.

347</Note>347</Note>

348 348 

349<h3 id="customize-the-system-prompt">349<h3 id="customize-the-system-prompt">

hooks.md +1098 −341

Details

7> Referenz für Claude Code Hook-Ereignisse, Konfigurationsschema, JSON-Ein-/Ausgabeformate, Exit-Codes, asynchrone Hooks, HTTP-Hooks, Prompt-Hooks und MCP-Tool-Hooks.7> Referenz für Claude Code Hook-Ereignisse, Konfigurationsschema, JSON-Ein-/Ausgabeformate, Exit-Codes, asynchrone Hooks, HTTP-Hooks, Prompt-Hooks und MCP-Tool-Hooks.

8 8 

9<Tip>9<Tip>

10 Eine Schnellstartanleitung mit Beispielen finden Sie unter [Workflows mit Hooks automatisieren](/docs/de/hooks-guide).10 Eine Schnellstartanleitung mit Beispielen finden Sie unter [Hooks automatisieren](/docs/de/hooks-guide).

11</Tip>11</Tip>

12 12 

13Hooks sind benutzerdefinierte Shell-Befehle, HTTP-Endpunkte oder LLM-Prompts, die automatisch an bestimmten Punkten im Lebenszyklus von Claude Code ausgeführt werden. Verwenden Sie diese Referenz, um Ereignisschemas, Konfigurationsoptionen, JSON-Ein-/Ausgabeformate und erweiterte Funktionen wie asynchrone Hooks, HTTP-Hooks und MCP-Tool-Hooks nachzuschlagen. Wenn Sie Hooks zum ersten Mal einrichten, beginnen Sie stattdessen mit der [Anleitung](/docs/de/hooks-guide).13Hooks sind benutzerdefinierte Shell-Befehle, HTTP-Endpunkte, MCP-Tool-Aufrufe, LLM-Prompts oder Subagenten, die automatisch an bestimmten Punkten im Lebenszyklus von Claude Code ausgeführt werden. Claude Code löst die gleichen Hook-Ereignisse überall aus, wo es läuft: Sitzungen im Terminal, IDE-Erweiterungen, die [Desktop-App](/docs/de/desktop-quickstart) und [Cloud-Sitzungen](/docs/de/claude-code-on-the-web). Verwenden Sie diese Referenz, um Ereignisschemas, Konfigurationsoptionen, JSON-Ein-/Ausgabeformate und erweiterte Funktionen wie asynchrone Hooks, HTTP-Hooks und MCP-Tool-Hooks nachzuschlagen.

14 14 

15<h2 id="hook-lifecycle">15<h2 id="hook-lifecycle">

16 Hook-Lebenszyklus16 Hook-Lebenszyklus

17</h2>17</h2>

18 18 

19Hooks werden an bestimmten Punkten während einer Claude Code-Sitzung ausgelöst. Wenn ein Ereignis ausgelöst wird und ein Matcher passt, übergibt Claude Code JSON-Kontext über das Ereignis an Ihren Hook-Handler. Für Command-Hooks kommt die Eingabe über stdin an. Für HTTP-Hooks kommt sie als POST-Request-Body an. Ihr Handler kann dann die Eingabe überprüfen, Maßnahmen ergreifen und optional eine Entscheidung zurückgeben.19Claude Code führt Hooks an bestimmten Punkten während einer Sitzung aus. Wenn ein Ereignis ausgelöst wird und ein Matcher passt, übergibt Claude Code JSON-Kontext über das Ereignis an Ihren Hook-Handler. Für Command-Hooks kommt die Eingabe über stdin an. Für HTTP-Hooks kommt sie als POST-Request-Body an. Ihr Handler kann dann die Eingabe überprüfen, Maßnahmen ergreifen und optional eine Entscheidung zurückgeben.

20 20 

21Ereignisse fallen in drei Rhythmen:21Ereignisse fallen in drei Rhythmen:

22 22 

23* einmal pro Sitzung: `SessionStart` und `SessionEnd`23* pro Sitzung: `SessionStart` und `SessionEnd`

24* einmal pro Runde: `UserPromptSubmit`, `Stop` und `StopFailure`24* pro Runde: `UserPromptSubmit`, `Stop` und `StopFailure`

25* bei jedem Tool-Aufruf innerhalb der agentengesteuerten Schleife: `PreToolUse` und `PostToolUse`25* bei jedem Tool-Aufruf innerhalb der agentengesteuerten Schleife: `PreToolUse` und `PostToolUse`, außer [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior)-Aufrufen, die beide überspringen

26 26 

27<div style={{maxWidth: "500px", margin: "0 auto"}}>27<div style={{maxWidth: "500px", margin: "0 auto"}}>

28 <Frame>28 <Frame>

29 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=81b9256c1bbe8832553485f5d9e9c746" alt="Hook-Lebenszyklus-Diagramm, das optionales Setup zeigt, das in SessionStart führt, dann eine Pro-Runde-Schleife mit UserPromptSubmit, UserPromptExpansion für Slash-Befehle, die verschachtelte agentengesteuerte Schleife (PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, PostToolBatch, SubagentStart/Stop, TaskCreated, TaskCompleted) und Stop oder StopFailure, gefolgt von TeammateIdle, PreCompact, PostCompact und SessionEnd, mit Elicitation und ElicitationResult verschachtelt in MCP-Tool-Ausführung, PermissionDenied als Seitenzweig von PermissionRequest für Auto-Mode-Ablehnungen, WorktreeCreate, WorktreeRemove, Notification, ConfigChange, InstructionsLoaded, CwdChanged und FileChanged als eigenständige asynchrone Ereignisse, und MessageDisplay als reines Anzeigereignis, das während des Streamings von Assistenten-Nachrichtentexten ausgeführt wird" width="520" height="1336" data-path="images/hooks-lifecycle.svg" />29 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=81b9256c1bbe8832553485f5d9e9c746" className="dark:hidden" alt="Hook-Lebenszyklus-Diagramm, das optionales Setup zeigt, das in SessionStart führt, dann eine Pro-Runde-Schleife mit UserPromptSubmit, UserPromptExpansion für Slash-Befehle, die verschachtelte agentengesteuerte Schleife (PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, PostToolBatch, SubagentStart/Stop, TaskCreated, TaskCompleted) und Stop oder StopFailure, gefolgt von TeammateIdle, PreCompact, PostCompact und SessionEnd, mit Elicitation und ElicitationResult verschachtelt in MCP-Tool-Ausführung, PermissionDenied als Seitenzweig von PermissionRequest für Auto-Mode-Ablehnungen, WorktreeCreate, WorktreeRemove, Notification, ConfigChange, InstructionsLoaded, CwdChanged, FileChanged und DirectoryAdded als eigenständige asynchrone Ereignisse, PreModelSwitch als eigenständiges sequenzielles Ereignis, das vor einem angeforderten Modellwechsel ausgeführt wird, PostModelSwitch als eigenständiges asynchrones Ereignis, das nach dem Modellwechsel der Sitzung ausgeführt wird, und MessageDisplay als reines Anzeigereignis, das während des Streamings von Assistenten-Nachrichtentexten ausgeführt wird" width="520" height="1336" data-path="images/hooks-lifecycle.svg" />

30 

31 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle-dark.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=c9b3d88487335f58cce0b52e2f9e7531" className="hidden dark:block" alt="Hook-Lebenszyklus-Diagramm, das optionales Setup zeigt, das in SessionStart führt, dann eine Pro-Runde-Schleife mit UserPromptSubmit, UserPromptExpansion für Slash-Befehle, die verschachtelte agentengesteuerte Schleife (PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, PostToolBatch, SubagentStart/Stop, TaskCreated, TaskCompleted) und Stop oder StopFailure, gefolgt von TeammateIdle, PreCompact, PostCompact und SessionEnd, mit Elicitation und ElicitationResult verschachtelt in MCP-Tool-Ausführung, PermissionDenied als Seitenzweig von PermissionRequest für Auto-Mode-Ablehnungen, WorktreeCreate, WorktreeRemove, Notification, ConfigChange, InstructionsLoaded, CwdChanged, FileChanged und DirectoryAdded als eigenständige asynchrone Ereignisse, PreModelSwitch als eigenständiges sequenzielles Ereignis, das vor einem angeforderten Modellwechsel ausgeführt wird, PostModelSwitch als eigenständiges asynchrones Ereignis, das nach dem Modellwechsel der Sitzung ausgeführt wird, und MessageDisplay als reines Anzeigereignis, das während des Streamings von Assistenten-Nachrichtentexten ausgeführt wird" width="520" height="1336" data-path="images/hooks-lifecycle-dark.svg" />

30 </Frame>32 </Frame>

31</div>33</div>

32 34 

33Die folgende Tabelle fasst zusammen, wann jedes Ereignis ausgelöst wird. Der Abschnitt [Hook-Ereignisse](#hook-events) dokumentiert das vollständige Eingabeschema und die Optionen zur Entscheidungskontrolle für jedes Ereignis.35Die folgende Tabelle fasst zusammen, wann jedes Ereignis ausgelöst wird. Der Abschnitt [Hook-Ereignisse](#hook-events) dokumentiert das vollständige Eingabeschema und die Optionen zur Entscheidungskontrolle für jedes Ereignis.

34 36 

35| Event | When it fires |37| Ereignis | Wann es ausgelöst wird |

36| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

37| `SessionStart` | When a session begins or resumes |39| `SessionStart` | Wenn eine Sitzung beginnt oder fortgesetzt wird |

38| `Setup` | When you start Claude Code with `--init-only`, or with `--init` or `--maintenance` in `-p` mode. For one-time preparation in CI or scripts |40| `Setup` | Wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im `-p`-Modus. Für einmalige Vorbereitung in CI oder Skripten |

39| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |41| `UserPromptSubmit` | Wenn Sie eine Eingabeaufforderung absenden, bevor Claude sie verarbeitet |

40| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |42| `UserPromptExpansion` | Wenn ein von Ihnen eingegebener Befehl in eine Eingabeaufforderung erweitert wird, bevor sie Claude erreicht. Kann die Erweiterung blockieren |

41| `PreToolUse` | Before a tool call executes. Can block it |43| `PreToolUse` | Bevor ein Werkzeugaufruf ausgeführt wird. Kann ihn blockieren |

42| `PermissionRequest` | When a tool call needs a permission decision |44| `PermissionRequest` | Wenn ein Werkzeugaufruf eine Genehmigungsentscheidung benötigt |

43| `PermissionDenied` | When auto mode denies a tool call, including denials without a classifier verdict. Use JSON `hookSpecificOutput.retry: true` to tell the model it may retry the denied tool call. Claude Code ignores `retry` when the classifier produced no verdict |45| `PermissionDenied` | Wenn der automatische Modus einen Werkzeugaufruf ablehnt, einschließlich Ablehnungen ohne Klassifizierer-Urteil. Verwenden Sie JSON `hookSpecificOutput.retry: true`, um dem Modell mitzuteilen, dass es den abgelehnten Werkzeugaufruf möglicherweise erneut versuchen kann. Claude Code ignoriert `retry`, wenn der Klassifizierer kein Urteil gefällt hat |

44| `PostToolUse` | After a tool call succeeds |46| `PostToolUse` | Nach erfolgreichem Werkzeugaufruf |

45| `PostToolUseFailure` | After a tool call fails |47| `PostToolUseFailure` | Nach fehlgeschlagenem Werkzeugaufruf |

46| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |48| `PostToolBatch` | Nach Auflösung eines vollständigen Satzes paralleler Werkzeugaufrufe, bevor der nächste Modellaufruf erfolgt |

47| `Notification` | When Claude Code sends a notification |49| `Notification` | Wenn Claude Code eine Benachrichtigung sendet |

48| `MessageDisplay` | While assistant message text is displayed |50| `MessageDisplay` | Während der Text der Assistentnachricht angezeigt wird |

49| `SubagentStart` | When a subagent is spawned |51| `SubagentStart` | Wenn ein Subagent erzeugt wird |

50| `SubagentStop` | When a subagent finishes |52| `SubagentStop` | Wenn ein Subagent beendet wird |

51| `TaskCreated` | When a task is being created via `TaskCreate` |53| `TaskCreated` | Wenn eine Aufgabe über `TaskCreate` erstellt wird |

52| `TaskCompleted` | When a task is being marked as completed |54| `TaskCompleted` | Wenn eine Aufgabe als abgeschlossen markiert wird |

53| `Stop` | When Claude finishes responding |55| `Stop` | Wenn Claude die Antwort beendet |

54| `StopFailure` | When the turn ends due to an API error |56| `StopFailure` | Wenn die Runde aufgrund eines API-Fehlers endet |

55| `TeammateIdle` | When an [agent team](/docs/en/agent-teams) teammate is about to go idle |57| `TeammateIdle` | Wenn ein [Agent-Team](/docs/de/agent-teams)-Teamkollege im Begriff ist, untätig zu werden |

56| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |58| `InstructionsLoaded` | Wenn eine CLAUDE.md- oder `.claude/rules/*.md`-Datei in den Kontext geladen wird. Wird beim Sitzungsstart und beim verzögerten Laden von Dateien während einer Sitzung ausgelöst |

57| `ConfigChange` | When a configuration file changes during a session |59| `ConfigChange` | Wenn sich eine Konfigurationsdatei während einer Sitzung ändert |

58| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |60| `CwdChanged` | Wenn sich das Arbeitsverzeichnis ändert, z. B. wenn Claude einen `cd`-Befehl ausführt. Nützlich für reaktive Umgebungsverwaltung mit Tools wie direnv |

59| `DirectoryAdded` | When a working directory is added mid-session via `/add-dir` or the SDK `register_repo_root` control request |61| `DirectoryAdded` | Wenn ein Arbeitsverzeichnis während einer Sitzung über `/add-dir` oder die SDK-Steueranforderung `register_repo_root` hinzugefügt wird |

60| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |62| `FileChanged` | Wenn sich eine überwachte Datei auf der Festplatte ändert. Das Feld `matcher` gibt an, welche Dateinamen überwacht werden sollen |

61| `WorktreeCreate` | When a worktree is being created via `--worktree`, `isolation: "worktree"`, or for a background session. Replaces default git behavior |63| `WorktreeCreate` | Wenn ein Worktree über `--worktree`, `isolation: "worktree"` oder für eine Hintergrundsitzung erstellt wird. Ersetzt das Standard-Git-Verhalten |

62| `WorktreeRemove` | When a worktree is being removed at session exit, when a subagent finishes, or when you delete a background session |64| `WorktreeRemove` | Wenn ein Worktree beim Sitzungsende, beim Beenden eines Subagenten oder beim Löschen einer Hintergrundsitzung entfernt wird |

63| `PreCompact` | Before context compaction |65| `PreCompact` | Vor Kontextkomprimierung |

64| `PostCompact` | After context compaction completes |66| `PostCompact` | Nach Abschluss der Kontextkomprimierung |

65| `PreModelSwitch` | Before Claude Code applies a model switch that you or a client requested. Can block the switch |67| `PreModelSwitch` | Bevor Claude Code einen Modellwechsel anwendet, den Sie oder ein Client angefordert haben. Kann den Wechsel blockieren |

66| `PostModelSwitch` | After the session's model changes, including changes Claude Code makes on its own, such as restoring the model when you resume a session |68| `PostModelSwitch` | Nach Änderung des Modells der Sitzung, einschließlich Änderungen, die Claude Code selbst vornimmt, z. B. Wiederherstellung des Modells beim Fortsetzen einer Sitzung |

67| `Elicitation` | When an MCP server requests user input during a tool call |69| `Elicitation` | Wenn ein MCP-Server während eines Werkzeugaufrufs Benutzereingaben anfordert |

68| `ElicitationResult` | After a user responds to an MCP elicitation, before the response is sent back to the server |70| `ElicitationResult` | Nachdem ein Benutzer auf eine MCP-Abfrage antwortet, bevor die Antwort an den Server zurückgesendet wird |

69| `SessionEnd` | When a session terminates |71| `SessionEnd` | Wenn eine Sitzung beendet wird |

70 72 

71<h3 id="how-a-hook-resolves">73<h3 id="how-a-hook-resolves">

72 Wie ein Hook aufgelöst wird74 Wie ein Hook aufgelöst wird

73</h3>75</h3>

74 76 

75Um zu sehen, wie diese Teile zusammenpassen, betrachten Sie diesen `PreToolUse`-Hook, der destruktive Shell-Befehle blockiert. Der `matcher` grenzt auf Bash-Tool-Aufrufe ein und die `if`-Bedingung grenzt weiter auf Bash-Unterbefehle ein, die mit `rm *` übereinstimmen, daher wird `block-rm.sh` nur ausgeführt, wenn beide Filter passen:77Um zu sehen, wie das Ereignis, der Matcher und der Handler zusammenpassen, betrachten Sie diesen `PreToolUse`-Hook, der destruktive Shell-Befehle blockiert.

76 78 

77```json theme={null}79<Tabs>

78{80 <Tab title="macOS/Linux">

81 Der `matcher` grenzt auf Bash-Tool-Aufrufe ein und die `if`-Bedingung grenzt weiter auf Bash-Unterbefehle ein, die mit `rm *` übereinstimmen, daher wird `block-rm.sh` nur ausgeführt, wenn beide Filter passen:

82 

83 ```json theme={null}

84 {

79 "hooks": {85 "hooks": {

80 "PreToolUse": [86 "PreToolUse": [

81 {87 {


91 }97 }

92 ]98 ]

93 }99 }

94}100 }

95```101 ```

96 102 

97Das Skript liest die JSON-Eingabe von stdin, extrahiert den Befehl und gibt eine `permissionDecision` von `"deny"` zurück, wenn es `rm -rf` enthält:103 Das Skript liest die JSON-Eingabe von stdin, extrahiert den Befehl und gibt eine `permissionDecision` von `"deny"` zurück, wenn es `rm -rf` enthält. Speichern Sie es unter `.claude/hooks/block-rm.sh` in Ihrem Projekt und machen Sie es mit `chmod +x .claude/hooks/block-rm.sh` ausführbar, damit Claude Code es ausführen kann:

98 104 

99```bash theme={null}105 ```bash theme={null}

100#!/bin/bash106 #!/bin/bash

101# .claude/hooks/block-rm.sh107 # .claude/hooks/block-rm.sh

102COMMAND=$(jq -r '.tool_input.command')108 COMMAND=$(jq -r '.tool_input.command')

103 109 

104if echo "$COMMAND" | grep -q 'rm -rf'; then110 if echo "$COMMAND" | grep -q 'rm -rf'; then

105 jq -n '{111 jq -n '{

106 hookSpecificOutput: {112 hookSpecificOutput: {

107 hookEventName: "PreToolUse",113 hookEventName: "PreToolUse",


109 permissionDecisionReason: "Destructive command blocked by hook"115 permissionDecisionReason: "Destructive command blocked by hook"

110 }116 }

111 }'117 }'

112else118 else

113 exit 0 # no decision; normal permission flow applies119 exit 0 # no decision; normal permission flow applies

114fi120 fi

115```121 ```

122 

123 Dieses Skript verwendet wie die anderen Bash-Beispiele auf dieser Seite, die JSON-Eingabe analysieren, `jq`, daher installieren Sie `jq` und stellen Sie sicher, dass es sich in Ihrem `PATH` befindet, bevor Sie sie versuchen.

124 </Tab>

125 

126 <Tab title="Windows (PowerShell)">

127 Der Matcher `Bash|PowerShell` deckt das [PowerShell-Tool](#powershell) sowie Bash ab. Eine einzelne `if`-Regel passt nur zu den Aufrufen eines Tools, daher erhält jedes Tool seinen eigenen Handler: der erste grenzt auf Bash-Unterbefehle ein, die mit `rm *` übereinstimmen, der zweite auf PowerShell-Befehle, die mit `Remove-Item *` übereinstimmen. Beide führen das gleiche Skript über `powershell.exe` aus:

128 

129 ```json theme={null}

130 {

131 "hooks": {

132 "PreToolUse": [

133 {

134 "matcher": "Bash|PowerShell",

135 "hooks": [

136 {

137 "type": "command",

138 "if": "Bash(rm *)",

139 "command": "powershell.exe",

140 "args": [

141 "-NoProfile",

142 "-ExecutionPolicy",

143 "Bypass",

144 "-File",

145 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

146 ]

147 },

148 {

149 "type": "command",

150 "if": "PowerShell(Remove-Item *)",

151 "command": "powershell.exe",

152 "args": [

153 "-NoProfile",

154 "-ExecutionPolicy",

155 "Bypass",

156 "-File",

157 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

158 ]

159 }

160 ]

161 }

162 ]

163 }

164 }

165 ```

166 

167 Das Flag `-NoProfile` überspringt das Laden Ihres PowerShell-Profils, damit der Hook schnell startet, und `-ExecutionPolicy Bypass` ermöglicht PowerShell, die lokale Skriptdatei auszuführen.

168 

169 Das Skript liest die JSON-Eingabe von stdin, extrahiert den Befehl und gibt eine `permissionDecision` von `"deny"` zurück, wenn es `rm -rf` oder `Remove-Item` gefolgt von `-Recurse` enthält. Speichern Sie es unter `.claude/hooks/block-rm.ps1` in Ihrem Projekt:

116 170 

117Angenommen, Claude Code entscheidet sich, `Bash "rm -rf /tmp/build"` auszuführen. Hier ist, was passiert:171 ```powershell theme={null}

172 # .claude/hooks/block-rm.ps1

173 $callInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

174 $command = $callInput.tool_input.command

175 

176 if ($command -match 'rm -rf|Remove-Item.*-Recurse') {

177 @{

178 hookSpecificOutput = @{

179 hookEventName = "PreToolUse"

180 permissionDecision = "deny"

181 permissionDecisionReason = "Destructive command blocked by hook"

182 }

183 } | ConvertTo-Json

184 } else {

185 exit 0 # no decision; normal permission flow applies

186 }

187 ```

188 </Tab>

189</Tabs>

190 

191Angenommen, Claude Code entscheidet sich, `Bash "rm -rf /tmp/build"` gegen die macOS/Linux-Konfiguration auszuführen. Hier ist, was passiert:

118 192 

119<Frame>193<Frame>

120 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" alt="Diagramm der Hook-Auflösung: PreToolUse wird ausgelöst, der Matcher prüft auf eine Bash-Übereinstimmung, dann prüft die if-Bedingung auf eine Bash(rm *)-Übereinstimmung. Wenn beide passen, wird der Hook-Befehl ausgeführt und gibt permissionDecision deny zurück, daher wird der Tool-Aufruf blockiert und Claude Code wird fortgesetzt. Wenn eine der Prüfungen nicht passt, wird der Hook übersprungen und der Tool-Aufruf darf fortgesetzt werden." width="930" height="270" data-path="images/hook-resolution.svg" />194 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" className="dark:hidden" alt="Diagramm der Hook-Auflösung: PreToolUse wird ausgelöst, der Matcher prüft auf eine Bash-Übereinstimmung, dann prüft die if-Bedingung auf eine Bash(rm *)-Übereinstimmung. Wenn beide passen, wird der Hook-Befehl ausgeführt und gibt permissionDecision deny zurück, daher wird der Tool-Aufruf blockiert und Claude Code wird fortgesetzt. Wenn eine der Prüfungen nicht passt, wird der Hook übersprungen und der Tool-Aufruf darf fortgesetzt werden." width="930" height="270" data-path="images/hook-resolution.svg" />

195 

196 <img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/hook-resolution-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e80af91f8507cee6bd51ac3c2dd92f63" className="hidden dark:block" alt="Diagramm der Hook-Auflösung: PreToolUse wird ausgelöst, der Matcher prüft auf eine Bash-Übereinstimmung, dann prüft die if-Bedingung auf eine Bash(rm *)-Übereinstimmung. Wenn beide passen, wird der Hook-Befehl ausgeführt und gibt permissionDecision deny zurück, daher wird der Tool-Aufruf blockiert und Claude Code wird fortgesetzt. Wenn eine der Prüfungen nicht passt, wird der Hook übersprungen und der Tool-Aufruf darf fortgesetzt werden." width="930" height="270" data-path="images/hook-resolution-dark.svg" />

121</Frame>197</Frame>

122 198 

123<Steps>199<Steps>


183Der Ort, an dem Sie einen Hook definieren, bestimmt seinen Umfang:259Der Ort, an dem Sie einen Hook definieren, bestimmt seinen Umfang:

184 260 

185| Speicherort | Umfang | Freigegeben |261| Speicherort | Umfang | Freigegeben |

186| :----------------------------------------------------------- | :------------------------------- | :--------------------------------------------- |262| :--------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ |

187| `~/.claude/settings.json` | Alle Ihre Projekte | Nein, lokal auf Ihrem Computer |263| `~/.claude/settings.json` | Alle Ihre Projekte | Nein, lokal auf Ihrem Computer |

188| `.claude/settings.json` | Einzelnes Projekt | Ja, kann im Repo committed werden |264| `.claude/settings.json` | Einzelnes Projekt | Ja, kann im Repo committed werden |

189| `.claude/settings.local.json` | Einzelnes Projekt | Nein, gitignored, wenn Claude Code es erstellt |265| `.claude/settings.local.json` | Einzelnes Projekt | Nein, gitignored, wenn Claude Code eine Einstellung darin speichert |

190| Verwaltete Richtlinieneinstellungen | Organisationsweit | Ja, von Admin kontrolliert |266| Verwaltete Richtlinieneinstellungen | Organisationsweit | Ja, von Admin kontrolliert |

191| [Plugin](/docs/de/plugins) `hooks/hooks.json` | Wenn Plugin aktiviert ist | Ja, mit dem Plugin gebündelt |267| [Plugin](/docs/de/plugins) `hooks/hooks.json` | Wenn Plugin aktiviert ist | Ja, mit dem Plugin gebündelt |

192| [Skill](/docs/de/skills) oder [Agent](/docs/de/sub-agents) Frontmatter | Während die Komponente aktiv ist | Ja, in der Komponentendatei definiert |268| [Skill](/docs/de/skills) Frontmatter | Der Rest der Sitzung, sobald der Skill aufgerufen wird. Siehe [Hooks in Skills und Agents](#hooks-in-skills-and-agents) | Ja, in der Skill-Datei definiert |

269| [Subagent](/docs/de/sub-agents) Frontmatter | Während dieser Subagent läuft | Ja, in der Subagent-Datei definiert |

193 270 

194Weitere Informationen zur Auflösung von Einstellungsdateien finden Sie unter [Einstellungen](/docs/de/settings). Enterprise-Administratoren können `allowManagedHooksOnly` verwenden, um Benutzer-, Projekt- und Plugin-Hooks zu blockieren. Hooks von Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, sind ausgenommen, daher können Administratoren überprüfte Hooks über einen Organisations-Marketplace verteilen. Siehe [Hook-Konfiguration](/docs/de/settings#hook-configuration).271[Cloud-Sitzungen](/docs/de/claude-code-on-the-web) lesen Ihre lokale `~/.claude/settings.json` nicht; Hooks dort stammen aus dem Repo, was bedeutet, dass seine `.claude/settings.json` in einer Sitzung mit einem Repository und die Plugins, die es deklariert, in jeder Sitzung, und aus den von Ihrem Server verwalteten Einstellungen Ihrer Organisation. In einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments-configuration#permissions-and-tool-approval) führt Claude Code auch die Hooks aus, die der Operator vom Host `~/.claude/` des Runners seeded hat, und es führt die Hooks in der verwalteten Einstellungsdatei des Runner-Images aus, wenn diese Datei unter den [verwalteten Quellen liegt, die Claude Code anwendet](/docs/de/managed-settings#how-claude-code-combines-managed-sources), was standardmäßig bedeutet, nur wenn weder Server-verwaltete Einstellungen noch eine von MDM bereitgestellte Claude Code-Richtlinie die verwaltete Ebene bereitstellen. Siehe [was von Ihrem Setup übertragen wird](/docs/de/cloud-environments#what-carries-over-from-your-setup), um zu erfahren, welche Dateien eine Cloud-Sitzung erreichen.

272 

273Weitere Informationen zur Auflösung von Einstellungsdateien finden Sie unter [Einstellungen](/docs/de/settings).

274 

275Hooks aus Einstellungsdateien, verwalteten Richtlinieneinstellungen und Plugins werden auch in [Subagenten](/docs/de/sub-agents) ausgeführt. Wenn ein Subagent ein Tool aufruft, werden Tool-Ereignisse wie `PreToolUse` und `PostToolUse` die gleichen konfigurierten Hooks wie in der Hauptkonversation ausgelöst, und die Eingabe enthält die [gemeinsamen Eingabefelder](#common-input-fields) `agent_id` und `agent_type`, die den Subagenten identifizieren.

276 

277Enterprise-Administratoren können `allowManagedHooksOnly` verwenden, um einzuschränken, welche Hooks ausgeführt werden:

278 

279* Ihre Benutzer-, Projekt-, lokalen und Plugin-Hooks werden blockiert. Hooks von Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, sind ausgenommen

280* Claude Code schränkt auch Ihre [`statusLine`](/docs/de/statusline), [`fileSuggestion`](/docs/de/settings-reference#filesuggestion) und [`subagentStatusLine`](/docs/de/statusline#subagent-status-lines) Einstellungen auf verwaltete Einstellungen ein

281* Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources), einschließlich Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, es sei denn, [`disableCommandPluginSources`](/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt. `command`-Quellen erfordern Claude Code v2.1.229 oder später

282* Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](/docs/de/plugin-marketplaces#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den verwaltete Einstellungen selbst deklarieren

283 

284Siehe [was unter `allowManagedHooksOnly` läuft](/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly).

285 

286Hook-Einträge werden über Einstellungsebenen hinweg zusammengeführt, anstatt sich gegenseitig zu ersetzen: Benutzer-, Projekt- und lokale Einstellungen fügen ihre eigenen Hooks hinzu, ohne verwaltete zu entfernen, und die Einstellung [`disableAllHooks`](#disable-or-remove-hooks) kann verwaltete Hooks von außerhalb verwalteter Einstellungen nicht deaktivieren.

287 

288Die [HTTP-Hook-Allowlists](/docs/de/settings-reference#hook-and-skill-settings) gelten für Hooks aus jeder Quelle, einschließlich verwalteter Richtlinieneinstellungen:

289 

290* `allowedHttpHookUrls`: Wenn auf einer beliebigen Einstellungsebene definiert, führt Claude Code einen HTTP-Hook-Handler nur aus, wenn seine URL mit der zusammengeführten Allowlist übereinstimmt

291* `httpHookAllowedEnvVars`: Wenn definiert, interpoliert Claude Code nur die Umgebungsvariablen auf dieser Liste in Hook-Header

195 292 

196<h3 id="matcher-patterns">293<h3 id="matcher-patterns">

197 Matcher-Muster294 Matcher-Muster


218Jeder Ereignistyp passt auf ein anderes Feld:315Jeder Ereignistyp passt auf ein anderes Feld:

219 316 

220| Ereignis | Worauf der Matcher filtert | Beispiel-Matcher-Werte |317| Ereignis | Worauf der Matcher filtert | Beispiel-Matcher-Werte |

221| :------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |318| :------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

222| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | Tool-Name | `Bash`, `Edit\|Write`, `mcp__.*` |319| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | Tool-Name | `Bash`, `Edit\|Write`, `mcp__.*` |

223| `SessionStart` | Wie die Sitzung gestartet wurde | `startup`, `resume`, `clear`, `compact` |320| `SessionStart` | Wie die Sitzung gestartet wurde | `startup`, `resume`, `clear`, `compact`, `fork` |

224| `Setup` | Welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |321| `Setup` | Welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |

225| `SessionEnd` | Warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |322| `SessionEnd` | Warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

226| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed` |323| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |

227| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan`, benutzerdefinierte Agent-Namen oder Plugin-bezogene Namen wie `^my-plugin:reviewer$` |324| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan`, benutzerdefinierte Agent-Namen oder Plugin-bezogene Namen wie `^my-plugin:reviewer$` |

228| `PreCompact`, `PostCompact` | Was die Komprimierung ausgelöst hat | `manual`, `auto` |325| `PreCompact`, `PostCompact` | Was die Komprimierung ausgelöst hat | `manual`, `auto` |

326| `PreModelSwitch`, `PostModelSwitch` | Kanonischer Name des Modells, zu dem die Sitzung wechselt, wie unter [PreModelSwitch](#premodelswitch) beschrieben | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |

229| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |327| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |

230| `ConfigChange` | Konfigurationsquelle | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |328| `ConfigChange` | Konfigurationsquelle | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |

231| `CwdChanged` | Keine Matcher-Unterstützung | wird immer bei jedem Verzeichniswechsel ausgelöst |329| `CwdChanged` | Keine Matcher-Unterstützung | wird immer bei jedem Verzeichniswechsel ausgelöst |

330| `DirectoryAdded` | Wie das Verzeichnis hinzugefügt wurde | `slash_command`, `register_repo_root` |

232| `FileChanged` | Dateinamen zum Überwachen (siehe [FileChanged](#filechanged)) | `.envrc\|.env` |331| `FileChanged` | Dateinamen zum Überwachen (siehe [FileChanged](#filechanged)) | `.envrc\|.env` |

233| `StopFailure` | Fehlertyp | `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `unknown` |332| `StopFailure` | Fehlertyp | `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, `unknown` |

234| `InstructionsLoaded` | Ladegrund | `session_start`, `nested_traversal`, `path_glob_match`, `include`, `compact` |333| `InstructionsLoaded` | Ladegrund | `session_start`, `nested_traversal`, `path_glob_match`, `include`, `compact` |

235| `UserPromptExpansion` | Befehlsname | Ihre Skill- oder Befehlsnamen |334| `UserPromptExpansion` | Befehlsname | Ihre Skill- oder Befehlsnamen |

236| `Elicitation` | MCP-Server-Name | Ihre konfigurierten MCP-Server-Namen |335| `Elicitation` | MCP-Server-Name | Ihre konfigurierten MCP-Server-Namen |

237| `ElicitationResult` | MCP-Server-Name | gleiche Werte wie `Elicitation` |336| `ElicitationResult` | MCP-Server-Name | gleiche Werte wie `Elicitation` |

238| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` | Keine Matcher-Unterstützung | wird immer bei jedem Auftreten ausgelöst |337| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` | Keine Matcher-Unterstützung | wird immer bei jedem Auftreten ausgelöst |

239 338 

240Der Matcher wird gegen ein Feld aus der [JSON-Eingabe](#hook-input-and-output) ausgeführt, die Claude Code an Ihren Hook über stdin sendet. Für Tool-Ereignisse ist dieses Feld `tool_name`. Jeder Abschnitt [Hook-Ereignis](#hook-events) listet den vollständigen Satz von Matcher-Werten und das Eingabeschema für dieses Ereignis auf.339Das Abgleichen von `StopFailure` auf `cloud_credential_error` erfordert Claude Code v2.1.267 oder später, die erste Version, die Fehler beim Laden von Anmeldedaten unter diesem Wert statt unter `server_error` oder `unknown` meldet.

340 

341Für die meisten Ereignisse wertet Claude Code den Matcher gegen ein Feld aus der [JSON-Eingabe](#hook-input-and-output) aus, die es an Ihren Hook über stdin sendet. Für Tool-Ereignisse ist dieses Feld `tool_name`. Für `PreModelSwitch` und `PostModelSwitch` wertet Claude Code den Matcher gegen den kanonischen Namen aus, den es aus `to_model` ableitet, wie unter [PreModelSwitch](#premodelswitch) beschrieben. Jeder Abschnitt [Hook-Ereignis](#hook-events) listet den vollständigen Satz von Matcher-Werten und das Eingabeschema für dieses Ereignis auf.

241 342 

242Dieses Beispiel führt ein Linting-Skript nur aus, wenn Claude eine Datei schreibt oder bearbeitet:343Dieses Beispiel führt ein Linting-Skript nur aus, wenn Claude eine Datei schreibt oder bearbeitet:

243 344 


259}360}

260```361```

261 362 

262`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` und `CwdChanged` unterstützen keine Matcher und werden immer bei jedem Auftreten ausgelöst. Wenn Sie ein `matcher`-Feld zu diesen Ereignissen hinzufügen, wird es stillschweigend ignoriert.363Wenn Sie ein `matcher`-Feld zu einem Ereignis ohne Matcher-Unterstützung hinzufügen, wird es stillschweigend ignoriert.

263 364 

264Für Tool-Ereignisse können Sie enger filtern, indem Sie das Feld [`if`](#common-fields) auf einzelnen Hook-Handlern setzen. `if` verwendet [Berechtigungsregel-Syntax](/docs/de/permissions), um gegen den Tool-Namen und die Argumente zusammen zu passen, daher wird `"Bash(git *)"` ausgeführt, wenn ein Bash-Befehl mit `git *` übereinstimmt und `"Edit(*.ts)"` wird nur für TypeScript-Dateien ausgeführt.365Für Tool-Ereignisse können Sie enger filtern, indem Sie das Feld [`if`](#common-fields) auf einzelnen Hook-Handlern setzen. `if` verwendet [Berechtigungsregel-Syntax](/docs/de/permissions), um gegen den Tool-Namen und die Argumente zusammen zu passen, daher wird `"Bash(git *)"` ausgeführt, wenn ein Bash-Befehl mit `git *` übereinstimmt und `"Edit(*.ts)"` wird nur für TypeScript-Dateien ausgeführt.

265 366 


323* **[Command-Hooks](#command-hook-fields)** (`type: "command"`): führen einen Shell-Befehl aus. Ihr Skript erhält die [JSON-Eingabe](#hook-input-and-output) des Ereignisses über stdin und kommuniziert Ergebnisse über Exit-Codes und stdout zurück.424* **[Command-Hooks](#command-hook-fields)** (`type: "command"`): führen einen Shell-Befehl aus. Ihr Skript erhält die [JSON-Eingabe](#hook-input-and-output) des Ereignisses über stdin und kommuniziert Ergebnisse über Exit-Codes und stdout zurück.

324* **[HTTP-Hooks](#http-hook-fields)** (`type: "http"`): senden die [JSON-Eingabe](#hook-input-and-output) des Ereignisses als HTTP-POST-Request an eine URL. Der Endpunkt kommuniziert Ergebnisse über den Response-Body mit dem gleichen [JSON-Ausgabeformat](#json-output) wie Command-Hooks zurück.425* **[HTTP-Hooks](#http-hook-fields)** (`type: "http"`): senden die [JSON-Eingabe](#hook-input-and-output) des Ereignisses als HTTP-POST-Request an eine URL. Der Endpunkt kommuniziert Ergebnisse über den Response-Body mit dem gleichen [JSON-Ausgabeformat](#json-output) wie Command-Hooks zurück.

325* **[MCP-Tool-Hooks](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): rufen ein Tool auf einem bereits verbundenen [MCP-Server](/docs/de/mcp) auf. Die Textausgabe des Tools wird wie Command-Hook-stdout behandelt.426* **[MCP-Tool-Hooks](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): rufen ein Tool auf einem bereits verbundenen [MCP-Server](/docs/de/mcp) auf. Die Textausgabe des Tools wird wie Command-Hook-stdout behandelt.

326* **[Prompt-Hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): senden einen Prompt an ein Claude-Modell für eine Single-Turn-Evaluierung. Das Modell gibt eine Ja/Nein-Entscheidung als JSON zurück. Siehe [Prompt-basierte Hooks](#prompt-based-hooks).427* **[Prompt-Hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): senden einen Prompt an ein Claude-Modell für eine Single-Turn-Evaluierung. Das Modell gibt seine Entscheidung als JSON zurück. Siehe [Prompt-basierte Hooks](#prompt-based-hooks).

327* **[Agent-Hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): spawnen einen Subagenten, der Tools wie Read, Grep und Glob verwenden kann, um Bedingungen zu überprüfen, bevor eine Entscheidung zurückgegeben wird. Agent-Hooks sind experimentell und können sich ändern. Siehe [Agent-basierte Hooks](#agent-based-hooks).428* **[Agent-Hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): spawnen einen Subagenten, der Tools wie Read, Grep und Glob verwenden kann, um Bedingungen zu überprüfen, bevor eine Entscheidung zurückgegeben wird. Agent-Hooks sind experimentell und können sich ändern. Siehe [Agent-basierte Hooks](#agent-based-hooks).

328 429 

329Alle passenden Hooks werden parallel ausgeführt, und identische Handler werden automatisch dedupliziert. Command-Hooks werden nach Befehlszeichenkette und `args` dedupliziert, und HTTP-Hooks werden nach URL dedupliziert.430Alle passenden Hooks werden parallel ausgeführt. Wenn Sie denselben Handler in mehr als einer Einstellungsdatei definieren, wird er einmal ausgeführt. Eine Kopie desselben Handlers von einem Plugin oder Skill bleibt separat.

431 

432Handler werden im aktuellen Verzeichnis mit der Umgebung von Claude Code ausgeführt. Wenn das aktuelle Verzeichnis nicht mehr existiert, zum Beispiel ein Worktree oder temporäres Verzeichnis, das eine andere Shell während der Sitzung gelöscht hat, führt Claude Code Command-Hooks aus dem ersten dieser Verzeichnisse aus, das noch existiert: das Verzeichnis, in dem die Sitzung gestartet wurde, das Projekt-Root, Ihr Home-Verzeichnis oder das System-Temp-Verzeichnis. Claude Code zeichnet eine Warnung auf, die das Fallback-Verzeichnis im [Debug-Log](#debug-hooks) benennt.

330 433 

331Handler werden im aktuellen Verzeichnis mit der Umgebung von Claude Code ausgeführt. Die Umgebungsvariable `$CLAUDE_CODE_REMOTE` wird in Remote-Web-Umgebungen auf `"true"` gesetzt und ist in der lokalen CLI nicht gesetzt. Ab v2.1.199 wird [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/de/env-vars) auf die [Remote Control](/docs/de/remote-control) Sitzungs-ID gesetzt, während die lokale Sitzung eine aktive Remote Control-Verbindung hat.434Die Umgebungsvariable `$CLAUDE_CODE_REMOTE` ist `"true"` in Remote-Web-Umgebungen und nicht in der lokalen CLI gesetzt. Claude Code v2.1.199 und später setzt [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/de/env-vars) auf die [Remote Control](/docs/de/remote-control) Sitzungs-ID, während die lokale Sitzung eine aktive Remote Control-Verbindung hat.

332 435 

333<h4 id="common-fields">436<h4 id="common-fields">

334 Gemeinsame Felder437 Gemeinsame Felder


337Diese Felder gelten für alle Hook-Typen:440Diese Felder gelten für alle Hook-Typen:

338 441 

339| Feld | Erforderlich | Beschreibung |442| Feld | Erforderlich | Beschreibung |

340| :-------------- | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |443| :-------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

341| `type` | ja | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` oder `"agent"` |444| `type` | ja | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` oder `"agent"` |

342| `if` | nein | Berechtigungsregel-Syntax zum Filtern, wann dieser Hook ausgeführt wird, wie `"Bash(git *)"` oder `"Edit(*.ts)"`. Der Hook wird nur ausgeführt, wenn der Tool-Aufruf dem Muster entspricht. Siehe die [Bash-Matching-Tabelle](#bash-if-matching) unten, um zu sehen, wie Bash-Muster gegen Unterbefehle, `$()` und Backticks evaluiert werden. Wird nur auf Tool-Ereignisse evaluiert: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` und `PermissionDenied`. Bei anderen Ereignissen wird ein Hook mit `if` gesetzt nie ausgeführt. Verwendet die gleiche Syntax wie [Berechtigungsregeln](/docs/de/permissions) |445| `if` | nein | Berechtigungsregel-Syntax zum Filtern, wann dieser Hook ausgeführt wird, wie `"Bash(git *)"` oder `"Edit(*.ts)"`. Der Hook wird nur ausgeführt, wenn der Tool-Aufruf dem Muster entspricht. Siehe die [Bash-Matching-Tabelle](#bash-if-matching) unten, um zu sehen, wie Bash-Muster gegen Unterbefehle, `$()` und Backticks evaluiert werden. Wird nur auf Tool-Ereignisse evaluiert: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` und `PermissionDenied`. Bei anderen Ereignissen wird ein Hook mit `if` gesetzt nie ausgeführt. Verwendet die gleiche Syntax wie [Berechtigungsregeln](/docs/de/permissions) |

343| `timeout` | nein | Sekunden vor dem Abbruch. Standardwerte: 600 für `command`, `http` und `mcp_tool`; 30 für `prompt`; 60 für `agent`. [`UserPromptSubmit`](#userpromptsubmit) senkt den Standardwert für `command`, `http` und `mcp_tool` auf 30, und [`MessageDisplay`](#messagedisplay) senkt ihn auf 10 |446| `timeout` | nein | Sekunden vor dem Abbruch. Claude Code erzwingt es nicht auf einem Command-Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen. Standardwerte: 600 für `command`, `http` und `mcp_tool`; 30 für `prompt`; 60 für `agent`. Claude Code senkt den Standardwert für `command`, `http` und `mcp_tool` auf 30 bei [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch) und [`PostModelSwitch`](#postmodelswitch), und auf 10 bei [`MessageDisplay`](#messagedisplay). [`SessionEnd`](#sessionend) Hooks teilen sich ein Budget von 1,5 Sekunden; wenn Ihre Einstellungen einen längeren Pro-Hook-`timeout` setzen, erhöht Claude Code das Budget, um zu passen, bis zu 60 Sekunden |

344| `statusMessage` | nein | Benutzerdefinierte Spinner-Nachricht, die angezeigt wird, während der Hook ausgeführt wird |447| `statusMessage` | nein | Benutzerdefinierte Spinner-Nachricht, die angezeigt wird, während der Hook ausgeführt wird |

345| `once` | nein | Wenn `true`, wird nur einmal pro Sitzung ausgeführt und dann entfernt. Nur für Hooks, die in [Skill-Frontmatter](#hooks-in-skills-and-agents) deklariert sind; wird in Einstellungsdateien und Agent-Frontmatter ignoriert |448| `once` | nein | Wenn `true`, entfernt Claude Code den Hook nach seiner ersten erfolgreichen Ausführung. Eine Ausführung, die fehlschlägt, mit Exit-Code 2 blockiert oder Timeout hat, lässt den Hook an Ort und Stelle, daher wird er beim nächsten passenden Ereignis erneut ausgeführt. Wird nur für Hooks berücksichtigt, die in [Skill-Frontmatter](#hooks-in-skills-and-agents) deklariert sind; wird in Einstellungsdateien und Agent-Frontmatter ignoriert |

346 449 

347Das Feld `if` enthält genau eine Berechtigungsregel. Es gibt keine `&&`-, `||`- oder List-Syntax zum Kombinieren von Regeln; um mehrere Bedingungen anzuwenden, definieren Sie einen separaten Hook-Handler für jeden.450Das Feld `if` enthält genau eine Berechtigungsregel. Es gibt keine `&&`-, `||`- oder List-Syntax zum Kombinieren von Regeln; um mehrere Bedingungen anzuwenden, definieren Sie einen separaten Hook-Handler für jeden.

348 451 

452In einer `if`-Bedingung für ein Datei-Tool passt ein Single-Segment-Verzeichnismuster wie `"Edit(src/**)"` nur zum `src`-Verzeichnis im Arbeitsverzeichnis und den Dateien darunter. Um ein Verzeichnis namens `src` in beliebiger Tiefe zu treffen, schreiben Sie `"Edit(**/src/**)"`. Vor v2.1.214 passte `"Edit(src/**)"` zu einem Verzeichnis namens `src` in beliebiger Tiefe unter dem Arbeitsverzeichnis.

453 

349<span id="bash-if-matching" />Für Bash-Muster hängt davon ab, ob Ihr Hook-Befehl ausgeführt wird, von der Form des Musters und dem Bash-Befehl, den Claude aufruft. Führende `VAR=value`-Zuweisungen werden vor dem Abgleich entfernt.454<span id="bash-if-matching" />Für Bash-Muster hängt davon ab, ob Ihr Hook-Befehl ausgeführt wird, von der Form des Musters und dem Bash-Befehl, den Claude aufruft. Führende `VAR=value`-Zuweisungen werden vor dem Abgleich entfernt.

350 455 

351| `if`-Muster | Bash-Befehl | Hook wird ausgeführt? | Warum |456| `if`-Muster | Bash-Befehl | Hook wird ausgeführt? | Warum |

352| :----------------- | :--------------------- | :-------------------- | :----------------------------------------------------------------------------------------------------------- |457| :----------------- | :-------------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |

353| `Bash(git *)` | `FOO=bar git push` | ja | führende Zuweisungen werden entfernt; `git push` passt |458| `Bash(git *)` | `FOO=bar git push` | ja | führende Zuweisungen werden entfernt; `git push` passt |

354| `Bash(git *)` | `npm test && git push` | ja | jeder Unterbefehl wird überprüft; `git push` passt |459| `Bash(git *)` | `npm test && git push` | ja | jeder Unterbefehl wird überprüft; `git push` passt |

355| `Bash(rm *)` | `echo $(rm -rf /)` | ja | Befehle in `$()` und Backticks werden überprüft; `rm -rf /` passt |460| `Bash(rm *)` | `echo $(rm -rf /)` | ja | Befehle in `$()` und Backticks werden überprüft; `rm -rf /` passt |

356| `Bash(rm *)` | `echo $(date)` | nein | kein Unterbefehl passt zu `rm *` |461| `Bash(rm *)` | `echo $(date)` | nein | kein Unterbefehl passt zu `rm *` |

462| `Bash(cat *)` | `echo before $(date) after` | nein | eine Substitution kann an jeder Argumentposition sitzen, daher werden der vollständige Befehl und `date` beide überprüft; keiner passt zu `cat *` |

463| `Bash(git *)` | `$TOOL git push` | ja | Claude Code kann nicht sagen, zu was sich der Befehlsname erweitert, daher wird der Hook ausgeführt |

357| `Bash(git push *)` | `echo $(date)` | ja | Muster, die mehr als den Befehlsnamen angeben, führen den Hook trotzdem bei `$()`, Backticks oder `$VAR` aus |464| `Bash(git push *)` | `echo $(date)` | ja | Muster, die mehr als den Befehlsnamen angeben, führen den Hook trotzdem bei `$()`, Backticks oder `$VAR` aus |

358 465 

359Der Filter schlägt auch offen fehl und führt Ihren Hook unabhängig vom Muster aus, wenn der Bash-Befehl nicht geparst werden kann. Da der `if`-Filter Best-Effort ist, verwenden Sie das [Berechtigungssystem](/docs/de/permissions) statt eines Hooks, um ein hartes Zulassen oder Verweigern durchzusetzen.466Wenn Claude Code nicht bestimmen kann, welche Befehle die Bash-Eingabe ausführt, wird Ihr Hook unabhängig vom Muster ausgeführt. Da der `if`-Filter Best-Effort ist, verwenden Sie das [Berechtigungssystem](/docs/de/permissions) statt eines Hooks, um ein hartes Zulassen oder Verweigern durchzusetzen.

360 467 

361<h4 id="command-hook-fields">468<h4 id="command-hook-fields">

362 Command-Hook-Felder469 Command-Hook-Felder


369| `command` | ja | Shell-Befehl zum Ausführen. Mit `args` die ausführbare Datei zum direkten Spawnen. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |476| `command` | ja | Shell-Befehl zum Ausführen. Mit `args` die ausführbare Datei zum direkten Spawnen. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |

370| `args` | nein | Argumentliste. Wenn vorhanden, wird `command` als ausführbare Datei aufgelöst und direkt mit `args` als Argumentvektor gespawnt, ohne Shell. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |477| `args` | nein | Argumentliste. Wenn vorhanden, wird `command` als ausführbare Datei aufgelöst und direkt mit `args` als Argumentvektor gespawnt, ohne Shell. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |

371| `async` | nein | Wenn `true`, wird im Hintergrund ausgeführt, ohne zu blockieren. Siehe [Hooks im Hintergrund ausführen](#run-hooks-in-the-background) |478| `async` | nein | Wenn `true`, wird im Hintergrund ausgeführt, ohne zu blockieren. Siehe [Hooks im Hintergrund ausführen](#run-hooks-in-the-background) |

372| `asyncRewake` | nein | Wenn `true`, wird im Hintergrund ausgeführt und weckt Claude bei Exit-Code 2 auf. Impliziert `async`. Der stderr des Hooks oder stdout, wenn stderr leer ist, wird Claude als Systemerinnerung angezeigt, damit es auf einen lang laufenden Hintergrund-Fehler reagieren kann |479| `asyncRewake` | nein | Wenn `true`, wird im Hintergrund ausgeführt und weckt Claude bei Exit-Code 2 auf. Der stderr des Hooks oder stdout, wenn stderr leer ist, wird Claude als Systemerinnerung angezeigt, damit es auf einen lang laufenden Hintergrund-Fehler reagieren kann |

373| `shell` | nein | Shell zum Verwenden für diesen Hook. Akzeptiert `"bash"` oder `"powershell"`. Standardwert ist `"bash"` oder `"powershell"` unter Windows, wenn Git Bash nicht installiert ist. Das Setzen von `"powershell"` führt den Befehl über PowerShell unter Windows aus. Erfordert nicht `CLAUDE_CODE_USE_POWERSHELL_TOOL`, da Hooks PowerShell direkt spawnen. Wird ignoriert, wenn `args` gesetzt ist |480| `shell` | nein | Shell zum Verwenden für diesen Hook. Akzeptiert `"bash"` oder `"powershell"`. Standardwert ist `"bash"` oder `"powershell"` unter Windows, wenn Git Bash nicht installiert ist. Das Setzen von `"powershell"` führt den Befehl über PowerShell unter Windows aus. Erfordert nicht `CLAUDE_CODE_USE_POWERSHELL_TOOL`, da Hooks PowerShell direkt spawnen. Wird ignoriert, wenn `args` gesetzt ist |

374 481 

375<a id="exec-form-and-shell-form" />482<a id="exec-form-and-shell-form" />


431 538 

432Claude Code sendet die [JSON-Eingabe](#hook-input-and-output) des Hooks als POST-Request-Body mit `Content-Type: application/json`. Der Response-Body verwendet das gleiche [JSON-Ausgabeformat](#json-output) wie Command-Hooks.539Claude Code sendet die [JSON-Eingabe](#hook-input-and-output) des Hooks als POST-Request-Body mit `Content-Type: application/json`. Der Response-Body verwendet das gleiche [JSON-Ausgabeformat](#json-output) wie Command-Hooks.

433 540 

434Die Fehlerbehandlung unterscheidet sich von Command-Hooks: Nicht-2xx-Antworten, Verbindungsfehler und Timeouts führen alle zu nicht-blockierenden Fehlern, die die Ausführung fortsetzen lassen. Um einen Tool-Aufruf zu blockieren oder eine Berechtigung zu verweigern, geben Sie eine 2xx-Antwort mit einem JSON-Body zurück, der `decision: "block"` oder ein `hookSpecificOutput` mit `permissionDecision: "deny"` enthält.541Die Fehlerbehandlung unterscheidet sich von Command-Hooks; siehe [HTTP-Response-Behandlung](#http-response-handling).

435 542 

436Dieses Beispiel sendet `PreToolUse`-Ereignisse an einen lokalen Validierungsdienst und authentifiziert sich mit einem Token aus der `MY_TOKEN`-Umgebungsvariable:543Dieses Beispiel sendet `PreToolUse`-Ereignisse an einen lokalen Validierungsdienst und authentifiziert sich mit einem Token aus der `MY_TOKEN`-Umgebungsvariable:

437 544 


470| `tool` | ja | Name des Tools, das auf diesem Server aufgerufen werden soll |577| `tool` | ja | Name des Tools, das auf diesem Server aufgerufen werden soll |

471| `input` | nein | Argumente, die an das Tool übergeben werden. String-Werte unterstützen `${path}`-Substitution aus der [JSON-Eingabe](#hook-input-and-output) des Hooks, wie `"${tool_input.file_path}"` |578| `input` | nein | Argumente, die an das Tool übergeben werden. String-Werte unterstützen `${path}`-Substitution aus der [JSON-Eingabe](#hook-input-and-output) des Hooks, wie `"${tool_input.file_path}"` |

472 579 

473Die Textausgabe des Tools wird wie Command-Hook-stdout behandelt: Wenn sie als gültige [JSON-Ausgabe](#json-output) geparst wird, wird sie als Entscheidung verarbeitet, andernfalls wird sie als Klartext angezeigt. Wenn der benannte Server nicht verbunden ist oder das Tool `isError: true` zurückgibt, erzeugt der Hook einen nicht-blockierenden Fehler und die Ausführung wird fortgesetzt.580Claude Code liest die Textausgabe des Tools auf die gleiche Weise wie Command-Hook-stdout, nach der [Parsing-Regel unter Exit-Code 0](#exit-code-0). Wenn der benannte Server nicht verbunden ist oder das Tool `isError: true` zurückgibt, erzeugt der Hook einen nicht-blockierenden Fehler und die Ausführung wird fortgesetzt.

474 

475MCP-Tool-Hooks sind auf jedem Hook-Ereignis verfügbar, sobald Claude Code sich mit Ihren MCP-Servern verbunden hat. `SessionStart` und `Setup` werden normalerweise ausgelöst, bevor Server die Verbindung beenden, daher sollten Hooks auf diesen Ereignissen beim ersten Ausführen den Fehler „nicht verbunden" erwarten.

476 581 

477Dieses Beispiel ruft das Tool `security_scan` auf dem MCP-Server `my_server` nach jedem `Write` oder `Edit` auf und übergibt den Pfad der bearbeiteten Datei:582Dieses Beispiel ruft das Tool `security_scan` auf dem MCP-Server `my_server` nach jedem `Write` oder `Edit` auf und übergibt den Pfad der bearbeiteten Datei:

478 583 


496}601}

497```602```

498 603 

604Ein `mcp_tool`-Hook kann nur ausgeführt werden, sobald Claude Code die MCP-Server der Sitzung für Hooks verfügbar gemacht hat. `SessionStart` und `Setup` können vor diesem Punkt ausgelöst werden:

605 

606* **Beim Start**: `SessionStart` wird ausgelöst, bevor die Server verfügbar sind, auch wenn Sie mit `--continue` oder `--resume` starten. Claude Code überspringt die `mcp_tool`-Hooks des Ereignisses, ohne ihre Tools aufzurufen, und das [Debug-Log](#debug-hooks) zeichnet `mcp_tool hooks are not available for the 'SessionStart' hook event (no MCP client context)` auf.

607* **Später in einer laufenden Sitzung**: nach `/clear` oder einer Komprimierung wird `SessionStart` erneut ausgelöst, wobei die Server bereits verfügbar sind, und seine `mcp_tool`-Hooks werden ausgeführt.

608* **Bei `Setup`**: `Setup` wird immer ausgelöst, bevor die Server verfügbar sind, daher überspringt Claude Code seine `mcp_tool`-Hooks jedes Mal und zeichnet die gleiche Nachricht auf, die `Setup` benennt.

609 

610Zum Beispiel ruft diese Konfiguration das Tool `load_context` auf dem MCP-Server `my_server` aus einem `SessionStart`-Hook ohne Matcher auf, daher gilt es für jede `SessionStart`-Quelle:

611 

612```json theme={null}

613{

614 "hooks": {

615 "SessionStart": [

616 {

617 "hooks": [

618 {

619 "type": "mcp_tool",

620 "server": "my_server",

621 "tool": "load_context"

622 }

623 ]

624 }

625 ]

626 }

627}

628```

629 

630Wenn Sie `claude` ausführen, überspringt Claude Code diesen Hook, ruft `load_context` nie auf und schreibt die Nachricht `no MCP client context` in das Debug-Log. Führen Sie `/clear` in dieser gleichen Sitzung aus und der Hook wird ausgeführt und ruft `load_context` auf. Ein `type: "command"`-Hook auf `SessionStart` wird beim Start ausgeführt, daher verwenden Sie einen für alles, das die Sitzung von ihrer ersten Runde benötigt.

631 

499<h4 id="prompt-and-agent-hook-fields">632<h4 id="prompt-and-agent-hook-fields">

500 Prompt- und Agent-Hook-Felder633 Prompt- und Agent-Hook-Felder

501</h4>634</h4>


513 646 

514Verwenden Sie diese Platzhalter, um Hook-Skripte relativ zum Projekt- oder Plugin-Root zu referenzieren, unabhängig vom Arbeitsverzeichnis, wenn der Hook ausgeführt wird:647Verwenden Sie diese Platzhalter, um Hook-Skripte relativ zum Projekt- oder Plugin-Root zu referenzieren, unabhängig vom Arbeitsverzeichnis, wenn der Hook ausgeführt wird:

515 648 

516* `${CLAUDE_PROJECT_DIR}`: das Projekt-Root. Claude Code setzt diese Variable auch in der Umgebung von [stdio MCP-Servern](/docs/de/mcp#option-3-add-a-local-stdio-server) und Plugin-LSP-Servern.649* `${CLAUDE_PROJECT_DIR}`: das Projekt-Root, wo die Sitzung gestartet wurde. Claude Code setzt diese Variable auch in der Umgebung von [stdio MCP-Servern](/docs/de/mcp#option-3-add-a-local-stdio-server) und Plugin-LSP-Servern.

517* `${CLAUDE_PLUGIN_ROOT}`: das Installationsverzeichnis des Plugins, für Skripte, die mit einem [Plugin](/docs/de/plugins) gebündelt sind. Ändert sich bei jedem Plugin-Update.650* `${CLAUDE_PLUGIN_ROOT}`: das Installationsverzeichnis des Plugins, für Skripte, die mit einem [Plugin](/docs/de/plugins) gebündelt sind. Siehe [Plugin-Umgebungsvariablen](/docs/de/plugins-reference#environment-variables), um zu erfahren, wie sich der Pfad über Updates verhält.

518* `${CLAUDE_PLUGIN_DATA}`: das [persistente Datenverzeichnis](/docs/de/plugins-reference#persistent-data-directory) des Plugins, für Abhängigkeiten und Zustand, die Plugin-Updates überstehen sollten.651* `${CLAUDE_PLUGIN_DATA}`: das [persistente Datenverzeichnis](/docs/de/plugins-reference#persistent-data-directory) des Plugins, für Abhängigkeiten und Zustand, die Plugin-Updates überstehen sollten.

519 652 

520Bevorzugen Sie [Exec-Form](#exec-form-and-shell-form) für jeden Hook, der auf einen Pfad-Platzhalter verweist. Exec-Form übergibt jedes `args`-Element als ein Argument ohne Shell-Tokenisierung, daher benötigen Pfade mit Leerzeichen oder Sonderzeichen keine Anführungszeichen. In Shell-Form wickeln Sie jeden Platzhalter in doppelte Anführungszeichen ein.653<Note>

654 **Worktrees sind anders.** Wenn Claude während der Sitzung einen [Worktree](/docs/de/worktrees) betritt, behält Claude Code `${CLAUDE_PROJECT_DIR}` dort, wo es war, und übergibt den Worktree-Pfad an Ihre Hooks auf andere Weise:

655 

656 * **`${CLAUDE_PROJECT_DIR}` bleibt stehen**: Es zeigt immer noch auf das Projekt-Root, wo die Sitzung gestartet wurde, daher führt ein Befehl wie `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh` das Skript immer noch im Haupt-Checkout aus.

657 * **`cwd` folgt Claude**: Das Feld `cwd` in der Hook-[Eingabe JSON](#common-input-fields) ist das Worktree-Root, nachdem Claude einen Worktree betritt, und das neue Verzeichnis, nachdem Claude `cd` ausführt. Lesen Sie es, wenn ein Hook wissen muss, in welchem Verzeichnis Claude arbeitet.

658</Note>

659 

660Bevorzugen Sie [Exec-Form](#exec-form-and-shell-form) für jeden Hook, der auf einen Pfad-Platzhalter verweist. In Shell-Form wickeln Sie jeden Platzhalter in doppelte Anführungszeichen ein.

521 661 

522<Tabs>662<Tabs>

523 <Tab title="Projekt-Skripte">663 <Tab title="Projekt-Skripte">


577 Hooks in Skills und Agents717 Hooks in Skills und Agents

578</h3>718</h3>

579 719 

580Zusätzlich zu Einstellungsdateien und Plugins können Hooks direkt in [Skills](/docs/de/skills) und [Subagenten](/docs/de/sub-agents) mit Frontmatter definiert werden. Diese Hooks sind auf den Lebenszyklus der Komponente beschränkt und werden nur ausgeführt, wenn diese Komponente aktiv ist.720Zusätzlich zu Einstellungsdateien und Plugins können Hooks direkt in [Skills](/docs/de/skills) und [Subagenten](/docs/de/sub-agents) mit Frontmatter definiert werden, im gleichen Konfigurationsformat wie einstellungsbasierte Hooks. Wie lange Claude Code sie registriert hält, hängt von der Komponente ab:

581 

582Alle Hook-Ereignisse werden unterstützt. Für Subagenten werden `Stop`-Hooks automatisch in `SubagentStop` konvertiert, da dies das Ereignis ist, das ausgelöst wird, wenn ein Subagent fertig ist.

583 721 

584Hooks verwenden das gleiche Konfigurationsformat wie einstellungsbasierte Hooks, sind aber auf die Lebensdauer der Komponente beschränkt und werden bereinigt, wenn sie fertig ist.722* **Subagent-Hooks**: Claude Code führt sie nur aus, während dieser Subagent läuft, und entfernt sie, wenn er fertig ist. Claude Code konvertiert einen `Stop`-Hook hier zu `SubagentStop`, das Ereignis, das ausgelöst wird, wenn ein Subagent fertig ist.

723* **Skill-Hooks**: Claude Code registriert sie, wenn Sie oder Claude den Skill aufrufen, und führt sie für den Rest der Sitzung aus, auf Runden nach der eigenen Runde des Skills auch. Um Claude Code stattdessen einen Hook nach seiner ersten erfolgreichen Ausführung zu entfernen, setzen Sie [`once: true`](#common-fields) darauf.

585 724 

586Dieser Skill definiert einen `PreToolUse`-Hook, der ein Sicherheitsvalidierungsskript vor jedem `Bash`-Befehl ausführt:725Dieser Skill definiert einen `PreToolUse`-Hook, der ein Sicherheitsvalidierungsskript vor jedem `Bash`-Befehl ausführt:

587 726 


598---737---

599```738```

600 739 

601Agents verwenden das gleiche Format in ihrem YAML-Frontmatter.740Subagenten verwenden das gleiche Format in ihrem YAML-Frontmatter.

741 

742Frontmatter-Hooks in einem Projekt-Skill folgen der gleichen [Workspace-Trust-Regel wie Hooks in Einstellungsdateien](#workspace-trust). Claude Code registriert sie, wenn Sie oder Claude den Skill aufrufen, auch in einer `-p`-Ausführung in einem Ordner, dem Sie nicht vertraut haben.

743 

744Frontmatter-Hooks in einem Projekt-Subagent werden nur ausgeführt, nachdem Sie den [Workspace-Trust-Dialog](/docs/de/permissions#project-allow-rules-and-workspace-trust) für den Ordner akzeptiert haben, aus dem die Agent-Datei stammt. Eine `-p`-Sitzung zählt nicht als Akzeptanz. [Was läuft, bevor Sie einem Ordner vertrauen](/docs/de/permissions#what-runs-before-you-trust-a-folder) vergleicht dies mit der Einstellungsdatei-Regel, und die Subagenten-Seite listet auf, [welche Scopes ausgenommen sind](/docs/de/sub-agents#hooks-in-subagent-frontmatter). Vor v2.1.218 konnten diese Hooks aus Ordnern ausgeführt werden, denen Sie nicht vertraut haben.

602 745 

603<h3 id="the-/hooks-menu">746<h3 id="the-/hooks-menu">

604 Das Menü `/hooks`747 Das Menü `/hooks`


608 751 

609Das Menü zeigt alle fünf Hook-Typen an: `command`, `prompt`, `agent`, `http` und `mcp_tool`. Jeder Hook ist mit einem `[type]`-Präfix und einer Quelle gekennzeichnet, die angibt, wo er definiert wurde:752Das Menü zeigt alle fünf Hook-Typen an: `command`, `prompt`, `agent`, `http` und `mcp_tool`. Jeder Hook ist mit einem `[type]`-Präfix und einer Quelle gekennzeichnet, die angibt, wo er definiert wurde:

610 753 

611* `User`: aus `~/.claude/settings.json`754* `User Settings`: aus `~/.claude/settings.json`

612* `Project`: aus `.claude/settings.json`755* `Project Settings`: aus `.claude/settings.json`

613* `Local`: aus `.claude/settings.local.json`756* `Local Settings`: aus `.claude/settings.local.json`

614* `Plugin`: aus `hooks/hooks.json` eines Plugins757* `Plugin Hooks`: aus `hooks/hooks.json` eines Plugins

615* `Session`: in Speicher für die aktuelle Sitzung registriert758* `Session Hooks`: in Speicher für die aktuelle Sitzung registriert

616* `Built-in`: intern von Claude Code registriert

617 759 

618Wenn Sie einen Hook auswählen, wird eine Detailansicht geöffnet, die sein Ereignis, Matcher, Typ, Quelldatei und den vollständigen Befehl, Prompt oder URL zeigt. Das Menü ist schreibgeschützt: Um Hooks hinzuzufügen, zu ändern oder zu entfernen, bearbeiten Sie die Einstellungs-JSON direkt oder bitten Sie Claude, die Änderung vorzunehmen.760Wenn Sie einen Hook auswählen, wird eine Detailansicht geöffnet, die sein Ereignis, Matcher, Typ, Quelldatei und den vollständigen Befehl, Prompt oder URL zeigt. Das Menü ist schreibgeschützt: Um Hooks hinzuzufügen, zu ändern oder zu entfernen, bearbeiten Sie die Einstellungs-JSON direkt oder bitten Sie Claude, die Änderung vorzunehmen.

619 761 


623 765 

624Um einen Hook zu entfernen, löschen Sie seinen Eintrag aus der Einstellungs-JSON-Datei.766Um einen Hook zu entfernen, löschen Sie seinen Eintrag aus der Einstellungs-JSON-Datei.

625 767 

626Um alle Hooks vorübergehend zu deaktivieren, ohne sie zu entfernen, setzen Sie `"disableAllHooks": true` in Ihrer Einstellungsdatei. Es gibt keine Möglichkeit, einen einzelnen Hook zu deaktivieren, während er in der Konfiguration bleibt.768Um alle Hooks vorübergehend zu deaktivieren, ohne sie zu entfernen, setzen Sie `"disableAllHooks": true` in Ihrer Einstellungsdatei. Claude Code liest den Wert, der nach [Einstellungs-Vorrang](/docs/de/settings#settings-precedence) bleibt, daher überschreibt ein `"disableAllHooks": false` in der `.claude/settings.json` eines Projekts ein `true` in Ihren Benutzereinstellungen. Um Hooks für einen Durchlauf auszuschalten, egal was die Einstellungen des Projekts sagen, übergeben Sie `--settings '{"disableAllHooks": true}'`, was Vorrang vor Projekt- und lokalen Einstellungen hat. Es gibt keine Möglichkeit, einen einzelnen Hook zu deaktivieren, während er in der Konfiguration bleibt.

627 769 

628Die Einstellung `disableAllHooks` respektiert die Hierarchie der verwalteten Einstellungen. Wenn ein Administrator Hooks durch verwaltete Richtlinieneinstellungen konfiguriert hat, kann `disableAllHooks`, das in Benutzer-, Projekt- oder lokalen Einstellungen gesetzt ist, diese verwalteten Hooks nicht deaktivieren. Nur `disableAllHooks`, das auf der Ebene der verwalteten Einstellungen gesetzt ist, kann verwaltete Hooks deaktivieren.770Die Einstellung `disableAllHooks` respektiert die Hierarchie der verwalteten Einstellungen. Wenn ein Administrator Hooks durch verwaltete Richtlinieneinstellungen konfiguriert hat, kann `disableAllHooks`, das in Benutzer-, Projekt- oder lokalen Einstellungen gesetzt ist, diese verwalteten Hooks nicht deaktivieren. Nur `disableAllHooks`, das auf der Ebene der verwalteten Einstellungen gesetzt ist, kann verwaltete Hooks deaktivieren. Für die vollständige Reichweite jeder Ebene siehe [`disableAllHooks`](/docs/de/settings-reference#disableallhooks).

629 771 

630Direkte Bearbeitungen von Hooks in Einstellungsdateien werden normalerweise automatisch vom Datei-Watcher aufgegriffen.772Direkte Bearbeitungen von Hooks in Einstellungsdateien werden normalerweise automatisch vom Datei-Watcher aufgegriffen.

631 773 


635 777 

636Command-Hooks erhalten JSON-Daten über stdin und kommunizieren Ergebnisse über Exit-Codes, stdout und stderr. HTTP-Hooks erhalten die gleiche JSON als POST-Request-Body und kommunizieren Ergebnisse über den HTTP-Response-Body. Dieser Abschnitt behandelt Felder und Verhalten, die allen Ereignissen gemeinsam sind. Jeder Abschnitt eines Ereignisses unter [Hook-Ereignisse](#hook-events) enthält sein spezifisches Eingabeschema und Optionen zur Entscheidungskontrolle.778Command-Hooks erhalten JSON-Daten über stdin und kommunizieren Ergebnisse über Exit-Codes, stdout und stderr. HTTP-Hooks erhalten die gleiche JSON als POST-Request-Body und kommunizieren Ergebnisse über den HTTP-Response-Body. Dieser Abschnitt behandelt Felder und Verhalten, die allen Ereignissen gemeinsam sind. Jeder Abschnitt eines Ereignisses unter [Hook-Ereignisse](#hook-events) enthält sein spezifisches Eingabeschema und Optionen zur Entscheidungskontrolle.

637 779 

638Auf macOS und Linux werden Command-Hooks seit v2.1.139 in ihrer eigenen Sitzung ohne steuerndes Terminal ausgeführt. Der Hook-Prozess und alle untergeordneten Prozesse können `/dev/tty` nicht öffnen oder Escape-Sequenzen direkt an die Claude Code-Benutzeroberfläche senden. Windows hat kein `/dev/tty`. Um eine Nachricht dem Benutzer auf jeder Plattform anzuzeigen, geben Sie [`systemMessage`](#json-output) in der JSON-Ausgabe zurück. Um eine Desktop-Benachrichtigung auszulösen, einen Fenstertitel zu setzen oder die Glocke zu läuten, geben Sie stattdessen [`terminalSequence`](#emit-terminal-notifications) zurück.780Auf macOS und Linux werden Command-Hooks in ihrer eigenen Sitzung ohne steuerndes Terminal ausgeführt. Der Hook-Prozess und alle untergeordneten Prozesse können `/dev/tty` nicht öffnen oder Escape-Sequenzen direkt an die Claude Code-Benutzeroberfläche senden. Windows hat kein `/dev/tty`.

781 

782Um eine Nachricht dem Benutzer auf jeder Plattform anzuzeigen, geben Sie [`systemMessage`](#json-output) in der JSON-Ausgabe zurück. Einige Ereignisse verwerfen sie oder liefern sie an anderer Stelle, und jeder [Abschnitt eines Ereignisses](#hook-events) sagt, wo. Um eine Desktop-Benachrichtigung auszulösen, einen Fenstertitel zu setzen oder die Glocke zu läuten, geben Sie stattdessen [`terminalSequence`](#emit-terminal-notifications) zurück.

639 783 

640<h3 id="common-input-fields">784<h3 id="common-input-fields">

641 Gemeinsame Eingabefelder785 Gemeinsame Eingabefelder


644Hook-Ereignisse erhalten diese Felder als JSON, zusätzlich zu ereignisspezifischen Feldern, die in jedem Abschnitt [Hook-Ereignis](#hook-events) dokumentiert sind. Für Command-Hooks kommt diese JSON über stdin an. Für HTTP-Hooks kommt sie als POST-Request-Body an.788Hook-Ereignisse erhalten diese Felder als JSON, zusätzlich zu ereignisspezifischen Feldern, die in jedem Abschnitt [Hook-Ereignis](#hook-events) dokumentiert sind. Für Command-Hooks kommt diese JSON über stdin an. Für HTTP-Hooks kommt sie als POST-Request-Body an.

645 789 

646| Feld | Beschreibung |790| Feld | Beschreibung |

647| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |791| :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

648| `session_id` | Aktuelle Sitzungs-ID |792| `session_id` | Aktuelle Sitzungs-ID |

649| `prompt_id` | UUID, die die aktuell verarbeitete Benutzereingabeaufforderung identifiziert. Entspricht dem [`prompt.id`-Attribut bei OpenTelemetry-Ereignissen](/docs/de/monitoring-usage#event-correlation-attributes), sodass Sie Hook-Ausgabe mit Telemetrie für eine einzelne Eingabeaufforderung korrelieren können. Nicht vorhanden, bis zur ersten Benutzereingabe. Erfordert Claude Code v2.1.196 oder später |793| `prompt_id` | UUID, die die aktuell verarbeitete Benutzereingabeaufforderung identifiziert. Entspricht dem [`prompt.id`-Attribut bei OpenTelemetry-Ereignissen](/docs/de/monitoring-usage#event-correlation-attributes), sodass Sie Hook-Ausgabe mit Telemetrie für eine einzelne Eingabeaufforderung korrelieren können. Nicht vorhanden, bis zur ersten Benutzereingabe. Erfordert Claude Code v2.1.196 oder später |

650| `transcript_path` | Pfad zur Gesprächs-JSON. Die Transkriptdatei wird asynchron geschrieben und kann der In-Memory-Konversation hinterherhinken, sodass sie möglicherweise noch nicht die neuesten Nachrichten des aktuellen Zugs enthält, wenn ein Hook ausgelöst wird. Hooks, die den endgültigen Assistententext des aktuellen Zugs benötigen, sollten `last_assistant_message` auf [Stop](#stop) und [SubagentStop](#subagentstop) verwenden, anstatt das Transkript zu lesen |794| `transcript_path` | Pfad zur Gesprächs-JSON. Die Transkriptdatei wird asynchron geschrieben und kann der In-Memory-Konversation hinterherhinken, sodass sie möglicherweise noch nicht die neuesten Nachrichten des aktuellen Zugs enthält, wenn ein Hook ausgelöst wird. Hooks, die den endgültigen Assistententext des aktuellen Zugs benötigen, sollten `last_assistant_message` auf [Stop](#stop) und [SubagentStop](#subagentstop) verwenden, anstatt das Transkript zu lesen |

651| `cwd` | Aktuelles Arbeitsverzeichnis, wenn der Hook aufgerufen wird |795| `cwd` | Aktuelles Arbeitsverzeichnis, wenn der Hook aufgerufen wird |

796| `scratchpad_dir` | Pfad zum Scratchpad-Verzeichnis der Sitzung, in dem Claude temporäre Arbeitsdateien speichert. Nicht vorhanden, wenn die Sitzung kein Scratchpad hat oder das Temp-Verzeichnis nicht verfügbar ist. Erfordert Claude Code v2.1.257 oder später |

652| `permission_mode` | Aktueller [Berechtigungsmodus](/docs/de/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` oder `"bypassPermissions"`. Der als **Manuell** bezeichnete Modus kommt als `"default"` an, nie als `"manual"`, sodass Skripte, die `"default"` abgleichen, weiterhin funktionieren. Nicht alle Ereignisse erhalten dieses Feld. Überprüfen Sie das JSON-Beispiel in jedem Abschnitt [Hook-Ereignis](#hook-events) |797| `permission_mode` | Aktueller [Berechtigungsmodus](/docs/de/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` oder `"bypassPermissions"`. Der als **Manuell** bezeichnete Modus kommt als `"default"` an, nie als `"manual"`, sodass Skripte, die `"default"` abgleichen, weiterhin funktionieren. Nicht alle Ereignisse erhalten dieses Feld. Überprüfen Sie das JSON-Beispiel in jedem Abschnitt [Hook-Ereignis](#hook-events) |

653| `effort` | Objekt mit einem `level`-Feld, das die aktive [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) für den Zug enthält: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Wenn die angeforderte Modell-Anstrengung das überschreitet, was das aktuelle Modell unterstützt, ist dies die herabgestufte Stufe, die das Modell tatsächlich verwendet hat. Ultracode ist keine separate Stufe und wird als `"xhigh"` gemeldet. Das Objekt entspricht dem [Statuszeilen](/docs/de/statusline#available-data)-Feld `effort`. Vorhanden für Ereignisse, die innerhalb eines Tool-Use-Kontexts ausgelöst werden, wie `PreToolUse`, `PostToolUse`, `Stop` und `SubagentStop`, wenn das aktuelle Modell den Anstrengungsparameter unterstützt. Die Stufe ist auch für Hook-Befehle und das Bash-Tool als die Umgebungsvariable `$CLAUDE_EFFORT` verfügbar. |798| `effort` | Objekt mit einem `level`-Feld, das die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) enthält, die beim Ausführen des Hooks aktiv ist: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Wenn Sie eine Stufe setzen, die das aktive Modell nicht unterstützt, meldet `level` die Stufe, die Claude Code stattdessen ausgeführt hat; [Anstrengungsstufe anpassen](/docs/de/model-config#adjust-effort-level) sagt, wie es diese Stufe auswählt. Ultracode ist keine separate Stufe und wird als `"xhigh"` gemeldet. Das Objekt entspricht dem [Statuszeilen](/docs/de/statusline#available-data)-Feld `effort`. Vorhanden für Ereignisse, die innerhalb eines Tool-Use-Kontexts ausgelöst werden, wie `PreToolUse`, `PostToolUse`, `Stop` und `SubagentStop`, wenn das aktuelle Modell den Anstrengungsparameter unterstützt. Die Stufe ist auch für Hook-Befehle und das Bash-Tool als die Umgebungsvariable `$CLAUDE_EFFORT` verfügbar. |

654| `hook_event_name` | Name des ausgelösten Ereignisses |799| `hook_event_name` | Name des ausgelösten Ereignisses |

655 800 

656Wenn mit `--agent` oder innerhalb eines Subagenten ausgeführt, sind zwei zusätzliche Felder enthalten:801Wenn mit `--agent` oder innerhalb eines Subagenten ausgeführt, sind zwei zusätzliche Felder enthalten:

657 802 

658| Feld | Beschreibung |803| Feld | Beschreibung |

659| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |804| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

660| `agent_id` | Eindeutige Kennung für den Subagenten. Nur vorhanden, wenn der Hook innerhalb eines Subagenten-Aufrufs ausgelöst wird. Verwenden Sie dies, um Subagenten-Hook-Aufrufe von Main-Thread-Aufrufen zu unterscheiden. |805| `agent_id` | Eindeutige Kennung für den Subagenten. Nur vorhanden, wenn der Hook innerhalb eines Subagenten-Aufrufs ausgelöst wird. Verwenden Sie dies, um Subagenten-Hook-Aufrufe von Main-Thread-Aufrufen zu unterscheiden. |

661| `agent_type` | Agent-Name (zum Beispiel `"Explore"` oder `"security-reviewer"`). Vorhanden, wenn die Sitzung `--agent` verwendet oder der Hook innerhalb eines Subagenten ausgelöst wird. Für Subagenten hat der Typ des Subagenten Vorrang vor dem `--agent`-Wert der Sitzung. Für [benutzerdefinierte Subagenten](/docs/de/sub-agents) ist dies das `name`-Feld aus dem Frontmatter des Agenten, nicht der Dateiname. Für Subagenten, die von einem [Plugin](/docs/de/plugins) bereitgestellt werden, ist dies die Plugin-bezogene Kennung wie `my-plugin:reviewer`, nicht der bloße Frontmatter-Name. Siehe [SubagentStart](#subagentstart), um zu erfahren, wie Sie einen Matcher gegen einen Plugin-bezogenen Namen schreiben. |806| `agent_type` | Agent-Name (zum Beispiel `"Explore"` oder `"security-reviewer"`). Vorhanden, wenn die Sitzung `--agent` verwendet oder der Hook innerhalb eines Subagenten ausgelöst wird. Für Subagenten hat der Typ des Subagenten Vorrang vor dem `--agent`-Wert der Sitzung. Siehe [SubagentStart](#subagentstart) für die Werte, die benutzerdefinierte und Plugin-Subagenten melden, und wie Sie einen Matcher gegen einen Plugin-bezogenen Namen schreiben. |

807 

808Nur [`SessionStart`](#sessionstart)-Hooks können ein `model`-Feld erhalten, und Claude Code schließt es nicht immer ein. [`PreModelSwitch`](#premodelswitch) und [`PostModelSwitch`](#postmodelswitch)-Hooks erhalten stattdessen `from_model` und `to_model`, verwenden Sie also einen PostModelSwitch-Hook, um das Modell zu verfolgen, während es sich während einer Sitzung ändert.

662 809 

663Nur [`SessionStart`](#sessionstart)-Hooks können ein `model`-Feld erhalten, und es ist nicht garantiert, dass es vorhanden ist. Es gibt keine `$CLAUDE_MODEL`-Umgebungsvariable. Ein Hook-Prozess erbt die übergeordnete Umgebung, sodass er `$ANTHROPIC_MODEL` lesen kann, wenn Sie sie in Ihrer Shell setzen, aber dieser Wert ändert sich nicht, wenn Sie während einer Sitzung mit `/model` Modelle wechseln. Ein Satz von Variablen wird nicht vererbt: Claude Code [entfernt `OTEL_*`-Exportervariablen aus jedem Unterprozess, den es spawnt](/docs/de/monitoring-usage#administrator-configuration), einschließlich Hooks.810Es gibt keine `$CLAUDE_MODEL`-Umgebungsvariable. Der Hook kann `$ANTHROPIC_MODEL` lesen, wenn Sie es in Ihrer Shell setzen, aber dieser Wert ändert sich nicht, wenn Sie während einer Sitzung mit `/model` Modelle wechseln.

811 

812Ein Hook-Prozess erbt die übergeordnete Umgebung, abgesehen von den `OTEL_*`-Exportervariablen, die Claude Code [aus jedem Unterprozess entfernt, den es spawnt](/docs/de/monitoring-usage#administrator-configuration), und wenn [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/de/env-vars#variables) auf `1` gesetzt ist, die Variablen, die es entfernt.

664 813 

665Zum Beispiel erhält ein `PreToolUse`-Hook für einen Bash-Befehl dies über stdin:814Zum Beispiel erhält ein `PreToolUse`-Hook für einen Bash-Befehl dies über stdin:

666 815 


670 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",819 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

671 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",820 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",

672 "cwd": "/home/user/my-project",821 "cwd": "/home/user/my-project",

822 "scratchpad_dir": "/tmp/claude-1000/-home-user-my-project/abc123/scratchpad",

673 "permission_mode": "default",823 "permission_mode": "default",

674 "hook_event_name": "PreToolUse",824 "hook_event_name": "PreToolUse",

675 "tool_name": "Bash",825 "tool_name": "Bash",

676 "tool_input": {826 "tool_input": {

677 "command": "npm test"827 "command": "npm test",

678 }828 "description": "Run test suite",

829 "timeout": 120000,

830 "run_in_background": false

831 },

832 "tool_use_id": "toolu_01ABC123..."

679}833}

680```834```

681 835 

682Die Felder `tool_name` und `tool_input` sind ereignisspezifisch. Jeder Abschnitt [Hook-Ereignis](#hook-events) dokumentiert die zusätzlichen Felder für dieses Ereignis.836Die Felder `tool_name`, `tool_input` und `tool_use_id` sind ereignisspezifisch. Jeder Abschnitt [Hook-Ereignis](#hook-events) dokumentiert die zusätzlichen Felder für dieses Ereignis.

683 837 

684<h3 id="exit-code-output">838<h3 id="exit-code-output">

685 Exit-Code-Ausgabe839 Exit-Code-Ausgabe

686</h3>840</h3>

687 841 

688Der Exit-Code aus Ihrem Hook-Befehl teilt Claude Code mit, ob die Aktion fortgesetzt, blockiert oder ignoriert werden soll.842Der Exit-Code aus Ihrem Hook-Befehl teilt Claude Code mit, ob die Aktion fortgesetzt, blockiert oder ignoriert werden soll. Der Exit-Code wirkt nicht allein. Claude Code liest [JSON-Ausgabefelder](#json-output) von stdout bei jedem Exit-Code, nicht nur 0, und für Ereignisse, die das Standard-Entscheidungsmodell verwenden, wirkt ein analysiertes Objekt, das die Schema-Validierung besteht, neben dem Code. Exit 2's Blockierung ist das einzige Ergebnis, das JSON nicht überschreiben kann.

843 

844Zwei Tabellen besitzen die ereignisspezifischen Ausnahmen: [Exit-Code-2-Verhalten pro Ereignis](#exit-code-2-behavior-per-event) sagt, was Exit-Codes für jedes Ereignis tun, und [Entscheidungskontrolle](#decision-control) sagt, welche Entscheidungsfelder jedes Ereignis berücksichtigt. Universelle Felder wie `systemMessage` funktionieren über die meisten Ereignisse hinweg und sind in der Tabelle [JSON-Ausgabe](#json-output) aufgelistet.

845 

846<h4 id="exit-code-0">

847 Exit-Code 0

848</h4>

849 

850Exit 0 bedeutet Erfolg und ist der beabsichtigte Exit-Code, wenn Sie JSON für strukturierte Kontrolle ausgeben.

851 

852Für die meisten Ereignisse schreibt Claude Code stdout in das Debug-Log und zeigt es nicht im Transkript an. Die Ausnahmen sind `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` und `PostModelSwitch`, wo Claude Code Plain-Text-stdout als Kontext hinzufügt, den Claude sehen und darauf reagieren kann.

689 853 

690**Exit 0** bedeutet Erfolg. Claude Code analysiert stdout auf [JSON-Ausgabefelder](#json-output). JSON-Ausgabe wird nur bei Exit 0 verarbeitet. Für die meisten Ereignisse wird stdout in das Debug-Log geschrieben, aber nicht im Transkript angezeigt. Die Ausnahmen sind `UserPromptSubmit`, `UserPromptExpansion` und `SessionStart`, wo stdout als Kontext hinzugefügt wird, den Claude sehen und darauf reagieren kann.854Ob Claude Code Ihren stdout als [JSON-Ausgabe](#json-output) oder als Plain-Text liest, hängt davon ab, wie er beginnt und endet, wobei umgebender Whitespace ignoriert wird:

691 855 

692**Exit 2** bedeutet ein blockierender Fehler. Claude Code ignoriert stdout und jede JSON darin. Stattdessen wird der stderr-Text an Claude als Fehlermeldung zurückgegeben. Die Auswirkung hängt vom Ereignis ab: `PreToolUse` blockiert den Tool-Aufruf, `UserPromptSubmit` lehnt den Prompt ab, und so weiter. Siehe [Exit-Code-2-Verhalten pro Ereignis](#exit-code-2-behavior-per-event) für die vollständige Liste.856* **Beginnt mit `{` und endet mit `}`**: Claude Code analysiert es als JSON. Wenn die Ausgabe zwei oder mehr Zeilen sind, die jeweils selbst als JSON analysiert werden, und keine Zeile ein [JSON-Ausgabe](#json-output)-Objekt ist, das ein Feld setzt, behandelt Claude Code die gesamte Ausgabe als Plain-Text. Wenn eine dieser Zeilen ein Feld setzt, ist die gesamte Ausgabe ein Parse-Fehler, der unten beschrieben wird.

857* **Beginnt mit `{` aber endet nicht mit `}`**: Claude Code behandelt es als Plain-Text.

858* **Beginnt mit etwas anderem**: Claude Code behandelt es als Plain-Text, ein JSON-Array oder eine zitierte JSON-Zeichenkette enthalten.

693 859 

694**Jeder andere Exit-Code** ist ein nicht-blockierender Fehler für die meisten Hook-Ereignisse. Das Transkript zeigt eine `<hook name> hook error`-Benachrichtigung gefolgt von der ersten Zeile von stderr, damit Sie die Ursache ohne `--debug` identifizieren können. Die Ausführung wird fortgesetzt und der vollständige stderr wird in das Debug-Log geschrieben.860Für Ereignisse, die das Standard-Entscheidungsmodell verwenden, ist Exit 0 mit einem analysierten Objekt, das die Schema-Validierung nicht besteht, ein nicht-blockierender Fehler: die Aktion wird fortgesetzt, und das Transkript zeigt eine `<hook name> hook error`-Benachrichtigung mit der Validierungsmeldung. Das gleiche passiert bei jedem Exit-Code außer 2, während [Exit 2 immer noch blockiert](#exit-code-2).

695 861 

696Zum Beispiel ein Hook-Befehlsskript, das gefährliche Bash-Befehle blockiert:862Für Ereignisse, die das Standard-Entscheidungsmodell verwenden, wenn Claude Code versucht, Ihren stdout als JSON zu analysieren und kann nicht, meldet es einen nicht-blockierenden Fehler bei jedem Exit-Code außer 2. Das Transkript zeigt eine `<hook name> hook error`-Benachrichtigung mit der Parse-Meldung. Bei den Ereignissen, die Plain-Text-stdout als Kontext hinzufügen, fügt Claude Code den Text nicht hinzu. Vor v2.1.248 behandelte Claude Code diesen stdout als Plain-Text.

863 

864Stderr von einem Hook, der mit 0 beendet wird, geht nur in das Debug-Log, nie in das Transkript, und Claude sieht es nie. Um es selbst zu lesen, aktivieren Sie [Debug-Protokollierung](#debug-hooks). Um eine Warnung an Claude von einem `PostToolUse` oder `PostToolUseFailure`-Hook zu übermitteln, beenden Sie stattdessen mit 2, damit [Claude den stderr sieht](#exit-code-2-behavior-per-event), obwohl das Tool bereits ausgeführt wurde.

865 

866<h4 id="exit-code-2">

867 Exit-Code 2

868</h4>

869 

870Exit 2 bedeutet ein blockierender Fehler. Bei [Ereignissen, die blockieren können](#exit-code-2-behavior-per-event), blockiert Exit 2, unabhängig davon, ob Sie JSON ausgeben: selbst ein JSON `permissionDecision` von `"allow"` kann es nicht überschreiben. Claude Code liest immer noch alle gültigen [JSON-Ausgabe](#json-output) auf stdout. Bei `Elicitation` und `ElicitationResult` wird die `hookSpecificOutput` eines Exit-2-Hooks ignoriert.

871 

872Die Blockierungsmeldung ist der Grund aus der Blockierungsentscheidung Ihres JSON, wenn es eine macht, und Ihr stderr-Text ansonsten. Was die Blockierung tut, variiert je nach Ereignis: `PreToolUse` blockiert den Tool-Aufruf, `UserPromptSubmit` lehnt den Prompt ab, und so weiter. [Exit-Code-2-Verhalten pro Ereignis](#exit-code-2-behavior-per-event) listet die Auswirkung für jedes Ereignis auf, und jeder Abschnitt eines Ereignisses sagt, wo die Meldung hingeht.

873 

874Ein Hook, der mit 2 beendet wird, während er JSON ausgibt, das die [JSON-Ausgabe](#json-output)-Schema-Validierung nicht besteht, blockiert immer noch: Claude Code verwendet stderr als Blockierungsgrund und zeichnet den Validierungsfehler im Debug-Log auf. Vor v2.1.214 behandelte Claude Code diese Kombination als nicht-blockierenden Fehler und die Aktion wurde fortgesetzt.

875 

876Dieses Skript blockiert `rm`-Befehle durch Beendigung mit 2 und lässt jeden anderen Befehl zum normalen Berechtigungsfluss:

697 877 

698```bash theme={null}878```bash theme={null}

699#!/bin/bash879#!/bin/bash

700# Liest JSON-Eingabe von stdin, prüft den Befehl880# Liest JSON-Eingabe von stdin, prüft den Befehl

701command=$(jq -r '.tool_input.command' < /dev/stdin)881input=$(cat)

882command=$(jq -r '.tool_input.command' <<<"$input")

702 883 

703if [[ "$command" == rm* ]]; then884if [[ "$command" == rm* ]]; then

704 echo "Blocked: rm commands are not allowed" >&2885 echo "Blocked: rm commands are not allowed" >&2


708exit 0 # Keine Entscheidung: der normale Berechtigungsfluss gilt889exit 0 # Keine Entscheidung: der normale Berechtigungsfluss gilt

709```890```

710 891 

892<h4 id="other-exit-codes">

893 Andere Exit-Codes

894</h4>

895 

896Jeder andere Exit-Code blockiert nicht allein für die meisten Hook-Ereignisse. Was passiert, hängt von Ihrem stdout ab:

897 

898* Mit einem analysierten Objekt, das die Schema-Validierung besteht, für Ereignisse, die das Standard-Entscheidungsmodell verwenden, ignoriert Claude Code den Exit-Code und das JSON allein entscheidet das Ergebnis:

899 * Jedes Feld, das das Ereignis unterstützt, wird berücksichtigt, einschließlich `permissionDecision`, `additionalContext`, `updatedInput` und `systemMessage`, und der Hook wird nicht als Fehler gemeldet.

900 * [Entscheidungskontrolle](#decision-control) listet die Entscheidungsfelder pro Ereignis auf; universelle Felder wie `systemMessage` folgen der Tabelle [JSON-Ausgabe](#json-output).

901* Mit einem analysierten Objekt, das die Schema-Validierung nicht besteht, für Ereignisse, die das Standard-Entscheidungsmodell verwenden, ist es der gleiche nicht-blockierende Fehler wie [bei Exit 0](#exit-code-0): die Aktion wird fortgesetzt, und die `<hook name> hook error`-Benachrichtigung trägt die Validierungsmeldung.

902* Mit stdout, das Claude Code [versucht als JSON zu analysieren](#exit-code-0) und kann nicht, meldet Claude Code den gleichen nicht-blockierenden Fehler wie bei Exit 0 für Ereignisse, die das Standard-Entscheidungsmodell verwenden. Die Aktion wird fortgesetzt, und die Benachrichtigung trägt die Parse-Meldung.

903* Mit stdout, das Claude Code [als Plain-Text behandelt](#exit-code-0), oder mit leerem stdout, ist es ein nicht-blockierender Fehler für die meisten Hook-Ereignisse: die Aktion wird fortgesetzt, und das Transkript zeigt eine `<hook name> hook error`-Benachrichtigung gefolgt von der ersten Zeile von stderr, mit dem Präfix `Failed with non-blocking status code:`. Um den vollständigen stderr zu erfassen, aktivieren Sie [Debug-Protokollierung](#debug-hooks).

904 

905Ereignisse außerhalb des Standard-Entscheidungsmodells behalten ihre eigenen Zeilen in der [ereignisspezifischen Tabelle](#exit-code-2-behavior-per-event): `WorktreeCreate` schlägt die Erstellung bei jedem Nicht-Null-Exit fehl, egal was Ihr JSON sagt, und Ereignisse, die Hook-Ausgabe vollständig verwerfen, wie `StopFailure`, ignorieren Ihr JSON bei jedem Exit-Code, abgesehen von Nebenwirkungsfeldern wie `terminalSequence`, die immer noch ausgelöst werden.

906 

907Ein Hook, der nicht starten kann, landet im gleichen nicht-blockierenden Bucket. Wenn der Skriptpfad nicht existiert oder nicht ausführbar ist, beendet die Shell mit einem Code wie 127 und Sie sehen die gleiche Benachrichtigung mit der Meldung des Interpreters, zum Beispiel `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Für die meisten Hook-Ereignisse wird die Aktion fortgesetzt. Wenn Sie einen Policy-Hook einrichten, achten Sie auf diese Benachrichtigung bei seiner ersten Ausführung: ein Tippfehler im Pfad in `settings.json` lässt das Gate stillschweigend deaktiviert.

908 

711<Warning>909<Warning>

712 Für die meisten Hook-Ereignisse blockiert nur Exit-Code 2 die Aktion. Claude Code behandelt Exit-Code 1 als nicht-blockierenden Fehler und setzt die Aktion fort, obwohl 1 der konventionelle Unix-Fehlercode ist. Wenn Ihr Hook eine Richtlinie durchsetzen soll, verwenden Sie `exit 2`. Die Ausnahme ist `WorktreeCreate`, wo jeder Nicht-Null-Exit-Code die Worktree-Erstellung abbricht.910 Für die meisten Hook-Ereignisse ist Exit-Code 2 der einzige Exit-Code, der allein durch den Code blockiert. Ohne gültiges JSON auf stdout behandelt Claude Code Exit-Code 1 als nicht-blockierenden Fehler und setzt die Aktion fort, obwohl 1 der konventionelle Unix-Fehlercode ist. Wenn Ihr Hook eine Richtlinie durchsetzen soll, verwenden Sie `exit 2`. Die Worktree-Ereignisse unterscheiden sich: jeder Nicht-Null-Exit-Code von `WorktreeCreate` bricht die Worktree-Erstellung ab, und jeder Nicht-Null-Exit-Code von `WorktreeRemove` lässt die Worktree-Entfernung fehlschlagen, wenn das Verzeichnis danach noch existiert.

713</Warning>911</Warning>

714 912 

913<h4 id="timeouts">

914 Timeouts

915</h4>

916 

917Abgesehen von einem Command-Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen, bricht Claude Code einen `command`, `http` oder `mcp_tool`-Hook ab, der sein [`timeout`](#common-fields) erreicht, verwirft die Ausgabe des Hooks, sodass bei den meisten Ereignissen ein abgelaufener Hook keine Entscheidung rendert.

918 

919Bei [`PreModelSwitch`](#premodelswitch) blockiert ein Hook, der bei seinem Timeout abgebrochen wird, den Modellwechsel. Bei `PreToolUse` unterscheiden sich die beiden Hook-Familien:

920 

921* Ein abgelaufener `command`, `http` oder `mcp_tool`-Hook blockiert den Tool-Aufruf nicht. Der Aufruf wird durch den normalen [Berechtigungsfluss](/docs/de/permissions) fortgesetzt, verlassen Sie sich also nicht auf einen steckengebliebenen Hook, um als Gate zu fungieren.

922* Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks), der sein Timeout überschreitet, [blockiert den Tool-Aufruf](#pretooluse).

923 

715<h4 id="exit-code-2-behavior-per-event">924<h4 id="exit-code-2-behavior-per-event">

716 Exit-Code-2-Verhalten pro Ereignis925 Exit-Code-2-Verhalten pro Ereignis

717</h4>926</h4>


719Exit-Code 2 ist die Art, wie ein Hook signalisiert „Stopp, mach das nicht." Die Auswirkung hängt vom Ereignis ab, da einige Ereignisse Aktionen darstellen, die blockiert werden können (wie ein Tool-Aufruf, der noch nicht stattgefunden hat), und andere Dinge darstellen, die bereits passiert sind oder nicht verhindert werden können.928Exit-Code 2 ist die Art, wie ein Hook signalisiert „Stopp, mach das nicht." Die Auswirkung hängt vom Ereignis ab, da einige Ereignisse Aktionen darstellen, die blockiert werden können (wie ein Tool-Aufruf, der noch nicht stattgefunden hat), und andere Dinge darstellen, die bereits passiert sind oder nicht verhindert werden können.

720 929 

721| Hook-Ereignis | Kann blockiert werden? | Was passiert bei Exit 2 |930| Hook-Ereignis | Kann blockiert werden? | Was passiert bei Exit 2 |

722| :-------------------- | :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |931| :-------------------- | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

723| `PreToolUse` | Ja | Blockiert den Tool-Aufruf |932| `PreToolUse` | Ja | Blockiert den Tool-Aufruf |

724| `PermissionRequest` | Ja | Verweigert die Berechtigung |933| `PermissionRequest` | Nein | Exit-Code 2 wird für dieses Ereignis nicht berücksichtigt und der Berechtigungsfluss wird unverändert fortgesetzt. Verweigern Sie stattdessen durch das [`decision`-Objekt](#permissionrequest-decision-control) |

725| `UserPromptSubmit` | Ja | Blockiert die Prompt-Verarbeitung und löscht den Prompt |934| `UserPromptSubmit` | Ja | Blockiert die Prompt-Verarbeitung und löscht den Prompt |

726| `UserPromptExpansion` | Ja | Blockiert die Erweiterung |935| `UserPromptExpansion` | Ja | Blockiert die Erweiterung |

727| `Stop` | Ja | Verhindert, dass Claude stoppt, setzt das Gespräch fort |936| `Stop` | Ja | Verhindert, dass Claude stoppt, setzt das Gespräch fort |


730| `TaskCreated` | Ja | Rollback der Aufgabenerstellung |939| `TaskCreated` | Ja | Rollback der Aufgabenerstellung |

731| `TaskCompleted` | Ja | Verhindert, dass die Aufgabe als abgeschlossen markiert wird |940| `TaskCompleted` | Ja | Verhindert, dass die Aufgabe als abgeschlossen markiert wird |

732| `ConfigChange` | Ja | Blockiert die Konfigurationsänderung von der Anwendung (außer `policy_settings`) |941| `ConfigChange` | Ja | Blockiert die Konfigurationsänderung von der Anwendung (außer `policy_settings`) |

733| `StopFailure` | Nein | Ausgabe und Exit-Code werden ignoriert |942| `StopFailure` | Nein | Ausgabe und Exit-Code werden ignoriert, außer `terminalSequence` |

734| `PostToolUse` | Nein | Zeigt stderr Claude an; das Tool wurde bereits ausgeführt |943| `PostToolUse` | Nein | Zeigt stderr Claude an; das Tool wurde bereits ausgeführt |

735| `PostToolUseFailure` | Nein | Zeigt stderr Claude an; das Tool ist bereits fehlgeschlagen |944| `PostToolUseFailure` | Nein | Zeigt stderr Claude an; das Tool ist bereits fehlgeschlagen |

736| `PostToolBatch` | Ja | Stoppt die agentengesteuerte Schleife vor dem nächsten Modellaufruf |945| `PostToolBatch` | Ja | Stoppt die agentengesteuerte Schleife vor dem nächsten Modellaufruf |

737| `PermissionDenied` | Nein | Exit-Code und stderr werden ignoriert, da die Ablehnung bereits erfolgt ist. Verwenden Sie JSON `hookSpecificOutput.retry: true`, um dem Modell zu sagen, dass es möglicherweise erneut versuchen kann |946| `PermissionDenied` | Nein | Exit-Code und stderr werden ignoriert, da die Ablehnung bereits erfolgt ist. Verwenden Sie JSON `hookSpecificOutput.retry: true`, um dem Modell zu sagen, dass es möglicherweise erneut versuchen kann; Claude Code ignoriert `retry: true` für [Ablehnungen ohne Urteil](#permissiondenied-decision-control) |

738| `Notification` | Nein | Zeigt stderr nur dem Benutzer an |947| `Notification` | Nein | Exit-Code und stderr werden ignoriert |

739| `SubagentStart` | Nein | Zeigt stderr nur dem Benutzer an |948| `SubagentStart` | Nein | Zeigt stderr nur dem Benutzer an |

740| `SessionStart` | Nein | Zeigt stderr nur dem Benutzer an |949| `SessionStart` | Nein | Zeigt stderr nur dem Benutzer an |

741| `Setup` | Nein | Zeigt stderr nur dem Benutzer an |950| `Setup` | Nein | Exit-Code und stderr werden ignoriert |

742| `SessionEnd` | Nein | Zeigt stderr nur dem Benutzer an |951| `SessionEnd` | Nein | Zeigt stderr nur dem Benutzer an |

743| `CwdChanged` | Nein | Zeigt stderr nur dem Benutzer an |952| `CwdChanged` | Nein | Zeigt stderr nur dem Benutzer an |

953| `DirectoryAdded` | Nein | Stderr geht in das Debug-Log; das Verzeichnis ist bereits hinzugefügt |

744| `FileChanged` | Nein | Zeigt stderr nur dem Benutzer an |954| `FileChanged` | Nein | Zeigt stderr nur dem Benutzer an |

745| `PreCompact` | Ja | Blockiert die Komprimierung |955| `PreCompact` | Ja | Blockiert die Komprimierung |

746| `PostCompact` | Nein | Zeigt stderr nur dem Benutzer an |956| `PostCompact` | Nein | Zeigt stderr nur dem Benutzer an |

957| `PreModelSwitch` | Ja | Blockiert den Modellwechsel und zeigt stderr dem Benutzer an |

958| `PostModelSwitch` | Nein | Zeigt stderr nur dem Benutzer an; das Modell hat bereits gewechselt |

747| `Elicitation` | Ja | Verweigert die Elicitation |959| `Elicitation` | Ja | Verweigert die Elicitation |

748| `ElicitationResult` | Ja | Blockiert die Antwort (Aktion wird Ablehnung) |960| `ElicitationResult` | Ja | Blockiert die Antwort (Aktion wird Ablehnung) |

749| `WorktreeCreate` | Ja | Jeder Nicht-Null-Exit-Code führt zu Fehler bei der Worktree-Erstellung |961| `WorktreeCreate` | Ja | Jeder Nicht-Null-Exit-Code führt zu Fehler bei der Worktree-Erstellung |

750| `WorktreeRemove` | Nein | Fehler werden nur im Debug-Modus protokolliert |962| `WorktreeRemove` | Ja | Jeder Nicht-Null-Exit-Code lässt die Worktree-Entfernung fehlschlagen, wenn das Verzeichnis danach noch existiert. Siehe [WorktreeRemove](#worktreeremove) für das, was mit dem Verzeichnis passiert |

751| `InstructionsLoaded` | Nein | Exit-Code wird ignoriert |963| `InstructionsLoaded` | Nein | Exit-Code wird ignoriert |

752| `MessageDisplay` | Nein | Der ursprüngliche Text wird angezeigt |964| `MessageDisplay` | Nein | Der ursprüngliche Text wird angezeigt |

753 965 

754Für `SessionStart`, `Setup` und `SubagentStart` wird der Exit-Code-2-stderr im Transkript als `<hook name> hook error`-Benachrichtigung dargestellt, auf die gleiche Weise wie ein [nicht-blockierender Fehler](#exit-code-output). Claude sieht ihn nicht, und die Sitzung oder der Subagent wird fortgesetzt. Für `SubagentStart` wird die Benachrichtigung im eigenen Transkript des Subagenten angezeigt, nicht im übergeordneten Gespräch.966Für `SessionStart`, `SubagentStart` und `PostModelSwitch` rendert Claude Code den Exit-Code-2-stderr im Transkript als `<hook name> hook error`-Benachrichtigung, auf die gleiche Weise wie es einen [nicht-blockierenden Fehler](#exit-code-output) rendert. Claude sieht es nicht, und die Sitzung oder der Subagent wird fortgesetzt. Für `SubagentStart` wird die Benachrichtigung im eigenen Transkript des Subagenten angezeigt, nicht im übergeordneten Gespräch.

755 

756Ab Claude Code v2.1.199 zeigen `SessionStart`, `Setup` und `SubagentStart` Exit-Code-2-stderr im Transkript an. Frühere Versionen schrieben es nur in das Debug-Log.

757 967 

758<h3 id="http-response-handling">968<h3 id="http-response-handling">

759 HTTP-Response-Behandlung969 HTTP-Response-Behandlung

760</h3>970</h3>

761 971 

762HTTP-Hooks verwenden HTTP-Statuscodes und Response-Bodies anstelle von Exit-Codes und stdout:972HTTP-Hooks verwenden HTTP-Statuscodes und Response-Bodies anstelle von Exit-Codes und stdout. Die Ergebnisse unten gelten für die meisten Ereignisse; ein Ereignis mit seinem eigenen Fehlervertrag in der [ereignisspezifischen Tabelle](#exit-code-2-behavior-per-event), wie `WorktreeCreate`, wendet diesen Vertrag auch auf einen fehlgeschlagenen HTTP-Hook an:

763 973 

764* **2xx mit leerem Body**: Erfolg, äquivalent zu Exit-Code 0 ohne Ausgabe974* **2xx mit leerem Body**: Erfolg, äquivalent zu Exit-Code 0 ohne Ausgabe

765* **2xx mit Plain-Text-Body**: Erfolg, der Text wird als Kontext hinzugefügt975* **2xx mit JSON-Objekt-Body**: analysiert mit dem gleichen [JSON-Ausgabe](#json-output)-Schema wie Command-Hooks. Ein Body, der die Schema-Validierung nicht besteht, ist ein nicht-blockierender Fehler

766* **2xx mit JSON-Body**: Erfolg, analysiert mit dem gleichen [JSON-Ausgabe](#json-output)-Schema wie Command-Hooks976* **2xx mit jedem anderen Body, wie Plain-Text**: nicht-blockierender Fehler, behandelt wie ein Nicht-2xx-Status. Claude Code fügt den Text nicht zu Claudes Kontext hinzu

767* **Nicht-2xx-Status**: Nicht-blockierender Fehler, Ausführung wird fortgesetzt977* **Nicht-2xx-Status**: nicht-blockierender Fehler, Ausführung wird fortgesetzt

768* **Verbindungsfehler oder Timeout**: Nicht-blockierender Fehler, Ausführung wird fortgesetzt978* **Verbindungsfehler**: nicht-blockierender Fehler, Ausführung wird fortgesetzt

979* **Timeout**: der Hook wird abgebrochen, wie unter [Timeouts](#timeouts) beschrieben

769 980 

770Im Gegensatz zu Command-Hooks können HTTP-Hooks nicht allein durch Statuscodes einen blockierenden Fehler signalisieren. Um einen Tool-Aufruf zu blockieren oder eine Berechtigung zu verweigern, geben Sie eine 2xx-Antwort mit einem JSON-Body zurück, der die entsprechenden Entscheidungsfelder enthält.981Im Gegensatz zu Command-Hooks können HTTP-Hooks nicht allein durch Statuscodes einen blockierenden Fehler signalisieren. Um einen Tool-Aufruf zu blockieren oder eine Berechtigung zu verweigern, geben Sie eine 2xx-Antwort mit einem JSON-Body zurück, der die entsprechenden Entscheidungsfelder enthält.

771 982 


773 JSON-Ausgabe984 JSON-Ausgabe

774</h3>985</h3>

775 986 

776Exit-Codes ermöglichen es Ihnen, zuzulassen oder zu blockieren, aber JSON-Ausgabe gibt Ihnen eine feinere Kontrolle. Anstatt mit Code 2 zu beenden, um zu blockieren, beenden Sie mit 0 und geben Sie ein JSON-Objekt auf stdout aus. Claude Code liest spezifische Felder aus diesem JSON, um das Verhalten zu steuern, einschließlich [Entscheidungskontrolle](#decision-control) zum Blockieren, Zulassen oder Eskalieren an den Benutzer.987Exit-Codes ermöglichen es Ihnen nur zu blockieren oder stillschweigend zu sein, aber JSON-Ausgabe gibt Ihnen eine feinere Kontrolle. Anstatt mit Code 2 zu beenden, um zu blockieren, beenden Sie mit 0 und geben Sie ein JSON-Objekt auf stdout aus. Claude Code liest spezifische Felder aus diesem JSON, um das Verhalten zu steuern, einschließlich [Entscheidungskontrolle](#decision-control) zum Blockieren, Zulassen oder Eskalieren an den Benutzer.

777 988 

778<Note>989<Note>

779 Sie müssen einen Ansatz pro Hook wählen, nicht beide: Verwenden Sie entweder Exit-Codes allein zum Signalisieren, oder beenden Sie mit 0 und geben Sie JSON für strukturierte Kontrolle aus. Claude Code verarbeitet JSON nur bei Exit 0. Wenn Sie mit 2 beenden, wird jede JSON ignoriert.990 Wählen Sie einen Ansatz pro Hook: verwenden Sie entweder Exit-Codes allein zum Signalisieren, oder beenden Sie mit 0 und geben Sie JSON für strukturierte Kontrolle aus. Wenn Sie sie mischen, behält Exit 2 seine [Blockierungsauswirkung](#exit-code-2-behavior-per-event), und Claude Code liest immer noch die JSON-Felder, mit der einen Elicitation-Ausnahme, die unter [Exit-Code 2](#exit-code-2) vermerkt ist.

780</Note>991</Note>

781 992 

782Die stdout Ihres Hooks darf nur das JSON-Objekt enthalten. Wenn Ihr Shell-Profil beim Start Text ausgibt, kann dies die JSON-Analyse beeinträchtigen. Siehe [JSON-Validierung fehlgeschlagen](/docs/de/hooks-guide#json-validation-failed) in der Fehlerbehebungsanleitung.993Der stdout Ihres Hooks darf nur das JSON-Objekt enthalten. Wenn Ihr Shell-Profil beim Start Text ausgibt, kann dies die JSON-Analyse beeinträchtigen. Siehe [Hook-JSON hat keine Auswirkung](/docs/de/hooks-guide#hook-json-has-no-effect) in der Fehlerbehebungsanleitung.

994 

995Die Strings `additionalContext`, `systemMessage` und `initialUserMessage` eines Hooks sowie sein Plain-stdout sind auf 10.000 Zeichen begrenzt:

783 996 

784Hook-Ausgabe-Strings, einschließlich `additionalContext`, `systemMessage` und Plain-stdout, sind auf 10.000 Zeichen begrenzt. Ausgabe, die dieses Limit überschreitet, wird in einer Datei gespeichert und durch eine Vorschau und einen Dateipfad ersetzt, auf die gleiche Weise wie große Tool-Ergebnisse behandelt werden.997* **Umfang**: Claude Code misst jeden String für sich allein, auch wenn mehrere Hooks für das gleiche Ereignis ausgeführt werden. Für JSON-Ausgabe wird jedes Feld separat gemessen; Plain-stdout wird als Ganzes gemessen.

998* **Über dem Limit**: Claude Code speichert die Ausgabe in einer Datei im Sitzungsverzeichnis und ersetzt sie durch den Dateipfad und eine Vorschau von bis zu den ersten 2.000 Zeichen. Ein großes gültiges Bash-Ergebnis wird auf die gleiche Weise behandelt, wie unter [Ausgabelimits](/docs/de/tools-reference#output-limits) beschrieben. Im Gegensatz zu dieser Bash-Obergrenze hat diese Obergrenze keine Einstellung oder Umgebungsvariable, um sie zu erhöhen.

999* **Datei lesen**: Claude Code fordert Claude nicht auf, die Datei zu lesen, daher halten Sie alles, das Claude immer sehen muss, innerhalb der Obergrenze.

785 1000 

786Das JSON-Objekt unterstützt drei Arten von Feldern:1001Das JSON-Objekt unterstützt drei Arten von Feldern:

787 1002 

788* **Universelle Felder** wie `continue` funktionieren über alle Ereignisse hinweg. Diese sind in der Tabelle unten aufgelistet.1003* **Universelle Felder** wie `continue` sind in der Tabelle unten aufgelistet. Jedes Ereignis akzeptiert sie, aber einige Ereignisse verwerfen sie oder liefern `systemMessage` an anderer Stelle als dem Transkript. Jeder Abschnitt eines Ereignisses sagt so. `terminalSequence` funktioniert auch auf diesen Ereignissen, mit den Ausnahmen, die unter [Terminal-Benachrichtigungen ausgeben](#emit-terminal-notifications) aufgelistet sind.

789* **Top-Level `decision` und `reason`** werden von einigen Ereignissen verwendet, um zu blockieren oder Feedback zu geben.1004* **Top-Level `decision` und `reason`** werden von einigen Ereignissen verwendet, um zu blockieren oder Feedback zu geben.

790* **`hookSpecificOutput`** ist ein verschachteltes Objekt für Ereignisse, die reichere Kontrolle benötigen. Es erfordert ein `hookEventName`-Feld, das auf den Ereignisnamen gesetzt ist.1005* **`hookSpecificOutput`** ist ein verschachteltes Objekt für Ereignisse, die reichere Kontrolle benötigen. Es erfordert ein `hookEventName`-Feld, das auf den Ereignisnamen gesetzt ist.

791 1006 

792| Feld | Standard | Beschreibung |1007| Feld | Standard | Beschreibung |

793| :----------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1008| :----------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

794| `continue` | `true` | Wenn `false`, stoppt Claude die Verarbeitung vollständig, nachdem der Hook ausgeführt wurde. Hat Vorrang vor allen ereignisspezifischen Entscheidungsfeldern |1009| `continue` | `true` | Wenn `false`, stoppt Claude die Verarbeitung vollständig, nachdem der Hook ausgeführt wurde. Hat Vorrang vor allen ereignisspezifischen Entscheidungsfeldern |

795| `stopReason` | keine | Nachricht, die dem Benutzer angezeigt wird, wenn `continue` `false` ist. Wird Claude nicht angezeigt |1010| `stopReason` | keine | Nachricht, die dem Benutzer angezeigt wird, wenn `continue` `false` ist. Sie bleibt in der Konversation, sodass Claude sie sieht, wenn die Konversation fortgesetzt wird |

796| `suppressOutput` | `false` | Wenn `true`, verbirgt stdout aus dem Transkript. Stdout wird weiterhin im Debug-Log angezeigt |1011| `suppressOutput` | `false` | Hat keine Auswirkung: Claude Code akzeptiert das Feld, aber handelt nicht danach. Der stdout eines erfolgreichen Hooks wird nie im Transkript angezeigt und wird im Debug-Log aufgezeichnet |

797| `systemMessage` | keine | Warnmeldung, die dem Benutzer angezeigt wird |1012| `systemMessage` | keine | Warnmeldung, die dem Benutzer angezeigt wird. In [Agent SDK](/docs/de/agent-sdk/overview) und [`--output-format stream-json`](/docs/de/headless)-Ausgabe kann es als [`SDKInformationalMessage`](/docs/de/agent-sdk/typescript#sdkinformationalmessage) ankommen |

798| `terminalSequence` | keine | Eine Terminal-Escape-Sequenz, die Claude Code in Ihrem Namen ausgeben soll, wie eine Desktop-Benachrichtigung, ein Fenstertitel oder eine Glocke. Beschränkt auf OSC `0`/`1`/`2`/`9`/`99`/`777` und BEL. Wenn der Wert etwas außerhalb der Zulassungsliste enthält, wird das Feld ignoriert. Verwenden Sie dies anstelle des Schreibens zu `/dev/tty`, das für Hooks nicht verfügbar ist |1013| `terminalSequence` | keine | Eine Terminal-Escape-Sequenz, die Claude Code in Ihrem Namen ausgeben soll, wie eine Desktop-Benachrichtigung, ein Fenstertitel oder eine Glocke. Beschränkt auf OSC `0`/`1`/`2`/`9`/`99`/`777` und BEL. Wenn der Wert etwas außerhalb der Zulassungsliste enthält, wird das Feld ignoriert. Verwenden Sie dies anstelle des Schreibens zu `/dev/tty`, das für Hooks nicht verfügbar ist |

799 1014 

800Um Claude unabhängig vom Ereignistyp vollständig zu stoppen:1015Um Claude vollständig zu stoppen:

801 1016 

802```json theme={null}1017```json theme={null}

803{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }1018{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }

804```1019```

805 1020 

1021Für `PreToolUse` und `PostToolUse`-Hooks gilt der Stopp auch, wenn der Tool-Aufruf fehlschlägt oder abgeschlossen wird, während Claude immer noch eine Antwort streamt.

1022 

806<h4 id="emit-terminal-notifications">1023<h4 id="emit-terminal-notifications">

807 Terminal-Benachrichtigungen ausgeben1024 Terminal-Benachrichtigungen ausgeben

808</h4>1025</h4>

809 1026 

810Das Feld `terminalSequence` erfordert Claude Code v2.1.141 oder später.

811 

812Hooks werden ohne steuerndes Terminal ausgeführt, daher schlägt das direkte Schreiben von Escape-Sequenzen zu `/dev/tty` fehl. Geben Sie stattdessen die Escape-Sequenz im Feld `terminalSequence` zurück und Claude Code gibt sie für Sie über seinen eigenen Terminal-Schreibpfad aus. Dies ist race-frei, funktioniert innerhalb von tmux und GNU screen und funktioniert unter Windows, wo es kein `/dev/tty` gibt.1027Hooks werden ohne steuerndes Terminal ausgeführt, daher schlägt das direkte Schreiben von Escape-Sequenzen zu `/dev/tty` fehl. Geben Sie stattdessen die Escape-Sequenz im Feld `terminalSequence` zurück und Claude Code gibt sie für Sie über seinen eigenen Terminal-Schreibpfad aus. Dies ist race-frei, funktioniert innerhalb von tmux und GNU screen und funktioniert unter Windows, wo es kein `/dev/tty` gibt.

813 1028 

814Das Feld akzeptiert einen String aus einer oder mehreren zugelassenen Escape-Sequenzen:1029Das Feld akzeptiert einen String aus einer oder mehreren zugelassenen Escape-Sequenzen:


821 1036 

822Sequenzen können mit BEL oder mit ST beendet werden. Alles außerhalb der Zulassungsliste, einschließlich CSI-Cursor- und Farbsequenzen, OSC-Palettensequenzen, OSC-8-Hyperlinks, OSC-52-Zwischenablage-Schreibvorgänge und OSC-1337, wird abgelehnt und das Feld wird ignoriert.1037Sequenzen können mit BEL oder mit ST beendet werden. Alles außerhalb der Zulassungsliste, einschließlich CSI-Cursor- und Farbsequenzen, OSC-Palettensequenzen, OSC-8-Hyperlinks, OSC-52-Zwischenablage-Schreibvorgänge und OSC-1337, wird abgelehnt und das Feld wird ignoriert.

823 1038 

824Das folgende Beispiel löst eine Desktop-Benachrichtigung aus einem `Notification`-Hook aus. Die Escape-Sequenz wird mit `printf`-Oktalescapes erstellt, sodass die Steuerbytes niemals auf der Shell-Befehlszeile erscheinen, und `jq -n --arg` erstellt die JSON-Ausgabe, sodass Anführungszeichen, Backslashes und Zeilenumbrüche in der Benachrichtigungsmeldung korrekt escaped werden:1039Claude Code gibt die Sequenz selbst aus, wenn es die Ausgabe Ihres Hooks verarbeitet, sodass das Feld bei Ereignissen funktioniert, die `systemMessage` und `continue` verwerfen, wie `Notification` und `StopFailure`. Es hat zwei Limits:

1040 

1041* Claude Code gibt die Sequenz nur in einer interaktiven Sitzung aus, und nur während seine Benutzeroberfläche auf dem Bildschirm ist. Im nicht-interaktiven Modus mit dem `-p`-Flag und im Agent SDK ignoriert es das Feld.

1042* Ein `WorktreeCreate`-Command-Hook kann kein JSON zurückgeben, da Claude Code seinen stdout als Worktree-Pfad liest. Ein HTTP-`WorktreeCreate`-Hook gibt JSON zurück und kann das Feld enthalten.

1043 

1044Das Beispiel unten löst eine Desktop-Benachrichtigung von einem `Notification`-Hook aus. Die Escape-Sequenz wird mit `printf`-Oktalescapes erstellt, sodass die Steuerbytes nie auf der Shell-Befehlszeile erscheinen, und `jq -n --arg` erstellt die JSON-Ausgabe, sodass Anführungszeichen, Backslashes und Zeilenumbrüche in der Benachrichtigungsmeldung korrekt escaped werden:

825 1045 

826```bash theme={null}1046```bash theme={null}

827#!/bin/bash1047#!/bin/bash

828# Notification-Hook: Ping des Desktops, wenn Claude Code Aufmerksamkeit benötigt.1048# Notification-Hook: Ping des Desktops, wenn Claude Code Aufmerksamkeit benötigt.

829input=$(cat)1049input=$(cat)

830title="Claude Code'1050title="Claude Code"

831body=$(jq -r '.message // 'Needs your attention"' <<<"$input")1051body=$(jq -r '.message // "Needs your attention"' <<<"$input")

832seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")1052seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

833jq -nc --arg seq "$seq" '{terminalSequence: $seq}'1053jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

834```1054```

835 1055 

836Die Form `{ "terminalSequence": "..." }` ist die gleiche aus jeder Shell oder Sprache. Unter Windows erstellen Sie die Escape-Zeichenkette in PowerShell oder einem Skript und geben das gleiche JSON-Objekt aus.1056Die Form `{ "terminalSequence": "..." }` ist die gleiche aus jeder Shell oder Sprache.

837 

838<Note>

839 `terminalSequence` ist der unterstützte Ersatz für Hooks, die zuvor Escape-Sequenzen direkt zu `/dev/tty` schrieben. Die Zulassungsliste ist auf Sequenzen beschränkt, die den Cursor nicht bewegen oder Farben ändern können, sodass ein Hook niemals eine On-Screen-Eingabeaufforderung beschädigen kann.

840</Note>

841 1057 

842<h4 id="add-context-for-claude">1058<h4 id="add-context-for-claude">

843 Kontext für Claude hinzufügen1059 Kontext für Claude hinzufügen


858 1074 

859Wo die Erinnerung angezeigt wird, hängt vom Ereignis ab:1075Wo die Erinnerung angezeigt wird, hängt vom Ereignis ab:

860 1076 

861* [SessionStart](#sessionstart), [Setup](#setup) und [SubagentStart](#subagentstart): am Anfang des Gesprächs, vor der ersten Eingabeaufforderung1077* [SessionStart](#sessionstart) und [SubagentStart](#subagentstart): am Anfang der Konversation, vor der ersten Eingabeaufforderung

862* [UserPromptSubmit](#userpromptsubmit) und [UserPromptExpansion](#userpromptexpansion): neben der eingereichten Eingabeaufforderung1078* [UserPromptSubmit](#userpromptsubmit) und [UserPromptExpansion](#userpromptexpansion): neben der eingereichten Eingabeaufforderung

863* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) und [PostToolBatch](#posttoolbatch): neben dem Tool-Ergebnis1079* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) und [PostToolBatch](#posttoolbatch): neben dem Tool-Ergebnis

864* [Stop](#stop) und [SubagentStop](#subagentstop): am Ende des Zugs. Das Gespräch wird fortgesetzt, sodass Claude auf das Feedback reagieren kann. Siehe [Stop-Entscheidungskontrolle](#stop-decision-control)1080* [Stop](#stop) und [SubagentStop](#subagentstop): am Ende des Zugs. Die Konversation wird fortgesetzt, sodass Claude auf das Feedback reagieren kann. Siehe [Stop-Entscheidungskontrolle](#stop-decision-control)

1081* [PostModelSwitch](#postmodelswitch): mit der nächsten Anfrage nach dem Wechsel. Siehe [PostModelSwitch-Entscheidungskontrolle](#postmodelswitch-decision-control) für Timing

865 1082 

866Wenn mehrere Hooks `additionalContext` für das gleiche Ereignis zurückgeben, erhält Claude alle Werte. Wenn ein Wert 10.000 Zeichen überschreitet, schreibt Claude Code den vollständigen Text in eine Datei im Sitzungsverzeichnis und übergibt Claude stattdessen den Dateipfad mit einer kurzen Vorschau.1083Wenn mehrere Hooks `additionalContext` für das gleiche Ereignis zurückgeben, erhält Claude alle Werte.

1084 

1085Wenn ein Wert 10.000 Zeichen überschreitet, schreibt Claude Code den Text in eine Datei im Sitzungsverzeichnis und übergibt Claude stattdessen den Dateipfad mit einer Vorschau von bis zu den ersten 2.000 Zeichen. Claude kann die Datei lesen, aber Claude Code fordert es nicht auf.

867 1086 

868Verwenden Sie `additionalContext` für Informationen, die Claude über den aktuellen Zustand Ihrer Umgebung oder die gerade ausgeführte Operation wissen sollte:1087Verwenden Sie `additionalContext` für Informationen, die Claude über den aktuellen Zustand Ihrer Umgebung oder die gerade ausgeführte Operation wissen sollte:

869 1088 


875 1094 

876Schreiben Sie den Text als sachliche Aussagen statt als imperative Systembefehle. Formulierungen wie „Das Bereitstellungsziel ist Produktion" oder „Dieses Repo verwendet `bun test`" werden als Projektinformationen gelesen. Text, der als Out-of-Band-Systembefehle formuliert ist, kann Claudes Prompt-Injection-Abwehr auslösen, was dazu führt, dass Claude den Text an Sie zurückgibt, anstatt ihn als Kontext zu behandeln.1095Schreiben Sie den Text als sachliche Aussagen statt als imperative Systembefehle. Formulierungen wie „Das Bereitstellungsziel ist Produktion" oder „Dieses Repo verwendet `bun test`" werden als Projektinformationen gelesen. Text, der als Out-of-Band-Systembefehle formuliert ist, kann Claudes Prompt-Injection-Abwehr auslösen, was dazu führt, dass Claude den Text an Sie zurückgibt, anstatt ihn als Kontext zu behandeln.

877 1096 

878Nach der Injektion wird der Text im Sitzungstranskript gespeichert. Für Mid-Session-Ereignisse wie `PostToolUse` oder `UserPromptSubmit` wird beim Fortsetzen mit `--continue` oder `--resume` der gespeicherte Text erneut abgespielt, anstatt den Hook für vergangene Umdrehungen erneut auszuführen, sodass Werte wie Zeitstempel oder Commit-SHAs beim Fortsetzen veraltet werden. `SessionStart`-Hooks werden beim Fortsetzen mit `source` auf `"resume"` gesetzt erneut ausgeführt, sodass sie ihren Kontext aktualisieren können.1097Claude Code speichert den eingespritzt Text im Sitzungstranskript. Für Mid-Session-Ereignisse wie `PostToolUse` oder `UserPromptSubmit` wird beim Fortsetzen mit `--continue` oder `--resume` der gespeicherte Text erneut abgespielt, anstatt den Hook für vergangene Umdrehungen erneut auszuführen, sodass Werte wie Zeitstempel oder Commit-SHAs beim Fortsetzen veraltet werden. `SessionStart`-Hooks werden beim Fortsetzen mit `source` auf `"resume"` gesetzt erneut ausgeführt, oder `"fork"` wenn Sie `--fork-session` hinzugefügt haben, sodass sie ihren Kontext aktualisieren können.

879 1098 

880<h4 id="decision-control">1099<h4 id="decision-control">

881 Entscheidungskontrolle1100 Entscheidungskontrolle


884Nicht jedes Ereignis unterstützt das Blockieren oder Steuern des Verhaltens durch JSON. Die Ereignisse, die dies tun, verwenden jeweils einen anderen Satz von Feldern, um diese Entscheidung auszudrücken. Verwenden Sie diese Tabelle als schnelle Referenz, bevor Sie einen Hook schreiben:1103Nicht jedes Ereignis unterstützt das Blockieren oder Steuern des Verhaltens durch JSON. Die Ereignisse, die dies tun, verwenden jeweils einen anderen Satz von Feldern, um diese Entscheidung auszudrücken. Verwenden Sie diese Tabelle als schnelle Referenz, bevor Sie einen Hook schreiben:

885 1104 

886| Ereignisse | Entscheidungsmuster | Schlüsselfelder |1105| Ereignisse | Entscheidungsmuster | Schlüsselfelder |

887| :---------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1106| :---------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

888| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Top-Level `decision` | `decision: "block"`, `reason`. Stop und SubagentStop akzeptieren auch `hookSpecificOutput.additionalContext` für [nicht-fehlerhafte Rückmeldung, die das Gespräch fortsetzt](#stop-decision-control) |1107| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Top-Level `decision` | `decision: "block"`, `reason`. Stop und SubagentStop akzeptieren auch `hookSpecificOutput.additionalContext` für [nicht-fehlerhafte Rückmeldung, die die Konversation fortsetzt](#stop-decision-control) |

889| TeammateIdle, TaskCreated, TaskCompleted | Exit-Code oder `continue: false` | Exit-Code 2 blockiert die Aktion mit stderr-Feedback. JSON `{"continue": false, "stopReason": "..."}` stoppt auch den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht |1108| TeammateIdle, TaskCompleted | Exit-Code oder `continue: false` | Exit-Code 2 blockiert die Aktion mit stderr-Feedback. JSON `{"continue": false, "stopReason": "..."}` stoppt auch den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht; [TaskCompleted ignoriert es, wenn das `TaskUpdate`-Tool das Ereignis ausgelöst hat](#taskcompleted-decision-control) |

1109| TaskCreated | Exit-Code oder Top-Level `decision` | Exit-Code 2 oder `decision: "block"` [bricht die Aufgabe ab](#taskcreated-decision-control) und gibt die Nachricht an Claude zurück. `continue: false` wird ignoriert |

890| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |1110| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |

1111| PreModelSwitch | `hookSpecificOutput` oder Top-Level `decision` | `permissionDecision` (allow/deny/ask), `permissionDecisionReason`. `decision: "block"` [bricht auch den Wechsel ab](#premodelswitch-decision-control) |

891| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |1112| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |

892| PermissionDenied | `hookSpecificOutput` | `retry: true` teilt dem Modell mit, dass es möglicherweise den verweigerten Tool-Aufruf erneut versuchen kann |1113| PermissionDenied | `hookSpecificOutput` | `retry: true` teilt dem Modell mit, dass es möglicherweise den verweigerten Tool-Aufruf erneut versuchen kann; Claude Code ignoriert es für [Ablehnungen ohne Urteil](#permissiondenied-decision-control) |

893| WorktreeCreate | Pfad-Rückgabe | Command-Hook gibt Pfad auf stdout aus; HTTP-Hook gibt `hookSpecificOutput.worktreePath` zurück. Hook-Fehler oder fehlender Pfad schlägt die Erstellung fehl |1114| WorktreeCreate | Pfad-Rückgabe | Command-Hook gibt Pfad auf stdout aus; HTTP-Hook gibt `hookSpecificOutput.worktreePath` zurück. Hook-Fehler oder fehlender Pfad schlägt die Erstellung fehl |

1115| WorktreeRemove | Exit-Code | Jeder Nicht-Null-Exit-Code lässt die Entfernung fehlschlagen, wenn das Verzeichnis danach noch existiert. Siehe [WorktreeRemove](#worktreeremove) für das, was mit dem Verzeichnis passiert |

894| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (Formularfeldwerte für accept) |1116| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (Formularfeldwerte für accept) |

895| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (Formularfeldwerte überschreiben) |1117| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (Formularfeldwerte überschreiben) |

896| MessageDisplay | `hookSpecificOutput` | `displayContent` ersetzt den angezeigten Text auf dem Bildschirm. Nur Anzeige: das Transkript und das, was Claude sieht, behalten das Original |1118| MessageDisplay | `hookSpecificOutput` | `displayContent` ersetzt den angezeigten Text auf dem Bildschirm. Nur Anzeige: das Transkript und das, was Claude sieht, behalten das Original |

897| SessionStart, Setup, SubagentStart | Nur Kontext | `hookSpecificOutput.additionalContext` fügt Kontext für Claude hinzu. SessionStart akzeptiert auch [`initialUserMessage`, `watchPaths`, `sessionTitle` und `reloadSkills`](#sessionstart-decision-control). Keine Blockierung oder Entscheidungskontrolle |1119| SessionStart, SubagentStart, PostModelSwitch | Nur Kontext | `hookSpecificOutput.additionalContext` fügt Kontext für Claude hinzu. SessionStart akzeptiert auch [`initialUserMessage`, `watchPaths`, `sessionTitle` und `reloadSkills`](#sessionstart-decision-control). Keine Blockierung oder Entscheidungskontrolle |

898| WorktreeRemove, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, FileChanged | Keine | Keine Entscheidungskontrolle. Wird für Nebenwirkungen wie Protokollierung oder Bereinigung verwendet |1120| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Keine | Keine Entscheidungskontrolle. Wird für Nebenwirkungen wie Protokollierung oder Bereinigung verwendet |

899 1121 

900Einige Ereignisse können auch Inhalte umschreiben, anstatt nur zuzulassen oder zu blockieren:1122Einige Ereignisse können auch Inhalte umschreiben, anstatt nur zuzulassen oder zu blockieren:

901 1123 

902* `PreToolUse`: `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control)1124* `PreToolUse`: `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control)

903* `PermissionRequest`: `updatedInput` innerhalb des `decision`-Objekts. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control)1125* `PermissionRequest`: `updatedInput` innerhalb des `decision`-Objekts. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control)

904* `PostToolUse`: `updatedToolOutput` ersetzt das Ergebnis des Tools. Siehe [PostToolUse-Entscheidungskontrolle](#posttooluse-decision-control)1126* `PostToolUse`: `updatedToolOutput` ersetzt das Ergebnis des Tools. Siehe [PostToolUse-Entscheidungskontrolle](#posttooluse-decision-control)

905* `UserPromptSubmit`: kann den Prompt nicht ersetzen; injiziert nur `additionalContext` daneben1127* `UserPromptSubmit`: kann die Eingabeaufforderung nicht ersetzen; injiziert nur `additionalContext` daneben

906 1128 

907Für Redaktions- oder Transformationsfälle, fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.1129Für Redaktions- oder Transformationsfälle fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.

908 1130 

909Hier sind Beispiele für jedes Muster in Aktion:1131Hier sind Beispiele für jedes Muster in Aktion:

910 1132 

911<Tabs>1133<Tabs>

912 <Tab title="Top-Level-Entscheidung">1134 <Tab title="Top-Level-Entscheidung">

913 Wird von `UserPromptSubmit`, `UserPromptExpansion`, `PostToolUse`, `PostToolUseFailure`, `PostToolBatch`, `Stop`, `SubagentStop`, `ConfigChange` und `PreCompact` verwendet. Der einzige Wert ist `"block"`. Um die Aktion fortzusetzen, lassen Sie `decision` aus Ihrem JSON weg, oder beenden Sie mit 0 ohne jede JSON:1135 Der einzige Wert für `decision` ist `"block"`. Um die Aktion fortzusetzen, lassen Sie `decision` aus Ihrem JSON weg, oder beenden Sie mit 0 ohne jede JSON:

914 1136 

915 ```json theme={null}1137 ```json theme={null}

916 {1138 {


967 1189 

968Wird ausgeführt, wenn Claude Code eine neue Sitzung startet oder eine vorhandene Sitzung fortsetzt. Nützlich zum Laden von Entwicklungskontext wie vorhandenen Problemen oder kürzlichen Änderungen an Ihrer Codebasis oder zum Einrichten von Umgebungsvariablen. Für statischen Kontext, der kein Skript erfordert, verwenden Sie stattdessen [CLAUDE.md](/docs/de/memory).1190Wird ausgeführt, wenn Claude Code eine neue Sitzung startet oder eine vorhandene Sitzung fortsetzt. Nützlich zum Laden von Entwicklungskontext wie vorhandenen Problemen oder kürzlichen Änderungen an Ihrer Codebasis oder zum Einrichten von Umgebungsvariablen. Für statischen Kontext, der kein Skript erfordert, verwenden Sie stattdessen [CLAUDE.md](/docs/de/memory).

969 1191 

970SessionStart wird bei jeder Sitzung ausgeführt, daher halten Sie diese Hooks schnell. Nur `type: "command"` und `type: "mcp_tool"` Hooks werden unterstützt.1192SessionStart wird bei jeder Sitzung ausgeführt, daher halten Sie diese Hooks schnell. Nur `type: "command"` und `type: "mcp_tool"` Hooks werden unterstützt. Siehe [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) für den Zeitpunkt, an dem `mcp_tool` Hooks ausgeführt werden.

971 1193 

972Der Matcher-Wert entspricht der Art, wie die Sitzung initiiert wurde:1194Der Matcher-Wert entspricht der Art, wie die Sitzung initiiert wurde:

973 1195 

974| Matcher | Wann es ausgelöst wird |1196| Matcher | Wann es ausgelöst wird |

975| :-------- | :-------------------------------------- |1197| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |

976| `startup` | Neue Sitzung |1198| `startup` | Neue Sitzung |

977| `resume` | `--resume`, `--continue` oder `/resume` |1199| `resume` | `--resume`, `--continue` oder `/resume` |

978| `clear` | `/clear` |1200| `clear` | `/clear` |

979| `compact` | Auto- oder manuelle Komprimierung |1201| `compact` | Auto- oder manuelle Komprimierung |

1202| `fork` | Eine neue Sitzung, die von einer vorhandenen abgezweigt ist: `--fork-session` mit `--resume` oder `--continue`, die `/fork` Hintergrund-Kopie oder `/branch` |

1203 

1204Vor v2.1.214 meldeten abgezweigte Sitzungen die Quelle `"resume"`.

1205 

1206Wenn Sie eine interaktive Sitzung starten, ein Gespräch beim Start mit `--continue` oder `--resume` fortsetzen oder `/clear` ausführen, werden SessionStart-Hooks im Hintergrund ausgeführt. Sie können sofort tippen, und ein Gespräch, das Sie fortgesetzt haben, wird angezeigt, ohne auf die Hooks zu warten. Claudes erste Antwort wartet immer noch darauf, dass die Hooks fertig sind, damit ihr Kontext Claude erreicht.

1207 

1208Wenn Sie Gespräche mit `/resume` innerhalb einer Sitzung wechseln, wartet der Wechsel darauf, dass die Hooks fertig sind. Wenn Sie `/clear` ausführen oder zu einem anderen Gespräch wechseln, während Hintergrund-Hooks noch laufen, gilt nichts, was sie zurückgeben, für die Sitzung.

1209 

1210Das gleiche Warten gilt beim Start, einschließlich einer fortgesetzten Sitzung: Ein Prompt, den Sie senden, während SessionStart-Hooks noch laufen, erreicht Claude nicht, bis sie fertig sind.

1211 

1212Während des Wartens drücken Sie `Esc`, um den Prompt zurück in die Eingabe zu nehmen, ohne ihn zu senden. Die Hooks laufen weiter.

980 1213 

981<h4 id="sessionstart-input">1214<h4 id="sessionstart-input">

982 SessionStart-Eingabe1215 SessionStart-Eingabe


986 1219 

987| Feld | Beschreibung |1220| Feld | Beschreibung |

988| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1221| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

989| `source` | Wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear` oder `"compact"` nach Komprimierung |1222| `source` | Wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear`, `"compact"` nach Komprimierung oder `"fork"` für eine neue Sitzung, die von einer vorhandenen abgezweigt ist |

990| `model` | Die aktive Modell-ID. Sie kann weggelassen werden, zum Beispiel nach `/clear` oder wenn eine Sitzung durch Gesprächswiederherstellung wiederhergestellt wird, daher überprüfen Sie das Feld, bevor Sie es lesen |1223| `model` | Die aktive Modell-ID. Sie kann weggelassen werden, zum Beispiel nach `/clear` oder wenn eine Sitzung durch Gesprächswiederherstellung wiederhergestellt wird, daher überprüfen Sie das Feld, bevor Sie es lesen |

991| `agent_type` | Der Agent-Name, vorhanden, wenn Sie Claude Code mit `claude --agent <name>` starten |1224| `agent_type` | Der Agent-Name, vorhanden, wenn Sie Claude Code mit `claude --agent <name>` starten |

992| `session_title` | Der aktuelle Sitzungstitel, falls bereits einer gesetzt ist, zum Beispiel über `--name` oder `/rename`. Ein Hook, der `sessionTitle` ausgibt, kann `session_title` zuerst überprüfen, um zu vermeiden, dass ein Titel überschrieben wird, den der Benutzer explizit gesetzt hat |1225| `session_title` | Der aktuelle Sitzungstitel, falls bereits einer gesetzt ist, zum Beispiel über `--name` oder `/rename`. Ein Hook, der `sessionTitle` ausgibt, kann `session_title` zuerst überprüfen, um zu vermeiden, dass ein Titel überschrieben wird, den der Benutzer explizit gesetzt hat |

993 1226 

1227Wenn `source` `"resume"` oder `"fork"` ist und das Transkript mindestens eine Antwort von Claude enthält, erhalten SessionStart-Hooks auch die vier Felder unten. Ihr Hook kann sie verwenden, um zu melden, was das Fortsetzen eines veralteten Gesprächs kostet, bevor die erste Anfrage erfolgt, zum Beispiel in einer [`systemMessage`](#json-output). Diese Felder erfordern Claude Code v2.1.251 oder später.

1228 

1229| Feld | Beschreibung |

1230| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1231| `seconds_since_last_response` | Wanduhr-Sekunden seit der letzten Antwort im fortgesetzten Transkript |

1232| `context_tokens` | Tokens, die die erste Anfrage der fortgesetzten Sitzung als ihren Prompt erneut sendet |

1233| `prompt_cache_likely_expired` | `true`, wenn die letzte Antwort älter ist als die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) der Sitzung oder eine spätere Komprimierung das zwischengespeicherte Gespräch ersetzt hat |

1234| `estimated_cache_write_usd` | Geschätzte Kosten in US-Dollar zum Schreiben von `context_tokens` in den Prompt-Cache auf dem Modell der Sitzung, ohne die Antwort |

1235 

1236Dieses Beispiel zeigt die Eingabe für eine Sitzung, die 90 Minuten nach ihrer letzten Antwort fortgesetzt wurde:

1237 

994```json theme={null}1238```json theme={null}

995{1239{

996 "session_id": "abc123",1240 "session_id": "abc123",

997 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",1241 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

998 "cwd": "/Users/...",1242 "cwd": "/Users/...",

999 "hook_event_name": "SessionStart",1243 "hook_event_name": "SessionStart",

1000 "source": "startup",1244 "source": "resume",

1001 "model": "claude-sonnet-5"1245 "model": "claude-opus-5",

1246 "seconds_since_last_response": 5400,

1247 "context_tokens": 182340,

1248 "prompt_cache_likely_expired": true,

1249 "estimated_cache_write_usd": 1.1396

1002}1250}

1003```1251```

1004 1252 


1006 SessionStart-Entscheidungskontrolle1254 SessionStart-Entscheidungskontrolle

1007</h4>1255</h4>

1008 1256 

1009Jeder Text, den Ihr Hook-Skript auf stdout ausgibt, wird als Kontext für Claude hinzugefügt. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:1257Claude Code fügt stdout, das es [als Klartext behandelt](#exit-code-0), zu Claudes Kontext hinzu. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:

1010 1258 

1011| Feld | Beschreibung |1259| Feld | Beschreibung |

1012| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1260| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1013| `additionalContext` | Zeichenkette, die zu Claudes Kontext am Anfang des Gesprächs hinzugefügt wird, vor dem ersten Prompt. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude), um zu erfahren, wie der Text bereitgestellt wird und was Sie darin einfügen sollten |1261| `additionalContext` | Zeichenkette, die zu Claudes Kontext am Anfang des Gesprächs hinzugefügt wird, vor dem ersten Prompt. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude), um zu erfahren, wie der Text bereitgestellt wird und was Sie darin einfügen sollten |

1014| `initialUserMessage` | Zeichenkette, die als erste Benutzernachricht der Sitzung verwendet wird. Gilt im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag, wo sie zur ersten Runde wird, auch wenn kein Prompt bereitgestellt wird. Wenn ein Prompt bereitgestellt wird, folgt er als nächste Runde. Im Gegensatz zu `additionalContext`, das an eine vorhandene Runde angehängt wird, erstellt dies die Runde |1262| `initialUserMessage` | Zeichenkette, die als erste Benutzernachricht der Sitzung verwendet wird. Gilt im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag, wo sie zur ersten Runde wird, auch wenn kein Prompt bereitgestellt wird. Wenn ein Prompt bereitgestellt wird, folgt er als nächste Runde. Im Gegensatz zu `additionalContext`, das an eine vorhandene Runde angehängt wird, erstellt dies die Runde |

1015| `sessionTitle` | Setzt den Sitzungstitel, mit der gleichen Auswirkung wie `/rename`. Verwenden Sie, um Sitzungen automatisch aus dem Start-Ordner, Git-Branch oder Worktree-Namen zu benennen. Gilt nur, wenn `source` `"startup"` oder `"resume"` ist; wird bei `"clear"` und `"compact"` ignoriert |1263| `sessionTitle` | Setzt den Sitzungstitel, mit der gleichen Auswirkung wie `/rename`. Verwenden Sie, um Sitzungen automatisch aus dem Start-Ordner, Git-Branch oder Worktree-Namen zu benennen. Gilt, wenn `source` `"startup"`, `"resume"` oder `"fork"` ist; wird bei `"clear"` und `"compact"` ignoriert |

1016| `watchPaths` | Array von absoluten Pfaden zum Überwachen von [FileChanged](#filechanged)-Ereignissen während dieser Sitzung |1264| `watchPaths` | Array von absoluten Pfaden zum Überwachen von [FileChanged](#filechanged)-Ereignissen während dieser Sitzung |

1017| `reloadSkills` | Boolesch. Wenn `true`, scannt Claude Code die [Skill](/docs/de/skills)- und Befehlsverzeichnisse erneut, nachdem die SessionStart-Hooks abgeschlossen sind, damit Skills, die der Hook installiert hat, in der gleichen Sitzung verfügbar sind, beginnend mit dem ersten Prompt |1265| `reloadSkills` | Boolesch. Wenn `true`, scannt Claude Code die [Skill](/docs/de/skills)- und Befehlsverzeichnisse erneut, nachdem die SessionStart-Hooks abgeschlossen sind, damit Skills, die der Hook installiert hat, in der gleichen Sitzung verfügbar sind, beginnend mit dem ersten Prompt |

1018 1266 


1026}1274}

1027```1275```

1028 1276 

1029Da einfacher stdout bereits Claude für dieses Ereignis erreicht, kann ein Hook, der nur Kontext lädt, direkt auf stdout drucken, ohne JSON zu erstellen. Verwenden Sie die JSON-Form, wenn Sie Kontext mit anderen Feldern wie `suppressOutput` oder `sessionTitle` kombinieren müssen.1277Da einfacher stdout bereits Claude für dieses Ereignis erreicht, kann ein Hook, der nur Kontext lädt, direkt auf stdout drucken, ohne JSON zu erstellen. Verwenden Sie die JSON-Form, wenn Sie Kontext mit anderen Feldern wie `sessionTitle` kombinieren müssen.

1030 1278 

1031Verwenden Sie `reloadSkills`, wenn ein SessionStart-Hook Skills installiert oder aktualisiert. Die Skill-Erkennung wird normalerweise ausgeführt, bevor SessionStart-Hooks fertig sind, daher würden Dateien, die der Hook in `~/.claude/skills/` oder `.claude/skills/` schreibt, sonst erst in der nächsten Sitzung erscheinen. Dieses Beispiel synchronisiert ein gemeinsames Skills-Repository und fordert die Neuscan an:1279Verwenden Sie `reloadSkills`, wenn ein SessionStart-Hook Skills installiert oder aktualisiert. Die Skill-Erkennung wird normalerweise ausgeführt, bevor SessionStart-Hooks fertig sind, daher würden Dateien, die der Hook in `~/.claude/skills/` oder `.claude/skills/` schreibt, sonst erst in der nächsten Sitzung erscheinen. Dieses Beispiel synchronisiert ein gemeinsames Skills-Repository und fordert die Neuscan an:

1032 1280 


1039echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1287echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1040```1288```

1041 1289 

1290Die Repository-URL ist ein Platzhalter; ersetzen Sie sie durch Ihr eigenes Skills-Repository. Mit dem Platzhalter schlägt der Clone fehl und gibt eine `fatal:`-Nachricht zu stderr aus. Stderr von einem SessionStart-Hook, der mit 0 beendet wird, ist nur informativ, daher gilt die `reloadSkills`-Anfrage immer noch.

1291 

1042<h4 id="persist-environment-variables">1292<h4 id="persist-environment-variables">

1043 Umgebungsvariablen beibehalten1293 Umgebungsvariablen beibehalten

1044</h4>1294</h4>


1078exit 01328exit 0

1079```1329```

1080 1330 

1081Alle Variablen, die in diese Datei geschrieben werden, sind in allen nachfolgenden Bash-Befehlen verfügbar, die Claude Code während der Sitzung ausführt.

1082 

1083<Note>1331<Note>

1084 `CLAUDE_ENV_FILE` ist für SessionStart-, [Setup](#setup)-, [CwdChanged](#cwdchanged)- und [FileChanged](#filechanged)-Hooks verfügbar. Andere Hook-Typen haben keinen Zugriff auf diese Variable.1332 `CLAUDE_ENV_FILE` ist für SessionStart, [Setup](#setup), [CwdChanged](#cwdchanged) und [FileChanged](#filechanged) Hooks verfügbar. Andere Hook-Typen haben keinen Zugriff auf diese Variable.

1085</Note>1333</Note>

1086 1334 

1087<h3 id="setup">1335<h3 id="setup">


1097| `init` | `claude --init-only` oder `claude -p --init` |1345| `init` | `claude --init-only` oder `claude -p --init` |

1098| `maintenance` | `claude -p --maintenance` |1346| `maintenance` | `claude -p --maintenance` |

1099 1347 

1100`--init-only` führt Setup-Hooks und SessionStart-Hooks mit dem `startup`-Matcher aus und beendet sich dann, ohne ein Gespräch zu starten. `--init` und `--maintenance` lösen Setup-Hooks nur aus, wenn sie mit `-p` kombiniert werden; in einer interaktiven Sitzung lösen diese beiden Flags derzeit keine Setup-Hooks aus.1348Wenn Sie `claude --init-only` ausführen, führt Claude Code Setup-Hooks und `SessionStart`-Hooks mit dem `startup`-Matcher aus und beendet sich dann, ohne ein Gespräch zu starten.

1349 

1350Wenn Sie ein Gespräch mit `-p` starten oder fortsetzen, müssen Sie auch einen Prompt bereitstellen, entweder als Argument oder über stdin. Sie können den Prompt überspringen, wenn ein `SessionStart`-Hook [`initialUserMessage`](#sessionstart-decision-control) bereitstellt oder wenn Sie eine Sitzung mit einem [verschobenen Tool-Aufruf](#defer-a-tool-call-for-later) fortsetzen.

1101 1351 

1102Da Setup nicht bei jedem Start ausgelöst wird, kann ein Plugin, das eine Abhängigkeit installiert benötigt, sich nicht allein auf Setup verlassen. Das praktische Muster ist, die Abhängigkeit bei der ersten Verwendung zu überprüfen und bei Fehlen zu installieren, zum Beispiel ein Hook oder eine Skill, die auf `${CLAUDE_PLUGIN_DATA}/node_modules` testet und `npm install` ausführt, wenn es fehlt. Siehe das [Verzeichnis für persistente Daten](/docs/de/plugins-reference#persistent-data-directory), um zu erfahren, wo Sie installierte Abhängigkeiten speichern können.1352Bei Erfolg gibt `--init-only` nichts auf dem Terminal aus. Um zu bestätigen, dass die Hooks ausgeführt wurden, starten Sie mit `claude --debug-file <path> --init-only`, ersetzen Sie `<path>` durch einen Protokolldateispeicherort, und überprüfen Sie das Protokoll auf die Setup- und SessionStart-Hook-Einträge.

1353 

1354Da Setup nicht bei jedem Start ausgelöst wird, kann ein Plugin, das eine Abhängigkeit installiert benötigt, sich nicht allein auf Setup verlassen. Das praktische Muster ist, die Abhängigkeit bei der ersten Verwendung zu überprüfen und bei Fehlen zu installieren, zum Beispiel ein Hook oder eine Skill, die auf `${CLAUDE_PLUGIN_DATA}/node_modules` testet und `npm install` ausführt, wenn es fehlt. Siehe das [Verzeichnis für persistente Daten](/docs/de/plugins-reference#persistent-data-directory), um zu erfahren, wo Sie installierte Abhängigkeiten speichern können. Wenn Sie Ihr Plugin über einen Marketplace verteilen, benötigen Sie möglicherweise dieses Muster nicht: Claude Code [installiert automatisch berechtigte Node.js-Paketabhängigkeiten](/docs/de/plugins-reference#node-js-package-dependencies), wenn es das Plugin zwischenspeichert.

1103 1355 

1104<h4 id="setup-input">1356<h4 id="setup-input">

1105 Setup-Eingabe1357 Setup-Eingabe


1121 Setup-Entscheidungskontrolle1373 Setup-Entscheidungskontrolle

1122</h4>1374</h4>

1123 1375 

1124Setup-Hooks können nicht blockieren. Jeder Nicht-Null-Exit-Code, einschließlich 2, zeigt stderr dem Benutzer als `<hook name> hook error`-Hinweis an, und die Ausführung wird fortgesetzt. Im [nicht-interaktiven Modus](/docs/de/headless) wird Hook-Ausgabe nur angezeigt, wenn Sie mit `--verbose` starten.1376Setup-Hooks können nicht blockieren; die Ausführung wird bei jedem Exit-Code fortgesetzt. Bei jedem Exit-Code verwirft Claude Code die [JSON-Ausgabefelder](#json-output) eines Setup-Hooks, wie `systemMessage`, `continue` und `hookSpecificOutput.additionalContext`. Mit `-p` werden stdout, stderr und Exit-Code eines Setup-Hooks in der Ausgabe des Laufs nur als [`hook_response`-Ereignisse](/docs/de/headless#read-session-metadata) angezeigt, wenn Sie mit `--output-format stream-json --verbose` starten.

1125 

1126Um Informationen in Claudes Kontext zu übergeben, geben Sie `additionalContext` in der JSON-Ausgabe zurück; einfacher stdout wird nur in das Debug-Protokoll geschrieben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:

1127 

1128| Feld | Beschreibung |

1129| :------------------ | :------------------------------------------------------------------------------------------- |

1130| `additionalContext` | Zeichenkette, die zu Claudes Kontext hinzugefügt wird. Werte mehrerer Hooks werden verkettet |

1131 

1132```json theme={null}

1133{

1134 "hookSpecificOutput": {

1135 "hookEventName": "Setup",

1136 "additionalContext": "Dependencies installed: node_modules, .venv"

1137 }

1138}

1139```

1140 1377 

1141Setup-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen für die Sitzung erhalten, genau wie in [SessionStart-Hooks](#persist-environment-variables). Nur `type: "command"` und `type: "mcp_tool"` Hooks werden unterstützt.1378Setup-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen für die Sitzung erhalten, genau wie in [SessionStart-Hooks](#persist-environment-variables). Nur `type: "command"` Hooks werden auf `Setup` ausgeführt. Ein `type: "mcp_tool"` Hook auf `Setup` wird immer übersprungen, wie unter [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) beschrieben.

1142 1379 

1143<h3 id="instructionsloaded">1380<h3 id="instructionsloaded">

1144 InstructionsLoaded1381 InstructionsLoaded


1146 1383 

1147Wird ausgelöst, wenn eine `CLAUDE.md`- oder `.claude/rules/*.md`-Datei in den Kontext geladen wird. Dieses Ereignis wird beim Sitzungsstart für eifrig geladene Dateien ausgelöst und später erneut, wenn Dateien träge geladen werden, zum Beispiel wenn Claude auf ein Unterverzeichnis zugreift, das eine verschachtelte `CLAUDE.md` enthält, oder wenn bedingte Regeln mit `paths:`-Frontmatter passen. Der Hook unterstützt keine Blockierung oder Entscheidungskontrolle. Er wird asynchron zu Beobachtungszwecken ausgeführt.1384Wird ausgelöst, wenn eine `CLAUDE.md`- oder `.claude/rules/*.md`-Datei in den Kontext geladen wird. Dieses Ereignis wird beim Sitzungsstart für eifrig geladene Dateien ausgelöst und später erneut, wenn Dateien träge geladen werden, zum Beispiel wenn Claude auf ein Unterverzeichnis zugreift, das eine verschachtelte `CLAUDE.md` enthält, oder wenn bedingte Regeln mit `paths:`-Frontmatter passen. Der Hook unterstützt keine Blockierung oder Entscheidungskontrolle. Er wird asynchron zu Beobachtungszwecken ausgeführt.

1148 1385 

1386Dieses Ereignis wird nicht ausgelöst, wenn Claude [AGENTS.md direkt](/docs/de/memory#agents-md) über die Einstellung **Projektanweisungen** liest. Es wird ausgelöst, wenn eine `CLAUDE.md` Ihre `AGENTS.md` importiert, mit `load_reason` auf `include` gesetzt wie für jede andere importierte Datei, und wenn `CLAUDE.md` ein Symlink zu ihr ist, als normales `CLAUDE.md`-Laden.

1387 

1149Der Matcher wird gegen `load_reason` ausgeführt. Verwenden Sie zum Beispiel `"matcher": "session_start"`, um nur für Dateien zu feuern, die beim Sitzungsstart geladen werden, oder `"matcher": "path_glob_match|nested_traversal"`, um nur für träge Ladevorgänge zu feuern.1388Der Matcher wird gegen `load_reason` ausgeführt. Verwenden Sie zum Beispiel `"matcher": "session_start"`, um nur für Dateien zu feuern, die beim Sitzungsstart geladen werden, oder `"matcher": "path_glob_match|nested_traversal"`, um nur für träge Ladevorgänge zu feuern.

1150 1389 

1151<h4 id="instructionsloaded-input">1390<h4 id="instructionsloaded-input">


1179 InstructionsLoaded-Entscheidungskontrolle1418 InstructionsLoaded-Entscheidungskontrolle

1180</h4>1419</h4>

1181 1420 

1182InstructionsLoaded-Hooks haben keine Entscheidungskontrolle. Sie können das Laden von Anweisungen nicht blockieren oder ändern. Verwenden Sie dieses Ereignis für Audit-Protokollierung, Compliance-Tracking oder Beobachtbarkeit.1421InstructionsLoaded-Hooks haben keine Entscheidungskontrolle. Sie können das Laden von Anweisungen nicht blockieren oder ändern. Claude Code verwirft ihre [JSON-Ausgabefelder](#json-output), wie `systemMessage` und `continue`. Verwenden Sie dieses Ereignis für Audit-Protokollierung, Compliance-Tracking oder Beobachtbarkeit.

1183 1422 

1184<h3 id="userpromptsubmit">1423<h3 id="userpromptsubmit">

1185 UserPromptSubmit1424 UserPromptSubmit


1189 1428 

1190`UserPromptSubmit`-Hooks haben ein Standard-Timeout von 30 Sekunden für `command`-, `http`- und `mcp_tool`-Typen, kürzer als das 600-Sekunden-Standard für diese Typen bei anderen Ereignissen. Da dieser Hook vor jedem Prompt ausgeführt wird und die Modellverarbeitung blockiert, bis er abgeschlossen ist, stellt ein feststeckender Hook die Sitzung still. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.1429`UserPromptSubmit`-Hooks haben ein Standard-Timeout von 30 Sekunden für `command`-, `http`- und `mcp_tool`-Typen, kürzer als das 600-Sekunden-Standard für diese Typen bei anderen Ereignissen. Da dieser Hook vor jedem Prompt ausgeführt wird und die Modellverarbeitung blockiert, bis er abgeschlossen ist, stellt ein feststeckender Hook die Sitzung still. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.

1191 1430 

1192Ein `UserPromptSubmit`-Hook, der sein Timeout erreicht, wird abgebrochen und seine Ausgabe, einschließlich aller `additionalContext`, wird verworfen. Der Prompt erreicht Claude immer noch ohne diesen Kontext. Ab v2.1.196 zeigt das Transkript einen Hinweis, der den Hook, das ausgelöste Timeout und dass die Ausgabe verworfen wurde, benennt. Frühere Versionen brechen den Hook ohne Hinweis ab.

1193 

1194Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks) auf `UserPromptSubmit`, der sein Timeout erreicht, blockiert den Prompt mit einer Nachricht, die den Hook und das Timeout benennt, da ein Callback dort als Richtlinien-Gate fungieren kann, das nicht offen fehlschlagen darf. Die Sitzung wird fortgesetzt. Vor v2.1.208 endete ein Callback-Timeout bei diesem Ereignis die Runde mit einem Ausführungsfehler.1431Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks) auf `UserPromptSubmit`, der sein Timeout erreicht, blockiert den Prompt mit einer Nachricht, die den Hook und das Timeout benennt, da ein Callback dort als Richtlinien-Gate fungieren kann, das nicht offen fehlschlagen darf. Die Sitzung wird fortgesetzt. Vor v2.1.208 endete ein Callback-Timeout bei diesem Ereignis die Runde mit einem Ausführungsfehler.

1195 1432 

1196<h4 id="userpromptsubmit-input">1433<h4 id="userpromptsubmit-input">


1218 1455 

1219Es gibt zwei Möglichkeiten, Kontext zum Gespräch bei Exit-Code 0 hinzuzufügen:1456Es gibt zwei Möglichkeiten, Kontext zum Gespräch bei Exit-Code 0 hinzuzufügen:

1220 1457 

1221* **Plain-Text-stdout**: Jeder Nicht-JSON-Text, der auf stdout geschrieben wird, wird als Kontext hinzugefügt1458* **Plain-Text-stdout**: Claude Code fügt stdout, das es [als Klartext behandelt](#exit-code-0), zu Claudes Kontext hinzu

1222* **JSON mit `additionalContext`**: Verwenden Sie das JSON-Format unten für mehr Kontrolle. Das Feld `additionalContext` wird als Kontext hinzugefügt1459* **JSON mit `additionalContext`**: Verwenden Sie das JSON-Format unten für mehr Kontrolle. Das Feld `additionalContext` wird als Kontext hinzugefügt

1223 1460 

1224Plain-stdout wird als Hook-Ausgabe im Transkript angezeigt. Das Feld `additionalContext` wird als Systemerinnerung eingefügt, die Claude ohne sichtbaren Transkript-Eintrag liest.1461Weder Kanal erzeugt einen sichtbaren Transkript-Eintrag. Plain-stdout und der `additionalContext`-Wert werden jeweils als Systemerinnerung eingefügt, die mit dem Namen des Hooks beginnt; Claude liest beide. Um die Lieferung zu bestätigen, überprüfen Sie das [Debug-Protokoll](#debug-hooks).

1225 1462 

1226Um einen Prompt zu blockieren, geben Sie ein JSON-Objekt mit `decision` auf `"block"` zurück:1463Um einen Prompt zu blockieren, geben Sie ein JSON-Objekt mit `decision` auf `"block"` zurück:

1227 1464 

1228| Feld | Beschreibung |1465| Feld | Beschreibung |

1229| :----------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |1466| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |

1230| `decision` | `"block"` verhindert die Verarbeitung des Prompts und löscht ihn aus dem Kontext. Weglassen, um den Prompt fortzusetzen |1467| `decision` | `"block"` verhindert die Verarbeitung des Prompts und löscht ihn aus dem Kontext. Weglassen, um den Prompt fortzusetzen |

1231| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist. Wird nicht zum Kontext hinzugefügt |1468| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist. Wird nicht zum Kontext hinzugefügt |

1232| `additionalContext` | Zeichenkette, die zu Claudes Kontext hinzugefügt wird, zusammen mit dem eingereichten Prompt. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1469| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem eingereichten Prompt hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1233| `sessionTitle` | Setzt den Sitzungstitel. Verwenden Sie, um Sitzungen automatisch basierend auf dem Prompt-Inhalt zu benennen |1470| `sessionTitle` | Setzt den Sitzungstitel. Verwenden Sie, um Sitzungen automatisch basierend auf dem Prompt-Inhalt zu benennen |

1234| `suppressOriginalPrompt` | Wenn `true`, wenn `decision` `"block"` ist, lässt den ursprünglichen Prompt-Text aus der Blockierungsmeldung aus, die dem Benutzer angezeigt wird |1471| `suppressOriginalPrompt` | Wenn `true`, wenn `decision` `"block"` ist, lässt den ursprünglichen Prompt-Text aus der Blockierungsmeldung aus, die dem Benutzer angezeigt wird |

1235 1472 

1473Ein Hook, der durch Beenden mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text an, und er wird nicht zum Kontext hinzugefügt.

1474 

1236```json theme={null}1475```json theme={null}

1237{1476{

1238 "decision": "block",1477 "decision": "block",


1288| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist |1527| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist |

1289| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem erweiterten Prompt hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1528| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem erweiterten Prompt hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1290 1529 

1530Ein Hook, der durch Beenden mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text an.

1531 

1291```json theme={null}1532```json theme={null}

1292{1533{

1293 "decision": "block",1534 "decision": "block",


1357| :--------------- | :--------------------------------------------------------------------------------- |1598| :--------------- | :--------------------------------------------------------------------------------- |

1358| `displayContent` | Text, der anstelle des Delta angezeigt wird. Weglassen, um das Original anzuzeigen |1599| `displayContent` | Text, der anstelle des Delta angezeigt wird. Weglassen, um das Original anzuzeigen |

1359 1600 

1360MessageDisplay-Hooks haben keine Entscheidungskontrolle. Sie können die Nachricht nicht blockieren oder ändern, was im Transkript gespeichert oder an Claude gesendet wird.1601MessageDisplay-Hooks haben keine Entscheidungskontrolle. Sie können die Nachricht nicht blockieren oder ändern, was im Transkript gespeichert oder an Claude gesendet wird. Claude Code handelt auf `displayContent` aus ihrer JSON-Ausgabe und verwirft `systemMessage` und `continue`.

1361 1602 

1362Dieses Beispiel entfernt Markdown-Formatierung aus Claudes Antworten für eine Nur-Text-Anzeige. Das Skript liest jeden Batch von stdin, entfernt Fettdruck-Marker und Inline-Code-Backticks aus `delta` und gibt das Ergebnis als `displayContent` zurück.1603Dieses Beispiel entfernt Markdown-Formatierung aus Claudes Antworten für eine Nur-Text-Anzeige. Das Skript liest jeden Batch von stdin, entfernt Fettdruck-Marker und Inline-Code-Backticks aus `delta` und gibt das Ergebnis als `displayContent` zurück.

1363 1604 


1389 #!/bin/bash1630 #!/bin/bash

1390 jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'1631 jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'

1391 ```1632 ```

1392 

1393 Das Skript benötigt `jq` auf Ihrem `PATH`.

1394 </Tab>1633 </Tab>

1395 1634 

1396 <Tab title="Windows (PowerShell)">1635 <Tab title="Windows (PowerShell)">


1443 PreToolUse1682 PreToolUse

1444</h3>1683</h3>

1445 1684 

1446Wird ausgeführt, nachdem Claude Tool-Parameter erstellt hat und bevor der Tool-Aufruf verarbeitet wird. Passt auf Tool-Namen: `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` und alle [MCP-Tool-Namen](#match-mcp-tools).1685Wird ausgeführt, nachdem Claude Tool-Parameter erstellt hat und bevor der Tool-Aufruf verarbeitet wird. Passt auf jeden Tool-Namen außer `EndConversation`: eingebaute Tools wie `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` und `ExitPlanMode`, und alle [MCP-Tool-Namen](#match-mcp-tools).

1686 

1687Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, egal was sie geschrieben hat, verwenden Sie [FileChanged](#filechanged) statt PreToolUse-Matching-Datei-Bearbeitungs-Tools nach Name. Im Gegensatz zu PreToolUse führt Claude Code FileChanged-Hooks nach der Änderung aus, und sie haben keine Entscheidungskontrolle, daher können sie den Schreibvorgang nicht blockieren.

1447 1688 

1448<Warning>1689<Warning>

1449 PreToolUse wird nur ausgeführt, wenn Claude ein Tool aufruft. Dateien, die Sie [mit `@` in Ihrem Prompt referenzieren](/docs/de/common-workflows#reference-files-and-directories), werden ohne Tool-Aufruf hinzugefügt: Claude Code fügt ihre Inhalte beim Erstellen des Prompts ein, daher wird kein PreToolUse-Hook für sie ausgelöst, einschließlich Hooks, die `Read` passen. Um bestimmte Pfade von `@`-Referenzen zu blockieren, verwenden Sie stattdessen eine [`Read`-Deny-Regel](/docs/de/permissions#read-and-edit).1690 PreToolUse wird nur ausgeführt, wenn Claude ein Tool aufruft. Dateien, die Sie [mit `@` in Ihrem Prompt referenzieren](/docs/de/common-workflows#reference-files-and-directories), werden ohne Tool-Aufruf hinzugefügt: Claude Code fügt ihre Inhalte beim Erstellen des Prompts ein, daher wird kein PreToolUse-Hook für sie ausgelöst, einschließlich Hooks, die `Read` passen. Um bestimmte Pfade von `@`-Referenzen zu blockieren, verwenden Sie stattdessen eine [`Read`-Deny-Regel](/docs/de/permissions#read-and-edit).

1691 

1692 PreToolUse wird auch nicht für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgelöst.

1450</Warning>1693</Warning>

1451 1694 

1452Verwenden Sie [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control), um die Verwendung des Tools zuzulassen, zu verweigern, um Berechtigung zu bitten oder zu verschieben.1695Verwenden Sie [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control), um die Verwendung des Tools zuzulassen, zu verweigern, um Berechtigung zu bitten oder zu verschieben.

1453 1696 

1697Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks) auf `PreToolUse`, der sein Timeout überschreitet, blockiert den Tool-Aufruf, und Claude erhält ein Fehlerergebnis, das das Timeout benennt. Eine explizite Verweigerung, die von einem anderen Hook zurückgegeben wird, hat immer noch Vorrang.

1698 

1454<h4 id="pretooluse-input">1699<h4 id="pretooluse-input">

1455 PreToolUse-Eingabe1700 PreToolUse-Eingabe

1456</h4>1701</h4>

1457 1702 

1458Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreToolUse-Hooks `tool_name`, `tool_input` und `tool_use_id`. Die Felder `tool_input` hängen vom Tool ab:1703Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreToolUse-Hooks `tool_name`, `tool_input` und `tool_use_id`.

1704 

1705Für ein [MCP-Tool](#match-mcp-tools) trägt die Eingabe auch `mcp_server`, ein Objekt mit dem Namen des Servers und einer `source`, die angibt, woher die Definition des Servers kam. Die `source`-Werte umfassen `plugin`, `sdk` und Konfigurationsumfänge wie `user` und `project`. [`McpServerProvenance`](/docs/de/agent-sdk/typescript#mcpserverprovenance) in der Agent SDK-Referenz listet sie alle auf und sagt, wie man eine behandelt, die man nicht erkennt. Treffen Sie Vertrauensentscheidungen auf Basis von `source` statt auf `name` oder dem `mcp__<server>__`-Tool-Namen-Präfix. Das Feld `mcp_server` erfordert Claude Code v2.1.274 oder später.

1706 

1707Für die Datei-Tools `Write`, `Edit` und `Read` ist `tool_input.file_path` immer absolut:

1708 

1709* Claude Code erweitert `~` und relative Pfade, bevor Hooks ausgeführt werden, daher kann ein Hook, der auf Pfade passt, nicht durch `~` oder eine relative Schreibweise des gleichen Pfads umgangen werden

1710* Unter Windows kommt der Pfad mit Backslash-Trennzeichen an, auch wenn Ihr Hook unter Git Bash läuft, wo `$PWD` wie `/c/project` aussieht

1711* Ein Vergleich, der mit Schrägstrichen geschrieben ist, wie ein `/src/`-Check, passt niemals auf einen Backslash-Pfad, und der Tool-Aufruf wird fortgesetzt, als hätte der Hook nichts zu blockieren

1712* Normalisieren Sie Trennzeichen vor dem Vergleich: `FILE_PATH="${FILE_PATH//\\//}"` in Bash oder `file_path.replace("\\", "/")` in Python, dann passen Sie auf ein Pfad-Segment wie `/src/` statt auf Anker mit `^`, da der Pfad absolut ist

1713 

1714Ein `Write`-Aufruf unter Windows liefert:

1715 

1716```json theme={null}

1717{

1718 "hook_event_name": "PreToolUse",

1719 "tool_name": "Write",

1720 "tool_input": {

1721 "file_path": "C:\\project\\src\\index.ts",

1722 "content": "..."

1723 },

1724 ...

1725}

1726```

1727 

1728Die `tool_input`-Felder hängen vom Tool ab:

1729 

1730<a id="bash" />

1459 1731 

1460<h5 id="bash">1732<h5 id="bash">

1461 Bash1733 Bash


1470| `timeout` | Zahl | `120000` | Optionales Timeout in Millisekunden. Werte über dem [Maximum](/docs/de/tools-reference#bash-tool-behavior) werden auf das Maximum reduziert, anstatt abgelehnt zu werden |1742| `timeout` | Zahl | `120000` | Optionales Timeout in Millisekunden. Werte über dem [Maximum](/docs/de/tools-reference#bash-tool-behavior) werden auf das Maximum reduziert, anstatt abgelehnt zu werden |

1471| `run_in_background` | Boolesch | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |1743| `run_in_background` | Boolesch | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |

1472 1744 

1745Wenn ein Bash-Befehl Dateien in einem Git-Repository ändert, kann Claude Code aufzeichnen, was sich geändert hat. Es zeichnet die Änderungen in jedem Berechtigungsmodus auf, wenn die [`bashEditDiffEnabled`](/docs/de/settings-reference#basheditdiffenabled)-Einstellung die Aufzeichnung einschaltet; der Eintrag dieser Einstellung sagt, welche Dateien sie setzen können. Andernfalls zeichnet es sie nur im Auto-Modus und `bypassPermissions`-Modus auf, und nur wenn Claude Code Claude anweist, Dateien durch Bash zu bearbeiten. Setzen Sie `bashEditDiffEnabled` auf `false`, um die Aufzeichnung auszuschalten. Hintergrund-Befehle und schreibgeschützte Befehle tragen keinen Diff.

1746 

1747Ihr [PostToolUse-Hook](#posttooluse) erhält dann die geänderten Dateien in `tool_response.bashEditDiff`. Die Liste deckt ab, was sich im Repository geändert hat, während der Befehl lief. Dateien, die Git ignoriert, und Dateien in Submodulen werden nicht aufgelistet. Erfordert Claude Code v2.1.269 oder später.

1748 

1749<Note>

1750 Die Liste ist Best-Effort und in öffentlicher Beta. Claude Code kann eine Änderung verpassen, eine Datei einbeziehen, die ein anderer Prozess gleichzeitig geändert hat, oder bei seinen Größenlimits stoppen. Die Feldform kann sich ändern. Verwenden Sie die Liste, um zu finden, was zu überprüfen ist, nicht um eine Richtlinie durchzusetzen.

1751</Note>

1752 

1753`changedFiles` und `files` listen auf, was der Befehl geändert hat; die verbleibenden Felder sagen, wie vollständig und wie zuverlässig diese Liste ist.

1754 

1755| Feld | Typ | Beispiel | Beschreibung |

1756| :------------- | :------- | :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1757| `changedFiles` | Array | `["/path/to/src/app.ts"]` | Absolute Pfade der Dateien, die der Befehl geändert hat, höchstens 200. Vorhanden, wenn `files` einen Diff hält oder `moreFiles` über Null liegt |

1758| `files` | Array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs von bis zu 5 geänderten Dateien zur Anzeige. `created` oder `deleted` ist `true` für eine Datei, die der Befehl hinzugefügt oder entfernt hat |

1759| `moreFiles` | Zahl | `2` | Anzahl der geänderten Dateien ohne Diff in `files` |

1760| `unavailable` | Boolesch | `true` | Gesetzt, wenn der Diff unvollständig ist oder nicht genommen werden konnte |

1761| `skipped` | Boolesch | `true` | Gesetzt für einen Git-Befehl, der den Arbeitsbaum bewegt, wie `git checkout` oder `git stash`, daher nimmt Claude Code keinen Diff |

1762| `shared` | Boolesch | `true` | Gesetzt, wenn ein anderer Bash-Tool-Aufruf, wie der eines Subagenten, im gleichen Repository zur gleichen Zeit lief, daher können einige aufgelistete Änderungen von diesem Befehl sein |

1763 

1764<a id="powershell" />

1765 

1766<h5 id="powershell">

1767 PowerShell

1768</h5>

1769 

1770Führt PowerShell-Befehle aus. Siehe das [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) für Verfügbarkeit nach Plattform.

1771 

1772Die Felder entsprechen dem Bash-Tool, mit der Befehlszeichenkette in `command`:

1773 

1774| Feld | Typ | Beispiel | Beschreibung |

1775| :------------------ | :----------- | :------------------------- | :-------------------------------------------------- |

1776| `command` | Zeichenkette | `"Get-ChildItem -Recurse"` | Der auszuführende PowerShell-Befehl |

1777| `description` | Zeichenkette | `"List files recursively"` | Optionale Beschreibung, was der Befehl tut |

1778| `timeout` | Zahl | `120000` | Optionales Timeout in Millisekunden |

1779| `run_in_background` | Boolesch | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |

1780 

1781Passen Sie `Bash|PowerShell` in Hooks an, die Shell-Befehle inspizieren, damit sie beide Tools abdecken:

1782 

1783* Unter Windows, wo das PowerShell-Tool aktiviert ist, behandelt Claude PowerShell als die primäre Shell und leitet Shell-Befehle durch sie.

1784* Unter Windows ohne Git Bash ist das Tool automatisch aktiviert und Claude Code registriert das Bash-Tool überhaupt nicht.

1785* Ein Hook, der nur `Bash` passt, wird dort nie ausgelöst.

1786 

1473<h5 id="write">1787<h5 id="write">

1474 Write1788 Write

1475</h5>1789</h5>


1568| `subagent_type` | Zeichenkette | `"Explore"` | Typ des zu verwendenden spezialisierten Agenten |1882| `subagent_type` | Zeichenkette | `"Explore"` | Typ des zu verwendenden spezialisierten Agenten |

1569| `model` | Zeichenkette | `"sonnet"` | Optionaler Modell-Alias zum Überschreiben des Standards |1883| `model` | Zeichenkette | `"sonnet"` | Optionaler Modell-Alias zum Überschreiben des Standards |

1570 1884 

1571In `PostToolUse` trägt `tool_response` für einen abgeschlossenen Agent-Aufruf den abschließenden Text des Subagenten zusammen mit Nutzungstelemetrie. Lesen Sie diese Felder, um Pro-Subagent-Kosten aus einem Hook zu erfassen:1885Wenn ein Vordergrund-Agent-Aufruf abgeschlossen ist, erhält Ihr [PostToolUse-Hook](#posttooluse) das Ergebnis des Subagenten und die Lauftelemetrie in `tool_response`. Lesen Sie diese Felder, um das Laufen zu inspizieren; für Token- und Kosten-Rollups über Subagenten verwenden Sie die [Token- und Kosten-Zähler](/docs/de/monitoring-usage#token-counter), die auf `query_source` `"subagent"` gefiltert sind, da `totalTokens` und `usage` nur die letzte Anfrage abdecken:

1572 1886 

1573| Feld | Typ | Beispiel | Beschreibung |1887| Feld | Typ | Beispiel | Beschreibung |

1574| :------------------ | :----------- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1888| :------------------ | :----------- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1575| `status` | Zeichenkette | `"completed"` | `"completed"` für Vordergrund-Subagenten, `"async_launched"` für Hintergrund-Subagenten. Ab v2.1.198 werden Subagenten standardmäßig im Hintergrund ausgeführt, daher erzeugt ein weggelassenes `run_in_background` auch `"async_launched"` |1889| `status` | Zeichenkette | `"completed"` | `"completed"` für Vordergrund-Subagenten, `"async_launched"` für Hintergrund-Subagenten. Ab v2.1.198 werden Subagenten standardmäßig im Hintergrund ausgeführt, daher erzeugt ein weggelassenes `run_in_background` auch `"async_launched"` |

1576| `agentId` | Zeichenkette | `"a4d2c8f1e0b3a297"` | Kennung für die Subagenten-Ausführung |1890| `agentId` | Zeichenkette | `"a4d2c8f1e0b3a297"` | Kennung für die Subagenten-Ausführung |

1577| `content` | Array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die abschließenden Textblöcke des Subagenten |1891| `content` | Array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die abschließenden Textblöcke des Subagenten oder, für einen Subagenten, dessen Bericht durch `SubagentHandback` geht, eine kurze Notiz über diesen Handback an ihrer Stelle |

1578| `resolvedModel` | Zeichenkette | `"claude-sonnet-4-5"` | Modell, auf dem der Subagent ausgeführt wurde, das sich vom angeforderten Modell unterscheiden kann. Erfordert Claude Code v2.1.174 oder später |1892| `resolvedModel` | Zeichenkette | `"claude-sonnet-4-5"` | Modell, auf dem der Subagent gestartet wurde, das sich vom angeforderten Modell unterscheiden kann |

1579| `totalTokens` | Zahl | `12450` | Gesamttokens, die über die Runden des Subagenten abgerechnet werden |1893| `modelsUsed` | Array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modelle, die in Reihenfolge verwendet wurden, mit aufeinanderfolgenden Wiederholungen zusammengefasst; wird nur gesetzt, wenn das Modell während des Laufs gewechselt wurde. Erfordert Claude Code v2.1.212 oder später |

1894| `totalTokens` | Zahl | `12450` | Token-Anzahl aus der letzten API-Anfrage des Subagenten: Input-, Output- und Cache-Tokens kombiniert. Dies ist keine Gesamtsumme über den ganzen Lauf |

1580| `totalDurationMs` | Zahl | `48211` | Wanduhr-Dauer der Subagenten-Ausführung |1895| `totalDurationMs` | Zahl | `48211` | Wanduhr-Dauer der Subagenten-Ausführung |

1581| `totalToolUseCount` | Zahl | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |1896| `totalToolUseCount` | Zahl | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |

1582| `usage` | Objekt | `{"input_tokens": 8320, ...}` | Pro-Typ-Token-Aufschlüsselung: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1897| `usage` | Objekt | `{"input_tokens": 8320, ...}` | Pro-Typ-Token-Aufschlüsselung der letzten API-Anfrage: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1583 1898 

1584Für Hintergrund-Subagenten gibt das Tool sofort nach dem Starten des Subagenten zurück, daher trägt `tool_response` keine Nutzungsfelder. Es hat stattdessen `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` und `resolvedModel`.1899Auf Claude Code v2.1.271 oder später liefert ein Subagent, der mit dem [`SubagentHandback`](/docs/de/tools-reference)-Tool läuft, das Claude Code im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bereitstellt, seinen Bericht durch dieses Tool statt ihn als Text zurückzugeben. Das Feld `content` seines `completed`-Ergebnisses trägt dann eine kurze Notiz über diesen Handback statt des Berichts selbst. Um den Bericht zu lesen, passen Sie einen `PreToolUse`- oder `PostToolUse`-Hook auf `SubagentHandback` an und lesen Sie `tool_input.message`.

1585 1900 

1586Das Feld `resolvedModel` nennt das Modell, auf dem der Subagent tatsächlich ausgeführt wird, das sich vom Wert `model` in `tool_input` unterscheiden kann. Es erfordert Claude Code v2.1.174 oder später.1901Für Hintergrund-Subagenten gibt das Tool zurück, wenn die Aufgabe in den Hintergrund geht, daher trägt `tool_response` keine Nutzungsfelder: Ein Hintergrund-Start gibt sofort zurück, und eine Vordergrund-Aufgabe, die Claude Code während des Laufs in den Hintergrund stellt, gibt bei diesem Übergang zurück. Es hat `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` und `resolvedModel`.

1902 

1903Bei einem `completed`-Ergebnis benennt `resolvedModel` das Modell, auf dem der Subagent gestartet wurde, das sich vom `model`-Wert in `tool_input` unterscheiden kann, wie wenn `availableModels` oder eine andere Überschreibung gilt. Bei einem `async_launched`-Ergebnis benennt `resolvedModel` das Modell, das in Gebrauch ist, wenn der Agent in den Hintergrund geht, daher wird ein Wechsel, der vor dem Backgrounding stattfand, dort widergespiegelt. `modelsUsed` und das Backgrounding-Zeit-`resolvedModel`-Verhalten erfordern Claude Code v2.1.212 oder später.

1587 1904 

1588<a id="askuserquestion" />1905<a id="askuserquestion" />

1589 1906 


1602 ExitPlanMode1919 ExitPlanMode

1603</h5>1920</h5>

1604 1921 

1605Präsentiert einen Plan und fordert den Benutzer auf, ihn zu genehmigen, bevor Claude den [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) verlässt. Claude schreibt den Plan vor dem Aufruf des Tools in eine Datei auf der Festplatte, daher trägt die wörtliche `tool_input` vom Modell nur `allowedPrompts`. Claude Code injiziert den Plan-Inhalt und den Dateipfad, bevor die Eingabe an Hooks übergeben wird.1922Präsentiert einen Plan und fordert den Benutzer auf, ihn zu genehmigen, bevor Claude den [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) verlässt. Claude schreibt den Plan vor dem Aufruf des Tools in eine Datei auf der Festplatte, daher trägt die wörtliche `tool_input` vom Modell typischerweise nur `allowedPrompts`. Claude Code injiziert den Plan-Inhalt und den Dateipfad, bevor die Eingabe an Hooks übergeben wird.

1606 1923 

1607| Feld | Typ | Beispiel | Beschreibung |1924| Feld | Typ | Beispiel | Beschreibung |

1608| :--------------- | :----------- | :------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1925| :--------------- | :----------- | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1609| `plan` | Zeichenkette | `"## Refactor auth\n1. Extract..."` | Plan-Inhalt in Markdown. Injiziert aus der Plan-Datei auf der Festplatte |1926| `plan` | Zeichenkette | `"## Refactor auth\n1. Extract..."` | Plan-Inhalt in Markdown. Injiziert aus der Plan-Datei auf der Festplatte |

1610| `planFilePath` | Zeichenkette | `"/Users/.../plans/refactor-auth.md"` | Pfad zur Plan-Datei. Injiziert |1927| `planFilePath` | Zeichenkette | `"/Users/.../plans/refactor-auth.md"` | Pfad zur Plan-Datei. Injiziert |

1611| `allowedPrompts` | Array | `[{"tool": "Bash", "prompt": "run tests"}]` | Optional. Prompt-basierte Berechtigungen, die Claude anfordert, um den Plan zu implementieren, jeweils mit einem `tool`-Namen und einem `prompt`, der die Kategorie der Aktion beschreibt |1928| `allowedPrompts` | Array | `[{"tool": "Bash", "prompt": "run tests"}]` | Veraltet. Claude Code akzeptiert das Feld, ignoriert es aber. Vor v2.1.205 trug es Prompt-basierte Berechtigungen, die Claude anfordert, um den Plan zu implementieren |

1612 1929 

1613In `PostToolUse` ist `tool_response` ein Objekt mit `plan`- und `filePath`-Feldern, die den genehmigten Plan enthalten, plus interne Status-Flags. Lesen Sie `tool_response.plan` für den Plan-Inhalt, anstatt die Datei von der Festplatte neu zu lesen.1930In `PostToolUse` ist `tool_response` ein Objekt mit `plan`- und `filePath`-Feldern, die den genehmigten Plan enthalten, plus interne Status-Flags. Lesen Sie `tool_response.plan` für den Plan-Inhalt, anstatt die Datei von der Festplatte neu zu lesen.

1614 1931 


1619`PreToolUse`-Hooks können steuern, ob ein Tool-Aufruf fortgesetzt wird. Im Gegensatz zu anderen Hooks, die ein Top-Level-Feld `decision` verwenden, gibt PreToolUse seine Entscheidung in einem `hookSpecificOutput`-Objekt zurück. Dies gibt ihm reichere Kontrolle: vier Ergebnisse (zulassen, verweigern, fragen oder verschieben) plus die Möglichkeit, die Tool-Eingabe vor der Ausführung zu ändern.1936`PreToolUse`-Hooks können steuern, ob ein Tool-Aufruf fortgesetzt wird. Im Gegensatz zu anderen Hooks, die ein Top-Level-Feld `decision` verwenden, gibt PreToolUse seine Entscheidung in einem `hookSpecificOutput`-Objekt zurück. Dies gibt ihm reichere Kontrolle: vier Ergebnisse (zulassen, verweigern, fragen oder verschieben) plus die Möglichkeit, die Tool-Eingabe vor der Ausführung zu ändern.

1620 1937 

1621| Feld | Beschreibung |1938| Feld | Beschreibung |

1622| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1939| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1623| `permissionDecision` | `"allow"` umgeht die Berechtigungsaufforderung, außer für [Tools, die Benutzerinteraktion erfordern](#pretooluse-decision-control) und Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools). `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet den Hook elegant, damit das Tool später fortgesetzt werden kann. [Deny- und Ask-Regeln](/docs/de/permissions#manage-permissions) gelten weiterhin, wenn ein Hook `"allow"` zurückgibt |1940| `permissionDecision` | `"allow"` umgeht die Berechtigungsaufforderung, außer für die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves) und für `AskUserQuestion` und `ExitPlanMode`, die [`updatedInput` gepaart mit ihm](#allow-with-updatedinput) benötigen. `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet elegant, damit das Tool später fortgesetzt werden kann. [Deny- und Ask-Regeln](/docs/de/permissions#manage-permissions) gelten weiterhin, wenn ein Hook `"allow"` zurückgibt |

1624| `permissionDecisionReason` | Für `"allow"` und `"ask"`, dem Benutzer angezeigt, aber nicht Claude. Für `"deny"`, Claude angezeigt. Für `"defer"`, ignoriert |1941| `permissionDecisionReason` | Für `"allow"` und `"ask"`, dem Benutzer angezeigt, aber nicht Claude. Für `"deny"`, Claude angezeigt. Für `"defer"`, ignoriert |

1625| `updatedInput` | Ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher müssen Sie unveränderte Felder zusammen mit geänderten einbeziehen. Kombinieren Sie mit `"allow"`, um automatisch zu genehmigen, oder mit `"ask"`, um die geänderte Eingabe dem Benutzer zu zeigen. Für `"defer"`, ignoriert |1942| `updatedInput` | Ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher müssen Sie unveränderte Felder zusammen mit geänderten einbeziehen. Claude Code evaluiert Berechtigungsregeln und die [Auto-Background-Berechtigung](/docs/de/tools-reference#background-commands) eines Bash-Befehls gegen die Eingabe, die Ihr Hook zurückgibt, nicht die Eingabe, die Claude gesendet hat. Kombinieren Sie mit `"allow"`, um automatisch zu genehmigen, oder mit `"ask"`, um die geänderte Eingabe dem Benutzer zu zeigen. Für `"defer"`, ignoriert |

1626| `additionalContext` | Zeichenkette, die zu Claudes Kontext vor der Tool-Ausführung hinzugefügt wird. Für `"defer"`, ignoriert. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1943| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem Tool-Ergebnis hinzugefügt wird. Ignoriert, wenn `permissionDecision` `"defer"` ist. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1627 1944 

1628Wenn mehrere PreToolUse-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `defer` > `ask` > `allow`.1945Wenn mehrere PreToolUse-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `defer` > `ask` > `allow`.

1629 1946 

1630Wenn ein Hook `"ask"` zurückgibt, enthält der dem Benutzer angezeigte Berechtigungsprompt ein Label, das angibt, woher der Hook stammt: zum Beispiel `[User]`, `[Project]`, `[Plugin]` oder `[Local]`. Dies hilft Benutzern zu verstehen, welche Konfigurationsquelle eine Bestätigung anfordert.1947Ein Hook, der durch Beenden mit 2 blockiert, wird auf die gleiche Weise wie `"deny"` weitergeleitet: Claude sieht die stderr-Nachricht als Verweigerungsgrund.

1948 

1949Wenn ein Hook `"ask"` zurückgibt, enthält der dem Benutzer angezeigte Berechtigungsprompt ein Label, das angibt, woher der Hook stammt: `[settings]` für einen Hook aus einer beliebigen Einstellungsdatei oder aus Agent-Frontmatter, `[plugin:<name>]` für einen Hook eines Plugins oder `[skill]` für einen Hook aus Skill-Frontmatter. Dies hilft Benutzern zu verstehen, welche Konfigurationsquelle eine Bestätigung anfordert.

1950 

1951Ein Hook-`"ask"` erzwingt auch einen Berechtigungsprompt im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode): Der Klassifizierer kann den Tool-Aufruf immer noch verweigern, kann ihn aber nicht stillschweigend genehmigen. Vor v2.1.211 konnte der Klassifizierer einen Bash-Befehl, der außerhalb der [Sandbox](/docs/de/sandboxing) läuft, ohne den Prompt zu zeigen, den der Hook anfordert, genehmigen; der Klassifizierer wendete immer noch seine eigenen Sicherheitsregeln auf diesen Befehl an, und ein Hook `"deny"` wurde immer respektiert.

1631 1952 

1632```json theme={null}1953```json theme={null}

1633{1954{


1643}1964}

1644```1965```

1645 1966 

1646`AskUserQuestion` und `ExitPlanMode` erfordern Benutzerinteraktion und blockieren normalerweise im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag. Das Zurückgeben von `permissionDecision: "allow"` zusammen mit `updatedInput` erfüllt diese Anforderung: Der Hook liest die Tool-Eingabe von stdin, erfasst die Antwort über Ihre eigene Benutzeroberfläche und gibt sie in `updatedInput` zurück, damit das Tool ohne Aufforderung ausgeführt wird. Das Zurückgeben von `"allow"` allein ist nicht ausreichend für diese Tools. Für `AskUserQuestion` geben Sie das ursprüngliche `questions`-Array zurück und fügen Sie ein [`answers`](#askuserquestion)-Objekt hinzu, das jede Frage auf die gewählte Antwort abbildet.1967<span id="allow-with-updatedinput" />

1647 1968 

1648Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools) fordern auch dann auf, wenn ein Hook `"allow"` zurückgibt.1969Im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag bietet Claude Code `AskUserQuestion` und `ExitPlanMode` nur an, wenn der Lauf einen [Berechtigungs-Host](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) hat, um den Prompt zu empfangen, wie einen Agent SDK `canUseTool`-Callback. Diese Tools erfordern Benutzerinteraktion. Das Zurückgeben von `permissionDecision: "allow"` zusammen mit `updatedInput` erfüllt diese Anforderung: Der Hook liest die Tool-Eingabe von stdin, erfasst die Antwort durch Ihre eigene Benutzeroberfläche und gibt sie in `updatedInput` zurück, damit das Tool ohne Aufforderung ausgeführt wird. Das Zurückgeben von `"allow"` allein ist nicht ausreichend für diese Tools. Für `AskUserQuestion` geben Sie das ursprüngliche `questions`-Array zurück und fügen Sie ein [`answers`](#askuserquestion)-Objekt hinzu, das jede Frage auf die gewählte Antwort abbildet.

1649 1970 

1650Ab v2.1.199 ist ein MCP-Tool, dessen Server es mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) markiert, strenger: Ein Hook kann seine Genehmigungsaufforderung nicht mit `"allow"` überspringen, mit oder ohne `updatedInput`, da Claude Code nicht bestätigen kann, dass der Hook die Interaktion erfasst hat, die das Tool benötigt.1971Ab v2.1.199 ist ein MCP-Tool, dessen Server es mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) markiert, strenger: Ein Hook kann seine Genehmigungsaufforderung nicht mit `"allow"` überspringen, mit oder ohne `updatedInput`, da Claude Code nicht bestätigen kann, dass der Hook die Interaktion erfasst hat, die das Tool benötigt.

1651 1972 


1659 1980 

1660`"defer"` ist für Integrationen, die `claude -p` als Subprozess ausführen und seine JSON-Ausgabe lesen, wie eine Agent SDK-App oder eine benutzerdefinierte Benutzeroberfläche, die auf Claude Code aufgebaut ist. Es ermöglicht diesem aufrufenden Prozess, Claude bei einem Tool-Aufruf zu pausieren, Eingaben über seine eigene Schnittstelle zu erfassen und dort fortzufahren, wo er aufgehört hat. Claude Code respektiert diesen Wert nur im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag. In interaktiven Sitzungen protokolliert es eine Warnung und ignoriert das Hook-Ergebnis.1981`"defer"` ist für Integrationen, die `claude -p` als Subprozess ausführen und seine JSON-Ausgabe lesen, wie eine Agent SDK-App oder eine benutzerdefinierte Benutzeroberfläche, die auf Claude Code aufgebaut ist. Es ermöglicht diesem aufrufenden Prozess, Claude bei einem Tool-Aufruf zu pausieren, Eingaben über seine eigene Schnittstelle zu erfassen und dort fortzufahren, wo er aufgehört hat. Claude Code respektiert diesen Wert nur im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag. In interaktiven Sitzungen protokolliert es eine Warnung und ignoriert das Hook-Ergebnis.

1661 1982 

1662Das Tool `AskUserQuestion` ist der typische Fall: Claude möchte den Benutzer etwas fragen, aber es gibt kein Terminal zum Antworten. Der Roundtrip funktioniert so:1983Das Tool `AskUserQuestion` ist der typische Fall: Claude möchte den Benutzer etwas fragen, aber es gibt kein Terminal zum Antworten. Ein Lauf mit einem [Berechtigungs-Host](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) bietet `AskUserQuestion` an, daher starten Sie den Lauf mit einem. Der Roundtrip funktioniert so:

1663 1984 

16641. Claude ruft `AskUserQuestion` auf. Der `PreToolUse`-Hook wird ausgelöst.19851. Claude ruft `AskUserQuestion` auf. Der `PreToolUse`-Hook wird ausgelöst.

16652. Der Hook gibt `permissionDecision: "defer"` zurück. Das Tool wird nicht ausgeführt. Der Prozess beendet sich mit `stop_reason: "tool_deferred"` und dem ausstehenden Tool-Aufruf, der im Transkript erhalten bleibt.19862. Der Hook gibt `permissionDecision: "defer"` zurück. Das Tool wird nicht ausgeführt. Der Prozess beendet sich mit `stop_reason: "tool_deferred"` und dem ausstehenden Tool-Aufruf, der im Transkript erhalten bleibt.


1683}2004}

1684```2005```

1685 2006 

1686Es gibt kein Timeout oder Wiederholungslimit. Die Sitzung bleibt auf der Festplatte, bis Sie sie fortsetzen, unterliegt aber der [`cleanupPeriodDays`](/docs/de/settings#available-settings)-Aufbewahrungssweep, die Sitzungsdateien nach 30 Tagen standardmäßig löscht. Wenn die Antwort nicht bereit ist, wenn Sie fortsetzen, kann der Hook erneut `"defer"` zurückgeben und der Prozess beendet sich auf die gleiche Weise. Der aufrufende Prozess steuert, wann die Schleife unterbrochen wird, indem er schließlich `"allow"` oder `"deny"` vom Hook zurückgibt.2007Es gibt kein Timeout oder Wiederholungslimit. Die Sitzung bleibt auf der Festplatte, bis Sie sie fortsetzen, unterliegt aber der [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays)-Aufbewahrungssweep, die Sitzungsdateien nach 30 Tagen standardmäßig löscht, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically). Wenn die Antwort nicht bereit ist, wenn Sie fortsetzen, kann der Hook erneut `"defer"` zurückgeben und der Prozess beendet sich auf die gleiche Weise. Der aufrufende Prozess steuert, wann die Schleife unterbrochen wird, indem er schließlich `"allow"` oder `"deny"` vom Hook zurückgibt.

1687 2008 

1688`"defer"` funktioniert nur, wenn Claude einen einzelnen Tool-Aufruf in der Runde macht. Wenn Claude mehrere Tool-Aufrufe gleichzeitig macht, wird `"defer"` mit einer Warnung ignoriert und das Tool wird durch den normalen Berechtigungsfluss fortgesetzt. Die Einschränkung existiert, weil Resume nur einen Tool-Aufruf erneut ausführen kann: Es gibt keine Möglichkeit, einen Aufruf aus einem Batch zu verschieben, ohne die anderen ungelöst zu lassen.2009`"defer"` funktioniert nur, wenn Claude einen einzelnen Tool-Aufruf in der Runde macht. Wenn Claude mehrere Tool-Aufrufe gleichzeitig macht, wird `"defer"` mit einer Warnung ignoriert und das Tool wird durch den normalen Berechtigungsfluss fortgesetzt. Die Einschränkung existiert, weil Resume nur einen Tool-Aufruf erneut ausführen kann: Es gibt keine Möglichkeit, einen Aufruf aus einem Batch zu verschieben, ohne die anderen ungelöst zu lassen.

1689 2010 

1690Wenn das verschobene Tool nicht mehr verfügbar ist, wenn Sie fortsetzen, beendet sich der Prozess mit `stop_reason: "tool_deferred_unavailable"` und `is_error: true` bevor der Hook ausgelöst wird. Dies geschieht, wenn ein MCP-Server, der das Tool bereitgestellt hat, für die fortgesetzte Sitzung nicht verbunden ist. Die Nutzlast `deferred_tool_use` ist immer noch enthalten, damit Sie identifizieren können, welches Tool fehlte.2011Wenn das verschobene Tool nicht mehr verfügbar ist, wenn Sie fortsetzen, beendet sich der Prozess mit `stop_reason: "tool_deferred_unavailable"` und `is_error: true` bevor der Hook ausgelöst wird. Dies geschieht, wenn ein MCP-Server, der das Tool bereitgestellt hat, für die fortgesetzte Sitzung nicht verbunden ist. Die Nutzlast `deferred_tool_use` ist immer noch enthalten, damit Sie identifizieren können, welches Tool fehlte.

1691 2012 

1692<Note>2013<Note>

1693 `--resume` stellt den Berechtigungsmodus wieder her, der aktiv war, als das Tool verschoben wurde, daher müssen Sie `--permission-mode` nicht erneut übergeben. Die Ausnahmen sind `plan` und `bypassPermissions`, die niemals übertragen werden. Das explizite Übergeben von `--permission-mode` bei der Wiederaufnahme überschreibt den wiederhergestellten Wert.2014 Um eine verschobene Sitzung im Plan-Modus fortzusetzen, übergeben Sie [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) zusammen mit `--resume`, damit Claude Code den Plan zur Genehmigung präsentieren kann. Ohne es stellt Claude Code den Plan-Modus nicht wieder her. Erfordert Claude Code v2.1.246 oder später.

2015 

2016 Wenn Sie mit `-p` fortsetzen, stellt Claude Code keinen anderen gespeicherten Berechtigungsmodus wieder her. Es startet den Lauf im Berechtigungsmodus, den ein neuer `claude -p`-Lauf starten würde, daher übergeben Sie `--permission-mode` oder `--dangerously-skip-permissions` erneut, wenn die verschobene Sitzung einen verwendet hat. Wenn Sie mit `claude --resume <session-id>` ohne `-p` fortsetzen, stellt Claude Code den gespeicherten Berechtigungsmodus wieder her, mit den Ausnahmen, die in [Berechtigungsmodus bei Wiederaufnahme](/docs/de/sessions#permission-mode-on-resume) aufgelistet sind.

1694</Note>2017</Note>

1695 2018 

1696<h3 id="permissionrequest">2019<h3 id="permissionrequest">

1697 PermissionRequest2020 PermissionRequest

1698</h3>2021</h3>

1699 2022 

1700Wird ausgeführt, wenn dem Benutzer ein Berechtigungsdialog angezeigt wird.2023Wird ausgeführt, wenn Claude Code Sie um Genehmigung für die Verwendung eines Tools bitten soll. In Sitzungen, die keinen Prompt anzeigen können, wie Hintergrund-Subagenten im [nicht-interaktiven Modus](/docs/de/headless), führt Claude Code diese Hooks immer noch aus, und wenn kein Hook eine Entscheidung zurückgibt, verweigert es den Tool-Aufruf.

1701Verwenden Sie [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control), um im Namen des Benutzers zuzulassen oder zu verweigern.2024Verwenden Sie [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control), um im Namen des Benutzers zuzulassen oder zu verweigern.

1702 2025 

2026Verwenden Sie dieses Ereignis, wenn Sie ein Signal benötigen, in dem Moment, in dem Claude um Genehmigung zur Verwendung eines Tools bittet. Claude Code führt einen [Notification](#notification)-Hook mit dem Typ `permission_prompt` nur aus, nachdem der Prompt etwa sechs Sekunden gewartet hat.

2027 

2028Claude Code führt PermissionRequest-Hooks nicht für eine Sandbox-Befehl-[Netzwerkanfrage](/docs/de/sandboxing#network-isolation) aus. Um ein Signal für diesen Prompt zu erhalten, verwenden Sie den Benachrichtigungstyp `permission_prompt`.

2029 

1703Passt auf Tool-Namen, gleiche Werte wie PreToolUse.2030Passt auf Tool-Namen, gleiche Werte wie PreToolUse.

1704 2031 

1705<h4 id="permissionrequest-input">2032<h4 id="permissionrequest-input">

1706 PermissionRequest-Eingabe2033 PermissionRequest-Eingabe

1707</h4>2034</h4>

1708 2035 

1709PermissionRequest-Hooks erhalten `tool_name`- und `tool_input`-Felder wie PreToolUse-Hooks, aber ohne `tool_use_id`. Ein optionales Array `permission_suggestions` enthält die Optionen „Immer zulassen", die der Benutzer normalerweise im Berechtigungsdialog sehen würde. Der Unterschied liegt darin, wann der Hook ausgelöst wird: PermissionRequest-Hooks werden ausgeführt, wenn ein Berechtigungsdialog dem Benutzer angezeigt werden soll, während PreToolUse-Hooks vor der Tool-Ausführung unabhängig vom Berechtigungsstatus ausgeführt werden.2036PermissionRequest-Hooks erhalten `tool_name`- und `tool_input`-Felder wie PreToolUse-Hooks, aber ohne `tool_use_id`. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input)-Objekt. Ein optionales Array `permission_suggestions` enthält die [Berechtigungsupdates](#permission-update-entries), die Claude Code für diese Anfrage vorschlägt, wie das Hinzufügen einer Allow-Regel oder das Ändern des Berechtigungsmodus.

2037 

2038Das Array `permission_suggestions` ist keine genaue Liste der Optionen, die Sie sehen, da jeder Berechtigungsdialog seine eigenen Optionen erstellt. Einige Dialoge, wie der für Datei-Bearbeitungen, lesen das Array überhaupt nicht und leiten ihre Optionen aus der Anfrage selbst ab. Ein Dialog, der es liest, kann immer noch eine Option zurückhalten, deren Vorschlag im Array bleibt, zum Beispiel wenn [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) Regel-Speicher-Optionen verbirgt. Es kann auch Optionen anbieten, die keinen Vorschlag-Eintrag haben, wie [**Ja, und zum Auto-Modus wechseln**](/docs/de/permission-modes#switch-permission-modes), das den Berechtigungsmodus direkt ändert, anstatt durch ein Berechtigungsupdate.

2039 

2040PreToolUse-Hooks werden vor jedem Tool-Aufruf ausgeführt, ob er Genehmigung benötigt oder nicht. PermissionRequest-Hooks werden nur ausgeführt, wenn Claude Code Sie um Genehmigung bitten soll, oder wenn es sonst einen Aufruf automatisch verweigern würde, der nicht auffordern kann. Keines der Ereignisse wird für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgelöst.

1710 2041 

1711```json theme={null}2042```json theme={null}

1712{2043{


1745| `message` | Nur für `"deny"`: teilt Claude mit, warum die Berechtigung verweigert wurde |2076| `message` | Nur für `"deny"`: teilt Claude mit, warum die Berechtigung verweigert wurde |

1746| `interrupt` | Nur für `"deny"`: wenn `true`, stoppt Claude |2077| `interrupt` | Nur für `"deny"`: wenn `true`, stoppt Claude |

1747 2078 

2079Ein Hook, der mit 2 beendet wird, ohne ein `decision`-Objekt zu hinterlassen, lässt den Berechtigungsfluss unverändert, und sein stderr wird verworfen. Nur das `decision`-Objekt kann die Anfrage gewähren oder verweigern.

2080 

1748```json theme={null}2081```json theme={null}

1749{2082{

1750 "hookSpecificOutput": {2083 "hookSpecificOutput": {


1775| `removeDirectories` | `directories`, `destination` | Entfernt Arbeitsverzeichnisse |2108| `removeDirectories` | `directories`, `destination` | Entfernt Arbeitsverzeichnisse |

1776 2109 

1777<Note>2110<Note>

1778 `setMode` mit `bypassPermissions` nimmt nur Auswirkungen an, wenn die Sitzung mit Bypass-Modus bereits verfügbar gestartet wurde: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` oder `permissions.defaultMode: "bypassPermissions"` in Einstellungen, und der Modus ist nicht durch [`permissions.disableBypassPermissionsMode`](/docs/de/permissions#managed-settings) deaktiviert. Andernfalls ist das Update ein No-Op. `bypassPermissions` wird niemals als `defaultMode` persistiert, unabhängig von `destination`.2111 `setMode` mit `bypassPermissions` nimmt nur Auswirkungen an, wenn Sie die Sitzung mit Bypass-Modus bereits verfügbar gestartet haben: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` oder `permissions.defaultMode: "bypassPermissions"` in [Benutzer-, `--settings`- oder verwalteten Einstellungen](/docs/de/settings-reference#permissions-defaultmode). Andernfalls ist das Update ein No-Op. Das Update ist auch ein No-Op, wenn [`permissions.disableBypassPermissionsMode`](/docs/de/permissions#managed-settings) den Modus deaktiviert oder wenn die Sitzung im [eingeschränkten Modus](/docs/de/cli-reference#cli-flags) startet.

2112 

2113 `bypassPermissions` wird niemals als `defaultMode` persistiert, unabhängig von `destination`.

1779</Note>2114</Note>

1780 2115 

1781Das Feld `destination` auf jedem Eintrag bestimmt, ob die Änderung im Speicher bleibt oder in einer Einstellungsdatei persistiert wird.2116Das Feld `destination` auf jedem Eintrag bestimmt, ob die Änderung im Speicher bleibt oder in einer Einstellungsdatei persistiert wird.


1787| `projectSettings` | `.claude/settings.json` |2122| `projectSettings` | `.claude/settings.json` |

1788| `userSettings` | `~/.claude/settings.json` |2123| `userSettings` | `~/.claude/settings.json` |

1789 2124 

1790Ein Hook kann eines der `permission_suggestions` widerspiegeln, die er als seine eigene `updatedPermissions`-Ausgabe erhalten hat, was gleichbedeutend mit der Auswahl dieser Option „Immer zulassen" durch den Benutzer im Dialog ist.2125Ein Hook kann eines der `permission_suggestions` widerspiegeln, die er als seine eigene `updatedPermissions`-Ausgabe erhalten hat.

1791 2126 

1792<h3 id="posttooluse">2127<h3 id="posttooluse">

1793 PostToolUse2128 PostToolUse


1797 2132 

1798Passt auf Tool-Namen, gleiche Werte wie PreToolUse.2133Passt auf Tool-Namen, gleiche Werte wie PreToolUse.

1799 2134 

2135Passen Sie breiter an, wenn der Tool-Name nicht der richtige Filter ist:

2136 

2137* Um einen Hook nach jedem erfolgreichen Tool-Abschluss auszuführen, lassen Sie den `matcher` weg oder setzen Sie ihn auf `"*"`. Ihr Hook kann dann selbst entdecken, was sich geändert hat, zum Beispiel durch Ausführung von `git status --porcelain`, das auch unverfolgten Dateien auflistet, die `git diff` vermisst. Für fehlgeschlagene Tool-Aufrufe fügen Sie den gleichen Hook unter [PostToolUseFailure](#posttoolusefailure) hinzu.

2138* Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, egal was sie geschrieben hat, verwenden Sie [FileChanged](#filechanged). Claude Code führt keinen `PostToolUse`-Hook aus, der `Edit|Write` passt, wenn ein `Bash`-Befehl oder ein Prozess außerhalb von Claude Code die gleiche Datei umschreibt.

2139 

1800<h4 id="posttooluse-input">2140<h4 id="posttooluse-input">

1801 PostToolUse-Eingabe2141 PostToolUse-Eingabe

1802</h4>2142</h4>

1803 2143 

1804`PostToolUse`-Hooks werden ausgelöst, nachdem ein Tool bereits erfolgreich ausgeführt wurde. Die Eingabe enthält sowohl `tool_input`, die an das Tool gesendeten Argumente, als auch `tool_response`, das Ergebnis, das es zurückgegeben hat. Das genaue Schema für beide hängt vom Tool ab.2144`PostToolUse`-Hooks werden ausgelöst, nachdem ein Tool bereits erfolgreich ausgeführt wurde. Die Eingabe enthält sowohl `tool_input`, die an das Tool gesendeten Argumente, als auch `tool_response`, das Ergebnis, das es zurückgegeben hat. Das genaue Schema für beide hängt vom Tool ab. Datei-Tool-`tool_input`-Pfade kommen im gleichen Format wie für [PreToolUse](#pretooluse-input) an: immer absolut, mit den nativen Trennzeichen der Plattform, daher Backslashes unter Windows. Für ein MCP-Tool trägt die Eingabe auch das [`mcp_server`](#pretooluse-input)-Objekt.

1805 2145 

1806```json theme={null}2146```json theme={null}

1807{2147{


1817 },2157 },

1818 "tool_response": {2158 "tool_response": {

1819 "filePath": "/path/to/file.txt",2159 "filePath": "/path/to/file.txt",

1820 "success": true2160 "type": "create"

1821 },2161 },

1822 "tool_use_id": "toolu_01ABC123...",2162 "tool_use_id": "toolu_01ABC123...",

1823 "duration_ms": 122163 "duration_ms": 12


1835`PostToolUse`-Hooks können Claude nach der Tool-Ausführung Feedback geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2175`PostToolUse`-Hooks können Claude nach der Tool-Ausführung Feedback geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

1836 2176 

1837| Feld | Beschreibung |2177| Feld | Beschreibung |

1838| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2178| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1839| `decision` | `"block"` fügt den `reason` neben dem Tool-Ergebnis hinzu. Claude sieht immer noch die ursprüngliche Ausgabe; um sie zu ersetzen, verwenden Sie `updatedToolOutput` |2179| `decision` | `"block"` fügt den `reason` neben dem Tool-Ergebnis hinzu. Claude sieht immer noch die ursprüngliche Ausgabe; um sie zu ersetzen, verwenden Sie `updatedToolOutput` |

1840| `reason` | Erklärung, die Claude angezeigt wird, wenn `decision` `"block"` ist |2180| `reason` | Erklärung, die Claude angezeigt wird, wenn `decision` `"block"` ist |

1841| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem Tool-Ergebnis hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |2181| `additionalContext` | Zeichenkette, die zu Claudes Kontext zusammen mit dem Tool-Ergebnis hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

2182| `classifierContext` | Kurze Notiz über das Ergebnis dieses Aufrufs für den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer statt für Claude. Siehe [Annotieren Sie ein Ergebnis für den Auto-Modus-Klassifizierer](#annotate-a-result-for-the-auto-mode-classifier). Erfordert Claude Code v2.1.236 oder später |

1842| `updatedToolOutput` | Ersetzt die Ausgabe des Tools durch den bereitgestellten Wert vor dem Senden an Claude. Der Wert muss der Ausgabeform des Tools entsprechen |2183| `updatedToolOutput` | Ersetzt die Ausgabe des Tools durch den bereitgestellten Wert vor dem Senden an Claude. Der Wert muss der Ausgabeform des Tools entsprechen |

1843| `updatedMCPToolOutput` | Ersetzt die Ausgabe nur für [MCP-Tools](#match-mcp-tools). Bevorzugen Sie `updatedToolOutput`, das für alle Tools funktioniert |2184| `updatedMCPToolOutput` | Ersetzt die Ausgabe nur für [MCP-Tools](#match-mcp-tools). Bevorzugen Sie `updatedToolOutput`, das für alle Tools funktioniert |

1844 2185 


1865 Der Ersatzwert muss der Ausgabeform des Tools entsprechen. Eingebaute Tools geben strukturierte Objekte anstelle von einfachen Zeichenketten zurück. Zum Beispiel gibt `Bash` ein Objekt mit `stdout`-, `stderr`-, `interrupted`- und `isImage`-Feldern zurück. Für eingebaute Tools wird ein Wert, der nicht dem Ausgabeschema des Tools entspricht, ignoriert und die ursprüngliche Ausgabe wird verwendet. MCP-Tool-Ausgabe wird ohne Schema-Validierung durchgeleitet. Das Entfernen von Fehlerdetails, die Claude benötigt, kann dazu führen, dass er bei einer falschen Annahme fortfährt.2206 Der Ersatzwert muss der Ausgabeform des Tools entsprechen. Eingebaute Tools geben strukturierte Objekte anstelle von einfachen Zeichenketten zurück. Zum Beispiel gibt `Bash` ein Objekt mit `stdout`-, `stderr`-, `interrupted`- und `isImage`-Feldern zurück. Für eingebaute Tools wird ein Wert, der nicht dem Ausgabeschema des Tools entspricht, ignoriert und die ursprüngliche Ausgabe wird verwendet. MCP-Tool-Ausgabe wird ohne Schema-Validierung durchgeleitet. Das Entfernen von Fehlerdetails, die Claude benötigt, kann dazu führen, dass er bei einer falschen Annahme fortfährt.

1866</Warning>2207</Warning>

1867 2208 

2209<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2210 Annotieren Sie ein Ergebnis für den Auto-Modus-Klassifizierer

2211</h4>

2212 

2213Geben Sie `classifierContext` zurück, um eine kurze Notiz über das Ergebnis des Tool-Aufrufs an den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer statt an Claude zu senden. Der Klassifizierer [erhält niemals Tool-Ergebnisse selbst](/docs/de/permission-modes#how-the-classifier-evaluates-actions), daher ist dieses Feld die unterstützte Methode, um ihm etwas über das, was ein Aufruf zurückgegeben hat, zu sagen, bevor es später Aktionen überprüft. Das Feld erfordert Claude Code v2.1.236 oder später.

2214 

2215Das Beispiel unten teilt dem Klassifizierer mit, woher die Ausgabe einer Abfrage kam:

2216 

2217```json theme={null}

2218{

2219 "hookSpecificOutput": {

2220 "hookEventName": "PostToolUse",

2221 "classifierContext": "This query ran against the staging database, not production."

2222 }

2223}

2224```

2225 

2226Wie viel Gewicht der Klassifizierer der Notiz gibt, hängt davon ab, wo Sie den Hook konfiguriert haben:

2227 

2228* **Hooks, die in Claude Code konfiguriert sind**: Für Hooks aus Einstellungsdateien, Plugins, Skills und Agent-Frontmatter behandelt der Klassifizierer die Notiz als nicht überprüften, von der Anwendung bereitgestellten Kontext. Die Notiz stellt niemals Benutzerabsicht fest, und wenn sie behauptet, Sie hätten etwas genehmigt oder angefordert, überprüft der Klassifizierer diese Behauptung gegen Ihre eigenen Nachrichten in der Konversation

2229* **In-Process Agent SDK-Callbacks**: Wenn eine Anwendung, die Claude Code einbettet, den Hook als [TypeScript SDK-Callback](/docs/de/agent-sdk/hooks) registriert und die Notiz während der Live-Sitzung zurückgibt, kann der Klassifizierer eine Benutzeraussage, die in der Notiz weitergeleitet wird, als Benutzerabsicht gewichten. Eine solche Aussage kann eine Zustimmungsanforderung erfüllen, die der Klassifizierer von einer Nachricht akzeptieren würde, die Sie senden, aber sie hebt niemals einen Block auf, den Ihre eigene Nachricht nicht heben könnte. Nach einer Sitzungswiederaufnahme behandelt Claude Code wiederhergestellte Notizen als nicht überprüften Kontext. Wenn Hooks aus beiden Gruppen den gleichen Aufruf annotieren, behandelt der Klassifizierer die kombinierte Notiz als nicht überprüft

2230 

2231Claude Code wendet diese Grenzen an, wenn die Notiz bereitgestellt wird:

2232 

2233* **Länge**: Claude Code begrenzt die Notizen für einen Tool-Aufruf auf 2.000 Zeichen und schneidet den Rest ab. Die Obergrenze wird über jeden Hook geteilt, der auf diesen Aufruf antwortet

2234* **Nur synchrone Antworten**: Claude Code ignoriert das Feld in der Antwort eines Hooks, der [im Hintergrund läuft](#run-hooks-in-the-background), da diese Antwort ankommt, nachdem Claude Code das Tool-Ergebnis aufgezeichnet hat

2235* **Aufrufe, die der Klassifizierer nicht aufzeichnet**: Das Klassifizierer-Transkript lässt schreibgeschützte Lookups wie Datei-Lesevorgänge und Suchen weg. Claude Code verwirft eine Notiz, die an einen dieser Aufrufe angehängt ist

2236* **Interaktion mit Umschreibungen**: Wenn die Notiz Ausgabe beschreibt, die Sie mit `updatedToolOutput` ersetzen, geben Sie beide Felder in der gleichen Hook-Antwort zurück. Claude Code lässt die Notiz fallen, wenn diese Umschreibung abgelehnt wird oder eine andere Hook-Umschreibung sie ersetzt. Claude Code liefert eine Notiz, die Sie ohne Umschreibung zurückgeben, auch wenn ein anderer Hook die Ausgabe umschreibt

2237 

2238<Warning>

2239 Der Klassifizierer liest Inhalte, die Sie in `classifierContext` einfügen, als Informationen vom Anwendungs-Host der Sitzung, daher kopieren Sie nicht unvertrauenswürdige Tool-Ausgabe oder Text von Drittanbietern hinein. Halten Sie die Notiz auf eine kurze Aussage über diesen einen Aufruf, wie eine Tatsache über seinen Ursprung oder eine Benutzeraussage darüber; verwenden Sie das Feld nicht, um unabhängige Nachrichten oder einen Strom von Ereignissen zu liefern.

2240</Warning>

2241 

1868<h3 id="posttoolusefailure">2242<h3 id="posttoolusefailure">

1869 PostToolUseFailure2243 PostToolUseFailure

1870</h3>2244</h3>


1881 PostToolUseFailure-Eingabe2255 PostToolUseFailure-Eingabe

1882</h4>2256</h4>

1883 2257 

1884PostToolUseFailure-Hooks erhalten die gleichen `tool_name`- und `tool_input`-Felder wie PostToolUse, zusammen mit Fehlerinformationen als Top-Level-Felder:2258PostToolUseFailure-Hooks erhalten die gleichen `tool_name`- und `tool_input`-Felder wie PostToolUse, zusammen mit Fehlerinformationen als Top-Level-Felder. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input)-Objekt. Zum Beispiel könnte ein fehlgeschlagener `npm test`-Befehl liefern:

1885 2259 

1886```json theme={null}2260```json theme={null}

1887{2261{


1896 "description": "Run test suite"2270 "description": "Run test suite"

1897 },2271 },

1898 "tool_use_id": "toolu_01ABC123...",2272 "tool_use_id": "toolu_01ABC123...",

1899 "error": "Command exited with non-zero status code 1",2273 "error": "Exit code 1\nError: Cannot find module 'express'",

1900 "is_interrupt": false,2274 "is_interrupt": false,

1901 "duration_ms": 41872275 "duration_ms": 4187

1902}2276}

1903```2277```

1904 2278 

1905| Feld | Beschreibung |2279| Feld | Beschreibung |

1906| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |2280| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1907| `error` | Zeichenkette, die beschreibt, was schief gelaufen ist |2281| `error` | Zeichenkette, die beschreibt, was schief gelaufen ist. Das Format hängt vom Tool ab, das fehlgeschlagen ist |

1908| `is_interrupt` | Optionaler Boolesch, der angibt, ob der Fehler durch Benutzerunterbrechung verursacht wurde |2282| `is_interrupt` | Optionaler Boolesch. True, wenn der Fehler Claude Code als Abbruch erreichte, anstatt als Fehler, den das Tool meldete. Das Abbrechen eines laufenden Tools löst diesen Hook nicht aus; das Tool-Ergebnis trägt die Abbruch-Nachricht statt |

1909| `duration_ms` | Optional. Tool-Ausführungszeit in Millisekunden. Schließt Zeit aus, die in Berechtigungsaufforderungen und PreToolUse-Hooks verbracht wird |2283| `duration_ms` | Optional. Tool-Ausführungszeit in Millisekunden. Schließt Zeit aus, die in Berechtigungsaufforderungen und PreToolUse-Hooks verbracht wird |

1910 2284 

2285Die `error`-Zeichenkette ist im Allgemeinen der gleiche Text, den Claude als Ergebnis des fehlgeschlagenen Tools erhält. Sein Format variiert je nach Tool und Fehler. Schlüsseln Sie Ihren Hook auf `tool_name`, `is_interrupt` und die erste Zeile `Exit code N`; behandeln Sie den Rest der Zeichenkette als Anzeigetext, nicht als stabiles Format.

2286 

2287* Für Bash und PowerShell erzeugt ein Befehl, der ausgeführt wurde und beendet wurde, eine erste Zeile `Exit code N`, dann jede Ausgabe, die der Befehl als einen Block mit stdout und stderr vermischt erzeugte

2288* Eine Nutzlast kann auch eine bloße Fehlermeldung ohne Exit-Code-Zeile tragen, wenn Claude Code den Shell-Prozess selbst nicht starten konnte

2289* Claude Code schneidet lange Zeichenketten in der Mitte um einen `... [N characters truncated] ...`-Marker ab und kann Zeilen einfügen, wie `Command timed out after 2m 0s`

2290 

1911<h4 id="posttoolusefailure-decision-control">2291<h4 id="posttoolusefailure-decision-control">

1912 PostToolUseFailure-Entscheidungskontrolle2292 PostToolUseFailure-Entscheidungskontrolle

1913</h4>2293</h4>


1966`tool_response` enthält den gleichen Inhalt, den das Modell im entsprechenden `tool_result`-Block erhält. Der Wert ist eine serialisierte Zeichenkette oder ein Content-Block-Array, genau wie das Tool es ausgegeben hat. Für `Read` bedeutet das Zeilennummern-Präfix-Text anstelle von rohen Dateiinhalten. Antworten können groß sein, daher analysieren Sie nur die Felder, die Sie benötigen.2346`tool_response` enthält den gleichen Inhalt, den das Modell im entsprechenden `tool_result`-Block erhält. Der Wert ist eine serialisierte Zeichenkette oder ein Content-Block-Array, genau wie das Tool es ausgegeben hat. Für `Read` bedeutet das Zeilennummern-Präfix-Text anstelle von rohen Dateiinhalten. Antworten können groß sein, daher analysieren Sie nur die Felder, die Sie benötigen.

1967 2347 

1968<Note>2348<Note>

1969 Die Form von `tool_response` unterscheidet sich von der von `PostToolUse`. `PostToolUse` übergibt das strukturierte `Output`-Objekt des Tools, wie `{filePath: "...", success: true}` für `Write`; `PostToolBatch` übergibt den serialisierten `tool_result`-Inhalt, den das Modell sieht.2349 Die Form von `tool_response` unterscheidet sich von der von `PostToolUse`. `PostToolUse` übergibt das strukturierte `Output`-Objekt des Tools, wie `{filePath: "...", type: "create"}` für `Write`; `PostToolBatch` übergibt den serialisierten `tool_result`-Inhalt, den das Modell sieht.

1970</Note>2350</Note>

1971 2351 

1972<h4 id="posttoolbatch-decision-control">2352<h4 id="posttoolbatch-decision-control">


1988}2368}

1989```2369```

1990 2370 

1991Das Zurückgeben von `decision: "block"` oder `continue: false` stoppt die agentengesteuerte Schleife vor dem nächsten Modell-Aufruf.2371Das Zurückgeben von `decision: "block"` oder `continue: false` stoppt die agentengesteuerte Schleife vor dem nächsten Modell-Aufruf. Die Blockierungsmeldung kommt aus dem JSON `reason` oder `stopReason` oder aus stderr bei Beendigung mit 2. Sie sehen sie als Warnung im Transkript, und sie bleibt in der Konversation, daher sieht Claude sie, wenn die Konversation fortgesetzt wird.

1992 2372 

1993<h3 id="permissiondenied">2373<h3 id="permissiondenied">

1994 PermissionDenied2374 PermissionDenied

1995</h3>2375</h3>

1996 2376 

1997Wird ausgeführt, wenn der [Auto-Mode](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer einen Tool-Aufruf verweigert. Dieser Hook wird nur im Auto-Mode ausgelöst: Er wird nicht ausgeführt, wenn Sie einen Berechtigungsdialog manuell verweigern, wenn ein `PreToolUse`-Hook einen Aufruf blockiert oder wenn eine `deny`-Regel passt. Verwenden Sie ihn, um Klassifizierer-Ablehnungen zu protokollieren, die Konfiguration anzupassen oder dem Modell zu sagen, dass es den Tool-Aufruf möglicherweise erneut versuchen kann.2377Wird ausgeführt, wenn der [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer einen Tool-Aufruf verweigert, einschließlich wenn er verweigert, ohne ein Klassifizierer-Urteil zu haben, weil [eine Sicherheitsprüfung, die von Auto-Modus getrennt ist, die Anfrage des Klassifizierers selbst verweigerte](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) oder seine Antwort nicht geparst wurde. Dieser Hook wird nur im Auto-Modus ausgelöst: Er wird nicht ausgeführt, wenn Sie einen Berechtigungsdialog manuell verweigern, wenn ein `PreToolUse`-Hook einen Aufruf blockiert oder wenn eine `deny`-Regel passt. Verwenden Sie ihn, um Klassifizierer-Ablehnungen zu protokollieren, die Konfiguration anzupassen oder dem Modell zu sagen, dass es den Tool-Aufruf möglicherweise erneut versuchen kann.

1998 2378 

1999Passt auf Tool-Namen, gleiche Werte wie PreToolUse.2379Passt auf Tool-Namen, gleiche Werte wie PreToolUse.

2000 2380 


2002 PermissionDenied-Eingabe2382 PermissionDenied-Eingabe

2003</h4>2383</h4>

2004 2384 

2005Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PermissionDenied-Hooks `tool_name`, `tool_input`, `tool_use_id` und `reason`.2385Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PermissionDenied-Hooks `tool_name`, `tool_input`, `tool_use_id` und `reason`. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input)-Objekt.

2006 2386 

2007```json theme={null}2387```json theme={null}

2008{2388{


2017 "description": "Clean build directory"2397 "description": "Clean build directory"

2018 },2398 },

2019 "tool_use_id": "toolu_01ABC123...",2399 "tool_use_id": "toolu_01ABC123...",

2020 "reason": "Auto mode denied: command targets a path outside the project"2400 "reason": "[Irreversible Local Destruction]"

2021}2401}

2022```2402```

2023 2403 

2024| Feld | Beschreibung |2404| Feld | Beschreibung |

2025| :------- | :------------------------------------------------------------------------ |2405| :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2026| `reason` | Die Erklärung des Klassifizierers, warum der Tool-Aufruf verweigert wurde |2406| `reason` | Der Verweigerungsgrund. Für ein Klassifizierer-Urteil benennt es in den meisten Sitzungen die passende Regel in Klammern, wie `[Data Exfiltration]`; siehe [Verweigerungen überprüfen](/docs/de/auto-mode-config#review-denials) für die anderen Formen. Für eine [Verweigerung ohne Urteil](#permissiondenied-decision-control) beginnt es mit `Auto mode could not evaluate this action and is blocking it for safety`. Für eine Verweigerung, weil das Klassifizierer-Modell nicht verfügbar war, ist es der feste Text `Classifier unavailable` |

2027 2407 

2028<h4 id="permissiondenied-decision-control">2408<h4 id="permissiondenied-decision-control">

2029 PermissionDenied-Entscheidungskontrolle2409 PermissionDenied-Entscheidungskontrolle


2042 2422 

2043Wenn `retry` `true` ist, fügt Claude Code eine Nachricht zum Gespräch hinzu, die dem Modell mitteilt, dass es den Tool-Aufruf möglicherweise erneut versuchen kann. Die Ablehnung selbst wird nicht rückgängig gemacht. Wenn Ihr Hook keine JSON zurückgibt oder `retry: false` zurückgibt, bleibt die Ablehnung bestehen und das Modell erhält die ursprüngliche Ablehnungsmeldung.2423Wenn `retry` `true` ist, fügt Claude Code eine Nachricht zum Gespräch hinzu, die dem Modell mitteilt, dass es den Tool-Aufruf möglicherweise erneut versuchen kann. Die Ablehnung selbst wird nicht rückgängig gemacht. Wenn Ihr Hook keine JSON zurückgibt oder `retry: false` zurückgibt, bleibt die Ablehnung bestehen und das Modell erhält die ursprüngliche Ablehnungsmeldung.

2044 2424 

2425Claude Code ignoriert `retry: true`, wenn der Klassifizierer [kein Urteil über die Aktion erzeugt hat](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action): Seine Antwort hat nicht geparst oder eine Sicherheitsprüfung, die von Auto-Modus getrennt ist, verweigerte die Anfrage des Klassifizierers selbst. Für diese Verweigerungen teilt Claude Code dem Modell in der Ablehnungsmeldung bereits mit, ob es später erneut versuchen soll oder weitermachen soll.

2426 

2045<h3 id="notification">2427<h3 id="notification">

2046 Notification2428 Notification

2047</h3>2429</h3>

2048 2430 

2049Wird ausgeführt, wenn Claude Code Benachrichtigungen sendet. Passt auf Benachrichtigungstyp. Matcher weglassen, um Hooks für alle Benachrichtigungstypen auszuführen.2431Wird ausgeführt, wenn Claude Code Benachrichtigungen sendet. Passt auf Benachrichtigungstyp. Matcher weglassen, um Hooks für alle Benachrichtigungstypen auszuführen.

2050 2432 

2433Sie erhalten diese Hook-Ereignisse auch mit ausgeschalteten Desktop-Benachrichtigungen: Die `preferredNotifChannel`-Einstellung, einschließlich `notifications_disabled`, ändert nur, wie Sie benachrichtigt werden, nicht ob Ihr Hook ausgeführt wird.

2434 

2051| Matcher | Wann es ausgelöst wird |2435| Matcher | Wann es ausgelöst wird |

2052| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |2436| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2053| `permission_prompt` | Claude benötigt Ihre Genehmigung für einen Tool-Aufruf |2437| `permission_prompt` | Claude benötigt Ihre Genehmigung für einen Tool-Aufruf oder eine Sandbox-Befehl-[Netzwerkanfrage](/docs/de/sandboxing#network-isolation), und der Prompt hat etwa sechs Sekunden gewartet |

2054| `idle_prompt` | Claude ist fertig und wartet auf Ihren nächsten Prompt |2438| `idle_prompt` | Claude ist vor etwa 60 Sekunden fertig und Sie haben nicht seitdem getippt |

2055| `auth_success` | Authentifizierung ist abgeschlossen |2439| `auth_success` | Authentifizierung ist abgeschlossen |

2056| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitation-Formular |2440| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitation-Formular und Sie haben nicht seitdem getippt |

2057| `elicitation_complete` | Ein MCP-Elicitation-Formular wird eingereicht oder verworfen |2441| `elicitation_url_dialog` | Ein MCP-Server fordert Sie auf, eine Browser-URL zu öffnen und Sie haben nicht seitdem getippt |

2442| `elicitation_complete` | Ein MCP-Server meldet, dass eine [URL-Mode-Elicitation](#elicitation-input) abgeschlossen ist |

2058| `elicitation_response` | Eine MCP-Elicitation-Antwort wird an den Server zurückgesendet |2443| `elicitation_response` | Eine MCP-Elicitation-Antwort wird an den Server zurückgesendet |

2059| `agent_needs_input` | Eine Hintergrund-Sitzung beginnt, auf Ihre Eingabe zu warten. Wird nur ausgelöst, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist |2444| `agent_needs_input` | Eine Hintergrund-Sitzung beginnt, auf Ihre Eingabe zu warten, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist, oder die aktuelle Sitzung stellt eine [Agent-Team-Teammate-Terminal-Setup-Frage](/docs/de/agent-teams#choose-a-display-mode) und Sie haben nicht seitdem getippt |

2060| `agent_completed` | Eine Hintergrund-Sitzung wird fertig oder schlägt fehl. Wird nur ausgelöst, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist |2445| `agent_completed` | Eine Hintergrund-Sitzung wird fertig oder schlägt fehl. Wird nur ausgelöst, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist |

2446| `quota_auto_resume_fired` | Claude Code setzt Ihre Aufgabe fort, nachdem ein claude.ai-Nutzungslimit sie pausiert hat: beim Reset oder früher, wenn etwas, das Sie in Claude Code tun, wie das Hinzufügen von Nutzungsguthaben, das Upgrade Ihres Plans oder das Wechseln von Modellen, Nutzung wieder verfügbar macht, mit der [Modell-Einstellung-Ausnahme](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset) |

2447| `quota_auto_resume_stale` | Ein claude.ai-Nutzungslimit wurde zurückgesetzt, während Ihr Computer für mehr als etwa 30 Minuten schlief. Claude Code wartet darauf, dass Sie `Enter` drücken, statt fortzufahren. Nach einem kürzeren Schlaf wird fortgesetzt und `quota_auto_resume_fired` statt |

2448| `quota_auto_resume_disabled` | Claude Code beendet sein Warten auf ein claude.ai-Nutzungslimit, ohne Ihre Aufgabe fortzusetzen: [`autoContinueAtUsageLimit`](/docs/de/settings-reference#autocontinueatusagelimit) wurde ausgeschaltet oder der Reset rückte während eines Wartens, das Claude Code selbst gestartet hat, mehr als 24 Stunden in die Zukunft, die fortgesetzte Aufgabe traf weiterhin das Limit oder die Fortsetzung wurde blockiert, bevor sie das Modell erreichte. Wird nicht ausgelöst, wenn Sie `Esc` oder `Ctrl+C` drücken oder **Nicht automatisch fortsetzen** wählen |

2061 2449 

2062Die Typen `agent_needs_input` und `agent_completed` erfordern Claude Code v2.1.198 oder später.2450Die Typen `agent_needs_input` und `agent_completed` erfordern Claude Code v2.1.198 oder später.

2063 2451 

2452Die Typen `quota_auto_resume_fired`, `quota_auto_resume_stale` und `quota_auto_resume_disabled` erfordern Claude Code v2.1.234 oder später.

2453 

2454In Terminal-Sitzungen erfordert `permission_prompt` für eine Sandbox-Befehl-Netzwerkanfrage Claude Code v2.1.246 oder später.

2455 

2456`agent_needs_input` für eine Teammate-Terminal-Setup-Frage erfordert Claude Code v2.1.248 oder später.

2457 

2458<Note>

2459 Die Typen `permission_prompt`, `idle_prompt`, `elicitation_dialog` und `elicitation_url_dialog` teilen ihr Timing mit Desktop-Benachrichtigungen, daher sehen Sie sie in Terminal-Sitzungen nur, wenn Sie vom Terminal weg zu sein scheinen:

2460 

2461 * Erwarten Sie `permission_prompt`, sobald Sie etwa sechs Sekunden nicht getippt haben. Der Timer startet, wenn der Berechtigungsprompt erscheint, und jeder Tastendruck verschiebt ihn. Um einen Hook sofort auszuführen, wenn Claude um Genehmigung zur Verwendung eines Tools bittet, verwenden Sie stattdessen [PermissionRequest](#permissionrequest).

2462 * Erwarten Sie `idle_prompt` etwa 60 Sekunden, nachdem Claude fertig ist, und nur wenn Sie seitdem nicht getippt haben. Claude Code sendet `idle_prompt` nicht, während es auf ein claude.ai-Nutzungslimit wartet. Wenn das Warten auf eigene Faust endet, wird stattdessen einer der `quota_auto_resume_*`-Typen ausgelöst.

2463 * Erwarten Sie `elicitation_dialog` für ein Elicitation-Formular oder `elicitation_url_dialog` für eine Browser-URL-Anfrage, sobald Sie etwa sechs Sekunden nicht getippt haben. Beide teilen das gleiche Sechs-Sekunden-Gate wie `permission_prompt`: Der Timer startet, wenn der Dialog erscheint, und jeder Tastendruck verschiebt ihn.

2464 

2465 Eine Berechtigungsanfrage oder Elicitation, die ankommt, während ein anderer Dialog auf dem Bildschirm ist, behält das gleiche Sechs-Sekunden-Gate, zeitlich von wenn die Anfrage ankommt. Seine Benachrichtigung kann Sie erreichen, während die Anfrage immer noch hinter dem offenen Dialog wartet.

2466</Note>

2467 

2468Claude Code zeitlich `permission_prompt` anders in Sitzungen, in denen es Berechtigungsanfragen an den Agent SDK [`canUseTool`-Callback](/docs/de/agent-sdk/user-input) sendet, was ist, wie Claude Desktop und die VS Code-Erweiterung Claude Code hosten:

2469 

2470* Erwarten Sie `permission_prompt` etwa sechs Sekunden, nachdem Claude um Genehmigung bittet. Claude Code verschiebt es nicht, während Sie tippen.

2471* Wenn Sie oder ein [PermissionRequest](#permissionrequest)-Hook früher antworten, führt Claude Code `permission_prompt` nicht aus.

2472* Setzen Sie [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/de/env-vars) auf `1`, um `permission_prompt` in diesen Sitzungen auszuschalten.

2473 

2474Vor v2.1.233 wurde `permission_prompt` in diesen Sitzungen nicht ausgelöst.

2475 

2064Verwenden Sie separate Matcher, um verschiedene Handler je nach Benachrichtigungstyp auszuführen. Diese Konfiguration löst ein berechtigungsspezifisches Warnungsskript aus, wenn Claude Genehmigung benötigt, und eine andere Benachrichtigung, wenn Claude untätig war:2476Verwenden Sie separate Matcher, um verschiedene Handler je nach Benachrichtigungstyp auszuführen. Diese Konfiguration löst ein berechtigungsspezifisches Warnungsskript aus, wenn Claude Genehmigung benötigt, und eine andere Benachrichtigung, wenn Claude untätig war:

2065 2477 

2066```json theme={null}2478```json theme={null}


2108}2520}

2109```2521```

2110 2522 

2111Notification-Hooks können Benachrichtigungen nicht blockieren oder ändern. Sie sind für Nebenwirkungen wie das Weiterleiten der Benachrichtigung an einen externen Service vorgesehen. Die [gemeinsamen JSON-Ausgabefelder](#json-output) wie `systemMessage` gelten.2523Notification-Hooks können Benachrichtigungen nicht blockieren oder ändern. Claude Code verwirft ihre `systemMessage` und `continue`-Felder, aber gibt immer noch [`terminalSequence`](#emit-terminal-notifications) aus, auf das sich das Desktop-Benachrichtigungs-Beispiel verlässt. Notification-Hooks sind für Nebenwirkungen wie das Weiterleiten der Benachrichtigung an einen externen Service vorgesehen.

2112 2524 

2113<h3 id="subagentstart">2525<h3 id="subagentstart">

2114 SubagentStart2526 SubagentStart

2115</h3>2527</h3>

2116 2528 

2117Wird ausgeführt, wenn ein Claude Code-Subagent über das Agent-Tool spawnt wird. Unterstützt Matcher zum Filtern nach Agent-Typname. Für eingebaute Agents ist dies der Agent-Name wie `general-purpose`, `Explore` oder `Plan`. Für [benutzerdefinierte Subagenten](/docs/de/sub-agents) ist dies das Feld `name` aus dem Frontmatter des Agenten, nicht der Dateiname.2529Wird ausgeführt, wenn Claude einen Subagenten mit dem Agent-Tool spawnt, wenn Claude [einen Subagenten fortsetzt](/docs/de/sub-agents#resume-subagents) und jedes Mal, wenn ein In-Process-[Agent-Team](/docs/de/agent-teams)-Teammate eine neue Nachricht handhabt. Unterstützt Matcher zum Filtern nach Agent-Typname. Für eingebaute Agents ist dies der Agent-Name wie `general-purpose`, `Explore` oder `Plan`. Für [benutzerdefinierte Subagenten](/docs/de/sub-agents) ist dies das Feld `name` aus dem Frontmatter des Agenten, nicht der Dateiname.

2118 2530 

2119Für Subagenten, die von einem [Plugin](/docs/de/plugins) bereitgestellt werden, ist der Agent-Typ die Plugin-spezifische Kennung wie `my-plugin:reviewer`, nicht der bloße Frontmatter-Name. Der Doppelpunkt platziert einen Plugin-spezifischen Namen auf dem regulären Ausdruckspfad, daher verankern Sie den Matcher mit `^` und `$` für eine genaue Übereinstimmung: `^my-plugin:reviewer$`.2531Für Subagenten, die von einem [Plugin](/docs/de/plugins) bereit gestellt werden, ist der Agent-Typ die Plugin-spezifische Kennung wie `my-plugin:reviewer`, nicht der bloße Frontmatter-Name. Der Doppelpunkt platziert einen Plugin-spezifischen Namen auf dem regulären Ausdruckspfad, daher verankern Sie den Matcher mit `^` und `$` für eine genaue Übereinstimmung: `^my-plugin:reviewer$`.

2120 2532 

2121<h4 id="subagentstart-input">2533<h4 id="subagentstart-input">

2122 SubagentStart-Eingabe2534 SubagentStart-Eingabe


2150}2562}

2151```2563```

2152 2564 

2565Wenn der Hook erneut für den gleichen Subagenten ausgeführt wird, injiziert Claude Code den zurückgegebenen Kontext nur, wenn der Kontext des Subagenten nicht bereits die Kopie aus einem früheren Lauf hält. Die Kopie, die beim Start injiziert wurde, bleibt an Ort und Stelle, wobei der [Prompt-Cache](/docs/de/prompt-caching#subagents-and-the-cache) des Subagenten intakt bleibt. Nach [Auto-Komprimierung](/docs/de/sub-agents#auto-compaction), die diese Kopie verwirft, injiziert Claude Code den Kontext des nächsten Laufs erneut.

2566 

2153<h3 id="subagentstop">2567<h3 id="subagentstop">

2154 SubagentStop2568 SubagentStop

2155</h3>2569</h3>


2162 2576 

2163Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SubagentStop-Hooks `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` und `last_assistant_message`. Das Feld `agent_type` ist der Wert, der zum Filtern von Matchern verwendet wird. Der `transcript_path` ist das Transkript der Hauptsitzung, während `agent_transcript_path` das eigene Transkript des Subagenten ist, das in einem verschachtelten `subagents/`-Ordner gespeichert ist. Das Feld `last_assistant_message` enthält den Textinhalt der letzten Antwort des Subagenten, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren.2577Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SubagentStop-Hooks `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` und `last_assistant_message`. Das Feld `agent_type` ist der Wert, der zum Filtern von Matchern verwendet wird. Der `transcript_path` ist das Transkript der Hauptsitzung, während `agent_transcript_path` das eigene Transkript des Subagenten ist, das in einem verschachtelten `subagents/`-Ordner gespeichert ist. Das Feld `last_assistant_message` enthält den Textinhalt der letzten Antwort des Subagenten, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren.

2164 2578 

2165SubagentStop-Hooks erhalten auch die Arrays `background_tasks` und `session_crons`, die unter [Stop-Eingabe](#stop-input) beschrieben sind, verfügbar in Claude Code v2.1.145 oder später. Beide Arrays sind auf die übergeordnete Sitzung beschränkt, nicht auf den Subagenten.2579Auf Claude Code v2.1.271 oder später liefert ein Subagent, der mit dem [`SubagentHandback`](/docs/de/tools-reference)-Tool läuft, seinen Bericht durch dieses Tool, bevor er stoppt. Das Feld `last_assistant_message` hält dann den Schließtext des Subagenten, falls vorhanden, das ist nicht der gelieferte Bericht. Der Bericht ist die `message`-Eingabe dieses Aufrufs, die ein `PreToolUse`- oder `PostToolUse`-Hook, der auf `SubagentHandback` passt, als `tool_input.message` erhält.

2580 

2581SubagentStop-Hooks erhalten auch die Arrays `background_tasks` und `session_crons`, die unter [Stop-Eingabe](#stop-input) beschrieben sind. Beide Arrays sind auf die übergeordnete Sitzung beschränkt, nicht auf den Subagenten.

2166 2582 

2167```json theme={null}2583```json theme={null}

2168{2584{


2181}2597}

2182```2598```

2183 2599 

2184SubagentStop-Hooks verwenden das gleiche Entscheidungskontrollformat wie [Stop-Hooks](#stop-decision-control), einschließlich `hookSpecificOutput.additionalContext` mit `hookEventName` auf `"SubagentStop"` gesetzt, für Nicht-Fehler-Feedback, das den Subagenten am Laufen hält. Das Zurückgeben von `decision: "block"` mit einem `reason` hält den Subagenten am Laufen und liefert `reason` an den Subagenten als nächste Anweisung. Um Kontext in die übergeordnete Sitzung nach der Rückkehr eines Subagenten einzufügen, verwenden Sie stattdessen einen [`PostToolUse`](#posttooluse)-Hook auf dem `Agent`-Tool.2600SubagentStop-Hooks verwenden das gleiche Entscheidungskontrollformat wie [Stop-Hooks](#stop-decision-control), einschließlich `hookSpecificOutput.additionalContext` mit `hookEventName` auf `"SubagentStop"` gesetzt, für Nicht-Fehler-Feedback, das den Subagenten am Laufen hält. Das Zurückgeben von `decision: "block"` mit einem `reason` hält den Subagenten am Laufen und liefert `reason` an den Subagenten als nächste Anweisung. Ein Hook, der durch Beenden mit 2 blockiert, liefert seine stderr-Nachricht auf die gleiche Weise. Um Kontext in die übergeordnete Sitzung nach der Rückkehr eines Subagenten einzufügen, verwenden Sie stattdessen einen [`PostToolUse`](#posttooluse)-Hook auf dem `Agent`-Tool.

2185 2601 

2186<h3 id="taskcreated">2602<h3 id="taskcreated">

2187 TaskCreated2603 TaskCreated

2188</h3>2604</h3>

2189 2605 

2190Wird ausgeführt, wenn eine Aufgabe über das `TaskCreate`-Tool erstellt wird. Verwenden Sie dies, um Benennungskonventionen durchzusetzen, Aufgabenbeschreibungen zu erfordern oder zu verhindern, dass bestimmte Aufgaben erstellt werden.2606Wird ausgeführt, wenn eine Aufgabe über das `TaskCreate`-Tool erstellt wird. Verwenden Sie dies, um Benennungskonventionen durchzusetzen, Aufgabenbeschreibungen zu erfordern oder zu verhindern, dass bestimmte Aufgaben erstellt werden. In einer [Sitzung ohne die Task-Tools](/docs/de/tools-reference#task-tool-availability) wird dieses Ereignis nicht ausgelöst.

2191 2607 

2192Wenn ein `TaskCreated`-Hook mit Code 2 beendet wird, wird die Aufgabe nicht erstellt und die stderr-Nachricht wird dem Modell als Feedback zurückgegeben. Um den Teammate stattdessen vollständig zu stoppen, geben Sie JSON mit `{"continue": false, "stopReason": "..."}` zurück. TaskCreated-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.2608TaskCreated-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.

2193 2609 

2194<h4 id="taskcreated-input">2610<h4 id="taskcreated-input">

2195 TaskCreated-Eingabe2611 TaskCreated-Eingabe


2202 "session_id": "abc123",2618 "session_id": "abc123",

2203 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",2619 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2204 "cwd": "/Users/...",2620 "cwd": "/Users/...",

2205 "permission_mode": "default",

2206 "hook_event_name": "TaskCreated",2621 "hook_event_name": "TaskCreated",

2207 "task_id": "task-001",2622 "task_id": "task-001",

2208 "task_subject": "Implement user authentication",2623 "task_subject": "Implement user authentication",


2224 TaskCreated-Entscheidungskontrolle2639 TaskCreated-Entscheidungskontrolle

2225</h4>2640</h4>

2226 2641 

2227TaskCreated-Hooks unterstützen zwei Möglichkeiten, die Aufgabenerstellung zu steuern:2642Ein TaskCreated-Hook kann die Erstellung auf zwei Wegen blockieren. Auf beide Wegen löscht Claude Code die Aufgabe und gibt Ihre Nachricht an Claude als Fehler des Tools zurück. Claude Code ignoriert `continue: false` aus diesem Ereignis und Claude arbeitet weiter.

2228 2643 

2229* **Exit-Code 2**: Die Aufgabe wird nicht erstellt und die stderr-Nachricht wird dem Modell als Feedback zurückgegeben.2644* **Exit-Code 2**: Claude Code gibt den stderr-Text als Nachricht zurück.

2230* **JSON `{"continue": false, "stopReason": "..."}`**: Stoppt den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt.2645* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code gibt `reason` als Nachricht zurück.

2231 2646 

2232Dieses Beispiel blockiert Aufgaben, deren Betreff nicht dem erforderlichen Format entspricht:2647Dieses Beispiel blockiert Aufgaben, deren Betreff nicht dem erforderlichen Format entspricht:

2233 2648 


2248 TaskCompleted2663 TaskCompleted

2249</h3>2664</h3>

2250 2665 

2251Wird ausgeführt, wenn eine Aufgabe als abgeschlossen markiert wird. Dies wird in zwei Situationen ausgelöst: wenn ein Agent eine Aufgabe explizit über das TaskUpdate-Tool als abgeschlossen markiert, oder wenn ein [Agent-Team](/docs/de/agent-teams)-Teammate seine Runde mit laufenden Aufgaben beendet. Verwenden Sie dies, um Abschluss-Kriterien wie bestandene Tests oder Lint-Checks durchzusetzen, bevor eine Aufgabe geschlossen werden kann.2666Wird ausgeführt, wenn eine Aufgabe als abgeschlossen markiert wird. Dies wird in zwei Situationen ausgelöst: wenn ein Agent eine Aufgabe explizit über das TaskUpdate-Tool als abgeschlossen markiert oder wenn ein [Agent-Team](/docs/de/agent-teams)-Teammate seine Runde mit laufenden Aufgaben beendet. Verwenden Sie dies, um Abschluss-Kriterien wie bestandene Tests oder Lint-Checks durchzusetzen, bevor eine Aufgabe geschlossen werden kann.

2252 2667 

2253Wenn ein `TaskCompleted`-Hook mit Code 2 beendet wird, wird die Aufgabe nicht als abgeschlossen markiert und die stderr-Nachricht wird dem Modell als Feedback zurückgegeben. Um den Teammate stattdessen vollständig zu stoppen, geben Sie JSON mit `{"continue": false, "stopReason": "..."}` zurück. TaskCompleted-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.2668TaskCompleted-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.

2254 2669 

2255<h4 id="taskcompleted-input">2670<h4 id="taskcompleted-input">

2256 TaskCompleted-Eingabe2671 TaskCompleted-Eingabe


2285 TaskCompleted-Entscheidungskontrolle2700 TaskCompleted-Entscheidungskontrolle

2286</h4>2701</h4>

2287 2702 

2288TaskCompleted-Hooks unterstützen zwei Möglichkeiten, den Aufgabenabschluss zu steuern:2703TaskCompleted-Hooks unterstützen zwei Wege zur Steuerung des Aufgabenabschlusses:

2289 2704 

2290* **Exit-Code 2**: Die Aufgabe wird nicht als abgeschlossen markiert und die stderr-Nachricht wird dem Modell als Feedback zurückgegeben.2705* **Exit-Code 2**: Die Aufgabe wird nicht als abgeschlossen markiert und die stderr-Nachricht wird dem Modell als Feedback zurückgegeben.

2291* **JSON `{"continue": false, "stopReason": "..."}`**: Stoppt den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt.2706* **JSON `{"continue": false, "stopReason": "..."}`**: Wenn ein Teammate, das seine Runde beendet, das Ereignis ausgelöst hat, stoppt den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt. Wenn das `TaskUpdate`-Tool das Ereignis ausgelöst hat, ignoriert Claude Code `continue: false`; Exit-Code 2 blockiert immer noch den Abschluss.

2292 2707 

2293Dieses Beispiel führt Tests aus und blockiert den Aufgabenabschluss, wenn sie fehlschlagen:2708Dieses Beispiel führt Tests aus und blockiert den Aufgabenabschluss, wenn sie fehlschlagen:

2294 2709 


2322 2737 

2323Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Stop-Hooks `stop_hook_active`, `last_assistant_message`, `background_tasks` und `session_crons`. Das Feld `stop_hook_active` ist `true`, wenn Claude Code bereits als Ergebnis eines Stop-Hooks fortgesetzt wird. Überprüfen Sie diesen Wert oder verarbeiten Sie das Transkript, um zu verhindern, dass Claude Code unbegrenzt läuft. Claude Code überschreibt den Hook und beendet die Runde nach 8 aufeinanderfolgenden Blockierungen.2738Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Stop-Hooks `stop_hook_active`, `last_assistant_message`, `background_tasks` und `session_crons`. Das Feld `stop_hook_active` ist `true`, wenn Claude Code bereits als Ergebnis eines Stop-Hooks fortgesetzt wird. Überprüfen Sie diesen Wert oder verarbeiten Sie das Transkript, um zu verhindern, dass Claude Code unbegrenzt läuft. Claude Code überschreibt den Hook und beendet die Runde nach 8 aufeinanderfolgenden Blockierungen.

2324 2739 

2325Das Feld `last_assistant_message` enthält den Textinhalt von Claudes letzter Antwort, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren.2740Das Feld `last_assistant_message` enthält den Textinhalt von Claudes letzter Antwort, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren. Für Hooks, die auf die gerade abgeschlossene Runde reagieren, wie Read-Aloud- oder Benachrichtigungs-Hooks, verwenden Sie dieses Feld statt `transcript_path` zu lesen: Die Transkript-Datei ist nicht garantiert, die letzte Nachricht zur Stop-Zeit auf allen Versionen einzubeziehen.

2326 2741 

2327Die Arrays `background_tasks` und `session_crons`, verfügbar in Claude Code v2.1.145 oder später, ermöglichen es Hooks, zwischen „Sitzung ist fertig" und „Sitzung ist pausiert und wartet auf Hintergrundarbeit, um sie wieder zu aktivieren" zu unterscheiden. Beide Arrays sind vorhanden, wenn die Task-Registry erreichbar ist, und sind leer, wenn nichts läuft oder geplant ist.2742Die Arrays `background_tasks` und `session_crons` ermöglichen es Hooks, zwischen „Sitzung ist fertig" und „Sitzung ist pausiert und wartet auf Hintergrundarbeit, um sie wieder zu aktivieren" zu unterscheiden. Beide Arrays sind vorhanden, wenn die Task-Registry erreichbar ist, und sind leer, wenn nichts läuft oder geplant ist.

2328 2743 

2329Jeder Eintrag in `background_tasks` beschreibt eine laufende Aufgabe und verwendet diese Felder:2744Jeder Eintrag in `background_tasks` beschreibt eine laufende Aufgabe und verwendet diese Felder:

2330 2745 


2392| `reason` | Erforderlich, wenn `decision` `"block"` ist. Teilt Claude mit, warum es fortgesetzt werden sollte |2807| `reason` | Erforderlich, wenn `decision` `"block"` ist. Teilt Claude mit, warum es fortgesetzt werden sollte |

2393| `hookSpecificOutput.additionalContext` | Nicht-Fehler-Feedback für Claude. Das Gespräch wird fortgesetzt, damit Claude darauf reagieren kann, aber im Gegensatz zu `decision: "block"` wird es im Transkript als Hook-Feedback statt als Hook-Fehler angezeigt |2808| `hookSpecificOutput.additionalContext` | Nicht-Fehler-Feedback für Claude. Das Gespräch wird fortgesetzt, damit Claude darauf reagieren kann, aber im Gegensatz zu `decision: "block"` wird es im Transkript als Hook-Feedback statt als Hook-Fehler angezeigt |

2394 2809 

2810Ein Hook, der durch Beenden mit 2 blockiert, wird auf die gleiche Weise wie `reason` weitergeleitet: Claude erhält die stderr-Nachricht als Erklärung, warum es fortgesetzt werden sollte.

2811 

2395```json theme={null}2812```json theme={null}

2396{2813{

2397 "decision": "block",2814 "decision": "block",


2414 StopFailure2831 StopFailure

2415</h3>2832</h3>

2416 2833 

2417Wird stattdessen von [Stop](#stop) ausgeführt, wenn die Runde aufgrund eines API-Fehlers endet. Ausgabe und Exit-Code werden ignoriert. Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder Wiederherstellungsmaßnahmen zu ergreifen, wenn Claude aufgrund von Ratenlimits, Authentifizierungsproblemen oder anderen API-Fehlern keine Antwort abschließen kann.2834Wird stattdessen von [Stop](#stop) ausgeführt, wenn die Runde aufgrund eines API-Fehlers endet. Claude Code ignoriert die Ausgabe und den Exit-Code des Hooks, außer [`terminalSequence`](#emit-terminal-notifications). Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder Wiederherstellungsmaßnahmen zu ergreifen, wenn Claude aufgrund von Ratenlimits, Authentifizierungsproblemen oder anderen API-Fehlern keine Antwort abschließen kann.

2418 2835 

2419<h4 id="stopfailure-input">2836<h4 id="stopfailure-input">

2420 StopFailure-Eingabe2837 StopFailure-Eingabe


2424 2841 

2425| Feld | Beschreibung |2842| Feld | Beschreibung |

2426| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2843| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2427| `error` | Fehlertyp: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens` oder `unknown` |2844| `error` | Fehlertyp: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` oder `unknown` |

2428| `error_details` | Zusätzliche Details zum Fehler, falls verfügbar |2845| `error_details` | Zusätzliche Details zum Fehler, falls verfügbar |

2429| `last_assistant_message` | Der gerenderte Fehlertext, der in der Konversation angezeigt wird. Im Gegensatz zu `Stop` und `SubagentStop`, wo dieses Feld Claudes Gesprächsausgabe enthält, enthält es für `StopFailure` die API-Fehlerzeichenkette selbst, wie `"API Error: Rate limit reached"` |2846| `last_assistant_message` | Der gerenderte Fehlertext, der in der Konversation angezeigt wird. Im Gegensatz zu `Stop` und `SubagentStop`, wo dieses Feld Claudes Gesprächsausgabe enthält, enthält es für `StopFailure` die API-Fehlerzeichenkette selbst, wie `"API Error: Rate limit reached"` |

2430 2847 


2448 2865 

2449Wird ausgeführt, wenn ein [Agent-Team](/docs/de/agent-teams)-Teammate nach Abschluss seiner Runde untätig werden soll. Verwenden Sie dies, um Qualitätsgates vor dem Stoppen eines Teammates durchzusetzen, wie das Erfordern von bestandenen Lint-Checks oder das Überprüfen, dass Ausgabedateien vorhanden sind.2866Wird ausgeführt, wenn ein [Agent-Team](/docs/de/agent-teams)-Teammate nach Abschluss seiner Runde untätig werden soll. Verwenden Sie dies, um Qualitätsgates vor dem Stoppen eines Teammates durchzusetzen, wie das Erfordern von bestandenen Lint-Checks oder das Überprüfen, dass Ausgabedateien vorhanden sind.

2450 2867 

2451Wenn ein `TeammateIdle`-Hook mit Code 2 beendet wird, erhält der Teammate die stderr-Nachricht als Feedback und arbeitet weiter, anstatt untätig zu werden. Um den Teammate stattdessen vollständig zu stoppen, geben Sie JSON mit `{"continue": false, "stopReason": "..."}` zurück. TeammateIdle-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.2868TeammateIdle-Hooks unterstützen keine Matcher und werden bei jedem Auftreten ausgelöst.

2452 2869 

2453<h4 id="teammateidle-input">2870<h4 id="teammateidle-input">

2454 TeammateIdle-Eingabe2871 TeammateIdle-Eingabe


2477 TeammateIdle-Entscheidungskontrolle2894 TeammateIdle-Entscheidungskontrolle

2478</h4>2895</h4>

2479 2896 

2480TeammateIdle-Hooks unterstützen zwei Möglichkeiten, das Teammate-Verhalten zu steuern:2897TeammateIdle-Hooks unterstützen zwei Wege zur Steuerung des Teammate-Verhaltens:

2481 2898 

2482* **Exit-Code 2**: Der Teammate erhält die stderr-Nachricht als Feedback und arbeitet weiter, anstatt untätig zu werden.2899* **Exit-Code 2**: Der Teammate erhält die stderr-Nachricht als Feedback und arbeitet weiter, anstatt untätig zu werden.

2483* **JSON `{"continue": false, "stopReason": "..."}`**: Stoppt den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt.2900* **JSON `{"continue": false, "stopReason": "..."}`**: Stoppt den Teammate vollständig, was dem `Stop`-Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt.


2501 2918 

2502Wird ausgeführt, wenn sich eine Konfigurationsdatei während einer Sitzung ändert. Verwenden Sie dies, um Einstellungsänderungen zu überprüfen, Sicherheitsrichtlinien durchzusetzen oder nicht autorisierte Änderungen an Konfigurationsdateien zu blockieren.2919Wird ausgeführt, wenn sich eine Konfigurationsdatei während einer Sitzung ändert. Verwenden Sie dies, um Einstellungsänderungen zu überprüfen, Sicherheitsrichtlinien durchzusetzen oder nicht autorisierte Änderungen an Konfigurationsdateien zu blockieren.

2503 2920 

2504ConfigChange-Hooks werden für Änderungen an Einstellungsdateien, verwalteten Richtlinieneinstellungen und Skill-Dateien ausgelöst. Das Feld `source` in der Eingabe teilt Ihnen mit, welche Art von Konfiguration sich geändert hat, und das optionale Feld `file_path` gibt den Pfad zur geänderten Datei an.2921Claude Code führt ConfigChange-Hooks aus, wenn sich eine Einstellungsdatei, eine verwaltete Richtlinieneinstellung oder eine Skill-Datei ändert. Für verwaltete Richtlinien wird es nur ausgelöst, wenn `managed-settings.json` oder eine Datei in `managed-settings.d/` sich ändert. Es wendet [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) und Änderungen an macOS-verwalteten Einstellungen oder Windows-Registrierungs-Richtlinien an, ohne sie auszuführen. Auf WSL mit [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) wendet es auch eine geänderte Windows-seitige verwaltete Einstellungsdatei bei seiner Richtlinien-Abfrage an, ohne sie auszuführen.

2505 2922 

2506Der Matcher filtert auf die Konfigurationsquelle:2923Der Matcher filtert auf die Konfigurationsquelle:

2507 2924 

2508| Matcher | Wann es ausgelöst wird |2925| Matcher | Wann es ausgelöst wird |

2509| :----------------- | :------------------------------------------------ |2926| :----------------- | :--------------------------------------------------------------------------- |

2510| `user_settings` | `~/.claude/settings.json` ändert sich |2927| `user_settings` | `~/.claude/settings.json` ändert sich |

2511| `project_settings` | `.claude/settings.json` ändert sich |2928| `project_settings` | `.claude/settings.json` ändert sich |

2512| `local_settings` | `.claude/settings.local.json` ändert sich |2929| `local_settings` | `.claude/settings.local.json` ändert sich |

2513| `policy_settings` | Verwaltete Richtlinieneinstellungen ändern sich |2930| `policy_settings` | `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert sich |

2514| `skills` | Eine Skill-Datei in `.claude/skills/` ändert sich |2931| `skills` | Eine Skill-Datei in `.claude/skills/` ändert sich |

2515 2932 

2516Dieses Beispiel protokolliert alle Konfigurationsänderungen für Sicherheitsaudits:2933Dieses Beispiel protokolliert alle Konfigurationsänderungen für Sicherheitsaudits:


2568}2985}

2569```2986```

2570 2987 

2571`policy_settings`-Änderungen können nicht blockiert werden. Hooks werden immer noch für `policy_settings`-Quellen ausgelöst, daher können Sie sie für Audit-Protokollierung verwenden, aber jede Blockierungsentscheidung wird ignoriert. Dies stellt sicher, dass von Unternehmen verwaltete Einstellungen immer wirksam werden.2988`policy_settings`-Änderungen können nicht blockiert werden. Hooks werden immer noch für `policy_settings`-Quellen ausgelöst, wenn sich eine verwaltete Einstellungsdatei auf der Maschine ändert, daher können Sie sie für Audit-Protokollierung verwenden, aber jede Blockierungsentscheidung wird ignoriert. Dies stellt sicher, dass von Unternehmen verwaltete Einstellungen immer wirksam werden. Claude Code führt `ConfigChange`-Hooks nicht aus, wenn [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) ankommen oder aktualisiert werden.

2989 

2990Claude Code handelt auf die Blockierungsentscheidung aus der JSON-Ausgabe eines ConfigChange-Hooks und verwirft `systemMessage` und `continue`. Eine blockierte Änderung zeigt keine Nachricht für Sie oder Claude, ob Sie mit `reason` oder mit stderr bei Beendigung mit 2 blockieren. Claude Code schreibt nur eine Zeile in das Debug-Protokoll.

2572 2991 

2573<h3 id="cwdchanged">2992<h3 id="cwdchanged">

2574 CwdChanged2993 CwdChanged

2575</h3>2994</h3>

2576 2995 

2577Wird ausgeführt, wenn das Arbeitsverzeichnis während einer Sitzung wechselt, zum Beispiel wenn Claude einen `cd`-Befehl ausführt. Verwenden Sie dies, um auf Verzeichniswechsel zu reagieren: Laden Sie Umgebungsvariablen neu, aktivieren Sie projektspezifische Toolchains oder führen Sie Setup-Skripte automatisch aus. Paare mit [FileChanged](#filechanged) für Tools wie [direnv](https://direnv.net/), die verzeichnisspezifische Umgebungen verwalten.2996Wird ausgeführt, wenn ein Shell-Befehl in der Hauptkonversation das Arbeitsverzeichnis ändert, zum Beispiel wenn Claude einen `cd`-Befehl ausführt. Verwenden Sie dies, um auf Verzeichniswechsel zu reagieren: Laden Sie Umgebungsvariablen neu, aktivieren Sie projektspezifische Toolchains oder führen Sie Setup-Skripte automatisch aus. Paare mit [FileChanged](#filechanged) für Tools wie [direnv](https://direnv.net/), die verzeichnisspezifische Umgebungen verwalten.

2578 2997 

2579CwdChanged-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen für die Sitzung erhalten, genau wie in [SessionStart-Hooks](#persist-environment-variables).2998CwdChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen bis zum nächsten CwdChanged-Ereignis erhalten, wenn Claude Code sie löscht.

2580 2999 

2581CwdChanged unterstützt keine Matcher und wird bei jedem Verzeichniswechsel ausgelöst.3000CwdChanged unterstützt keine Matcher und wird bei jedem Auftreten ausgelöst.

2582 3001 

2583<h4 id="cwdchanged-input">3002<h4 id="cwdchanged-input">

2584 CwdChanged-Eingabe3003 CwdChanged-Eingabe


2609 3028 

2610CwdChanged-Hooks haben keine Entscheidungskontrolle. Sie können den Verzeichniswechsel nicht blockieren.3029CwdChanged-Hooks haben keine Entscheidungskontrolle. Sie können den Verzeichniswechsel nicht blockieren.

2611 3030 

3031Claude Code liest `watchPaths` und `systemMessage` aus ihrer JSON-Ausgabe und verwirft `continue`. In interaktiven Sitzungen zeigt es die `systemMessage` als kurze Terminal-Benachrichtigung. Die Nachricht erreicht nicht den SDK-Nachrichtenstrom.

3032 

3033<h3 id="directoryadded">

3034 DirectoryAdded

3035</h3>

3036 

3037Wird ausgeführt, nachdem Sie ein Arbeitsverzeichnis während einer Sitzung mit dem `/add-dir`-Befehl hinzufügen oder nachdem ein SDK-Client eines mit der `register_repo_root`-Steueranfrage hinzufügt. Verwenden Sie dies, um ein neu hinzugefügtes Repository vorzubereiten, zum Beispiel durch Installation seiner Abhängigkeiten.

3038 

3039Claude Code führt dieses Ereignis nicht aus, wenn:

3040 

3041* Sie ein Verzeichnis mit dem `--add-dir`-Startup-Flag übergeben; [SessionStart](#sessionstart) deckt diese Verzeichnisse ab

3042* Sie ein Verzeichnis auf der `/permissions`-Workspace-Registerkarte hinzufügen

3043* Sie ein Verzeichnis hinzufügen, das bereits ein Arbeitsverzeichnis ist oder sich in einem befindet

3044 

3045Claude Code führt DirectoryAdded aus, nachdem die Sandbox- und Berechtigungsstatus aktualisiert wurden, daher sehen Sandbox-Tools das neue Verzeichnis bereits, wenn Ihr Hook läuft. Hook-Befehle selbst laufen unsandboxed.

3046 

3047Claude Code wartet nicht auf den Hook: Das Hinzufügen wird sofort abgeschlossen und der Hook läuft im Hintergrund mit dem 600-Sekunden-Standard-Timeout.

3048 

3049Der Matcher filtert auf wie das Verzeichnis hinzugefügt wurde:

3050 

3051| Matcher | Wann es ausgelöst wird |

3052| :------------------- | :----------------------------------------------------------------------------------- |

3053| `slash_command` | Sie fügen ein Verzeichnis mit `/add-dir` hinzu |

3054| `register_repo_root` | Ein SDK-Client fügt ein Verzeichnis mit der `register_repo_root`-Steueranfrage hinzu |

3055 

3056<h4 id="directoryadded-input">

3057 DirectoryAdded-Eingabe

3058</h4>

3059 

3060Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten DirectoryAdded-Hooks `directory` und `source`.

3061 

3062| Feld | Beschreibung |

3063| :---------- | :---------------------------------------------------------------------------------------------------------------------------- |

3064| `directory` | Absoluter Pfad des Verzeichnisses, das hinzugefügt wurde |

3065| `source` | Wie das Verzeichnis hinzugefügt wurde, `"slash_command"` für `/add-dir` oder `"register_repo_root"` für die SDK-Steueranfrage |

3066 

3067```json theme={null}

3068{

3069 "session_id": "abc123",

3070 "transcript_path": "/Users/.../.claude/projects/.../transcript.jsonl",

3071 "cwd": "/Users/my-project",

3072 "hook_event_name": "DirectoryAdded",

3073 "directory": "/Users/my-other-repo",

3074 "source": "slash_command"

3075}

3076```

3077 

3078DirectoryAdded-Hooks haben keine Entscheidungskontrolle. Sie können das Hinzufügen nicht blockieren, das bereits abgeschlossen ist, wenn der Hook läuft. Claude Code verwirft das `continue`-Feld aus ihrer JSON-Ausgabe und zeigt den Rest je nach Quelle unterschiedlich an:

3079 

3080* `slash_command`: Claude Code liefert die `systemMessage` des Hooks an Claude als Kontext bei der nächsten Konversationsrunde, statt sie Ihnen zu zeigen. Eine Anzahl fehlgeschlagener Hooks erscheint im Transkript. Vollständige Fehlerausgabe geht in das Debug-Protokoll

3081* `register_repo_root`: Claude Code schreibt `systemMessage`-Ausgabe und Fehlerausgabe nur in das Debug-Protokoll

3082 

2612<h3 id="filechanged">3083<h3 id="filechanged">

2613 FileChanged3084 FileChanged

2614</h3>3085</h3>

2615 3086 

2616Wird ausgeführt, wenn sich eine überwachte Datei auf der Festplatte ändert. Nützlich zum Neuladen von Umgebungsvariablen, wenn Projekt-Konfigurationsdateien geändert werden.3087Wird ausgeführt, wenn sich eine überwachte Datei auf der Festplatte ändert. Claude Code erkennt Änderungen mit einem Dateisystem-Watcher, nicht durch Inspizieren von Tool-Aufrufen, daher wird der Hook ausgelöst, egal was die Datei geändert hat: ein `Edit`- oder `Write`-Tool-Aufruf, ein Skript, das Claude mit `Bash` ausführt, oder ein Prozess außerhalb von Claude Code. Ein häufiger Anwendungsfall ist das Neuladen von Umgebungsvariablen, wenn sich Projekt-Konfigurationsdateien ändern.

2617 3088 

2618Das Feld `matcher` für dieses Ereignis dient zwei Zwecken:3089Das Feld `matcher` für dieses Ereignis dient zwei Rollen:

2619 3090 

2620* **Erstellen Sie die Überwachungsliste**: Der Wert wird auf `|` aufgeteilt und jedes Segment wird als Dateiname im Arbeitsverzeichnis registriert, daher überwacht `".envrc|.env"` genau diese zwei Dateien. Regex-Muster sind hier nicht nützlich: Ein Wert wie `^\.env` würde eine Datei überwachen, die buchstäblich `^\.env` heißt.3091* **Erstellen Sie die Überwachungsliste**: Der Wert wird auf `|` aufgeteilt und jedes Segment wird als Dateiname im Arbeitsverzeichnis registriert, daher überwacht `".envrc|.env"` genau diese zwei Dateien. Regex-Muster sind hier nicht nützlich: Ein Wert wie `^\.env` würde eine Datei überwachen, die buchstäblich `^\.env` heißt.

2621* **Filtern Sie, welche Hooks ausgeführt werden**: Wenn sich eine überwachte Datei ändert, wird der gleiche Wert verwendet, um zu filtern, welche Hook-Gruppen ausgeführt werden, wobei die Standard-[Matcher-Regeln](#matcher-patterns) gegen den Basename der geänderten Datei verwendet werden.3092* **Filtern Sie, welche Hooks ausgeführt werden**: Wenn sich eine überwachte Datei ändert, wird der gleiche Wert verwendet, um zu filtern, welche Hook-Gruppen ausgeführt werden, wobei die Standard-[Matcher-Regeln](#matcher-patterns) gegen den Basename der geänderten Datei verwendet werden.

2622 3093 

2623FileChanged-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen für die Sitzung erhalten, genau wie in [SessionStart-Hooks](#persist-environment-variables).3094Dieses Beispiel normalisiert Zeilenumbrüche in `data.csv` nach jeder Änderung, einschließlich eines `Bash`-Befehls oder eines externen Skripts, das die Datei umschreibt:

3095 

3096```json theme={null}

3097{

3098 "hooks": {

3099 "FileChanged": [

3100 {

3101 "matcher": "data.csv",

3102 "hooks": [

3103 {

3104 "type": "command",

3105 "command": "/path/to/normalize-line-endings.sh"

3106 }

3107 ]

3108 }

3109 ]

3110 }

3111}

3112```

3113 

3114Der Hook liest den Pfad der geänderten Datei aus dem Feld `file_path` der [JSON-Eingabe](#filechanged-input) auf stdin. Sein `grep`-Guard testet auf das gleiche, das `perl` entfernt, einen CR am Ende einer Zeile, daher beendet der Lauf nach einer Normalisierung, ohne die Datei zu berühren. Ein lockerer Guard schleift für immer, weil `perl -i` die Datei umschreibt, auch wenn es nichts ersetzt, und Claude Code führt den Hook nach jedem Umschreiben erneut aus. Speichern Sie dieses Skript unter `/path/to/normalize-line-endings.sh` und machen Sie es ausführbar:

3115 

3116```bash theme={null}

3117#!/bin/bash

3118FILE=$(jq -r .file_path)

3119if grep -q $'\r$' "$FILE"; then

3120 perl -pi -e 's/\r$//' "$FILE"

3121fi

3122```

3123 

3124Um zu bestätigen, dass der Hook funktioniert, bitten Sie Claude, eine CRLF-Zeile zu `data.csv` mit einem `Bash`-Befehl anzuhängen. Claude Code führt den Hook aus und die Datei endet mit LF-Umbrüchen.

3125 

3126Um Dateien zu überwachen, die Sie nicht im Voraus benennen können, geben Sie [`watchPaths`](#filechanged-output) von einem Hook zurück, um die Überwachungsliste dynamisch zu aktualisieren. Claude Code startet den Watcher nur, wenn etwas eine Datei zum Überwachen benennt, daher seeden Sie die Liste mit einer FileChanged-Gruppe, deren Matcher mindestens eine Datei benennt, oder mit einem [SessionStart](#sessionstart-decision-control)- oder [CwdChanged](#cwdchanged)-Hook, der `watchPaths` zurückgibt. Der Matcher filtert immer noch, welche Hook-Gruppen ausgelöst werden, wenn sich eine überwachte Datei ändert, daher geben Sie der Gruppe, die dynamische Pfade handhabt, einen weggelassenen Matcher, der jede überwachte Datei passt und nichts zur Überwachungsliste hinzufügt. Ein `"*"`-Matcher passt auch auf jede Datei, aber Claude Code registriert ihn in der Überwachungsliste wie jeden anderen Wert, als eine Datei, die buchstäblich `*` heißt.

3127 

3128FileChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variablen, die in diese Datei geschrieben werden, bleiben in nachfolgenden Bash-Befehlen bis zum nächsten [CwdChanged](#cwdchanged)-Ereignis erhalten, wenn Claude Code sie löscht.

2624 3129 

2625<h4 id="filechanged-input">3130<h4 id="filechanged-input">

2626 FileChanged-Eingabe3131 FileChanged-Eingabe


2656 3161 

2657FileChanged-Hooks haben keine Entscheidungskontrolle. Sie können die Dateiänderung nicht blockieren.3162FileChanged-Hooks haben keine Entscheidungskontrolle. Sie können die Dateiänderung nicht blockieren.

2658 3163 

3164Claude Code liest `watchPaths` und `systemMessage` aus ihrer JSON-Ausgabe und verwirft `continue`. In interaktiven Sitzungen zeigt es die `systemMessage` als kurze Terminal-Benachrichtigung. Die Nachricht erreicht nicht den SDK-Nachrichtenstrom.

3165 

2659<h3 id="worktreecreate">3166<h3 id="worktreecreate">

2660 WorktreeCreate3167 WorktreeCreate

2661</h3>3168</h3>

2662 3169 

2663Wird ausgeführt, wenn ein Worktree erstellt wird, entweder von `claude --worktree` oder von einem [Subagent mit `isolation: "worktree"`](/docs/de/sub-agents#choose-the-subagent-scope). Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Wenn Sie einen WorktreeCreate-Hook konfigurieren, ersetzt er das Standard-Git-Verhalten und ermöglicht es Ihnen, ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial zu verwenden.3170Wird ausgeführt, wenn ein Worktree erstellt wird, entweder von `claude --worktree`, von einem [Subagent mit `isolation: "worktree"`](/docs/de/sub-agents#choose-the-subagent-scope) oder für eine [Hintergrund-Sitzung](/docs/de/agent-view#how-file-edits-are-isolated), die Claude Code in ihrem eigenen Worktree isoliert. Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Wenn Sie einen WorktreeCreate-Hook konfigurieren, ersetzt er das Standard-Git-Verhalten und ermöglicht es Ihnen, ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial zu verwenden.

2664 3171 

2665Da der Hook das Standard-Verhalten vollständig ersetzt, wird [`.worktreeinclude`](/docs/de/worktrees#copy-gitignored-files-into-worktrees) nicht verarbeitet. Wenn Sie lokale Konfigurationsdateien wie `.env` in den neuen Worktree kopieren müssen, tun Sie dies in Ihrem Hook-Skript.3172Da der Hook das Standard-Verhalten vollständig ersetzt, wird [`.worktreeinclude`](/docs/de/worktrees#copy-gitignored-files-into-worktrees) nicht verarbeitet. Wenn Sie lokale Konfigurationsdateien wie `.env` in den neuen Worktree kopieren müssen, tun Sie dies in Ihrem Hook-Skript.

2666 3173 

2667Der Hook muss den absoluten Pfad zum erstellten Worktree-Verzeichnis zurückgeben. Claude Code verwendet diesen Pfad als Arbeitsverzeichnis für die isolierte Sitzung. Siehe [WorktreeCreate-Ausgabe](#worktreecreate-output) für wie jeder Hook-Typ den Pfad zurückgibt.3174Der Hook muss den Pfad zum erstellten Worktree-Verzeichnis zurückgeben. Claude Code verwendet diesen Pfad als Arbeitsverzeichnis für die isolierte Sitzung. Siehe [WorktreeCreate-Ausgabe](#worktreecreate-output) für wie jeder Hook-Typ den Pfad zurückgibt.

3175 

3176Claude Code handelt auf den Erfolg des Hooks und den zurückgegebenen Pfad und verwirft `systemMessage` und `continue`.

2668 3177 

2669Dieses Beispiel erstellt eine SVN-Arbeitskopie und gibt den Pfad aus, damit Claude Code ihn verwenden kann. Ersetzen Sie die Repository-URL durch Ihre eigene:3178Dieses Beispiel erstellt eine SVN-Arbeitskopie und gibt den Pfad aus, damit Claude Code ihn verwenden kann. Ersetzen Sie die Repository-URL durch Ihre eigene:

2670 3179 


2714 3223 

2715Wenn der Hook fehlschlägt oder keinen Pfad erzeugt, schlägt die Worktree-Erstellung mit einem Fehler fehl.3224Wenn der Hook fehlschlägt oder keinen Pfad erzeugt, schlägt die Worktree-Erstellung mit einem Fehler fehl.

2716 3225 

2717Claude Code löst einen relativen Pfad gegen das Verzeichnis auf, in dem der Hook ausgeführt wurde. Wenn der resultierende Pfad kein Verzeichnis ist, das Claude Code betreten kann, druckt die Sitzung einen Fehler, der den Pfad benennt, und beendet sich mit Code 1. Vor v2.1.205 stürzte ein relativer Pfad oder ein Pfad, der nicht auf der Festplatte existierte, die Sitzung beim Start ab, und mit `-p` stagnierte es etwa 30 Sekunden, bevor es mit Code 0 beendet wurde.3226Claude Code löst einen relativen Pfad gegen das Verzeichnis auf, in dem der Hook ausgeführt wurde, und bricht alle `.` oder `..`-Segmente zusammen. Wenn der resultierende Pfad kein Verzeichnis ist, das Claude Code betreten kann, druckt die Sitzung einen Fehler, der den Pfad benennt, und beendet sich mit Code 1.

3227 

3228Claude Code verweigert einen absoluten Pfad, der `.` oder `..`-Segmente enthält, und jeden Pfad, der durch einen Symlink unterhalb der Repository-Root geht, da ein Symlink, der zum Repository committed ist, den Worktree außerhalb davon umleiten könnte. Der Fehler benennt die abgelehnte Komponente. Geben Sie einen normalisierten Pfad zurück, der nicht durch einen Symlink innerhalb des Repository geht. Vor v2.1.216 folgte die Worktree-Erstellung dem Hook-Pfad ohne dieses Screening.

2718 3229 

2719<h3 id="worktreeremove">3230<h3 id="worktreeremove">

2720 WorktreeRemove3231 WorktreeRemove

2721</h3>3232</h3>

2722 3233 

2723Wird ausgeführt, wenn ein Worktree entfernt wird, entweder wenn Sie eine `--worktree`-Sitzung beenden und wählen, sie zu entfernen, oder wenn ein Subagent mit `isolation: "worktree"` fertig ist. Dies ist das Bereinigungspendant zu [WorktreeCreate](#worktreecreate).3234Wird ausgeführt, wenn ein Worktree entfernt wird. Dies ist das Bereinigungspendant zu [WorktreeCreate](#worktreecreate). Das Ereignis wird ausgelöst, wenn:

3235 

3236* Sie eine `--worktree`-Sitzung beenden und wählen, sie zu entfernen

3237* Ein Subagent mit `isolation: "worktree"` fertig ist

3238* Sie eine [Hintergrund-Sitzung](/docs/de/agent-view#what-deleting-a-session-removes) löschen, deren Worktree der Hook erstellt hat

2724 3239 

2725Für Git-basierte Worktrees handhabt Claude Code die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook für ein nicht-Git-Versionskontrollsystem konfiguriert haben, koppeln Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung zu handhaben. Ohne einen wird das Worktree-Verzeichnis auf der Festplatte belassen.3240Für Git-basierte Worktrees handhabt Claude Code die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook für ein nicht-Git-Versionskontrollsystem konfiguriert haben, koppeln Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung zu handhaben. Ohne einen wird das Worktree-Verzeichnis auf der Festplatte belassen.

2726 3241 

3242Claude Code verwirft die [JSON-Ausgabefelder](#json-output) eines WorktreeRemove-Hooks, wie `systemMessage` und `continue`.

3243 

3244Für einen Hintergrund-Sitzungs-Delete überprüft Claude Code den gespeicherten Worktree-Pfad, bevor der Hook ausgelöst wird, und verweigert einen Pfad, der ein Symlink ist oder durch einen unterhalb der Repository-Root geht. Der Hook wird für einen Worktree ausgelöst, der immer noch Dateien enthält, nur wenn Sie den Delete in [Agent-Ansicht](/docs/de/agent-view#what-deleting-a-session-removes) bestätigen; für einen solchen Worktree behält [`claude rm`](/docs/de/agent-view#manage-sessions-from-the-shell) die Sitzung und den Worktree statt. Vor v2.1.216 wurde der Hook auf dem gespeicherten Pfad ohne diese Überprüfungen ausgelöst.

3245 

2727Claude Code übergibt den Pfad, den WorktreeCreate zurückgegeben hat, als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:3246Claude Code übergibt den Pfad, den WorktreeCreate zurückgegeben hat, als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:

2728 3247 

2729```json theme={null}3248```json theme={null}


2759}3278}

2760```3279```

2761 3280 

2762WorktreeRemove-Hooks haben keine Entscheidungskontrolle. Sie können die Worktree-Entfernung nicht blockieren, können aber Bereinigungsaufgaben wie das Entfernen von Versionskontrollstatus oder das Archivieren von Änderungen durchführen. Hook-Fehler werden nur im Debug-Modus protokolliert.3281Ein WorktreeRemove-Hook-Exit-Code entscheidet das Ergebnis. Wenn ein Hook mit Nicht-Null beendet wird und das Verzeichnis unter `worktree_path` immer noch danach existiert, schlägt die Entfernung fehl:

3282 

3283* Der Worktree bleibt auf der Festplatte, und der Hook-Befehl und stderr gehen in das [Debug-Protokoll](#debug-hooks).

3284* Wenn Sie eine Hintergrund-Sitzung löschen, bleibt die Sitzung auch. Die Verweigerungsmeldung in [Agent-Ansicht](/docs/de/agent-view#what-deleting-a-session-removes) meldet, wie der Hook endete, wie `exited 1`, zitiert den Anfang seines stderr und sagt, ob das Löschen der Sitzung erneut das Verzeichnis entfernt.

2763 3285 

2764<h3 id="precompact">3286<h3 id="precompact">

2765 PreCompact3287 PreCompact


2770Der Matcher-Wert gibt an, ob die Komprimierung manuell oder automatisch ausgelöst wurde:3292Der Matcher-Wert gibt an, ob die Komprimierung manuell oder automatisch ausgelöst wurde:

2771 3293 

2772| Matcher | Wann es ausgelöst wird |3294| Matcher | Wann es ausgelöst wird |

2773| :------- | :--------------------------------------------------- |3295| :------- | :---------------------------------------------------------------------------------------------------------------------- |

2774| `manual` | `/compact` |3296| `manual` | `/compact` |

2775| `auto` | Auto-Komprimierung, wenn das Kontextfenster voll ist |3297| `auto` | Auto-Komprimierung, wenn das Gespräch das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) erreicht |

2776 3298 

2777Exit mit Code 2, um die Komprimierung zu blockieren. Für ein manuelles `/compact` wird die stderr-Nachricht dem Benutzer angezeigt. Sie können auch blockieren, indem Sie JSON mit `"decision": "block"` zurückgeben.3299Exit mit Code 2, um die Komprimierung zu blockieren. Für ein manuelles `/compact` wird die stderr-Nachricht dem Benutzer angezeigt. Sie können auch blockieren, indem Sie JSON mit `"decision": "block"` zurückgeben.

2778 3300 

2779Das Blockieren der automatischen Komprimierung hat unterschiedliche Auswirkungen, je nachdem, wann es ausgelöst wird. Wenn die Komprimierung proaktiv ausgelöst wurde, bevor das Kontextlimit erreicht wurde, überspringt Claude Code sie und das Gespräch wird unkomprimiert fortgesetzt. Wenn die Komprimierung ausgelöst wurde, um sich von einem Kontextlimit-Fehler zu erholen, der bereits von der API zurückgegeben wurde, wird der zugrunde liegende Fehler angezeigt und die aktuelle Anfrage schlägt fehl.3301Das Blockieren der automatischen Komprimierung hat unterschiedliche Auswirkungen, je nachdem, wann es ausgelöst wird. Wenn die Komprimierung proaktiv ausgelöst wurde, bevor das Kontextlimit erreicht wurde, überspringt Claude Code sie und das Gespräch wird unkomprimiert fortgesetzt. Wenn die Komprimierung ausgelöst wurde, um sich von einem Kontextlimit-Fehler zu erholen, der bereits von der API zurückgegeben wurde, wird der zugrunde liegende Fehler angezeigt und die aktuelle Anfrage schlägt fehl.

2780 3302 

3303Claude Code verwirft die `systemMessage` und `continue`-Felder eines PreCompact-Hooks.

3304 

2781<h4 id="precompact-input">3305<h4 id="precompact-input">

2782 PreCompact-Eingabe3306 PreCompact-Eingabe

2783</h4>3307</h4>

2784 3308 

2785Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreCompact-Hooks `trigger` und `custom_instructions`. Für `manual` enthält `custom_instructions` das, was der Benutzer in `/compact` übergibt. Für `auto` ist `custom_instructions` leer.3309Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreCompact-Hooks `trigger` und `custom_instructions`. Für `manual` enthält `custom_instructions` das, was der Benutzer in `/compact` übergibt und ist `null`, wenn sie nichts übergeben. Für `auto` ist `custom_instructions` `null`.

2786 3310 

2787```json theme={null}3311```json theme={null}

2788{3312{


2791 "cwd": "/Users/...",3315 "cwd": "/Users/...",

2792 "hook_event_name": "PreCompact",3316 "hook_event_name": "PreCompact",

2793 "trigger": "manual",3317 "trigger": "manual",

2794 "custom_instructions": ""3318 "custom_instructions": null

2795}3319}

2796```3320```

2797 3321 


2799 PostCompact3323 PostCompact

2800</h3>3324</h3>

2801 3325 

2802Wird ausgeführt, nachdem Claude Code einen Komprimierungsvorgang abgeschlossen hat. Verwenden Sie dieses Ereignis, um auf den neuen komprimierten Zustand zu reagieren, zum Beispiel um die generierte Zusammenfassung zu protokollieren oder den externen Zustand zu aktualisieren.3326Wird ausgeführt, nachdem Claude Code einen Komprimierungsvorgang abgeschlossen hat. Verwenden Sie dieses Ereignis, um auf den neuen komprimierten Zustand zu reagieren, zum Beispiel um die generierte Zusammenfassung zu protokollieren oder den externen Zustand zu aktualisieren. Claude Code verwirft die `systemMessage` und `continue`-Felder eines PostCompact-Hooks.

2803 3327 

2804Die gleichen Matcher-Werte gelten wie für `PreCompact`:3328Die gleichen Matcher-Werte gelten wie für `PreCompact`:

2805 3329 

2806| Matcher | Wann es ausgelöst wird |3330| Matcher | Wann es ausgelöst wird |

2807| :------- | :-------------------------------------------------------- |3331| :------- | :--------------------------------------------------------------------------------------------------------------------------- |

2808| `manual` | Nach `/compact` |3332| `manual` | Nach `/compact` |

2809| `auto` | Nach Auto-Komprimierung, wenn das Kontextfenster voll ist |3333| `auto` | Nach Auto-Komprimierung, wenn das Gespräch das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) erreicht |

2810 3334 

2811<h4 id="postcompact-input">3335<h4 id="postcompact-input">

2812 PostCompact-Eingabe3336 PostCompact-Eingabe


2827 3351 

2828PostCompact-Hooks haben keine Entscheidungskontrolle. Sie können das Komprimierungsergebnis nicht beeinflussen, können aber Folgaufgaben durchführen.3352PostCompact-Hooks haben keine Entscheidungskontrolle. Sie können das Komprimierungsergebnis nicht beeinflussen, können aber Folgaufgaben durchführen.

2829 3353 

3354<h3 id="premodelswitch">

3355 PreModelSwitch

3356</h3>

3357 

3358Wird ausgeführt, bevor Claude Code einen Modellwechsel anwendet, den Sie oder ein Client angefordert haben. Verwenden Sie ihn, um einen Wechsel zu blockieren, eine Bestätigung zu erfordern oder zu zeigen, was der Wechsel kostet, bevor er passiert.

3359 

3360PreModelSwitch erfordert Claude Code v2.1.251 oder später. Claude Code führt ihn für diese Anfragen aus:

3361 

3362* `/model <name>` und der `/model`-Picker

3363* Der `Option+P`- oder `Alt+P`-Modell-Picker

3364* Die Modell-Einstellung in `/config`

3365* Das Einschalten des [Fast-Modus](/docs/de/fast-mode), wenn das das Modell der Sitzung ändert

3366* Eine `set_model`-Anfrage oder eine Modell-Änderung in einer `apply_flag_settings`-Anfrage von einem [Agent SDK](/docs/de/agent-sdk/typescript#query-object)-Host oder [Remote Control](/docs/de/remote-control)

3367 

3368Claude Code führt PreModelSwitch-Hooks nicht für Wechsel aus, die es selbst macht, wie ein [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) oder das Wiederherstellen des Modells, wenn Sie eine Sitzung fortsetzen. Diese Änderungen erreichen nur [PostModelSwitch](#postmodelswitch).

3369 

3370Claude Code vergleicht den Matcher gegen den kanonischen Namen des Modells, zu dem die Sitzung wechselt, und ignoriert jeden `[1m]`-Suffix. Ein Alias wie `opus`, eine datierte Modell-ID und eine Provider-spezifische ID wie eine Amazon Bedrock-Modell-ID passen alle auf den einen kanonischen Namen, zu dem sie sich auflösen, daher deckt `claude-opus-5` jede Schreibweise von Opus 5 ab.

3371 

3372Wenn Claude Code einen kanonischen Namen für das Ziel nicht bestimmen kann, zum Beispiel eine benutzerdefinierte Modell-ID, die nur Ihr [LLM-Gateway](/docs/de/llm-gateway) kennt, führt es jeden PreModelSwitch-Hook aus, unabhängig vom Matcher. Ein Hook, der blockiert, sollte daher `to_model` aus seiner Eingabe überprüfen, statt sich allein auf den Matcher zu verlassen.

3373 

3374Schreiben Sie den Matcher als genauen Namen, eine `|`-getrennte Liste wie `claude-opus-4-6|claude-opus-5` oder einen regulären Ausdruck wie `.*opus.*`. Dieses Beispiel verwendet einen genauen Namen-Matcher und überprüft auch `to_model` aus der Hook-Eingabe, daher verweigert es einen Wechsel zu Opus 4.6 durch Beendigung mit Code 2 und lässt jedes andere Ziel durch:

3375 

3376<Tabs>

3377 <Tab title="macOS/Linux">

3378 Der Befehl überprüft `to_model` mit `jq`:

3379 

3380 ```json theme={null}

3381 {

3382 "hooks": {

3383 "PreModelSwitch": [

3384 {

3385 "matcher": "claude-opus-4-6",

3386 "hooks": [

3387 {

3388 "type": "command",

3389 "command": "jq -e '.to_model | test(\"opus-4-6\")' > /dev/null && { echo 'Opus 4.6 is retired for this project. Use a newer model.' >&2; exit 2; }; exit 0"

3390 }

3391 ]

3392 }

3393 ]

3394 }

3395 }

3396 ```

3397 </Tab>

3398 

3399 <Tab title="Windows (PowerShell)">

3400 Registrieren Sie einen Command-Hook, der ein Skript durch PowerShell ausführt:

3401 

3402 ```json theme={null}

3403 {

3404 "hooks": {

3405 "PreModelSwitch": [

3406 {

3407 "matcher": "claude-opus-4-6",

3408 "hooks": [

3409 {

3410 "type": "command",

3411 "command": "powershell.exe",

3412 "args": [

3413 "-NoProfile",

3414 "-ExecutionPolicy",

3415 "Bypass",

3416 "-File",

3417 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-opus-46.ps1"

3418 ]

3419 }

3420 ]

3421 }

3422 ]

3423 }

3424 }

3425 ```

3426 

3427 Speichern Sie dieses Skript unter `.claude/hooks/block-opus-46.ps1` in Ihrem Projekt:

3428 

3429 ```powershell theme={null}

3430 $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

3431 if ($hookInput.to_model -match 'opus-4-6') {

3432 [Console]::Error.WriteLine('Opus 4.6 is retired for this project. Use a newer model.')

3433 exit 2

3434 }

3435 exit 0

3436 ```

3437 </Tab>

3438</Tabs>

3439 

3440Um zu bestätigen, dass der Hook funktioniert, führen Sie `/model claude-opus-4-6` aus einer Sitzung aus, die ein anderes Modell ausführt. Claude Code behält das aktuelle Modell und meldet, dass ein PreModelSwitch-Hook den Wechsel blockiert hat, mit Ihrer Nachricht als Grund.

3441 

3442<h4 id="premodelswitch-input">

3443 PreModelSwitch-Eingabe

3444</h4>

3445 

3446Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreModelSwitch-Hooks die Felder in dieser Tabelle. Die letzten fünf beschreiben, was das Erneut-Senden des Gesprächs zum neuen Modell kostet, daher kann ein Hook diese Zahl zeigen, bevor der Wechsel passiert.

3447 

3448| Feld | Typ | Beschreibung |

3449| :-------------------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3450| `from_model` | Zeichenkette | Modell-ID, zu der der Wechsel ändert |

3451| `to_model` | Zeichenkette | Modell-ID, zu der der Wechsel ändert. Der Matcher vergleicht gegen den kanonischen Namen dieses Modells |

3452| `requested_model` | Zeichenkette oder `null` | Das Modell, das die Anfrage benannt hat: ein Alias wie `opus`, eine vollständige Modell-ID oder `null`, wenn die Anfrage für das Standard-Modell war |

3453| `source` | Zeichenkette | Woher die Anfrage kam: `"command"` für `/model <name>`, die Modell-Einstellung in `/config` oder das Einschalten des Fast-Modus; `"picker"` für einen Modell-Picker; `"sdk"` für eine `set_model`-Anfrage oder eine Modell-Änderung in einer `apply_flag_settings`-Anfrage von einem Agent SDK-Host oder Remote Control |

3454| `context_tokens` | Zahl | Tokens, die die nächste Anfrage als ihren Prompt erneut sendet: die Input-, Cache-Read-, Cache-Creation- und Output-Tokens der letzten Antwort in der Hauptkonversation, kombiniert. `0` vor der ersten Antwort |

3455| `prompt_cache_warm` | Boolesch | Ob der Prompt-Cache des aktuellen Modells wahrscheinlich noch warm ist, was bedeutet, dass der Wechsel ihn aufgibt |

3456| `cache_ttl` | Zeichenkette | [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime), die Claude Code für diese Sitzung anfordert: `"5m"` oder `"1h"` |

3457| `estimated_cache_write_usd` | Zahl | Geschätzte Kosten in US-Dollar zum Schreiben von `context_tokens` in den Prompt-Cache auf `to_model` bei der `cache_ttl`-Rate, ohne die nächste Antwort. Der Server muss möglicherweise nicht den ganzen Kontext erneut zwischenspeichern, daher behandeln Sie es als Schätzung |

3458| `pricing` | Zeichenkette | Wie Claude Code `estimated_cache_write_usd` bepreist: `"configured"` bei Ihren Organisations-eigenen Sätzen, wenn sie konfiguriert hat, `"catalog"` bei Listenpreis oder `"default"`, wenn `to_model` keinen bekannten Preis hat und Claude Code einen Standard-Satz annahm |

3459 

3460Dieses Beispiel zeigt die Eingabe für `/model opus` in einer Sitzung, die Sonnet 5 ausführt:

3461 

3462```json theme={null}

3463{

3464 "session_id": "abc123",

3465 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

3466 "cwd": "/Users/...",

3467 "hook_event_name": "PreModelSwitch",

3468 "from_model": "claude-sonnet-5",

3469 "to_model": "claude-opus-5",

3470 "requested_model": "opus",

3471 "source": "command",

3472 "context_tokens": 182340,

3473 "prompt_cache_warm": true,

3474 "cache_ttl": "5m",

3475 "estimated_cache_write_usd": 1.1396,

3476 "pricing": "catalog"

3477}

3478```

3479 

3480<h4 id="premodelswitch-decision-control">

3481 PreModelSwitch-Entscheidungskontrolle

3482</h4>

3483 

3484`PreModelSwitch`-Hooks können den Wechsel abbrechen, den Benutzer zur Bestätigung auffordern oder ihn fortgesetzt lassen. Exit-Code 2 oder ein Top-Level-`decision: "block"` bricht den Wechsel ab.

3485 

3486Für feinere Kontrolle geben Sie `permissionDecision` und `permissionDecisionReason` in einem `hookSpecificOutput`-Objekt zurück, wie auf [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` akzeptiert `"allow"`, `"deny"` und `"ask"`. Es akzeptiert nicht `"defer"`, `updatedInput` oder `additionalContext`. Die Tabelle unten beschreibt beide Felder:

3487 

3488| Feld | Beschreibung |

3489| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3490| `permissionDecision` | `"allow"` wird fortgesetzt und überspringt die [Bestätigung, die Claude Code zeigt, während der Prompt-Cache warm ist](/docs/de/prompt-caching#switching-models). `"deny"` bricht den Wechsel ab. `"ask"` fordert den Benutzer zur Bestätigung auf |

3491| `permissionDecisionReason` | Für `"deny"`, dem Benutzer als Grund angezeigt, warum der Wechsel blockiert wurde, oder als Fehler für eine `set_model`-Anfrage zurückgegeben. Für `"ask"`, im Bestätigungsprompt angezeigt. Ignoriert für `"allow"` |

3492 

3493Nur `/model` in einer interaktiven Sitzung kann den `"ask"`-Prompt zeigen. Auf jeder anderen Oberfläche, einschließlich nicht-interaktivem Modus mit dem `-p`-Flag, `/config` und `set_model`-Anfragen, behandelt Claude Code `"ask"` als Verweigerung.

3494 

3495Dieses Beispiel fordert den Benutzer zur Bestätigung auf und zitiert die Token-Anzahl aus `context_tokens`:

3496 

3497```json theme={null}

3498{

3499 "hookSpecificOutput": {

3500 "hookEventName": "PreModelSwitch",

3501 "permissionDecision": "ask",

3502 "permissionDecisionReason": "Switching now re-sends about 180k tokens to the new model. Continue?"

3503 }

3504}

3505```

3506 

3507Wenn mehrere PreModelSwitch-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `ask` > `allow`.

3508 

3509Claude Code zeigt jede `systemMessage`, die Ihr Hook zurückgibt, unabhängig von der Entscheidung, daher kann ein Kosten-Bericht-Hook `{"systemMessage": "..."}` zurückgeben und mit 0 beenden.

3510 

3511Ein PreModelSwitch-Hook, der nicht vor seinem Timeout antwortet, blockiert den Wechsel. Auf [PreToolUse](#timeouts) lässt ein Timeout-Command-Hook den Tool-Aufruf im Gegensatz dazu fortgesetzt. Das Standard-Timeout für dieses Ereignis beträgt 30 Sekunden. `PreModelSwitch` führt nur `command`-, `http`- und `mcp_tool`-Hooks aus, daher gelten die `prompt`- und `agent`-Standard nicht.

3512 

3513Ein Hook, der mit einem Code anderen als 0 oder 2 beendet und keine JSON-Entscheidung druckt, blockiert nicht: Claude Code zeigt seinen stderr und wendet den Wechsel an, wie unter [Andere Exit-Codes](#other-exit-codes) beschrieben.

3514 

3515<h3 id="postmodelswitch">

3516 PostModelSwitch

3517</h3>

3518 

3519Wird ausgeführt, nachdem sich das Modell der Sitzung ändert. Verwenden Sie ihn, um Claude modellspezifische Anleitung zu geben, ohne jede CLAUDE.md zu bearbeiten, zum Beispiel eine organisations-weite Anweisung, die auf bestimmten Modellen gilt.

3520 

3521PostModelSwitch erfordert Claude Code v2.1.251 oder später. Es kann nicht blockieren, da sich das Modell bereits geändert hat. Claude Code führt PostModelSwitch-Hooks nach jedem dieser Änderungen aus:

3522 

3523* Ein Wechsel, den Sie oder ein Client angefordert haben

3524* Ein [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback), das das Modell der Sitzung ändert

3525* Eine Einstellung wie [`opusplan`](/docs/de/model-config#opusplan-model-setting), die den Plan-Modus betritt oder verlässt

3526* Claude Code, das das Modell wiederherstellt, wenn Sie eine Sitzung fortsetzen

3527 

3528Claude Code führt PostModelSwitch-Hooks nicht aus, wenn ein Modell aus einer [Fallback-Modell-Kette](/docs/de/model-config#fallback-model-chains) eine Runde bedient, da diese Substitution eine Runde dauert und das Modell der Sitzung unverändert lässt.

3529 

3530Der Matcher folgt den gleichen Regeln wie [PreModelSwitch](#premodelswitch): Claude Code vergleicht ihn gegen den kanonischen Namen des Modells, zu dem die Sitzung wechselt.

3531 

3532Dieses Beispiel fügt Anleitung hinzu, wenn sich das Modell der Sitzung zu einem Opus-Modell ändert:

3533 

3534```json theme={null}

3535{

3536 "hooks": {

3537 "PostModelSwitch": [

3538 {

3539 "matcher": ".*opus.*",

3540 "hooks": [

3541 {

3542 "type": "command",

3543 "command": "echo 'On Opus, delegate implementation work to subagents and keep this conversation for planning and review.'"

3544 }

3545 ]

3546 }

3547 ]

3548 }

3549}

3550```

3551 

3552Um zu bestätigen, dass der Hook funktioniert, wechseln Sie zu einem Opus-Modell aus einer Sitzung, die ein anderes Modell ausführt, zum Beispiel führen Sie `/model opus` aus einer Sonnet-Sitzung aus, und fragen Sie Claude dann, welche Anleitung es zum aktuellen Modell hat.

3553 

3554<h4 id="postmodelswitch-input">

3555 PostModelSwitch-Eingabe

3556</h4>

3557 

3558PostModelSwitch-Hooks erhalten die gleichen Felder wie [PreModelSwitch](#premodelswitch-input), mit `hook_event_name` auf `"PostModelSwitch"` gesetzt und zwei weitere `source`-Werte: `"auto"` für ein automatisches Fallback oder eine andere Änderung, die Claude Code selbst gemacht hat, und `"resume"` für das Modell, das wiederhergestellt wurde, wenn Sie eine Sitzung fortsetzen.

3559 

3560`requested_model` ist `null`, wenn `source` `"auto"` ist. Wenn `source` `"resume"` ist, ist es die gespeicherte Modell-Einstellung, die Claude Code wiederhergestellt hat.

3561 

3562<h4 id="postmodelswitch-decision-control">

3563 PostModelSwitch-Entscheidungskontrolle

3564</h4>

3565 

3566Claude Code nimmt Ihren Hook-[Plain-Text-stdout](#exit-code-0) bei Beendigung mit 0 oder `additionalContext` aus JSON-Ausgabe und liefert es an Claude mit der nächsten Anfrage nach dem Wechsel. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie zurückgeben:

3567 

3568| Feld | Beschreibung |

3569| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------- |

3570| `additionalContext` | Zeichenkette, die zu Claudes Kontext mit der nächsten Anfrage hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

3571 

3572Wenn der Hook nicht innerhalb von fünf Sekunden nach dem Senden der nächsten Anfrage fertig ist, sendet Claude Code diese Anfrage ohne die Ausgabe und hängt sie statt der nächsten Anfrage an. Wenn sich das Modell mehrmals ändert, bevor die nächste Anfrage erfolgt, liefert Claude Code nur die Ausgabe für den letzten Wechsel-Zielmodell.

3573 

2830<h3 id="sessionend">3574<h3 id="sessionend">

2831 SessionEnd3575 SessionEnd

2832</h3>3576</h3>


2836Das Feld `reason` in der Hook-Eingabe gibt an, warum die Sitzung endete:3580Das Feld `reason` in der Hook-Eingabe gibt an, warum die Sitzung endete:

2837 3581 

2838| Grund | Beschreibung |3582| Grund | Beschreibung |

2839| :---------------------------- | :------------------------------------------------------------ |3583| :---------------------------- | :------------------------------------------------------------------------------------------------------ |

2840| `clear` | Sitzung mit `/clear`-Befehl gelöscht |3584| `clear` | Sitzung mit `/clear`-Befehl gelöscht |

2841| `resume` | Sitzung über interaktives `/resume` gewechselt |3585| `resume` | Sitzung über interaktives `/resume` gewechselt |

2842| `logout` | Benutzer hat sich abgemeldet |3586| `logout` | Benutzer hat sich abgemeldet |

2843| `prompt_input_exit` | Benutzer hat beendet, während die Prompt-Eingabe sichtbar war |3587| `prompt_input_exit` | Benutzer hat beendet, während die Prompt-Eingabe sichtbar war |

2844| `bypass_permissions_disabled` | Bypass-Berechtigungsmodus wurde deaktiviert |

2845| `other` | Andere Ausstiegsgründe |3588| `other` | Andere Ausstiegsgründe |

3589| `bypass_permissions_disabled` | Entfernt in v2.1.234; Claude Code sendet es nicht. Lassen Sie es aus Ihren `SessionEnd`-Matchern fallen |

2846 3590 

2847<h4 id="sessionend-input">3591<h4 id="sessionend-input">

2848 SessionEnd-Eingabe3592 SessionEnd-Eingabe


2862 3606 

2863SessionEnd-Hooks haben keine Entscheidungskontrolle. Sie können die Sitzungsbeendigung nicht blockieren, können aber Bereinigungsaufgaben durchführen.3607SessionEnd-Hooks haben keine Entscheidungskontrolle. Sie können die Sitzungsbeendigung nicht blockieren, können aber Bereinigungsaufgaben durchführen.

2864 3608 

2865SessionEnd-Hooks haben ein Standard-Timeout von 1,5 Sekunden. Dies gilt sowohl für den Sitzungsausstieg als auch für `/clear` und das Wechseln von Sitzungen über interaktives `/resume`. Wenn ein Hook mehr Zeit benötigt, setzen Sie eine Pro-Hook-`timeout` in der Hook-Konfiguration. Das Gesamtbudget wird automatisch auf das höchste Pro-Hook-Timeout erhöht, das in Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts, die auf Plugin-bereitgestellten Hooks gesetzt sind, erhöhen das Budget nicht. Um das Budget explizit zu überschreiben, setzen Sie die Umgebungsvariable `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` in Millisekunden.3609SessionEnd-Hooks haben ein Standard-Timeout von 1,5 Sekunden. Es gilt, wenn Sie beenden, `/clear` ausführen oder Sitzungen mit interaktivem `/resume` wechseln. Wenn ein Hook mehr Zeit benötigt, setzen Sie `timeout` in dieser Hook-Konfiguration. Das Gesamtbudget wird automatisch auf das höchste Pro-Hook-`timeout` erhöht, das in Ihren Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts, die auf Plugin-bereitgestellten Hooks gesetzt sind, erhöhen das Budget nicht. Um das Budget explizit zu überschreiben, setzen Sie die Umgebungsvariable `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` in Millisekunden.

2866 3610 

2867```bash theme={null}3611```bash theme={null}

2868CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude3612CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

2869```3613```

2870 3614 

3615Vor v2.1.268 erhöhte `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` nur das Gesamtbudget, und ein Hook ohne sein eigenes `timeout` wurde immer noch nach 1,5 Sekunden abgebrochen.

3616 

2871<h3 id="elicitation">3617<h3 id="elicitation">

2872 Elicitation3618 Elicitation

2873</h3>3619</h3>


2889 "session_id": "abc123",3635 "session_id": "abc123",

2890 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3636 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2891 "cwd": "/Users/...",3637 "cwd": "/Users/...",

2892 "permission_mode": "default",

2893 "hook_event_name": "Elicitation",3638 "hook_event_name": "Elicitation",

2894 "mcp_server_name": "my-mcp-server",3639 "mcp_server_name": "my-mcp-server",

2895 "message": "Please provide your credentials",3640 "message": "Please provide your credentials",


2910 "session_id": "abc123",3655 "session_id": "abc123",

2911 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3656 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2912 "cwd": "/Users/...",3657 "cwd": "/Users/...",

2913 "permission_mode": "default",

2914 "hook_event_name": "Elicitation",3658 "hook_event_name": "Elicitation",

2915 "mcp_server_name": "my-mcp-server",3659 "mcp_server_name": "my-mcp-server",

2916 "message": "Please authenticate",3660 "message": "Please authenticate",


2942| `action` | `accept`, `decline`, `cancel` | Ob die Anfrage akzeptiert, abgelehnt oder abgebrochen werden soll |3686| `action` | `accept`, `decline`, `cancel` | Ob die Anfrage akzeptiert, abgelehnt oder abgebrochen werden soll |

2943| `content` | Objekt | Formularfeldwerte zum Einreichen. Wird nur verwendet, wenn `action` `accept` ist |3687| `content` | Objekt | Formularfeldwerte zum Einreichen. Wird nur verwendet, wenn `action` `accept` ist |

2944 3688 

2945Exit-Code 2 verweigert die Elicitation und zeigt stderr dem Benutzer an.3689Exit-Code 2 verweigert die Elicitation. Claude Code zeigt Ihre stderr-Nachricht nicht irgendwo an.

3690 

3691Claude Code handelt auf `hookSpecificOutput` aus einer Elicitation-Hook-JSON-Ausgabe und verwirft `systemMessage` und `continue`.

2946 3692 

2947<h3 id="elicitationresult">3693<h3 id="elicitationresult">

2948 ElicitationResult3694 ElicitationResult


2963 "session_id": "abc123",3709 "session_id": "abc123",

2964 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3710 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2965 "cwd": "/Users/...",3711 "cwd": "/Users/...",

2966 "permission_mode": "default",

2967 "hook_event_name": "ElicitationResult",3712 "hook_event_name": "ElicitationResult",

2968 "mcp_server_name": "my-mcp-server",3713 "mcp_server_name": "my-mcp-server",

2969 "action": "accept",3714 "action": "accept",


2994| `action` | `accept`, `decline`, `cancel` | Überschreibt die Aktion des Benutzers |3739| `action` | `accept`, `decline`, `cancel` | Überschreibt die Aktion des Benutzers |

2995| `content` | Objekt | Überschreibt Formularfeldwerte. Nur aussagekräftig, wenn `action` `accept` ist |3740| `content` | Objekt | Überschreibt Formularfeldwerte. Nur aussagekräftig, wenn `action` `accept` ist |

2996 3741 

2997Exit-Code 2 blockiert die Antwort, wodurch die effektive Aktion zu `decline` wird.3742Exit-Code 2 blockiert die Antwort, wodurch die effektive Aktion zu `decline` wird. Claude Code zeigt Ihre stderr-Nachricht nicht irgendwo an.

3743 

3744Claude Code handelt auf `hookSpecificOutput` aus einer ElicitationResult-Hook-JSON-Ausgabe und verwirft `systemMessage` und `continue`.

2998 3745 

2999<h2 id="prompt-based-hooks">3746<h2 id="prompt-based-hooks">

3000 Prompt-basierte Hooks3747 Prompt-basierte Hooks


3022 3769 

3023* `ConfigChange`3770* `ConfigChange`

3024* `CwdChanged`3771* `CwdChanged`

3772* `DirectoryAdded`

3025* `Elicitation`3773* `Elicitation`

3026* `ElicitationResult`3774* `ElicitationResult`

3027* `FileChanged`3775* `FileChanged`

3028* `InstructionsLoaded`3776* `InstructionsLoaded`

3777* `MessageDisplay`

3029* `Notification`3778* `Notification`

3030* `PostCompact`3779* `PostCompact`

3780* `PostModelSwitch`

3031* `PreCompact`3781* `PreCompact`

3782* `PreModelSwitch`

3032* `SessionEnd`3783* `SessionEnd`

3033* `StopFailure`3784* `StopFailure`

3034* `SubagentStart`3785* `SubagentStart`

3035* `WorktreeCreate`3786* `WorktreeCreate`

3036* `WorktreeRemove`3787* `WorktreeRemove`

3037 3788 

3038`SessionStart` und `Setup` unterstützen `command` und `mcp_tool` Hooks. Sie unterstützen keine `http`, `prompt` oder `agent` Hooks.3789`SessionStart` und `Setup` unterstützen `command` und `mcp_tool` Hooks, und [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) beschreibt, wann ihre `mcp_tool` Hooks ausgeführt werden. Sie unterstützen keine `http`, `prompt` oder `agent` Hooks.

3039 3790 

3040<h3 id="how-prompt-based-hooks-work">3791<h3 id="how-prompt-based-hooks-work">

3041 Wie Prompt-basierte Hooks funktionieren3792 Wie Prompt-basierte Hooks funktionieren


3051 Prompt-Hook-Konfiguration3802 Prompt-Hook-Konfiguration

3052</h3>3803</h3>

3053 3804 

3054Setzen Sie `type` auf `"prompt"` und geben Sie eine `prompt`-Zeichenkette anstelle eines `command` an. Verwenden Sie den Platzhalter `$ARGUMENTS`, um die Hook-Eingabedaten in Ihren Prompt-Text einzufügen. Claude Code sendet den kombinierten Prompt und die Eingabe an ein schnelles Claude-Modell, das eine JSON-Entscheidung zurückgibt.3805Setzen Sie `type` auf `"prompt"` und geben Sie eine `prompt`-Zeichenkette anstelle eines `command` an. Verwenden Sie den Platzhalter `$ARGUMENTS`, um die Hook-Eingabedaten in Ihren Prompt-Text einzufügen.

3055 3806 

3056Dieser `Stop`-Hook fragt das LLM, ob Claude stoppen sollte, bevor Claude beendet wird:3807Dieser `Stop`-Hook fragt das LLM, ob Claude stoppen sollte, bevor Claude beendet wird:

3057 3808 


3073```3824```

3074 3825 

3075| Feld | Erforderlich | Beschreibung |3826| Feld | Erforderlich | Beschreibung |

3076| :---------------- | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3827| :---------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

3077| `type` | ja | Muss `"prompt"` sein |3828| `type` | ja | Muss `"prompt"` sein |

3078| `prompt` | ja | Der Prompt-Text zum Senden an das LLM. Verwenden Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe JSON. Wenn `$ARGUMENTS` nicht vorhanden ist, wird die Eingabe JSON an den Prompt angehängt |3829| `prompt` | ja | Der Prompt-Text zum Senden an das LLM. Verwenden Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe JSON. Wenn `$ARGUMENTS` nicht vorhanden ist, wird die Eingabe JSON an den Prompt angehängt |

3079| `model` | nein | Modell zur Verwendung für die Evaluierung. Standardwert ist ein schnelles Modell |3830| `model` | nein | Modell zur Verwendung für die Evaluierung. Standardwert ist ein schnelles Modell |

3080| `timeout` | nein | Timeout in Sekunden. Standard: 30 |3831| `timeout` | nein | Timeout in Sekunden. Standard: 30 |

3081| `continueOnBlock` | nein | Wenn der Prompt `ok: false` zurückgibt, wird der Grund an Claude zurückgegeben und der Turn wird fortgesetzt, anstatt zu stoppen. Standard: `false`. Implementiert als `continue: true` auf der resultierenden `decision: "block"`. Siehe [Response-Schema](#response-schema) für ereignisspezifisches Verhalten |3832| `continueOnBlock` | nein | Bei den Ereignissen, auf die es zutrifft, speist `true` einen `ok: false` Grund an Claude zurück und setzt den Turn fort, anstatt ihn zu beenden. Standard: `false`. Siehe [Response-Schema](#response-schema) für ereignisspezifisches Verhalten |

3082 3833 

3083<h3 id="response-schema">3834<h3 id="response-schema">

3084 Response-Schema3835 Response-Schema


3089```json theme={null}3840```json theme={null}

3090{3841{

3091 "ok": true | false,3842 "ok": true | false,

3092 "reason": "Explanation for the decision"3843 "reason": "Explanation for the decision",

3844 "impossible": true | false

3093}3845}

3094```3846```

3095 3847 

3096| Feld | Beschreibung |3848| Feld | Beschreibung |

3097| :------- | :----------------------------------------------------------------------------------------------------------------- |3849| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3098| `ok` | `true` erlaubt die Aktion. `false` erzeugt eine `decision: "block"`. Siehe das ereignisspezifische Verhalten unten |3850| `ok` | `true` erlaubt die Aktion. Bei `false` siehe das ereignisspezifische Verhalten unten |

3099| `reason` | Erforderlich, wenn `ok` `false` ist. Wird als Blockierungsgrund verwendet |3851| `reason` | Erforderlich, wenn `ok` `false` ist |

3852| `impossible` | Optional. Das Modell gibt es mit `ok: false` zurück, wenn es beurteilt, dass die Bedingung niemals erfüllt werden kann. Bei `Stop` und `SubagentStop` lässt Claude Code dann den Turn enden, anstatt den Grund zurückzugeben. Agent-Hooks und andere Ereignisse ignorieren es |

3100 3853 

3101Was bei `ok: false` passiert, hängt vom Ereignis ab:3854Was bei `ok: false` passiert, hängt vom Ereignis ab:

3102 3855 

3103* `Stop` und `SubagentStop`: der Grund wird an Claude als nächste Anweisung zurückgegeben und der Turn wird fortgesetzt3856* `Stop` und `SubagentStop`: der Grund wird an Claude als nächste Anweisung zurückgegeben und der Turn wird fortgesetzt, es sei denn, die Antwort setzt auch `impossible: true`, in welchem Fall Claude Code den Stop zulässt und der Turn endet

3104* `PreToolUse`: der Tool-Aufruf wird verweigert und der Grund wird an Claude als Tool-Fehler zurückgegeben, gleichbedeutend mit einem Command-Hook mit `permissionDecision: "deny"`3857* `PreToolUse`: der Tool-Aufruf wird verweigert; standardmäßig endet der Turn und der Verweigerungsgrund wird im Chat als Warnzeile angezeigt. Setzen Sie `continueOnBlock: true`, um den Grund stattdessen an Claude als Tool-Fehler zurückzugeben, damit es anpassen und fortfahren kann, äquivalent zu einem Command-Hook mit `permissionDecision: "deny"`. Vor v2.1.210 wurde der Verweigerungsgrund an Claude als Tool-Fehler zurückgegeben und der Turn wurde fortgesetzt

3105* `PostToolUse`: standardmäßig endet der Turn und der Grund wird im Chat als Warnzeile angezeigt. Setzen Sie `continueOnBlock: true`, um den Grund an Claude zurückzugeben und den Turn stattdessen fortzusetzen3858* `PostToolUse`: standardmäßig endet der Turn und der Grund wird im Chat als Warnzeile angezeigt. Setzen Sie `continueOnBlock: true`, um den Grund an Claude zurückzugeben und den Turn stattdessen fortzusetzen

3106* `PostToolBatch`, `UserPromptSubmit` und `UserPromptExpansion`: der Turn endet und der Grund wird als Warnzeile angezeigt. Diese Ereignisse beenden den Turn bei `decision: "block"` unabhängig von `continue`3859* `PostToolBatch`, `UserPromptSubmit` und `UserPromptExpansion`: der Turn endet und der Grund wird als Warnzeile angezeigt. Diese Ereignisse beenden den Turn bei `decision: "block"` unabhängig von `continue`

3107* `PostToolUseFailure`, `TaskCreated` und `TaskCompleted`: der Grund wird an Claude als Tool-Fehler zurückgegeben, ähnlich wie `PreToolUse`3860* `PostToolUseFailure` und `TaskCreated`: der Grund wird an Claude als Tool-Fehler zurückgegeben und der Turn wird fortgesetzt, unabhängig von `continueOnBlock`

3861* `TaskCompleted`: wenn es ausgelöst wird, weil eine Aufgabe während eines Turns als abgeschlossen markiert wird, wird der Grund an Claude als Tool-Fehler zurückgegeben und der Turn wird fortgesetzt, unabhängig von `continueOnBlock`. Wenn es ausgelöst wird, weil ein Teammate stoppt, verhält es sich wie `TeammateIdle` und stoppt den Teammate standardmäßig

3108* `TeammateIdle`: standardmäßig stoppt der Teammate und der Grund wird als Warnzeile angezeigt. Setzen Sie `continueOnBlock: true`, um den Grund an den Teammate zurückzugeben und ihn stattdessen weiterarbeiten zu lassen3862* `TeammateIdle`: standardmäßig stoppt der Teammate und der Grund wird als Warnzeile angezeigt. Setzen Sie `continueOnBlock: true`, um den Grund an den Teammate zurückzugeben und ihn stattdessen weiterarbeiten zu lassen

3109* `PermissionRequest`: `ok: false` hat keine Auswirkung. Um eine Genehmigung von einem Hook zu verweigern, verwenden Sie einen [Command-Hook](#command-hook-fields) mit `hookSpecificOutput.decision.behavior: "deny"`3863* `PermissionRequest`: `ok: false` hat keine Auswirkung. Um eine Genehmigung von einem Hook zu verweigern, verwenden Sie einen [Command-Hook](#command-hook-fields) mit `hookSpecificOutput.decision.behavior: "deny"`

3110* `PermissionDenied`: `ok: false` hat keine Auswirkung, da die Verweigerung bereits erfolgt ist. Die einzige Ausgabe, die dieses Ereignis liest, ist `hookSpecificOutput.retry`, die Prompt- und Agent-Hooks nicht setzen können — sie werden bei diesem Ereignis ausgeführt, aber ihre Ausgabe wird verworfen. Verwenden Sie einen [Command-Hook](#command-hook-fields), um `retry` zurückzugeben3864* `PermissionDenied`: `ok: false` hat keine Auswirkung, da die Verweigerung bereits erfolgt ist. Die einzige Ausgabe, die dieses Ereignis liest, ist `hookSpecificOutput.retry`, die Prompt- und Agent-Hooks nicht setzen können. Sie werden bei diesem Ereignis ausgeführt, aber ihre Ausgabe wird verworfen. Verwenden Sie einen [Command-Hook](#command-hook-fields), um `retry` zurückzugeben

3111 3865 

3112Wenn Sie eine feinere Kontrolle bei einem Ereignis benötigen, verwenden Sie einen [Command-Hook](#command-hook-fields) mit den ereignisspezifischen Feldern, die in [Entscheidungskontrolle](#decision-control) beschrieben sind.3866Wenn Sie eine feinere Kontrolle bei einem Ereignis benötigen, verwenden Sie einen [Command-Hook](#command-hook-fields) mit den ereignisspezifischen Feldern, die in [Entscheidungskontrolle](#decision-control) beschrieben sind.

3113 3867 


3115 Mehrere Bedingungen vor dem Stoppen überprüfen3869 Mehrere Bedingungen vor dem Stoppen überprüfen

3116</h3>3870</h3>

3117 3871 

3118Dieser `Stop`-Hook verwendet einen detaillierten Prompt, um drei Bedingungen zu überprüfen, bevor Claude stoppen darf. `SubagentStop`-Hooks verwenden das gleiche Format, um zu evaluieren, ob ein [Subagent](/docs/de/sub-agents) stoppen sollte. Wenn `"ok"` `false` ist, setzt Claude die Arbeit mit dem bereitgestellten Grund als nächste Anweisung fort:3872Dieser `Stop`-Hook verwendet einen detaillierten Prompt, um drei Bedingungen zu überprüfen, bevor Claude stoppen darf. `SubagentStop`-Hooks verwenden das gleiche Format, um zu evaluieren, ob ein [Subagent](/docs/de/sub-agents) stoppen sollte. Wenn das Modell `"ok": false` zurückgibt, weil die Bedingung noch nicht erfüllt ist, setzt Claude die Arbeit mit dem bereitgestellten Grund als nächste Anweisung fort:

3119 3873 

3120```json theme={null}3874```json theme={null}

3121{3875{


3151 3905 

3152Wenn ein Agent-Hook ausgelöst wird:3906Wenn ein Agent-Hook ausgelöst wird:

3153 3907 

31541. Claude Code spawnt einen Subagenten mit Ihrem Prompt und der Hook-Eingabe39081. Claude Code spawnt einen Subagenten mit Ihrem Prompt und der Hook-Eingabe JSON

31552. Der Subagent kann Tools wie Read, Grep und Glob verwenden, um zu untersuchen39092. Der Subagent kann Tools wie Read, Grep und Glob verwenden, um zu untersuchen

31563. Nach bis zu 50 Turns gibt der Subagent eine strukturierte `{ "ok": true/false }`-Entscheidung zurück39103. Nach bis zu 50 Turns gibt der Subagent eine strukturierte `{ "ok": true/false }`-Entscheidung zurück

31574. Claude Code verarbeitet die Entscheidung auf die gleiche Weise wie ein Prompt-Hook39114. Claude Code erlaubt die Aktion, wenn `ok` `true` ist. Wenn `ok` `false` ist, verarbeitet Claude Code die Blockierung auf die gleiche Weise wie ein Prompt-Hook mit `continueOnBlock: true` bei diesem Ereignis, wie unter [Response-Schema](#response-schema) aufgelistet

3158 3912 

3159Agent-Hooks sind nützlich, wenn die Überprüfung das Überprüfen tatsächlicher Dateien oder Test-Ausgabe erfordert, nicht nur die Evaluierung der Hook-Eingabedaten allein.3913Agent-Hooks sind nützlich, wenn die Überprüfung das Überprüfen tatsächlicher Dateien oder Test-Ausgabe erfordert, nicht nur die Evaluierung der Hook-Eingabedaten allein.

3160 3914 


3162 Agent-Hook-Konfiguration3916 Agent-Hook-Konfiguration

3163</h3>3917</h3>

3164 3918 

3165Setzen Sie `type` auf `"agent"` und geben Sie eine `prompt`-Zeichenkette an. Die Konfigurationsfelder sind die gleichen wie [Prompt-Hooks](#prompt-hook-configuration), mit einem längeren Standard-Timeout:3919Setzen Sie `type` auf `"agent"` und geben Sie eine `prompt`-Zeichenkette an, wobei Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe JSON verwenden. Die Konfigurationsfelder sind die gleichen wie [Prompt-Hooks](#prompt-hook-configuration), mit der Ausnahme, dass Agent-Hooks ein längeres Standard-Timeout von 60 Sekunden haben und kein `continueOnBlock`-Feld haben.

3166 

3167| Feld | Erforderlich | Beschreibung |

3168| :-------- | :----------- | :------------------------------------------------------------------------------------------------------------------ |

3169| `type` | ja | Muss `"agent"` sein |

3170| `prompt` | ja | Prompt, der beschreibt, was zu überprüfen ist. Verwenden Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe JSON |

3171| `model` | nein | Modell zur Verwendung. Standardwert ist ein schnelles Modell |

3172| `timeout` | nein | Timeout in Sekunden. Standard: 60 |

3173 3920 

3174Das Response-Schema ist das gleiche wie Prompt-Hooks: `{ "ok": true }` zum Zulassen oder `{ "ok": false, "reason": "..." }` zum Blockieren.3921Das Response-Schema ist `{ "ok": true }` zum Zulassen oder `{ "ok": false, "reason": "..." }` zum Blockieren. Bei `ok: false` verarbeitet Claude Code einen Agent-Hook auf die gleiche Weise wie einen [Prompt-Hook mit `continueOnBlock: true`](#response-schema) bei demselben Ereignis; Agent-Hooks haben kein `continueOnBlock`-Feld und unterstützen nicht das Prompt-Hook-Feld `impossible`.

3175 3922 

3176Dieser `Stop`-Hook überprüft, dass alle Unit-Tests bestanden sind, bevor Claude fertig ist:3923Dieser `Stop`-Hook überprüft, dass alle Unit-Tests bestanden sind, bevor Claude fertig ist:

3177 3924 


3205 3952 

3206Fügen Sie `"async": true` zur Konfiguration eines Command-Hooks hinzu, um ihn im Hintergrund auszuführen, ohne Claude zu blockieren. Dieses Feld ist nur auf `type: "command"`-Hooks verfügbar.3953Fügen Sie `"async": true` zur Konfiguration eines Command-Hooks hinzu, um ihn im Hintergrund auszuführen, ohne Claude zu blockieren. Dieses Feld ist nur auf `type: "command"`-Hooks verfügbar.

3207 3954 

3208Dieser Hook führt ein Test-Skript nach jedem `Write`-Tool-Aufruf aus. Claude arbeitet sofort weiter, während `run-tests.sh` bis zu 120 Sekunden ausgeführt wird. Wenn das Skript fertig ist, wird seine Ausgabe beim nächsten Gesprächsturn geliefert:3955Dieser Hook führt ein Test-Skript nach jedem `Write`-Tool-Aufruf aus. Claude arbeitet sofort weiter, während `run-tests.sh` ausgeführt wird. Wenn das Skript fertig ist, wird seine Ausgabe beim nächsten Gesprächsturn geliefert:

3209 3956 

3210```json theme={null}3957```json theme={null}

3211{3958{


3217 {3964 {

3218 "type": "command",3965 "type": "command",

3219 "command": "/path/to/run-tests.sh",3966 "command": "/path/to/run-tests.sh",

3220 "async": true,3967 "async": true

3221 "timeout": 120

3222 }3968 }

3223 ]3969 ]

3224 }3970 }


3227}3973}

3228```3974```

3229 3975 

3230Das Feld `timeout` setzt die maximale Zeit in Sekunden für den Hintergrund-Prozess. Wenn nicht angegeben, verwenden asynchrone Hooks das gleiche 10-Minuten-Standard wie synchrone Hooks.3976Sobald ein asynchroner Hook im Hintergrund ausgeführt wird, erzwingt Claude Code kein `timeout` darauf. Claude Code erzwingt immer noch `timeout` auf einem Hook, den Sie mit `asyncRewake` ausführen.

3977 

3978Claude Code liefert die Ergebnisse eines asynchronen Hooks nur während der Sitzung:

3979 

3980* Im [nicht-interaktiven Modus](/docs/de/headless) mit dem Flag `-p` beendet Claude Code jeden noch laufenden asynchronen Hook beim Herunterfahren und finalisiert ihn mit dem Ergebnis `cancelled`

3981* Wenn die Arbeit Ihres Hooks eine `claude -p`-Sitzung überdauern muss, starten Sie einen vollständig abgelösten Prozess davon

3231 3982 

3232<h3 id="how-async-hooks-execute">3983<h3 id="how-async-hooks-execute">

3233 Wie asynchrone Hooks ausgeführt werden3984 Wie asynchrone Hooks ausgeführt werden


3235 3986 

3236Wenn ein asynchroner Hook ausgelöst wird, startet Claude Code den Hook-Prozess und setzt sofort fort, ohne auf den Abschluss zu warten. Der Hook erhält die gleiche JSON-Eingabe über stdin wie ein synchroner Hook.3987Wenn ein asynchroner Hook ausgelöst wird, startet Claude Code den Hook-Prozess und setzt sofort fort, ohne auf den Abschluss zu warten. Der Hook erhält die gleiche JSON-Eingabe über stdin wie ein synchroner Hook.

3237 3988 

3238Nachdem der Hintergrund-Prozess beendet ist, wenn der Hook eine JSON-Response mit einem `additionalContext`-Feld erzeugt hat, wird dieser Inhalt Claude beim nächsten Gesprächsturn als Kontext geliefert. Ein `systemMessage`-Feld wird Ihnen angezeigt, nicht Claude.3989Nachdem der Hintergrund-Prozess beendet ist, liefert Claude Code die Felder `additionalContext` und `systemMessage` aus der JSON-Response des Hooks Claude beim nächsten Gesprächsturn. Im Gegensatz zu einem synchronen Hook's `systemMessage` wird keines dieser Felder Ihnen angezeigt.

3239 3990 

3240Claude Code validiert diese JSON-Response gegen das gleiche [Ausgabeschema](#json-output) wie synchrone Hooks und verwirft jedes Feld, dessen Wert den falschen Typ hat, wie z. B. eine `systemMessage`, die keine Zeichenkette ist, anstatt es zu liefern. Führen Sie mit `--debug` aus, um eine Warnung zu sehen, die jedes verworfene Feld benennt. Vor v2.1.202 konnte fehlerhafte JSON-Ausgabe von einem asynchronen Hook die Sitzung zum Absturz bringen, und der Absturz trat jedes Mal auf, wenn die Sitzung fortgesetzt wurde.3991Claude Code validiert diese JSON-Response gegen das gleiche [Ausgabeschema](#json-output) wie synchrone Hooks und verwirft jedes Feld, dessen Wert den falschen Typ hat, wie z. B. eine `systemMessage`, die keine Zeichenkette ist, anstatt es zu liefern. Führen Sie mit `--debug` aus, um eine Warnung zu sehen, die jedes verworfene Feld benennt. Vor v2.1.202 konnte fehlerhafte JSON-Ausgabe von einem asynchronen Hook die Sitzung zum Absturz bringen, und der Absturz trat jedes Mal auf, wenn die Sitzung fortgesetzt wurde.

3241 3992 


3285 "type": "command",4036 "type": "command",

3286 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/run-tests-async.sh",4037 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/run-tests-async.sh",

3287 "args": [],4038 "args": [],

3288 "async": true,4039 "async": true

3289 "timeout": 300

3290 }4040 }

3291 ]4041 ]

3292 }4042 }


3299 Einschränkungen4049 Einschränkungen

3300</h3>4050</h3>

3301 4051 

3302Asynchrone Hooks haben mehrere Einschränkungen im Vergleich zu synchronen Hooks:4052Asynchrone Hooks haben zusätzliche Einschränkungen im Vergleich zu synchronen Hooks:

3303 4053 

3304* Nur `type: "command"`-Hooks unterstützen `async`. Prompt-basierte Hooks können nicht asynchron ausgeführt werden.

3305* Asynchrone Hooks können nicht blockieren oder Entscheidungen zurückgeben. Zu dem Zeitpunkt, an dem der Hook abgeschlossen ist, hat die auslösende Aktion bereits stattgefunden.

3306* Hook-Ausgabe wird beim nächsten Gesprächsturn geliefert. Wenn die Sitzung untätig ist, wartet die Response, bis die nächste Benutzerinteraktion erfolgt. Ausnahme: Ein `asyncRewake`-Hook, der mit Code 2 beendet wird, weckt Claude sofort auf, auch wenn die Sitzung untätig ist.4054* Hook-Ausgabe wird beim nächsten Gesprächsturn geliefert. Wenn die Sitzung untätig ist, wartet die Response, bis die nächste Benutzerinteraktion erfolgt. Ausnahme: Ein `asyncRewake`-Hook, der mit Code 2 beendet wird, weckt Claude sofort auf, auch wenn die Sitzung untätig ist.

3307* Jede Ausführung erstellt einen separaten Hintergrund-Prozess. Es gibt keine Deduplizierung über mehrere Auslösungen des gleichen asynchronen Hooks.4055* Jede Ausführung erstellt einen separaten Hintergrund-Prozess. Es gibt keine Deduplizierung über mehrere Auslösungen des gleichen asynchronen Hooks.

3308 4056 


3314 Haftungsausschluss4062 Haftungsausschluss

3315</h3>4063</h3>

3316 4064 

3317Command-Hooks werden mit den vollständigen Berechtigungen Ihres System-Benutzers ausgeführt.

3318 

3319<Warning>4065<Warning>

3320 Command-Hooks führen Shell-Befehle mit Ihren vollständigen Benutzerberechtigungen aus. Sie können alle Dateien ändern, löschen oder zugreifen, auf die Ihr Benutzerkonto zugreifen kann. Überprüfen und testen Sie alle Hook-Befehle, bevor Sie sie zu Ihrer Konfiguration hinzufügen.4066 Command-Hooks führen Shell-Befehle mit Ihren vollständigen Benutzerberechtigungen aus. Sie können alle Dateien ändern, löschen oder zugreifen, auf die Ihr Benutzerkonto zugreifen kann. Überprüfen und testen Sie alle Hook-Befehle, bevor Sie sie zu Ihrer Konfiguration hinzufügen.

3321</Warning>4067</Warning>

3322 4068 

4069<h3 id="workspace-trust">

4070 Workspace-Vertrauen

4071</h3>

4072 

4073Claude Code überprüft das Workspace-Vertrauen, bevor es einen Hook aus einer Einstellungsdatei ausführt. Was als vertrauenswürdig gilt, hängt vom Sitzungstyp ab:

4074 

4075* **Interaktive Sitzung**: Claude Code hält Hooks aus jeder Einstellungsdatei zurück, einschließlich Ihrer eigenen `~/.claude/settings.json`, bis Sie den [Workspace-Vertrauensdialog](/docs/de/permissions#project-allow-rules-and-workspace-trust) für den Ordner oder für ein übergeordnetes Verzeichnis, dessen Vertrauen sich darauf erstreckt, akzeptieren

4076* **`-p` oder SDK-Sitzung**: Claude Code zeigt den Dialog nie an und behandelt den Ordner als vertrauenswürdig, sodass Hooks, die in der `.claude/settings.json` eines Repositorys committed sind, in einem Ordner ausgeführt werden, dem Sie nie vertraut haben

4077 

4078Bevor Sie `claude -p` über ein Repository ausführen, das Sie nicht geschrieben haben, überprüfen Sie seine `.claude/`-Einstellungsdateien, starten Sie mit [`--bare`](/docs/de/headless#start-faster-with-bare-mode), oder [deaktivieren Sie Hooks für diesen Durchlauf](#disable-or-remove-hooks) mit `--settings '{"disableAllHooks": true}'`. Frontmatter-Hooks in einem Projekt-Subagent folgen einer strengeren Regel als Einstellungsdatei-Hooks. [Was vor dem Vertrauen eines Ordners ausgeführt wird](/docs/de/permissions#what-runs-before-you-trust-a-folder) listet jede Art von Repository-Inhalt nach Sitzungstyp auf.

4079 

3323<h3 id="security-best-practices">4080<h3 id="security-best-practices">

3324 Best Practices für Sicherheit4081 Best Practices für Sicherheit

3325</h3>4082</h3>


3336 Windows PowerShell-Tool4093 Windows PowerShell-Tool

3337</h2>4094</h2>

3338 4095 

3339Unter Windows können Sie einzelne Hooks in PowerShell ausführen, indem Sie `"shell": "powershell"` auf einem Command-Hook setzen. Hooks spawnen PowerShell direkt, daher funktioniert dies unabhängig davon, ob `CLAUDE_CODE_USE_POWERSHELL_TOOL` gesetzt ist. Claude Code erkennt automatisch `pwsh.exe`, die PowerShell 7 und später ausführbare Datei, und fällt auf `powershell.exe` für Windows PowerShell 5.1 zurück.4096Unter Windows können Sie einzelne Hooks in PowerShell ausführen, indem Sie `"shell": "powershell"` auf einem Command-Hook setzen. Claude Code erkennt automatisch `pwsh.exe`, die PowerShell 7 und später ausführbare Datei, und fällt auf `powershell.exe` für Windows PowerShell 5.1 zurück.

3340 4097 

3341```json theme={null}4098```json theme={null}

3342{4099{


3377 Debug-Hooks4134 Debug-Hooks

3378</h2>4135</h2>

3379 4136 

3380Hook-Ausführungsdetails, einschließlich welche Hooks passten, ihre Exit-Codes und vollständige stdout und stderr, werden in die Debug-Log-Datei geschrieben. Starten Sie Claude Code mit `claude --debug-file <path>`, um das Log in einen bekannten Speicherort zu schreiben, oder führen Sie `claude --debug` aus und lesen Sie das Log unter `~/.claude/debug/<session-id>.txt`. Das Flag `--debug` gibt nicht auf dem Terminal aus.4137Hook-Ausführungsdetails werden in die Debug-Log-Datei geschrieben. Starten Sie Claude Code mit `claude --debug-file <path>`, um das Log in einen bekannten Speicherort zu schreiben, oder führen Sie `claude --debug` aus und lesen Sie das Log unter `~/.claude/debug/<session-id>.txt`. Das Flag `--debug` gibt nicht auf dem Terminal aus.

4138 

4139Beispielsweise erzeugt ein `PostToolUse`-Hook auf `Write`, dessen Befehl `hook-ran` ausgibt, Einträge wie:

3381 4140 

3382```text theme={null}4141```text theme={null}

3383[DEBUG] Executing hooks for PostToolUse:Write41422026-07-19T02:03:24.382Z [DEBUG] Hook output does not start with {, treating as plain text

3384[DEBUG] Found 1 hook commands to execute41432026-07-19T02:03:24.382Z [DEBUG] "Hook PostToolUse:Write (PostToolUse) success:\nhook-ran"

3385[DEBUG] Executing hook command: <Your command> with timeout 600000ms

3386[DEBUG] Hook command completed with status 0: <Your stdout>

3387```4144```

3388 4145 

3389Für granularere Hook-Matching-Details setzen Sie `CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose`, um zusätzliche Log-Zeilen wie Hook-Matcher-Zählungen und Query-Matching zu sehen.4146Für granularere Hook-Matching-Details setzen Sie `CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose`, um zusätzliche Log-Zeilen wie Hook-Matcher-Zählungen und Query-Matching zu sehen.

Details

76* **Ihr Projekt.** Dateien in Ihrem Verzeichnis und Unterverzeichnissen sowie Dateien an anderer Stelle mit Ihrer Genehmigung.76* **Ihr Projekt.** Dateien in Ihrem Verzeichnis und Unterverzeichnissen sowie Dateien an anderer Stelle mit Ihrer Genehmigung.

77* **Ihr Terminal.** Jeden Befehl, den Sie ausführen könnten: Build-Tools, git, Paketmanager, Systemdienstprogramme, Skripte. Wenn Sie es von der Befehlszeile aus tun können, kann Claude es auch.77* **Ihr Terminal.** Jeden Befehl, den Sie ausführen könnten: Build-Tools, git, Paketmanager, Systemdienstprogramme, Skripte. Wenn Sie es von der Befehlszeile aus tun können, kann Claude es auch.

78* **Ihren git-Status.** Aktueller Branch, nicht committete Änderungen und aktuelle Commit-Historie.78* **Ihren git-Status.** Aktueller Branch, nicht committete Änderungen und aktuelle Commit-Historie.

79* **Ihre [CLAUDE.md](/docs/de/memory).** Eine Markdown-Datei, in der Sie projektspezifische Anweisungen, Konventionen und Kontext speichern, den Claude jede Sitzung kennen sollte.79* **Ihre [CLAUDE.md](/docs/de/memory).** Eine Markdown-Datei, in der Sie projektspezifische Anweisungen, Konventionen und Kontext speichern, den Claude jede Sitzung kennen sollte. Wenn Ihr Repository eine AGENTS.md für andere Coding-Agenten hat, kann Claude [diese selbstständig lesen](/docs/de/memory#agents-md) oder zusammen mit CLAUDE.md.

80* **[Auto-Speicher](/docs/de/memory#auto-memory).** Erkenntnisse, die Claude automatisch speichert, während Sie arbeiten, wie Ihre Vorlieben. Die ersten 200 Zeilen oder 25 KB von MEMORY.md, je nachdem, was zuerst kommt, werden zu Beginn jeder Sitzung geladen.80* **[Auto-Speicher](/docs/de/memory#auto-memory).** Erkenntnisse, die Claude automatisch speichert, während Sie arbeiten, wie Ihre Vorlieben. Die ersten 200 Zeilen oder 25 KB von MEMORY.md, je nachdem, was zuerst kommt, werden zu Beginn jeder Sitzung geladen.

81* **Erweiterungen, die Sie konfigurieren.** [MCP-Server](/docs/de/mcp) für externe Dienste, [skills](/docs/de/skills) für Workflows, [subagents](/docs/de/sub-agents) für delegierte Arbeit und [Claude in Chrome](/docs/de/chrome) für Browser-Interaktion.81* **Erweiterungen, die Sie konfigurieren.** [MCP-Server](/docs/de/mcp) für externe Dienste, [skills](/docs/de/skills) für Workflows, [subagents](/docs/de/sub-agents) für delegierte Arbeit und [Claude in Chrome](/docs/de/chrome) für Browser-Interaktion.

82 82 


86 Umgebungen und Schnittstellen86 Umgebungen und Schnittstellen

87</h2>87</h2>

88 88 

89Die agentengesteuerte Schleife, Tools und Funktionen, die oben beschrieben sind, sind überall gleich, wo Sie Claude Code verwenden. Was sich ändert, ist, wo der Code ausgeführt wird und wie Sie damit interagieren.89Die [agentengesteuerte Schleife](#the-agentic-loop), [Tools](#tools) und Funktionen sind überall gleich, wo Sie Claude Code verwenden. Was sich ändert, ist, wo der Code ausgeführt wird und wie Sie damit interagieren.

90 90 

91<h3 id="execution-environments">91<h3 id="execution-environments">

92 Ausführungsumgebungen92 Ausführungsumgebungen

Details

615 615 

616* **Zu einer Datei springen**: Klicken Sie auf ihre Zeile in der Liste. Scrollen Sie das Panel mit dem Mausrad. Wenn die Dateiliste selbst zu lang ist, scrollen Sie sie mit `Alt+Up` und `Alt+Down` oder `Ctrl+Up` und `Ctrl+Down`.616* **Zu einer Datei springen**: Klicken Sie auf ihre Zeile in der Liste. Scrollen Sie das Panel mit dem Mausrad. Wenn die Dateiliste selbst zu lang ist, scrollen Sie sie mit `Alt+Up` und `Alt+Down` oder `Ctrl+Up` und `Ctrl+Down`.

617* **Claude nach bestimmten Zeilen fragen**: Wählen Sie diese im Panel mit der Maus aus. Claude Code fügt die Auswahl an Ihre nächste Eingabeaufforderung an und zeigt eine Zeilenzahl neben der Eingabe an, bis Sie sie senden.617* **Claude nach bestimmten Zeilen fragen**: Wählen Sie diese im Panel mit der Maus aus. Claude Code fügt die Auswahl an Ihre nächste Eingabeaufforderung an und zeigt eine Zeilenzahl neben der Eingabe an, bis Sie sie senden.

618 * Um die Eingabeaufforderung ohne die Auswahl zu senden, verschieben Sie den Cursor direkt nach dem Zeilenzahl-Indikator und drücken Sie `Backspace`, um ihn zu löschen. Erfordert Claude Code v2.1.271 oder später.

618* **Die Dateien anzeigen, die das Panel auslässt**: Die Liste überspringt Testdateien und generierte Dateien und reduziert Änderungen von vor dieser Sitzung auf eine Zeile am unteren Rand. Klicken Sie auf eine der beiden Zeilenzahlen, um sie zu erweitern.619* **Die Dateien anzeigen, die das Panel auslässt**: Die Liste überspringt Testdateien und generierte Dateien und reduziert Änderungen von vor dieser Sitzung auf eine Zeile am unteren Rand. Klicken Sie auf eine der beiden Zeilenzahlen, um sie zu erweitern.

619* **Ändern, womit das Panel verglichen wird**: Drücken Sie `Ctrl+X B`, um zwischen den Änderungen dieser Sitzung, Ihren uncommitted Änderungen als eine Liste und allem seit dem Verzweigungspunkt Ihres Branches vom Standard-Branch zu wechseln. Claude Code merkt sich die Auswahl für jedes Projekt.620* **Ändern, womit das Panel verglichen wird**: Drücken Sie `Ctrl+X B`, um zwischen den Änderungen dieser Sitzung, Ihren uncommitted Änderungen als eine Liste und allem seit dem Verzweigungspunkt Ihres Branches vom Standard-Branch zu wechseln. Claude Code merkt sich die Auswahl für jedes Projekt.

620 621 


650Im [Chat-Panel der VS Code-Erweiterung](/docs/de/vs-code#use-the-prompt-box) öffnet `/btw` ein Panel statt des in diesem Abschnitt beschriebenen Overlays, und Sie stellen Folgefragen direkt im Panel. Der Thread des Panels bleibt bei Fenster-Neuladen erhalten, gemäß dem Aufbewahrungsplan auf dieser Seite. Sie benötigen die Erweiterung in Version 2.1.227 oder später. Frühere Erweiterungsversionen bieten `/btw` nicht.651Im [Chat-Panel der VS Code-Erweiterung](/docs/de/vs-code#use-the-prompt-box) öffnet `/btw` ein Panel statt des in diesem Abschnitt beschriebenen Overlays, und Sie stellen Folgefragen direkt im Panel. Der Thread des Panels bleibt bei Fenster-Neuladen erhalten, gemäß dem Aufbewahrungsplan auf dieser Seite. Sie benötigen die Erweiterung in Version 2.1.227 oder später. Frühere Erweiterungsversionen bieten `/btw` nicht.

651 652 

652* **Verfügbar während Claude arbeitet**: Sie können `/btw` auch ausführen, während Claude eine Antwort verarbeitet. Die Nebenfrage läuft unabhängig und unterbricht den Hauptzug nicht. Sie sieht alles im Gespräch bisher, außer der Antwort, die Claude noch schreibt.653* **Verfügbar während Claude arbeitet**: Sie können `/btw` auch ausführen, während Claude eine Antwort verarbeitet. Die Nebenfrage läuft unabhängig und unterbricht den Hauptzug nicht. Sie sieht alles im Gespräch bisher, außer der Antwort, die Claude noch schreibt.

653* **Kein Werkzeugzugriff**: Nebenfragen beantworten nur aus dem, was bereits im Kontext vorhanden ist. Claude kann keine Dateien lesen, Befehle ausführen oder suchen, wenn es eine Nebenfrage beantwortet.654* **Kein Werkzeugzugriff**: Nebenfragen beantworten nur aus dem, was bereits im Kontext vorhanden ist. Claude kann keine Dateien lesen, Befehle ausführen oder suchen, wenn es eine Nebenfrage beantwortet. Wenn Claude Werkzeugaufrufe trotzdem als Text schreibt, endet die Antwort mit einem Hinweis, dass nichts ausgeführt wurde.

654* **Einzelne Antwort**: Es gibt keine Folgezüge im Overlay. Um den Thread fortzusetzen, stellen Sie eine weitere `/btw`-Frage. Um in einer lokalen Sitzung mit vollständigem Werkzeugzugriff fortzufahren, drücken Sie `f`, um diese Frage und Antwort in einen [Hintergrund-Subagenten](/docs/de/sub-agents#fork-the-current-conversation) zu verzweigen.655* **Einzelne Antwort**: Es gibt keine Folgezüge im Overlay. Um den Thread fortzusetzen, stellen Sie eine weitere `/btw`-Frage. Um in einer lokalen Sitzung mit vollständigem Werkzeugzugriff fortzufahren, drücken Sie `f`, um diese Frage und Antwort in einen [Hintergrund-Subagenten](/docs/de/sub-agents#fork-the-current-conversation) zu verzweigen.

655* **Niedrige Kosten**: Während der [Prompt-Cache](/docs/de/prompt-caching) des Gesprächs warm ist, kostet eine Nebenfrage wenig über die Antwort selbst hinaus.656* **Niedrige Kosten**: Während der [Prompt-Cache](/docs/de/prompt-caching) des Gesprächs warm ist, kostet eine Nebenfrage wenig über die Antwort selbst hinaus.

656 657 

llm-gateway.md +1 −1

Details

28* **Audit-Protokollierung**: Protokollieren Sie jede Modellanfrage zur Compliance28* **Audit-Protokollierung**: Protokollieren Sie jede Modellanfrage zur Compliance

29* **Anbieter-Wechsel**: Ändern Sie den Anbieter in der Gateway-Konfiguration, ohne Entwicklermaschinen zu berühren29* **Anbieter-Wechsel**: Ändern Sie den Anbieter in der Gateway-Konfiguration, ohne Entwicklermaschinen zu berühren

30 30 

31Alle diese außer dem Anbieter-Wechsel gelten, ob der Upstream die API von Anthropic oder ein [Cloud-Anbieter](/docs/de/third-party-integrations) ist. Der Anbieter-Wechsel ohne Neukonfiguration von Entwicklermaschinen hängt auch davon ab, dass das Gateway einen einzelnen [Anthropic-Format-Endpunkt](/docs/de/llm-gateway-protocol#api-formats) unabhängig vom Upstream bereitstellt; ein Gateway, das das eigene Format eines Anbieters bereitstellt, bindet die Client-Konfiguration an diesen Anbieter.31Alle diese außer dem Anbieter-Wechsel gelten, ob der Upstream die API von Anthropic oder ein [Cloud-Anbieter](/docs/de/third-party-integrations) ist. Der Anbieter-Wechsel ohne Neukonfiguration von Entwicklermaschinen hängt auch davon ab, dass das Gateway einen einzelnen [Anthropic-Format-Endpunkt](/docs/de/llm-gateway-protocol#api-formats) unabhängig vom Upstream bereitstellt. Ein Gateway, das das eigene Format eines Anbieters bereitstellt, bindet die Client-Konfiguration an diesen Anbieter und ändert [was Claude Code sendet und welche Standardwerte es anwendet](/docs/de/llm-gateway-protocol#how-the-connection-method-changes-client-behavior).

32 32 

33Der Kompromiss besteht darin, dass das Gateway zu einer Infrastruktur wird, die Ihre Organisation betreibt. Claude Code fügt mit jeder Version Funktionen hinzu, und ein Gateway, das diese nicht weiterleitet, bricht die entsprechenden Funktionen, daher muss das Gateway-Produkt aktualisiert werden, wenn sich Claude Code entwickelt. Die [Gateway-Kompatibilitätsleitfaden](/docs/de/llm-gateway-protocol) behandelt, was weitergeleitet werden soll.33Der Kompromiss besteht darin, dass das Gateway zu einer Infrastruktur wird, die Ihre Organisation betreibt. Claude Code fügt mit jeder Version Funktionen hinzu, und ein Gateway, das diese nicht weiterleitet, bricht die entsprechenden Funktionen, daher muss das Gateway-Produkt aktualisiert werden, wenn sich Claude Code entwickelt. Die [Gateway-Kompatibilitätsleitfaden](/docs/de/llm-gateway-protocol) behandelt, was weitergeleitet werden soll.

34 34 

Details

286 ```286 ```

287</CodeGroup>287</CodeGroup>

288 288 

289<h3 id="slack-web-and-remote-control">289<h3 id="slack-cloud-sessions-and-remote-control">

290 Slack, Web und Remote Control290 Slack, Cloud-Sitzungen und Remote Control

291</h3>291</h3>

292 292 

293[Claude Code in Slack](/docs/de/slack) und [Claude Code im Web](/docs/de/claude-code-on-the-web) sind von Anthropic gehostete Produkte, die immer die Anthropic-API verwenden; sie sind nicht Teil einer Gateway-Bereitstellung. Gateway-Variablen, die in der Umgebungskonfiguration einer Cloud-Sitzung festgelegt sind, werden nicht angewendet. Wenn Ihr Datenverkehr auf dem Gateway bleiben muss, aktivieren Sie diese Oberflächen nicht für diese Benutzer.293[Claude Code in Slack](/docs/de/slack) und [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) verwenden immer die Anthropic-API; sie sind nicht Teil einer Gateway-Bereitstellung. Gateway-Variablen, die in der Umgebungskonfiguration einer Cloud-Sitzung festgelegt sind, werden nicht angewendet. Wenn Ihr Datenverkehr auf dem Gateway bleiben muss, aktivieren Sie diese Oberflächen nicht für diese Benutzer.

294 294 

295[Remote Control](/docs/de/remote-control) und [Sprachdiktat](/docs/de/voice-dictation) verlassen sich beide auf eine claude.ai-Identität: Remote Control, um eine Live-Sitzung mit Ihrem Konto zu koppeln, und Sprachdiktat, um den claude.ai-Transkriptions-Endpunkt zu erreichen. Sie sind nicht verfügbar, während `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder ein `apiKeyHelper` aktiv ist. Remote Control ist auch deaktiviert, während `ANTHROPIC_BASE_URL` auf einen Nicht-Anthropic-Host verweist, daher ist die Anmeldung mit claude.ai allein nicht ausreichend. Vor v2.1.196 hat eine Nicht-Anthropic-Basis-URL Remote Control nicht blockiert.295[Remote Control](/docs/de/remote-control) und [Sprachdiktat](/docs/de/voice-dictation) verlassen sich beide auf eine claude.ai-Identität: Remote Control, um eine Live-Sitzung mit Ihrem Konto zu koppeln, und Sprachdiktat, um den claude.ai-Transkriptions-Endpunkt zu erreichen. Sie sind nicht verfügbar, während `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder ein `apiKeyHelper` aktiv ist. Remote Control ist auch deaktiviert, während `ANTHROPIC_BASE_URL` auf einen Nicht-Anthropic-Host verweist, daher ist die Anmeldung mit claude.ai allein nicht ausreichend. Vor v2.1.196 hat eine Nicht-Anthropic-Basis-URL Remote Control nicht blockiert.

296 296 


587| `400`-Fehler, die `context_management`, `Extra inputs are not permitted` oder andere nicht erkannte Felder benennen | Das Gateway leitet Anfragen an einen Upstream weiter, der Felder ablehnt, die Claude Code an Anthropic-Format-Endpunkte sendet | Legen Sie `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` fest, das die meisten Pre-Release-Felder unterdrückt; siehe [Feature-Durchleitung](/docs/de/llm-gateway-protocol#feature-pass-through). Einige Betas werden nicht durch dieses Flag gated; für diese legen Sie die passende `CLAUDE_CODE_USE_*`-Anbieter-Variable fest, damit Claude Code nur das sendet, das dieser Anbieter akzeptiert |587| `400`-Fehler, die `context_management`, `Extra inputs are not permitted` oder andere nicht erkannte Felder benennen | Das Gateway leitet Anfragen an einen Upstream weiter, der Felder ablehnt, die Claude Code an Anthropic-Format-Endpunkte sendet | Legen Sie `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` fest, das die meisten Pre-Release-Felder unterdrückt; siehe [Feature-Durchleitung](/docs/de/llm-gateway-protocol#feature-pass-through). Einige Betas werden nicht durch dieses Flag gated; für diese legen Sie die passende `CLAUDE_CODE_USE_*`-Anbieter-Variable fest, damit Claude Code nur das sendet, das dieser Anbieter akzeptiert |

588| `400`-Fehler, die `thinking` oder `adaptive` benennen, z. B. `Input tag 'adaptive' found` | Der Upstream-Modell-Build akzeptiert keine adaptive Überlegung, die Claude Code für Claude 4.6 und neuere Modelle anfordert | Aktualisieren Sie den Upstream des Gateways. Auf Opus 4.6 und Sonnet 4.6 funktioniert stattdessen `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`. Die [Modellkonfiguration](/docs/de/model-config)-Fähigkeitsvariablen gelten nur für die Anbieter-Konfigurationen, z. B. `CLAUDE_CODE_USE_BEDROCK` und `CLAUDE_CODE_USE_VERTEX`, nicht hinter einem `ANTHROPIC_BASE_URL`-Gateway |588| `400`-Fehler, die `thinking` oder `adaptive` benennen, z. B. `Input tag 'adaptive' found` | Der Upstream-Modell-Build akzeptiert keine adaptive Überlegung, die Claude Code für Claude 4.6 und neuere Modelle anfordert | Aktualisieren Sie den Upstream des Gateways. Auf Opus 4.6 und Sonnet 4.6 funktioniert stattdessen `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`. Die [Modellkonfiguration](/docs/de/model-config)-Fähigkeitsvariablen gelten nur für die Anbieter-Konfigurationen, z. B. `CLAUDE_CODE_USE_BEDROCK` und `CLAUDE_CODE_USE_VERTEX`, nicht hinter einem `ANTHROPIC_BASE_URL`-Gateway |

589| `400`-Fehler, die einen Kontext- oder Token-Limit in den eigenen Worten des Gateways angeben, z. B. `ContextWindowExceededError` oder `prompt token count of N exceeds the limit of M` | Das Gateway erzwingt ein kleineres Kontext als das native Fenster des Modells und schreibt den Upstream-Fehler um, daher erkennt Claude Code ihn nicht als [zu-langer Fehler](/docs/de/errors#prompt-is-too-long) und komprimiert und versucht nicht automatisch erneut | Führen Sie `/compact` aus, um die Sitzung wiederherzustellen. Um dies zu verhindern, legen Sie `CLAUDE_CODE_AUTO_COMPACT_WINDOW` auf das Limit des Gateways fest; Claude Code begrenzt den Wert auf mindestens 100.000 Token und höchstens das Kontext-Fenster des Modells, daher kann ein Gateway-Limit unter 100.000 nicht abgeglichen werden und `/compact` bleibt die Wiederherstellung dort. Legen Sie auch `CLAUDE_CODE_MAX_OUTPUT_TOKENS` unter das Output-Limit des Gateway-Modells fest |589| `400`-Fehler, die einen Kontext- oder Token-Limit in den eigenen Worten des Gateways angeben, z. B. `ContextWindowExceededError` oder `prompt token count of N exceeds the limit of M` | Das Gateway erzwingt ein kleineres Kontext als das native Fenster des Modells und schreibt den Upstream-Fehler um, daher erkennt Claude Code ihn nicht als [zu-langer Fehler](/docs/de/errors#prompt-is-too-long) und komprimiert und versucht nicht automatisch erneut | Führen Sie `/compact` aus, um die Sitzung wiederherzustellen. Um dies zu verhindern, legen Sie `CLAUDE_CODE_AUTO_COMPACT_WINDOW` auf das Limit des Gateways fest; Claude Code begrenzt den Wert auf mindestens 100.000 Token und höchstens das Kontext-Fenster des Modells, daher kann ein Gateway-Limit unter 100.000 nicht abgeglichen werden und `/compact` bleibt die Wiederherstellung dort. Legen Sie auch `CLAUDE_CODE_MAX_OUTPUT_TOKENS` unter das Output-Limit des Gateway-Modells fest |

590| `400`-Fehler bei jeder Anfrage, in den eigenen Worten des Gateways, die das Eingabe-Schema eines Tools oder sein `pattern` ablehnen, auf Claude Code v2.1.265 bis v2.1.267 | Bei einem schrittweisen Rollout auf diesen Versionen trägt das [Artifact-Tool](/docs/de/artifacts#availability)-Schema einen regulären Ausdruck mit `\p{...}` Unicode-Zeichenklassen. Die Anthropic-API akzeptiert ihn, aber ein Gateway oder Upstream, der jedes Tool-Schema `pattern` mit seiner eigenen Regex-Engine überprüft, lehnt die gesamte Anfrage ab | Aktualisieren Sie auf v2.1.268 oder später, das den regulären Ausdruck nicht sendet. Auf einer betroffenen Version [deaktivieren Sie Artifacts](/docs/de/artifacts#disable-artifacts), das das Tool und sein Schema aus Anfragen entfernt |

590| Modelle fehlen im `/model`-Wähler | Gateway-Modellnamen sind nicht in der integrierten Liste von Claude Code enthalten, oder Claude Code zeigt eine [`modelPicker`](/docs/de/settings-reference#modelpicker)-Aufstellung, die die integrierten Optionen ersetzt | Aktivieren Sie die [Gateway-Modellermittlung](#add-gateway-models-to-the-model-picker) oder fügen Sie Namen mit den [Modellkonfiguration](/docs/de/model-config)-Variablen hinzu. Wenn Claude Code eine ersetzende `modelPicker`-Aufstellung zeigt, fügen Sie die Gateway-Modelle hinzu, oder bitten Sie Ihren Administrator, sie hinzuzufügen, wenn verwaltete Einstellungen es bereitstellen |591| Modelle fehlen im `/model`-Wähler | Gateway-Modellnamen sind nicht in der integrierten Liste von Claude Code enthalten, oder Claude Code zeigt eine [`modelPicker`](/docs/de/settings-reference#modelpicker)-Aufstellung, die die integrierten Optionen ersetzt | Aktivieren Sie die [Gateway-Modellermittlung](#add-gateway-models-to-the-model-picker) oder fügen Sie Namen mit den [Modellkonfiguration](/docs/de/model-config)-Variablen hinzu. Wenn Claude Code eine ersetzende `modelPicker`-Aufstellung zeigt, fügen Sie die Gateway-Modelle hinzu, oder bitten Sie Ihren Administrator, sie hinzuzufügen, wenn verwaltete Einstellungen es bereitstellen |

591| `/fast` meldet `Fast mode unavailable due to network connectivity issues` während Inferenz-Anfragen funktionieren | Die [Fast-Mode](/docs/de/fast-mode)-Verfügbarkeitsprüfung geht direkt zu `api.anthropic.com` und folgt nicht `ANTHROPIC_BASE_URL`, daher schlägt blockierter direkter Ausgang die Prüfung fehl. Die gleiche Nachricht erscheint in einem offenen Netzwerk, wenn die Prüfung einen vom Gateway ausgestellten Schlüssel von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` präsentiert und Anthropic ihn ablehnt | Allowlist `api.anthropic.com`, wenn Ausgang blockiert ist, oder legen Sie eine Skip-Variable fest; für einen abgelehnten Gateway-Schlüssel helfen nur die Skip-Variablen. Siehe [Fast-Mode hinter Proxys und LLM-Gateways verwenden](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |592| `/fast` meldet `Fast mode unavailable due to network connectivity issues` während Inferenz-Anfragen funktionieren | Die [Fast-Mode](/docs/de/fast-mode)-Verfügbarkeitsprüfung geht direkt zu `api.anthropic.com` und folgt nicht `ANTHROPIC_BASE_URL`, daher schlägt blockierter direkter Ausgang die Prüfung fehl. Die gleiche Nachricht erscheint in einem offenen Netzwerk, wenn die Prüfung einen vom Gateway ausgestellten Schlüssel von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` präsentiert und Anthropic ihn ablehnt | Allowlist `api.anthropic.com`, wenn Ausgang blockiert ist, oder legen Sie eine Skip-Variable fest; für einen abgelehnten Gateway-Schlüssel helfen nur die Skip-Variablen. Siehe [Fast-Mode hinter Proxys und LLM-Gateways verwenden](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

592| `/fast` meldet `Fast mode has been disabled by your organization` in einer Sitzung, die mit `ANTHROPIC_AUTH_TOKEN` authentifiziert ist, obwohl die Organisation Fast-Mode aktiviert hat | Die Verfügbarkeitsprüfung erfordert einen claude.ai-Login oder einen Anthropic-API-Schlüssel; mit nur einem Bearer-Token behandelt Claude Code Fast-Mode als deaktiviert, ohne die Prüfung zu senden | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` fest; siehe [Fast-Mode hinter Proxys und LLM-Gateways verwenden](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |593| `/fast` meldet `Fast mode has been disabled by your organization` in einer Sitzung, die mit `ANTHROPIC_AUTH_TOKEN` authentifiziert ist, obwohl die Organisation Fast-Mode aktiviert hat | Die Verfügbarkeitsprüfung erfordert einen claude.ai-Login oder einen Anthropic-API-Schlüssel; mit nur einem Bearer-Token behandelt Claude Code Fast-Mode als deaktiviert, ohne die Prüfung zu senden | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` fest; siehe [Fast-Mode hinter Proxys und LLM-Gateways verwenden](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

Details

4 4 

5# Claude Code Gateway-Kompatibilitätsleitfaden5# Claude Code Gateway-Kompatibilitätsleitfaden

6 6 

7> Halten Sie ein LLM-Gateway mit Claude Code kompatibel: die Endpunkte, die es aufruft, die Header und Body-Felder zum Weiterleiten, und was bricht, wenn sie entfernt werden.7> Halten Sie ein LLM-Gateway mit Claude Code kompatibel: die Endpunkte, die es aufruft, die Header und Body-Felder, die weitergeleitet werden müssen, und was bricht, wenn sie entfernt werden.

8 8 

9Diese Seite dokumentiert die Anfragen, die Claude Code an ein Gateway sendet, einschließlich der Endpunkte, die es aufruft, der Header und Body-Felder, die das Gateway weiterleiten muss, und welche Funktionen nicht mehr funktionieren, wenn dies nicht der Fall ist. Sie ist für Operatoren geschrieben, die ein Gateway-Produkt für die Zusammenarbeit mit Claude Code konfigurieren.9Diese Seite dokumentiert die Anfragen, die Claude Code an ein Gateway sendet, einschließlich der Endpunkte, die es aufruft, der Header und Body-Felder, die das Gateway weiterleiten muss, und welche Funktionen nicht mehr funktionieren, wenn diese nicht weitergeleitet werden. Sie ist für Betreiber geschrieben, die ein Gateway-Produkt für die Zusammenarbeit mit Claude Code konfigurieren.

10 10 

11Das [Claude-Apps-Gateway](/docs/de/claude-apps-gateway), Anthropics selbstgehostetes Gateway, stellt seine eigene Endpunkt-Referenz unter `GET /protocol` bereit, die die Anmeldung, Inferenz, verwalteten Einstellungen, Modellermittlung und Telemetrie-Endpunkte dieses Gateways abdeckt. Es ist ein separates Dokument von diesem Leitfaden.11Das [Claude Apps Gateway](/docs/de/claude-apps-gateway), Anthropics selbstgehostetes Gateway, stellt seine eigene Endpunkt-Referenz unter `GET /protocol` bereit, die die Sign-in-, Inference-, verwalteten Einstellungen-, Modellerkennungs- und Telemetrie-Endpunkte dieses Gateways abdeckt. Es ist ein separates Dokument von diesem Leitfaden.

12 12 

13<Note>13<Note>

14 * Um ein vorhandenes oder Gateway eines Drittanbieters für Ihre Organisation bereitzustellen, siehe [LLM-Gateway bereitstellen](/docs/de/llm-gateway-rollout)14 * Um ein vorhandenes oder Gateway eines Drittanbieters für Ihre Organisation bereitzustellen, siehe [Rollout eines LLM-Gateways](/docs/de/llm-gateway-rollout)

15 * Wenn Sie ein einzelner Entwickler sind, der Claude Code mit einer Anmeldedaten, die Sie erhalten haben, bei einem Gateway authentifiziert, siehe [Claude Code mit einem LLM-Gateway verbinden](/docs/de/llm-gateway-connect)15 * Wenn Sie ein einzelner Entwickler sind, der Claude Code mit einem Ihnen gegebenen Anmeldedaten bei einem Gateway authentifiziert, siehe [Claude Code mit einem LLM-Gateway verbinden](/docs/de/llm-gateway-connect)

16</Note>16</Note>

17 17 

18Diese Seite behandelt:18Diese Seite behandelt:

19 19 

20* [API-Formate](#api-formats) und die Endpunkte, die für jedes bereitgestellt werden sollen20* [API-Formate](#api-formats) und die Endpunkte, die für jedes bereitgestellt werden müssen

21* [Request-Header](#request-headers): welche das Upstream erreichen müssen und welche Ihr Gateway verbrauchen kann21* [Client-Verhalten nach Verbindungsmethode](#how-the-connection-method-changes-client-behavior): wie sich Modell-IDs, `anthropic-beta`-Werte, Anforderungsfelder und Standardwerte zwischen den Formaten und einer Claude Apps Gateway-Anmeldung unterscheiden

22* [Anforderungs-Header](#request-headers): welche den Upstream erreichen müssen und welche Ihr Gateway verbrauchen kann

23* [Antwort-Header](#response-headers): was zurückgegeben werden muss, damit Stall-Erkennung, Wiederholungen und die Anzeige von Nutzungslimits funktionieren

22* Der [System-Prompt-Attributionsblock](#system-prompt-attribution-block) und wie er mit Prompt-Caching interagiert24* Der [System-Prompt-Attributionsblock](#system-prompt-attribution-block) und wie er mit Prompt-Caching interagiert

23* [Funktionsdurchleitung](#feature-pass-through): was bricht, wenn Header oder Body-Felder gelöscht werden25* [Feature-Weitergabe](#feature-pass-through): was bricht, wenn Header oder Body-Felder entfernt werden

24* [Modellermittlung](#model-discovery)26* [Modellermittlung](#model-discovery)

25 27 

26Diese Seite verwendet zwei Begriffe für das, was Ihr Gateway mit jedem Header und Body-Feld tut:28Diese Seite verwendet zwei Begriffe für das, was Ihr Gateway mit jedem Header und Body-Feld tut:

27 29 

28* **Unverändert weiterleiten**: es Byte-für-Byte an das Upstream weitergeben30* **Unverändert weiterleiten**: es byte-für-byte an den Upstream weitergeben

29* **Verbrauchen**: das Gateway kann es zum Routing, zur Zuordnung oder zum Tracing lesen und muss es nicht weiterleiten31* **Verbrauchen**: das Gateway kann es zum Routing, zur Zuordnung oder zum Tracing lesen und muss es nicht weiterleiten

30 32 

31Alles, das nicht als unverändert weiterleiten gekennzeichnet ist, können Sie verbrauchen oder ignorieren.33Alles, das nicht als unverändert weitergeleitet markiert ist, können Sie verbrauchen oder ignorieren.

32 34 

33<h2 id="api-formats">35<h2 id="api-formats">

34 API-Formate36 API-Formate


36 38 

37Ein Gateway muss mindestens eines der folgenden API-Formate für Claude Code-Clients bereitstellen. Ein Client wählt ein Format aus und verweist Claude Code auf Ihr Gateway mit den Variablen in der Spalte „Ausgewählt von" der folgenden Tabelle.39Ein Gateway muss mindestens eines der folgenden API-Formate für Claude Code-Clients bereitstellen. Ein Client wählt ein Format aus und verweist Claude Code auf Ihr Gateway mit den Variablen in der Spalte „Ausgewählt von" der folgenden Tabelle.

38 40 

39Google Cloud's Agent Platform ist Googles Claude-Endpunkt, ehemals Vertex AI; seine Variablennamen behalten die Schreibweise `VERTEX`.41Google Cloud's Agent Platform ist Google Clouds Claude-Endpunkt, ehemals Vertex AI; seine Variablennamen behalten die Schreibweise `VERTEX`.

40 42 

41| Format | Ausgewählt von | Endpunkte | Unverändert weiterleiten |43| Format | Ausgewählt von | Endpunkte | Unverändert weitergeleitet |

42| :--------------------------------------- | :----------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ |44| :--------------------------------------- | :----------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- |

43| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (optional) | `anthropic-beta` und `anthropic-version` Request-Header |45| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (optional) | `anthropic-beta` und `anthropic-version` Request-Header |

44| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` mit `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (optional) | `anthropic_beta` und `anthropic_version` Request-Body-Felder |46| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` mit `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (optional) | `anthropic_beta` und `anthropic_version` Request-Body-Felder |

45| Google Cloud's Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` mit `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (optional) | `anthropic-beta` und `anthropic-version` Request-Header sowie das `anthropic_version` Request-Body-Feld |47| Google Cloud's Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` mit `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (optional) | `anthropic-beta` und `anthropic-version` Request-Header sowie das Feld `anthropic_version` im Request-Body |

46 48 

47<h3 id="foundry-and-claude-platform-on-aws">49<h3 id="foundry-and-claude-platform-on-aws">

48 Foundry und Claude Platform on AWS50 Foundry und Claude Platform on AWS

49</h3>51</h3>

50 52 

51Microsoft Foundry und die [Claude Platform on AWS](/docs/de/claude-platform-on-aws) implementieren das Anthropic Messages-Format. Claude Code leitet sie über ihre eigenen Variablen weiter, `ANTHROPIC_FOUNDRY_BASE_URL` und `ANTHROPIC_AWS_BASE_URL`, aber ein Gateway, das eines von beiden frontet, implementiert die Anthropic Messages-Zeile oben. Ein Gateway, das die Claude Platform on AWS frontet, muss auch den `anthropic-workspace-id`-Header weiterleiten, den [diese Plattform bei jeder Anfrage benötigt](/docs/de/claude-platform-on-aws).53Microsoft Foundry und die [Claude Platform on AWS](/docs/de/claude-platform-on-aws) implementieren das Anthropic Messages-Format. Claude Code leitet zu ihnen über ihre eigenen Variablen weiter, `ANTHROPIC_FOUNDRY_BASE_URL` und `ANTHROPIC_AWS_BASE_URL`, aber ein Gateway, das eines von beiden frontet, implementiert die Anthropic Messages-Zeile oben. Ein Gateway, das die Claude Platform on AWS frontet, muss auch den Header `anthropic-workspace-id` weitergeleitet, den [diese Plattform bei jeder Anfrage erfordert](/docs/de/claude-platform-on-aws).

52 54 

53<h3 id="optional-endpoints-and-startup-traffic">55<h3 id="optional-endpoints-and-startup-traffic">

54 Optionale Endpunkte und Startup-Traffic56 Optionale Endpunkte und Startup-Traffic


56 58 

57Token-Counting-Endpunkte sind die einzigen optionalen: Wenn sie fehlen, greift Claude Code auf eine zeichenbasierte Schätzung der Kontextnutzung zurück.59Token-Counting-Endpunkte sind die einzigen optionalen: Wenn sie fehlen, greift Claude Code auf eine zeichenbasierte Schätzung der Kontextnutzung zurück.

58 60 

59Gleichen Sie auf dem Pfad ab, nicht auf der vollständigen URL:61Gleichen Sie den Pfad ab, nicht die vollständige URL:

60 62 

61* Inferenzanfragen werden an `/v1/messages?beta=true` gesendet63* Inferenzanfragen werden an `/v1/messages?beta=true` gesendet

62* Die Google Cloud's Agent Platform-Methode hängt Suffixe an den Publisher-Modellpfad an, wie in `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`64* Die Google Cloud's Agent Platform-Methode hängt Suffixe an den Publisher-Modellpfad an, wie in `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`

63 65 

64Ein Gateway sieht auch Best-Effort-Startup-Traffic, den es ablehnen kann, ohne etwas zu unterbrechen. Ein Anthropic Messages-Format-Gateway empfängt eine `HEAD /api/hello` Verbindungs-Aufwärm-Sonde, die Claude Code überspringt, wenn ein HTTP-Proxy oder Client-Zertifikat konfiguriert ist. Ein Amazon Bedrock-Format-Gateway empfängt eine `GET /inference-profiles?type=SYSTEM_DEFINED` Anfrage und, wenn das konfigurierte Modell ein Inferenzprofil ist, `GET /inference-profiles/{profile}` Lookups.66Ein Gateway sieht auch Best-Effort-Startup-Traffic, den es ablehnen kann, ohne etwas zu unterbrechen. Ein Anthropic Messages-Format-Gateway empfängt eine `HEAD /api/hello` Verbindungs-Aufwärm-Sonde, die Claude Code überspringt, wenn ein HTTP-Proxy oder ein Client-Zertifikat konfiguriert ist. Ein Amazon Bedrock-Format-Gateway empfängt eine `GET /inference-profiles?type=SYSTEM_DEFINED` Anfrage und, wenn das konfigurierte Modell ein Inferenzprofil ist, `GET /inference-profiles/{profile}` Lookups.

65 67 

66Die [Fast-Mode](/docs/de/fast-mode) Verfügbarkeitsprüfung erscheint niemals in Gateway-Protokollen: Sie ruft `api.anthropic.com` direkt auf, anstatt `ANTHROPIC_BASE_URL` zu folgen, daher kann auf einem Netzwerk, das direkten Ausgang zu `api.anthropic.com` blockiert, Fast Mode einen Konnektivitätsfehler melden, während Inferenz durch das Gateway weiterhin funktioniert. Die [WebFetch-Domänensicherheitsprüfung](/docs/de/data-usage#webfetch-domain-safety-check) ruft auch `api.anthropic.com` direkt auf. [Verwenden Sie Fast Mode hinter Proxys und LLM-Gateways](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) behandelt die Variablen, die es wiederherstellen.68Die [Fast Mode](/docs/de/fast-mode) Verfügbarkeitsprüfung erscheint niemals in Gateway-Protokollen: Sie ruft `api.anthropic.com` direkt auf, anstatt `ANTHROPIC_BASE_URL` zu folgen, sodass in einem Netzwerk, das direkten Ausgang zu `api.anthropic.com` blockiert, Fast Mode einen Konnektivitätsfehler melden kann, während die Inferenz durch das Gateway weiterhin funktioniert. Die [WebFetch-Domänensicherheitsprüfung](/docs/de/data-usage#webfetch-domain-safety-check) ruft auch `api.anthropic.com` direkt auf. [Verwenden Sie Fast Mode hinter Proxys und LLM-Gateways](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) behandelt die Variablen, die es wiederherstellen.

67 69 

68<h3 id="streaming">70<h3 id="streaming">

69 Streaming71 Streaming

70</h3>72</h3>

71 73 

72Streamen Sie Inferenzantworten. Claude Code liest den Stream, während er ankommt, daher stellt ein Gateway, das vollständige Antworten puffert, bevor es sie weiterleitet, Claude Code still.74Streamen Sie Inferenzantworten. Claude Code liest den Stream, während er ankommt, also wenn Ihr Gateway vollständige Antworten puffert, bevor es sie weiterleitet, stellt Claude Code fest.

73 75 

74Wenn der Client das Amazon Bedrock-Format spricht, leiten Sie den `InvokeModelWithResponseStream` Response-Body und seinen `Content-Type: application/vnd.amazon.eventstream` Header unverändert weiter, und konvertieren Sie den Stream nicht in Server-Sent Events. Siehe [Streaming-Fehler hinter einem Gateway oder Proxy](/docs/de/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).76Wenn der Client das Amazon Bedrock-Format spricht, leiten Sie den `InvokeModelWithResponseStream` Response-Body und seinen Header `Content-Type: application/vnd.amazon.eventstream` unverändert weiter, und konvertieren Sie den Stream nicht in Server-Sent Events. Siehe [Streaming-Fehler hinter einem Gateway oder Proxy](/docs/de/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).

75 77 

76Leiten Sie auch Keep-Alive-Pings weiter. Bei Verbindungen über `ANTHROPIC_BASE_URL` oder `ANTHROPIC_AWS_BASE_URL` zählt Claude Code jedes Byte, das Ihr Gateway weiterleitet, einschließlich SSE `ping` Events und Kommentarzeilen, und bricht einen Stream ab, der standardmäßig 300 Sekunden lang stumm ist. Die Pings des Upstream sind der einzige Traffic während langer Denkpausen, daher bricht Claude Code den Stream ab, wenn Ihr Gateway sie entfernt oder puffert, während dieser Pausen; [Automatische Wiederholungen](/docs/de/errors#automatic-retries) behandelt, was ein abgebrochener Stream basierend darauf meldet, wie weit die Antwort fortgeschritten war. Ein Upstream, der überhaupt keine Pings sendet, wie Amazon Bedrock's binärer Event-Stream, hinterlässt diese Pausen ohne etwas zum Weiterleiten. Beim Übersetzen von einem solchen Upstream geben Sie Ihre eigenen `ping` Events während stiller Lücken aus. Gateways, die über `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` oder `ANTHROPIC_FOUNDRY_BASE_URL` erreichbar sind, werden nicht von diesem Byte-Level-Watchdog umhüllt, auch wenn sie das Anthropic Messages-Format weiterleiten; dort bricht ein [5-Minuten-Idle-Timeout](/docs/de/env-vars) einen stummen Stream statt ab, und bei `ANTHROPIC_BEDROCK_BASE_URL` Verbindungen können Sie den Byte-Watchdog mit [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/de/env-vars) hinzufügen.78Leiten Sie auch Keep-Alive-Pings weiter. Bei Verbindungen über `ANTHROPIC_BASE_URL` oder `ANTHROPIC_AWS_BASE_URL` zählt Claude Code jedes Byte, das Ihr Gateway weiterleitet, einschließlich SSE `ping` Events und Kommentarzeilen, und bricht einen Stream ab, der standardmäßig 300 Sekunden lang stumm ist. Die Pings des Upstream sind der einzige Traffic während langer Denkpausen, also wenn Ihr Gateway sie entfernt oder puffert, bricht Claude Code den Stream während dieser Pausen ab; [Automatische Wiederholungen](/docs/de/errors#automatic-retries) behandelt, was ein abgebrochener Stream basierend darauf meldet, wie weit die Antwort fortgeschritten war. Ein Upstream, der überhaupt keine Pings sendet, wie Amazon Bedrocks binärer Event-Stream, lässt diese Pausen ohne etwas zum Weiterleiten. Beim Übersetzen von einem solchen Upstream geben Sie Ihre eigenen `ping` Events während stiller Lücken aus. Gateways, die über `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` oder `ANTHROPIC_FOUNDRY_BASE_URL` erreicht werden, sind nicht von dieser Byte-Level-Überwachung umgeben, auch wenn sie das Anthropic Messages-Format weitergeleitet; dort bricht ein [5-Minuten-Idle-Timeout](/docs/de/env-vars) einen stummen Stream statt ab, und bei `ANTHROPIC_BEDROCK_BASE_URL` Verbindungen können Sie die Byte-Überwachung mit [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/de/env-vars) hinzufügen.

77 79 

78<h3 id="format-mismatch-with-the-upstream">80<h3 id="format-mismatch-with-the-upstream">

79 Format-Mismatch mit dem Upstream81 Format-Nichtübereinstimmung mit dem Upstream

80</h3>82</h3>

81 83 

82Welches Format der Client spricht, bestimmt, was Ihr Gateway empfängt. Der häufige Fehlermodus ist ein Mismatch zwischen dem Format, das der Client an Ihr Gateway sendet, und dem Format, das der Upstream-Provider dahinter akzeptiert.84Welches Format der Client spricht, bestimmt, was Ihr Gateway empfängt. Der häufige Fehlermodus ist eine Nichtübereinstimmung zwischen dem Format, das der Client an Ihr Gateway sendet, und dem Format, das der Upstream-Provider dahinter akzeptiert.

83 85 

84* Wenn der Client das Amazon Bedrock- oder Google Cloud's Agent Platform-Format spricht, sendet Claude Code nur die Teilmenge seiner vollständigen Funktionsmenge, die diese Provider akzeptieren86* Wenn der Client das Amazon Bedrock- oder Google Cloud's Agent Platform-Format spricht, sendet Claude Code nur die Teilmenge seines vollständigen Funktionssatzes, die diese Provider akzeptieren

85* Wenn der Client das Anthropic Messages-Format spricht, sendet Claude Code die vollständige Menge, auch wenn Ihr Gateway an ein Amazon Bedrock- oder Google Cloud's Agent Platform-Upstream weiterleitet87* Wenn der Client das Anthropic Messages-Format spricht, sendet Claude Code den vollständigen Satz, auch wenn Ihr Gateway an einen Amazon Bedrock- oder Google Cloud's Agent Platform-Upstream weiterleitet

86 88 

87Diese Differenz zu überbrücken ist die Aufgabe Ihres Gateways. [Funktionsdurchleitung](#feature-pass-through) beschreibt, was bricht, wenn dies nicht der Fall ist.89Diese Differenz zu überbrücken ist die Aufgabe Ihres Gateways. [Feature-Durchleitung](#feature-pass-through) beschreibt, was bricht, wenn es nicht funktioniert.

90 

91Wenn Ihr Upstream Amazon Bedrock oder Google Cloud's Agent Platform ist, können Sie die Überbrückung vermeiden, indem Sie stattdessen das Format dieses Providers bereitstellen. [Route zu einem Cloud-Provider über ein Gateway](/docs/de/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) zeigt die Client-Konfiguration für dieses Format.

92 

93<h2 id="how-the-connection-method-changes-client-behavior">

94 Wie die Verbindungsmethode das Verhalten des Clients ändert

95</h2>

96 

97Die Art und Weise, wie ein Entwickler sich mit Ihrem Gateway verbindet, bestimmt, welche Modell-IDs, `anthropic-beta`-Werte und Anforderungsfelder Claude Code sendet, und welche Standardwerte er anwendet. Ihr Gateway sieht eines von drei Client-Verhaltensweisen:

98 

99* **Amazon Bedrock oder Agent Platform-Format**: Der Entwickler setzt `CLAUDE_CODE_USE_BEDROCK=1` mit `ANTHROPIC_BEDROCK_BASE_URL` oder `CLAUDE_CODE_USE_VERTEX=1` mit `ANTHROPIC_VERTEX_BASE_URL`, die auf Ihr Gateway verweisen. Claude Code verwendet die Modell-IDs, Anforderungsfelder und Standardwerte dieses Anbieters.

100* **Anthropic Messages-Format**: Der Entwickler setzt `ANTHROPIC_BASE_URL` auf Ihr Gateway. Claude Code behandelt das Gateway als die Claude API und kann nicht erkennen, an welchen Upstream Sie weiterleiten.

101* **Claude Apps Gateway-Anmeldung**: Der Entwickler meldet sich bei einem [Claude Apps Gateway](/docs/de/claude-apps-gateway) an. Dieses Gateway spricht das Anthropic Messages-Format, kann aber an jeden Upstream weiterleiten, daher sendet Claude Code nur die `anthropic-beta`-Werte und Modell-Funktionsannahmen, die Amazon Bedrock und Agent Platform ebenfalls akzeptieren.

102 

103<h3 id="requests-and-defaults-by-connection-method">

104 Anforderungen und Standardwerte nach Verbindungsmethode

105</h3>

106 

107Die folgende Tabelle vergleicht die drei Verbindungsmethoden, ein Verhalten pro Zeile. Sie lässt Microsoft Foundry und Claude Platform on AWS aus, die ebenfalls das Anthropic Messages-Format verwenden, aber die Claude Code über ihre eigenen Variablen erreicht. Für diese siehe die Seiten [Microsoft Foundry](/docs/de/microsoft-foundry) und [Claude Platform on AWS](/docs/de/claude-platform-on-aws).

108 

109| Verhalten | Amazon Bedrock oder Agent Platform-Format | Anthropic Messages-Format | Claude Apps Gateway-Anmeldung |

110| :------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |

111| Modell-IDs in Anforderungen standardmäßig | Das Format des Anbieters, z. B. `us.anthropic.claude-opus-4-8` auf Amazon Bedrock | Anthropic-IDs, z. B. `claude-opus-4-8` | Anthropic-IDs |

112| Gesendete `anthropic-beta`-Werte | Die Teilmenge, die Amazon Bedrock und Agent Platform akzeptieren | Der vollständige Satz, der unter [Feature Pass-Through](#feature-pass-through) beschrieben ist, sofern der Entwickler nicht [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) setzt | Die Teilmenge, die Amazon Bedrock und Agent Platform akzeptieren |

113| Anforderungsfelder für eine Modell-ID, die Claude Code nicht erkennt, z. B. ein Gateway-Alias | Thinking mit einem festen Budget statt adaptiver Argumentation und keine Aufwands- oder Kontextverwaltungsfelder | Alles, was aktuelle Claude-Modelle auf der Claude API akzeptieren, einschließlich adaptiver Argumentation, Aufwand und Kontextverwaltung, die ein Amazon Bedrock oder Agent Platform Upstream ablehnen kann | Gleich wie das Amazon Bedrock oder Agent Platform-Format |

114| Eine Stunde [Prompt Cache TTL](/docs/de/prompt-caching#choose-the-ttl-yourself), wenn sich ein Entwickler anmeldet | Angefordert über das Feld `ttl` in `cache_control`, ohne Beta-Wert | Angefordert über das Feld `ttl` plus einen `extended-cache-ttl`-Wert in `anthropic-beta`, den Sie weiterleiten müssen | Siehe die Tabelle [Verfügbarkeit und Einschränkungen](/docs/de/claude-apps-gateway#availability-and-limitations) des Claude Apps Gateway |

115| Modell für [Hintergrundaufgaben](/docs/de/costs#background-token-usage), sofern `ANTHROPIC_DEFAULT_HAIKU_MODEL` keinen festlegt | Das Standard-Sonnet-Modell oder das Hauptmodell, sobald eines ausgewählt ist, wie die Seiten [Amazon Bedrock](/docs/de/amazon-bedrock#4-pin-model-versions) und [Agent Platform](/docs/de/google-vertex-ai#5-pin-model-versions) beschreiben | Das Hauptmodell oder das Standard-Haiku-Modell, wenn `ANTHROPIC_API_KEY` oder `apiKeyHelper` einen Anthropic Console-Schlüssel bereitstellt und `ANTHROPIC_AUTH_TOKEN` nicht gesetzt ist | Das Hauptmodell |

116 

117Für die Funktionen, die jede Verbindung unterstützt, und die Telemetrie, die sie standardmäßig an Anthropic sendet, siehe [Feature-Verfügbarkeit](/docs/de/feature-availability#availability-by-model-provider) und [Standardverhalten nach API-Anbieter](/docs/de/data-usage#default-behaviors-by-api-provider).

118 

119<h3 id="settings-for-unrecognized-model-ids">

120 Einstellungen für nicht erkannte Modell-IDs

121</h3>

122 

123Zwei clientseitige Einstellungen ändern, was Claude Code für eine Modell-ID annimmt, die es nicht erkennt, unabhängig davon, welche Verbindungsmethode der Entwickler verwendet:

124 

125* **Kontextfenster**: Claude Code nimmt 200K an, oder 1M, wenn die ID `[1m]` trägt. Um das echte Fenster zu deklarieren, siehe [Korrigieren Sie das Fenster für eine Gateway- oder benutzerdefinierte Modell-ID](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id)

126* **Funktionen**: Um einem Gateway-Alias die Funktionen des dahinter liegenden Modells zu geben, ordnen Sie die Anthropic-ID dieses Modells Ihrem Alias mit einem [`modelOverrides`](/docs/de/errors#unrecognized-model-id-on-a-request)-Eintrag in den Einstellungen zu, die Sie verteilen. Für den Ort, an dem die Variablen `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` gelten, siehe [Feature Pass-Through](#feature-pass-through)

88 127 

89<h2 id="request-headers">128<h2 id="request-headers">

90 Request-Header129 Request-Header


115 154 

116Die Ausnahme ist ein Nicht-Anthropic-Upstream wie Amazon Bedrock oder Google Cloud Agent Platform, wo die Überbrückung der Schemadifferenz die Aufgabe des Gateways ist; siehe [Funktionsdurchleitung](#feature-pass-through).155Die Ausnahme ist ein Nicht-Anthropic-Upstream wie Amazon Bedrock oder Google Cloud Agent Platform, wo die Überbrückung der Schemadifferenz die Aufgabe des Gateways ist; siehe [Funktionsdurchleitung](#feature-pass-through).

117 156 

157<h2 id="response-headers">

158 Antwortheader

159</h2>

160 

161Claude Code liest diese Antwortheader, um stagnierende Streams zu erkennen, um zu entscheiden, ob und wann erneut versucht werden soll, und um Nutzungslimits anzuzeigen. Die Tabelle listet auf, was für jeden Header zurückgegeben werden soll. Leiten Sie auch Fehlerantworttexte unverändert weiter, damit Claude Code's [Fehlertoleranz bei Funktionsablehnung](#automatic-retry-and-error-forwarding) die Fehlerformulierung des Upstream-Systems abgleichen kann.

162 

163| Header | Was zurückgegeben werden soll und warum |

164| :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

165| `content-type` | Geben Sie `text/event-stream` bei gestreamten Anthropic Messages-Format-Antworten zurück und `application/vnd.amazon.eventstream`, unverändert, bei Amazon Bedrock-Format-Antworten, wobei [ein anderer Typ die Anfrage fehlschlagen lässt](/docs/de/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [Streaming](#streaming) listet auf, welche Verbindungen Stagnationserkennung auf diesen Streams ausführen |

166| `retry-after` | Geben Sie Ganzzahlsekunden statt eines HTTP-Datums zurück. Claude Code wartet mindestens so lange, bevor der nächste [automatische Wiederholungsversuch](/docs/de/errors#automatic-retries) erfolgt, und außerhalb von [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/de/env-vars) Sessions stoppt ein Wert über 60 die Wiederholungsversuche und zeigt den Fehler sofort an |

167| `x-should-retry` | Leiten Sie den Wert des Upstream-Systems unverändert durch. Claude Code liest diesen Header als eine Eingabe, wenn entschieden wird, ob ein fehlgeschlagener Request erneut versucht werden soll: `true` markiert die Antwort als wiederholbar und `false` markiert sie als nicht wiederholbar. Für Wiederholungszählungen, Backoff und welche Fehler Claude Code erneut versucht, siehe [automatische Wiederholungsversuche](/docs/de/errors#automatic-retries) |

168| `anthropic-ratelimit-unified-*` | Leiten Sie die Werte des Upstream-Systems unverändert bei jeder Antwort weiter. Claude Code liest sie bei erfolgreichen Antworten, um die Nutzung gegen Planlimits für bei claude.ai angemeldete Entwickler anzuzeigen, und bei einem `429`, um ein Planlimit oder Ausgabenlimit von einer temporären Drosselung zu unterscheiden; siehe [Nutzungslimits](/docs/de/errors#usage-limits) |

169 

118<h2 id="system-prompt-attribution-block">170<h2 id="system-prompt-attribution-block">

119 System-Prompt-Attributionsblock171 System-Prompt-Attributionsblock

120</h2>172</h2>


155| [Kontextverwaltung](https://platform.claude.com/docs/de/build-with-claude/context-editing) | Kontextverwaltungs-Beta-Header paart sich mit dem `context_management` Body-Feld | `400` mit `Extra inputs are not permitted`. Häufig, wenn ein Gateway Anthropic-Format-Anfragen akzeptiert, aber an Amazon Bedrock weiterleitet | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/de/env-vars) |207| [Kontextverwaltung](https://platform.claude.com/docs/de/build-with-claude/context-editing) | Kontextverwaltungs-Beta-Header paart sich mit dem `context_management` Body-Feld | `400` mit `Extra inputs are not permitted`. Häufig, wenn ein Gateway Anthropic-Format-Anfragen akzeptiert, aber an Amazon Bedrock weiterleitet | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/de/env-vars) |

156| [Erweiterter Kontext](https://platform.claude.com/docs/de/build-with-claude/context-windows#context-window-sizes-by-model) und [verschachteltes Denken](https://platform.claude.com/docs/de/build-with-claude/extended-thinking#interleaved-thinking) | Nur Beta-Header, kein Body-Feld | Stillschweigend nicht verfügbar, wenn der Header gelöscht wird; das Upstream sieht die Funktionsanfrage nie | Leiten Sie `anthropic-beta` wörtlich weiter |208| [Erweiterter Kontext](https://platform.claude.com/docs/de/build-with-claude/context-windows#context-window-sizes-by-model) und [verschachteltes Denken](https://platform.claude.com/docs/de/build-with-claude/extended-thinking#interleaved-thinking) | Nur Beta-Header, kein Body-Feld | Stillschweigend nicht verfügbar, wenn der Header gelöscht wird; das Upstream sieht die Funktionsanfrage nie | Leiten Sie `anthropic-beta` wörtlich weiter |

157| Beta [Tool-Felder](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Tool-bezogene Beta-Header paaren sich mit Tool-Schema-Feldern wie `strict` und `defer_loading` | `400` mit Nennung des nicht erkannten Tool-Schema-Feldes, wenn der Body ohne seinen Header durchgeht | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |209| Beta [Tool-Felder](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Tool-bezogene Beta-Header paaren sich mit Tool-Schema-Feldern wie `strict` und `defer_loading` | `400` mit Nennung des nicht erkannten Tool-Schema-Feldes, wenn der Body ohne seinen Header durchgeht | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

158| [Aufwand](https://platform.claude.com/docs/de/build-with-claude/effort) und [strukturierte Ausgaben](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) | Das `output_config` Body-Feld trägt Aufwand, strukturierte Ausgabeformat und Task-Budget-Einstellungen; jedes paart sich mit seinem eigenen Beta-Header | `400` mit Nennung von `output_config`, oft `Extra inputs are not permitted`, auf Bedrock- und Agent-Platform-Upstreams | Leiten Sie das Feld und seine Header zusammen weiter |210| [Aufwand](https://platform.claude.com/docs/de/build-with-claude/effort) und [strukturierte Ausgaben](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) | Das `output_config` Body-Feld trägt Aufwand, strukturierte Ausgabeformat und Task-Budget-Einstellungen; jedes paart sich mit seinem eigenen Beta-Header | `400` mit Nennung von `output_config`, oft `Extra inputs are not permitted`, auf Amazon Bedrock und Google Cloud Agent Platform Upstreams | Leiten Sie das Feld und seine Header zusammen weiter |

159| [Prompt Caching](/docs/de/prompt-caching) | Keine Beta-Paarung. Claude Code fügt `cache_control` Marker an `system` Blöcke und an `messages` Einträge an, einschließlich `role: "system"` Einträge, die mid-conversation angehängt werden | Kein Fehler: das Gespräch wird bei jedem Turn als unkacherter Input abgerechnet, sichtbar als hohe `input_tokens` mit wenig oder keiner Cache-Aktivität in `usage` | Leiten Sie `cache_control` unverändert weiter, wo immer es erscheint, und konvertieren Sie nicht Block-Form `system` oder Message-Inhalte in einfache Strings |211| [Prompt Caching](/docs/de/prompt-caching) | Keine Beta-Paarung. Claude Code fügt `cache_control` Marker an `system` Blöcke und an `messages` Einträge an, einschließlich `role: "system"` Einträge, die mid-conversation angehängt werden | Kein Fehler: das Gespräch wird bei jedem Turn als unkacherter Input abgerechnet, sichtbar als hohe `input_tokens` mit wenig oder keiner Cache-Aktivität in `usage` | Leiten Sie `cache_control` unverändert weiter, wo immer es erscheint, und konvertieren Sie nicht Block-Form `system` oder Message-Inhalte in einfache Strings |

160| [Token Counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Keine Beta-Paarung; verwendet den `count_tokens` Endpunkt | Kein Fehler: Claude Code fällt auf eine zeichenbasierte Schätzung zurück, daher zeigt `/context` ungefähre Zählungen | Stellen Sie den Endpunkt für genaue Token-Zählungen bereit |212| [Token Counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Keine Beta-Paarung; verwendet den `count_tokens` Endpunkt | Kein Fehler: Claude Code fällt auf eine zeichenbasierte Schätzung zurück, daher zeigt `/context` ungefähre Zählungen | Stellen Sie den Endpunkt für genaue Token-Zählungen bereit |

161 213 


168Was Claude Code nach einer Upstream-Ablehnung tut, hängt davon ab, was abgelehnt wurde:220Was Claude Code nach einer Upstream-Ablehnung tut, hängt davon ab, was abgelehnt wurde:

169 221 

170* Wenn das Upstream das `thinking` Feld, eine Mid-Conversation-Systemnachricht oder den `cache_control` Marker auf einer solchen Nachricht ablehnt, versucht Claude Code die Anfrage erneut und deaktiviert die abgelehnte Funktion für den Rest des Gesprächs222* Wenn das Upstream das `thinking` Feld, eine Mid-Conversation-Systemnachricht oder den `cache_control` Marker auf einer solchen Nachricht ablehnt, versucht Claude Code die Anfrage erneut und deaktiviert die abgelehnte Funktion für den Rest des Gesprächs

171* Wenn das Upstream eine [Thinking-Signatur](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) ablehnt, versucht Claude Code die Anfrage ohne die früheren Thinking-Blöcke des Gesprächs erneut und hält sie aus jeder späteren Anfrage heraus. Neue Antworten enthalten immer noch Thinking223* Wenn das Upstream eine [Thinking-Signatur](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) ablehnt, einschließlich mit einem `400` dessen Nachricht besagt, dass der Block `bound to a different conversation` ist, entfernt Claude Code frühere Thinking-Blöcke aus der Anfrage, versucht erneut und hält sie aus jeder späteren Anfrage heraus. Neue Antworten enthalten immer noch Thinking

172* Claude Code versucht Ablehnungen von Kontextverwaltungs- oder Tool-Schema-Feldern nicht erneut, daher erreichen diese `400` Fehler den Entwickler224* Claude Code versucht Ablehnungen von Kontextverwaltungs- oder Tool-Schema-Feldern nicht erneut, daher erreichen diese `400` Fehler den Entwickler

173 225 

226Die `bound to a different conversation` Ablehnung kommt von der API-Überprüfung für [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking), die fehlschlägt, wenn `system`, `tools` oder frühere `messages` Inhalte sich von der Anfrage unterscheiden, die das Thinking produziert hat. Ein Gateway, das einen dieser Inhalte umschreibt, kann die Ablehnung selbst verursachen; [Libraries, proxies, and gateways](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) behandelt, was unverändert durchgeleitet werden muss.

227 

174Die Wiederholungslogik gleicht die Fehlerformulierung des Upstreams ab, daher leiten Sie Fehler-Response-Bodies unverändert weiter. Ein Gateway, das Upstream-Fehler in seine eigene Hülle einwickelt, bricht den Wiederherstellungspfad, auch wenn es den Statuscode beibehält, es sei denn, die Nachricht der Hülle trägt ein stabiles `capability_rejected:` Token. [Claude Apps Gateway ersetzt diese Tokens für Cloud-Provider-Fehlerformulierungen](/docs/de/claude-apps-gateway-config#upstream-error-messages), zum Beispiel `capability_rejected: prompt_too_long`.228Die Wiederholungslogik gleicht die Fehlerformulierung des Upstreams ab, daher leiten Sie Fehler-Response-Bodies unverändert weiter. Ein Gateway, das Upstream-Fehler in seine eigene Hülle einwickelt, bricht den Wiederherstellungspfad, auch wenn es den Statuscode beibehält, es sei denn, die Nachricht der Hülle trägt ein stabiles `capability_rejected:` Token. [Claude Apps Gateway ersetzt diese Tokens für Cloud-Provider-Fehlerformulierungen](/docs/de/claude-apps-gateway-config#upstream-error-messages), zum Beispiel `capability_rejected: prompt_too_long`.

175 229 

176<h3 id="disable-pre-release-capabilities">230<h3 id="disable-pre-release-capabilities">


209 Request und Response263 Request und Response

210</h3>264</h3>

211 265 

212Die Anfrage ist `GET /v1/models?limit=1000` mit einem 3-Sekunden-Timeout, und jede Umleitung wird als Fehler behandelt, daher können die Anmeldedaten nicht an ein Umleitungsziel durchsickern. Ein Gateway, das langsam antwortet oder `/v1/models` umleitet, auch `http` zu `https`, schlägt die Ermittlung stillschweigend fehl; stellen Sie den Endpunkt direkt unter der konfigurierten Basis-URL bereit.266Die Anfrage ist `GET /v1/models?limit=1000` mit einem 3-Sekunden-Timeout, und jede Umleitung wird als Fehler behandelt, daher können die Anmeldedaten nicht an ein Umleitungsziel durchsickern. Ein Gateway, das langsamer antwortet als das Timeout, oder eines, das `/v1/models` umleitet, auch `http` zu `https`, schlägt die Ermittlung stillschweigend fehl; stellen Sie den Endpunkt direkt unter der konfigurierten Basis-URL bereit.

267 

268Um einem langsamen Gateway mehr Zeit zu geben, setzen Sie [`CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS`](/docs/de/env-vars#variables). Die Variable erfordert Claude Code v2.1.269 oder später.

213 269 

214Claude Code sendet die Ermittlungsanfrage mit beiden Anmeldedaten-Headern unten und lässt einen Header weg, dessen Wert sich nicht auflöst. Das Senden beider Header erfordert Claude Code v2.1.248 oder später. Frühere Versionen senden nur `Authorization`, wenn `ANTHROPIC_AUTH_TOKEN` gesetzt ist, und nur `x-api-key` andernfalls.270Claude Code sendet die Ermittlungsanfrage mit beiden Anmeldedaten-Headern unten und lässt einen Header weg, dessen Wert sich nicht auflöst. Das Senden beider Header erfordert Claude Code v2.1.248 oder später. Frühere Versionen senden nur `Authorization`, wenn `ANTHROPIC_AUTH_TOKEN` gesetzt ist, und nur `x-api-key` andernfalls.

215 271 

Details

33Welches Produkt auch immer das Gateway bereitstellt, es muss:33Welches Produkt auch immer das Gateway bereitstellt, es muss:

34 34 

35* **Ein unterstütztes API-Format akzeptieren**: eines der Formate in der [API-Formattabelle](/docs/de/llm-gateway-protocol#api-formats). Die Rollout-Schritte unten setzen die Anthropic Messages API unter `POST /v1/messages` voraus, die die meisten Gateways bereitstellen35* **Ein unterstütztes API-Format akzeptieren**: eines der Formate in der [API-Formattabelle](/docs/de/llm-gateway-protocol#api-formats). Die Rollout-Schritte unten setzen die Anthropic Messages API unter `POST /v1/messages` voraus, die die meisten Gateways bereitstellen

36* **Antworten streamen**: Server-Sent-Events durchleiten, während sie ankommen, anstatt die gesamte Antwort zu puffern36* **Antworten streamen**: Server-Sent-Events durchleiten, während sie ankommen, einschließlich Keep-Alive-Pings, anstatt die gesamte Antwort zu puffern; [Streaming](/docs/de/llm-gateway-protocol#streaming) behandelt, was Pufferung oder entfernte Pings unterbrechen

37* **Claude-Modellnamen weiterleiten**: jeden Namen, den Entwickler verwenden, einem Upstream-Modell zuordnen. Claude Code sendet einen Modellnamen wie `claude-sonnet-4-6` in jeder Anfrage; in den meisten Gateway-Produkten ist die Zuordnung eine Modellliste oder Routing-Tabelle in der eigenen Konfiguration des Gateways37* **Claude-Modellnamen weiterleiten**: jeden Namen, den Entwickler verwenden, einem Upstream-Modell zuordnen. Claude Code sendet einen Modellnamen wie `claude-sonnet-4-6` in jeder Anfrage; in den meisten Gateway-Produkten ist die Zuordnung eine Modellliste oder Routing-Tabelle in der eigenen Konfiguration des Gateways

38* **Header und Body unverändert weiterleiten**: `anthropic-beta`, `anthropic-version` und den Request-Body in beide Richtungen durchleiten; die [Feature-Pass-Through-Tabelle](/docs/de/llm-gateway-protocol#feature-pass-through) ordnet jede dem Feature zu, das ohne sie bricht38* **Header und Body unverändert weiterleiten**: `anthropic-beta`, `anthropic-version` und den Request-Body in beide Richtungen durchleiten; die [Feature-Pass-Through-Tabelle](/docs/de/llm-gateway-protocol#feature-pass-through) ordnet jede dem Feature zu, das ohne sie bricht

39* **Upstream-Fehler unverändert zurückgeben**: Claude Codes automatische Wiederherstellung basiert auf Fehlerformulierungen, daher bricht das Einwickeln von Fehlern in die eigene Hülle des Gateways es39* **Upstream-Fehler unverändert zurückgeben**: Claude Codes automatische Wiederherstellung basiert auf Fehlerformulierungen, daher bricht das Einwickeln von Fehlern in die eigene Hülle des Gateways es, es sei denn, die Hülle trägt eine der `capability_rejected:`-Token, die ein [Claude-Apps-Gateway für Cloud-Anbieter-Fehlerformulierungen ersetzt](/docs/de/claude-apps-gateway-config#upstream-error-messages)

40* **Den Pfad von der WAF-Inspektion des Request-Body ausnehmen**: Claude Code-Prompts enthalten Quellcode und XML-ähnliche Tags, die Cross-Site-Scripting-Body-Regeln entsprechen; eine WAF vor dem Gateway gibt `403` bei echten Sitzungen zurück, während kurze Test-Anfragen durchgehen40* **Den Pfad von der WAF-Inspektion des Request-Body ausnehmen**: Claude Code-Prompts enthalten Quellcode und XML-ähnliche Tags, die Cross-Site-Scripting-Body-Regeln entsprechen; eine WAF vor dem Gateway gibt `403` bei echten Sitzungen zurück, während kurze Test-Anfragen durchgehen

41 41 

42Optional können Sie `GET /v1/models` bereitstellen, damit Claude Code die Modellauswahl von Ihrem Gateway mit [Modellermittlung](/docs/de/llm-gateway-protocol#model-discovery) füllen kann.&#x20;42Optional können Sie `GET /v1/models` bereitstellen, damit Claude Code die Modellauswahl von Ihrem Gateway mit [Modellermittlung](/docs/de/llm-gateway-protocol#model-discovery) füllen kann.

43 43 

44<h2 id="rollout-steps">44<h2 id="rollout-steps">

45 Rollout-Schritte45 Rollout-Schritte


171 Verteilen Sie die Konfiguration171 Verteilen Sie die Konfiguration

172</h3>172</h3>

173 173 

174Jede Entwicklermaschine benötigt die Gateway-Adresse und eine Anmeldedaten. Sie können sie zentral über [verwaltete Einstellungen](/docs/de/settings#settings-files) verteilen, damit Entwickler nichts konfigurieren, oder Entwickler die Werte selbst setzen lassen.174Jede Entwicklermaschine benötigt die Gateway-Adresse und eine Anmeldedaten. Sie können sie zentral über [verwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms) verteilen, damit Entwickler nichts konfigurieren, oder Entwickler die Werte selbst setzen lassen.

175 175 

176<h4 id="what-to-distribute">176<h4 id="what-to-distribute">

177 Was zu verteilen ist177 Was zu verteilen ist


180Der gleiche Satz von Variablen gilt, welchen Weg Sie auch wählen. Die meisten Rollouts benötigen nur `ANTHROPIC_BASE_URL` und eine Anmeldedaten; fügen Sie die bedingten Zeilen ein, wenn Ihr Gateway-Setup sie erfordert.180Der gleiche Satz von Variablen gilt, welchen Weg Sie auch wählen. Die meisten Rollouts benötigen nur `ANTHROPIC_BASE_URL` und eine Anmeldedaten; fügen Sie die bedingten Zeilen ein, wenn Ihr Gateway-Setup sie erfordert.

181 181 

182| Variable oder Einstellung | Was sie tut | Einschließen wenn |182| Variable oder Einstellung | Was sie tut | Einschließen wenn |

183| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

184| `ANTHROPIC_BASE_URL` | Sendet Claude Codes API-Anfragen an das Gateway anstelle von `api.anthropic.com` | Immer |184| `ANTHROPIC_BASE_URL` | Sendet Claude Codes API-Anfragen an das Gateway anstelle von `api.anthropic.com` | Immer |

185| `apiKeyHelper`, oder eine Anmeldedaten in `ANTHROPIC_AUTH_TOKEN` oder `ANTHROPIC_API_KEY` | Authentifiziert jede Anfrage an das Gateway. Der Helper führt einen Befehl aus, um den Schlüssel zu holen; die Variablen halten einen statischen Schlüssel, gesendet als `Authorization: Bearer` und `x-api-key` jeweils | Immer; eine der drei |185| `apiKeyHelper`, oder eine Anmeldedaten in `ANTHROPIC_AUTH_TOKEN` oder `ANTHROPIC_API_KEY` | Authentifiziert jede Anfrage an das Gateway. Der Helper führt einen Befehl aus, um den Schlüssel zu holen; die Variablen halten einen statischen Schlüssel, gesendet als `Authorization: Bearer` und `x-api-key` jeweils | Immer; eine der drei |

186| `ANTHROPIC_CUSTOM_HEADERS` | Fügt zusätzliche HTTP-Header zu jeder API-Anfrage hinzu | Ihr Gateway erfordert einen Mandanten- oder Routing-Header bei jeder Anfrage |186| `ANTHROPIC_CUSTOM_HEADERS` | Fügt zusätzliche HTTP-Header zu jeder API-Anfrage hinzu | Ihr Gateway erfordert einen Mandanten- oder Routing-Header bei jeder Anfrage |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Fragt das `/v1/models` des Gateways beim Start ab und fügt die zurückgegebenen Namen zur `/model`-Auswahl hinzu | Ihr Gateway stellt `/v1/models` bereit und Sie möchten, dass die Auswahl der Entwickler von ihm gefüllt wird |187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Fragt das `/v1/models` des Gateways beim Start ab und fügt die zurückgegebenen Namen zur `/model`-Auswahl hinzu | Ihr Gateway stellt `/v1/models` bereit und Sie möchten, dass die Auswahl der Entwickler von ihm gefüllt wird |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Stoppt Claude Code beim Senden von Pre-Release-Capability-Headern und Body-Feldern | Ihr Gateway leitet zu einem Amazon Bedrock- oder Google Cloud Agent Platform-Upstream weiter, der Beta-Felder ablehnt; siehe [Gateway-Anforderungen](#gateway-requirements) |188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Stoppt Claude Code beim Senden von Pre-Release-Capability-Headern und Body-Feldern. [Deaktivieren Sie Pre-Release-Funktionen](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) behandelt den genauen Umfang | Ihr Gateway leitet zu einem Amazon Bedrock- oder Google Cloud Agent Platform-Upstream weiter, der Beta-Felder ablehnt. Siehe [Gateway-Anforderungen](#gateway-requirements) |

189| `ANTHROPIC_MODEL` oder [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/de/model-config) | Legen Sie fest, welchen Modellnamen Claude Code für die Hauptsitzung und für Hintergrund-Traffic anfordert | Ihr Gateway leitet Modellnamen weiter, die nicht Claude Codes Standardwerte entsprechen, oder Sie leiten [Hintergrund-Funktionalität](/docs/de/costs#background-token-usage) an ein anderes Modell weiter. Leiten Sie sowohl die Override-Namen als auch die integrierten Modell-IDs weiter, die Claude Code anfordert, wenn kein Override gesetzt ist, da einige Unter-Aufrufe unabhängig vom Override eine integrierte ID anfordern; [Modellkonfiguration](/docs/de/model-config) behandelt, welches Modell jeder Teil einer Sitzung verwendet |189| `ANTHROPIC_MODEL` oder [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/de/model-config) | Legen Sie fest, welchen Modellnamen Claude Code für die Hauptsitzung und für Hintergrund-Traffic anfordert | Ihr Gateway leitet Modellnamen weiter, die nicht Claude Codes Standardwerte entsprechen, oder Sie leiten [Hintergrund-Funktionalität](/docs/de/costs#background-token-usage) an ein anderes Modell weiter. Leiten Sie sowohl die Override-Namen als auch die integrierten Modell-IDs weiter, die Claude Code anfordert, wenn kein Override gesetzt ist, da einige Unter-Aufrufe unabhängig vom Override eine integrierte ID anfordern; [Modellkonfiguration](/docs/de/model-config) behandelt, welches Modell jeder Teil einer Sitzung verwendet |

190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, oder `ANTHROPIC_AWS_BASE_URL` mit den [Variablen für diesen Anbieter](/docs/de/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Zeigen Sie Claude Code auf das Gateway durch eine anbieter-spezifische Basis-URL. Amazon Bedrock und Google Cloud Agent Platform wechseln auch zu den nativen Request-Formaten dieser Anbieter | Ihr Gateway frontet Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry oder die Claude Platform auf AWS; siehe [API-Formate](/docs/de/llm-gateway-protocol#api-formats) |190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, oder `ANTHROPIC_AWS_BASE_URL` mit den [Variablen für diesen Anbieter](/docs/de/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Zeigen Sie Claude Code auf das Gateway durch eine anbieter-spezifische Basis-URL. Amazon Bedrock und Google Cloud Agent Platform wechseln auch zu den nativen Request-Formaten dieser Anbieter | Ihr Gateway frontet Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry oder die Claude Platform auf AWS; siehe [API-Formate](/docs/de/llm-gateway-protocol#api-formats) |

191| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` oder `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Stellt [Schnellmodus](/docs/de/fast-mode) wieder her, wenn seine Verfügbarkeitsprüfung, die `api.anthropic.com` direkt aufruft, anstatt `ANTHROPIC_BASE_URL` zu folgen, fehlschlägt, abgefangen wird oder aus Mangel an einer Anthropic-Anmeldedaten übersprungen wird | Ihre Organisation nutzt Schnellmodus, und Entwickler authentifizieren sich nur mit `ANTHROPIC_AUTH_TOKEN`, mit einem vom Gateway ausgestellten Schlüssel in `ANTHROPIC_API_KEY` oder von einem `apiKeyHelper`, oder Ihr Netzwerk blockiert oder fängt direkte Anfragen an `api.anthropic.com` ab; [Verwenden Sie Schnellmodus hinter Proxys und LLM-Gateways](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) behandelt, welche der beiden Variablen Ihrer Konfiguration entspricht |

191 192 

192<h4 id="distribute-through-managed-settings">193<h4 id="distribute-through-managed-settings">

193 Verteilen Sie über verwaltete Einstellungen194 Verteilen Sie über verwaltete Einstellungen

194</h4>195</h4>

195 196 

196Liefern Sie die Variablen über den `env`-Block einer [verwalteten Einstellungsdatei](/docs/de/settings#settings-files), die von MDM, Registry-Richtlinie oder Konfigurationsverwaltung gepusht wird:197Liefern Sie die Variablen über den `env`-Block einer [verwalteten Einstellungsdatei](/docs/de/managed-settings#delivery-mechanisms), die von MDM, Registry-Richtlinie oder Konfigurationsverwaltung gepusht wird:

197 198 

198```json theme={null}199```json theme={null}

199{200{


206 207 

207Fügen Sie die bedingten Variablen aus der Tabelle zum gleichen `env`-Block hinzu. Ein verwalteter `ANTHROPIC_BASE_URL` wird erzwungen und kann nicht durch einen Shell-Export eines Entwicklers überschrieben werden, da Claude Code ihn über die Prozessumgebung und niedrigere Prioritätseinstellungen anwendet.208Fügen Sie die bedingten Variablen aus der Tabelle zum gleichen `env`-Block hinzu. Ein verwalteter `ANTHROPIC_BASE_URL` wird erzwungen und kann nicht durch einen Shell-Export eines Entwicklers überschrieben werden, da Claude Code ihn über die Prozessumgebung und niedrigere Prioritätseinstellungen anwendet.

208 209 

209Fügen Sie `forceLoginMethod` oder `forceLoginOrgUUID` nicht in verwalteten Einstellungen neben einer Gateway-Anmeldedaten ein. Auf Claude Code v2.1.146 und später blockiert jeder Schlüssel `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` und `apiKeyHelper` beim Start, daher sehen Entwickler `This machine's managed settings require a first-party login` und können nicht fortfahren.&#x20;210Fügen Sie `forceLoginMethod` oder `forceLoginOrgUUID` nicht in verwalteten Einstellungen neben einer Gateway-Anmeldedaten ein. Jeder Schlüssel mit einem beliebigen Wert blockiert `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` und `apiKeyHelper` beim Start, und Entwickler können nicht fortfahren. Sie sehen `This machine's managed settings require a first-party login`, oder [`Administrator policy requires a Cloud gateway sign-in`](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in) unter einem `"gateway"`-Wert.

210 211 

211[Server-verwaltete Einstellungen](/docs/de/server-managed-settings#platform-availability) Lieferung erfordert eine direkte Verbindung zu `api.anthropic.com`, daher erreicht sie keine Gateway-gerouteten Sitzungen. Gateway-Bereitstellungen verwenden diesen dateigestützten verwalteten Einstellungspfad, der die gleichen Schlüssel erzwingt.212[Server-verwaltete Einstellungen](/docs/de/server-managed-settings#platform-availability) Lieferung erfordert eine direkte Verbindung zu `api.anthropic.com`, daher erreicht sie keine Gateway-gerouteten Sitzungen. Gateway-Bereitstellungen verwenden diesen dateigestützten verwalteten Einstellungspfad, der die gleichen Schlüssel erzwingt.

212 213 


214 215 

215Einige Umgebungen benötigen separate Lieferung:216Einige Umgebungen benötigen separate Lieferung:

216 217 

217* Die Desktop-App liest Gateway-Routing nur aus ihrer MDM-bereitgestellten Drittanbieter-Inferenzkonfiguration; stellen Sie diese Datei neben verwalteten Einstellungen bereit, damit Desktop-Sitzungen auch durch das Gateway geleitet werden. Siehe die [Desktop-Drittanbieter-Konfigurationsdocs](https://claude.com/docs/third-party/claude-desktop/configuration) und die [Desktop-Gateway-Docs](https://claude.com/docs/third-party/claude-desktop/gateway)218* Die Desktop-App liest Gateway-Routing aus ihrer Drittanbieter-Inferenzkonfiguration, nicht aus verwalteten Einstellungen; stellen Sie diese Datei durch MDM neben verwalteten Einstellungen bereit, damit Desktop-Sitzungen auch durch das Gateway geleitet werden. Siehe die [Desktop-Drittanbieter-Konfigurationsdocs](https://claude.com/docs/third-party/claude-desktop/configuration) und die [Desktop-Gateway-Docs](https://claude.com/docs/third-party/claude-desktop/gateway)

218* CI-Runner benötigen `ANTHROPIC_BASE_URL` und die Anmeldedaten in der [Umgebung des Runners](/docs/de/llm-gateway-connect#configure-each-surface) gesetzt219* CI-Runner benötigen `ANTHROPIC_BASE_URL` und die Anmeldedaten in der [Umgebung des Runners](/docs/de/llm-gateway-connect#configure-each-surface) gesetzt

219* WSL auf verwalteten Windows-Maschinen liest die Windows-verwalteten Einstellungen nur, wenn [`wslInheritsWindowsSettings`](/docs/de/settings#available-settings) `true` ist220* WSL auf verwalteten Windows-Maschinen liest die Windows-verwalteten Einstellungen nur, wenn [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) `true` ist

220 221 

221<h4 id="hand-developers-the-values-to-set-themselves">222<h4 id="hand-developers-the-values-to-set-themselves">

222 Geben Sie Entwicklern die Werte, um sie selbst zu setzen223 Geben Sie Entwicklern die Werte, um sie selbst zu setzen


270* `Failed to authenticate`-Fehler bedeuten, dass das Gateway Anfragen ablehnt; sein Log sagt, welche Anmeldedaten fehlgeschlagen ist. Eine Ablehnung, die das Gateway selbst protokolliert, benennt den Entwicklerschlüssel, während ein `401` von `api.anthropic.com` oder Ihrem Anbieter-Endpunkt bedeutet, dass die Anbieteranmeldedaten, die das Gateway hält, abgelehnt wurden271* `Failed to authenticate`-Fehler bedeuten, dass das Gateway Anfragen ablehnt; sein Log sagt, welche Anmeldedaten fehlgeschlagen ist. Eine Ablehnung, die das Gateway selbst protokolliert, benennt den Entwicklerschlüssel, während ein `401` von `api.anthropic.com` oder Ihrem Anbieter-Endpunkt bedeutet, dass die Anbieteranmeldedaten, die das Gateway hält, abgelehnt wurden

271* Eine einmalige Genehmigungsaufforderung für den Schlüssel ist beim ersten Gebrauch erwartet, wenn das Gateway Schlüssel im `x-api-key`-Header erwartet, gesetzt als `ANTHROPIC_API_KEY`. Mit `ANTHROPIC_AUTH_TOKEN` erscheint keine Aufforderung und die Variable übernimmt stillschweigend; ein zuvor gespeicherter claude.ai-Login ist für diese Sitzung inaktiv272* Eine einmalige Genehmigungsaufforderung für den Schlüssel ist beim ersten Gebrauch erwartet, wenn das Gateway Schlüssel im `x-api-key`-Header erwartet, gesetzt als `ANTHROPIC_API_KEY`. Mit `ANTHROPIC_AUTH_TOKEN` erscheint keine Aufforderung und die Variable übernimmt stillschweigend; ein zuvor gespeicherter claude.ai-Login ist für diese Sitzung inaktiv

272 273 

274Wenn Ihre Organisation [Schnellmodus](/docs/de/fast-mode) nutzt, führen Sie hier auch `/fast` aus: die Verfügbarkeitsprüfung ruft `api.anthropic.com` direkt auf, anstatt der Gateway-Basis-URL zu folgen, daher kann eine Gateway-geroutete Sitzung Schnellmodus als nicht verfügbar oder deaktiviert melden, obwohl Inferenz funktioniert. [Verwenden Sie Schnellmodus hinter Proxys und LLM-Gateways](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) ordnet jede Nachricht der Variablen zu, die sie wiederherstellt, verteilt mit [dem Rest der Konfiguration](#distribute-the-configuration).

275 

273Überprüfen Sie abschließend die Logs des Gateways auf die Nachricht, die Sie gesendet haben: die Anmeldedaten identifiziert den Entwickler, und der [`x-claude-code-session-id`-Header](/docs/de/llm-gateway-protocol#request-headers) gruppiert Anfragen nach Sitzung. Wenn Features mit den [Fehlerbehebungssymptomen](/docs/de/llm-gateway-connect#troubleshoot-gateway-errors) fehlschlagen, entfernt das Gateway Header oder schreibt Fehler um; siehe die [Gateway-Anforderungen](#gateway-requirements) oben.276Überprüfen Sie abschließend die Logs des Gateways auf die Nachricht, die Sie gesendet haben: die Anmeldedaten identifiziert den Entwickler, und der [`x-claude-code-session-id`-Header](/docs/de/llm-gateway-protocol#request-headers) gruppiert Anfragen nach Sitzung. Wenn Features mit den [Fehlerbehebungssymptomen](/docs/de/llm-gateway-connect#troubleshoot-gateway-errors) fehlschlagen, entfernt das Gateway Header oder schreibt Fehler um; siehe die [Gateway-Anforderungen](#gateway-requirements) oben.

274 277 

275<h2 id="maintain-the-gateway">278<h2 id="maintain-the-gateway">


279Nach dem Rollout erreichen drei Arten von Änderungen das Gateway im Laufe der Zeit. Jede hat ein Symptom, auf das man achten sollte, und eine Aktion, die man ergreifen sollte.282Nach dem Rollout erreichen drei Arten von Änderungen das Gateway im Laufe der Zeit. Jede hat ein Symptom, auf das man achten sollte, und eine Aktion, die man ergreifen sollte.

280 283 

281| Änderung | Symptom, wenn das Gateway nicht mitgehalten hat | Aktion |284| Änderung | Symptom, wenn das Gateway nicht mitgehalten hat | Aktion |

282| :------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |285| :------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

283| Neue Claude Code-Versionen fügen `anthropic-beta`-Werte und Request-Body-Felder hinzu | Entwickler berichten `400`-Fehler, die ein neues Feld nach der Aktualisierung von Claude Code benennen; siehe [Feature-Pass-Through](/docs/de/llm-gateway-protocol#feature-pass-through) | Leiten Sie `anthropic-*`-Header und Request-Bodies wörtlich weiter, anstatt eine Allowlist zu verwenden; testen Sie neue Claude Code-Versionen gegen das Gateway, bevor sie Entwickler erreichen |286| Neue Claude Code-Versionen fügen `anthropic-beta`-Werte und Request-Body-Felder hinzu | Entwickler berichten `400`-Fehler, die ein neues Feld nach der Aktualisierung von Claude Code benennen; siehe [Feature-Pass-Through](/docs/de/llm-gateway-protocol#feature-pass-through) | Leiten Sie `anthropic-*`-Header und Request-Bodies wörtlich weiter, anstatt eine Allowlist zu verwenden; testen Sie neue Claude Code-Versionen gegen das Gateway, bevor sie Entwickler erreichen, und überprüfen Sie die Bereiche in [Claude Code-Versionsupgrades planen](#plan-claude-code-version-upgrades) |

284| Neue Claude-Modelle werden verfügbar | Entwickler, die einen neuen Modellnamen auswählen, erhalten `404`; die `/model`-Auswahl listet ihn nicht auf | Fügen Sie den Modellnamen zur Routing-Konfiguration des Gateways hinzu, führen Sie dann die [Routing-Überprüfung](#confirm-the-gateway-routes-your-models) erneut aus. Wenn Sie `ANTHROPIC_MODEL` oder die Standard-Modell-Variablen verteilen, aktualisieren Sie die verwalteten Einstellungen |287| Neue Claude-Modelle werden verfügbar | Entwickler, die einen neuen Modellnamen auswählen, erhalten `404`; die `/model`-Auswahl listet ihn nicht auf | Fügen Sie den Modellnamen zur Routing-Konfiguration des Gateways hinzu, führen Sie dann die [Routing-Überprüfung](#confirm-the-gateway-routes-your-models) erneut aus. Wenn Sie `ANTHROPIC_MODEL` oder die Standard-Modell-Variablen verteilen, aktualisieren Sie die verwalteten Einstellungen |

285| Anmeldedaten verfallen oder müssen rotiert werden | Alle Entwickleranfragen beginnen mit `401` vom Upstream zu fehlschlagen | Rotieren Sie die Anbieteranmeldedaten des Gateways nach eigenem Zeitplan; Entwicklerschlüssel rotieren am Gateway, und ein [`apiKeyHelper`](/docs/de/llm-gateway-connect#rotate-credentials-with-apikeyhelper) handhabt die Rotation pro Entwickler, ohne Einstellungen neu zu verteilen |288| Anmeldedaten verfallen oder müssen rotiert werden | Alle Entwickleranfragen beginnen mit `401` vom Upstream zu fehlschlagen | Rotieren Sie die Anbieteranmeldedaten des Gateways nach eigenem Zeitplan; Entwicklerschlüssel rotieren am Gateway, und ein [`apiKeyHelper`](/docs/de/llm-gateway-connect#rotate-credentials-with-apikeyhelper) handhabt die Rotation pro Entwickler, ohne Einstellungen neu zu verteilen |

286 289 

287Berücksichtigen Sie bei der Dimensionierung von Pro-Schlüssel-Ratenlimits den Client [Wiederholung von transienten Fehlern](/docs/de/errors#automatic-retries), einschließlich `429`-Antworten, bis zu 10 Mal mit Backoff, unter Beachtung von `Retry-After`. Behalten Sie die [Protokollreferenz](/docs/de/llm-gateway-protocol) als Vertrag für das, was jede Claude Code-Version sendet.290Berücksichtigen Sie bei der Dimensionierung von Pro-Schlüssel-Ratenlimits den Client [Wiederholung von transienten Fehlern](/docs/de/errors#automatic-retries), einschließlich `429`-Antworten, bis zu 10 Mal mit Backoff, unter Beachtung von `Retry-After`. Behalten Sie die [Kompatibilitätsleitfaden](/docs/de/llm-gateway-protocol) als Referenz für das, was jede Claude Code-Version sendet.

291 

292<h3 id="plan-claude-code-version-upgrades">

293 Claude Code-Versionsupgrades planen

294</h3>

295 

296Einiges Claude Code-Verhalten ist in der installierten Version integriert, anstatt am Gateway festgelegt zu werden. Das Verschieben von Entwicklern auf eine neue Version kann daher das Verhalten in Ihrer gesamten Bereitstellung ändern, selbst wenn sich die Gateway-Konfiguration nicht geändert hat. Um zu kontrollieren, wann dies geschieht, fixieren Sie Entwickler auf eine getestete Version mit [`requiredMaximumVersion`](/docs/de/settings-reference#requiredmaximumversion) oder mit [`DISABLE_UPDATES`](/docs/de/setup#disable-auto-updates), wenn Sie Claude Code über Ihren eigenen Kanal verteilen. Bevor Sie die Fixierung erhöhen, lesen Sie den [Changelog](/docs/en/changelog)-Eintrag der neuen Version und [testen Sie ihn gegen das Gateway](#test-claude-code-against-the-gateway).

297 

298Wenn Sie eine Version testen, erscheinen neue Header oder Request-Felder, die das Gateway ablehnt, als die `400`-Fehler, die in [Verwalten Sie das Gateway](#maintain-the-gateway) beschrieben sind. Die folgende Tabelle behandelt versionsabhängige Änderungen, die keinen Fehler erzeugen, mit der Einstellung, die jede über Upgrades hinweg konstant hält.

299 

300| Bereich | Was kann sich ändern, wenn Entwickler ein Upgrade durchführen | Einstellung, die es konstant hält |

301| :------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

302| Feature-Flag-Standardwerte | Sitzungen, die [Feature-Flags nicht von Anthropic abrufen](/docs/de/env-vars#features-that-need-feature-flag-fetching), wie Sitzungen bei einem Cloud-Anbieter oder mit deaktivierter Telemetrie, verwenden die in der installierten Version integrierten Flag-Standardwerte. Wenn eine Version einen dieser Standardwerte ändert, ändert sich das Verhalten für diese Entwickler, sobald sie ein Upgrade durchführen | Die Versionsfixierung selbst, `requiredMaximumVersion` oder `DISABLE_UPDATES` |

303| Modell-Funktionsannahmen | Eine Modell-ID, die die installierte Version nicht erkennt, wie das Gateway-Alias `prod-opus`, läuft auf Standardannahmen für [adaptive Reasoning](/docs/de/model-config#adaptive-reasoning-and-fixed-thinking-budgets), den Effort-Parameter und das [Kontextfenster](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id), bis eine spätere Version die ID erkennt oder Sie sie zuordnen | Routen Sie Anthropic-Modell-IDs am Gateway, oder fügen Sie einen [`modelOverrides`](/docs/de/model-config#override-model-ids-per-version)-Eintrag hinzu, der die Anthropic-Modell-ID Ihrem Alias zuordnet. Bei einer Cloud-Anbieter-Verbindung können Sie stattdessen [die Funktionen eines fixierten Modells deklarieren](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

304| Standardmodell und Aliase | Das Modell, auf dem neue Sitzungen standardmäßig starten, und die Modelle, in die Aliase wie `opus` und `sonnet` aufgelöst werden, sind [in jeder Version integriert](/docs/de/model-config#pin-models-for-third-party-deployments) und können sich ändern, wenn Entwickler ein Upgrade durchführen | [`ANTHROPIC_DEFAULT_MODEL`](/docs/de/model-config#set-a-default-model-for-new-sessions) für das Modell, auf dem neue Sitzungen starten, und die [`ANTHROPIC_DEFAULT_*_MODEL`-Variablen](/docs/de/model-config#environment-variables), wie `ANTHROPIC_DEFAULT_OPUS_MODEL`, für das, in das jeder Alias aufgelöst wird. `ANTHROPIC_DEFAULT_MODEL` erfordert Claude Code v2.1.236 oder später |

288 305 

289<h2 id="related-resources">306<h2 id="related-resources">

290 Verwandte Ressourcen307 Verwandte Ressourcen

291</h2>308</h2>

292 309 

293* [Claude Code mit einem LLM-Gateway verbinden](/docs/de/llm-gateway-connect): die Einrichtungsschritte für Entwickler, mit Pro-Surface-Konfiguration und einer Fehlerbehebungstabelle, die Sie Entwicklern geben können310* [Claude Code mit einem LLM-Gateway verbinden](/docs/de/llm-gateway-connect): die Einrichtungsschritte für Entwickler, mit Pro-Surface-Konfiguration und einer Fehlerbehebungstabelle, die Sie Entwicklern geben können

294* [Gateway-Protokollreferenz](/docs/de/llm-gateway-protocol): der Wire-Vertrag für Gateway-Betreiber, der Endpunkte, weiterzuleitende Header und die Feature-Pass-Through-Tabelle abdeckt311* [Gateway-Kompatibilitätsleitfaden](/docs/de/llm-gateway-protocol): die Referenz für Gateway-Betreiber, die Endpunkte, weiterzuleitende Header und die Feature-Pass-Through-Tabelle abdeckt

295* [Einstellungsdateien und Priorität](/docs/de/settings#settings-files): wie verwaltete, Projekt- und Benutzereinstellungen kombiniert werden, und wo die verwaltete Datei auf jeder Plattform geht312* [Welcher Wert Claude Code verwendet](/docs/de/settings#which-value-claude-code-uses): wie verwaltete, Projekt- und Benutzereinstellungen kombiniert werden

313* [Bereitstellungsmechanismen](/docs/de/managed-settings#delivery-mechanisms): wo die verwaltete Datei auf jeder Plattform geht

296* [Richten Sie Claude Code für Ihre Organisation ein](/docs/de/admin-setup): der breitere Rollout, von dem dieses Gateway ein Teil ist, einschließlich Richtliniendurchsetzung, Nutzungssichtbarkeit und Datenbehandlung314* [Richten Sie Claude Code für Ihre Organisation ein](/docs/de/admin-setup): der breitere Rollout, von dem dieses Gateway ein Teil ist, einschließlich Richtliniendurchsetzung, Nutzungssichtbarkeit und Datenbehandlung

managed-mcp.md +26 −12

Details

48 Exklusive Kontrolle mit managed-mcp.json48 Exklusive Kontrolle mit managed-mcp.json

49</h2>49</h2>

50 50 

51Wenn Sie eine `managed-mcp.json`-Datei bereitstellen, lädt Claude Code nur die Server, die diese Datei definiert, die Server, die Sie [über `managedMcpServers` bereitstellen](#provide-servers-through-managed-settings), sowie alle In-Process-Server, die die Anwendung registriert, die die Sitzung gestartet hat, wie beispielsweise der eigene Server der VS Code-Erweiterung oder die [Konnektoren, die die Desktop-Anwendung bereitstellt](/docs/de/mcp#how-connectors-reach-claude-code). Benutzer können keine anderen MCP-Server hinzufügen, ändern oder verwenden, einschließlich Plugin-bereitgestellter Server und Server, die mit dem [`--mcp-config`-CLI-Flag](/docs/de/cli-reference#cli-flags) übergeben werden. Die Datei unterdrückt auch die claude.ai-Konnektoren, die Claude Code selbst abruft, es sei denn, Sie [erlauben sie neben dem verwalteten Satz](#allow-claude-ai-connectors-alongside-the-managed-set).51Wenn Sie eine `managed-mcp.json`-Datei bereitstellen, lädt Claude Code nur diese MCP-Server:

52 

53* Die Server, die die Datei definiert

54* Server, die Sie [über `managedMcpServers` bereitstellen](#provide-servers-through-managed-settings)

55* In-Process-Server, die die Anwendung registriert, die die Sitzung gestartet hat, wie beispielsweise der eigene Server der VS Code-Erweiterung oder die [Konnektoren, die die Desktop-Anwendung bereitstellt](/docs/de/mcp#how-connectors-reach-claude-code)

56 

57Benutzer können keine anderen MCP-Server hinzufügen, ändern oder verwenden, einschließlich Plugin-bereitgestellter Server und Server, die mit dem [`--mcp-config`-CLI-Flag](/docs/de/cli-reference#cli-flags) übergeben werden. Die Datei unterdrückt auch die claude.ai-Konnektoren, die Claude Code selbst abruft, es sei denn, Sie [erlauben sie neben dem verwalteten Satz](#allow-claude-ai-connectors-alongside-the-managed-set).

52 58 

53<h3 id="deploy-managed-mcp-json">59<h3 id="deploy-managed-mcp-json">

54 managed-mcp.json bereitstellen60 managed-mcp.json bereitstellen


103 Server, die mit `--mcp-config` oder `--strict-mcp-config` übergeben werden109 Server, die mit `--mcp-config` oder `--strict-mcp-config` übergeben werden

104</h3>110</h3>

105 111 

106Wenn eine Sitzung Server über `--mcp-config` erhält, während `managed-mcp.json` bereitgestellt wird, unterscheidet sich das, was der Benutzer sieht, zwischen einer Workstation und einer Cloud-Sitzung:112Wenn eine Sitzung Server über `--mcp-config` erhält, während eine `managed-mcp.json`, die Claude Code lesen und analysieren kann, bereitgestellt wird, unterscheidet sich das, was der Benutzer sieht, zwischen einer Workstation und einer Cloud-Sitzung:

107 113 

108* Auf einer Workstation beendet Claude Code beim Start mit `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.114* Auf einer Workstation beendet Claude Code beim Start mit `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

109* In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) auf einem Host, auf dem die Datei bereitgestellt wird, wie beispielsweise einem [selbstgehosteten Runner](/docs/de/self-hosted-environments-configuration#mcp-servers), startet Claude Code nur mit den verwalteten Servern und überspringt die claude.ai-Konnektoren und andere Server, die der Cloud-Host über `--mcp-config` bereitstellt. Nichts in der Sitzung teilt dem Benutzer mit, welche Server ausgelassen wurden. Claude Code benennt sie in einer Warnung auf stderr, die ein selbstgehosteter Runner auf der `debug`-Protokollebene aufzeichnet.115* In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) auf einem Host, auf dem die Datei bereitgestellt wird, wie beispielsweise einem [selbstgehosteten Runner](/docs/de/self-hosted-environments-configuration#mcp-servers), startet Claude Code nur mit den verwalteten Servern und überspringt die claude.ai-Konnektoren und andere Server, die der Cloud-Host über `--mcp-config` bereitstellt. Nichts in der Sitzung teilt dem Benutzer mit, welche Server ausgelassen wurden. Claude Code benennt sie in einer Warnung auf stderr, die ein selbstgehosteter Runner auf der `debug`-Protokollebene aufzeichnet.

110 116 

111Wenn ein Benutzer `--strict-mcp-config` übergibt, beendet Claude Code beim Start sowohl auf einer Workstation als auch in einer Cloud-Sitzung, da dieses Flag auffordert, den verwalteten Satz zu ersetzen.117Das Flag `--strict-mcp-config` fordert auf, den verwalteten Satz zu ersetzen. Wenn ein Benutzer es übergibt, während eine solche Datei bereitgestellt wird, beendet Claude Code beim Start sowohl auf einer Workstation als auch in einer Cloud-Sitzung.

112 118 

113<h3 id="how-allowlists-and-denylists-apply-to-the-managed-set">119<h3 id="how-allowlists-and-denylists-apply-to-the-managed-set">

114 Wie Zulassungslisten und Ablehnungslisten auf den verwalteten Satz angewendet werden120 Wie Zulassungslisten und Ablehnungslisten auf den verwalteten Satz angewendet werden


129 135 

130Um zu bestätigen, dass die Datei wirksam ist, führen Sie zwei Überprüfungen auf einem verwalteten Computer durch:136Um zu bestätigen, dass die Datei wirksam ist, führen Sie zwei Überprüfungen auf einem verwalteten Computer durch:

131 137 

1321. `claude mcp list` zeigt nur die Server in `managed-mcp.json` plus alle, die Sie über `managedMcpServers` bereitstellen. Wenn die eigenen Server eines Benutzers immer noch angezeigt werden, wird die Datei nicht gelesen; überprüfen Sie den Pfad und die Berechtigungen.1381. `claude mcp list` zeigt nur die Server in `managed-mcp.json` plus alle, die Sie über `managedMcpServers` bereitstellen. Zwei weitere Ergebnisse bedeuten, dass etwas nicht stimmt:

139 * Wenn die eigenen Server eines Benutzers immer noch angezeigt werden, wird die Datei nicht gelesen; überprüfen Sie den Pfad und die Berechtigungen auf den übergeordneten Verzeichnissen.

140 * Wenn die Server der Datei nicht angezeigt werden und der Abschnitt `MCP config diagnostics` die Enterprise-Konfiguration als fehlgeschlagen beim Parsen markiert, kann Claude Code die Datei nicht lesen oder parsen. Beheben Sie den Fehler, den dieser Abschnitt benennt, und lassen Sie den Benutzer Claude Code neu starten.

1332. `claude mcp add --transport http test https://example.com/mcp` schlägt mit `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` fehl. Die URL muss kein echter Server sein, da die Richtlinienüberprüfung den Befehl ablehnt, bevor etwas kontaktiert wird.1412. `claude mcp add --transport http test https://example.com/mcp` schlägt mit `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` fehl. Die URL muss kein echter Server sein, da die Richtlinienüberprüfung den Befehl ablehnt, bevor etwas kontaktiert wird.

134 142 

135<h3 id="disable-mcp-entirely">143<h3 id="disable-mcp-entirely">


267 275 

268Um Server an Benutzer bereitzustellen, verwenden Sie [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) oder [`managedMcpServers`](#provide-servers-through-managed-settings). Beide Listen filtern auch Server, die mit dem [`--mcp-config` CLI-Flag](/docs/de/cli-reference#cli-flags) übergeben werden, mit Ausnahme von In-Process-`type: "sdk"`-Einträgen; `--strict-mcp-config` begrenzt, welche Konfigurationsdateien geladen werden, und umgeht keine der beiden Listen.276Um Server an Benutzer bereitzustellen, verwenden Sie [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) oder [`managedMcpServers`](#provide-servers-through-managed-settings). Beide Listen filtern auch Server, die mit dem [`--mcp-config` CLI-Flag](/docs/de/cli-reference#cli-flags) übergeben werden, mit Ausnahme von In-Process-`type: "sdk"`-Einträgen; `--strict-mcp-config` begrenzt, welche Konfigurationsdateien geladen werden, und umgeht keine der beiden Listen.

269 277 

270Um die Zulassungsliste verbindlich zu machen, setzen Sie `allowedMcpServers` und `allowManagedMcpServersOnly: true` zusammen in einer [verwalteten Einstellungsquelle](/docs/de/admin-setup#decide-how-settings-reach-devices), z. B. servergesteuerte Einstellungen oder eine bereitgestellte `managed-settings.json`-Datei. [Beschränken Sie die Zulassungsliste auf verwaltete Einstellungen nur](#restrict-the-allowlist-to-managed-settings-only) zeigt die Konfiguration. Ohne `allowManagedMcpServersOnly` werden Zulassungslisten aus jedem Einstellungsbereich zusammengeführt, einschließlich der eigenen `~/.claude/settings.json` eines Benutzers, sodass ein Benutzer das, was Ihre Zulassungsliste erlaubt, erweitern kann. Sperrlisten werden unabhängig davon aus jedem Bereich zusammengeführt.278Um die Zulassungsliste verbindlich zu machen, setzen Sie `allowedMcpServers` und `allowManagedMcpServersOnly: true` zusammen in einer [verwalteten Einstellungsquelle](/docs/de/admin-setup#decide-how-settings-reach-devices), z. B. servergesteuerte Einstellungen oder eine bereitgestellte `managed-settings.json`-Datei.

279 

280Die Sperre gilt aus jeder von Administratoren kontrollierten verwalteten Quelle, sodass eine Sperrung in einer bereitgestellten Datei immer noch gilt, wenn auch servergesteuerte Einstellungen verwendet werden, die MCP nicht erwähnen. Während die Sperre aktiv ist, stammt die verwaltete Zulassungsliste aus der höchstrangigen Admin-Quelle, die eine setzt. Das Lesen der Sperre und der Zulassungsliste über Quellen hinweg erfordert Claude Code v2.1.273 oder später.

281 

282[Beschränken Sie die Zulassungsliste auf verwaltete Einstellungen nur](#restrict-the-allowlist-to-managed-settings-only) zeigt die Konfiguration.

283 

284Ohne `allowManagedMcpServersOnly` werden Zulassungslisten aus jedem Einstellungsbereich zusammengeführt, einschließlich der eigenen `~/.claude/settings.json` eines Benutzers, sodass ein Benutzer das, was Ihre Zulassungsliste erlaubt, erweitern kann. Sperrlisten werden unabhängig davon aus jedem Bereich zusammengeführt.

271 285 

272<Note>286<Note>

273 `allowManagedMcpServersOnly` ist getrennt von `allowManagedPermissionRulesOnly`, das [Berechtigungsregeln](/docs/de/permissions#managed-settings) nur sperrt. Das Setzen dieses Flags erzwingt nicht die MCP-Zulassungsliste.287 `allowManagedMcpServersOnly` ist getrennt von `allowManagedPermissionRulesOnly`, das [Berechtigungsregeln](/docs/de/permissions#managed-settings) nur sperrt. Das Setzen dieses Flags erzwingt nicht die MCP-Zulassungsliste.


300 314 

301Die `serverName`-Validierung unterscheidet sich zwischen den beiden Listen:315Die `serverName`-Validierung unterscheidet sich zwischen den beiden Listen:

302 316 

303* In `deniedMcpServers` akzeptiert `serverName` jede nicht leere Zeichenkette, sodass Sie [claude.ai-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai) nach ihrem Anzeigenamen blockieren können. Zum Beispiel blockiert `{ "serverName": "claude.ai Slack" }` den Slack-Konnektor. Bevorzugen Sie einen `serverUrl`-Eintrag, wenn die Sperre robust gegen Umbenennungen sein muss, oder wenn ein Konnektor-Name kollidiert und ein ` (N)`-Suffix erhält.317* In `deniedMcpServers` akzeptiert `serverName` jede nicht leere Zeichenkette ohne führende oder nachfolgende Leerzeichen, sodass Sie [claude.ai-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai) nach ihrem Anzeigenamen blockieren können. Zum Beispiel blockiert `{ "serverName": "claude.ai Slack" }` den Slack-Konnektor. Bevorzugen Sie einen `serverUrl`-Eintrag, wenn die Sperre robust gegen Umbenennungen sein muss, oder wenn ein Konnektor-Name kollidiert und ein ` (N)`-Suffix erhält.

304* In `allowedMcpServers` ist `serverName` auf Buchstaben, Zahlen, Bindestriche und Unterstriche beschränkt. Verwenden Sie `serverUrl`, um einen claude.ai-Konnektor auf die Zulassungsliste zu setzen, den Claude Code selbst abruft; für Konnektoren, die ein Cloud-Host an selbstgehostete Sitzungen liefert, verwenden Sie stattdessen die unter [Konnektor-Datenverkehr verlässt Ihr Netzwerk](/docs/de/self-hosted-environments-deploy#connector-traffic-leaves-your-network) aufgelisteten Einträge.318* In `allowedMcpServers` ist `serverName` auf Buchstaben, Zahlen, Bindestriche und Unterstriche beschränkt. Verwenden Sie `serverUrl`, um einen claude.ai-Konnektor auf die Zulassungsliste zu setzen, den Claude Code selbst abruft; für Konnektoren, die ein Cloud-Host an selbstgehostete Sitzungen liefert, verwenden Sie stattdessen die unter [Konnektor-Datenverkehr verlässt Ihr Netzwerk](/docs/de/self-hosted-environments-deploy#connector-traffic-leaves-your-network) aufgelisteten Einträge.

305 319 

306Um alle claude.ai-Konnektoren auszuschalten, die Claude Code selbst abruft, siehe [`disableClaudeAiConnectors`](/docs/de/mcp#disable-claude-ai-connectors).320Um alle claude.ai-Konnektoren auszuschalten, die Claude Code selbst abruft, siehe [`disableClaudeAiConnectors`](/docs/de/mcp#disable-claude-ai-connectors).


311 325 

312Vor dem Laden eines Servers, einschließlich eines aus `managed-mcp.json`, führt Claude Code die drei folgenden Überprüfungen in Reihenfolge durch. Es führt sie erneut durch, wenn ein Benutzer einen Server erneut verbindet oder einen deaktivierten in `/mcp` wieder aktiviert. In-Process-`type: "sdk"`-Server, die [die App registriert, die die Sitzung gestartet hat](/docs/de/mcp#how-connectors-reach-claude-code), überspringen alle drei.326Vor dem Laden eines Servers, einschließlich eines aus `managed-mcp.json`, führt Claude Code die drei folgenden Überprüfungen in Reihenfolge durch. Es führt sie erneut durch, wenn ein Benutzer einen Server erneut verbindet oder einen deaktivierten in `/mcp` wieder aktiviert. In-Process-`type: "sdk"`-Server, die [die App registriert, die die Sitzung gestartet hat](/docs/de/mcp#how-connectors-reach-claude-code), überspringen alle drei.

313 327 

3141. **Listen zusammenführen.** Zulassungs- und Sperrlisten-Einträge aus jedem Einstellungsbereich werden in eine Zulassungsliste und eine Sperrliste kombiniert, wobei die Listen des verwalteten Bereichs von der [verwalteten Quelle oder den Quellen stammen, die Claude Code anwendet](/docs/de/managed-settings#how-claude-code-combines-managed-sources). Wenn `allowManagedMcpServersOnly` `true` ist, wird nur die verwaltete Zulassungsliste beibehalten; die Sperrliste wird immer aus jedem Bereich zusammengeführt.3281. **Listen zusammenführen.** Zulassungs- und Sperrlisten-Einträge aus jedem Einstellungsbereich werden in eine Zulassungsliste und eine Sperrliste kombiniert. Wenn `allowManagedMcpServersOnly` `true` ist, wird nur die verwaltete Zulassungsliste beibehalten; die Sperrliste wird immer aus jedem Bereich zusammengeführt. Wenn mehr als eine verwaltete Quelle vorhanden ist, sagt [Schlüssel, die aus jeder Admin-Quelle gelesen werden](/docs/de/managed-settings#keys-read-from-every-admin-source), welche von ihnen die Listen des verwalteten Bereichs liefern.

3152. **Sperrliste überprüfen.** Ein Server, der einem Sperrlisten-Eintrag entspricht, nach URL, Befehl oder Name, wird blockiert. Nichts überschreibt eine Sperrlisten-Übereinstimmung.3292. **Sperrliste überprüfen.** Ein Server, der einem Sperrlisten-Eintrag entspricht, nach URL, Befehl oder Name, wird blockiert. Nichts überschreibt eine Sperrlisten-Übereinstimmung.

3163. **Zulassungsliste überprüfen.** Wenn `allowedMcpServers` nirgendwo gesetzt ist, wird jeder Server, der die Sperrliste bestanden hat, geladen. Wenn es gesetzt ist, hängt das, dem der Server entsprechen muss, von seinem Typ ab, wie in der folgenden Tabelle gezeigt.3303. **Zulassungsliste überprüfen.** Wenn `allowedMcpServers` nirgendwo gesetzt ist, wird jeder Server, der die Sperrliste bestanden hat, geladen. Wenn es gesetzt ist, hängt das, dem der Server entsprechen muss, von seinem Typ ab, wie in der folgenden Tabelle gezeigt.

317 331 


503| Der Server befindet sich auf einer Ablehnungsliste und der Benutzer führt `claude mcp add` aus | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |517| Der Server befindet sich auf einer Ablehnungsliste und der Benutzer führt `claude mcp add` aus | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

504| Der Server befindet sich nicht auf der Zulassungsliste und der Benutzer führt `claude mcp add` aus | `Cannot add MCP server "<name>": not allowed by enterprise policy` |518| Der Server befindet sich nicht auf der Zulassungsliste und der Benutzer führt `claude mcp add` aus | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

505| Der Benutzer führt `claude mcp remove` auf einem Server aus `managedMcpServers` aus | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |519| Der Benutzer führt `claude mcp remove` auf einem Server aus `managedMcpServers` aus | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |

506| Ein zuvor konfigurierter Server wird jetzt durch eine Richtlinie blockiert | Der Server verschwindet stillschweigend aus `/mcp` und `claude mcp list` ohne Warnung |520| Ein zuvor konfigurierter Server wird jetzt durch eine Richtlinie blockiert | Der Server verschwindet aus `/mcp` und `claude mcp list` |

507| Ein Server wird blockiert, während eine Sitzung ausgeführt wird, und der Benutzer wählt **Reconnect** oder aktiviert ihn in `/mcp` erneut | [`MCP server <name> is blocked by enterprise managed policy`](/docs/de/errors#mcp-server-is-blocked-by-enterprise-managed-policy) |521| Ein Server wird blockiert, während eine Sitzung ausgeführt wird, und der Benutzer wählt **Reconnect** oder aktiviert ihn in `/mcp` erneut | [`MCP server <name> is blocked by enterprise managed policy`](/docs/de/errors#mcp-server-is-blocked-by-enterprise-managed-policy) |

508 522 

509Wenn ein Server stillschweigend verschwindet, erhält der Benutzer kein Signal dafür, dass die Richtlinie der Grund ist. Teilen Sie betroffenen Benutzern daher mit, welche Server blockiert sind, wenn Sie eine neue Einschränkung einführen.523Wenn ein Server stillschweigend verschwindet, erhält der Benutzer kein Signal dafür, dass die Richtlinie der Grund ist. Teilen Sie betroffenen Benutzern daher mit, welche Server blockiert sind, wenn Sie eine neue Einschränkung einführen.


521Jede Datei und Einstellung, die diese Seite behandelt, was sie kontrolliert und wie man sie bereitstellt:535Jede Datei und Einstellung, die diese Seite behandelt, was sie kontrolliert und wie man sie bereitstellt:

522 536 

523| Oberfläche | Was es kontrolliert | Wo es sich befindet | Wie man es bereitstellt |537| Oberfläche | Was es kontrolliert | Wo es sich befindet | Wie man es bereitstellt |

524| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |538| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

525| `managed-mcp.json` | Fester Serversatz, exklusive Kontrolle | Systempfad: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/` oder `C:\Program Files\ClaudeCode\` | MDM, GPO, Fleet-Verwaltung oder jeder Prozess mit Administratorrechten. Kann nicht über serververwaltete Einstellungen gesetzt werden |539| `managed-mcp.json` | Fester Serversatz, exklusive Kontrolle | Systempfad: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/` oder `C:\Program Files\ClaudeCode\` | MDM, GPO, Fleet-Verwaltung oder jeder Prozess mit Administratorrechten. Kann nicht über serververwaltete Einstellungen gesetzt werden |

526| `managedMcpServers` | Remote-Server, die jedem Benutzer neben seinen eigenen bereitgestellt werden | Nur verwaltete Einstellungsquellen; die Einstellung hat keine Auswirkung anderswo | Eine [verwaltete Einstellungsquelle](/docs/de/admin-setup#decide-how-settings-reach-devices): serververwaltete Einstellungen, eine Gateway-Richtlinie, `managed-settings.json`, MDM-Profil oder HKLM-Registrierung |540| `managedMcpServers` | Remote-Server, die jedem Benutzer neben seinen eigenen bereitgestellt werden | Nur verwaltete Einstellungsquellen; die Einstellung hat keine Auswirkung anderswo | Eine [verwaltete Einstellungsquelle](/docs/de/admin-setup#decide-how-settings-reach-devices): serververwaltete Einstellungen, eine Gateway-Richtlinie, `managed-settings.json`, MDM-Profil oder HKLM-Registrierung |

527| `allowedMcpServers` | Zulassungsliste zulässiger Server | Jede [Einstellungsbereich](/docs/de/settings#where-settings-live); Claude Code führt die Listen aus jedem Bereich zusammen, es sei denn, `allowManagedMcpServersOnly` ist gesetzt, und nimmt die verwaltete Bereichsliste aus der einen [verwalteten Quelle, die es auswählt](/docs/de/managed-settings#precedence-within-the-managed-tier) oder [zusammensetzt](/docs/de/managed-settings#compose-every-managed-source) | Zur Durchsetzung eine [verwaltete Einstellungsquelle](/docs/de/admin-setup#decide-how-settings-reach-devices): serververwaltete Einstellungen, `managed-settings.json`, MDM-Profil oder Registrierung |541| `allowedMcpServers` | Zulassungsliste zulässiger Server | Jede [Einstellungsbereich](/docs/de/settings#where-settings-live); [Wie ein Server bewertet wird](#how-a-server-is-evaluated) sagt, wie Listen aus mehreren Bereichen und verwalteten Quellen kombiniert werden | Zur Durchsetzung eine [verwaltete Einstellungsquelle](/docs/de/admin-setup#decide-how-settings-reach-devices): serververwaltete Einstellungen, `managed-settings.json`, MDM-Profil oder Registrierung |

528| `deniedMcpServers` | Sperrliste blockierter Server | Jede Einstellungsbereich; Claude Code führt die Listen aus jedem Bereich zusammen und über verwaltete Quellen hinweg, wie [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) beschreibt | Gleich wie `allowedMcpServers` |542| `deniedMcpServers` | Sperrliste blockierter Server | Jede Einstellungsbereich; [Wie ein Server bewertet wird](#how-a-server-is-evaluated) sagt, wie Listen aus mehreren Bereichen und verwalteten Quellen kombiniert werden | Gleich wie `allowedMcpServers` |

529| `allowManagedMcpServersOnly` | Sperrt die Zulassungsliste auf verwaltete Quellen nur | Nur verwaltete Einstellungsquellen; die Einstellung hat keine Auswirkung anderswo | Gleich wie `allowedMcpServers` |543| `allowManagedMcpServersOnly` | Sperrt die Zulassungsliste auf verwaltete Quellen nur | Nur verwaltete Einstellungsquellen; [Schlüssel, die aus jeder Admin-Quelle gelesen werden](/docs/de/managed-settings#keys-read-from-every-admin-source) sagt, welche verwalteten Quellen sie aktivieren können. Die Einstellung hat keine Auswirkung in anderen Bereichen | Gleich wie `allowedMcpServers` |

530| `allowAllClaudeAiMcps` | Lädt die claude.ai-Konnektoren, die Claude Code selbst abruft, neben `managed-mcp.json`. [Eine `managed-mcp.json` auf dem Host, der eine Cloud-Sitzung ausführt, unterdrückt immer noch die Konnektoren dieser Sitzung](#allow-claude-ai-connectors-alongside-the-managed-set) | Nur verwaltete Einstellungsquellen; die Einstellung hat keine Auswirkung anderswo | Gleich wie `allowedMcpServers` |544| `allowAllClaudeAiMcps` | Lädt die claude.ai-Konnektoren, die Claude Code selbst abruft, neben `managed-mcp.json`. [Eine `managed-mcp.json` auf dem Host, der eine Cloud-Sitzung ausführt, unterdrückt immer noch die Konnektoren dieser Sitzung](#allow-claude-ai-connectors-alongside-the-managed-set) | Nur verwaltete Einstellungsquellen; die Einstellung hat keine Auswirkung anderswo | Gleich wie `allowedMcpServers` |

531 545 

532<h2 id="related-resources">546<h2 id="related-resources">

Details

60Die Datei in den obigen Schritten ist eine von vier Möglichkeiten, verwaltete Einstellungen auf einen Rechner zu bringen. Jeder Mechanismus trägt die gleichen Richtlinienschlüssel wie eine `settings.json`-Datei, daher gilt die [Einstellungsreferenz](/docs/de/settings-reference) für alle. Einige Schlüssel sind an bestimmte Quellen gebunden, und die Zeile „Scope" jedes Eintrags sagt, welche:60Die Datei in den obigen Schritten ist eine von vier Möglichkeiten, verwaltete Einstellungen auf einen Rechner zu bringen. Jeder Mechanismus trägt die gleichen Richtlinienschlüssel wie eine `settings.json`-Datei, daher gilt die [Einstellungsreferenz](/docs/de/settings-reference) für alle. Einige Schlüssel sind an bestimmte Quellen gebunden, und die Zeile „Scope" jedes Eintrags sagt, welche:

61 61 

62* **Bereitstellungssteuerelemente**: [`policyHelper`](/docs/de/settings-reference#policyhelper), [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) und [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior)62* **Bereitstellungssteuerelemente**: [`policyHelper`](/docs/de/settings-reference#policyhelper), [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) und [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior)

63* **Gateway-Anmeldeschlüssel**: [`forceLoginGatewayUrl`](/docs/de/settings-reference#forcelogingatewayurl) und der `"gateway"`-Wert von [`forceLoginMethod`](/docs/de/settings-reference#forceloginmethod)63* **Gateway-Anmeldeschlüssel**: [`forceLoginGatewayUrl`](/docs/de/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/de/settings-reference#gatewayinternalnetworks) und der `"gateway"`-Wert von [`forceLoginMethod`](/docs/de/settings-reference#forceloginmethod)

64 64 

65Eine verwaltete Einstellungsdatei, ein MDM-Profil oder die claude.ai-Konsole wendet eine Richtlinie auf alle an, die sie erreicht. Um einer Gruppe von Entwicklern eine andere Richtlinie zu geben, stellen Sie eine andere Datei oder ein anderes Profil für diese Gruppe bereit; die claude.ai-Konsole [kann noch keine Gruppe als Ziel festlegen](/docs/de/server-managed-settings#current-limitations), während ein selbstgehostetes [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) verwaltete Einstellungen pro IdP-Gruppe bereitstellt.65Eine verwaltete Einstellungsdatei, ein MDM-Profil oder die claude.ai-Konsole wendet eine Richtlinie auf alle an, die sie erreicht. Um einer Gruppe von Entwicklern eine andere Richtlinie zu geben, stellen Sie eine andere Datei oder ein anderes Profil für diese Gruppe bereit; die claude.ai-Konsole [kann noch keine Gruppe als Ziel festlegen](/docs/de/server-managed-settings#current-limitations), während ein selbstgehostetes [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) verwaltete Einstellungen pro IdP-Gruppe bereitstellt.

66 66 


141 Wie Claude Code verwaltete Quellen kombiniert141 Wie Claude Code verwaltete Quellen kombiniert

142</h2>142</h2>

143 143 

144Wenn Ihre Organisation mehr als eine verwaltete Quelle auf dem gleichen Rechner bereitstellt, entscheidet der Schlüssel [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior), was Claude Code mit den anderen macht:144Wenn Ihre Organisation mehr als eine verwaltete Quelle auf demselben Computer bereitstellt, entscheidet der Schlüssel [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior), was Claude Code mit den anderen tut:

145 145 

146* **`"first-wins"`, die Standardeinstellung**: Claude Code verwendet die höchstrangige Quelle, die mindestens einen Richtlinienschlüssel bereitstellt, und ignoriert den Rest, anstatt sie zusammenzuführen, mit Ausnahme der wenigen Schlüssel in [Schlüssel, die aus jeder Admin-Quelle gelesen werden](#keys-read-from-every-admin-source). Claude Code zeigt keine Warnung für die Quellen, die es überspringt; `/status` [nennt die Quelle, die es verwendet, und die, die es übersprungen hat](#read-the-source-in-/status).146* **`"first-wins"`, die Standardeinstellung**: Claude Code verwendet die höchstrangige Quelle, die mindestens einen Richtlinienschlüssel bereitstellt, und ignoriert die übrigen, anstatt sie zu zusammenzuführen, mit Ausnahme der Schlüssel in [Schlüssel, die von jeder Admin-Quelle gelesen werden](#keys-read-from-every-admin-source). Claude Code zeigt keine Warnung für die Quellen an, die es überspringt; `/status` [nennt die Quelle, die es verwendet hat, und die, die es übersprungen hat](#read-the-source-in-/status).

147* **`"merge"`**: Claude Code wendet jede Admin-Quelle an, die einen Richtlinienschlüssel bereitstellt, und kombiniert sie nach Art des Schlüssels: Bei den meisten Schlüsseln gilt der Wert der höherrangigen Quelle, Listen vereinigen sich und Sperren nehmen den strengsten Wert. [Komponieren Sie jede verwaltete Quelle](#compose-every-managed-source) sagt, wo der Schlüssel zu setzen ist und wie sich jede Art von Schlüssel kombiniert. Erfordert Claude Code v2.1.242 oder später.147* **`"merge"`**: Claude Code wendet jede Admin-Quelle an, die einen Richtlinienschlüssel bereitstellt, und kombiniert sie nach Art des Schlüssels: Bei den meisten Schlüsseln gilt der Wert der höherrangigen Quelle, Listen werden vereinigt, und Sperren nehmen den strengsten Wert. [Zusammensetzen jeder verwalteten Quelle](#compose-every-managed-source) sagt, wo der Schlüssel gesetzt wird und wie jede Art von Schlüssel kombiniert wird. Erfordert Claude Code v2.1.242 oder später.

148 148 

149Beide Einstellungen ordnen die Quellen auf die gleiche Weise. Zwei Begriffe wiederholen sich in diesem Abschnitt:149Beide Einstellungen ordnen die Quellen auf die gleiche Weise. Diese Begriffe treten in diesem Abschnitt wiederholt auf:

150 150 

151* **Richtlinienschlüssel**: Jeder Einstellungsschlüssel außer den zwei Steuerschlüsseln, [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) und [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior). Eine verwaltete Einstellungsdatei oder MDM-Richtlinie, die nur diese enthält, zählt nicht, und Claude Code geht zur nächsten Quelle über.151* **Richtlinienschlüssel**: jeder Einstellungsschlüssel außer den zwei Steuerschlüsseln, [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) und [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior). Eine verwaltete Einstellungsdatei oder MDM-Richtlinie, die nur diese enthält, zählt nicht, und Claude Code geht zur nächsten Quelle über.

152* **Admin-Quelle**: Eine der ersten drei Quellen unten. Die HKCU-Registrierung ist benutzerbearbeitbar und ist keine.152* **Admin-Quelle**: eine der ersten drei Quellen unten. Die HKCU-Registrierung ist vom Benutzer beschreibbar und ist keine.

153 153 

154Claude Code überprüft die Quellen in dieser Reihenfolge, höchste Priorität zuerst:154Claude Code prüft die Quellen in dieser Reihenfolge, höchste Priorität zuerst:

155 155 

1561. Remote-Einstellungen, bereitgestellt von claude.ai als [serververwaltete Einstellungen](/docs/de/server-managed-settings) oder von einem [Claude-Apps-Gateway](/docs/de/claude-apps-gateway). Claude Code ruft diese Quelle nur ab, wenn sich die Sitzung direkt mit Anthropics API mit einem [berechtigten Login oder Schlüssel](/docs/de/server-managed-settings#platform-availability) authentifiziert oder sich bei einem Gateway mit `/login` anmeldet. Bei anderen Anbietern oder wenn `ANTHROPIC_BASE_URL` auf etwas anderes als Anthropics API zeigt, beginnt es bei der nächsten Quelle1561. Remote-Einstellungen, bereitgestellt von claude.ai als [servergesteuerte Einstellungen](/docs/de/server-managed-settings) oder durch ein [Claude-Apps-Gateway](/docs/de/claude-apps-gateway). Claude Code ruft diese Quelle nur ab, wenn die Sitzung sich direkt mit einem [berechtigten Login oder Schlüssel](/docs/de/server-managed-settings#platform-availability) bei der API von Anthropic authentifiziert oder sich mit `/login` bei einem Gateway anmeldet. Bei anderen Anbietern oder wenn `ANTHROPIC_BASE_URL` auf etwas anderes als die API von Anthropic verweist, beginnt es bei der nächsten Quelle

1572. MDM- oder Richtlinien auf Betriebssystemebene: die macOS-plist oder der HKLM-Registrierungsschlüssel1572. MDM- oder Betriebssystem-Richtlinien: der macOS-plist oder der HKLM-Registrierungsschlüssel

1583. Verwaltete Einstellungsdateien, `managed-settings.d/*.json` und `managed-settings.json` zusammengeführt1583. Verwaltete Einstellungsdateien, `managed-settings.d/*.json` und `managed-settings.json` zusammengeführt

1594. Die HKCU-Registrierung, auf Windows und auf WSL, sobald der HKLM-Registrierungsschlüssel oder die Windows-verwaltete Einstellungsdatei [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) einschaltet und der HKCU-Wert es auch setzt. Claude Code liest ihn nur, wenn keine Quelle darüber einen Richtlinienschlüssel bereitstellt und keine [vom Host bereitgestellten übergeordneten Einstellungen](#let-an-embedding-host-add-policy) einen restriktiven Schlüssel liefern1594. Die HKCU-Registrierung unter Windows und unter WSL, sobald der HKLM-Registrierungsschlüssel oder die Windows-Verwaltungsdatei [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) aktiviert und der HKCU-Wert es auch setzt. Claude Code liest sie nur, wenn keine Quelle darüber einen Richtlinienschlüssel bereitstellt und keine [vom Host bereitgestellten übergeordneten Einstellungen](#let-an-embedding-host-add-policy) einen restriktiven Schlüssel liefern

160 160 

161Dieses Diagramm zeigt die Rangfolge, mit Beispielen der quellübergreifenden Schlüssel, die Claude Code unter einer der beiden Einstellungen aus den ersten drei Quellen liest:161Dieses Diagramm zeigt die Rangfolge mit Beispielen der Schlüssel zwischen Quellen, die Claude Code aus den ersten drei Quellen unter einer der beiden Einstellungen liest:

162 162 

163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Diagramm, das die vier verwalteten Einstellungsquellen zeigt, die von Remote-Einstellungen oben über MDM, verwaltete Einstellungsdateien und die HKCU-Registrierung unten rangiert sind. Standardmäßig liefert die erste Quelle mit einem Richtlinienschlüssel die Richtlinie und der Rest wird übersprungen; mit managedSourcesBehavior auf Merge trägt jede Admin-Quelle mit einem Richtlinienschlüssel bei, kombiniert nach Art des Schlüssels, und die HKCU-Registrierung bleibt außen vor. Ein Seitenpanel zeigt, dass quellübergreifende Schlüssel wie die Sandbox-Sperren, forceRemoteSettingsRefresh und die pro-Variable env-Zusammenführung aus jeder Admin-Quelle gelesen werden, die die HKCU-Registrierung ausschließt." width="680" height="330" data-path="images/managed-source-precedence.svg" />163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Diagramm, das die vier verwalteten Einstellungsquellen zeigt, die von Remote-Einstellungen oben über MDM, verwaltete Einstellungsdateien und die HKCU-Registrierung unten rangiert sind. Standardmäßig liefert die erste Quelle mit einem Richtlinienschlüssel die Richtlinie und die übrigen werden übersprungen; mit managedSourcesBehavior auf merge gesetzt, trägt jede Admin-Quelle mit einem Richtlinienschlüssel bei, kombiniert nach Art des Schlüssels, und die HKCU-Registrierung bleibt außen vor. Ein Seitenpanel zeigt, dass Schlüssel zwischen Quellen wie die Sandbox-Sperren, forceRemoteSettingsRefresh und die pro-Variable env-Zusammenführung von jeder Admin-Quelle gelesen werden, was die HKCU-Registrierung ausschließt." width="680" height="330" data-path="images/managed-source-precedence.svg" />

164 164 

165<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="Diagramm, das die vier verwalteten Einstellungsquellen zeigt, die von Remote-Einstellungen oben über MDM, verwaltete Einstellungsdateien und die HKCU-Registrierung unten rangiert sind. Standardmäßig liefert die erste Quelle mit einem Richtlinienschlüssel die Richtlinie und der Rest wird übersprungen; mit managedSourcesBehavior auf Merge trägt jede Admin-Quelle mit einem Richtlinienschlüssel bei, kombiniert nach Art des Schlüssels, und die HKCU-Registrierung bleibt außen vor. Ein Seitenpanel zeigt, dass quellübergreifende Schlüssel wie die Sandbox-Sperren, forceRemoteSettingsRefresh und die pro-Variable env-Zusammenführung aus jeder Admin-Quelle gelesen werden, die die HKCU-Registrierung ausschließt." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />165<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="Diagramm, das die vier verwalteten Einstellungsquellen zeigt, die von Remote-Einstellungen oben über MDM, verwaltete Einstellungsdateien und die HKCU-Registrierung unten rangiert sind. Standardmäßig liefert die erste Quelle mit einem Richtlinienschlüssel die Richtlinie und die übrigen werden übersprungen; mit managedSourcesBehavior auf merge gesetzt, trägt jede Admin-Quelle mit einem Richtlinienschlüssel bei, kombiniert nach Art des Schlüssels, und die HKCU-Registrierung bleibt außen vor. Ein Seitenpanel zeigt, dass Schlüssel zwischen Quellen wie die Sandbox-Sperren, forceRemoteSettingsRefresh und die pro-Variable env-Zusammenführung von jeder Admin-Quelle gelesen werden, was die HKCU-Registrierung ausschließt." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />

166 166 

167<h3 id="keys-read-from-every-admin-source">167<h3 id="keys-read-from-every-admin-source">

168 Schlüssel, die aus jeder Admin-Quelle gelesen werden168 Schlüssel, die von jeder Admin-Quelle gelesen werden

169</h3>169</h3>

170 170 

171Unter der Standardeinstellung `"first-wins"` liest Claude Code die meisten Schlüssel nur aus der [Quelle, die es ausgewählt hat](#how-claude-code-combines-managed-sources), und ignoriert einen Wert in einer niedrigeren Quelle, auch wenn die ausgewählte Quelle diesen Schlüssel nicht setzt.171Unter der Standardeinstellung `"first-wins"` liest Claude Code die meisten Schlüssel nur aus der [Quelle, die es ausgewählt hat](#how-claude-code-combines-managed-sources), und ignoriert einen Wert in einer niedrigerrangigen Quelle, selbst wenn die ausgewählte Quelle diesen Schlüssel nicht setzt.

172 172 

173Einige Schlüssel funktionieren anders. Claude Code liest sie aus jeder Admin-Quelle, daher kann eine niedrigere MDM-Richtlinie oder verwaltete Einstellungsdatei sie immer noch setzen, wenn die ausgewählte Quelle es nicht tut. Claude Code lässt die benutzerbearbeitbare HKCU-Registrierung aus dieser Überprüfung aus; wenn HKCU die einzige Quelle ist und kein Host übergeordnete Einstellungen liefert, wendet HKCU wie jede ausgewählte Quelle an.173Einige Schlüssel funktionieren anders. Claude Code liest sie aus jeder Admin-Quelle, sodass eine niedrigerrangige MDM-Richtlinie oder verwaltete Einstellungsdatei sie immer noch setzen kann, wenn die ausgewählte Quelle dies nicht tut. Claude Code lässt die vom Benutzer beschreibbare HKCU-Registrierung aus dieser Überprüfung aus; wenn HKCU die einzige Quelle ist und kein Host übergeordnete Einstellungen liefert, gilt HKCU wie jede ausgewählte Quelle.

174 174 

175Die quellübergreifenden Schlüssel umfassen:175Die Schlüssel zwischen Quellen umfassen:

176 176 

177* `sandbox.network.allowManagedDomainsOnly` und `sandbox.filesystem.allowManagedReadPathsOnly`: Ein `true` in einer Admin-Quelle schaltet die Sperre ein. Während eine Sperre eingeschaltet ist, vereinigt Claude Code die Zulassungsliste, die sie sperrt, `sandbox.network.allowedDomains` zusammen mit `WebFetch(domain:...)`-Zulassungsregeln oder `sandbox.filesystem.allowRead`, über jede Admin-Quelle. Ohne die Sperre behandelt Claude Code die Zulassungsliste wie jeden anderen Schlüssel, daher wird unter `"first-wins"` die Zulassungsliste einer nicht ausgewählten Admin-Quelle ignoriert177* `sandbox.network.allowManagedDomainsOnly` und `sandbox.filesystem.allowManagedReadPathsOnly`: ein `true` in einer beliebigen Admin-Quelle aktiviert die Sperre. Während eine Sperre aktiv ist, vereinigt Claude Code die Zulassungsliste, die sie sperrt, `sandbox.network.allowedDomains` zusammen mit `WebFetch(domain:...)` Zulassungsregeln oder `sandbox.filesystem.allowRead` über jede Admin-Quelle hinweg. Ohne die Sperre behandelt Claude Code die Zulassungsliste wie jeden anderen Schlüssel, sodass unter `"first-wins"` die Zulassungsliste einer nicht ausgewählten Admin-Quelle ignoriert wird

178* `allowAllClaudeAiMcps`178* `allowAllClaudeAiMcps`

179* `allowManagedMcpServersOnly`: ein `true` in einer beliebigen Admin-Quelle aktiviert die MCP-Zulassungslisten-Sperre. Während die Sperre aktiv ist, kommt die verwaltete `allowedMcpServers` Liste aus der höchstrangigen Admin-Quelle, die eine setzt. Eine servergesteuerte Liste ersetzt die Liste einer niedrigeren Quelle, anstatt sich mit ihr zu kombinieren.

180 

181 Wenn keine Admin-Quelle eine Liste setzt, wird jeder Server geladen, der die Ablehnungsliste passiert, es sei denn, [übergeordnete Einstellungen](#let-an-embedding-host-add-policy) liefern eine Liste.

182 

183 Ohne die Sperre liest Claude Code `allowedMcpServers` aus der verwalteten Quelle, die es anwendet, sodass unter `"first-wins"` die Liste einer nicht ausgewählten Admin-Quelle ignoriert wird. Erfordert Claude Code v2.1.273 oder später

184* `deniedMcpServers` und [`disableClaudeAiConnectors`](/docs/de/settings-reference#disableclaudeaiconnectors): ein Eintrag oder ein `true` in einer beliebigen Admin-Quelle gilt. Erfordert Claude Code v2.1.273 oder später

179* Die Sandbox-Binärpfade `sandbox.bwrapPath` und `sandbox.socatPath`185* Die Sandbox-Binärpfade `sandbox.bwrapPath` und `sandbox.socatPath`

180* Die Sandbox-`ripgrep`-Binärdatei, [`sandbox.ripgrep`](/docs/de/settings-reference#sandbox-ripgrep)186* Die Sandbox `ripgrep` Binärdatei, [`sandbox.ripgrep`](/docs/de/settings-reference#sandbox-ripgrep)

181* `sandbox.filesystem.disabled` und `sandbox.network.strictAllowlist`187* `sandbox.filesystem.disabled` und `sandbox.network.strictAllowlist`

182* [`useAutoModeDuringPlan`](/docs/de/settings-reference#useautomodeduringplan) und [`syncClaudeAiSkills`](/docs/de/settings-reference#syncclaudeaiskills), wobei ein `false` aus einer Admin-Quelle das Verhalten ausschaltet. Ein `false` in den Benutzer- oder lokalen Einstellungen des Entwicklers schaltet es auch aus; jeder Schlüssel kann nur verweigern188* [`useAutoModeDuringPlan`](/docs/de/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](/docs/de/settings-reference#syncclaudeaiskills) und [`syncClaudeAiPlugins`](/docs/de/settings-reference#syncclaudeaiplugins), wobei ein `false` aus einer beliebigen Admin-Quelle das Verhalten ausschaltet. Ein `false` in den Benutzer- oder lokalen Einstellungen des Entwicklers schaltet es auch aus; jeder Schlüssel kann nur verweigern

183* [`enableArtifact`](/docs/de/settings-reference#enableartifact), wobei ein `false` aus einer Admin-Quelle das [Artifact-Tool](/docs/de/artifacts) ausschaltet. Ein `false` in den Benutzer-, Projekt- oder lokalen Einstellungen des Entwicklers schaltet es auch aus, und keine Quelle schaltet es wieder ein; siehe [welche niedrigeren Werte dennoch zählen](/docs/de/settings#exceptions-to-managed-settings-precedence). Erfordert Claude Code v2.1.242 oder später189* [`enableArtifact`](/docs/de/settings-reference#enableartifact), wobei ein `false` aus einer beliebigen Admin-Quelle das [Artifact-Tool](/docs/de/artifacts) ausschaltet. Ein `false` in den Benutzer-, Projekt- oder lokalen Einstellungen des Entwicklers schaltet es auch aus, und keine Quelle schaltet es wieder ein; siehe [welche niedrigeren Werte immer noch zählen](/docs/de/settings#exceptions-to-managed-settings-precedence). Erfordert Claude Code v2.1.242 oder später

184* [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel), wobei die niedrigste Obergrenze in einer Admin-Quelle gilt. Wenn ein Entwickler eine niedrigere Obergrenze in seinen eigenen Einstellungen oder mit `--settings` setzt, wendet Claude Code diese an; keine Quelle kann die Obergrenze erhöhen. Erfordert Claude Code v2.1.267 oder später190* [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel), wobei die niedrigste Obergrenze in einer beliebigen Admin-Quelle gilt. Wenn ein Entwickler eine niedrigere Obergrenze in seinen eigenen Einstellungen oder mit `--settings` setzt, wendet Claude Code diese an; keine Quelle kann die Obergrenze erhöhen. Erfordert Claude Code v2.1.267 oder später

185* Ein Commit-Trailer-Opt-out in `attribution` oder im veralteten `includeCoAuthoredBy` aus einer beliebigen Ebene191* Ein Commit-Trailer-Opt-out in `attribution` oder im veralteten `includeCoAuthoredBy` aus einer beliebigen Ebene

186* [`forceRemoteSettingsRefresh`](/docs/de/server-managed-settings)192* [`forceRemoteSettingsRefresh`](/docs/de/server-managed-settings)

187* `env`, zusammengeführt pro Variable über die Admin-Quellen: Jede Variable kommt aus der höchstpriorität Quelle, die sie definiert, daher füllen niedrigere Quellen Variablen, die höhere nicht setzen. Einige Variablen folgen ihren eigenen Regeln; [Pro-Schlüssel-Ausnahmen über verwaltete Quellen](/docs/de/server-managed-settings#per-key-exceptions-across-managed-sources) nennt jede. Erfordert Claude Code v2.1.223 oder später. Vor v2.1.223 wendete Claude Code nur den ganzen `env`-Block der ausgewählten Quelle an193* `env`, pro Variable über die Admin-Quellen zusammengeführt: jede Variable kommt aus der höchstpriorisierten Quelle, die sie definiert, sodass niedrigere Quellen Variablen ausfüllen, die höhere nicht setzen. Einige Variablen folgen ihren eigenen Regeln; [Pro-Schlüssel-Ausnahmen über verwaltete Quellen](/docs/de/server-managed-settings#per-key-exceptions-across-managed-sources) nennt jede. Erfordert Claude Code v2.1.223 oder später. Vor v2.1.223 wendete Claude Code nur den gesamten `env`-Block der ausgewählten Quelle an

194 

195Die [Gateway-Login-Schlüssel](#choose-a-delivery-mechanism) folgen einer separaten Regel. Claude Code liest sie niemals aus servergesteuerten Einstellungen, sodass während servergesteuerte Einstellungen die ausgewählte Quelle sind, die höchstrangige Admin-Quelle auf dem Computer, die einen Richtlinienschlüssel trägt, sie immer noch liefert. Ein Wert in einer Admin-Quelle, die unter dieser rangiert, oder in der HKCU-Registrierung wird ignoriert.

196 

197Wenn eine Admin-Quelle `allowManagedMcpServersOnly` setzt oder eine `allowedMcpServers` Liste setzt und dieser Wert nicht der ist, der gerade gültig ist, nennen `/status` und `claude doctor` diese Quelle und diesen Schlüssel.

188 198 

189<h3 id="compose-every-managed-source">199<h3 id="compose-every-managed-source">

190 Komponieren Sie jede verwaltete Quelle200 Zusammensetzen jeder verwalteten Quelle

191</h3>201</h3>

192 202 

193Um Claude Code jede Admin-Quelle anwenden zu lassen, die Ihre Organisation bereitstellt, setzen Sie [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior) auf `"merge"` in der höchstrangigen Quelle, die Sie bereitstellen. Claude Code liest den Schlüssel nur aus der höchstrangigen Quelle, die entweder den Schlüssel oder einen Richtlinienschlüssel trägt, daher kann eine niedrigere Quelle sich nicht selbst in die Zusammenführung mit der Quelle darüber einschalten, und ein Rechner, der niemals serververwaltete Einstellungen erhält, benötigt den Schlüssel auch in seinem MDM-Profil. Die benutzerbearbeitbare HKCU-Registrierung führt sich niemals mit einer anderen Quelle zusammen. Erfordert Claude Code v2.1.242 oder später.203Um Claude Code jede Admin-Quelle anwenden zu lassen, die Ihre Organisation bereitstellt, setzen Sie [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior) auf `"merge"` in der höchstrangigen Quelle, die Sie bereitstellen. Claude Code liest den Schlüssel nur aus der höchstrangigen Quelle, die entweder den Schlüssel oder einen Richtlinienschlüssel trägt, sodass eine niedrigere Quelle sich nicht selbst zum Zusammenführen mit der Quelle darüber anmelden kann, und ein Computer, der niemals servergesteuerte Einstellungen erhält, benötigt den Schlüssel auch in seinem MDM-Profil. Die vom Benutzer beschreibbare HKCU-Registrierung wird niemals mit einer anderen Quelle zusammengeführt. Erfordert Claude Code v2.1.242 oder später.

194 204 

195Unter `"merge"` fügt Claude Code Listeneinträge aus einer niedrigeren Quelle, wie `permissions.allow`-Regeln und Hooks, zur Richtlinie hinzu, daher schalten Sie es nur ein, wenn jede Quelle, die unter Ihrer höchsten rangiert, unter der Kontrolle eines Administrators steht.205Unter `"merge"` fügt Claude Code die Listeneinträge einer niedrigeren Quelle, wie `permissions.allow` Regeln und Hooks, zur Richtlinie hinzu, sodass aktivieren Sie es nur, wenn jede Quelle, die unter Ihrer höchsten rangiert, unter der Kontrolle eines Administrators steht.

196 206 

197Diese Tabelle zeigt, wie Claude Code jede Art von Schlüssel unter `"merge"` kombiniert. Der Eintrag [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior) nennt jeden Schlüssel in drei der Zeilen: Restriction-Zulassungslisten, Werte, die ganz genommen werden, und Schlüssel, die nur aus der höchstrangigen Quelle gelesen werden.207Diese Tabelle zeigt, wie Claude Code jede Art von Schlüssel unter `"merge"` kombiniert. Der [`managedSourcesBehavior` Eintrag](/docs/de/settings-reference#managedsourcesbehavior) nennt jeden Schlüssel in drei der Zeilen: Restriktions-Zulassungslisten, Werte, die ganz genommen werden, und Schlüssel, die nur aus der höchstrangigen Quelle gelesen werden.

198 208 

199| Art des Schlüssels | Wie Claude Code ihn kombiniert | Beispiele |209| Art des Schlüssels | Wie Claude Code es kombiniert | Beispiele |

200| :-------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |210| :-------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |

201| Listen | Kombiniert die Einträge aus jeder Quelle | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |211| Listen | Kombiniert die Einträge aus jeder Quelle | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |

202| Sperren | Wendet den strengsten Wert an, den eine Quelle setzt; ein lockererer Wert gilt nur aus der höchstrangigen Quelle | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |212| Sperren | Wendet den strengsten Wert an, den eine Quelle setzt; ein lockererer Wert gilt nur aus der höchstrangigen Quelle | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |

203| Restriction-Zulassungslisten | Nimmt die Liste ganz aus der höchstrangigen Quelle, die sie setzt, ohne Einträge aus niedrigeren Quellen hinzuzufügen | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` und die `fallbackModel`-Kette |213| Restriktions-Zulassungslisten | Nimmt die Liste ganz aus der höchstrangigen Quelle, die sie setzt, ohne Einträge aus niedrigeren Quellen hinzuzufügen | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` und die `fallbackModel` Kette |

204| Werte, die ganz genommen werden | Nimmt den Wert ganz aus der höchstrangigen Quelle, die ihn setzt, ohne Einträge oder Felder aus niedrigeren Quellen zu kombinieren | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |214| Werte, die ganz genommen werden | Nimmt den Wert ganz aus der höchstrangigen Quelle, die ihn setzt, ohne Einträge oder Felder aus niedrigeren Quellen zu kombinieren | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |

205| Bereitgestellte MCP-Server | Kombiniert die Servernamen aus jeder Quelle; wenn zwei Quellen den gleichen Namen setzen, wendet sie den ganzen Eintrag der höherrangigen Quelle an | `managedMcpServers` |215| Bereitgestellte MCP-Server | Kombiniert die Servernamen aus jeder Quelle; wenn zwei Quellen denselben Namen setzen, wendet den gesamten Eintrag der höherrangigen Quelle an | `managedMcpServers` |

206| Schlüssel, die nur aus der höchstrangigen Quelle gelesen werden | Ignoriert den Schlüssel in jeder niedrigeren Quelle, auch wenn die höchstrangige Quelle ihn nicht setzt | Credential-Helper wie `apiKeyHelper`, Login-Pins wie `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |216| Schlüssel, die nur aus der höchstrangigen Quelle gelesen werden | Ignoriert den Schlüssel in jeder niedrigeren Quelle, selbst wenn die höchstrangige Quelle ihn nicht setzt | Credential-Helfer wie `apiKeyHelper`, Login-Pins wie `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |

207| `env` | Führt pro Variable über Admin-Quellen unter einer der beiden Einstellungen zusammen, wie [Schlüssel, die aus jeder Admin-Quelle gelesen werden](#keys-read-from-every-admin-source) beschreibt | |217| `env` | Führt pro Variable über Admin-Quellen unter einer der beiden Einstellungen zusammen, wie [Schlüssel, die von jeder Admin-Quelle gelesen werden](#keys-read-from-every-admin-source) beschreibt | |

208| Jeder andere Schlüssel | Nimmt den Wert aus der höchstrangigen Quelle, die ihn setzt | `model`, `cleanupPeriodDays` |218| Jeder andere Schlüssel | Nimmt den Wert aus der höchstrangigen Quelle, die ihn setzt | `model`, `cleanupPeriodDays` |

209 219 

210Um zu bestätigen, welche Quellen auf einem Rechner kombiniert wurden, [lesen Sie die Zeile `Setting sources` in `/status`](#read-the-source-in-/status); dieser Abschnitt sagt, was jedes Label bedeutet.220Um zu bestätigen, welche Quellen auf einem Computer kombiniert wurden, [lesen Sie die Zeile `Setting sources` in `/status`](#read-the-source-in-/status); dieser Abschnitt sagt, was jedes Label bedeutet.

211 221 

212<h3 id="compute-the-policy-with-a-helper-program">222<h3 id="compute-the-policy-with-a-helper-program">

213 Berechnen Sie die Richtlinie mit einem Helper-Programm223 Berechnen Sie die Richtlinie mit einem Hilfsprogramm

214</h3>224</h3>

215 225 

216Ein [`policyHelper`](/docs/de/settings-reference#policyhelper) ist eine ausführbare Datei, die Ihre MDM-Richtlinie oder verwaltete Einstellungsdatei benennt, und Claude Code führt sie aus, um verwaltete Einstellungen beim Start zu berechnen. Wenn die ausgewählte Quelle einen konfiguriert und der Helper ein `managedSettings`-Objekt ausgibt, ändert diese Ausgabe, was Claude Code liest:226Ein [`policyHelper`](/docs/de/settings-reference#policyhelper) ist eine ausführbare Datei, die Ihre MDM-Richtlinie oder verwaltete Einstellungsdatei benennt, und Claude Code führt sie aus, um verwaltete Einstellungen beim Start zu berechnen. Wenn die ausgewählte Quelle einen konfiguriert und der Helper ein `managedSettings` Objekt ausgibt, ändert diese Ausgabe, was Claude Code liest:

217 227 

218* **Das ausgegebene `managedSettings`-Objekt ist die einzige verwaltete Einstellung für die Sitzung**, einschließlich für die [Schlüssel, die es sonst aus jeder Admin-Quelle liest](#keys-read-from-every-admin-source), mit Ausnahme von [`forceRemoteSettingsRefresh`, das seine eigene Startregel hat](/docs/de/settings-reference#forceremotesettingsrefresh)228* **Das ausgegebene `managedSettings` Objekt ist die einzige verwaltete Einstellung für die Sitzung**, einschließlich für die [Schlüssel, die es sonst aus jeder Admin-Quelle liest](#keys-read-from-every-admin-source), mit Ausnahme von [`forceRemoteSettingsRefresh`, das seine eigene Startregel hat](/docs/de/settings-reference#forceremotesettingsrefresh)

219 229 

220Für welche Helper-Läufe fehlschlagen und was Claude Code macht, wenn einer es tut, siehe [Helper-Fehler](/docs/de/settings-reference#helper-failures).230Für welche Helper-Läufe fehlschlagen und was Claude Code tut, wenn einer fehlschlägt, siehe [Helper-Fehler](/docs/de/settings-reference#helper-failures).

221 231 

222<span id="parent-settings-from-embedding-hosts" />232<span id="parent-settings-from-embedding-hosts" />

223 233 


226<span id="merge-policy-from-an-embedding-host" />236<span id="merge-policy-from-an-embedding-host" />

227 237 

228<h3 id="let-an-embedding-host-add-policy">238<h3 id="let-an-embedding-host-add-policy">

229 Lassen Sie einen Embedding-Host Richtlinie hinzufügen239 Lassen Sie einen Embedding-Host eine Richtlinie hinzufügen

230</h3>240</h3>

231 241 

232Wenn eine andere Anwendung Claude Code startet, wie Claude Desktop, eine IDE-Erweiterung oder eine Agent SDK-App, kann dieser Host seine eigenen verwalteten Einstellungen durch die SDK-Option `managedSettings` übergeben. Claude Code nennt diese übergeordneten Einstellungen.242Wenn eine andere Anwendung Claude Code startet, wie Claude Desktop, eine IDE-Erweiterung oder eine Agent SDK-App, kann dieser Host seine eigenen verwalteten Einstellungen durch die SDK `managedSettings` Option übergeben. Claude Code nennt diese übergeordneten Einstellungen.

233 243 

234Standardmäßig ignoriert Claude Code übergeordnete Einstellungen, wenn eine Admin-Quelle vorhanden ist: serververwaltete Einstellungen, eine MDM- oder Richtlinie auf Betriebssystemebene oder eine verwaltete Einstellungsdatei.244Standardmäßig ignoriert Claude Code übergeordnete Einstellungen, wenn eine Admin-Quelle vorhanden ist: servergesteuerte Einstellungen, eine MDM- oder Betriebssystem-Richtlinie oder eine verwaltete Einstellungsdatei.

235 245 

236Um Claude Code übergeordnete Einstellungen neben einer Admin-Quelle zusammenzuführen, setzen Sie [`parentSettingsBehavior`](/docs/de/settings-reference#parentsettingsbehavior) auf `"merge"` in der höchstpriorität verwalteten Quelle; Claude Code liest den Schlüssel nur aus dieser Quelle.246Um Claude Code übergeordnete Einstellungen neben einer Admin-Quelle zusammenzuführen, setzen Sie [`parentSettingsBehavior`](/docs/de/settings-reference#parentsettingsbehavior) auf `"merge"` in der höchstpriorisierten verwalteten Quelle; Claude Code liest den Schlüssel nur aus dieser Quelle.

237 247 

238Claude Code behält dann nur die Werte des Hosts, die einschränken, was Claude tun kann, mit einer Lücke, die Sie kennen sollten: Wenn Sie auch die `allowManaged*Only`-Sperren nicht setzen, gelten die Zulassungsregeln und Sandbox-Zulassungslisten des Hosts immer noch. Siehe [Beschränken Sie übergeordnete Einstellungen](/docs/de/claude-apps-gateway#restrict-parent-settings) für die Sperren.248Claude Code behält dann nur die Werte des Hosts, die einschränken, was Claude tun kann, mit einer Lücke, die man kennen sollte: Wenn Sie nicht auch die `allowManaged*Only` Sperren setzen, gelten die Zulassungsregeln und Sandbox-Zulassungslisten des Hosts immer noch. Siehe [Beschränken Sie übergeordnete Einstellungen](/docs/de/claude-apps-gateway#restrict-parent-settings) für die Sperren.

239 249 

240Ein [`policyHelper`](/docs/de/settings-reference#policyhelper) kann die übergeordnete Zusammenführung unabhängig von diesem Schlüssel ausschalten; sein Eintrag sagt, wann.250Ein [`policyHelper`](/docs/de/settings-reference#policyhelper) kann die übergeordnete Zusammenführung unabhängig von diesem Schlüssel ausschalten; sein Eintrag sagt, wann.

241 251 

242Claude Code wendet auch diese Überprüfungen auf vom Host bereitgestellte Werte allein an:252Claude Code wendet auch diese Überprüfungen auf vom Host bereitgestellte Werte auf ihre eigene an:

253 

254* Wenn eine Admin-Quelle `allowManagedPermissionRulesOnly` setzt, lässt Claude Code [vom Host bereitgestellte](/docs/de/claude-apps-gateway#restrict-parent-settings) Zulassungsregeln und `additionalDirectories` fallen, während es sie liest, selbst wenn eine höherpriorisierte Quelle den Schlüssel nicht setzt. Die Auswirkung des Schlüssels auf Ihre eigenen Zulassungsregeln kommt aus den verwalteten Einstellungen, die Claude Code anwendet, oder aus übergeordneten Einstellungen, die Sie zusammenführen möchten

255* Claude Code erzwingt den `forceLoginOrgUUID` oder `allowedMcpServers` Wert in den verwalteten Einstellungen, die es anwendet, und blockiert einen vom Host bereitgestellten. Ein Wert in einer niedrigeren Admin-Quelle, die Claude Code nicht anwendet, wendet weder an noch blockiert den Wert des Hosts.

243 256 

244* Wenn eine Admin-Quelle `allowManagedPermissionRulesOnly` setzt, löscht Claude Code [vom Host bereitgestellte](/docs/de/claude-apps-gateway#restrict-parent-settings) Zulassungsregeln und `additionalDirectories` beim Lesen, auch wenn eine höherpriorität Quelle den Schlüssel nicht setzt. Die Auswirkung des Schlüssels auf Ihre eigenen Berechtigungsregeln kommt aus den verwalteten Einstellungen, die Claude Code anwendet, oder aus übergeordneten Einstellungen, die Sie zusammenführen möchten257 Auf Claude Code v2.1.273 oder später, während `allowManagedMcpServersOnly` aktiv ist, gilt die `allowedMcpServers` Liste aus der höchstrangigen Admin-Quelle, die eine setzt, und blockiert die des Hosts, als ein [Schlüssel zwischen Quellen](#keys-read-from-every-admin-source). Die Liste des Hosts gilt nur, wenn keine Admin-Quelle eine setzt. Der [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior) Eintrag sagt, welche Quelle jeden Schlüssel unter `"merge"` liefert. Vor v2.1.223 blockierte ein Wert in einer beliebigen Admin-Quelle den Wert des Hosts

245* Claude Code erzwingt den Wert `forceLoginOrgUUID` oder `allowedMcpServers` in den verwalteten Einstellungen, die es anwendet, und blockiert einen vom Host bereitgestellten. Ein Wert in einer niedrigeren Admin-Quelle, die Claude Code nicht anwendet, wendet sich weder an noch blockiert den Wert des Hosts. Der Eintrag [`managedSourcesBehavior`](/docs/de/settings-reference#managedsourcesbehavior) sagt, welche Quelle jeden Schlüssel unter `"merge"` liefert. Vor v2.1.223 blockierte ein Wert in einer Admin-Quelle den Wert des Hosts258* Für `availableModels` erzwingt Claude Code den Wert in den verwalteten Einstellungen, die es anwendet, und blockiert eine vom Host bereitgestellte Liste

246* Ein `availableModels`-Wert folgt der gleichen Regel wie `allowedMcpServers`

247 259 

248<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">260<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">

249 Behalten Sie Cowork-Ordnerzugriff, wenn nur verwaltete Regeln gelten261 Behalten Sie den Zugriff auf den Cowork-Ordner, wenn nur verwaltete Regeln gelten

250</h4>262</h4>

251 263 

252[Cowork](https://claude.com/docs/cowork/overview) in der Claude Desktop-App führt ihre Sitzungen auf Claude Code aus und gewährt jeder Sitzung Zugriff auf ihre Arbeitsordner, wie den Ordner, den der Benutzer verbindet, durch Zulassungsregeln, die es liefert, wenn es die Sitzung startet. Wenn Ihre verwaltete Richtlinie [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) setzt, behält Claude Code nur die Zulassungsregeln in der verwalteten Richtlinie: Es löscht Zulassungsregeln, die ein Host als übergeordnete Einstellungen, `--allowedTools` oder in einer Einstellungsdatei liefert, daher verlieren Schreibvorgänge in diese Ordner ihre Vorgenehmigung. In einer Cowork-Sitzung, die vor Bearbeitungen fragt, kann Cowork die Eingabeaufforderung nicht anzeigen, und Claude meldet jeden Schreibvorgang als blockiert, da der Pfad zu einem geschützten Ort oder einem Pfad außerhalb des verbundenen Ordners aufgelöst wird.264[Cowork](https://claude.com/docs/cowork/overview) in der Claude Desktop-App führt seine Sitzungen auf Claude Code aus und gewährt jeder Sitzung Zugriff auf ihre Arbeitsordner, wie den Ordner, den der Benutzer verbindet, durch Zulassungsregeln, die es liefert, wenn es die Sitzung startet. Wenn Ihre verwaltete Richtlinie [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) setzt, behält Claude Code nur die Zulassungsregeln in der verwalteten Richtlinie: es lässt Zulassungsregeln fallen, die ein Host als übergeordnete Einstellungen, als `--allowedTools` oder in einer Einstellungsdatei liefert, sodass Schreibvorgänge in diese Ordner ihre Vorabgenehmigung verlieren. In einer Cowork-Sitzung, die vor Bearbeitungen fragt, kann Cowork die Eingabeaufforderung nicht anzeigen, und Claude meldet jeden Schreibvorgang als blockiert, weil der Pfad zu einem geschützten Ort oder einem Pfad außerhalb des verbundenen Ordners aufgelöst wird.

253 265 

254Um die Schreibvorgänge wiederherzustellen, fügen Sie Zulassungsregeln für diese Ordner zur verwalteten Quelle hinzu, die Claude Code [auswählt](#how-claude-code-combines-managed-sources) auf diesen Rechnern: Auf einer MDM-verwalteten Flotte ist das die MDM-Richtlinie anstelle einer separaten verwalteten Einstellungsdatei. Dieses Beispiel verwendet die Dateiform, und eine MDM-Richtlinie nimmt die gleichen Schlüssel. Es behält `allowManagedPermissionRulesOnly` gesetzt und erlaubt Bearbeitungen unter einem `CoworkProjects`-Ordner im Basisverzeichnis jedes Benutzers; ersetzen Sie den Pfad durch die Ordner, die Ihre Benutzer verbinden:266Um die Schreibvorgänge wiederherzustellen, fügen Sie Zulassungsregeln für diese Ordner zur verwalteten Quelle hinzu, die Claude Code [auswählt](#precedence-within-the-managed-tier) auf diesen Computern: auf einer MDM-verwalteten Flotte ist das die MDM-Richtlinie anstelle einer separaten verwalteten Einstellungsdatei. Dieses Beispiel verwendet die Dateiform, und eine MDM-Richtlinie nimmt die gleichen Schlüssel. Es behält `allowManagedPermissionRulesOnly` gesetzt und erlaubt Bearbeitungen unter einem `CoworkProjects` Ordner im Basisverzeichnis jedes Benutzers; ersetzen Sie den Pfad durch die Ordner, die Ihre Benutzer verbinden:

255 267 

256```json managed-settings.json theme={null}268```json managed-settings.json theme={null}

257{269{


264}276}

265```277```

266 278 

267Nachdem Sie die Richtlinie bereitgestellt haben, kann Claude Dateien unter diesem Ordner in einer neuen Cowork-Sitzung speichern. [Lesen und Bearbeiten von Regeln](/docs/de/permissions#read-and-edit) behandeln die Pfadsyntax, einschließlich der `//`-Form für absolute Pfade.279Nachdem Sie die Richtlinie bereitgestellt haben, kann Claude Dateien unter diesem Ordner in einer neuen Cowork-Sitzung speichern. [Lese- und Bearbeitungsregeln](/docs/de/permissions#read-and-edit) behandeln die Pfadsyntax, einschließlich der `//` Form für absolute Pfade.

268 280 

269<h3 id="what-a-developer-can-change">281<h3 id="what-a-developer-can-change">

270 Was ein Entwickler ändern kann282 Was ein Entwickler ändern kann

271</h3>283</h3>

272 284 

273Die eigenen Einstellungsdateien eines Entwicklers, `--settings`-Werte und Projektdateien setzen niemals einen verwalteten Wert außer Kraft; die [Ausnahmen](/docs/de/settings#exceptions-to-managed-settings-precedence) lassen nur einen strengeren Wert auf niedrigerer Ebene zählen. Vier Dinge sitzen außerhalb dieser Regel:285Die eigenen Einstellungsdateien eines Entwicklers, `--settings` Werte und Projektdateien überschreiben niemals einen verwalteten Wert; die [Ausnahmen](/docs/de/settings#exceptions-to-managed-settings-precedence) lassen nur einen strengeren niedrigeren Wert zählen. Diese Fälle liegen außerhalb dieser Regel:

274 286 

275* **Das Modell für eine Sitzung**: Ein verwaltetes `model` ist ein Standard, keine Sperre. `--model` und `ANTHROPIC_MODEL` wählen immer noch das Modell für diese Sitzung, daher stellen Sie [`availableModels`](/docs/de/settings-reference#availablemodels) bereit, um die Auswahl einzuschränken.287* **Das Modell für eine Sitzung**: ein verwaltetes `model` ist ein Standard, keine Sperre. `--model` und `ANTHROPIC_MODEL` wählen immer noch das Modell für diese Sitzung, also stellen Sie [`availableModels`](/docs/de/settings-reference#availablemodels) bereit, um die Auswahl einzuschränken.

276* **Lokale Administratorrechte**: Ein Entwickler, der Administrator auf dem Rechner ist, kann die verwaltete Quelle selbst bearbeiten, weshalb MDM-Tools das Profil oder die Datei nach einem Zeitplan erneut bereitstellen können und weshalb der HKLM-Registrierungsschlüssel und die macOS-verwaltete Präferenzdomäne existieren.288* **Lokale Admin-Rechte**: ein Entwickler, der ein Administrator auf dem Computer ist, kann die verwaltete Quelle selbst bearbeiten, weshalb MDM-Tools das Profil oder die Datei nach einem Zeitplan erneut bereitstellen können und weshalb die HKLM-Registrierung und die macOS-Verwaltungseinstellungsdomäne existieren.

277* **Der serververwaltete Cache**: Serververwaltete Einstellungen stammen von Anthropics Servern, und eine Bearbeitung des lokalen Cache [dauert nur bis zum nächsten erfolgreichen Abruf](/docs/de/server-managed-settings#security-considerations).289* **Der servergesteuerte Cache**: servergesteuerte Einstellungen kommen von Anthropic-Servern, und eine Bearbeitung des lokalen Cache [dauert nur bis zum nächsten erfolgreichen Abruf](/docs/de/server-managed-settings#security-considerations).

278* **Andere Tools**: Verwaltete Einstellungen binden nur Claude Code. Ein Entwickler, der die API von einem anderen Tool aufruft, unterliegt ihnen nicht.290* **Andere Tools**: verwaltete Einstellungen binden nur Claude Code. Ein Entwickler, der die API von einem anderen Tool aufruft, unterliegt ihnen nicht.

279 291 

280<span id="verify-enforcement" />292<span id="verify-enforcement" />

281 293 


360| `availableModels` | Erzwungen als leere Zulassungsliste, bis behoben, daher ist nur das Standardmodell verfügbar; ein Nicht-String-Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. |372| `availableModels` | Erzwungen als leere Zulassungsliste, bis behoben, daher ist nur das Standardmodell verfügbar; ein Nicht-String-Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. |

361| `enforceAvailableModels` | Behandelt als `true`. |373| `enforceAvailableModels` | Behandelt als `true`. |

362| `forceLoginOrgUUID` | Keine Organisation darf sich anmelden, bis der Wert behoben ist. |374| `forceLoginOrgUUID` | Keine Organisation darf sich anmelden, bis der Wert behoben ist. |

375| `gatewayInternalNetworks` | Wenn der ungültige Wert von der höchsten verwalteten Quelle auf dem Rechner stammt, weigert sich `/login`, jede neue [Cloud-Gateway](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)-Anmeldung auf diesem Rechner, bis der Wert behoben ist. |

363| `crossSessionInbound` | Behandelt als `refuse`, der restriktivste Wert, daher werden eingehende [Cross-Session-Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) abgelehnt, bis der Wert behoben ist. Der Entwickler sieht [eine Warnung](/docs/de/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |376| `crossSessionInbound` | Behandelt als `refuse`, der restriktivste Wert, daher werden eingehende [Cross-Session-Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) abgelehnt, bis der Wert behoben ist. Der Entwickler sieht [eine Warnung](/docs/de/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |

364| `deniedMcpServers` | Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. Ein ganz ungültiger Wert wird mit einer Warnung gelöscht, da das Verweigern jedes Servers Server blockieren würde, die die Richtlinie nie benannt hat. |377| `deniedMcpServers` | Ein einzelner ungültiger Eintrag wird entfernt und die gültige Teilmenge wird erzwungen. Ein ganz ungültiger Wert wird mit einer Warnung gelöscht, da das Verweigern jedes Servers Server blockieren würde, die die Richtlinie nie benannt hat. |

365| `sandbox.credentials` | Ein wiederherstellbarer ungültiger Eintrag wird zu `mode: "deny"` mit einer Warnung herabgestuft; ein nicht wiederherstellbarer wird entfernt; gültige Einträge bleiben erzwungen. Siehe [ungültige Credential-Einträge](/docs/de/settings-reference#invalid-credential-entries-in-managed-settings) |378| `sandbox.credentials` | Ein wiederherstellbarer ungültiger Eintrag wird zu `mode: "deny"` mit einer Warnung herabgestuft; ein nicht wiederherstellbarer wird entfernt; gültige Einträge bleiben erzwungen. Siehe [ungültige Credential-Einträge](/docs/de/settings-reference#invalid-credential-entries-in-managed-settings) |


387| [`allowAllClaudeAiMcps`](/docs/de/settings-reference#allowallclaudeaimcps) | Laden Sie die claude.ai-Konnektoren, die Claude Code selbst abruft, neben einer bereitgestellten `managed-mcp.json`, anstatt sie zu unterdrücken |400| [`allowAllClaudeAiMcps`](/docs/de/settings-reference#allowallclaudeaimcps) | Laden Sie die claude.ai-Konnektoren, die Claude Code selbst abruft, neben einer bereitgestellten `managed-mcp.json`, anstatt sie zu unterdrücken |

388| [`allowedChannelPlugins`](/docs/de/settings-reference#allowedchannelplugins) | Zulassungsliste von Channel-Plugins, die Nachrichten schieben dürfen. Ersetzt die Standard-Anthropic-Zulassungsliste, wenn gesetzt. Erfordert `channelsEnabled: true`. Siehe [Beschränken Sie, welche Channel-Plugins ausgeführt werden können](/docs/de/channels#restrict-which-channel-plugins-can-run) |401| [`allowedChannelPlugins`](/docs/de/settings-reference#allowedchannelplugins) | Zulassungsliste von Channel-Plugins, die Nachrichten schieben dürfen. Ersetzt die Standard-Anthropic-Zulassungsliste, wenn gesetzt. Erfordert `channelsEnabled: true`. Siehe [Beschränken Sie, welche Channel-Plugins ausgeführt werden können](/docs/de/channels#restrict-which-channel-plugins-can-run) |

389| [`allowManagedHooksOnly`](/docs/de/settings-reference#allowmanagedhooksonly) | Wenn `true`, beschränkt, welche Hooks ausgeführt werden; siehe [was unter `allowManagedHooksOnly` ausgeführt wird](/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly) für die vollständige Effektliste |402| [`allowManagedHooksOnly`](/docs/de/settings-reference#allowmanagedhooksonly) | Wenn `true`, beschränkt, welche Hooks ausgeführt werden; siehe [was unter `allowManagedHooksOnly` ausgeführt wird](/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly) für die vollständige Effektliste |

390| [`allowManagedMcpServersOnly`](/docs/de/settings-reference#allowmanagedmcpserversonly) | Wenn `true`, werden nur `allowedMcpServers` aus verwalteten Einstellungen beachtet. `deniedMcpServers` führt immer noch aus allen Quellen zusammen. Siehe [Verwaltete MCP-Konfiguration](/docs/de/managed-mcp) |403| [`allowManagedMcpServersOnly`](/docs/de/settings-reference#allowmanagedmcpserversonly) | Wenn `true`, werden nur `allowedMcpServers` aus verwalteten Einstellungen beachtet. `deniedMcpServers` führt immer noch aus allen Quellen zusammen. Siehe [Schlüssel, die von jeder Admin-Quelle gelesen werden](#keys-read-from-every-admin-source) für welche verwalteten Quellen es setzen können, und [Verwaltete MCP-Konfiguration](/docs/de/managed-mcp) |

391| [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) | Macht verwaltete Einstellungen zur einzigen Einstellungsquelle von Berechtigungsregeln. Der Eintrag listet jede Quelle auf, die er ignoriert |404| [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) | Macht verwaltete Einstellungen zur einzigen Einstellungsquelle von Berechtigungsregeln. Der Eintrag listet jede Quelle auf, die er ignoriert |

392| [`blockedMarketplaces`](/docs/de/settings-reference#blockedmarketplaces) | Blockliste von Marktplatzquellen. Blockierte Quellen werden vor dem Download überprüft, daher berühren sie niemals das Dateisystem. Siehe [verwaltete Marktplatz-Einschränkungen](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) |405| [`blockedMarketplaces`](/docs/de/settings-reference#blockedmarketplaces) | Blockliste von Marktplatzquellen. Blockierte Quellen werden vor dem Download überprüft, daher berühren sie niemals das Dateisystem. Siehe [verwaltete Marktplatz-Einschränkungen](/docs/de/plugin-marketplaces#managed-marketplace-restrictions) |

393| [`channelsEnabled`](/docs/de/settings-reference#channelsenabled) | Erlauben Sie [Kanäle](/docs/de/channels) für die Organisation. Siehe [Enterprise-Steuerelemente](/docs/de/channels#enterprise-controls) für die Standardeinstellung auf jedem Plan |406| [`channelsEnabled`](/docs/de/settings-reference#channelsenabled) | Erlauben Sie [Kanäle](/docs/de/channels) für die Organisation. Siehe [Enterprise-Steuerelemente](/docs/de/channels#enterprise-controls) für die Standardeinstellung auf jedem Plan |

mcp.md +65 −15

Details

151 151 

152 Ohne `--` würde Claude Code versuchen, die Flags des Servers, wie `--port` oben, als seine eigenen Optionen zu analysieren.152 Ohne `--` würde Claude Code versuchen, die Flags des Servers, wie `--port` oben, als seine eigenen Optionen zu analysieren.

153 153 

154 `--env` akzeptiert mehrere `KEY=value`-Paare. Wenn der Servername direkt nach `--env` kommt, liest die CLI den Namen als ein weiteres Paar und lehnt ihn ab, daher platzieren Sie mindestens eine andere Option zwischen `--env` und dem Servernamen, wie in den obigen Beispielen.154 `--env` akzeptiert mehrere `KEY=value`-Paare. Wenn der Servername direkt nach `--env` kommt, liest die CLI den Namen als ein weiteres Paar und lehnt ihn ab, daher platzieren Sie mindestens eine andere Option, wie `--transport stdio`, zwischen `--env` und dem Servernamen.

155</Note>155</Note>

156 156 

157<h3 id="option-4-add-a-remote-websocket-server">157<h3 id="option-4-add-a-remote-websocket-server">


173 Einen Server aus Setupanweisungen hinzufügen, die für einen anderen Client geschrieben wurden173 Einen Server aus Setupanweisungen hinzufügen, die für einen anderen Client geschrieben wurden

174</h3>174</h3>

175 175 

176MCP-Server sind nicht spezifisch für Claude Code, daher können die Setupanweisungen eines Servers für Claude Desktop, Cursor oder einen anderen MCP-Client geschrieben sein und keinen `claude mcp add`-Befehl geben. Um den Server trotzdem hinzuzufügen, suchen Sie in diesen Anweisungen nach einem dieser drei Dinge:176MCP-Server sind nicht spezifisch für Claude Code, daher können die Setupanweisungen eines Servers für Claude Desktop, Cursor oder einen anderen MCP-Client geschrieben sein und keinen `claude mcp add`-Befehl geben. Um den Server trotzdem hinzuzufügen, suchen Sie in diesen Anweisungen nach einer URL, einem Startbefehl oder einem JSON-Block:

177 177 

178* **Eine URL** wie `https://mcp.example.com/mcp`: Der Server ist Remote.178* **Eine URL** wie `https://mcp.example.com/mcp`: Der Server ist Remote.

179* **Ein Startbefehl** wie `npx -y @example/mcp-server`: Der Server wird auf Ihrem Computer ausgeführt.179* **Ein Startbefehl** wie `npx -y @example/mcp-server`: Der Server wird auf Ihrem Computer ausgeführt.


323* **Versteckte Leerzeichen**: Claude Code warnt, wenn ein MCP-Konfigurationswert versteckte führende oder nachfolgende Leerzeichen trägt, die oft vom Einfügen eines Tokens mit einem nachfolgenden Zeilenumbruch stammen. Claude Code überprüft `command`, `url`, jeden `args`-Eintrag und die Werte und Schlüsselnamen unter `env` und `headers`. Claude Code zeigt die Warnung in der `claude mcp list`-Ausgabe und in `/mcp` an und benennt die betroffenen Felder, ohne ihre Werte zu wiederholen, zum Beispiel `Leading or trailing whitespace in: headers.Authorization`. Claude Code trimmt das Leerzeichen nicht und verwendet die Werte genau wie geschrieben, daher bearbeiten Sie die Konfiguration, um es zu entfernen.323* **Versteckte Leerzeichen**: Claude Code warnt, wenn ein MCP-Konfigurationswert versteckte führende oder nachfolgende Leerzeichen trägt, die oft vom Einfügen eines Tokens mit einem nachfolgenden Zeilenumbruch stammen. Claude Code überprüft `command`, `url`, jeden `args`-Eintrag und die Werte und Schlüsselnamen unter `env` und `headers`. Claude Code zeigt die Warnung in der `claude mcp list`-Ausgabe und in `/mcp` an und benennt die betroffenen Felder, ohne ihre Werte zu wiederholen, zum Beispiel `Leading or trailing whitespace in: headers.Authorization`. Claude Code trimmt das Leerzeichen nicht und verwendet die Werte genau wie geschrieben, daher bearbeiten Sie die Konfiguration, um es zu entfernen.

324* **Gleicher Name in mehr als einem Bereich**: Wenn Sie den gleichen Servernamen in mehr als einem [Bereich](#mcp-installation-scopes) mit verschiedenen Endpunkten definieren, warnt Claude Code vor dem Konflikt in der `claude mcp list`-Ausgabe und in `/mcp`. Claude Code speichert OAuth-Anmeldungen pro Endpunkt, daher müssen Sie sich, wenn Sie die Definition authentifizieren, die in einem Projekt geladen wird, immer noch separat in einem Projekt anmelden, in dem eine andere Definition geladen wird. Behalten Sie den Endpunkt, den Sie möchten, und entfernen Sie die anderen mit `claude mcp remove <name> --scope <scope>`. In der Warnung zitiert Claude Code den Endpunkt jedes Bereichs, wie er in Ihrer Konfiguration geschrieben ist, mit [`${VAR}`-Referenzen](#environment-variable-expansion-in-mcp-json) nicht erweitert, daher zeigt es niemals einen aufgelösten Wert wie einen API-Schlüssel.324* **Gleicher Name in mehr als einem Bereich**: Wenn Sie den gleichen Servernamen in mehr als einem [Bereich](#mcp-installation-scopes) mit verschiedenen Endpunkten definieren, warnt Claude Code vor dem Konflikt in der `claude mcp list`-Ausgabe und in `/mcp`. Claude Code speichert OAuth-Anmeldungen pro Endpunkt, daher müssen Sie sich, wenn Sie die Definition authentifizieren, die in einem Projekt geladen wird, immer noch separat in einem Projekt anmelden, in dem eine andere Definition geladen wird. Behalten Sie den Endpunkt, den Sie möchten, und entfernen Sie die anderen mit `claude mcp remove <name> --scope <scope>`. In der Warnung zitiert Claude Code den Endpunkt jedes Bereichs, wie er in Ihrer Konfiguration geschrieben ist, mit [`${VAR}`-Referenzen](#environment-variable-expansion-in-mcp-json) nicht erweitert, daher zeigt es niemals einen aufgelösten Wert wie einen API-Schlüssel.

325* **Reservierte Namen**: Claude Code reserviert die Namen seiner integrierten Server, einschließlich `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` und `Claude Browser`. Wenn Ihre Konfiguration einen Server mit einem reservierten Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen. `claude mcp add` lehnt einen reservierten Namen mit einem Fehler ab. `Claude Preview` und `Claude Browser` benennen beide den integrierten Server, den der [Claude Code Desktop-App-Vorschaubereich](/docs/de/desktop#preview-your-app) verwendet. Vor v2.1.205 war `Claude Browser` nicht reserviert, daher konnte ein benutzerkonfigurierter Server sich unter diesem Namen registrieren.325* **Reservierte Namen**: Claude Code reserviert die Namen seiner integrierten Server, einschließlich `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` und `Claude Browser`. Wenn Ihre Konfiguration einen Server mit einem reservierten Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen. `claude mcp add` lehnt einen reservierten Namen mit einem Fehler ab. `Claude Preview` und `Claude Browser` benennen beide den integrierten Server, den der [Claude Code Desktop-App-Vorschaubereich](/docs/de/desktop#preview-your-app) verwendet. Vor v2.1.205 war `Claude Browser` nicht reserviert, daher konnte ein benutzerkonfigurierter Server sich unter diesem Namen registrieren.

326* **Fehlende Umgebungsvariable**: Wenn eine [`${VAR}`-Referenz](#environment-variable-expansion-in-mcp-json) in der Konfiguration eines Servers eine Variable benennt, die nicht gesetzt ist und keinen `:-default` hat, warnt Claude Code in der `claude mcp list`-Ausgabe und in `/mcp`, benennt die Variable und lädt den Server immer noch mit dem `${VAR}`-Text nicht erweitert. Setzen Sie die Variable oder fügen Sie einen `${VAR:-default}`-Fallback hinzu.326* **Fehlende Umgebungsvariable**: Wenn eine [`${VAR}`-Referenz](#environment-variable-expansion-in-mcp-json) in der Konfiguration eines Servers eine Variable benennt, die nicht gesetzt ist und keinen `:-default` hat, warnt Claude Code in der `claude mcp list`-Ausgabe und in `/mcp`, benennt die Variable und lädt den Server immer noch mit dem `${VAR}`-Text nicht erweitert. Setzen Sie die Variable oder fügen Sie einen `${VAR:-default}`-Fallback hinzu. In der `url` und `headers` eines Remote-Servers lesen einige Credential-Variablen [als leer](#credential-variables-that-read-as-empty) statt, ohne Warnung.

327 327 

328<h4 id="tool-availability">328<h4 id="tool-availability">

329 Tool-Verfügbarkeit329 Tool-Verfügbarkeit


360 360 

361Claude Code verbindet sich mit MCP-Servern über eine von zwei Client-Runtimes. Die v1-Runtime basiert auf MCP TypeScript SDK 1.x. Die v2-Runtime ist der gleiche Code auf [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), das MCP-Protokoll-Revision 2026-07-28 hinzufügt. Der Rest dieser Seite gilt für beide Runtimes, außer wo ein Abschnitt die v2-Runtime benennt.361Claude Code verbindet sich mit MCP-Servern über eine von zwei Client-Runtimes. Die v1-Runtime basiert auf MCP TypeScript SDK 1.x. Die v2-Runtime ist der gleiche Code auf [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), das MCP-Protokoll-Revision 2026-07-28 hinzufügt. Der Rest dieser Seite gilt für beide Runtimes, außer wo ein Abschnitt die v2-Runtime benennt.

362 362 

363Bei Claude Code v2.1.232 oder später verwendet Claude Code die v2-Runtime. Es wählt eine Runtime jedes Mal, wenn Sie sie starten, und behält sie bis zum Beenden. Es verwendet v1, wenn Sie es ausführen:363Claude Code wählt jedes Mal, wenn Sie es starten, eine Runtime aus und behält sie bis zum Beenden. In Sitzungen, in denen es [Feature-Flags abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), verwendet es die v2-Runtime bei Claude Code v2.1.232 oder später.

364 364 

365* Auf Amazon Bedrock, Claude Platform auf AWS, Google Cloud's Agent Platform oder Microsoft Foundry, es sei denn, eine Host-Plattform, die Claude Code einbettet, setzt [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars)365In den Sitzungen, in denen es keine Feature-Flags abruft, verwendet Claude Code die v2-Runtime standardmäßig bei Claude Code v2.1.274 oder später:

366* Angemeldet über ein [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)366 

367* Mit [Feature-Flag-Abruf deaktiviert](/docs/de/env-vars#features-that-need-feature-flag-fetching)367* Sitzungen auf Amazon Bedrock, Claude Platform auf AWS, Google Cloud's Agent Platform oder Microsoft Foundry, es sei denn, eine Host-Plattform, die Claude Code einbettet, setzt [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars)

368* Sitzungen angemeldet über ein [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)

369* Sitzungen, in denen Sie Telemetrie oder Feature-Flag-Abruf ausschalten, zum Beispiel mit `DISABLE_TELEMETRY`

368 370 

369Bei v2 macht Claude Code auch:371Bei v2 macht Claude Code auch:

370 372 

371* Fragt HTTP- und claude.ai-Connector-Server, ob sie die neuere Revision unterstützen, und verwendet sie mit denen, die das tun. Es fragt Stdio-Server nur, wenn Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` setzen, und verbindet sich mit jedem anderen Server wie v1.373* Fragt HTTP-Server, ob sie die neuere Revision unterstützen, und verwendet sie mit denen, die das tun. Es fragt auch claude.ai-Connector-Server in Sitzungen, in denen es Feature-Flags abruft. Um es Stdio-Server zu fragen oder Connector-Server in jeder Sitzung zu fragen, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto`. Es verbindet sich mit jedem anderen Server wie v1.

372* Empfängt `list_changed`-Benachrichtigungen von Servern auf der neueren Revision über einen [Stream, den es offen hält](#notification-streams-on-the-v2-runtime).374* Empfängt `list_changed`-Benachrichtigungen von Servern auf der neueren Revision über einen [Stream, den es offen hält](#notification-streams-on-the-v2-runtime).

373* Registriert keinen [Kanal](#push-messages-with-channels)-Server, der sich auf der neueren Revision verbindet, da diese Revision keine Kanal-Nachrichten tragen kann.375* Registriert keinen [Kanal](#push-messages-with-channels)-Server, der sich auf der neueren Revision verbindet, da diese Revision keine Kanal-Nachrichten tragen kann.

374* Schlägt eine [MCP-OAuth-Anmeldung](#authenticate-with-remote-mcp-servers) fehl, deren Autorisierungsantwort einen unerwarteten Aussteller benennt.376* Schlägt eine [MCP-OAuth-Anmeldung](#authenticate-with-remote-mcp-servers) fehl, deren Autorisierungsantwort einen unerwarteten Aussteller benennt.

375 377 

376Anthropic kann einen bestimmten Server auf dem früheren Protokoll halten oder von diesem Stream entfernen, mit einem Feature-Flag, das Claude Code abruft.378Anthropic kann einen bestimmten Server auf dem früheren Protokoll halten oder von diesem Stream entfernen, mit einem Feature-Flag, das Claude Code abruft.

377 379 

378Um die Runtime selbst zu wählen, setzen Sie [`MCP_SDK_GENERATION`](/docs/de/env-vars) auf `v1` oder `v2`. Um zu entscheiden, ob Claude Code fragt, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` oder `legacy`. Wo Claude Code v1 standardmäßig verwendet, macht das Anheften von `v2` nicht, dass es fragt, daher setzen Sie auch `auto`.380Um die Runtime selbst zu wählen, setzen Sie [`MCP_SDK_GENERATION`](/docs/de/env-vars) auf `v1` oder `v2`. Um zu entscheiden, ob Claude Code fragt, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` oder `legacy`.

379 381 

380<h3 id="dynamic-tool-updates">382<h3 id="dynamic-tool-updates">

381 Dynamische Tool-Updates383 Dynamische Tool-Updates


679 681 

680Claude Code unterstützt die Umgebungsvariablen-Erweiterung in `.mcp.json`-Dateien, die es Teams ermöglicht, Konfigurationen zu teilen und gleichzeitig Flexibilität für maschinenspezifische Pfade und vertrauliche Werte wie API-Schlüssel zu bewahren.682Claude Code unterstützt die Umgebungsvariablen-Erweiterung in `.mcp.json`-Dateien, die es Teams ermöglicht, Konfigurationen zu teilen und gleichzeitig Flexibilität für maschinenspezifische Pfade und vertrauliche Werte wie API-Schlüssel zu bewahren.

681 683 

682**Unterstützte Syntax:**684<h4 id="supported-syntax">

685 Unterstützte Syntax

686</h4>

683 687 

684* `${VAR}`: erweitert sich zum Wert der Umgebungsvariablen `VAR`688* `${VAR}`: erweitert sich zum Wert der Umgebungsvariablen `VAR`

685* `${VAR:-default}`: erweitert sich zu `VAR`, wenn gesetzt, andernfalls wird `default` verwendet689* `${VAR:-default}`: erweitert sich zu `VAR`, wenn gesetzt, andernfalls wird `default` verwendet

686 690 

687**Erweiterungsorte:**691<h4 id="expansion-locations">

692 Erweiterungsorte

693</h4>

694 

688Umgebungsvariablen können erweitert werden in:695Umgebungsvariablen können erweitert werden in:

689 696 

690* `command`: der Server-Ausführungspfad697* `command`: der Server-Ausführungspfad


693* `url`: für HTTP-Server-Typen700* `url`: für HTTP-Server-Typen

694* `headers`: für HTTP-Server-Authentifizierung701* `headers`: für HTTP-Server-Authentifizierung

695 702 

696**Beispiel mit Variablenerweiterung:**703<h4 id="example-with-variable-expansion">

704 Beispiel mit Variablenerweiterung

705</h4>

697 706 

698```json theme={null}707```json theme={null}

699{708{


709}718}

710```719```

711 720 

712Wenn eine referenzierte Umgebungsvariable nicht gesetzt ist und keinen Standardwert hat, wird die Konfiguration trotzdem geladen: Claude Code meldet eine Warnung zu fehlender Variable für diesen Server in der Ausgabe von `claude mcp list` und verwendet den nicht erweiterten `${VAR}`-Text unverändert. Setzen Sie die Variable oder fügen Sie einen `:-default`-Fallback hinzu, damit der Server mit dem beabsichtigten Wert startet.721<h4 id="unset-variables-without-a-default">

722 Nicht gesetzte Variablen ohne Standard

723</h4>

724 

725Wenn eine referenzierte Umgebungsvariable nicht gesetzt ist und keinen Standardwert hat, wird die Konfiguration trotzdem geladen: Claude Code meldet eine Warnung zu fehlender Variable für diesen Server in der Ausgabe von `claude mcp list` und verwendet den nicht erweiterten `${VAR}`-Text unverändert. Setzen Sie die Variable oder fügen Sie einen `:-default`-Fallback hinzu, damit der Server mit dem beabsichtigten Wert startet. In einer Remote-Server-`url` und `headers` lesen einige Anmeldedatenvariablen [als leer](#credential-variables-that-read-as-empty) statt, ohne Warnung.

726 

727<h4 id="credential-variables-that-read-as-empty">

728 Anmeldedatenvariablen, die als leer gelesen werden

729</h4>

730 

731In einer Remote-Server-`url` und `headers` liest Claude Code Anmeldedatenvariablen aus Ihrer Umgebung als leer statt sie zu erweitern. Dies verhindert, dass ein Projekt `.mcp.json` oder ein Plugin Ihre Claude Code- oder Cloud-Provider-Anmeldedaten an einen Server sendet, den es benennt. Wenn Sie `Bearer ${ANTHROPIC_AUTH_TOKEN}` schreiben, erhält der Server `Bearer ` ohne Anmeldedaten und lehnt die Anfrage ab, normalerweise mit einem `401`. Claude Code meldet dies als fehlgeschlagene Verbindung.

732 

733Die abgedeckten Namen sind:

734 

735* Claude Code's eigene Anmeldedaten, wie `ANTHROPIC_API_KEY` und `ANTHROPIC_AUTH_TOKEN`

736* Ihre Cloud-Provider-Anmeldedaten, wie `AWS_BEARER_TOKEN_BEDROCK`

737* Andere Anmeldedaten, die Ihre Umgebung trägt, wie `HTTPS_PROXY` und `NPM_TOKEN`

738 

739Ein abgedeckter Name wird als leer gelesen, unabhängig davon, ob Sie die Variable gesetzt haben oder nicht, und ein `:-default`-Fallback darauf wird ignoriert. Eine Provider-Basis-URL wie `ANTHROPIC_BASE_URL` wird immer noch erweitert, daher funktioniert `"url": "${ANTHROPIC_BASE_URL}/mcp"`, es sei denn, der Wert der URL selbst bettet eine Anmeldedaten wie einen Benutzernamen und ein Passwort ein.

740 

741Ein Name außerhalb dieses Satzes, wie `API_KEY`, wird wie geschrieben erweitert. Um dem Server eine der abgedeckten Anmeldedaten zu geben, kopieren Sie sie in eine Variable mit einem Namen Ihrer Wahl und referenzieren Sie stattdessen diesen Namen.

742 

743Wenn eine Remote-Server-`url` oder `headers` eine abgedeckte Variable referenziert, die Sie gesetzt haben, nennt Claude Code sie in einer Debug-Log-Zeile. Um die Zeile zu lesen, führen Sie `claude --debug-file /tmp/claude-debug.log` aus und durchsuchen Sie diese Datei nach `never expanded toward a remote server`.

744 

745<h4 id="how-references-appear-in-/mcp-and-cli-output">

746 Wie Referenzen in `/mcp` und CLI-Ausgabe angezeigt werden

747</h4>

748 

749Für einen Server im lokalen, Projekt- oder Benutzer-[Bereich](#mcp-installation-scopes) zeigen die folgenden Oberflächen eine `${VAR}`-Referenz nach Name statt als ihren aufgelösten Wert:

750 

751* Die URL oder Befehlszeile in der Detailansicht eines Servers unter `/mcp`

752* `claude mcp list` und `claude mcp get` Ausgabe

753 

754Die `/mcp` Detailansicht zeigt Referenzen auf diese Weise in Claude Code v2.1.268 oder später.

755 

756Für einen Server, den Ihre Organisation über die Einstellung `managedMcpServers` bereitstellt, zeigen diese Oberflächen [nur den Host der URL](/docs/de/managed-mcp#what-users-can-see-and-change).

757 

758Um zu überprüfen, was `claude mcp list`, `claude mcp get` und `/mcp` anzeigen, wenn eine Verbindung fehlschlägt, siehe [Server-Status-Detail](#server-status-detail).

713 759 

714<h2 id="practical-examples">760<h2 id="practical-examples">

715 Praktische Beispiele761 Praktische Beispiele


779 825 

780* Für einen Server, bei dem Sie sich nicht angemeldet haben, kennzeichnet jeder dieser Statuscodes den Server in `/mcp`, damit Sie den OAuth-Fluss abschließen können.826* Für einen Server, bei dem Sie sich nicht angemeldet haben, kennzeichnet jeder dieser Statuscodes den Server in `/mcp`, damit Sie den OAuth-Fluss abschließen können.

781* Für einen [claude.ai-Connector](#use-mcp-servers-from-claude-ai) kennzeichnet ein `401`, das durch die Ablehnung Ihres Sitzungs-Tokens durch claude.ai verursacht wird, den Connector nicht, da eine erneute Autorisierung des Connectors Ihre Anmeldung nicht beheben kann. Claude Code zeigt stattdessen den [Zustand „Sitzungs-Token abgelehnt"](/docs/de/errors#claude-ai-rejected-the-session-token) an.827* Für einen [claude.ai-Connector](#use-mcp-servers-from-claude-ai) kennzeichnet ein `401`, das durch die Ablehnung Ihres Sitzungs-Tokens durch claude.ai verursacht wird, den Connector nicht, da eine erneute Autorisierung des Connectors Ihre Anmeldung nicht beheben kann. Claude Code zeigt stattdessen den [Zustand „Sitzungs-Token abgelehnt"](/docs/de/errors#claude-ai-rejected-the-session-token) an.

782* Für einen Server, dessen `Authorization`-Header Sie konfiguriert haben, in `headers` oder über einen [`headersHelper`](#use-dynamic-headers-for-custom-authentication), kennzeichnet ein `401` oder `403` beim Verbinden den Server nicht, da die Anmeldedaten, die behoben werden müssen, diejenigen sind, die Sie konfiguriert haben. Claude Code meldet die Verbindung stattdessen als fehlgeschlagen.828* Für einen Server, dessen `Authorization`-Header Sie konfiguriert haben, in `headers` oder über einen [`headersHelper`](#use-dynamic-headers-for-custom-authentication), kennzeichnet ein `401` oder `403` beim Verbinden den Server nicht, da die Anmeldedaten, die behoben werden müssen, diejenigen sind, die Sie konfiguriert haben. Claude Code meldet die Verbindung stattdessen als fehlgeschlagen. Wenn Sie diesen Header aus einer `${VAR}`-Referenz gesetzt haben, überprüfen Sie, ob diese Variable eine ist, die Claude Code [als leer liest](#credential-variables-that-read-as-empty).

783* Für einen Connector, der [an eine Cloud-Sitzung übermittelt wird](#how-connectors-reach-claude-code), führt Claude Code keinen Anmeldungsfluss aus, da die Proxy der Sitzung sich beim Connector mit der Autorisierung authentifiziert, die Sie in claude.ai gewährt haben. Wenn ein Connector dort erneut autorisiert werden muss, verbinden Sie ihn erneut unter [claude.ai/customize/connectors](https://claude.ai/customize/connectors), anstatt aus der Sitzung.829* Für einen Connector, der [an eine Cloud-Sitzung übermittelt wird](#how-connectors-reach-claude-code), führt Claude Code keinen Anmeldungsfluss aus, da die Proxy der Sitzung sich beim Connector mit der Autorisierung authentifiziert, die Sie in claude.ai gewährt haben. Wenn ein Connector dort erneut autorisiert werden muss, verbinden Sie ihn erneut unter [claude.ai/customize/connectors](https://claude.ai/customize/connectors), anstatt aus der Sitzung.

784 830 

785Wenn eine Anfrage an einen OAuth-Server, bei dem Sie bereits angemeldet sind, `401 Unauthorized` zurückgibt, aktualisiert Claude Code das gespeicherte Token, verbindet sich erneut und wiederholt die Anfrage einmal. Der Server wird in `/mcp` nur gekennzeichnet, wenn dieser Wiederholungsversuch auch fehlschlägt. Vor v2.1.206 kennzeichnete eine Token-Aktualisierung, die aus einem vorübergehenden Grund fehlschlug, wie z. B. ein Netzwerkfehler, einen OAuth-Server als authentifizierungsbedürftig für den Rest der Sitzung, obwohl sein Refresh-Token noch gültig war.831Wenn eine Anfrage an einen OAuth-Server, bei dem Sie bereits angemeldet sind, `401 Unauthorized` zurückgibt, aktualisiert Claude Code das gespeicherte Token, verbindet sich erneut und wiederholt die Anfrage einmal. Der Server wird in `/mcp` nur gekennzeichnet, wenn dieser Wiederholungsversuch auch fehlschlägt. Vor v2.1.206 kennzeichnete eine Token-Aktualisierung, die aus einem vorübergehenden Grund fehlschlug, wie z. B. ein Netzwerkfehler, einen OAuth-Server als authentifizierungsbedürftig für den Rest der Sitzung, obwohl sein Refresh-Token noch gültig war.


790 836 

791Claude Code zeigt auch einen Starthinweis an, wenn ein oder mehrere konfigurierte Server Authentifizierung benötigen, sodass Sie `/mcp` nicht öffnen müssen, um zu erkennen, welche Server Anmeldung benötigen. Der Hinweis erfordert Claude Code v2.1.193 oder später. Er zählt nur Server, bei denen Sie sich von Claude Code aus anmelden können. Vor v2.1.218 zählte er auch [claude.ai-Connectors](#use-mcp-servers-from-claude-ai), die nicht in claude.ai verbunden waren, die Sie nur aus den claude.ai-Einstellungen verbinden können.837Claude Code zeigt auch einen Starthinweis an, wenn ein oder mehrere konfigurierte Server Authentifizierung benötigen, sodass Sie `/mcp` nicht öffnen müssen, um zu erkennen, welche Server Anmeldung benötigen. Der Hinweis erfordert Claude Code v2.1.193 oder später. Er zählt nur Server, bei denen Sie sich von Claude Code aus anmelden können. Vor v2.1.218 zählte er auch [claude.ai-Connectors](#use-mcp-servers-from-claude-ai), die nicht in claude.ai verbunden waren, die Sie nur aus den claude.ai-Einstellungen verbinden können.

792 838 

839Der Hinweis kündigt jeden Server einmal an und lässt ihn aus der Zählung bei späteren Starts aus, bis dieser Server verbunden ist und erneut Anmeldung benötigt. `/mcp` listet immer noch jeden Server auf, der Anmeldung benötigt.

840 

793Im nicht-interaktiven Modus gibt es kein `/mcp`-Panel, daher kann Claude Code den OAuth-Fluss nicht für Sie ausführen. Ab v2.1.196 teilt Claude Code Claude mit, dass die Tools des Servers nicht verfügbar sind, bis Sie ihn autorisieren, wenn ein konfigurierter Server während eines `claude -p`- oder Agent SDK-Laufs mit aktivierter [Tool-Suche](#scale-with-mcp-tool-search) (Standard) Authentifizierung benötigt. Claude kann dann den Server benennen, der Anmeldung benötigt, anstatt so zu reagieren, als wäre der Server nicht konfiguriert. Schließen Sie die Anmeldung aus einer interaktiven Sitzung mit `/mcp` oder `claude mcp login <name>` ab.841Im nicht-interaktiven Modus gibt es kein `/mcp`-Panel, daher kann Claude Code den OAuth-Fluss nicht für Sie ausführen. Ab v2.1.196 teilt Claude Code Claude mit, dass die Tools des Servers nicht verfügbar sind, bis Sie ihn autorisieren, wenn ein konfigurierter Server während eines `claude -p`- oder Agent SDK-Laufs mit aktivierter [Tool-Suche](#scale-with-mcp-tool-search) (Standard) Authentifizierung benötigt. Claude kann dann den Server benennen, der Anmeldung benötigt, anstatt so zu reagieren, als wäre der Server nicht konfiguriert. Schließen Sie die Anmeldung aus einer interaktiven Sitzung mit `/mcp` oder `claude mcp login <name>` ab.

794 842 

795Wenn Sie `headers.Authorization` für den Server konfiguriert haben und der Server diesen Header ablehnt, meldet Claude Code die Verbindung als fehlgeschlagen, anstatt auf OAuth zurückzugreifen. Überprüfen Sie, dass das Token für den MCP-Endpunkt gültig ist, oder entfernen Sie den Header, um den OAuth-Fluss zu verwenden.843Wenn Sie `headers.Authorization` für den Server konfiguriert haben und der Server diesen Header ablehnt, meldet Claude Code die Verbindung als fehlgeschlagen, anstatt auf OAuth zurückzugreifen. Überprüfen Sie, dass das Token für den MCP-Endpunkt gültig ist, oder entfernen Sie den Header, um den OAuth-Fluss zu verwenden.


983 1031 

984Wenn der Autorisierungsserver `offline_access` in `scopes_supported` bewirbt, fügt Claude Code es zu den fixierten Bereichen hinzu, damit das Zugriffs-Token ohne neue Browser-Anmeldung aktualisiert werden kann.1032Wenn der Autorisierungsserver `offline_access` in `scopes_supported` bewirbt, fügt Claude Code es zu den fixierten Bereichen hinzu, damit das Zugriffs-Token ohne neue Browser-Anmeldung aktualisiert werden kann.

985 1033 

986Wenn der Server später einen 403 `insufficient_scope` für einen Tool-Aufruf zurückgibt, authentifiziert sich Claude Code mit den gleichen fixierten Bereichen erneut. Erweitern Sie `oauth.scopes`, wenn ein Tool, das Sie benötigen, einen Bereich außerhalb der Fixierung erfordert.1034Wenn der Server später einen 403 `insufficient_scope` für einen Tool-Aufruf zurückgibt, schlägt der Aufruf mit einer [`needs additional permissions`](/docs/de/errors#mcp-server-needs-you-to-sign-in-again)-Nachricht fehl, die den Bereich benennt, den der Server anfordert. Der Server wird als authentifizierungsbedürftig in `/mcp` angezeigt.

1035 

1036Wenn dieser Bereich nicht in Ihrem fixierten `oauth.scopes` enthalten ist, fügen Sie ihn hinzu, führen Sie dann `/mcp` aus und authentifizieren Sie den Server erneut. Claude Code fordert die fixierten Bereiche an, nicht den Bereich, den der Server benannt hat, daher wenn Sie sich erneut authentifizieren, ohne ihn hinzuzufügen, hat das Token, das Sie erhalten, immer noch nicht.

987 1037 

988<h3 id="use-dynamic-headers-for-custom-authentication">1038<h3 id="use-dynamic-headers-for-custom-authentication">

989 Verwenden Sie dynamische Header für benutzerdefinierte Authentifizierung1039 Verwenden Sie dynamische Header für benutzerdefinierte Authentifizierung

Details

116 `claude mcp add` funktioniert in jeder Shell gleich, einschließlich PowerShell und Command Prompt. Verwenden Sie in einer `claude`-Sitzung den Befehl `/mcp`, um bereits hinzugefügte Server zu überprüfen und zu verwalten.116 `claude mcp add` funktioniert in jeder Shell gleich, einschließlich PowerShell und Command Prompt. Verwenden Sie in einer `claude`-Sitzung den Befehl `/mcp`, um bereits hinzugefügte Server zu überprüfen und zu verwalten.

117</Note>117</Note>

118 118 

119Es gibt andere Möglichkeiten, einen Server hinzuzufügen, die später auf dieser Seite behandelt werden:119Es gibt andere Möglichkeiten, einen Server hinzuzufügen, die jeweils einen eigenen Abschnitt haben:

120 120 

121* [Fügen Sie einen lokalen Server hinzu](#add-a-local-server): Führen Sie ein Programm auf Ihrem Computer aus, anstatt sich mit einer URL zu verbinden.121* [Fügen Sie einen lokalen Server hinzu](#add-a-local-server): Führen Sie ein Programm auf Ihrem Computer aus, anstatt sich mit einer URL zu verbinden.

122* [Bearbeiten Sie `.mcp.json` direkt](#edit-mcp-json-directly): Schreiben Sie den JSON-Eintrag selbst, anstatt den Befehl zu verwenden.122* [Bearbeiten Sie `.mcp.json` direkt](#edit-mcp-json-directly): Schreiben Sie den JSON-Eintrag selbst, anstatt den Befehl zu verwenden.


308* **Claude Code Desktop-App**: Fügen Sie Server über die [Connectors-Benutzeroberfläche](/docs/de/desktop#connect-external-tools) hinzu.308* **Claude Code Desktop-App**: Fügen Sie Server über die [Connectors-Benutzeroberfläche](/docs/de/desktop#connect-external-tools) hinzu.

309* **Claude Desktop Chat-App**: eine separate App von Claude Code. Um Server aus ihrer `claude_desktop_config.json` in die CLI zu kopieren, führen Sie `claude mcp add-from-claude-desktop` auf macOS oder WSL aus.309* **Claude Desktop Chat-App**: eine separate App von Claude Code. Um Server aus ihrer `claude_desktop_config.json` in die CLI zu kopieren, führen Sie `claude mcp add-from-claude-desktop` auf macOS oder WSL aus.

310* **VS Code**: siehe [Mit externen Tools mit MCP verbinden](/docs/de/vs-code#connect-to-external-tools-with-mcp).310* **VS Code**: siehe [Mit externen Tools mit MCP verbinden](/docs/de/vs-code#connect-to-external-tools-with-mcp).

311* **Claude Code im Web**: liest `.mcp.json` aus Ihrem Repository. Siehe [Bearbeiten Sie .mcp.json direkt](#edit-mcp-json-directly).311* **Cloud-Sitzungen**: Committen Sie eine `.mcp.json` in Ihr Repository; eine Sitzung mit einem Repository lädt sie. Siehe [.mcp.json direkt bearbeiten](#edit-mcp-json-directly) und [Was aus Ihrem Setup übernommen wird](/docs/de/cloud-environments#what-carries-over-from-your-setup).

312* **Claude.ai**: Connectors, die Sie unter [claude.ai/customize/connectors](https://claude.ai/customize/connectors) hinzufügen, werden automatisch in die CLI geladen, wenn Sie sich mit diesem Konto anmelden. Siehe [Verwenden Sie MCP-Server von Claude.ai](/docs/de/mcp#use-mcp-servers-from-claude-ai).312* **Claude.ai**: Connectors, die Sie unter [claude.ai/customize/connectors](https://claude.ai/customize/connectors) hinzufügen, werden automatisch in die CLI geladen, wenn Sie sich mit diesem Konto anmelden. Siehe [MCP-Server von Claude.ai verwenden](/docs/de/mcp#use-mcp-servers-from-claude-ai).

313 313 

314<h2 id="troubleshooting">314<h2 id="troubleshooting">

315 Fehlerbehebung315 Fehlerbehebung

memory.md +232 −103

Details

4 4 

5# Wie Claude sich Ihr Projekt merkt5# Wie Claude sich Ihr Projekt merkt

6 6 

7> Geben Sie Claude persistente Anweisungen mit CLAUDE.md-Dateien, und lassen Sie Claude automatisch Erkenntnisse mit Auto-Memory sammeln.7> Geben Sie Claude persistente Anweisungen mit CLAUDE.md- oder AGENTS.md-Dateien, und lassen Sie Claude automatisch Erkenntnisse mit Auto-Memory sammeln.

8 8 

9Jede Claude Code-Sitzung beginnt mit einem frischen Context Window. Zwei Mechanismen tragen Wissen über Sitzungen hinweg:9Jede Claude Code-Sitzung beginnt mit einem frischen Context Window. Zwei Mechanismen tragen Wissen über Sitzungen hinweg:

10 10 

11* **CLAUDE.md-Dateien**: Anweisungen, die Sie schreiben, um Claude persistenten Kontext zu geben11* **CLAUDE.md-Dateien**: Anweisungen, die Sie schreiben, um Claude persistenten Kontext zu geben. Claude kann auch die [`AGENTS.md`-Dateien](#agents-md) eines Repositorys lesen, eigenständig oder zusammen mit CLAUDE.md

12* **Auto-Memory**: Notizen, die Claude selbst basierend auf Ihren Korrektionen und Vorlieben schreibt12* **Auto-Memory**: Notizen, die Claude selbst basierend auf Ihren Korrektionen und Vorlieben schreibt

13 13 

14Diese Seite behandelt folgende Themen:14Diese Seite behandelt folgende Themen:

15 15 

16* [CLAUDE.md-Dateien schreiben und organisieren](#claude-md-files)16* [CLAUDE.md-Dateien schreiben und organisieren](#claude-md-files)

17* [Ein vorhandenes AGENTS.md](#agents-md) als Ihre Projektanweisungen verwenden, eigenständig oder zusammen mit CLAUDE.md

17* [Regeln auf bestimmte Dateitypen beschränken](#organize-rules-with-claude/rules/) mit `.claude/rules/`18* [Regeln auf bestimmte Dateitypen beschränken](#organize-rules-with-claude/rules/) mit `.claude/rules/`

18* [Auto-Memory konfigurieren](#auto-memory), damit Claude automatisch Notizen macht19* [Auto-Memory konfigurieren](#auto-memory), damit Claude automatisch Notizen macht

19* [Fehlerbehebung](#troubleshoot-memory-issues), wenn Anweisungen nicht befolgt werden20* [Fehlerbehebung](#troubleshoot-memory-issues), wenn Anweisungen nicht befolgt werden


40 CLAUDE.md-Dateien41 CLAUDE.md-Dateien

41</h2>42</h2>

42 43 

43CLAUDE.md-Dateien sind Markdown-Dateien, die Claude persistente Anweisungen für ein Projekt, Ihren persönlichen Workflow oder Ihre gesamte Organisation geben. Sie schreiben diese Dateien in Klartext; Claude liest sie zu Beginn jeder Sitzung.44CLAUDE.md-Dateien sind Markdown-Dateien, die Claude persistente Anweisungen für ein Projekt, Ihren persönlichen Arbeitsablauf oder Ihre gesamte Organisation geben. Sie schreiben diese Dateien in Klartext; Claude liest sie zu Beginn jeder Sitzung. Wenn Ihr Repository stattdessen `AGENTS.md` verwendet, siehe [AGENTS.md](#agents-md).

44 45 

45<h3 id="when-to-add-to-claude-md">46<h3 id="when-to-add-to-claude-md">

46 Wann sollte ich zu CLAUDE.md hinzufügen47 Wann Sie zu CLAUDE.md hinzufügen

47</h3>48</h3>

48 49 

49Behandeln Sie CLAUDE.md als den Ort, an dem Sie aufschreiben, was Sie sonst erneut erklären würden. Fügen Sie hinzu, wenn:50Behandeln Sie CLAUDE.md als den Ort, an dem Sie aufschreiben, was Sie sonst erklären würden. Fügen Sie hinzu, wenn:

50 51 

51* Claude denselben Fehler ein zweites Mal macht52* Claude denselben Fehler ein zweites Mal macht

52* Eine Code-Review etwas findet, das Claude über diese Codebasis hätte wissen sollen53* Eine Code-Überprüfung etwas findet, das Claude über diese Codebasis hätte wissen sollen

53* Sie tippen die gleiche Korrektur oder Klarstellung in den Chat, die Sie letzte Sitzung eingegeben haben54* Sie dieselbe Korrektur oder Klarstellung in den Chat eingeben, die Sie in der letzten Sitzung eingegeben haben

54* Ein neuer Teamkollege den gleichen Kontext benötigen würde, um produktiv zu sein55* Ein neues Teammitglied denselben Kontext benötigen würde, um produktiv zu sein

55 56 

56Halten Sie es bei Fakten, die Claude in jeder Sitzung behalten sollte: Build-Befehle, Konventionen, Projektlayout, „immer X machen"-Regeln. Wenn ein Eintrag ein mehrstufiges Verfahren ist oder nur für einen Teil der Codebasis wichtig ist, verschieben Sie ihn stattdessen zu einem [Skill](/docs/de/skills) oder einer [pfadgebundenen Regel](#organize-rules-with-claude/rules/). Die [Funktionsübersicht](/docs/de/features-overview#build-your-setup-over-time) behandelt, wann Sie jeden Mechanismus verwenden.57Halten Sie es bei Fakten, die Claude in jeder Sitzung behalten sollte: Build-Befehle, Konventionen, Projektlayout, „immer X tun"-Regeln. Wenn ein Eintrag ein mehrstufiges Verfahren ist oder nur für einen Teil der Codebasis relevant ist, verschieben Sie ihn zu einem [Skill](/docs/de/skills) oder einer [pfadgebundenen Regel](#organize-rules-with-claude/rules/) statt. Die [Erweiterungsübersicht](/docs/de/features-overview#build-your-setup-over-time) behandelt, wann Sie jeden Mechanismus verwenden.

57 58 

58<h3 id="choose-where-to-put-claude-md-files">59<h3 id="choose-where-to-put-claude-md-files">

59 Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen60 Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen


62CLAUDE.md-Dateien können sich an mehreren Orten befinden, jeder mit einem anderen Umfang. Die folgende Tabelle listet sie in Ladereihenfolge auf, vom breitesten Umfang zum spezifischsten, sodass eine Projektanweisung im Kontext nach einer Benutzeranweisung erscheint.63CLAUDE.md-Dateien können sich an mehreren Orten befinden, jeder mit einem anderen Umfang. Die folgende Tabelle listet sie in Ladereihenfolge auf, vom breitesten Umfang zum spezifischsten, sodass eine Projektanweisung im Kontext nach einer Benutzeranweisung erscheint.

63 64 

64| Umfang | Ort | Zweck | Anwendungsbeispiele | Geteilt mit |65| Umfang | Ort | Zweck | Anwendungsbeispiele | Geteilt mit |

65| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------- | -------------------------------------- |66| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------- |

66| **Verwaltete Richtlinie** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux und WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Organisationsweite Anweisungen, verwaltet von IT/DevOps | Unternehmens-Coding-Standards, Sicherheitsrichtlinien, Compliance-Anforderungen | Alle Benutzer in der Organisation |67| **Verwaltete Richtlinie** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux und WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Organisationsweite Anweisungen, verwaltet von IT/DevOps | Unternehmens-Codierungsstandards, Sicherheitsrichtlinien, Compliance-Anforderungen | Alle Benutzer in der Organisation |

67| **Benutzeranweisungen** | `~/.claude/CLAUDE.md` | Persönliche Vorlieben für alle Projekte | Code-Styling-Vorlieben, persönliche Tooling-Shortcuts | Nur Sie (alle Projekte) |68| **Benutzeranweisungen** | `~/.claude/CLAUDE.md` | Persönliche Voreinstellungen für alle Projekte | Code-Stilvoreinstellungen, persönliche Tooling-Verknüpfungen | Nur Sie (alle Projekte) |

68| **Projektanweisungen** | `./CLAUDE.md` oder `./.claude/CLAUDE.md` | Team-gemeinsame Anweisungen für das Projekt | Projektarchitektur, Coding-Standards, häufige Workflows | Team-Mitglieder über Versionskontrolle |69| **Projektanweisungen** | `./CLAUDE.md` oder `./.claude/CLAUDE.md`. Siehe [AGENTS.md](#agents-md) für den Fall, dass `./AGENTS.md` stattdessen oder zusammen mit ihnen geladen wird | Team-gemeinsame Anweisungen für das Projekt | Projektarchitektur, Codierungsstandards, häufige Arbeitsabläufe | Teammitglieder über Versionskontrolle |

69| **Lokale Anweisungen** | `./CLAUDE.local.md` | Persönliche projektspezifische Vorlieben; zu `.gitignore` hinzufügen | Ihre Sandbox-URLs, bevorzugte Testdaten | Nur Sie (aktuelles Projekt) |70| **Lokale Anweisungen** | `./CLAUDE.local.md` | Persönliche projektspezifische Voreinstellungen; zu `.gitignore` hinzufügen | Ihre Sandbox-URLs, bevorzugte Testdaten | Nur Sie (aktuelles Projekt) |

70 71 

71CLAUDE.md- und CLAUDE.local.md-Dateien in der Verzeichnishierarchie über dem Arbeitsverzeichnis werden beim Start vollständig geladen. Dateien in Unterverzeichnissen werden bei Bedarf geladen, wenn Claude Dateien in diesen Verzeichnissen liest. Weitere Informationen finden Sie unter [Wie CLAUDE.md-Dateien geladen werden](#how-claude-md-files-load) für die vollständige Auflösungsreihenfolge.72CLAUDE.md- und CLAUDE.local.md-Dateien in der Verzeichnishierarchie über dem Arbeitsverzeichnis werden beim Start geladen. Dateien in Unterverzeichnissen werden bei Bedarf geladen, wenn Claude Dateien in diesen Verzeichnissen liest. Siehe [Wie CLAUDE.md-Dateien geladen werden](#how-claude-md-files-load) für die vollständige Auflösungsreihenfolge.

72 73 

73Für große Projekte können Sie Anweisungen in themaspezifische Dateien aufteilen, indem Sie [Projektregeln](#organize-rules-with-claude/rules/) verwenden. Regeln ermöglichen es Ihnen, Anweisungen auf bestimmte Dateitypen oder Unterverzeichnisse zu beschränken.74Für große Projekte können Sie Anweisungen in themaspezifische Dateien aufteilen, indem Sie [Projektregeln](#organize-rules-with-claude/rules/) verwenden. Regeln ermöglichen es Ihnen, Anweisungen auf bestimmte Dateitypen oder Unterverzeichnisse zu beschränken.

74 75 

75<h3 id="set-up-a-project-claude-md">76<h3 id="set-up-a-project-claude-md">

76 Richten Sie eine Projekt-CLAUDE.md ein77 Richten Sie ein Projekt-CLAUDE.md ein

77</h3>78</h3>

78 79 

79Eine Projekt-CLAUDE.md kann entweder in `./CLAUDE.md` oder `./.claude/CLAUDE.md` gespeichert werden. Erstellen Sie diese Datei und fügen Sie Anweisungen hinzu, die für jeden gelten, der am Projekt arbeitet: Build- und Test-Befehle, Coding-Standards, architektonische Entscheidungen, Namenskonventionen und häufige Workflows. Diese Anweisungen werden über Versionskontrolle mit Ihrem Team geteilt, daher konzentrieren Sie sich auf projektweite Standards statt auf persönliche Vorlieben. Um zu bestätigen, dass die Datei geladen wurde, führen Sie `/context` in einer Sitzung aus und überprüfen Sie die Liste unter **Memory-Dateien**.80Ein Projekt-CLAUDE.md kann entweder in `./CLAUDE.md` oder `./.claude/CLAUDE.md` gespeichert werden. Erstellen Sie diese Datei und fügen Sie Anweisungen hinzu, die für jeden gelten, der am Projekt arbeitet: Build- und Test-Befehle, Codierungsstandards, architektonische Entscheidungen, Namenskonventionen und häufige Arbeitsabläufe. Diese Anweisungen werden über Versionskontrolle mit Ihrem Team geteilt, daher konzentrieren Sie sich auf projektweite Standards statt auf persönliche Voreinstellungen. Um zu bestätigen, dass die Datei geladen wurde, führen Sie `/context` in einer Sitzung aus und überprüfen Sie die Liste unter **Memory-Dateien**.

80 81 

81<Tip>82<Tip>

82 Führen Sie `/init` aus, um automatisch eine Start-CLAUDE.md zu generieren. Claude analysiert Ihre Codebasis und erstellt eine Datei mit Build-Befehlen, Test-Anweisungen und Projektkonventionen, die es entdeckt. Wenn bereits eine CLAUDE.md vorhanden ist, schlägt `/init` Verbesserungen vor, statt sie zu überschreiben. Verfeinern Sie sie von dort aus mit Anweisungen, die Claude nicht selbst entdecken würde.83 Führen Sie `/init` aus, um automatisch ein startendes CLAUDE.md zu generieren. Claude analysiert Ihre Codebasis und erstellt eine Datei mit Build-Befehlen, Test-Anweisungen und Projektkonventionen, die es entdeckt. Wenn bereits ein CLAUDE.md vorhanden ist, schlägt `/init` Verbesserungen vor, statt es zu überschreiben. Verfeinern Sie es von dort mit Anweisungen, die Claude nicht selbst entdecken würde.

83 84 

84 Setzen Sie `CLAUDE_CODE_NEW_INIT=1`, um einen interaktiven mehrstufigen Ablauf zu aktivieren. `/init` fragt, welche Artefakte eingerichtet werden sollen: CLAUDE.md-Dateien, Skills und Hooks. Es erkundet dann Ihre Codebasis mit einem Subagent, füllt Lücken durch Folgefragen aus und präsentiert einen überprüfbaren Vorschlag, bevor Dateien geschrieben werden.85 Setzen Sie `CLAUDE_CODE_NEW_INIT=1`, um einen interaktiven mehrstufigen Ablauf zu aktivieren. `/init` fragt, welche Artefakte eingerichtet werden sollen: CLAUDE.md-Dateien, Skills und Hooks. Es erkundet dann Ihre Codebasis mit einem Subagenten, füllt Lücken durch Folgefragen aus und präsentiert einen überprüfbaren Vorschlag, bevor Dateien geschrieben werden.

85</Tip>86</Tip>

86 87 

87<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">

88 Schreiben Sie effektive Anweisungen89 Schreiben Sie effektive Anweisungen

89</h3>90</h3>

90 91 

91CLAUDE.md-Dateien werden zu Beginn jeder Sitzung in das Context Window geladen und verbrauchen Token zusammen mit Ihrer Konversation. Die [Context Window-Visualisierung](/docs/de/context-window) zeigt, wo CLAUDE.md relativ zum Rest des Startup-Kontexts geladen wird. Da sie Kontext statt erzwungene Konfiguration sind, beeinflusst die Art, wie Sie Anweisungen schreiben, wie zuverlässig Claude ihnen folgt. Spezifische, prägnante, gut strukturierte Anweisungen funktionieren am besten.92CLAUDE.md-Dateien werden zu Beginn jeder Sitzung in das Kontextfenster geladen und verbrauchen Token zusammen mit Ihrer Konversation. Die [Kontextfenster-Visualisierung](/docs/de/context-window) zeigt, wo CLAUDE.md relativ zum Rest des Startkontexts geladen wird. Da es sich um Kontext statt um erzwungene Konfiguration handelt, beeinflusst die Art, wie Sie Anweisungen schreiben, wie zuverlässig Claude sie befolgt. Spezifische, prägnante, gut strukturierte Anweisungen funktionieren am besten.

92 93 

93**Größe**: Ziel unter 200 Zeilen pro CLAUDE.md-Datei. Längere Dateien verbrauchen mehr Kontext und reduzieren die Einhaltung. Wenn Ihre Anweisungen zu groß werden, verwenden Sie [pfadgebundene Regeln](#path-specific-rules), damit Anweisungen nur geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet, um Rauschen zu reduzieren und Kontextraum zu sparen. Sie können auch Inhalte in [Importe](#import-additional-files) aufteilen, um sie zu organisieren, obwohl importierte Dateien immer noch geladen werden und beim Start in das Context Window eingehen.94**Größe**: Ziel unter 200 Zeilen pro CLAUDE.md-Datei. Längere Dateien verbrauchen mehr Kontext und verringern die Einhaltung. Wenn Ihre Anweisungen zu groß werden, verwenden Sie [pfadgebundene Regeln](#path-specific-rules), damit Anweisungen nur geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet. Sie können Inhalte auch in [Importe](#import-additional-files) aufteilen, um sie zu organisieren, obwohl importierte Dateien immer noch geladen werden und beim Start in das Kontextfenster eingehen.

94 95 

95**Struktur**: Verwenden Sie Markdown-Header und Aufzählungszeichen, um verwandte Anweisungen zu gruppieren. Claude scannt die Struktur genauso wie Leser: organisierte Abschnitte sind leichter zu befolgen als dichte Absätze.96**Struktur**: Verwenden Sie Markdown-Header und Aufzählungszeichen, um verwandte Anweisungen zu gruppieren. Claude scannt die Struktur genauso wie Leser: organisierte Abschnitte sind leichter zu folgen als dichte Absätze.

96 97 

97**Spezifität**: Schreiben Sie Anweisungen, die konkret genug sind, um überprüft zu werden. Zum Beispiel:98**Spezifität**: Schreiben Sie Anweisungen, die konkret genug sind, um überprüft zu werden. Zum Beispiel:

98 99 

99* „Verwenden Sie 2-Leerzeichen-Einrückung" statt „Formatieren Sie Code ordnungsgemäß"100* „Verwenden Sie 2-Leerzeichen-Einzug" statt „Formatieren Sie Code ordnungsgemäß"

100* „Führen Sie `npm test` vor dem Commit aus" statt „Testen Sie Ihre Änderungen"101* „Führen Sie `npm test` vor dem Commit aus" statt „Testen Sie Ihre Änderungen"

101* „API-Handler befinden sich in `src/api/handlers/`" statt „Halten Sie Dateien organisiert"102* „API-Handler befinden sich in `src/api/handlers/`" statt „Halten Sie Dateien organisiert"

102 103 


106 Importieren Sie zusätzliche Dateien107 Importieren Sie zusätzliche Dateien

107</h3>108</h3>

108 109 

109CLAUDE.md-Dateien können zusätzliche Dateien mit der Syntax `@path/to/import` importieren. Importierte Dateien werden erweitert und beim Start zusammen mit der CLAUDE.md, die sie referenziert, in den Kontext geladen.110CLAUDE.md-Dateien können zusätzliche Dateien mit der Syntax `@path/to/import` importieren. Importierte Dateien werden erweitert und beim Start zusammen mit dem CLAUDE.md, das sie referenziert, in den Kontext geladen.

110 111 

111Sowohl relative als auch absolute Pfade sind zulässig. Relative Pfade werden relativ zur Datei aufgelöst, die den Import enthält, nicht zum Arbeitsverzeichnis. Importierte Dateien können rekursiv andere Dateien importieren, mit einer maximalen Tiefe von vier Hops.112Sowohl relative als auch absolute Pfade sind zulässig. Relative Pfade werden relativ zur Datei aufgelöst, die den Import enthält, nicht zum Arbeitsverzeichnis. Importierte Dateien können rekursiv andere Dateien importieren, mit einer maximalen Tiefe von vier Hops.

112 113 

113Das Parsing von Importen überspringt Markdown-Code-Spans und eingezäunte Code-Blöcke. Um einen Pfad in Ihrer CLAUDE.md zu erwähnen, ohne ihn zu importieren, wickeln Sie ihn in Backticks ein: Das Schreiben von `` `@README` `` hält den Text literal, während `@README` außerhalb von Backticks die Datei importiert.114Das Import-Parsing überspringt Markdown-Code-Spannweiten und eingezäunte Code-Blöcke. Um einen Pfad in Ihrem CLAUDE.md zu erwähnen, ohne ihn zu importieren, wickeln Sie ihn in Backticks ein: Das Schreiben von `` `@README` `` hält den Text literal, während `@README` außerhalb von Backticks die Datei importiert.

114 115 

115Um eine README, package.json und einen Workflow-Leitfaden einzubeziehen, referenzieren Sie sie mit der `@`-Syntax überall in Ihrer CLAUDE.md:116Um eine README, package.json und einen Workflow-Leitfaden einzubeziehen, referenzieren Sie sie mit `@`-Syntax überall in Ihrem CLAUDE.md:

116 117 

117```text theme={null}118```text theme={null}

118Siehe @README für Projektübersicht und @package.json für verfügbare npm-Befehle für dieses Projekt.119Siehe @README für Projektübersicht und @package.json für verfügbare npm-Befehle für dieses Projekt.


121- Git-Workflow @docs/git-instructions.md122- Git-Workflow @docs/git-instructions.md

122```123```

123 124 

124Für persönliche Vorlieben pro Projekt, die nicht in die Versionskontrolle eingecheckt werden sollten, erstellen Sie eine `CLAUDE.local.md` im Projektstammverzeichnis. Sie wird zusammen mit `CLAUDE.md` geladen und wird auf die gleiche Weise behandelt. Fügen Sie `CLAUDE.local.md` zu Ihrer `.gitignore` hinzu, damit sie nicht committed wird. Mit `CLAUDE_CODE_NEW_INIT=1` gesetzt, führt das Ausführen von `/init` und das Auswählen der persönlichen Option dies für Sie durch.125Für private projektspezifische Voreinstellungen, die nicht in die Versionskontrolle eingecheckt werden sollten, erstellen Sie ein `CLAUDE.local.md` im Projektstammverzeichnis. Es wird zusammen mit `CLAUDE.md` geladen und wird genauso behandelt. Fügen Sie `CLAUDE.local.md` zu Ihrer `.gitignore` hinzu, damit es nicht committed wird. Mit `CLAUDE_CODE_NEW_INIT=1` gesetzt, führt das Ausführen von `/init` und das Auswählen der persönlichen Option dies für Sie durch.

125 126 

126Wenn Sie über mehrere Git-Worktrees desselben Repositories arbeiten, existiert eine gitignorierte `CLAUDE.local.md` nur in dem Worktree, in dem Sie sie erstellt haben. Um persönliche Anweisungen über Worktrees hinweg zu teilen, importieren Sie stattdessen eine Datei aus Ihrem Home-Verzeichnis:127Wenn Sie über mehrere Git-Worktrees desselben Repositorys arbeiten, existiert ein gitignoriertes `CLAUDE.local.md` nur in dem Worktree, in dem Sie es erstellt haben. Um persönliche Anweisungen über Worktrees hinweg zu teilen, importieren Sie stattdessen eine Datei aus Ihrem Home-Verzeichnis:

127 128 

128```text theme={null}129```text theme={null}

129# Individuelle Vorlieben130# Individuelle Voreinstellungen

130- @~/.claude/my-project-instructions.md131- @~/.claude/my-project-instructions.md

131```132```

132 133 

133<Warning>134<Warning>

134 Ein Import in einer Projekt-Level-Memory-Datei ist extern, wenn sein Pfad außerhalb Ihres Arbeitsverzeichnisses aufgelöst wird, wie der Home-Verzeichnis-Import oben. Wenn Claude Code zum ersten Mal externe Importe in einem Projekt antrifft, zeigt es einen Genehmigungsdialog an, der die Dateien auflistet. Wenn Sie ablehnen, bleiben die Importe deaktiviert und der Dialog wird nicht erneut angezeigt.135 Ein Import in einer projektweiten Memory-Datei ist extern, wenn sein Pfad außerhalb Ihres Arbeitsverzeichnisses aufgelöst wird, wie der Home-Verzeichnis-Import oben. Wenn Claude Code zum ersten Mal externe Importe in einem Projekt antrifft, zeigt es einen Genehmigungsdialog an, der die Dateien auflistet. Wenn Sie ablehnen, bleiben die Importe deaktiviert und der Dialog wird nicht erneut angezeigt.

135 136 

136 Claude Code zeigt den Dialog, um Sie vor Dateien zu schützen, die andere Personen in ein gemeinsames Projekt committen. Benutzer-Scope-Memory-Dateien, wie `~/.claude/CLAUDE.md` und `~/.claude/rules/`, sind Dateien, die Sie selbst geschrieben haben. Außer in [Cowork](https://claude.com/product/cowork)-Sitzungen auf Ihrem Desktop lädt Claude Code ihre Importe ohne den Dialog und vertraut ihnen wie dem Rest Ihrer persönlichen Konfiguration.137 Claude Code zeigt den Dialog an, um Sie vor Dateien zu schützen, die andere Personen in ein gemeinsames Projekt committen. Benutzerbereichs-Memory-Dateien wie `~/.claude/CLAUDE.md` und `~/.claude/rules/` sind Dateien, die Sie selbst geschrieben haben. Außer in [Cowork](https://claude.com/product/cowork)-Sitzungen auf Ihrem Desktop lädt Claude Code ihre Importe ohne Dialog und vertraut ihnen wie dem Rest Ihrer persönlichen Konfiguration.

137 138 

138 In Cowork-Sitzungen auf Ihrem Desktop überspringt Claude Code jeden Import in einer Benutzer-Scope-Datei, der zu einem Pfad außerhalb des Arbeitsverzeichnisses der Sitzung aufgelöst wird, und lädt den Rest der Datei. In diesen Sitzungen überspringt es auch eine `~/.claude/CLAUDE.md`, die selbst ein Symlink oder Hard Link ist, und ein symverlinktes `~/.claude/rules/`-Verzeichnis oder eine Regeldatei, die außerhalb des Arbeitsverzeichnisses zeigt.139 In Cowork-Sitzungen auf Ihrem Desktop überspringt Claude Code jeden Import in einer Benutzerbereichs-Datei, die zu einem Pfad außerhalb des Arbeitsverzeichnisses der Sitzung aufgelöst wird, und lädt den Rest der Datei. In diesen Sitzungen überspringt es auch ein `~/.claude/CLAUDE.md`, das selbst ein Symlink oder Hard Link ist, und ein symverlinktes `~/.claude/rules/`-Verzeichnis oder eine Regeldatei, die außerhalb des Arbeitsverzeichnisses zeigt.

139</Warning>140</Warning>

140 141 

141<h3 id="agents-md">

142 AGENTS.md

143</h3>

144 

145Claude Code liest `CLAUDE.md`, nicht `AGENTS.md`. Wenn Ihr Repository bereits `AGENTS.md` für andere Coding-Agenten verwendet, erstellen Sie eine `CLAUDE.md`, die es importiert, damit beide Tools die gleichen Anweisungen lesen, ohne sie zu duplizieren. Sie können auch Claude-spezifische Anweisungen unter dem Import hinzufügen. Claude lädt die importierte Datei beim Sitzungsstart und hängt dann den Rest an:

146 

147```markdown CLAUDE.md theme={null}

148@AGENTS.md

149 

150## Claude Code

151 

152Verwenden Sie Plan Mode für Änderungen unter `src/billing/`.

153```

154 

155Ein Symlink funktioniert auch, wenn Sie keine Claude-spezifischen Inhalte hinzufügen müssen:

156 

157```bash theme={null}

158ln -s AGENTS.md CLAUDE.md

159```

160 

161Der Befehl gibt bei Erfolg keine Ausgabe aus. In Ihrer nächsten Sitzung führen Sie `/context` aus und bestätigen Sie, dass `CLAUDE.md` unter **Memory-Dateien** angezeigt wird.

162 

163Unter Windows erfordert das Erstellen eines Symlinks Administratorrechte oder Developer Mode, daher verwenden Sie stattdessen den Import `@AGENTS.md`.

164 

165Das Ausführen von [`/init`](/docs/de/commands) liest Cursor-Regeln in `.cursor/rules/` oder `.cursorrules` und Copilot-Regeln in `.github/copilot-instructions.md` und integriert die relevanten Teile in die generierte `CLAUDE.md`. Mit `CLAUDE_CODE_NEW_INIT=1` gesetzt, liest `/init` auch `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` oder `.windsurfrules` und `.clinerules`.

166 

167Sie können auch [`/import`](/docs/de/commands) ausführen, um die Konfiguration eines unterstützten Coding-Agenten in Claude Code zu bringen, was eine einmalige Kopie von Anweisungsdateien wie `AGENTS.md` an die entsprechende `CLAUDE.md` anhängt und MCP-Server, Befehle, Subagents und Skills übernimmt. Erfordert Claude Code v2.1.213 oder später.

168 

169<h3 id="how-claude-md-files-load">142<h3 id="how-claude-md-files-load">

170 Wie CLAUDE.md-Dateien geladen werden143 Wie CLAUDE.md-Dateien geladen werden

171</h3>144</h3>

172 145 

173Claude Code lädt `CLAUDE.md` und `CLAUDE.local.md` aus Ihrem aktuellen Arbeitsverzeichnis und jedem Verzeichnis darüber. Führen Sie Claude Code in `foo/bar/` aus und es lädt Anweisungen aus `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` und allen `CLAUDE.local.md`-Dateien daneben.146Claude Code lädt `CLAUDE.md` und `CLAUDE.local.md` aus Ihrem aktuellen Arbeitsverzeichnis und jedem Verzeichnis darüber. Führen Sie Claude Code in `foo/bar/` aus und es lädt Anweisungen aus `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` und allen `CLAUDE.local.md`-Dateien daneben.

174 147 

175Alle entdeckten Dateien werden in den Kontext verkettet, statt sich gegenseitig zu überschreiben. Über die Verzeichnisstruktur hinweg wird Inhalt vom Dateisystem-Root bis zu Ihrem Arbeitsverzeichnis geordnet. Für das Beispiel `foo/bar/` erscheint `foo/CLAUDE.md` im Kontext vor `foo/bar/CLAUDE.md`, sodass Anweisungen näher an dem Ort, an dem Sie Claude gestartet haben, zuletzt gelesen werden. Innerhalb jedes Verzeichnisses wird `CLAUDE.local.md` nach `CLAUDE.md` angehängt, sodass Ihre persönlichen Notizen das letzte sind, das Claude auf dieser Ebene liest.148Alle entdeckten Dateien werden in den Kontext verkettet, statt sich gegenseitig zu überschreiben. Über den Verzeichnisbaum hinweg wird Inhalt vom Dateisystem-Root bis zu Ihrem Arbeitsverzeichnis geordnet. Für das Beispiel `foo/bar/` erscheint `foo/CLAUDE.md` im Kontext vor `foo/bar/CLAUDE.md`, sodass Anweisungen näher an dem Ort, an dem Sie Claude gestartet haben, zuletzt gelesen werden. Innerhalb jedes Verzeichnisses wird `CLAUDE.local.md` nach `CLAUDE.md` angehängt, sodass Ihre persönlichen Notizen das Letzte sind, das Claude auf dieser Ebene liest.

176 149 

177Claude entdeckt auch `CLAUDE.md`- und `CLAUDE.local.md`-Dateien in Unterverzeichnissen unter Ihrem aktuellen Arbeitsverzeichnis. Statt sie beim Start zu laden, werden sie eingebunden, wenn Claude Dateien in diesen Unterverzeichnissen liest.150Claude entdeckt auch `CLAUDE.md`- und `CLAUDE.local.md`-Dateien in Unterverzeichnissen unter Ihrem aktuellen Arbeitsverzeichnis. Statt sie beim Start zu laden, werden sie eingebunden, wenn Claude Dateien in diesen Verzeichnissen liest.

178 151 

179Wenn Sie in einem großen Monorepo arbeiten, in dem CLAUDE.md-Dateien anderer Teams aufgegriffen werden, verwenden Sie [`claudeMdExcludes`](#exclude-specific-claude-md-files), um sie zu überspringen. Für das vollständige Layout von Root- und Pro-Verzeichnis-CLAUDE.md-Dateien und Regeln siehe [Monorepos und große Repos](/docs/de/large-codebases).152Wenn Sie in einem großen Monorepo arbeiten, in dem CLAUDE.md-Dateien anderer Teams aufgegriffen werden, verwenden Sie [`claudeMdExcludes`](#exclude-specific-claude-md-files), um sie zu überspringen. Für das vollständige Layout von Root- und Pro-Verzeichnis-CLAUDE.md-Dateien und Regeln siehe [Monorepos und große Repos](/docs/de/large-codebases).

180 153 

181Block-Level-HTML-Kommentare (`<!-- maintainer notes -->`) in CLAUDE.md-Dateien werden vor der Injektion in Claudes Kontext entfernt. Verwenden Sie sie, um Notizen für menschliche Betreuer zu hinterlassen, ohne Kontext-Token darauf zu verschwenden. Kommentare innerhalb von Code-Blöcken werden beibehalten. Wenn Sie eine CLAUDE.md-Datei direkt mit dem Read-Tool öffnen, bleiben Kommentare sichtbar.154Block-Level-HTML-Kommentare (`<!-- maintainer notes -->`) in CLAUDE.md-Dateien werden vor dem Einfügen des Inhalts in Claudes Kontext entfernt. Verwenden Sie sie, um Notizen für menschliche Betreuer zu hinterlassen, ohne Kontext-Token darauf zu verschwenden. Kommentare in Code-Blöcken werden beibehalten. Wenn Sie eine CLAUDE.md-Datei direkt mit dem Read-Tool öffnen, bleiben Kommentare sichtbar.

182 155 

183<h4 id="load-from-additional-directories">156<h4 id="load-from-additional-directories">

184 Laden aus zusätzlichen Verzeichnissen157 Laden aus zusätzlichen Verzeichnissen


198 Organisieren Sie Regeln mit `.claude/rules/`171 Organisieren Sie Regeln mit `.claude/rules/`

199</h3>172</h3>

200 173 

201Für größere Projekte können Sie Anweisungen in mehrere Dateien mit dem Verzeichnis `.claude/rules/` organisieren. Dies hält Anweisungen modular und leichter für Teams zu pflegen. Regeln können auch [auf bestimmte Dateipfade beschränkt werden](#path-specific-rules), sodass sie nur in den Kontext geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet, was Rauschen reduziert und Kontextraum spart.174Für größere Projekte können Sie Anweisungen in mehrere Dateien mit dem Verzeichnis `.claude/rules/` organisieren. Dies hält Anweisungen modular und leichter für Teams zu verwalten. Regeln können auch [auf bestimmte Dateipfade beschränkt werden](#path-specific-rules), sodass sie nur in den Kontext geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet, was Rauschen reduziert und Kontextraum spart.

202 175 

203<Note>176<Note>

204 Regeln werden in jeder Sitzung oder beim Öffnen übereinstimmender Dateien in den Kontext geladen. Für aufgabenspezifische Anweisungen, die nicht ständig im Kontext sein müssen, verwenden Sie stattdessen [Skills](/docs/de/skills), die nur geladen werden, wenn Sie sie aufrufen oder wenn Claude bestimmt, dass sie für Ihren Prompt relevant sind.177 Regeln werden in jeder Sitzung oder beim Öffnen übereinstimmender Dateien in den Kontext geladen. Für aufgabenspezifische Anweisungen, die nicht ständig im Kontext sein müssen, verwenden Sie stattdessen [Skills](/docs/de/skills), die nur geladen werden, wenn Sie sie aufrufen oder wenn Claude bestimmt, dass sie für Ihren Prompt relevant sind.


215├── .claude/188├── .claude/

216│ ├── CLAUDE.md # Hauptprojektanweisungen189│ ├── CLAUDE.md # Hauptprojektanweisungen

217│ └── rules/190│ └── rules/

218│ ├── code-style.md # Code-Style-Richtlinien191│ ├── code-style.md # Code-Stilrichtlinien

219│ ├── testing.md # Test-Konventionen192│ ├── testing.md # Test-Konventionen

220│ └── security.md # Sicherheitsanforderungen193│ └── security.md # Sicherheitsanforderungen

221```194```

222 195 

223Regeln ohne [`paths`-Frontmatter](#path-specific-rules) werden beim Start mit der gleichen Priorität wie `.claude/CLAUDE.md` geladen.196Regeln ohne [`paths`-Frontmatter](#path-specific-rules) werden beim Start mit derselben Priorität wie `.claude/CLAUDE.md` geladen.

224 197 

225Projektregeln werden übersprungen, wenn Sie `project` aus [`--setting-sources`](/docs/de/cli-reference) ausschließen. Vor v2.1.211 wurden Regeln, die bei Bedarf geladen werden, einschließlich pfadgebundener Regeln und Regeln in verschachtelten `.claude/rules/`-Verzeichnissen, auch geladen, wenn `project` ausgeschlossen wurde.198Projektregeln werden übersprungen, wenn Sie `project` aus [`--setting-sources`](/docs/de/cli-reference) ausschließen. Vor v2.1.211 wurden Regeln, die bei Bedarf geladen werden, einschließlich pfadgebundener Regeln und Regeln in verschachtelten `.claude/rules/`-Verzeichnissen, auch geladen, wenn `project` ausgeschlossen war.

226 199 

227<h4 id="path-specific-rules">200<h4 id="path-specific-rules">

228 Pfadspezifische Regeln201 Pfadspezifische Regeln


245 218 

246Regeln ohne ein `paths`-Feld werden bedingungslos geladen und gelten für alle Dateien. Pfadgebundene Regeln werden ausgelöst, wenn Claude Dateien liest, die dem Muster entsprechen, nicht bei jedem Tool-Einsatz. Ab v2.1.198 funktioniert das Matching auch, wenn Claude eine Datei über einen symverlinkten Pfad zum Projektverzeichnis erreicht, zum Beispiel in einem symverlinkten Checkout.219Regeln ohne ein `paths`-Feld werden bedingungslos geladen und gelten für alle Dateien. Pfadgebundene Regeln werden ausgelöst, wenn Claude Dateien liest, die dem Muster entsprechen, nicht bei jedem Tool-Einsatz. Ab v2.1.198 funktioniert das Matching auch, wenn Claude eine Datei über einen symverlinkten Pfad zum Projektverzeichnis erreicht, zum Beispiel in einem symverlinkten Checkout.

247 220 

248Verwenden Sie Glob-Muster im Feld `paths`, um Dateien nach Erweiterung, Verzeichnis oder einer beliebigen Kombination zu vergleichen:221Verwenden Sie Glob-Muster im Feld `paths`, um Dateien nach Erweiterung, Verzeichnis oder einer beliebigen Kombination zu entsprechen:

249 222 

250| Muster | Passt zu |223| Muster | Entspricht |

251| ---------------------- | ------------------------------------------------- |224| ---------------------- | ------------------------------------------------- |

252| `**/*.ts` | Alle TypeScript-Dateien in jedem Verzeichnis |225| `**/*.ts` | Alle TypeScript-Dateien in jedem Verzeichnis |

253| `src/**/*` | Alle Dateien unter dem Verzeichnis `src/` |226| `src/**/*` | Alle Dateien unter dem Verzeichnis `src/` |

254| `*.md` | Markdown-Dateien im Projektstamm |227| `*.md` | Markdown-Dateien im Projektstammverzeichnis |

255| `src/components/*.tsx` | React-Komponenten in einem bestimmten Verzeichnis |228| `src/components/*.tsx` | React-Komponenten in einem bestimmten Verzeichnis |

256 229 

257Sie können mehrere Muster angeben und Klammer-Expansion verwenden, um mehrere Erweiterungen in einem Muster zu vergleichen:230Sie können mehrere Muster angeben und Klammer-Erweiterung verwenden, um mehrere Erweiterungen in einem Muster zu entsprechen:

258 231 

259```markdown theme={null}232```markdown theme={null}

260---233---


265---238---

266```239```

267 240 

268Jede Klammer-Gruppe multipliziert die Anzahl der erweiterten Muster: `src/*.{ts,tsx}` wird zu zwei Mustern erweitert, und `{a,b}/{c,d}/*.{ts,tsx}` zu acht. Um die Erweiterung begrenzt zu halten, teilt sich die ganze `paths`-Liste einer Regel ein Budget von 1.000 erweiterten Mustern und 4 MiB, und Muster ohne Klammern zählen nicht dagegen.241Jede Klammer-Gruppe multipliziert die Anzahl der erweiterten Muster: `src/*.{ts,tsx}` wird zu zwei Mustern erweitert, und `{a,b}/{c,d}/*.{ts,tsx}` zu acht. Um die Erweiterung begrenzt zu halten, teilt sich die gesamte `paths`-Liste einer Regel ein Budget von 1.000 erweiterten Mustern und 4 MiB, und Muster ohne Klammern zählen nicht dagegen.

269 242 

270Claude Code verwendet jeden Muster, der das Budget unerweitert überschreiten würde, und seine literalen Klammern passen zu keinen Dateien. Vor v2.1.217 führte ein `paths`-Wert mit vielen Klammer-Gruppen zu Stalls oder Crashes der CLI beim Start.243Claude Code verwendet jedes Muster, das das Budget unerweitert überschreiten würde, und seine literalen Klammern entsprechen keinen Dateien. Vor v2.1.217 stagnierte oder stürzte eine `paths`-Wert mit vielen Klammer-Gruppen die CLI beim Start ab.

271 244 

272Glob-Syntax behandelt `[` als den Anfang eines Klammer-Ausdrucks wie `[abc]`. Ein Muster mit einem `[`, das nicht als Klammer-Ausdruck gelesen werden kann, wie `photos [2024/**`, ist ungültig: es passt zu nichts, und die anderen Muster der Regel funktionieren weiterhin. Um ein literales `[` in einem Dateinamen zu vergleichen, escapen Sie es als `photos \[2024/**`. Vor v2.1.207 führte ein ungültiges Muster dazu, dass das Read-Tool für jede Datei fehlschlug, gegen die die Regel ausgewertet wurde, statt zu nichts zu passen.245Die Glob-Syntax behandelt `[` als den Anfang eines Klammer-Ausdrucks wie `[abc]`. Ein Muster mit einem `[`, das nicht als Klammer-Ausdruck gelesen werden kann, wie `photos [2024/**`, ist ungültig: es entspricht nichts, und die anderen Muster der Regel funktionieren weiterhin. Um ein literales `[` in einem Dateinamen zu entsprechen, escapen Sie es als `photos \[2024/**`. Vor v2.1.207 machte ein ungültiges Muster das Read-Tool für jede Datei fehlschlagen, gegen die die Regel bewertet wurde, statt nichts zu entsprechen.

273 246 

274<h4 id="share-rules-across-projects-with-symlinks">247<h4 id="share-rules-across-projects-with-symlinks">

275 Teilen Sie Regeln über Projekte hinweg mit Symlinks248 Teilen Sie Regeln über Projekte mit Symlinks

276</h4>249</h4>

277 250 

278Das Verzeichnis `.claude/rules/` unterstützt Symlinks, sodass Sie einen gemeinsamen Satz von Regeln pflegen und in mehrere Projekte verlinken können. Zirkuläre Symlinks werden erkannt und elegant behandelt.251Das Verzeichnis `.claude/rules/` unterstützt Symlinks, sodass Sie einen gemeinsamen Satz von Regeln verwalten und in mehrere Projekte verlinken können. Zirkuläre Symlinks werden erkannt und elegant behandelt.

279 252 

280Claude Code behandelt einen Symlink, dessen Ziel außerhalb Ihres Arbeitsverzeichnisses liegt, wie einen [externen Import](#import-additional-files). Die verlinkten Regeln werden nicht geladen, bis Sie externe Importe für das Projekt genehmigen, und danach werden nur die ohne ein [`paths`-Feld](#path-specific-rules) geladen. Claude Code fragt nach dieser Genehmigung nur, wenn eine Projekt-Memory-Datei eine Datei außerhalb des Arbeitsverzeichnisses mit `@path` importiert, nicht für Symlinks allein. Um gemeinsame Regeln ohne diese Genehmigung zu laden, halten Sie sie in [`~/.claude/rules/`](#user-level-rules), wo sie für jedes Projekt auf Ihrem Computer gelten.253Claude Code behandelt einen Symlink, dessen Ziel außerhalb Ihres Arbeitsverzeichnisses liegt, wie einen [externen Import](#import-additional-files). Die verlinkten Regeln werden nicht geladen, bis Sie externe Importe für das Projekt genehmigen, und danach werden nur die ohne ein [`paths`-Feld](#path-specific-rules) geladen. Claude Code fragt nach dieser Genehmigung nur, wenn eine Projektmemory-Datei eine Datei außerhalb des Arbeitsverzeichnisses mit `@path` importiert, nicht für Symlinks allein. Um gemeinsame Regeln ohne diese Genehmigung zu laden, halten Sie sie in [`~/.claude/rules/`](#user-level-rules), wo sie auf jedem Projekt auf Ihrem Computer gelten.

281 254 

282Dieses Beispiel verlinkt sowohl ein gemeinsames Verzeichnis als auch eine einzelne Datei:255Dieses Beispiel verlinkt sowohl ein gemeinsames Verzeichnis als auch eine einzelne Datei:

283 256 


287```260```

288 261 

289<h4 id="user-level-rules">262<h4 id="user-level-rules">

290 Benutzerebenen-Regeln263 Benutzerweite Regeln

291</h4>264</h4>

292 265 

293Persönliche Regeln in `~/.claude/rules/` gelten für jedes Projekt auf Ihrem Computer. Verwenden Sie sie für Vorlieben, die nicht projektspezifisch sind:266Persönliche Regeln in `~/.claude/rules/` gelten für jedes Projekt auf Ihrem Computer. Verwenden Sie sie für Voreinstellungen, die nicht projektspezifisch sind:

294 267 

295```text theme={null}268```text theme={null}

296~/.claude/rules/269~/.claude/rules/

297├── preferences.md # Ihre persönlichen Coding-Vorlieben270├── preferences.md # Ihre persönlichen Codierungsvoreinstellungen

298└── workflows.md # Ihre bevorzugten Workflows271└── workflows.md # Ihre bevorzugten Arbeitsabläufe

299```272```

300 273 

301Benutzerebenen-Regeln werden vor Projektregeln geladen, was Projektregeln höhere Priorität gibt.274Benutzerweite Regeln werden vor Projektregeln geladen, was Projektregeln eine höhere Priorität gibt.

302 275 

303<h3 id="manage-claude-md-for-large-teams">276<h3 id="manage-claude-md-for-large-teams">

304 Verwalten Sie CLAUDE.md für große Teams277 Verwalten Sie CLAUDE.md für große Teams


310 Stellen Sie organisationsweite CLAUDE.md bereit283 Stellen Sie organisationsweite CLAUDE.md bereit

311</h4>284</h4>

312 285 

313Organisationen können eine zentral verwaltete CLAUDE.md bereitstellen, die für alle Benutzer auf einem Computer gilt. Diese Datei kann nicht durch individuelle Einstellungen ausgeschlossen werden.286Organisationen können ein zentral verwaltetes CLAUDE.md bereitstellen, das für alle Benutzer auf einem Computer gilt. Diese Datei kann nicht durch individuelle Einstellungen ausgeschlossen werden.

314 287 

315<Steps>288<Steps>

316 <Step title="Erstellen Sie die Datei am Ort der verwalteten Richtlinie">289 <Step title="Erstellen Sie die Datei am verwalteten Richtlinienort">

317 * macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`290 * macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`

318 * Linux und WSL: `/etc/claude-code/CLAUDE.md`291 * Linux und WSL: `/etc/claude-code/CLAUDE.md`

319 * Windows: `C:\Program Files\ClaudeCode\CLAUDE.md`292 * Windows: `C:\Program Files\ClaudeCode\CLAUDE.md`


326 299 

327Der Schlüssel `claudeMd` ermöglicht es Ihnen, verwaltete CLAUDE.md-Inhalte direkt in `managed-settings.json` zu platzieren, statt eine separate Datei bereitzustellen.300Der Schlüssel `claudeMd` ermöglicht es Ihnen, verwaltete CLAUDE.md-Inhalte direkt in `managed-settings.json` zu platzieren, statt eine separate Datei bereitzustellen.

328 301 

329**Umfang**: jede Claude Code-Sitzung auf dem Computer, in jedem Repository. Für Repository-spezifische Anleitung committen Sie stattdessen eine Projekt-CLAUDE.md.302**Umfang**: jede Claude Code-Sitzung auf dem Computer, in jedem Repository. Für repositoryspezifische Anleitung committen Sie stattdessen ein Projekt-CLAUDE.md.

330 303 

331**Vorrang**: gleich wie eine verwaltete CLAUDE.md-Datei. Wird vor Benutzer- und Projekt-CLAUDE.md geladen.304**Vorrang**: gleich wie eine verwaltete CLAUDE.md-Datei. Wird vor Benutzer- und Projekt-CLAUDE.md geladen.

332 305 

333**Wo es berücksichtigt wird**: nur verwaltete und Richtlinien-Einstellungen. Das Setzen von `claudeMd` in Benutzer-, Projekt- oder lokalen Einstellungen hat keine Auswirkung.306**Wo es berücksichtigt wird**: nur verwaltete und Richtlinieneinstellungen. Das Setzen von `claudeMd` in Benutzer-, Projekt- oder lokalen Einstellungen hat keine Auswirkung.

334 307 

335Das folgende Beispiel fügt Verhaltensanweisungen direkt in eine verwaltete Einstellungsdatei ein:308Das folgende Beispiel fügt Verhaltensanweisungen direkt in eine verwaltete Einstellungsdatei ein:

336 309 

337```json theme={null}310```json theme={null}

338{311{

339 "claudeMd": "Always run `make lint` before committing.\nNever push directly to main."312 "claudeMd": "Führen Sie immer `make lint` vor dem Commit aus.\nNiemand pusht direkt zu main."

340}313}

341```314```

342 315 

343Eine verwaltete CLAUDE.md und [verwaltete Einstellungen](/docs/de/managed-settings) dienen unterschiedlichen Zwecken. Verwenden Sie Einstellungen für technische Durchsetzung und CLAUDE.md für Verhaltensanleitung:316Ein verwaltetes CLAUDE.md und [verwaltete Einstellungen](/docs/de/managed-settings) dienen unterschiedlichen Zwecken. Verwenden Sie Einstellungen für technische Durchsetzung und CLAUDE.md für Verhaltensanleitung:

344 317 

345| Anliegen | Konfigurieren in |318| Bedenken | Konfigurieren in |

346| :------------------------------------------------------ | :---------------------------------------------------------------- |319| :------------------------------------------------------ | :---------------------------------------------------------------- |

347| Blockieren Sie bestimmte Tools, Befehle oder Dateipfade | Verwaltete Einstellungen: `permissions.deny` |320| Blockieren Sie bestimmte Tools, Befehle oder Dateipfade | Verwaltete Einstellungen: `permissions.deny` |

348| Erzwingen Sie Sandbox-Isolation | Verwaltete Einstellungen: `sandbox.enabled` |321| Erzwingen Sie Sandbox-Isolation | Verwaltete Einstellungen: `sandbox.enabled` |

349| Umgebungsvariablen und API-Provider-Routing | Verwaltete Einstellungen: `env` |322| Umgebungsvariablen und API-Provider-Routing | Verwaltete Einstellungen: `env` |

350| Authentifizierungsmethode und Organisationssperre | Verwaltete Einstellungen: `forceLoginMethod`, `forceLoginOrgUUID` |323| Anmeldemethode und Organisationsbeschränkungen | Verwaltete Einstellungen: `forceLoginMethod`, `forceLoginOrgUUID` |

351| Code-Style und Qualitätsrichtlinien | Verwaltete CLAUDE.md |324| Code-Stil und Qualitätsrichtlinien | Verwaltetes CLAUDE.md |

352| Datenbehandlung und Compliance-Erinnerungen | Verwaltete CLAUDE.md |325| Datenbehandlung und Compliance-Erinnerungen | Verwaltetes CLAUDE.md |

353| Verhaltensanweisungen für Claude | Verwaltete CLAUDE.md |326| Verhaltensanweisungen für Claude | Verwaltetes CLAUDE.md |

354 327 

355Einstellungsregeln werden vom Client unabhängig davon durchgesetzt, was Claude entscheidet zu tun. CLAUDE.md-Anweisungen prägen Claudes Verhalten, sind aber keine harte Durchsetzungsebene.328Einstellungsregeln werden vom Client unabhängig davon durchgesetzt, was Claude zu tun beschließt. CLAUDE.md-Anweisungen prägen Claudes Verhalten, sind aber keine harte Durchsetzungsebene.

356 329 

357<h4 id="exclude-specific-claude-md-files">330<h4 id="exclude-specific-claude-md-files">

358 Schließen Sie bestimmte CLAUDE.md-Dateien aus331 Schließen Sie bestimmte CLAUDE.md-Dateien aus


360 333 

361In großen Monorepos können Vorgänger-CLAUDE.md-Dateien Anweisungen enthalten, die für Ihre Arbeit nicht relevant sind. Die Einstellung `claudeMdExcludes` ermöglicht es Ihnen, bestimmte Dateien nach Pfad oder Glob-Muster zu überspringen.334In großen Monorepos können Vorgänger-CLAUDE.md-Dateien Anweisungen enthalten, die für Ihre Arbeit nicht relevant sind. Die Einstellung `claudeMdExcludes` ermöglicht es Ihnen, bestimmte Dateien nach Pfad oder Glob-Muster zu überspringen.

362 335 

363Dieses Beispiel schließt eine CLAUDE.md auf oberster Ebene und ein Regelverzeichnis aus einem übergeordneten Ordner aus. Fügen Sie es zu `.claude/settings.local.json` hinzu, damit der Ausschluss lokal auf Ihrem Computer bleibt:336Dieses Beispiel schließt ein Top-Level-CLAUDE.md und ein Regelverzeichnis aus einem übergeordneten Ordner aus. Fügen Sie es zu `.claude/settings.local.json` hinzu, damit der Ausschluss lokal auf Ihrem Computer bleibt:

364 337 

365```json theme={null}338```json theme={null}

366{339{


371}344}

372```345```

373 346 

374Muster werden mit Glob-Syntax gegen absolute Dateipfade abgeglichen. Sie können `claudeMdExcludes` auf jeder [Einstellungsebene](/docs/de/settings#where-settings-live) konfigurieren: Benutzer, Projekt, lokal oder verwaltete Richtlinie. Arrays werden über Ebenen hinweg zusammengeführt.347Muster werden gegen absolute Dateipfade mit Glob-Syntax abgeglichen. Sie können `claudeMdExcludes` auf jeder [Einstellungsebene](/docs/de/settings#where-settings-live) konfigurieren: Benutzer, Projekt, lokal oder verwaltete Richtlinie. Arrays werden über Ebenen hinweg zusammengeführt.

348 

349Um eine Regeldatei auszuschließen, die Sie über einen [Symlink](#share-rules-across-projects-with-symlinks) erreichen, ob die Datei oder ihr Verzeichnis der Link ist, schreiben Sie das Muster gegen einen der beiden Pfade: den Pfad der Datei unter `.claude/rules/` oder ihr Link-Ziel. Ein Muster, das einen der beiden Pfade entspricht, schließt die Datei aus. Vor v2.1.239 schloss nur ein Muster, das das Link-Ziel entsprach, die Datei aus.

350 

351Verwaltete Richtlinien-CLAUDE.md-Dateien können nicht ausgeschlossen werden. Dies stellt sicher, dass organisationsweite Anweisungen unabhängig von individuellen Einstellungen immer gelten.

352 

353<h2 id="agents-md">

354 AGENTS.md

355</h2>

356 

357Claude Code kann [`AGENTS.md`](/docs/de/glossary#agents-md) als Ihre Projektanweisungen lesen, daher funktioniert ein Repository, das bereits für andere Codierungs-Agenten eingerichtet ist, ohne dass Sie eine `CLAUDE.md`, einen Import oder eine Einstellung hinzufügen müssen. Diese Tabelle zeigt, was Claude standardmäßig für jede Kombination von Anweisungsdateien in Ihrem Repository liest:

358 

359| Ihr Repository hat | Claude liest |

360| :----------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- |

361| Eine `AGENTS.md` und keine `CLAUDE.md` oder `CLAUDE.local.md` in Ihrem Arbeitsverzeichnis oder darüber | Ihre `AGENTS.md` |

362| Eine `AGENTS.md` und eine `CLAUDE.md` oder `CLAUDE.local.md` in Ihrem Arbeitsverzeichnis oder darüber | Nur Ihre `CLAUDE.md`-Dateien |

363| Eine `CLAUDE.md`, die bereits [`AGENTS.md` importiert](#share-one-file-with-other-coding-tools) | Ihre `CLAUDE.md`, mit `AGENTS.md` durch den Import eingebunden |

364 

365Um die Standardeinstellung zu ändern, z. B. um Claude beide Dateien lesen zu lassen, nur `CLAUDE.md` zu lesen oder nur die verwalteten Anweisungen Ihrer Organisation zu lesen, [ändern Sie die Einstellung **Projektanweisungen**](#choose-which-instruction-files-load).

366 

367<Note>

368 Das direkte Lesen von `AGENTS.md` erfordert Claude Code v2.1.277 oder später. In einigen Sitzungen, z. B. auf Amazon Bedrock oder mit deaktivierter Telemetrie, kann Claude [`AGENTS.md` nicht lesen](#when-agents-md-support-is-unavailable), daher [importieren Sie es stattdessen aus einer `CLAUDE.md`](#share-one-file-with-other-coding-tools).

369</Note>

370 

371<h3 id="when-claude-code-reads-agents-md">

372 Wann Claude Code AGENTS.md liest

373</h3>

374 

375Standardmäßig liest Claude `AGENTS.md` nur, wenn Sie keine `CLAUDE.md` in Ihrem Arbeitsverzeichnis oder darüber haben. Hier sind die Dateien, die für diese Prüfung zählen:

376 

377* **Zählen, daher liest Claude diese statt `AGENTS.md`**: eine `CLAUDE.md`, `.claude/CLAUDE.md` oder `CLAUDE.local.md` in Ihrem Arbeitsverzeichnis oder einem Verzeichnis darüber

378* **Zählen nicht und laden weiterhin neben `AGENTS.md`**: Ihre `~/.claude/CLAUDE.md`, die verwaltete `CLAUDE.md` Ihrer Organisation und `.claude/rules/`-Dateien

379 

380Wenn keine zählen, liest Claude hier, was es liest und wie Sie es erkennen können:

381 

382* **Beim Sitzungsstart**: jede `AGENTS.md` und `.claude/AGENTS.md` in Ihrem Arbeitsverzeichnis und den Verzeichnissen darüber. In einer interaktiven Sitzung sehen Sie eine Zeile wie `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md` in der Konversation

383* **Wenn Claude in Unterverzeichnissen arbeitet**: eine `AGENTS.md` eines Unterverzeichnisses, wenn Claude dort eine Datei mit dem Read-Tool öffnet und dieses Unterverzeichnis keine der drei `CLAUDE.md`-Dateien selbst hat

384* **Innerhalb jeder `AGENTS.md`**: [`@path`-Importe](#import-additional-files) werden erweitert, [`claudeMdExcludes`](#exclude-specific-claude-md-files)-Muster gelten, und Subagenten, die [Projektanweisungen überspringen](/docs/de/sub-agents#what-loads-at-startup), überspringen diese Dateien auch

385* **Nicht gelesen**: `AGENTS.local.md`, `AGENTS.override.md` oder alles unter einem `.agents/`-Verzeichnis

386 

387<Note>

388 Da `CLAUDE.local.md` zählt, stoppt das Hinzufügen einer zum Speichern Ihrer eigenen nicht committeten Anweisungen in einem Projekt, das auf `AGENTS.md` angewiesen ist, Claude vom Lesen von `AGENTS.md` für Sie. Um Ihre `CLAUDE.local.md` zu behalten und Claude trotzdem `AGENTS.md` lesen zu lassen, setzen Sie **Projektanweisungen** auf [`claude-md-and-agents-md`](#choose-which-instruction-files-load).

389</Note>

390 

391<h3 id="choose-which-instruction-files-load">

392 Wählen Sie, welche Anweisungsdateien geladen werden

393</h3>

394 

395Um zu ändern, welche Dateien Claude liest, geben Sie `/config` in einer Claude Code-Sitzung ein, um das Einstellungsfenster zu öffnen, und setzen Sie dann **Projektanweisungen** auf einen dieser Werte:

396 

397| Wert | Was Claude liest |

398| :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

399| `claude-md-or-agents-md` | Ihre `CLAUDE.md`-Dateien oder Ihre `AGENTS.md`-Dateien, wenn Sie keine `CLAUDE.md` oder `CLAUDE.local.md` in Ihrem Arbeitsverzeichnis oder darüber haben. Dies ist die Standardeinstellung |

400| `claude-md-and-agents-md` | Ihre `CLAUDE.md`- und `AGENTS.md`-Dateien zusammen, jede `CLAUDE.md`-Datei eines Verzeichnisses zuerst und seine `AGENTS.md` danach. Claude Code überspringt eine `AGENTS.md`, die es bereits geladen hat, daher wird eine, die Ihre `CLAUDE.md` importiert oder verlinkt, nicht zweimal gelesen |

401| `claude-md` | Nur Ihre `CLAUDE.md`-Dateien |

402| `managed-only` | Nur die verwaltete `CLAUDE.md` Ihrer Organisation und [automatisches Gedächtnis](#auto-memory) beim Start. Ihre Projekt-, lokalen und Benutzer-`CLAUDE.md`-Dateien, Ihre `.claude/rules/`-Dateien und jede `AGENTS.md` werden ausgelassen. Die `CLAUDE.md`- und `.claude/rules/`-Dateien eines Unterverzeichnisses und [pfadgebundene Regeln](#path-specific-rules) laden immer noch, wenn Claude eine Datei dort liest |

403 

404Sie können den Wert auch in einer Einstellungsdatei statt in `/config` setzen. Fügen Sie ihn unter der ID des integrierten `agents-md`-Plugins in [`pluginConfigs`](/docs/de/settings-reference#pluginconfigs) in `~/.claude/settings.json`, einer `--settings`-Datei oder [verwalteten Einstellungen](/docs/de/managed-settings) hinzu. Claude Code ignoriert ihn in Projekt- und lokalen Einstellungsdateien. Dieses Beispiel lässt Claude beide Dateien lesen:

405 

406```json settings.json theme={null}

407{

408 "pluginConfigs": {

409 "agents-md@builtin": {

410 "options": { "instructionFiles": "claude-md-and-agents-md" }

411 }

412 }

413}

414```

415 

416Ihre Änderung gilt ab der nächsten Nachricht, die Sie senden, und in jeder neuen Sitzung.

417 

418<h3 id="when-agents-md-support-is-unavailable">

419 Wenn AGENTS.md-Unterstützung nicht verfügbar ist

420</h3>

421 

422In diesen Sitzungen liest Claude nur `CLAUDE.md`-Dateien, und **Projektanweisungen** erscheint nicht im Einstellungsfenster `/config`:

423 

424* Sie verwenden eine Claude Code-Version vor v2.1.277

425* Ihre Sitzung [ruft keine Feature-Flags von Anthropic ab](/docs/de/env-vars#features-that-need-feature-flag-fetching), z. B. weil Sie Amazon Bedrock oder einen anderen Drittanbieter verwenden oder Telemetrie deaktiviert haben. Der verlinkte Abschnitt hat die vollständige Liste

426* Es ist Ihre [erste Sitzung nach der Installation oder dem Upgrade](/docs/de/env-vars#first-session-after-an-install-or-upgrade) auf eine Version mit `AGENTS.md`-Unterstützung. Claude liest `AGENTS.md` ab Ihrer nächsten Sitzung

427* Sie oder Ihre Organisation haben [`disableAllHooks`](/docs/de/settings-reference#disableallhooks) oder [`allowManagedHooksOnly`](/docs/de/settings-reference#allowmanagedhooksonly) gesetzt, oder Sie haben das integrierte `agents-md`-Plugin in `/plugin` deaktiviert

428 

429Um Claude Ihre `AGENTS.md` in diesen Sitzungen zu geben, [importieren Sie sie aus einer `CLAUDE.md`](#share-one-file-with-other-coding-tools).

430 

431<h3 id="where-agents-md-differs-from-claude-md">

432 Wo sich AGENTS.md von CLAUDE.md unterscheidet

433</h3>

375 434 

376Um eine Regeldatei auszuschließen, die Sie über einen [Symlink](#share-rules-across-projects-with-symlinks) erreichen, ob die Datei oder ihr Verzeichnis der Link ist, schreiben Sie das Muster gegen einen der beiden Pfade: den Pfad der Datei unter `.claude/rules/` oder ihr Link-Ziel. Ein Muster, das einen der beiden Pfade passt, schließt die Datei aus. Vor v2.1.239 schloss nur ein Muster, das das Link-Ziel passte, die Datei aus.435Eine `AGENTS.md`, die Claude durch die Einstellung **Projektanweisungen** liest, unterscheidet sich von einer `CLAUDE.md` an diesen Stellen:

377 436 

378CLAUDE.md-Dateien mit verwalteter Richtlinie können nicht ausgeschlossen werden. Dies stellt sicher, dass organisationsweite Anweisungen unabhängig von individuellen Einstellungen immer gelten.437| | `CLAUDE.md` | `AGENTS.md` gelesen durch die Einstellung |

438| :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

439| `/memory` und die Liste **Speicherdateien** in `/context` | Aufgelistet | Nicht aufgelistet. Um zu bestätigen, dass Claude sie gelesen hat, suchen Sie nach der [`AGENTS.md loaded`-Zeile](#when-claude-code-reads-agents-md) unter dem Standardwert oder fragen Sie Claude, was seine Projektanweisungen sagen |

440| [`InstructionsLoaded`-Hooks](/docs/de/hooks#instructionsloaded) | Werden ausgelöst | Werden nicht ausgelöst. Sie werden wie gewohnt ausgelöst für eine `AGENTS.md`, die eine `CLAUDE.md` importiert oder verlinkt |

441| Verzeichnisse, die Sie mit `--add-dir` hinzufügen, während [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) gesetzt ist | Ihre `CLAUDE.md` lädt | Ihre `AGENTS.md` lädt nicht |

442| Ein `@path`-Import einer Datei außerhalb Ihres Arbeitsverzeichnisses | Claude Code fordert Sie auf, [externe Importe](#import-additional-files) zu genehmigen | Lädt nur, wenn Sie bereits externe Importe für dieses Projekt genehmigt haben, ohne Aufforderung |

443 

444<h3 id="remove-an-earlier-agents-md-workaround">

445 Entfernen Sie einen früheren AGENTS.md-Workaround

446</h3>

447 

448Wenn Sie Claude Code so eingerichtet haben, dass `AGENTS.md` gelesen wird, bevor es dies von selbst tat, hier ist, was Sie mit jedem häufigen Setup tun sollten:

449 

450* **Eine `CLAUDE.md` mit `@AGENTS.md`**: Sie können sie behalten. Das Behalten des Imports führt niemals dazu, dass Claude `AGENTS.md` zweimal liest, unabhängig davon, welchen **Projektanweisungen**-Wert Sie verwenden. Entfernen Sie die `CLAUDE.md`, wenn sie nichts anderes enthält, oder behalten Sie sie, wenn einige Ihrer Sitzungen [`AGENTS.md` nicht direkt laden können](#when-agents-md-support-is-unavailable).

451* **Eine `CLAUDE.md`, die Claude in Worten anweist, `AGENTS.md` zu lesen**: Claude sieht `AGENTS.md` nur, wenn es sich entscheidet, die Datei zu öffnen. Löschen Sie die `CLAUDE.md`, damit Claude `AGENTS.md` direkt liest, oder ersetzen Sie den Satz durch einen `@AGENTS.md`-Import.

452* **Eine `CLAUDE.md`, die mit `AGENTS.md` verlinkt ist**: nichts, oder löschen Sie den Symlink. Auf jeden Fall liest Claude den Inhalt einmal.

453* **Ein `SessionStart`-Hook, der `AGENTS.md` ausgibt**: entfernen Sie ihn. Sobald Claude `AGENTS.md` direkt liest, fügt der Hook eine zweite Kopie zum Kontext hinzu.

454 

455<h3 id="share-one-file-with-other-coding-tools">

456 Teilen Sie eine Datei mit anderen Codierungs-Tools

457</h3>

458 

459Wenn Claude Ihre `AGENTS.md` nicht direkt liest, können Sie sie trotzdem als die eine Datei behalten, die jedes Tool teilt, indem Sie einen `@AGENTS.md`-Import in eine `CLAUDE.md` neben ihr einfügen. Tun Sie dies, wenn Ihr Projekt auch eine `CLAUDE.md` hat, wenn Sie **Projektanweisungen** auf `claude-md` gesetzt haben, oder in Sitzungen, die [`AGENTS.md` nicht laden können](#when-agents-md-support-is-unavailable). Fügen Sie alle Claude-spezifischen Anweisungen unter dem Import hinzu, und Claude liest die importierte Datei zuerst, dann den Rest:

460 

461```markdown CLAUDE.md theme={null}

462@AGENTS.md

463 

464## Claude Code

465 

466Use plan mode for changes under `src/billing/`.

467```

468 

469Wenn Sie keinen Claude-spezifischen Inhalt benötigen, funktioniert auch ein Symlink:

470 

471```bash theme={null}

472ln -s AGENTS.md CLAUDE.md

473```

474 

475Der Befehl gibt bei Erfolg keine Ausgabe aus. Bevor Sie den Symlink dem Import vorziehen, überprüfen Sie diese Einschränkungen:

476 

477* **Bearbeitung**: Claude liest `CLAUDE.md` durch den Link, aber die Edit- und Write-Tools [weigern sich, durch einen Symlink zu schreiben](/docs/de/errors#refusing-after-a-symlink-changed), und die Weigerung weist Claude an, stattdessen das Ziel des Links, `AGENTS.md`, zu bearbeiten

478* **Windows**: Wenn Sie oder jemand, der das Repository klont, unter Windows arbeitet, verwenden Sie stattdessen den `@AGENTS.md`-Import. Das Erstellen eines Symlinks dort erfordert Administratorrechte oder den Entwicklermodus, und Git checkt einen committeten Symlink als Nur-Text-Datei aus, es sei denn, `core.symlinks` ist aktiviert, was diesen Klon mit einer einzeiligen `CLAUDE.md` anstelle Ihrer Anweisungen hinterlässt

479 

480Führen Sie mit beiden Ansätzen `/context` in Ihrer nächsten Sitzung aus und bestätigen Sie, dass `CLAUDE.md` unter **Speicherdateien** angezeigt wird.

481 

482<h3 id="migrate-instructions-from-other-tools">

483 Migrieren Sie Anweisungen von anderen Tools

484</h3>

485 

486Das Ausführen von [`/init`](/docs/de/commands) liest die Anweisungsdateien anderer Tools und integriert die relevanten Teile in die generierte `CLAUDE.md`:

487 

488* Cursor-Regeln in `.cursor/rules/` oder `.cursorrules`

489* Copilot-Regeln in `.github/copilot-instructions.md`

490* Mit `CLAUDE_CODE_NEW_INIT=1` gesetzt: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` oder `.windsurfrules`, und `.clinerules`

491 

492Sie können auch [`/import`](/docs/de/commands) ausführen, um die Konfiguration eines unterstützten Codierungs-Agenten in Claude Code zu bringen, was eine einmalige Kopie von Anweisungsdateien wie `AGENTS.md` an die entsprechende `CLAUDE.md` anhängt und MCP-Server, Befehle, Subagenten und Skills überträgt. Erfordert Claude Code v2.1.213 oder später.

379 493 

380<h2 id="auto-memory">494<h2 id="auto-memory">

381 Auto-Memory495 Auto-Memory


422}536}

423```537```

424 538 

425Der Wert muss ein absoluter Pfad sein oder mit `~/` beginnen. Wenn Sie ihn in der `.claude/settings.json` oder `.claude/settings.local.json` eines Projekts festlegen, berücksichtigt Claude Code ihn unter der gleichen [Workspace-Trust-Regel wie Hooks in Einstellungsdateien](/docs/de/permissions#what-runs-before-you-trust-a-folder).539Der Wert muss ein absoluter Pfad sein oder mit `~/` beginnen.

540 

541Wenn Sie ihn in der `.claude/settings.json` oder `.claude/settings.local.json` eines Projekts festlegen, berücksichtigt Claude Code ihn unter der gleichen [Workspace-Trust-Regel wie Hooks in Einstellungsdateien](/docs/de/permissions#what-runs-before-you-trust-a-folder). Während [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) aktiviert ist, lädt Claude Code kein Auto-Memory aus einem Verzeichnis, das eine [von einem Repository bereitgestellte Einstellungsdatei](/docs/de/permissions#when-your-local-settings-file-needs-trust) auswählt, und speichert keines darin, unabhängig davon, wo sich dieses Verzeichnis befindet.

426 542 

427Das Verzeichnis enthält einen `MEMORY.md`-Index und eine Themadatei pro Memory:543Das Verzeichnis enthält einen `MEMORY.md`-Index und eine Themadatei pro Memory:

428 544 


468 Anzeigen und Bearbeiten mit `/memory`584 Anzeigen und Bearbeiten mit `/memory`

469</h2>585</h2>

470 586 

471Der Befehl `/memory` listet Ihre CLAUDE.md-, CLAUDE.local.md- und andere Speicherdateien an verschiedenen Orten im Benutzer- und Projektbereich auf, einschließlich Benutzer- und Projekt-CLAUDE.md-Einträge für Dateien, die noch nicht existieren. Er ermöglicht es Ihnen auch, Auto-Memory ein- oder auszuschalten, und bietet eine Option zum Öffnen des Auto-Memory-Ordners. Wählen Sie eine beliebige Datei aus, um sie in Ihrem Editor zu öffnen. Wenn Sie eine Datei auswählen, die noch nicht existiert, wird sie zuerst erstellt. Um zu überprüfen, welche Dateien tatsächlich in die aktuelle Sitzung geladen wurden, führen Sie `/context` aus.587Der Befehl `/memory` listet Ihre CLAUDE.md, CLAUDE.local.md und andere Speicherdateien an verschiedenen Orten im Benutzer- und Projektbereich auf, einschließlich Benutzer- und Projekt-CLAUDE.md-Einträge für Dateien, die noch nicht existieren. Er ermöglicht es Ihnen auch, Auto-Memory ein- oder auszuschalten, und bietet eine Option zum Öffnen des Auto-Memory-Ordners. Wählen Sie eine beliebige Datei aus, um sie in Ihrem Editor zu öffnen; wenn Sie eine Datei auswählen, die noch nicht existiert, wird sie zuerst erstellt. Um zu überprüfen, welche `CLAUDE.md`- und Rules-Dateien in die aktuelle Sitzung geladen wurden, führen Sie `/context` aus.

472 588 

473GUI-Editoren wie VS Code öffnen die Datei in einem separaten Fenster, und Sie können die Sitzung weiterhin nutzen, während sie offen ist. Vor v2.1.216 wartete `/memory` darauf, dass Sie die Datei schließen, bevor es antwortete. Terminal-Editoren wie Vim übernehmen das Terminal, bis Sie es beenden.589GUI-Editoren wie VS Code öffnen die Datei in einem separaten Fenster, und Sie können die Sitzung weiterhin nutzen, während sie offen ist. Vor v2.1.216 wartete `/memory` darauf, dass Sie die Datei schließen, bevor es antwortete. Terminal-Editoren wie Vim übernehmen das Terminal, bis Sie es beenden.

474 590 


488 604 

489Zum Debuggen:605Zum Debuggen:

490 606 

491* Führen Sie `/context` aus und überprüfen Sie die Liste unter **Memory-Dateien**, um zu überprüfen, dass Ihre CLAUDE.md- und CLAUDE.local.md-Dateien geladen wurden. Wenn eine Datei dort fehlt, kann Claude sie nicht sehen. Verwenden Sie `/memory`, um die Dateien zu öffnen und zu bearbeiten.607* Führen Sie `/context` aus und überprüfen Sie die Liste unter **Memory-Dateien**, um zu überprüfen, dass Ihre CLAUDE.md- und CLAUDE.local.md-Dateien geladen wurden. Wenn eine `CLAUDE.md`-Datei dort fehlt, kann Claude sie nicht sehen. Eine `AGENTS.md` erscheint dort nur, wenn eine `CLAUDE.md` sie importiert, nicht wenn Claude [sie direkt liest](#where-agents-md-differs-from-claude-md). Verwenden Sie `/memory`, um die Dateien zu öffnen und zu bearbeiten.

492* Überprüfen Sie, dass die relevante CLAUDE.md an einem Ort ist, der für Ihre Sitzung geladen wird (siehe [Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen](#choose-where-to-put-claude-md-files)).608* Überprüfen Sie, dass die relevante CLAUDE.md an einem Ort ist, der für Ihre Sitzung geladen wird (siehe [Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen](#choose-where-to-put-claude-md-files)).

493* Machen Sie Anweisungen spezifischer. „Verwenden Sie 2-Leerzeichen-Einrückung" funktioniert besser als „formatieren Sie Code schön".609* Machen Sie Anweisungen spezifischer. „Verwenden Sie 2-Leerzeichen-Einrückung" funktioniert besser als „formatieren Sie Code schön".

494* Suchen Sie nach widersprüchlichen Anweisungen über CLAUDE.md-Dateien hinweg. Wenn zwei Dateien unterschiedliche Anleitungen für das gleiche Verhalten geben, kann Claude eine willkürlich auswählen.610* Suchen Sie nach widersprüchlichen Anweisungen über CLAUDE.md-Dateien hinweg. Wenn zwei Dateien unterschiedliche Anleitungen für das gleiche Verhalten geben, kann Claude eine willkürlich auswählen.

495 611 

496Wenn die Anweisung etwas ist, das an einem bestimmten Punkt ausgeführt werden muss, z. B. vor jedem Commit oder nach jeder Dateibearbeitung, schreiben Sie sie stattdessen als [Hook](/docs/de/hooks-guide). Hooks werden als Shell-Befehle bei festen Lebenszyklusereignissen ausgeführt und gelten unabhängig davon, was Claude entscheidet zu tun.612Wenn die Anweisung etwas ist, das an einem bestimmten Punkt ausgeführt werden muss, z. B. vor jedem Commit oder nach jeder Dateibearbeitung, schreiben Sie sie stattdessen als [Hook](/docs/de/hooks-guide). Hooks werden als Shell-Befehle bei festen Lebenszyklusereignissen ausgeführt und gelten unabhängig davon, was Claude entscheidet zu tun.

497 613 

498Für Anweisungen, die Sie auf System-Prompt-Ebene haben möchten, verwenden Sie [`--append-system-prompt`](/docs/de/cli-reference#system-prompt-flags). Sie müssen sie bei jeder Invokation übergeben, daher ist es besser für Skripte und Automatisierung als für interaktive Nutzung geeignet. Informationen zum Verhalten beim Fortsetzen einer Konversation finden Sie unter [System-Prompt-Flags in fortgesetzten Konversationen](/docs/de/cli-reference#system-prompt-flags-in-resumed-conversations).614Für Anweisungen, die Sie auf System-Prompt-Ebene haben möchten, verwenden Sie [`--append-system-prompt`](/docs/de/cli-reference#system-prompt-flags). Sie übergeben sie beim Start, daher ist es besser für Skripte und Automatisierung als für interaktive Nutzung geeignet. Informationen zum Verhalten beim Fortsetzen einer Konversation finden Sie unter [System-Prompt-Flags in fortgesetzten Konversationen](/docs/de/cli-reference#system-prompt-flags-in-resumed-conversations).

499 615 

500<Tip>616<Tip>

501 Verwenden Sie den [`InstructionsLoaded`-Hook](/docs/de/hooks#instructionsloaded), um genau zu protokollieren, welche Anweisungsdateien geladen sind, wann sie geladen werden und warum. Dies ist nützlich zum Debuggen von pfadspezifischen Regeln oder Lazy-Loading-Dateien in Unterverzeichnissen.617 Verwenden Sie den [`InstructionsLoaded`-Hook](/docs/de/hooks#instructionsloaded), um genau zu protokollieren, welche `CLAUDE.md`- und Regeldateien geladen sind, wann sie geladen werden und warum. Dies ist nützlich zum Debuggen von pfadspezifischen Regeln oder Lazy-Loading-Dateien in Unterverzeichnissen.

502</Tip>618</Tip>

503 619 

620<h3 id="my-agents-md-isn’t-loading">

621 Meine AGENTS.md wird nicht geladen

622</h3>

623 

624Wenn Ihr Repository eine `AGENTS.md` hat und Claude scheint nicht zu wissen, was sie sagt, ist die übliche Ursache eine `CLAUDE.md` irgendwo auf dem Projektpfad. Standardmäßig liest Claude `AGENTS.md` nur, wenn Sie keine `CLAUDE.md` oder `CLAUDE.local.md` in Ihrem Arbeitsverzeichnis oder darüber haben. Überprüfen Sie diese in dieser Reihenfolge:

625 

6261. Suchen Sie nach einer `CLAUDE.md`, `.claude/CLAUDE.md` oder `CLAUDE.local.md` in Ihrem Arbeitsverzeichnis oder einem Verzeichnis darüber, außer Ihrer `~/.claude/CLAUDE.md`. Wenn Sie eine finden, liest Claude sie statt `AGENTS.md`, es sei denn, Sie setzen **Projektanweisungen** auf `claude-md-and-agents-md`.

6272. Führen Sie `claude --version` aus und bestätigen Sie v2.1.277 oder später.

6283. Überprüfen Sie, ob Ihre Sitzung eine ist, die [kann `AGENTS.md` nicht laden](#when-agents-md-support-is-unavailable), wie eine Sitzung bei einem Drittanbieter oder mit deaktivierter Telemetrie.

6294. Geben Sie `/config` in Ihrer Sitzung ein, um das Einstellungsfenster zu öffnen und bestätigen Sie, dass **Projektanweisungen** nicht auf `claude-md` oder `managed-only` gesetzt ist. Wenn Sie die Einstellung dort überhaupt nicht sehen, ist Ihre Sitzung eine, die [kann `AGENTS.md` nicht laden](#when-agents-md-support-is-unavailable).

630 

631`AGENTS.md` erscheint nicht in `/memory` oder `/context`, wenn Claude sie direkt liest, also überprüfen Sie auf die Zeile `AGENTS.md loaded` oder fragen Sie Claude, was seine Projektanweisungen sagen. Wenn Sie die `CLAUDE.md` behalten möchten, die Sie gefunden haben, oder Ihre Sitzung kann `AGENTS.md` nicht laden, [fügen Sie eine `CLAUDE.md` neben Ihrer `AGENTS.md` hinzu, die sie importiert](#share-one-file-with-other-coding-tools).

632 

504<h3 id="i-don’t-know-what-auto-memory-saved">633<h3 id="i-don’t-know-what-auto-memory-saved">

505 Ich weiß nicht, was Auto-Memory gespeichert hat634 Ich weiß nicht, was Auto-Memory gespeichert hat

506</h3>635</h3>

mobile.md +10 −9

Details

6 6 

7> Starten, überwachen und steuern Sie Claude Code-Aufgaben von Ihrem Telefon aus mit der Claude-App für iOS und Android.7> Starten, überwachen und steuern Sie Claude Code-Aufgaben von Ihrem Telefon aus mit der Claude-App für iOS und Android.

8 8 

9Die Claude-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) ist ein Client für Claude Code-Sitzungen und nicht ein Ort, an dem Code ausgeführt wird. Von Ihrem Telefon aus erreichen Sie [Cloud-Sitzungen](#start-and-monitor-cloud-sessions) in der Cloud, eine Sitzung, die auf Ihrem eigenen Computer über [Remote Control](#continue-a-local-session-with-remote-control) läuft, oder die Desktop-App über [Dispatch](/docs/de/desktop#sessions-from-dispatch).9Die Claude-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) ist ein Client für Claude Code-Sitzungen und nicht ein Ort, an dem Code ausgeführt wird. Von Ihrem Telefon aus erreichen Sie [Cloud-Sitzungen](#start-and-monitor-cloud-sessions) und [Projekte](/docs/de/claude-projects) in der Cloud, eine Sitzung, die auf Ihrem eigenen Computer über [Remote Control](#continue-a-local-session-with-remote-control) läuft, oder die Desktop-App über [Dispatch](/docs/de/desktop#sessions-from-dispatch).

10 10 

11<Note>11<Note>

12 Claude Code hat keine separate Mobile-App: Cloud-Sitzungen und Remote Control befinden sich beide im Tab **Code** in der Claude-App, und Dispatch ist eine Aufgabe, die Sie in der App anschreiben.12 Claude Code hat keine separate Mobile-App: Cloud-Sitzungen und Remote Control befinden sich beide im Tab **Code** in der Claude-App, und Dispatch ist eine Aufgabe, die Sie in der App anschreiben.


21 Installieren Sie die Claude-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) oder [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Auf einem iPad installieren Sie dieselbe iOS-App.21 Installieren Sie die Claude-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) oder [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Auf einem iPad installieren Sie dieselbe iOS-App.

22 22 

23 <Tip>23 <Tip>

24 Führen Sie `/mobile` in einer Claude Code-Sitzung aus, um einen QR-Code zum Herunterladen anzuzeigen, den Sie scannen können. `/ios` und `/android` machen dasselbe.24 Führen Sie `/mobile` in einer Claude Code-Sitzung aus, um einen QR-Code für [claude.ai/mobile](https://claude.ai/mobile) anzuzeigen, der den richtigen App Store für Ihr Telefon öffnet. `/ios` und `/android` machen dasselbe.

25 </Tip>25 </Tip>

26 </Step>26 </Step>

27 27 


38 Von Ihrem Telefon aus arbeiten38 Von Ihrem Telefon aus arbeiten

39</h2>39</h2>

40 40 

41Von der App aus können Sie Cloud-Sitzungen starten, eine Claude Code-Sitzung auf Ihrem Computer steuern oder Dispatch eine Aufgabe anschreiben. Die App ist für alle drei gleich; sie unterscheiden sich darin, wo die Arbeit stattfindet.41Von der App aus können Sie Cloud-Sitzungen starten, ein Projekt öffnen, eine Claude Code-Sitzung auf Ihrem Computer steuern oder Dispatch eine Aufgabe anschreiben. Die App ist für alle gleich; sie unterscheiden sich darin, wo die Arbeit stattfindet.

42 42 

43| Funktion | Womit Sie sich verbinden | Wann zu verwenden |43| Funktion | Womit Sie sich verbinden | Wann zu verwenden |

44| :----------------------------------------------- | :-------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |44| :--------------------------------------------- | :--------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

45| [Claude Code im Web](/docs/de/claude-code-on-the-web) | Eine Cloud-Sitzung auf Cloud-Infrastruktur, standardmäßig von Anthropic verwaltet | Ihr Repository befindet sich auf GitHub und die Aufgabe sollte weiterhin ausgeführt werden, nachdem Sie Ihr Telefon weglegen. Siehe [Web-Schnellstart](/docs/de/web-quickstart), um die Einrichtung durchzuführen. |45| [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) | Eine Sitzung auf Cloud-Infrastruktur, standardmäßig von Anthropic verwaltet | Ihr Repository befindet sich auf GitHub und die Aufgabe sollte weiterhin ausgeführt werden, nachdem Sie Ihr Telefon weglegen. Siehe [Cloud-Schnellstart](/docs/de/web-quickstart), um die Einrichtung durchzuführen. |

46| [Projekte](/docs/de/claude-projects) | Eine Unterhaltung, in der Claude parallele Cloud-Sitzungen als Threads koordiniert | Sie haben einen Strom zusammenhängender Arbeit statt einer einzelnen Aufgabe und möchten sehen, welche Threads beendet wurden oder Sie benötigen. |

46| [Remote Control](/docs/de/remote-control) | Eine Claude Code-Sitzung, die auf Ihrem Computer läuft | Die Arbeit benötigt Ihr lokales Dateisystem, Tools oder MCP-Server. |47| [Remote Control](/docs/de/remote-control) | Eine Claude Code-Sitzung, die auf Ihrem Computer läuft | Die Arbeit benötigt Ihr lokales Dateisystem, Tools oder MCP-Server. |

47| [Dispatch](/docs/de/desktop#sessions-from-dispatch) | Die Desktop-App auf Ihrem Computer | Sie möchten eine Aufgabe anschreiben und Dispatch entscheiden lassen, wie sie ausgeführt wird. Erfordert einen Pro- oder Max-Plan. |48| [Dispatch](/docs/de/desktop#sessions-from-dispatch) | Die Desktop-App auf Ihrem Computer | Sie möchten eine Aufgabe anschreiben und Dispatch entscheiden lassen, wie sie ausgeführt wird. Erfordert einen Pro- oder Max-Plan. |

48 49 

49Wenn Ihr Computer ausgeschaltet ist, verwenden Sie Cloud-Sitzungen, die in der Cloud laufen und mit geschlossenem Laptop weiterlaufen. Remote Control und Dispatch steuern Ihren eigenen Computer, daher muss dieser eingeschaltet bleiben und Claude Code oder die Desktop-App muss laufen. Wenn Ihr Computer während einer Remote Control-Sitzung in den Ruhezustand wechselt, wird Claude Code wiederhergestellt, wenn der Computer wieder online kommt.50Wenn Ihr Computer ausgeschaltet ist, verwenden Sie Cloud-Sitzungen oder ein Projekt, die in der Cloud laufen und mit geschlossenem Laptop weiterlaufen. Remote Control und Dispatch steuern Ihren eigenen Computer, daher muss dieser eingeschaltet bleiben und Claude Code oder die Desktop-App muss laufen. Wenn Ihr Computer während einer Remote Control-Sitzung in den Ruhezustand wechselt, wird Claude Code wiederhergestellt, wenn der Computer wieder online kommt.

50 51 

51Einen umfassenderen Vergleich finden Sie unter [Arbeiten, wenn Sie nicht am Terminal sind](/docs/de/platforms#work-when-you-are-away-from-your-terminal).52Einen umfassenderen Vergleich finden Sie unter [Arbeiten, wenn Sie nicht am Terminal sind](/docs/de/platforms#work-when-you-are-away-from-your-terminal).

52 53 


56 Cloud-Sitzungen starten und überwachen57 Cloud-Sitzungen starten und überwachen

57</h3>58</h3>

58 59 

59Claude Code im Web führt Aufgaben auf Cloud-Infrastruktur aus, standardmäßig von Anthropic verwaltet, daher wird eine Sitzung fortgesetzt, nachdem Sie Ihr Telefon weglegen. Wählen Sie im Code-Tab ein Repository und einen Branch aus, beschreiben Sie die Aufgabe und reichen Sie sie ein. Sitzungen bleiben über Geräte hinweg erhalten: Eine Aufgabe, die Sie auf Ihrem Laptop starten, ist bereit zur Überprüfung von Ihrem Telefon aus, und eine, die Sie von Ihrem Telefon aus starten, wartet, wenn Sie wieder an Ihrem Schreibtisch sind.60Cloud-Sitzungen führen Aufgaben auf Cloud-Infrastruktur aus, standardmäßig von Anthropic verwaltet, daher wird eine Sitzung fortgesetzt, nachdem Sie Ihr Telefon weglegen. Wählen Sie im Code-Tab ein Repository und einen Branch aus, beschreiben Sie die Aufgabe und reichen Sie sie ein. Sitzungen bleiben über Geräte hinweg erhalten: Eine Aufgabe, die Sie auf Ihrem Laptop starten, ist bereit zur Überprüfung von Ihrem Telefon aus, und eine, die Sie von Ihrem Telefon aus starten, wartet, wenn Sie wieder an Ihrem Schreibtisch sind.

60 61 

61Öffnen Sie eine Sitzung in der App, um den Fortschritt zu überprüfen, Fragen von Claude zu beantworten oder sie in eine neue Richtung zu lenken. Sie können Claude auch anweisen, [einen Pull Request zu überwachen](/docs/de/claude-code-on-the-web#auto-fix-pull-requests) und CI-Fehler oder Überprüfungskommentare zu beheben, wenn sie eintreffen. Um GitHub zu verbinden und Ihre Umgebung einzurichten, folgen Sie dem [Web-Schnellstart](/docs/de/web-quickstart), und siehe [Claude Code im Web](/docs/de/claude-code-on-the-web) für alles, was Cloud-Sitzungen tun können.62Öffnen Sie eine Sitzung in der App, um den Fortschritt zu überprüfen, Fragen von Claude zu beantworten oder sie in eine neue Richtung zu lenken. Sie können Claude auch anweisen, [einen Pull Request zu überwachen](/docs/de/claude-code-on-the-web#auto-fix-pull-requests) und CI-Fehler oder Überprüfungskommentare zu beheben, wenn sie eintreffen. Um GitHub zu verbinden und Ihre Umgebung einzurichten, folgen Sie dem [Cloud-Schnellstart](/docs/de/web-quickstart), und siehe [Claude Code im Web](/docs/de/claude-code-on-the-web) für alles, was Cloud-Sitzungen tun können.

62 63 

63<h3 id="continue-a-local-session-with-remote-control">64<h3 id="continue-a-local-session-with-remote-control">

64 Setzen Sie eine lokale Sitzung mit Remote Control fort65 Setzen Sie eine lokale Sitzung mit Remote Control fort

65</h3>66</h3>

66 67 

67Remote Control verbindet die Claude-App mit einer Claude Code-Sitzung auf Ihrem Computer, sodass die Code-Ausführung und der Dateisystemzugriff lokal bleiben, während Sie die Sitzung von Ihrem Telefon aus steuern. Starten Sie die Sitzung auf Ihrem Computer mit `claude remote-control`, oder führen Sie `/remote-control` in einer bereits offenen Sitzung aus. Scannen Sie dann den QR-Code der Sitzung, den das Terminal anzeigen kann, oder öffnen Sie die Claude-App, tippen Sie auf **Code** und wählen Sie die Sitzung aus der Liste aus. Siehe [Von einem anderen Gerät verbinden](/docs/de/remote-control#connect-from-another-device) für jede Option.68Remote Control verbindet die Claude-App mit einer Claude Code-Sitzung auf Ihrem Computer, sodass die Code-Ausführung und der Dateisystemzugriff lokal bleiben, während Sie die Sitzung von Ihrem Telefon aus steuern. Starten Sie die Sitzung auf Ihrem Computer mit `claude remote-control`, oder führen Sie `/remote-control` in einer bereits offenen Sitzung aus. Scannen Sie dann den QR-Code, den das Terminal anzeigen kann, oder öffnen Sie die Claude-App, tippen Sie auf **Code** und wählen Sie die Sitzung aus der Liste aus. Siehe [Von einem anderen Gerät verbinden](/docs/de/remote-control#connect-from-another-device) für jede Option.

68 69 

69Wenn Sie einen Anhang in der Claude-App hinzufügen, erreicht er auch die lokale Sitzung:70Wenn Sie einen Anhang in der Claude-App hinzufügen, erreicht er auch die lokale Sitzung:

70 71 

model-config.md +3 −3

Details

292| [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) aus der Admin-Konsole | Erzwungen | Erzwungen | Erzwungen | Erzwungen | Nicht bereitgestellt |292| [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) aus der Admin-Konsole | Erzwungen | Erzwungen | Erzwungen | Erzwungen | Nicht bereitgestellt |

293| [MDM oder verwaltete Einstellungsdateien](/docs/de/managed-settings#delivery-mechanisms) | Erzwungen | Erzwungen | Nicht bereitgestellt in von Anthropic gehosteten Umgebungen; in [selbst gehosteten Umgebungen](/docs/de/self-hosted-environments) erzwungen aus dem Runner-Image gemäß [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) | Erzwungen | Erzwungen, wo bereitgestellt |293| [MDM oder verwaltete Einstellungsdateien](/docs/de/managed-settings#delivery-mechanisms) | Erzwungen | Erzwungen | Nicht bereitgestellt in von Anthropic gehosteten Umgebungen; in [selbst gehosteten Umgebungen](/docs/de/self-hosted-environments) erzwungen aus dem Runner-Image gemäß [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) | Erzwungen | Erzwungen, wo bereitgestellt |

294 294 

295* Cloud-Sitzungen auf [Claude Code im Web](/docs/de/claude-code-on-the-web) oder in der Desktop-App laufen standardmäßig auf von Anthropic verwalteten VMs: Einstellungen, die auf Ihrem Gerät bereitgestellt werden, erreichen sie nicht, daher stellen Sie die Allowlist über server-verwaltete Einstellungen bereit. Sitzungen, die Ihre Organisation zu einer [selbst gehosteten Umgebung](/docs/de/self-hosted-environments) leitet, laufen auf Ihrem eigenen Compute und lesen auch die verwaltete Einstellungsdatei im Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) gibt an, wann diese Datei gilt. Ein Modellwechsel in der Mitte einer Cloud-Sitzung wird abgelehnt, wenn das angeforderte Modell durch die Allowlist ausgeschlossen ist. Server-seitige Ablehnung bei der Sitzungserstellung gilt für [Organisationsmodellbeschränkungen](#organization-model-restrictions), nicht für den Einstellungsschlüssel `availableModels`.295* Cloud-Sitzungen auf [Claude Code im Web](/docs/de/claude-code-on-the-web), einschließlich derjenigen, die Sie aus der Desktop-App starten, laufen standardmäßig auf von Anthropic verwalteten VMs: Einstellungen, die auf Ihrem Gerät bereitgestellt werden, erreichen sie nicht, daher stellen Sie die Allowlist über server-verwaltete Einstellungen bereit. Sitzungen, die Ihre Organisation zu einer [selbst gehosteten Umgebung](/docs/de/self-hosted-environments) leitet, laufen auf Ihrem eigenen Compute und lesen auch die verwaltete Einstellungsdatei im Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) gibt an, wann diese Datei gilt. Ein Modellwechsel in der Mitte einer Cloud-Sitzung wird abgelehnt, wenn das angeforderte Modell durch die Allowlist ausgeschlossen ist. Wenn die `availableModels`-Liste in Ihren server-verwalteten Einstellungen nicht leer ist, lehnt der Server eine Anfrage des Benutzers ab, eine Cloud-Sitzung auf einem Modell zu starten, das die Liste ausschließt.

296* Cowork, die agentengesteuerte Arbeit-Registerkarte in der Claude Desktop-App, führt ihre Sitzungen auf Claude Code aus, erhält aber absichtlich keine server-verwalteten Einstellungen aus der Admin-Konsole von claude.ai. Eine verwaltete Einstellungsdatei gilt für Cowork-Sitzungen, wenn sie dort vorhanden ist, wo die Sitzung läuft; Remote-Cowork-Sitzungen laufen auf von Anthropic verwalteten VMs, wo eine auf dem Gerät bereitgestellte Datei nicht vorhanden ist.296* Cowork, die agentengesteuerte Arbeit-Registerkarte in der Claude Desktop-App, führt ihre Sitzungen auf Claude Code aus, erhält aber absichtlich keine server-verwalteten Einstellungen aus der Admin-Konsole von claude.ai. Eine verwaltete Einstellungsdatei gilt für Cowork-Sitzungen, wenn sie dort vorhanden ist, wo die Sitzung läuft; Remote-Cowork-Sitzungen laufen auf von Anthropic verwalteten VMs, wo eine auf dem Gerät bereitgestellte Datei nicht vorhanden ist.

297* Sitzungen auf [Drittanbieter-Providern](/docs/de/server-managed-settings#platform-availability) wie Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und [Claude Platform on AWS](/docs/de/claude-platform-on-aws) erhalten keine server-verwalteten Einstellungen, daher stellen Sie die Allowlist dort über MDM oder verwaltete Einstellungsdateien bereit.297* Sitzungen auf [Drittanbieter-Providern](/docs/de/server-managed-settings#platform-availability) wie Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und [Claude Platform on AWS](/docs/de/claude-platform-on-aws) erhalten keine server-verwalteten Einstellungen, daher stellen Sie die Allowlist dort über MDM oder verwaltete Einstellungsdateien bereit.

298* Server-verwaltete Bereitstellung erfordert auch, dass sich die Sitzung mit einem [zulässigen Login oder Schlüssel](/docs/de/server-managed-settings#platform-availability) authentifiziert. Flotten, die Schlüssel nur über ein [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)-Skript generieren, sollten die Allowlist über MDM oder verwaltete Einstellungsdateien bereitstellen.298* Server-verwaltete Bereitstellung erfordert auch, dass sich die Sitzung mit einem [zulässigen Login oder Schlüssel](/docs/de/server-managed-settings#platform-availability) authentifiziert. Flotten, die Schlüssel nur über ein [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)-Skript generieren, sollten die Allowlist über MDM oder verwaltete Einstellungsdateien bereitstellen.


376 376 

377Die Beschränkung gilt, wenn sich ein Mitglied anmeldet oder seinen eigenen API-Schlüssel verwendet. Organisationsbezogene Anmeldedaten, wie Organisationsdienst-Schlüssel, sind nicht an einen Benutzer gebunden, daher gilt die Beschränkung nicht für sie.377Die Beschränkung gilt, wenn sich ein Mitglied anmeldet oder seinen eigenen API-Schlüssel verwendet. Organisationsbezogene Anmeldedaten, wie Organisationsdienst-Schlüssel, sind nicht an einen Benutzer gebunden, daher gilt die Beschränkung nicht für sie.

378 378 

379Die Claude Console hat keine Modellbeschränkungskontrolle. Organisationen ohne Claude Enterprise-Plan, einschließlich derjenigen, deren Mitglieder sich über die Anthropic API authentifizieren, schränken Modelle stattdessen mit [`availableModels`](#restrict-model-selection) in [verwalteten Einstellungen](/docs/de/managed-settings) ein und fügen [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) hinzu, um die Option Standard abzudecken. Diese Einstellungen werden von Claude Code selbst erzwungen, nicht vom Server.379Die Claude Console hat keine Modellbeschränkungskontrolle. Organisationen ohne Claude Enterprise-Plan, einschließlich derjenigen, deren Mitglieder sich über die Anthropic API authentifizieren, schränken Modelle stattdessen mit [`availableModels`](#restrict-model-selection) in [verwalteten Einstellungen](/docs/de/managed-settings) ein und fügen [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) hinzu, um die Option Standard abzudecken. [Oberflächenabdeckung](#surface-coverage) gibt an, wie jede Oberfläche diese Einstellungen empfängt und erzwingt.

380 380 

381Ein eingeschränktes Modell ist in der Auswahl `/model` verborgen. Wenn Sie es mit `--model`, der Umgebungsvariable `ANTHROPIC_MODEL` oder der Einstellung `model` nach Name auswählen, wird die Meldung `Model "<name>" is restricted by your organization's settings. Using <model> instead.` angezeigt und die Sitzung startet auf einem zulässigen Modell. Wenn Sie `/model <name>` für ein eingeschränktes Modell eingeben, wird es mit `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` abgelehnt und die Sitzung behält ihr aktuelles Modell.381Ein eingeschränktes Modell ist in der Auswahl `/model` verborgen. Wenn Sie es mit `--model`, der Umgebungsvariable `ANTHROPIC_MODEL` oder der Einstellung `model` nach Name auswählen, wird die Meldung `Model "<name>" is restricted by your organization's settings. Using <model> instead.` angezeigt und die Sitzung startet auf einem zulässigen Modell. Wenn Sie `/model <name>` für ein eingeschränktes Modell eingeben, wird es mit `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` abgelehnt und die Sitzung behält ihr aktuelles Modell.

382 382 


666* **In `/model`**: verwenden Sie die Pfeiltasten nach links/rechts, um den Anstrengungsschieber anzupassen, wenn Sie ein Modell auswählen666* **In `/model`**: verwenden Sie die Pfeiltasten nach links/rechts, um den Anstrengungsschieber anzupassen, wenn Sie ein Modell auswählen

667* **`--effort` Flag**: übergeben Sie einen Stufennamen, um ihn für eine einzelne Sitzung beim Start von Claude Code zu setzen667* **`--effort` Flag**: übergeben Sie einen Stufennamen, um ihn für eine einzelne Sitzung beim Start von Claude Code zu setzen

668* **Umgebungsvariable**: setzen Sie `CLAUDE_CODE_EFFORT_LEVEL` auf einen Stufennamen oder `auto`668* **Umgebungsvariable**: setzen Sie `CLAUDE_CODE_EFFORT_LEVEL` auf einen Stufennamen oder `auto`

669* **Einstellungen**: setzen Sie eine pro-Modell-Stufe in [`modelSettings`](#setting-your-model) oder setzen Sie [`effortLevel`](/docs/de/settings-reference#effortlevel) auf `low`, `medium`, `high` oder `xhigh` als Standard für Modelle ohne eine. `max` wird in keinem Schlüssel akzeptiert, und `ultracode` hat seinen eigenen [`ultracode`](/docs/de/settings-reference#ultracode) Schlüssel669* **Einstellungen**: setzen Sie eine pro-Modell-Stufe in [`modelSettings`](/docs/de/settings-reference#modelsettings), oder setzen Sie [`effortLevel`](/docs/de/settings-reference#effortlevel) auf `low`, `medium`, `high` oder `xhigh` als Standard für Modelle ohne eine. `max` wird in keinem Schlüssel akzeptiert, und `ultracode` hat seinen eigenen [`ultracode`](/docs/de/settings-reference#ultracode) Schlüssel

670* **Von einem verbundenen Gerät**: in einer [Remote Control](/docs/de/remote-control#what-connected-devices-see) Sitzung wählen Sie eine Stufe aus der Anstrengungskontrolle auf Ihrem Telefon oder in Ihrem Browser. Die Stufe gilt nur für die aktuelle Sitzung, obwohl sie auch den [Halt auf der Standard-Anstrengung des Modells](#adjust-effort-level) beendet. Erfordert Claude Code v2.1.234 oder später670* **Von einem verbundenen Gerät**: in einer [Remote Control](/docs/de/remote-control#what-connected-devices-see) Sitzung wählen Sie eine Stufe aus der Anstrengungskontrolle auf Ihrem Telefon oder in Ihrem Browser. Die Stufe gilt nur für die aktuelle Sitzung, obwohl sie auch den [Halt auf der Standard-Anstrengung des Modells](#adjust-effort-level) beendet. Erfordert Claude Code v2.1.234 oder später

671* **Skill- und Subagenten-Frontmatter**: setzen Sie `effort` in einer [Skill](/docs/de/skills#frontmatter-reference) oder [Subagenten](/docs/de/sub-agents#supported-frontmatter-fields) Markdown-Datei, um die Anstrengungsstufe zu überschreiben, wenn dieser Skill oder Subagent ausgeführt wird671* **Skill- und Subagenten-Frontmatter**: setzen Sie `effort` in einer [Skill](/docs/de/skills#frontmatter-reference) oder [Subagenten](/docs/de/sub-agents#supported-frontmatter-fields) Markdown-Datei, um die Anstrengungsstufe zu überschreiben, wenn dieser Skill oder Subagent ausgeführt wird

672 672 

Details

122| `OTEL_LOG_USER_PROMPTS` | Aktiviert die Protokollierung von Benutzer-Prompt-Inhalten (Standard: deaktiviert) | `1` zum Aktivieren |122| `OTEL_LOG_USER_PROMPTS` | Aktiviert die Protokollierung von Benutzer-Prompt-Inhalten (Standard: deaktiviert) | `1` zum Aktivieren |

123| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktiviert die Protokollierung von Assistent-Antworttext bei `assistant_response`-Ereignissen (Standard: deaktiviert). Wenn nicht gesetzt, wird auf den Wert von `OTEL_LOG_USER_PROMPTS` zurückgegriffen. Erfordert Claude Code v2.1.193 oder später | `1` zum Aktivieren, `0` zum Beibehalten von Redaktionen |123| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktiviert die Protokollierung von Assistent-Antworttext bei `assistant_response`-Ereignissen (Standard: deaktiviert). Wenn nicht gesetzt, wird auf den Wert von `OTEL_LOG_USER_PROMPTS` zurückgegriffen. Erfordert Claude Code v2.1.193 oder später | `1` zum Aktivieren, `0` zum Beibehalten von Redaktionen |

124| `OTEL_LOG_TOOL_DETAILS` | Aktiviert die Protokollierung von Tool-Parametern und Eingabeargumenten in Tool-Ereignissen und Trace-Span-Attributen: Bash-Befehle, MCP-Server- und Tool-Namen, Skill-Namen, benutzerdefinierte Workflow-Namen und Tool-Eingabe. Aktiviert auch benutzerdefinierte, Plugin- und MCP-Befehlsnamen bei `user_prompt`-Ereignissen (Standard: deaktiviert). Für Claude Desktop's integrierte Server, in Sitzungen, die Claude Desktop besitzt, werden `mcp_server_name`/`mcp_tool_name` bei `tool_decision`/`tool_result` auch mit ausgeschaltetem Flag ausgegeben. Die Ausnahme erfordert Claude Code v2.1.214 oder später | `1` zum Aktivieren |124| `OTEL_LOG_TOOL_DETAILS` | Aktiviert die Protokollierung von Tool-Parametern und Eingabeargumenten in Tool-Ereignissen und Trace-Span-Attributen: Bash-Befehle, MCP-Server- und Tool-Namen, Skill-Namen, benutzerdefinierte Workflow-Namen und Tool-Eingabe. Aktiviert auch benutzerdefinierte, Plugin- und MCP-Befehlsnamen bei `user_prompt`-Ereignissen (Standard: deaktiviert). Für Claude Desktop's integrierte Server, in Sitzungen, die Claude Desktop besitzt, werden `mcp_server_name`/`mcp_tool_name` bei `tool_decision`/`tool_result` auch mit ausgeschaltetem Flag ausgegeben. Die Ausnahme erfordert Claude Code v2.1.214 oder später | `1` zum Aktivieren |

125| `OTEL_LOG_TOOL_CONTENT` | Aktiviert die Protokollierung von Tool-Eingabe- und Ausgabeinhalten in Span-Ereignissen (Standard: deaktiviert). Erfordert [Tracing](#traces-beta). Der Inhalt wird bei der Inhaltsbegrenzung gekürzt (Standard: 60 KB) | `1` zum Aktivieren |125| `OTEL_LOG_TOOL_CONTENT` | Aktiviert die Protokollierung von Tool-Inhalten im [`tool.output` Span-Ereignis](#tool-output-span-event) (Standard: deaktiviert). Span-Attribute tragen Tool-Inhalte unter [ihren eigenen Gates](#new-context-gates). Erfordert [Tracing](#traces-beta). Der Inhalt wird bei der Inhaltsbegrenzung gekürzt (Standard: 60 KB) | `1` zum Aktivieren |

126| `OTEL_LOG_RAW_API_BODIES` | Gibt die vollständige Anthropic Messages API-Anfrage und Antwort JSON als `api_request_body` / `api_response_body` Log-Ereignisse aus (Standard: deaktiviert). Texte enthalten die gesamte Konversationshistorie. Das Aktivieren impliziert Zustimmung zu allem, was `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` und `OTEL_LOG_TOOL_CONTENT` offenbaren würden | `1` für Inline-Texte gekürzt bei der Inhaltsbegrenzung (Standard: 60 KB), oder `file:<dir>` für ungekürzte Texte auf der Festplatte mit einem `body_ref`-Zeiger im Ereignis |126| `OTEL_LOG_RAW_API_BODIES` | Gibt die vollständige Anthropic Messages API-Anfrage und Antwort JSON als `api_request_body` / `api_response_body` Log-Ereignisse aus (Standard: deaktiviert). Texte enthalten die gesamte Konversationshistorie. Das Aktivieren impliziert Zustimmung zu allem, was `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` und `OTEL_LOG_TOOL_CONTENT` offenbaren würden | `1` für Inline-Texte gekürzt bei der Inhaltsbegrenzung (Standard: 60 KB), oder `file:<dir>` für ungekürzte Texte auf der Festplatte mit einem `body_ref`-Zeiger im Ereignis |

127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Inhaltsbegrenzung: die maximale Länge von inhaltsführenden Attributen wie Modellreaktionen, Tool-Inhalten, Systemprompts und rohen API-Texten, Kürzungsmarkierung eingeschlossen, in UTF-16-Codeeinheiten (Standard: 61440, d. h. 60 KB). Der Standard ist für Backends ausgelegt, die Attributwerte auf 64 KB begrenzen; erhöhen Sie ihn nur, wenn Ihr Backend größere Werte akzeptiert, oder senken Sie ihn, um das Telemetrie-Volumen zu reduzieren. Wenn ein OpenTelemetry SDK-Attributlimit, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` oder eine seiner Logrecord- und Span-Varianten, auf einen niedrigeren Wert gesetzt ist, kürzt Claude Code bei diesem kleineren Wert, damit die `[TRUNCATED ...]`-Markierung innerhalb des SDK-Limits bleibt. Erfordert Claude Code v2.1.214 oder später | `262144` |127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Inhaltsbegrenzung: die maximale Länge von inhaltsführenden Attributen wie Modellreaktionen, Tool-Inhalten, Systemprompts und rohen API-Texten, Kürzungsmarkierung eingeschlossen, in UTF-16-Codeeinheiten (Standard: 61440, d. h. 60 KB). Der Standard ist für Backends ausgelegt, die Attributwerte auf 64 KB begrenzen; erhöhen Sie ihn nur, wenn Ihr Backend größere Werte akzeptiert, oder senken Sie ihn, um das Telemetrie-Volumen zu reduzieren. Wenn ein OpenTelemetry SDK-Attributlimit, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` oder eine seiner Logrecord- und Span-Varianten, auf einen niedrigeren Wert gesetzt ist, kürzt Claude Code bei diesem kleineren Wert, damit die `[TRUNCATED ...]`-Markierung innerhalb des SDK-Limits bleibt. Erfordert Claude Code v2.1.214 oder später | `262144` |

128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Metriken-Temporalitätspräferenz (Standard: `delta`). Setzen Sie auf `cumulative`, wenn Ihr Backend kumulative Temporalität erwartet | `delta`, `cumulative` |128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Metriken-Temporalitätspräferenz (Standard: `delta`). Setzen Sie auf `cumulative`, wenn Ihr Backend kumulative Temporalität erwartet | `delta`, `cumulative` |


284| `skill_name` | Skill-Name für das Skill-Tool | `OTEL_LOG_TOOL_DETAILS` |284| `skill_name` | Skill-Name für das Skill-Tool | `OTEL_LOG_TOOL_DETAILS` |

285| `subagent_type` | Subagent-Typ für das Agent-Tool oder veraltete Task-Tool | `OTEL_LOG_TOOL_DETAILS` |285| `subagent_type` | Subagent-Typ für das Agent-Tool oder veraltete Task-Tool | `OTEL_LOG_TOOL_DETAILS` |

286 286 

287Wenn `OTEL_LOG_TOOL_CONTENT=1`, zeichnet dieser Span auch ein `tool.output` Span-Ereignis auf, dessen Attribute die Tool-Eingabe- und Ausgabetexte enthalten, gekürzt bei der Inhaltsbegrenzung (Standard: 60 KB) pro Attribut.287<span id="tool-output-span-event" />**`tool.output` Span-Ereignis auf `claude_code.tool`**

288 

289Wenn Sie `OTEL_LOG_TOOL_CONTENT=1` setzen, können Read- und Bash-Aufrufe ein `tool.output` Span-Ereignis auf dem `claude_code.tool` Span aufzeichnen. Edit- und Write-Aufrufe zeichnen eines nur auf, wenn Sie auch `OTEL_LOG_TOOL_DETAILS=1` setzen. Diese Variable ist nicht auf diese beiden Tools beschränkt, daher überprüfen Sie ihre [Zeile in der Konfigurationstabelle](#common-configuration-variables) für die Argumente, die sie an anderer Stelle hinzufügt.

290 

291Claude Code schreibt dieses Ereignis aus einer erfolgreichen Rückgabe eines Tool-Aufrufs, daher zeichnet ein Aufruf, der einen Fehler auslöst, nichts auf, unabhängig vom Tool. Unter den Aufrufen, die zurückgeben, zeichnet es kein `tool.output` Ereignis auf für:

292 

293* Ein Aufruf an ein anderes Tool als Read, Edit, Write und Bash, einschließlich MCP-Tools und WebFetch

294* Ein Read, das etwas anderes als Dateitext zurückgibt, wie ein Bild, ein PDF oder ein erneutes Lesen einer Datei, deren Inhalte sich nicht geändert haben

295* Ein Edit- oder Write-Aufruf, es sei denn, Sie setzen auch `OTEL_LOG_TOOL_DETAILS=1`

296 

297Das Ereignis trägt diese Attribute, jeweils gekürzt bei der Inhaltsbegrenzung (Standard: 60 KB). `Gated durch` nennt die Variable, die ein Attribut zusätzlich zu `OTEL_LOG_TOOL_CONTENT=1` benötigt, und für Edit und Write gated diese Variable das Ereignis selbst statt des Attributs.

298 

299| Attribut | Beschreibung | Gated durch |

300| -------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------ |

301| `content` | Text, den das Read-Tool zurückgegeben hat, oder Text, den ein Write-Aufruf aufgefordert wurde zu schreiben | `OTEL_LOG_TOOL_DETAILS` für das Write-Tool |

302| `output` | Kombinierte Ausgabe eines Bash-Befehls, mit stderr in stdout verschachtelt | |

303| `diff` | Strukturierter Patch, den das Edit-Tool angewendet hat | `OTEL_LOG_TOOL_DETAILS` |

304| `file_path` | Zieldateipfad für die Read-, Edit- und Write-Tools, wiederholend das Span-Attribut desselben Namens | `OTEL_LOG_TOOL_DETAILS` |

305| `bash_command` | Befehlszeichenkette für das Bash-Tool | `OTEL_LOG_TOOL_DETAILS` |

306 

307Das `tool_name` Attribut des übergeordneten Spans sagt Ihnen, von welchem Tool ein Ereignis stammt. Ein Attribut, das bei der Inhaltsbegrenzung gekürzt wird, wird von `<attribute>_truncated` und `<attribute>_original_length` begleitet.

288 308 

289**`claude_code.tool.blocked_on_user`**309**`claude_code.tool.blocked_on_user`**

290 310 


323| `num_non_blocking_error` | Anzahl der Hooks, die ohne Blockierung fehlgeschlagen sind | |343| `num_non_blocking_error` | Anzahl der Hooks, die ohne Blockierung fehlgeschlagen sind | |

324| `num_cancelled` | Anzahl der Hooks, die vor Abschluss abgebrochen wurden | |344| `num_cancelled` | Anzahl der Hooks, die vor Abschluss abgebrochen wurden | |

325 345 

346<span id="new-context-gates" />

347 

326<Note>348<Note>

327 Zusätzliche inhaltshaltige Attribute wie `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` und `response.model_output` werden nur ausgegeben, wenn detailliertes Beta-Tracing aktiv ist. Sie sind nicht Teil des stabilen Span-Schemas.349 Zusätzliche inhaltshaltige Attribute wie `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` und `response.model_output` werden nur ausgegeben, wenn detailliertes Beta-Tracing aktiv ist. Sie sind nicht Teil des stabilen Span-Schemas.

328 350 

351 Das Gate auf `new_context` hängt davon ab, welcher Span es trägt, und jede Kopie wird bei der Inhaltsbegrenzung gekürzt (Standard: 60 KB). Auf dem `claude_code.tool` Span trägt es das Ergebnis dieses Tool-Aufrufs, unabhängig vom Tool, und erfordert `OTEL_LOG_TOOL_CONTENT=1`. Auf dem `claude_code.interaction` Span trägt es den Benutzer-Prompt, und auf dem `claude_code.llm_request` Span die neuen Benutzer-Nachrichten und Tool-Ergebnisse dieser Anfrage. Beide erfordern `OTEL_LOG_USER_PROMPTS=1`.

352 

329 `user_system_prompt` erfordert zusätzlich `OTEL_LOG_USER_PROMPTS=1`. Es trägt nur den System-Prompt-Text, den Sie über die `systemPrompt` SDK-Option oder die Flags `--system-prompt` und `--append-system-prompt` bereitstellen, gekürzt bei der Inhaltsbegrenzung (Standard: 60 KB), und wird einmal pro Sitzung statt pro Anfrage ausgegeben.353 `user_system_prompt` erfordert zusätzlich `OTEL_LOG_USER_PROMPTS=1`. Es trägt nur den System-Prompt-Text, den Sie über die `systemPrompt` SDK-Option oder die Flags `--system-prompt` und `--append-system-prompt` bereitstellen, gekürzt bei der Inhaltsbegrenzung (Standard: 60 KB), und wird einmal pro Sitzung statt pro Anfrage ausgegeben.

330</Note>354</Note>

331 355 


877* `body_truncated`: `"true"`, wenn Inline-Kürzung aufgetreten ist. Nicht vorhanden im Datei-Modus und wenn keine Kürzung aufgetreten ist.901* `body_truncated`: `"true"`, wenn Inline-Kürzung aufgetreten ist. Nicht vorhanden im Datei-Modus und wenn keine Kürzung aufgetreten ist.

878* `model`: Modellkennung aus den Anfrageparametern902* `model`: Modellkennung aus den Anfrageparametern

879* `query_source`: Subsystem, das die Anfrage gestellt hat (z. B. `"compact"`)903* `query_source`: Subsystem, das die Anfrage gestellt hat (z. B. `"compact"`)

904* `request_body_id`: UUID, die diese Anfrage-Versuch identifiziert. Das [`api_response_body` Ereignis](#api-response-body-event) für den Versuch, der erfolgreich ist, trägt den gleichen Wert, daher können Sie eine Antwort mit der genauen Anfrage, die sie erzeugt hat, paaren. Erfordert Claude Code v2.1.274 oder später

880 905 

881<h4 id="api-response-body-event">906<h4 id="api-response-body-event">

882 API-Antwort-Text-Ereignis907 API-Antwort-Text-Ereignis


884 909 

885Protokolliert für jede erfolgreiche API-Antwort, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist.910Protokolliert für jede erfolgreiche API-Antwort, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist.

886 911 

912Im Datei-Modus (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), hängt Claude Code auch eine JSON-Zeile an `<dir>/index.jsonl` für jede erfolgreiche Antwort an, mit den Feldern `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` und `response_file`. Lesen Sie es, um die Anfrage- und Antwortdateien hinter einer bestimmten Transkript-Nachricht zu finden, ohne Ihren Telemetrie-Backend abzufragen. Die Index-Datei erfordert Claude Code v2.1.274 oder später.

913 

887**Ereignisname**: `claude_code.api_response_body`914**Ereignisname**: `claude_code.api_response_body`

888 915 

889**Attribute**:916**Attribute**:


899* `model`: Modellkennung926* `model`: Modellkennung

900* `query_source`: Subsystem, das die Anfrage gestellt hat927* `query_source`: Subsystem, das die Anfrage gestellt hat

901* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.928* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.

929* `request_body_id`: Die `request_body_id` des [`api_request_body` Ereignisses](#api-request-body-event), das diese Antwort beantwortet. Erfordert Claude Code v2.1.274 oder später

930* `message.id`: Nachrichten-ID, die die API der Antwort zugewiesen hat, das `id` Feld des Antworttextes. Erfordert Claude Code v2.1.274 oder später

931* `message.uuid`: UUID des endgültigen Transkriptionseintrags der Antwort. Zusammen mit `request_body_id` verknüpft es eine Transkript-Nachricht mit den Anfrage- und Antworttexten dahinter. Erfordert Claude Code v2.1.274 oder später

902 932 

903<h4 id="tool-decision-event">933<h4 id="tool-decision-event">

904 Tool-Entscheidungs-Ereignis934 Tool-Entscheidungs-Ereignis


1525* OpenTelemetry-Export zu Ihrem Backend ist opt-in und erfordert explizite Konfiguration. Informationen zu Anthropics separater operativer Telemetrie und wie Sie diese deaktivieren, finden Sie unter [Datennutzung](/docs/de/data-usage#telemetry-services)1555* OpenTelemetry-Export zu Ihrem Backend ist opt-in und erfordert explizite Konfiguration. Informationen zu Anthropics separater operativer Telemetrie und wie Sie diese deaktivieren, finden Sie unter [Datennutzung](/docs/de/data-usage#telemetry-services)

1526* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten1556* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten

1527* Wenn über OAuth authentifiziert, ist `user.email` in Telemetrie-Attributen enthalten und wird nur an den OTel-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Wenn dies ein Problem für Ihre Organisation darstellt, arbeiten Sie mit Ihrem Telemetrie-Backend zusammen, um dieses Feld zu filtern oder zu schwärzen1557* Wenn über OAuth authentifiziert, ist `user.email` in Telemetrie-Attributen enthalten und wird nur an den OTel-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Wenn dies ein Problem für Ihre Organisation darstellt, arbeiten Sie mit Ihrem Telemetrie-Backend zusammen, um dieses Feld zu filtern oder zu schwärzen

1528* Benutzer-Prompt-Inhalte werden standardmäßig nicht erfasst. Nur die Prompt-Länge wird aufgezeichnet. Um Benutzer-Prompt-Inhalte einzubeziehen, setzen Sie `OTEL_LOG_USER_PROMPTS=1`1558* Benutzer-Prompt-Inhalte werden standardmäßig nicht erfasst. Nur die Prompt-Länge wird aufgezeichnet. Um Benutzer-Prompt-Inhalte einzubeziehen, setzen Sie `OTEL_LOG_USER_PROMPTS=1`. Unter detailliertem Beta-Tracing reicht diese Variable weiter als nur Prompt-Text: Sie steuert auch das [`new_context`-Span-Attribut](#new-context-gates), das Tool-Ergebnisse auf dem `claude_code.llm_request`-Span trägt

1529* Assistent-Antworttext wird standardmäßig nicht erfasst. Nur die Antwortlänge wird aufgezeichnet. Um Antworttext einzubeziehen, setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=1`. Wie alle OpenTelemetry-Daten von Claude Code wird der Antworttext nur an den OTel-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Wenn diese Variable nicht gesetzt ist, wird `OTEL_LOG_USER_PROMPTS` als Fallback verwendet, daher setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=0`, wenn Sie Prompt-Inhalte ohne Antwortinhalte möchten1559* Assistent-Antworttext wird standardmäßig nicht erfasst. Nur die Antwortlänge wird aufgezeichnet. Um Antworttext einzubeziehen, setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=1`. Wie alle OpenTelemetry-Daten von Claude Code wird der Antworttext nur an den OTel-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Wenn diese Variable nicht gesetzt ist, wird `OTEL_LOG_USER_PROMPTS` als Fallback verwendet, daher setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=0`, wenn Sie Prompt-Inhalte ohne Antwortinhalte möchten

1530* Tool-Eingabeargumente und Parameter werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Für die integrierten Server von Claude Desktop werden in Sitzungen, die Claude Desktop besitzt, `tool_decision` und `tool_result` mit dem Paar `mcp_server_name`/`mcp_tool_name` übertragen, von Hosts erstellte Namen statt Argumentinhalte, auch wenn das Flag aus ist. Die Ausnahme erfordert Claude Code v2.1.214 oder später. Diese Daten werden nur an den OTEL-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Argumente können immer noch vertrauliche Werte enthalten, daher konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen. Wenn aktiviert:1560* Tool-Eingabeargumente und Parameter werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Für die integrierten Server von Claude Desktop werden in Sitzungen, die Claude Desktop besitzt, `tool_decision` und `tool_result` mit dem Paar `mcp_server_name`/`mcp_tool_name` übertragen, von Hosts erstellte Namen statt Argumentinhalte, auch wenn das Flag aus ist. Die Ausnahme erfordert Claude Code v2.1.214 oder später. Diese Daten werden nur an den OTEL-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Argumente können immer noch vertrauliche Werte enthalten, daher konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen. Wenn aktiviert:

1531 * `tool_result`- und `tool_decision`-Ereignisse enthalten ein `tool_parameters`-Attribut mit Bash-Befehlen, MCP-Server- und Tool-Namen sowie Skill-Namen. Felder wie `full_command` werden ungekürzt ausgegeben1561 * `tool_result`- und `tool_decision`-Ereignisse enthalten ein `tool_parameters`-Attribut mit Bash-Befehlen, MCP-Server- und Tool-Namen sowie Skill-Namen. Felder wie `full_command` werden ungekürzt ausgegeben

1532 * `tool_result`-Ereignisse enthalten zusätzlich ein `tool_input`-Attribut mit Dateipfaden, URLs, Suchmustern und anderen Argumenten. Einzelne Werte über 512 Zeichen werden gekürzt und die Gesamtmenge ist auf etwa 4 K Zeichen begrenzt1562 * `tool_result`-Ereignisse enthalten zusätzlich ein `tool_input`-Attribut mit Dateipfaden, URLs, Suchmustern und anderen Argumenten. Einzelne Werte über 512 Zeichen werden gekürzt und die Gesamtmenge ist auf etwa 4 K Zeichen begrenzt

1533 * `user_prompt`-Ereignisse enthalten den wörtlichen `command_name` für benutzerdefinierte, Plugin- und MCP-Befehle1563 * `user_prompt`-Ereignisse enthalten den wörtlichen `command_name` für benutzerdefinierte, Plugin- und MCP-Befehle

1534 * Trace-Spans enthalten das gleiche `tool_input`-Attribut und eingabebezogene Attribute wie `file_path`, mit der gleichen Kürzung wie `tool_input`1564 * Trace-Spans enthalten das gleiche `tool_input`-Attribut und eingabebezogene Attribute wie `file_path`, mit der gleichen Kürzung wie `tool_input`

1535* Tool-Eingabe- und Ausgabeinhalte werden in Trace-Spans standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_CONTENT=1`. Wenn aktiviert, enthalten Span-Ereignisse vollständige Tool-Eingabe- und Ausgabeinhalte, gekürzt bei der Inhaltsbegrenzung (standardmäßig 60 KB) pro Attribut. Dies kann rohe Dateiinhalte aus Read-Tool-Ergebnissen und Bash-Befehlsausgabe enthalten. Konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen1565* Tool-Inhalte werden in Trace-Spans standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_CONTENT=1`. Der `claude_code.tool`-Span trägt dann ein [`tool.output`-Span-Ereignis](#tool-output-span-event) mit rohen Dateiinhalten und Bash-Befehlsausgabe, gekürzt bei der Inhaltsbegrenzung (standardmäßig 60 KB) pro Attribut. Tool-Inhalte erreichen Spans auch durch [`new_context`, dessen Gate je nach Span unterschiedlich ist](#new-context-gates). Konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen

1536* Rohe Anthropic Messages API-Anfrage- und Antwort-Texte werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_RAW_API_BODIES` in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Es wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Die Texte enthalten die gesamte Konversationshistorie, einschließlich des Systemprompts, jedes vorherigen Benutzer- und Assistent-Durchgangs und Tool-Ergebnisse, daher impliziert das Aktivieren dies Zustimmung zu allem, was die anderen `OTEL_LOG_*`-Content-Flags offenbaren würden. Claude Code schwärzt immer Claudes Extended-Thinking-Inhalte aus diesen Texten, unabhängig von anderen Einstellungen. Der Wert, den Sie setzen, bestimmt, wie Claude Code die Texte bereitstellt:1566* Rohe Anthropic Messages API-Anfrage- und Antwort-Texte werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_RAW_API_BODIES` in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Es wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Die Texte enthalten die gesamte Konversationshistorie, einschließlich des Systemprompts, jedes vorherigen Benutzer- und Assistent-Durchgangs und Tool-Ergebnisse, daher impliziert das Aktivieren dies Zustimmung zu allem, was die anderen `OTEL_LOG_*`-Content-Flags offenbaren würden. Claude Code schwärzt immer Claudes Extended-Thinking-Inhalte aus diesen Texten, unabhängig von anderen Einstellungen. Der Wert, den Sie setzen, bestimmt, wie Claude Code die Texte bereitstellt:

1537 * Mit `=1` gibt Claude Code `api_request_body`- und `api_response_body`-Log-Ereignisse für jeden API-Aufruf aus. Das `body`-Attribut der Ereignisse trägt die JSON-serialisierte Nutzlast, gekürzt bei der Inhaltsbegrenzung (standardmäßig 60 KB)1567 * Mit `=1` gibt Claude Code `api_request_body`- und `api_response_body`-Log-Ereignisse für jeden API-Aufruf aus. Das `body`-Attribut der Ereignisse trägt die JSON-serialisierte Nutzlast, gekürzt bei der Inhaltsbegrenzung (standardmäßig 60 KB)

1538 * Mit `=file:<dir>` schreibt Claude Code ungekürzte Texte unter diesem Verzeichnis in `.request.json`- und `.response.json`-Dateien, und die Ereignisse tragen einen `body_ref`-Pfad statt des Inline-Textes. Versenden Sie das Verzeichnis mit einem Log-Collector oder Sidecar statt über den Telemetrie-Stream1568 * Mit `=file:<dir>` schreibt Claude Code ungekürzte Texte unter diesem Verzeichnis in `.request.json`- und `.response.json`-Dateien, und die Ereignisse tragen einen `body_ref`-Pfad statt des Inline-Textes. Versenden Sie das Verzeichnis mit einem Log-Collector oder Sidecar statt über den Telemetrie-Stream.

1569 

1570 Für jede erfolgreiche Antwort hängt Claude Code auch eine Zeile an `index.jsonl` in diesem Verzeichnis an, die die Antwortdatei mit der Anfragedatei verknüpft, die sie erzeugt hat, und mit der Transkriptnachricht, zu der sie wurde. Jede Zeile enthält keinen Nachrichteninhalt, und der Abschnitt [API-Antwort-Body-Ereignis](#api-response-body-event) listet seine Felder auf. Die Index-Datei erfordert Claude Code v2.1.274 oder später

1539 1571 

1540<h2 id="monitor-claude-code-on-amazon-bedrock">1572<h2 id="monitor-claude-code-on-amazon-bedrock">

1541 Überwachung von Claude Code auf Amazon Bedrock1573 Überwachung von Claude Code auf Amazon Bedrock

Details

272 GitHub-Allowlists und Firewalls272 GitHub-Allowlists und Firewalls

273</h3>273</h3>

274 274 

275[Claude Code im Web](/docs/de/claude-code-on-the-web) in von Anthropic gehosteten Umgebungen und [Code Review](/docs/de/code-review) verbinden sich mit Ihren Repositories von verwalteter Anthropic-Infrastruktur aus; Sitzungen in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) verbinden sich von innerhalb Ihres Netzwerks, es sei denn, der Runner entscheidet sich für den [Anthropic git proxy](/docs/de/self-hosted-environments-deploy#use-the-anthropic-git-proxy), der von Anthropics Seite abruft.275[Cloud sessions](/docs/de/claude-code-on-the-web) in von Anthropic gehosteten Umgebungen und [Code Review](/docs/de/code-review) verbinden sich mit Ihren Repositories von verwalteter Anthropic-Infrastruktur aus; Sitzungen in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) verbinden sich von innerhalb Ihres Netzwerks, es sei denn, der Runner entscheidet sich für den [Anthropic git proxy](/docs/de/self-hosted-environments-deploy#use-the-anthropic-git-proxy), der von Anthropics Seite abruft.

276 276 

277Wenn Ihre GitHub Enterprise Cloud-Organisation den Zugriff nach IP-Adresse einschränkt, aktivieren Sie [IP allow list inheritance for installed GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) und [add an allow list entry](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) für Anthropics [outbound IP addresses](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses). Die Vererbung deckt nur die Anfragen ab, die die Claude GitHub App als Installation macht, nicht die Anfragen, die sie im Namen Ihrer Benutzer macht. Für andere Firewalls siehe die [Anthropic API IP addresses](https://platform.claude.com/docs/en/api/ip-addresses).277Wenn Ihre GitHub Enterprise Cloud-Organisation den Zugriff nach IP-Adresse einschränkt, aktivieren Sie [IP allow list inheritance for installed GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) und [add an allow list entry](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) für Anthropics [outbound IP addresses](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses). Die Vererbung deckt nur die Anfragen ab, die die Claude GitHub App als Installation macht, nicht die Anfragen, die sie im Namen Ihrer Benutzer macht. Für andere Firewalls siehe die [Anthropic API IP addresses](https://platform.claude.com/docs/en/api/ip-addresses).

278 278 

Details

34 34 

35Wählen Sie einen Stil auf eine dieser Arten:35Wählen Sie einen Stil auf eine dieser Arten:

36 36 

37* **`/output-style` Befehl**: Führen Sie `/output-style <style>` aus, um zu wechseln, zum Beispiel `/output-style concise`. Ohne Argument listet der Befehl die Stile auf, die Sie auswählen können, und markiert den aktuellen. Claude Code speichert Ihre Auswahl in `.claude/settings.local.json` auf der [lokalen Projektebene](/docs/de/settings).

38 

39 Der Befehl funktioniert auch im [nicht-interaktiven Modus](/docs/de/headless) und Agent SDK-Sitzungen sowie über die mobile App oder das Web über [Remote Control](/docs/de/remote-control#limitations), wo Sie nur [integrierte Stile](#built-in-output-styles) auflisten und auswählen können. Erfordert Claude Code v2.1.269 oder später.

37* **Terminal**: Führen Sie `/config` aus und wählen Sie **Output style**, um einen Stil aus einem Menü auszuwählen. Claude Code speichert Ihre Auswahl in `.claude/settings.local.json` auf der [lokalen Projektebene](/docs/de/settings).40* **Terminal**: Führen Sie `/config` aus und wählen Sie **Output style**, um einen Stil aus einem Menü auszuwählen. Claude Code speichert Ihre Auswahl in `.claude/settings.local.json` auf der [lokalen Projektebene](/docs/de/settings).

38* **VS Code-Erweiterung**: Öffnen Sie das [Befehlsmenü](/docs/de/vs-code#use-the-prompt-box) mit `/` und wählen Sie **Output styles**, um einen Stil auszuwählen, einschließlich Ihrer benutzerdefinierten Stile. Claude Code speichert Ihre Auswahl in `.claude/settings.local.json`, derselben Datei, in die das Terminal-Menü schreibt. Erfordert Claude Code v2.1.257 oder später.41* **VS Code-Erweiterung**: Öffnen Sie das [Befehlsmenü](/docs/de/vs-code#use-the-prompt-box) mit `/` und wählen Sie **Output styles**, um einen Stil auszuwählen, einschließlich Ihrer benutzerdefinierten Stile. Claude Code speichert Ihre Auswahl in `.claude/settings.local.json`, derselben Datei, in die das Terminal-Menü schreibt. Erfordert Claude Code v2.1.257 oder später.

39* **Desktop-App**: Legen Sie das Feld `outputStyle` in einer Einstellungsdatei fest, beispielsweise `.claude/settings.local.json`, die Datei, in die das Terminal-Menü schreibt. Wenn Sie dort `/config` ausführen, öffnet Claude Code [**Einstellungen > Claude Code**](/docs/de/desktop#what%E2%80%99s-not-available-in-desktop) statt eines Menüs.42* **Desktop-App**: Legen Sie das Feld `outputStyle` in einer Einstellungsdatei fest, beispielsweise `.claude/settings.local.json`, die Datei, in die das Terminal-Menü schreibt. Wenn Sie dort `/config` ausführen, öffnet Claude Code [**Einstellungen > Claude Code**](/docs/de/desktop#what%E2%80%99s-not-available-in-desktop) statt eines Menüs.

40 43 

41<Note>Der eigenständige Befehl `/output-style` wurde in v2.1.73 veraltet und in v2.1.91 entfernt. Verwenden Sie `/config` oder bearbeiten Sie die Einstellung `outputStyle` direkt.</Note>

42 

43Um einen Stil ohne Menü festzulegen, bearbeiten Sie das Feld `outputStyle` direkt in einer Einstellungsdatei:44Um einen Stil ohne Menü festzulegen, bearbeiten Sie das Feld `outputStyle` direkt in einer Einstellungsdatei:

44 45 

45```json theme={null}46```json theme={null}


90 </Step>91 </Step>

91 92 

92 <Step title="Wechseln Sie zu Ihrem Stil">93 <Step title="Wechseln Sie zu Ihrem Stil">

93 Führen Sie `/config` im Terminal aus und wählen Sie Ihren Stil unter **Output style**. Claude verwendet den neuen Stil ab Ihrer nächsten Nachricht. Im Terminal liest Claude Code Stildateien beim Start, daher müssen Sie Claude Code neu starten, wenn Sie eine Datei während einer laufenden Sitzung erstellen oder bearbeiten, um die Änderung zu übernehmen.94 Führen Sie `/output-style <style>` im Terminal aus, oder führen Sie `/config` aus und wählen Sie Ihren Stil unter **Output style**. Claude verwendet den neuen Stil ab Ihrer nächsten Nachricht. Im Terminal liest Claude Code Stildateien beim Start, daher müssen Sie Claude Code neu starten, wenn Sie eine Datei während einer laufenden Sitzung erstellen oder bearbeiten, um die Änderung zu übernehmen.

94 </Step>95 </Step>

95</Steps>96</Steps>

96 97 

overview.md +5 −5

Details

117 </Tab>117 </Tab>

118 118 

119 <Tab title="Web">119 <Tab title="Web">

120 Führen Sie Claude Code in Ihrem Browser ohne lokale Einrichtung aus. Starten Sie lang laufende Aufgaben und überprüfen Sie sie später, arbeiten Sie an Repositories, die Sie nicht lokal haben, oder führen Sie mehrere Aufgaben parallel aus. Verfügbar auf Desktop-Browsern und [der Claude-App für iOS und Android](/docs/de/mobile).120 Führen Sie Claude Code in Ihrem Browser ohne lokale Einrichtung aus. Starten Sie lang laufende Aufgaben und überprüfen Sie sie später, arbeiten Sie an Repositories, die Sie nicht lokal haben, oder führen Sie mehrere Aufgaben parallel aus. Für einen längeren Arbeitskörper erstellen Sie ein [Projekt](/docs/de/claude-projects) und lassen Sie Claude die parallelen Sitzungen für Sie koordinieren. Verfügbar auf Desktop-Browsern und [der Claude-App für iOS und Android](/docs/de/mobile).

121 121 

122 Beginnen Sie mit dem Codieren unter [claude.ai/code](https://claude.ai/code).122 Beginnen Sie mit dem Codieren unter [claude.ai/code](https://claude.ai/code).

123 123 

124 [Erste Schritte im Web →](/docs/de/web-quickstart)124 [Erste Schritte →](/docs/de/web-quickstart)

125 </Tab>125 </Tab>

126 126 

127 <Tab title="JetBrains">127 <Tab title="JetBrains">


169 </Accordion>169 </Accordion>

170 170 

171 <Accordion title="Passen Sie mit Anweisungen, Skills und Hooks an" icon="sliders">171 <Accordion title="Passen Sie mit Anweisungen, Skills und Hooks an" icon="sliders">

172 [`CLAUDE.md`](/docs/de/memory) ist eine Markdown-Datei, die Sie im Stammverzeichnis Ihres Projekts hinzufügen und die Claude Code zu Beginn jeder Sitzung liest. Verwenden Sie sie, um Codierungsstandards, Architekturentscheidungen, bevorzugte Bibliotheken und Überprüfungschecklisten festzulegen. Claude erstellt auch [automatisches Gedächtnis](/docs/de/memory#auto-memory), während es arbeitet, und speichert Erkenntnisse über Sitzungen hinweg, ohne dass Sie etwas schreiben müssen.172 [`CLAUDE.md`](/docs/de/memory) ist eine Markdown-Datei, die Sie im Stammverzeichnis Ihres Projekts hinzufügen und die Claude Code zu Beginn jeder Sitzung liest. Verwenden Sie sie, um Codierungsstandards, Architekturentscheidungen, bevorzugte Bibliotheken und Überprüfungschecklisten festzulegen. Wenn Ihr Repository bereits eine `AGENTS.md` für andere Coding-Agents hat, kann Claude Code [diese lesen](/docs/de/memory#agents-md) eigenständig oder zusammen mit `CLAUDE.md`. Claude erstellt auch [automatisches Gedächtnis](/docs/de/memory#auto-memory), während es arbeitet, und speichert Erkenntnisse über Sitzungen hinweg, ohne dass Sie etwas schreiben müssen.

173 173 

174 Erstellen Sie [Skills](/docs/de/skills), um wiederholbare Workflows zu verpacken, die Ihr Team teilen kann, wie `/review-pr` oder `/deploy-staging`.174 Erstellen Sie [Skills](/docs/de/skills), um wiederholbare Workflows zu verpacken, die Ihr Team teilen kann, wie `/review-pr` oder `/deploy-staging`.

175 175 


227Über die [Terminal](/docs/de/quickstart), [VS Code](/docs/de/vs-code), [JetBrains](/docs/de/jetbrains), [Desktop](/docs/de/desktop) und [Web](/docs/de/claude-code-on-the-web) Oberflächen hinaus integriert sich Claude Code mit CI/CD-, Chat- und Browser-Workflows:227Über die [Terminal](/docs/de/quickstart), [VS Code](/docs/de/vs-code), [JetBrains](/docs/de/jetbrains), [Desktop](/docs/de/desktop) und [Web](/docs/de/claude-code-on-the-web) Oberflächen hinaus integriert sich Claude Code mit CI/CD-, Chat- und Browser-Workflows:

228 228 

229| Ich möchte... | Beste Option |229| Ich möchte... | Beste Option |

230| ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |230| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |

231| Eine lokale Sitzung von meinem Telefon oder einem anderen Gerät fortsetzen | [Remote Control](/docs/de/remote-control) |231| Eine lokale Sitzung von meinem Telefon oder einem anderen Gerät fortsetzen | [Remote Control](/docs/de/remote-control) |

232| Ereignisse von Telegram, Discord, iMessage oder meinen eigenen Webhooks in eine Sitzung pushen | [Channels](/docs/de/channels) |232| Ereignisse von Telegram, Discord, iMessage oder meinen eigenen Webhooks in eine Sitzung pushen | [Channels](/docs/de/channels) |

233| Eine Aufgabe lokal starten, auf dem Mobilgerät fortsetzen | [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-web), dann die [Claude Mobile App](/docs/de/mobile) |233| Eine Aufgabe lokal starten, auf dem Mobilgerät fortsetzen | [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-cloud), dann die [Claude Mobile App](/docs/de/mobile) |

234| Claude nach einem Zeitplan ausführen | [Routinen](/docs/de/routines) oder [Desktop-geplante Aufgaben](/docs/de/desktop-scheduled-tasks) |234| Claude nach einem Zeitplan ausführen | [Routinen](/docs/de/routines) oder [Desktop-geplante Aufgaben](/docs/de/desktop-scheduled-tasks) |

235| PR-Reviews und Issue-Triage automatisieren | [GitHub Actions](/docs/de/github-actions) oder [GitLab CI/CD](/docs/de/gitlab-ci-cd) |235| PR-Reviews und Issue-Triage automatisieren | [GitHub Actions](/docs/de/github-actions) oder [GitLab CI/CD](/docs/de/gitlab-ci-cd) |

236| Automatische Code-Überprüfung bei jedem PR erhalten | [GitHub Code Review](/docs/de/code-review) |236| Automatische Code-Überprüfung bei jedem PR erhalten | [GitHub Code Review](/docs/de/code-review) |

Details

42* Tools, die Benutzerinteraktion erfordern: das integrierte `AskUserQuestion`-Tool und MCP-Tools, die mit [`requiresUserInteraction`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind42* Tools, die Benutzerinteraktion erfordern: das integrierte `AskUserQuestion`-Tool und MCP-Tools, die mit [`requiresUserInteraction`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind

43* `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](#critical-paths) abzielen, den keine Allow-Regel oder `PreToolUse` Hook `"allow"` genehmigt43* `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](#critical-paths) abzielen, den keine Allow-Regel oder `PreToolUse` Hook `"allow"` genehmigt

44* Die [Cross-Session-Messaging-Schutzmaßnahmen](#skip-all-checks-with-bypasspermissions-mode)44* Die [Cross-Session-Messaging-Schutzmaßnahmen](#skip-all-checks-with-bypasspermissions-mode)

45* Lesevorgänge außerhalb der Arbeitsverzeichnisse, während [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) aktiviert ist: erkannte Datei-lesende Bash-Befehle und jeder [unsandboxed Retry](/docs/de/sandboxing#the-unsandboxed-retry-escape-hatch), der Genehmigung benötigt, um außerhalb der Sandbox-Aufforderung auch im Auto-Modus und `bypassPermissions`-Modus zu laufen. Erfordert Claude Code v2.1.257 oder später45* Lesevorgänge außerhalb der Arbeitsverzeichnisse, während [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) aktiviert ist: erkannte Datei-lesende Bash-Befehle und jeder [unsandboxed Retry](/docs/de/sandboxing#the-unsandboxed-retry-escape-hatch), der Genehmigung benötigt, um außerhalb der Sandbox zu laufen, fordern auch im Auto-Modus und `bypassPermissions`-Modus auf. Erfordert Claude Code v2.1.257 oder später.

46 

47 Ein Befehl, den der Shell-Parser nicht verfolgen kann, wie einer, der das Verzeichnis mehr als einmal wechselt oder eine Subshell ausführt, fordert auf die gleiche Weise auf, auch wenn er keinen außerhalb liegenden Pfad benennt. Diese Aufforderung gilt nicht, wenn der Befehl in der [Sandbox](/docs/de/sandboxing) ausgeführt wird und die Sandbox die Blockierung erzwingt.

46 48 

47<h2 id="common-setups">49<h2 id="common-setups">

48 Häufige Setups50 Häufige Setups


56| Lokal mit weniger Aufforderungen iterieren, ohne einen Klassifizierer | Manual-Modus plus die Bash-Sandbox im [Auto-Allow-Modus](/docs/de/sandboxing#sandbox-modes): `claude --permission-mode default`, dann `/sandbox` ausführen und Auto-Allow auswählen | Die integrierte Bash-Sandbox, auf macOS, Linux und WSL2 | Deny-Regeln gelten weiterhin, und Ask-Regeln, die einen Befehl benennen, wie `Bash(git push *)`, fordern weiterhin auf. Um die Sandbox stattdessen aus einer Einstellungsdatei zu aktivieren, setzen Sie [`sandbox.enabled`](/docs/de/settings-reference#sandbox-enabled) auf `true` |58| Lokal mit weniger Aufforderungen iterieren, ohne einen Klassifizierer | Manual-Modus plus die Bash-Sandbox im [Auto-Allow-Modus](/docs/de/sandboxing#sandbox-modes): `claude --permission-mode default`, dann `/sandbox` ausführen und Auto-Allow auswählen | Die integrierte Bash-Sandbox, auf macOS, Linux und WSL2 | Deny-Regeln gelten weiterhin, und Ask-Regeln, die einen Befehl benennen, wie `Bash(git push *)`, fordern weiterhin auf. Um die Sandbox stattdessen aus einer Einstellungsdatei zu aktivieren, setzen Sie [`sandbox.enabled`](/docs/de/settings-reference#sandbox-enabled) auf `true` |

57| Erkunden Sie, bevor Sie etwas ändern | `claude --permission-mode plan` | Keine | Claude Code blockiert Bearbeitungen, bis Sie einen Plan [genehmigen](#review-and-approve-a-plan) |59| Erkunden Sie, bevor Sie etwas ändern | `claude --permission-mode plan` | Keine | Claude Code blockiert Bearbeitungen, bis Sie einen Plan [genehmigen](#review-and-approve-a-plan) |

58| Arbeiten Sie freihändig im Auto-Modus | `claude --permission-mode auto`, der [integrierte Standard-Berechtigungsmodus](#which-mode-a-session-starts-in) bei Pro, Max und Team | Keine; eine Sandbox oder ein Container fügt Verteidigungstiefe hinzu | Erfordert ein [unterstütztes Modell](#eliminate-prompts-with-auto-mode), und Ihre Organisation kann [Auto-Modus ausschalten](#eliminate-prompts-with-auto-mode) |60| Arbeiten Sie freihändig im Auto-Modus | `claude --permission-mode auto`, der [integrierte Standard-Berechtigungsmodus](#which-mode-a-session-starts-in) bei Pro, Max und Team | Keine; eine Sandbox oder ein Container fügt Verteidigungstiefe hinzu | Erfordert ein [unterstütztes Modell](#eliminate-prompts-with-auto-mode), und Ihre Organisation kann [Auto-Modus ausschalten](#eliminate-prompts-with-auto-mode) |

59| Führen Sie in CI mit einer genauen Allowlist aus | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Keine über das hinaus, was Ihr CI-Runner bietet | [Claude Code im Web](/docs/de/claude-code-on-the-web) ignoriert `dontAsk` aus Einstellungsdateien |61| Führen Sie in CI mit einer genauen Allowlist aus | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Keine über das hinaus, was Ihr CI-Runner bietet | [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) ignorieren `dontAsk` aus Einstellungsdateien |

60| Führen Sie vollständig unbeaufsichtigt in einem Container aus | `claude -p "<prompt>" --dangerously-skip-permissions` | Erforderlich: ein Container, VM oder die [Sandbox-Laufzeit](/docs/de/sandbox-environments#sandbox-runtime); auf Linux und macOS, führen Sie es als [Nicht-Root-Benutzer](#skip-all-checks-with-bypasspermissions-mode) aus | Claude Code im Web ignoriert diesen Modus aus Einstellungsdateien. In diesem `-p` Lauf werden die [wenigen Aufrufe, die weiterhin auffordern würden](#skip-all-checks-with-bypasspermissions-mode) stattdessen verweigert |62| Führen Sie vollständig unbeaufsichtigt in einem Container aus | `claude -p "<prompt>" --dangerously-skip-permissions` | Erforderlich: ein Container, VM oder die [Sandbox-Laufzeit](/docs/de/sandbox-environments#sandbox-runtime); auf Linux und macOS, führen Sie es als [Nicht-Root-Benutzer](#skip-all-checks-with-bypasspermissions-mode) aus | Cloud-Sitzungen ignorieren diesen Modus aus Einstellungsdateien. In diesem `-p` Lauf werden die [wenigen Aufrufe, die weiterhin auffordern würden](#skip-all-checks-with-bypasspermissions-mode) stattdessen verweigert |

61 63 

62Die Bash-Sandbox und der Auto-Modus funktionieren unabhängig und kombinieren sich, außer im Plan-Modus, wo [Auto-Allow Genehmigungen nicht erweitert](/docs/de/sandboxing#sandbox-modes). Für die vollständige Interaktion siehe [Wie Sandboxing sich auf Berechtigungen und Berechtigungsmodi bezieht](/docs/de/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) und [Wie Isolation sich auf Berechtigungsmodi bezieht](/docs/de/sandbox-environments#how-isolation-relates-to-permission-modes).64Die Bash-Sandbox und der Auto-Modus funktionieren unabhängig und kombinieren sich, mit den Ausnahmen, die unter [Sandbox-Modi](/docs/de/sandboxing#sandbox-modes) aufgelistet sind. Für die vollständige Interaktion siehe [Wie Sandboxing sich auf Berechtigungen und Berechtigungsmodi bezieht](/docs/de/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) und [Wie Isolation sich auf Berechtigungsmodi bezieht](/docs/de/sandbox-environments#how-isolation-relates-to-permission-modes).

63 65 

64<h2 id="which-mode-a-session-starts-in">66<h2 id="which-mode-a-session-starts-in">

65 Welcher Modus eine Sitzung startet67 Welcher Modus eine Sitzung startet


247 Analysieren Sie vor dem Bearbeiten mit dem Plan-Modus249 Analysieren Sie vor dem Bearbeiten mit dem Plan-Modus

248</h2>250</h2>

249 251 

250Der Plan-Modus weist Claude an, Änderungen zu recherchieren und vorzuschlagen, ohne sie vorzunehmen. Claude liest Dateien, führt Shell-Befehle aus, um zu erkunden, und schreibt einen Plan, bearbeitet aber nicht Ihre Quelle. Außer in Sitzungen mit [verfügbaren Bypass-Berechtigungen](#skip-all-checks-with-bypasspermissions-mode) bleiben Bearbeitungen blockiert, bis Sie den Plan genehmigen.252Der Plan-Modus weist Claude an, Änderungen zu recherchieren und vorzuschlagen, ohne sie vorzunehmen. Claude liest Dateien, führt Shell-Befehle aus, um zu erkunden, und schreibt einen Plan, bearbeitet aber nicht Ihre Quelle. Außer in interaktiven Terminal-Sitzungen mit [verfügbaren Bypass-Berechtigungen](#skip-all-checks-with-bypasspermissions-mode) bleiben Bearbeitungen blockiert, bis Sie den Plan genehmigen.

251 253 

252Wenn [Auto-Modus](/docs/de/auto-mode-config) verfügbar ist und die `useAutoModeDuringPlan` Einstellung aktiviert ist, was die Standardeinstellung ist, überprüft der Klassifizierer Shell-Befehle während der Planung statt Sie zu fragen. Genehmigte Befehle laufen, und abgelehnte werden blockiert. Andernfalls fordern Befehle außerhalb des [integrierten schreibgeschützten Satzes](/docs/de/permissions#read-only-commands) zur Genehmigung auf, auch wenn der Sandbox-[Auto-Allow-Modus](/docs/de/sandboxing#sandbox-modes) aktiviert ist. In Sitzungen mit verfügbaren Bypass-Berechtigungen gelten weder der Klassifizierer noch eine Aufforderung für Planungsbefehle; [Alle Überprüfungen mit bypassPermissions-Modus überspringen](#skip-all-checks-with-bypasspermissions-mode) behandelt die wenigen Dinge, die dort weiterhin auffordern. In v2.1.212 bis v2.1.217 forderten Sitzungen ohne verfügbare Bypass-Berechtigungen für jeden Befehl außerhalb des schreibgeschützten Satzes auf, unabhängig davon, ob Auto-Modus verfügbar war.254Wenn [Auto-Modus](/docs/de/auto-mode-config) verfügbar ist und die `useAutoModeDuringPlan` Einstellung aktiviert ist, was die Standardeinstellung ist, überprüft der Klassifizierer Shell-Befehle während der Planung statt Sie zu fragen. Genehmigte Befehle laufen, und abgelehnte werden blockiert. Andernfalls fordern Befehle außerhalb des [integrierten schreibgeschützten Satzes](/docs/de/permissions#read-only-commands) zur Genehmigung auf, auch wenn der Sandbox-[Auto-Allow-Modus](/docs/de/sandboxing#sandbox-modes) aktiviert ist. In interaktiven Terminal-Sitzungen mit verfügbaren Bypass-Berechtigungen gelten weder der Klassifizierer noch eine Aufforderung für Planungsbefehle; [Alle Überprüfungen mit bypassPermissions-Modus überspringen](#skip-all-checks-with-bypasspermissions-mode) behandelt die wenigen Dinge, die dort weiterhin auffordern. In v2.1.212 bis v2.1.217 forderten Sitzungen ohne verfügbare Bypass-Berechtigungen für jeden Befehl außerhalb des schreibgeschützten Satzes auf, unabhängig davon, ob Auto-Modus verfügbar war.

253 255 

254Geben Sie den Plan-Modus ein, indem Sie `Shift+Tab` drücken oder einem einzelnen Prompt `/plan` voranstellen. Sie können auch vom CLI aus im Plan-Modus starten:256Geben Sie den Plan-Modus ein, indem Sie `Shift+Tab` drücken oder einem einzelnen Prompt `/plan` voranstellen. Sie können auch vom CLI aus im Plan-Modus starten:

255 257 


326 328 

327In v2.1.158 bis v2.1.206 war der Auto-Modus auf diesen Anbietern aus, bis Sie `CLAUDE_CODE_ENABLE_AUTO_MODE=1` setzten, und Claude Code ignorierte `defaultMode: "auto"` auf diesen Anbietern, es sei denn, die Variable war auch gesetzt. Die Variable wird weiterhin aus Kompatibilitätsgründen akzeptiert und hat ab v2.1.207 keine Auswirkung.329In v2.1.158 bis v2.1.206 war der Auto-Modus auf diesen Anbietern aus, bis Sie `CLAUDE_CODE_ENABLE_AUTO_MODE=1` setzten, und Claude Code ignorierte `defaultMode: "auto"` auf diesen Anbietern, es sei denn, die Variable war auch gesetzt. Die Variable wird weiterhin aus Kompatibilitätsgründen akzeptiert und hat ab v2.1.207 keine Auswirkung.

328 330 

331<h4 id="server-side-classifier-review">

332 Serverseitige Klassifizierer-Überprüfung

333</h4>

334 

335Auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry überprüft Claude Code Auto-Modus-Aktionen standardmäßig mit seinen eigenen Klassifizierer-Anfragen. Um die serverseitige Klassifizierer-Überprüfung der Plattform [die Aktionen, die zum Klassifizierer gehen](#how-the-classifier-evaluates-actions) als Teil der Anfragen des Sitzungsmodells durchzuführen, setzen Sie [`CLAUDE_CODE_AUTO_MODE_SERVER=1`](/docs/de/env-vars). Wo die Plattform den Klassifizierer ausführt, entscheiden ihre Urteile diese Aktionen; wo sie es nicht tut, fällt Claude Code auf seine eigenen Klassifizierer-Anfragen zurück. In v2.1.271 und v2.1.272 war das Fragen der Plattform der Standard auf diesen Anbietern.

336 

329<h3 id="what-the-classifier-blocks-by-default">337<h3 id="what-the-classifier-blocks-by-default">

330 Was der Klassifizierer standardmäßig blockiert338 Was der Klassifizierer standardmäßig blockiert

331</h3>339</h3>


419* Senden von Daten an die vertrauenswürdigen Domains, Buckets und Services, die Sie in [`environment`](/docs/de/auto-mode-config#define-trusted-infrastructure) auflisten. Dies umfasst nur Datenfluss, nicht destruktive oder Credential-Operationen auf der gleichen Infrastruktur427* Senden von Daten an die vertrauenswürdigen Domains, Buckets und Services, die Sie in [`environment`](/docs/de/auto-mode-config#define-trusted-infrastructure) auflisten. Dies umfasst nur Datenfluss, nicht destruktive oder Credential-Operationen auf der gleichen Infrastruktur

420* [Claude in Chrome](/docs/de/chrome)-Navigation zu einer vertrauenswürdigen internen Domain, localhost oder einer URL, die Sie benannt haben428* [Claude in Chrome](/docs/de/chrome)-Navigation zu einer vertrauenswürdigen internen Domain, localhost oder einer URL, die Sie benannt haben

421 429 

422Sandbox-Netzwerkzugriff-Anfragen werden durch den Klassifizierer geleitet, statt standardmäßig erlaubt zu werden. Ab v2.1.198 verwendet der Klassifizierer sein Urteil für einen Netzwerk-Host und Port wieder, statt bei jeder Verbindung erneut auszuführen:430Sandbox-Befehle erhalten standardmäßig keinen Netzwerkzugriff. Claude benennt die Hosts, die ein Befehl benötigt, auf dem Befehl selbst, der Klassifizierer überprüft sie mit dem Befehl, und eine genehmigte Liste öffnet diese Hosts nur für diesen einen Befehl. [Pro-Befehl erlaubte Domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) behandelt, was eine Liste öffnen kann und nicht und was passiert, wenn ein Befehl nach einem nicht aufgelisteten Host greift.

423 

424* Ein Allow wird wiederverwendet, bis neuer Inhalt in die Konversation eintritt, an welchem Punkt dieser Host erneut überprüft wird

425* Claude Code v2.1.234 und später verwenden ein Deny, das durch die Konversation verursacht wird, die das Kontextfenster des Klassifizierers übersteigt, bis neuer Inhalt in die Konversation eintritt, oder bis [Komprimierung](/docs/de/costs#reduce-token-usage) das, was der Klassifizierer liest, schrumpft, wieder. Claude Code überprüft dann den Host erneut

426* Ein Deny, das der Klassifizierer durch Auswertung der Anfrage erreicht hat, dauert für die Runde in der interaktiven CLI. Im [nicht-interaktiven Modus](/docs/de/headless) und Agent SDK-Sitzungen verwendet Claude Code dieses Deny für den Rest des Laufs wieder, da diese Sitzungen keine Rund-Grenze haben

427* Das Ändern Ihres Genehmigungsmodus oder Ihrer Regeln löscht alle zwischengespeicherten Urteile

428 431 

429Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten als JSON zu drucken. Wenn routinemäßige Aktionen blockiert werden, kann ein Administrator vertrauenswürdige Repos, Buckets und Services über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/docs/de/auto-mode-config).432Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten als JSON zu drucken. Wenn routinemäßige Aktionen blockiert werden, kann ein Administrator vertrauenswürdige Repos, Buckets und Services über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/docs/de/auto-mode-config).

430 433 


471 <Accordion title="Wie der Klassifizierer Aktionen bewertet">474 <Accordion title="Wie der Klassifizierer Aktionen bewertet">

472 Jede Aktion durchläuft eine feste Entscheidungsreihenfolge. Der erste passende Schritt gewinnt:475 Jede Aktion durchläuft eine feste Entscheidungsreihenfolge. Der erste passende Schritt gewinnt:

473 476 

474 1. Aktionen, die Ihren [Allow-, Ask- oder Deny-Regeln](/docs/de/permissions#manage-permissions) entsprechen, werden sofort aufgelöst. Schreibvorgänge zu [geschützten Pfaden](#protected-paths) werden zum Klassifizierer geleitet, auch wenn eine Allow-Regel passt, und ebenso `rm`- und `rmdir`-Löschungen, die auf einen [kritischen Pfad](#critical-paths) in Claude Code v2.1.218 und später abzielen. MCP-Tools, die mit [`requiresUserInteraction`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, fordern Sie direkt auf, auch wenn eine Allow-Regel passt, und ebenso Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools) in Sitzungen, in denen diese Einstellung Claude Code erreicht. Ask-Regeln, die auf dem Inhalt eines Befehls passen, wie `Bash(git push *)`, fallen auf eine Genehmigungsaufforderung zurück477 1. Aktionen, die Ihren [Allow-, Ask- oder Deny-Regeln](/docs/de/permissions#manage-permissions) entsprechen, werden sofort aufgelöst, mit diesen Ausnahmen:

478 * Schreibvorgänge zu [geschützten Pfaden](#protected-paths) werden zum Klassifizierer geleitet, auch wenn eine Allow-Regel passt, und ebenso `rm`- und `rmdir`-Löschungen, die auf einen [kritischen Pfad](#critical-paths) in Claude Code v2.1.218 und später abzielen

479 * MCP-Tools, die mit [`requiresUserInteraction`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, fordern Sie direkt auf, auch wenn eine Allow-Regel passt, und ebenso Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools) in Sitzungen, in denen diese Einstellung Claude Code erreicht

480 * Ein Shell-Befehl, der [pro-Befehl erlaubte Domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) trägt, wird auch zum Klassifizierer geleitet, auch wenn eine Allow-Regel passt, weil eine Regel den Befehl genehmigt, nicht seine Hosts

481 * Ask-Regeln, die auf dem Inhalt eines Befehls passen, wie `Bash(git push *)`, fallen auf eine Genehmigungsaufforderung zurück

475 2. Read-only-Aktionen und Dateieditierungen in Ihrem Arbeitsverzeichnis werden automatisch genehmigt, außer Schreibvorgänge zu [geschützten Pfaden](#protected-paths) und [dem ersten Lesezugriff außerhalb der Arbeitsverzeichnisse](#first-read-outside-the-working-directories), die Sie auffordern482 2. Read-only-Aktionen und Dateieditierungen in Ihrem Arbeitsverzeichnis werden automatisch genehmigt, außer Schreibvorgänge zu [geschützten Pfaden](#protected-paths) und [dem ersten Lesezugriff außerhalb der Arbeitsverzeichnisse](#first-read-outside-the-working-directories), die Sie auffordern

476 3. Alles andere geht zum Klassifizierer. Die Connector-Tools und `requiresUserInteraction`-MCP-Tools, die Sie direkt in Schritt 1 auffordern, erreichen den Klassifizierer nie, daher wird weder eine von der Organisation geforderte Genehmigung noch ein Zustimmungsschritt automatisch genehmigt483 3. Alles andere geht zum Klassifizierer. Die Connector-Tools und `requiresUserInteraction`-MCP-Tools, die Sie direkt in Schritt 1 auffordern, erreichen den Klassifizierer nie, daher wird weder eine von der Organisation geforderte Genehmigung noch ein Zustimmungsschritt automatisch genehmigt

477 4. Wenn der Klassifizierer blockiert, erhält Claude den Grund und versucht eine Alternative. In den meisten Sitzungen benennt der Grund die vom Klassifizierer erkannte Regel, etwa `[Data Exfiltration]`, statt eine ausformulierte Erklärung zu geben; siehe [Verweigerungen überprüfen](/docs/de/auto-mode-config#review-denials)484 4. Wenn der Klassifizierer blockiert, erhält Claude den Grund und versucht eine Alternative. In den meisten Sitzungen benennt der Grund die vom Klassifizierer erkannte Regel, etwa `[Data Exfiltration]`, statt eine ausformulierte Erklärung zu geben; siehe [Verweigerungen überprüfen](/docs/de/auto-mode-config#review-denials)


488 495 

489 Claude Code führt auch `git status` selbst vor einem Befehl aus, der nicht committete Arbeit verwerfen würde, wie `git reset --hard` oder `rm -rf`, und zeigt dem Klassifizierer, ob gestaffelte, geänderte oder nicht verfolgte Arbeit vorhanden ist. Claude Code meldet nicht verfolgte Dateien in dieser Überprüfung, auch wenn die Git-Konfiguration des Repositorys `status.showUntrackedFiles=no` setzt.496 Claude Code führt auch `git status` selbst vor einem Befehl aus, der nicht committete Arbeit verwerfen würde, wie `git reset --hard` oder `rm -rf`, und zeigt dem Klassifizierer, ob gestaffelte, geänderte oder nicht verfolgte Arbeit vorhanden ist. Claude Code meldet nicht verfolgte Dateien in dieser Überprüfung, auch wenn die Git-Konfiguration des Repositorys `status.showUntrackedFiles=no` setzt.

490 497 

491 Der Klassifizierer sieht Benutzernachrichten, Tool-Aufrufe außer Read-only-Lookups wie Dateilesezeichen und Suchen, und Ihren CLAUDE.md-Inhalt. Tool-Ergebnisse werden entfernt, daher kann feindselige Inhalte in einer Datei oder Webseite ihn nicht direkt manipulieren. Sie können einen Aufruf's Ergebnis mit einem [PostToolUse-Hook's `classifierContext`-Feld](/docs/de/hooks#annotate-a-result-for-the-auto-mode-classifier) kommentieren, das der Klassifizierer als von der Anwendung bereitgestellter Kontext liest.498 In den Klassifizierer-Anfragen, die Claude Code selbst sendet, sieht der Klassifizierer Benutzernachrichten, Tool-Aufrufe außer Read-only-Lookups wie Dateilesezeichen und Suchen, und Ihren CLAUDE.md-Inhalt. Tool-Ergebnisse werden entfernt, daher kann feindselige Inhalte in einer Datei oder Webseite ihn nicht direkt manipulieren. Sie können einen Aufruf's Ergebnis mit einem [PostToolUse-Hook's `classifierContext`-Feld](/docs/de/hooks#annotate-a-result-for-the-auto-mode-classifier) kommentieren, das der Klassifizierer als von der Anwendung bereitgestellter Kontext liest. Das Feld erfordert Claude Code v2.1.236 oder später.

492 499 

493 Eine separate serverseitige Sonde scannt eingehende Tool-Ergebnisse und kennzeichnet verdächtige Inhalte, bevor Claude sie liest. Für mehr darüber, wie diese Schichten zusammenarbeiten, siehe die [Auto-Modus-Ankündigung](https://claude.com/blog/auto-mode) und den [Engineering Deep Dive](https://www.anthropic.com/engineering/claude-code-auto-mode).500 Eine separate serverseitige Sonde scannt eingehende Tool-Ergebnisse und kennzeichnet verdächtige Inhalte, bevor Claude sie liest. Für mehr darüber, wie diese Schichten zusammenarbeiten, siehe die [Auto-Modus-Ankündigung](https://claude.com/blog/auto-mode) und den [Engineering Deep Dive](https://www.anthropic.com/engineering/claude-code-auto-mode).

494 </Accordion>501 </Accordion>


498 505 

499 1. Bevor ein Subagent startet, wird die delegierte Aufgabenbeschreibung bewertet, daher wird eine gefährlich aussehende Aufgabe beim Spawn blockiert.506 1. Bevor ein Subagent startet, wird die delegierte Aufgabenbeschreibung bewertet, daher wird eine gefährlich aussehende Aufgabe beim Spawn blockiert.

500 2. Während der Subagent läuft, durchläuft jede seiner Aktionen den Klassifizierer mit den gleichen Regeln wie die übergeordnete Sitzung, und jeder `permissionMode` in der Frontmatter des Subagents wird ignoriert.507 2. Während der Subagent läuft, durchläuft jede seiner Aktionen den Klassifizierer mit den gleichen Regeln wie die übergeordnete Sitzung, und jeder `permissionMode` in der Frontmatter des Subagents wird ignoriert.

501 3. Wenn der Subagent fertig ist, überprüft der Klassifizierer seine vollständige Aktionshistorie; wenn diese Rückgabeüberprüfung ein Problem kennzeichnet, wird eine Sicherheitswarnung den Ergebnissen des Subagents vorangestellt. Wenn eine separate API-Sicherheitsüberprüfung die Überprüfungsanfrage selbst verweigert, gibt Claude Code immer noch die Ergebnisse des Subagents zurück, vorangestellt mit einer Warnung, dass die Arbeit nicht überprüft ist und als nicht vertrauenswürdig behandelt werden sollte.508 3. Wenn der Subagent fertig ist, überprüft der Klassifizierer seine Arbeit und seinen endgültigen Bericht, bevor die übergeordnete Sitzung den Bericht liest. Wenn der Klassifizierer die Arbeit oder den Bericht des Subagents kennzeichnet, oder eine separate API-Sicherheitsüberprüfung die Überprüfung verweigert, wird der Bericht immer noch geliefert, vorangestellt mit einer Sicherheitswarnung. Wenn der Klassifizierer für die Überprüfung nicht verfügbar ist, kommt der Bericht mit einer Notiz an, um die Arbeit des Subagents zu überprüfen, bevor Sie danach handeln.

502 509 

503 Schritt 1 erfordert Claude Code v2.1.178 oder später. Frühere Versionen wendeten den Klassifizierer bei Schritten 2 und 3 an, bewerteten aber nicht die Aufgabenbeschreibung, bevor der Subagent startete.510 Schritt 1 erfordert Claude Code v2.1.178 oder später. Frühere Versionen wendeten den Klassifizierer bei Schritten 2 und 3 an, bewerteten aber nicht die Aufgabenbeschreibung, bevor der Subagent startete.

504 </Accordion>511 </Accordion>


508 515 

509 Die erste Auto-Modus-Anfrage der Sitzung validiert den Sonnet 5-Standard: Wenn die Anfrage erfolgreich ist, bleibt Sonnet 5 das Klassifizierer-Modell der Sitzung, und wenn sie fehlschlägt, weil das Modell nicht verfügbar ist, verwendet die Sitzung stattdessen das Fallback. Nachdem diese Validierung sich beruhigt hat, ändert sich das Klassifizierer-Modell nicht für die Sitzung.516 Die erste Auto-Modus-Anfrage der Sitzung validiert den Sonnet 5-Standard: Wenn die Anfrage erfolgreich ist, bleibt Sonnet 5 das Klassifizierer-Modell der Sitzung, und wenn sie fehlschlägt, weil das Modell nicht verfügbar ist, verwendet die Sitzung stattdessen das Fallback. Nachdem diese Validierung sich beruhigt hat, ändert sich das Klassifizierer-Modell nicht für die Sitzung.

510 517 

511 Bei Enterprise-Plänen und bei Konten, die die Claude API, [Claude Platform on AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verwenden, zählen Klassifizierer-Aufrufe zu Ihrer Token-Nutzung. Jede Überprüfung sendet einen Teil des Transkripts plus die ausstehende Aktion, was eine Hin- und Rückfahrt vor der Ausführung hinzufügt. Lesezugriffe und Arbeitsverzeichnis-Editierungen außerhalb geschützter Pfade überspringen den Klassifizierer, daher kommt der Overhead hauptsächlich von Shell-Befehlen und Netzwerkoperationen.518 Bei Enterprise-Plänen und bei Konten, die die Claude API, [Claude Platform on AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verwenden, zählen Klassifizierer-Aufrufe zu Ihrer Token-Nutzung. Jede Überprüfung sendet einen Teil des Transkripts plus die ausstehende Aktion, was eine Hin- und Rückfahrt vor der Ausführung hinzufügt. Lesezugriffe und Arbeitsverzeichnis-Editierungen außerhalb geschützter Pfade überspringen den Klassifizierer, daher kommt der Overhead hauptsächlich von Shell-Befehlen und Netzwerkoperationen. Auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry können Sie die Überprüfung in die Anfragen des Sitzungsmodells verschieben; siehe [Serverseitige Klassifizierer-Überprüfung](#server-side-classifier-review).

512 519 

513 Der Klassifizierer verwendet ein Sandbox-Netzwerk-Urteil für einen Host und Port wieder, daher fügt jede wiederholte Verbindung zum gleichen Host keine Überprüfung hinzu. [Was der Klassifizierer standardmäßig blockiert](#what-the-classifier-blocks-by-default) beschreibt, wie lange ein Allow und ein Deny dauern.520 Sandbox-Netzwerkzugriff fügt keine Pro-Verbindungs-Klassifizierer-Anfragen hinzu. Der Klassifizierer beurteilt [die Hosts, die ein Befehl benennt](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) zusammen mit dem Befehl in einer Überprüfung, und Claude Code überprüft jede Verbindung gegen die genehmigte Liste, ohne den Klassifizierer erneut aufzurufen.

514 </Accordion>521 </Accordion>

515</AccordionGroup>522</AccordionGroup>

516 523 


540 547 

541Die [Aktionen, die kein Modus automatisch genehmigt](#actions-no-mode-auto-approves) fordern weiterhin in diesem Modus auf.548Die [Aktionen, die kein Modus automatisch genehmigt](#actions-no-mode-auto-approves) fordern weiterhin in diesem Modus auf.

542 549 

543Zwei [Cross-Session-Messaging](/docs/de/cross-session-messaging) Schutzmaßnahmen gelten weiterhin in diesem Modus und in Plan-Mode-Sitzungen, in denen Bypass-Berechtigungen verfügbar sind:550Zwei [Cross-Session-Messaging](/docs/de/cross-session-messaging) Schutzmaßnahmen gelten weiterhin in diesem Modus und in interaktiven Terminal-Plan-Mode-Sitzungen, in denen Bypass-Berechtigungen verfügbar sind:

544 551 

545* Die [`isolatePeerMachines`](/docs/de/settings-reference#isolatepeermachines) Genehmigungsaufforderung für Nachrichten an Ihre Sitzungen über diese Maschine hinaus wird weiterhin angezeigt.552* Die [`isolatePeerMachines`](/docs/de/settings-reference#isolatepeermachines) Genehmigungsaufforderung für Nachrichten an Ihre Sitzungen über diese Maschine hinaus wird weiterhin angezeigt.

546* Wenn kein [`crossSessionInbound`](/docs/de/cross-session-messaging#control-inbound-messages) Wert zutrifft, hält Claude Code eine eingehende Nachricht von einer anderen Ihrer Sitzungen für Ihre Genehmigung und liefert ohne Fragen nur, wenn die sendende Sitzung sich selbst als auch Berechtigungsaufforderungen umgehend identifiziert. Wenn Sie den Berechtigungsmodus verlassen, während Nachrichten gehalten werden, wendet Claude Code die eingehenden Regeln erneut an und liefert jede gehaltene Nachricht, die sie jetzt akzeptieren.553* Wenn kein [`crossSessionInbound`](/docs/de/cross-session-messaging#control-inbound-messages) Wert zutrifft, hält Claude Code eine eingehende Nachricht von einer anderen Ihrer Sitzungen für Ihre Genehmigung und liefert ohne Fragen nur, wenn die sendende Sitzung sich selbst als auch Berechtigungsaufforderungen umgehend identifiziert. Wenn Sie den Berechtigungsmodus verlassen, während Nachrichten gehalten werden, wendet Claude Code die eingehenden Regeln erneut an und liefert jede gehaltene Nachricht, die sie jetzt akzeptieren.

547 554 

548In Sitzungen mit verfügbaren Bypass-Berechtigungen erzwingt Claude Code auch nicht [Plan-Mode's](#analyze-before-you-edit-with-plan-mode) Blockierungen. Claude wird immer noch angewiesen, ohne Bearbeitung zu planen, aber ein Dateibearbeitungs- oder Shell-Befehl, den es während der Planung versucht, läuft ohne Aufforderung. Explizite [Ask-Regeln](/docs/de/permissions#manage-permissions) und `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](#critical-paths) abzielen, fordern weiterhin auf.555In interaktiven Terminal-Sitzungen mit verfügbaren Bypass-Berechtigungen erzwingt Claude Code auch nicht [Plan-Mode's](#analyze-before-you-edit-with-plan-mode) Blockierungen. Claude wird immer noch angewiesen, ohne Bearbeitung zu planen, aber ein Dateibearbeitungs- oder Shell-Befehl, den es während der Planung versucht, läuft ohne Aufforderung. Explizite [Ask-Regeln](/docs/de/permissions#manage-permissions) und `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](#critical-paths) abzielen, fordern weiterhin auf.

556 

557Der Plan-Mode behält seine Blockierungen überall dort bei, wo Claude Code ohne interaktives Terminal läuft, einschließlich [nicht-interaktiver Ausführungen](/docs/de/headless) mit `-p`, [Agent SDK](/docs/de/agent-sdk/permissions#plan-mode-plan) Sitzungen und Unterhaltungen im Chat-Panel der [VS Code-Erweiterung](/docs/de/vs-code). Dort macht `--allow-dangerously-skip-permissions` `bypassPermissions` später auswählbar.

549 558 

550<Warning>559<Warning>

551 Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern, VMs oder Dev-Containern ohne Internetzugang, in denen Claude Code Ihr Host-System nicht beschädigen kann.560 Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern, VMs oder Dev-Containern ohne Internetzugang, in denen Claude Code Ihr Host-System nicht beschädigen kann.


581 Geschützte Pfade590 Geschützte Pfade

582</h2>591</h2>

583 592 

584Schreibvorgänge in eine kleine Anzahl von Pfaden werden niemals automatisch genehmigt, außer im `bypassPermissions`-Modus und in Plan-Mode-Sitzungen mit [verfügbaren Bypass-Berechtigungen](#skip-all-checks-with-bypasspermissions-mode). Dies verhindert versehentliche Beschädigungen des Repository-Status und der eigenen Konfiguration von Claude.593Schreibvorgänge in eine kleine Anzahl von Pfaden werden niemals automatisch genehmigt, außer im `bypassPermissions`-Modus und in interaktiven Terminal-Sitzungen im Plan-Modus mit [verfügbaren Bypass-Berechtigungen](#skip-all-checks-with-bypasspermissions-mode). Dies verhindert versehentliche Beschädigungen des Repository-Status und der eigenen Konfiguration von Claude.

585 594 

586| Modus | Schreibvorgänge in geschützten Pfaden |595| Modus | Schreibvorgänge in geschützten Pfaden |

587| :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |596| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

588| `default`, `acceptEdits` | Abgefragt |597| `default`, `acceptEdits` | Abgefragt |

589| `plan` | Erlaubt in Sitzungen mit [verfügbaren Bypass-Berechtigungen](#skip-all-checks-with-bypasspermissions-mode). Andernfalls zum Klassifizierer geleitet, wenn [Auto-Modus](#eliminate-prompts-with-auto-mode) während der Planung verfügbar ist, und abgefragt, wenn nicht |598| `plan` | Erlaubt in interaktiven Terminal-Sitzungen mit [verfügbaren Bypass-Berechtigungen](#skip-all-checks-with-bypasspermissions-mode). Andernfalls zum Klassifizierer geleitet, wenn [Auto-Modus](#eliminate-prompts-with-auto-mode) während der Planung verfügbar ist, und abgefragt, wenn nicht |

590| `auto` | Zum Klassifizierer geleitet |599| `auto` | Zum Klassifizierer geleitet |

591| `dontAsk` | Verweigert |600| `dontAsk` | Verweigert |

592| `bypassPermissions` | Erlaubt |601| `bypassPermissions` | Erlaubt |


649 658 

650Claude Code behandelt auch ein Glob oder einen nachfolgenden Schrägstrich direkt unter einer Shell-Variable, wie `rm -rf "$DIR"/*`, als kritische Pfad-Löschung, da der Befehl zu einer Löschung vom Dateisystem-Root wird, wenn die Variable leer ist.659Claude Code behandelt auch ein Glob oder einen nachfolgenden Schrägstrich direkt unter einer Shell-Variable, wie `rm -rf "$DIR"/*`, als kritische Pfad-Löschung, da der Befehl zu einer Löschung vom Dateisystem-Root wird, wenn die Variable leer ist.

651 660 

652Das Verstecken der Löschung in Befehlsersetzung mit `$(...)` oder Backticks oder Prozessersetzung mit `<(...)` überspringt die Prüfung nicht. Claude Code findet eine kritische Pfad-Löschung, ob sie in der Ersetzung sitzt, wie in `echo "$(rm -rf ~)"`, oder anderswo im gleichen Befehl.661Das Verstecken der Löschung in einer Subshell mit `(...)`, einer Brace-Gruppe mit `{ ...; }`, Befehlsersetzung mit `$(...)` oder Backticks oder Prozessersetzung mit `<(...)` überspringt die Prüfung nicht. Claude Code findet eine kritische Pfad-Löschung, ob sie in der verschachtelten Form sitzt, wie in `(rm -rf ~)` oder `echo "$(rm -rf ~)"`, oder anderswo im gleichen Befehl.

653 662 

654<h3 id="remove-item-in-powershell">663<h3 id="remove-item-in-powershell">

655 Remove-Item in PowerShell664 Remove-Item in PowerShell

permissions.md +15 −4

Details

65 65 

66Regeln werden in dieser Reihenfolge ausgewertet: deny, dann ask, dann allow. Die erste Übereinstimmung in dieser Reihenfolge bestimmt das Ergebnis, und die Regelspezifität ändert die Reihenfolge nicht.66Regeln werden in dieser Reihenfolge ausgewertet: deny, dann ask, dann allow. Die erste Übereinstimmung in dieser Reihenfolge bestimmt das Ergebnis, und die Regelspezifität ändert die Reihenfolge nicht.

67 67 

68Eine breite deny-Regel wie `Bash(aws *)` blockiert jeden übereinstimmenden Aufruf, einschließlich Aufrufen, die auch einer engeren allow-Regel wie `Bash(aws s3 ls)` entsprechen, daher kann eine deny-Regel keine Allowlist-Ausnahmen enthalten. Die gleiche Priorität gilt zwischen ask und allow: eine übereinstimmende ask-Regel fordert eine Bestätigung auf, auch wenn eine spezifischere allow-Regel denselben Aufruf ebenfalls erfüllt.68Eine breite deny-Regel wie `Bash(aws *)` blockiert jeden übereinstimmenden Aufruf, einschließlich Aufrufen, die auch einer engeren allow-Regel wie `Bash(aws s3 ls)` entsprechen. Eine allow-Regel kann keine Ausnahme aus einer deny-Regel herausschneiden. Die gleiche Priorität gilt zwischen ask und allow: eine übereinstimmende ask-Regel fordert eine Bestätigung auf, auch wenn eine spezifischere allow-Regel denselben Aufruf ebenfalls erfüllt.

69 69 

70Deny-Regeln verhalten sich unterschiedlich, je nachdem, ob sie ein Werkzeug benennen oder ein Muster darin eingrenzen. Ein einfacher Werkzeugname wie `Bash` entfernt das Werkzeug vollständig aus Claudes Kontext, sodass Claude es nie sieht. Wenn Sie eine solche Regel während einer Sitzung hinzufügen, kann Claude das Werkzeug ab seinem nächsten Werkzeugaufruf nicht mehr aufrufen; [Ein ganzes Werkzeug ablehnen](/docs/de/prompt-caching#denying-an-entire-tool) behandelt, was mit einer Definition geschieht, die Claude bereits gesehen hat. Eine eingegrenzte Regel wie `Bash(rm *)` lässt das Werkzeug verfügbar und blockiert übereinstimmende Aufrufe, wenn Claude sie versucht.70Deny-Regeln verhalten sich unterschiedlich, je nachdem, ob sie ein Werkzeug benennen oder ein Muster darin eingrenzen. Ein einfacher Werkzeugname wie `Bash` entfernt das Werkzeug vollständig aus Claudes Kontext, sodass Claude es nie sieht. Wenn Sie eine solche Regel während einer Sitzung hinzufügen, kann Claude das Werkzeug ab seinem nächsten Werkzeugaufruf nicht mehr aufrufen; [Ein ganzes Werkzeug ablehnen](/docs/de/prompt-caching#denying-an-entire-tool) behandelt, was mit einer Definition geschieht, die Claude bereits gesehen hat. Eine eingegrenzte Regel wie `Bash(rm *)` lässt das Werkzeug verfügbar und blockiert übereinstimmende Aufrufe, wenn Claude sie versucht.

71 71 


333 333 

334Ziele ohne Datei dahinter werden nicht überprüft: `/dev/null`, Dateideskriptor-Formen wie `2>&1` und `<&3`, und Here-Docs und Here-Strings.334Ziele ohne Datei dahinter werden nicht überprüft: `/dev/null`, Dateideskriptor-Formen wie `2>&1` und `<&3`, und Here-Docs und Here-Strings.

335 335 

336Claude Code überprüft auch die Dateien, die ein `tee`-Befehl schreibt, einschließlich in einer Pipeline wie `make | tee build.log`. Die Überprüfung deckt Ihre `Edit` Allow- und Deny-Regeln, [geschützte Pfade](/docs/de/permission-modes#protected-paths) und die [Arbeitsverzeichnisse](#working-directories) ab. Eine Allow-Regel wie `Bash(tee *)` deckt ein Ziel außerhalb der Arbeitsverzeichnisse nicht ab. Claude Code überprüft `tee`-Ziele in v2.1.269 und später.

337 

336<h3 id="powershell">338<h3 id="powershell">

337 PowerShell339 PowerShell

338</h3>340</h3>


370Claude Code überprüft Dateiberechtigungen nur gegen `Edit(path)` und `Read(path)` Regeln. Wenn Sie eine Pfadregel für `Write`, `NotebookEdit`, `Glob` oder das veraltete `MultiEdit`-Werkzeug schreiben, akzeptiert Claude Code die Regel, konsultiert sie aber nie, und [warnt beim Start](/docs/de/errors#is-not-matched-by-file-permission-checks), außer für eine `Glob`-Regel, die in `--allowedTools` übergeben wird. Verwenden Sie `Edit(docs/**)` anstelle von `Write(docs/**)`, `NotebookEdit(docs/**)` oder `MultiEdit(docs/**)`, und `Read(docs/**)` anstelle von `Glob(docs/**)`. Claude Code warnt nicht vor einer Werkzeugnamen-Regel ohne Pfad, wie einer Deny-Regel für `Write`; sie passt diese Regel überall auf Werkzeugebene an. Erfordert Claude Code v2.1.210 oder später.372Claude Code überprüft Dateiberechtigungen nur gegen `Edit(path)` und `Read(path)` Regeln. Wenn Sie eine Pfadregel für `Write`, `NotebookEdit`, `Glob` oder das veraltete `MultiEdit`-Werkzeug schreiben, akzeptiert Claude Code die Regel, konsultiert sie aber nie, und [warnt beim Start](/docs/de/errors#is-not-matched-by-file-permission-checks), außer für eine `Glob`-Regel, die in `--allowedTools` übergeben wird. Verwenden Sie `Edit(docs/**)` anstelle von `Write(docs/**)`, `NotebookEdit(docs/**)` oder `MultiEdit(docs/**)`, und `Read(docs/**)` anstelle von `Glob(docs/**)`. Claude Code warnt nicht vor einer Werkzeugnamen-Regel ohne Pfad, wie einer Deny-Regel für `Write`; sie passt diese Regel überall auf Werkzeugebene an. Erfordert Claude Code v2.1.210 oder später.

371 373 

372<Warning>374<Warning>

373 Read- und Edit-Deny-Regeln gelten für Claude's integrierte Dateiwerkzeuge, für Dateibefehle, die Claude Code in Bash erkennt, wie `cat`, `head`, `tail` und `sed`, und für die Ziele von Bash [Umleitungen](#redirections) wie `> file` und `< file`. Sie gelten nicht für Befehle, die Dateien ohne Benennung lesen, wie `grep -r pattern .` von dem Verzeichnis aus ausgeführt, das die Datei enthält, oder für beliebige Unterprozesse, die Dateien indirekt lesen oder schreiben, wie ein Python- oder Node-Skript, das Dateien selbst öffnet. Für OS-Ebenen-Durchsetzung, die alle Prozesse daran hindert, auf einen Pfad zuzugreifen, [aktivieren Sie die Sandbox](/docs/de/sandboxing).375 Read- und Edit-Deny-Regeln gelten für Claude's integrierte Dateiwerkzeuge, für Dateibefehle, die Claude Code in Bash erkennt, wie `cat`, `head`, `tail`, `sed` und `tee`, und für die Ziele von Bash [Umleitungen](#redirections) wie `> file` und `< file`. Sie gelten nicht für Befehle, die Dateien ohne Benennung lesen, wie `grep -r pattern .` von dem Verzeichnis aus ausgeführt, das die Datei enthält, oder für beliebige Unterprozesse, die Dateien indirekt lesen oder schreiben, wie ein Python- oder Node-Skript, das Dateien selbst öffnet. Für OS-Ebenen-Durchsetzung, die alle Prozesse daran hindert, auf einen Pfad zuzugreifen, [aktivieren Sie die Sandbox](/docs/de/sandboxing).

374</Warning>376</Warning>

375 377 

376Read- und Edit-Regeln folgen beide der [gitignore](https://git-scm.com/docs/gitignore)-Spezifikation mit vier unterschiedlichen Mustertypen; für Muster mit einzelnem Verzeichnissegment hängt die Abgleichtiefe auch vom Regeltyp ab, der später in diesem Abschnitt beschrieben wird:378Read- und Edit-Regeln folgen beide der [gitignore](https://git-scm.com/docs/gitignore)-Spezifikation mit vier unterschiedlichen Mustertypen; für Muster mit einzelnem Verzeichnissegment hängt die Abgleichtiefe auch vom Regeltyp ab, der später in diesem Abschnitt beschrieben wird:


454 456 

455Eine Deny- oder Ask-Regel, deren Pfad nicht als gitignore-Muster verwendbar ist, schützt immer noch diesen genauen Pfad. Eine Allow-Regel mit einem nicht verwendbaren Muster genehmigt nichts.457Eine Deny- oder Ask-Regel, deren Pfad nicht als gitignore-Muster verwendbar ist, schützt immer noch diesen genauen Pfad. Eine Allow-Regel mit einem nicht verwendbaren Muster genehmigt nichts.

456 458 

459Eine Deny- oder Ask-Regel, die ein Negationsmuster mit `!` beginnt, ist eine gitignore-Negation. Sie schneidet die Pfade, die sie abgleicht, aus den `path` oder `./path` Regeln aus, die davor aufgelistet sind. In einer Einstellungsdatei's `deny`-Liste blockiert `Read(*.env)` gefolgt von `Read(!sample.env)` jede Datei, deren Name mit `.env` endet, in jeder Tiefe, außer Dateien namens `sample.env`. Eine `!`-Regel, die zuerst aufgelistet ist, schneidet nichts aus.

460 

461Die Ausschneidung erreicht nur Regeln aus der gleichen Quelle. Ein `Read(!.env)` in Projekteinstellungen oder in `--disallowedTools` hebt ein `Read(./.env)` Deny aus verwalteten Einstellungen oder einer anderen Einstellungsdatei nicht auf.

462 

463Zwei Grenzen verengen, was ein `!`-Muster ausschneiden kann:

464 

465* Claude Code liest ein `!`-Muster relativ zum aktuellen Verzeichnis, auch wenn `/`, `~/` oder `//` dem `!` folgt, daher kann das Muster eine Regel, die mit einem dieser Präfixe verankert ist, nicht erreichen. `Read(!~/notes/public/**)` schneidet nichts aus `Read(~/notes/**)` aus.

466* Ein Ausschnitt kann eine Datei innerhalb eines Verzeichnisses, das eine Regel als Ganzes blockiert, nicht wieder öffnen. Mit `Read(secrets/**)` und `Read(!secrets/public/**)` blockiert Claude Code immer noch `secrets/public` zusammen mit dem Rest von `secrets`.

467 

457Wenn Claude auf einen Symlink zugreift, überprüfen Berechtigungsregeln zwei Pfade: den Symlink selbst und die Datei, auf die er verweist. Allow- und Deny-Regeln behandeln dieses Paar unterschiedlich: Allow-Regeln fallen auf Aufforderungen zurück, während Deny-Regeln direkt blockieren.468Wenn Claude auf einen Symlink zugreift, überprüfen Berechtigungsregeln zwei Pfade: den Symlink selbst und die Datei, auf die er verweist. Allow- und Deny-Regeln behandeln dieses Paar unterschiedlich: Allow-Regeln fallen auf Aufforderungen zurück, während Deny-Regeln direkt blockieren.

458 469 

459* **Allow-Regeln**: gelten nur, wenn sowohl der Symlink-Pfad als auch sein Ziel übereinstimmen. Ein Symlink in einem zulässigen Verzeichnis, der außerhalb davon verweist, fordert Sie immer noch auf.470* **Allow-Regeln**: gelten nur, wenn sowohl der Symlink-Pfad als auch sein Ziel übereinstimmen. Ein Symlink in einem zulässigen Verzeichnis, der außerhalb davon verweist, fordert Sie immer noch auf.


506}517}

507```518```

508 519 

509Wenn Sie Claude bitten, eine Seite abzurufen, ruft es ab, ohne Sie aufzufordern. Wenn Sie es bitten, einen [sandboxed](/docs/de/sandboxing) `curl` gegen einen Host außerhalb der Sandbox-Allowlist auszuführen, fordert Claude Code Sie immer noch für diesen Host auf, oder im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) sendet die Anfrage an den Klassifizierer, da die bare Regel den Host nicht zur Allowlist hinzugefügt hat.520Wenn Sie Claude bitten, eine Seite abzurufen, ruft es ab, ohne Sie aufzufordern. Wenn Sie es bitten, einen [sandboxed](/docs/de/sandboxing) `curl` gegen einen Host außerhalb der Sandbox-Allowlist auszuführen, fordert Claude Code Sie immer noch für diesen Host auf, oder im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) sendet die Anfrage an den Klassifizierer, da die bare Regel den Host nicht zur Allowlist hinzugefügt hat. Siehe [Pro-Befehl zulässige Domänen im Auto-Modus](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode).

510 521 

511<h3 id="mcp">522<h3 id="mcp">

512 MCP523 MCP


646Berechtigungen und [Sandboxing](/docs/de/sandboxing) sind komplementäre Sicherheitsebenen:657Berechtigungen und [Sandboxing](/docs/de/sandboxing) sind komplementäre Sicherheitsebenen:

647 658 

648* **Berechtigungen** steuern, welche Werkzeuge Claude Code verwenden kann und auf welche Dateien oder Domänen es zugreifen kann. Sie gelten für Bash, Read, Edit, WebFetch, MCP und alle anderen Werkzeuge, außer dass eine Deny- oder Ask-Regel [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) nicht blockieren kann, während ein anderes Werkzeug aktiv bleibt.659* **Berechtigungen** steuern, welche Werkzeuge Claude Code verwenden kann und auf welche Dateien oder Domänen es zugreifen kann. Sie gelten für Bash, Read, Edit, WebFetch, MCP und alle anderen Werkzeuge, außer dass eine Deny- oder Ask-Regel [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) nicht blockieren kann, während ein anderes Werkzeug aktiv bleibt.

649* **Sandboxing** bietet OS-Ebenen-Durchsetzung, die den Zugriff des Bash-Werkzeugs auf das Dateisystem und das Netzwerk einschränkt. Es gilt nur für Bash-Befehle und ihre untergeordneten Prozesse.660* **Sandboxing** bietet OS-Ebenen-Durchsetzung, die den Zugriff von Shell-Befehlen auf das Dateisystem und das Netzwerk einschränkt. Es gilt nur für Bash, PowerShell und [Monitor](/docs/de/tools-reference#monitor-tool) Befehle und ihre untergeordneten Prozesse.

650 661 

651Verwenden Sie beide für Defense-in-Depth, da Sandbox-Einschränkungen weiterhin gelten, selbst wenn eine Prompt-Injection Claude's Entscheidungsfindung umgeht. Pfade und Domänen sowohl aus Sandbox-Einstellungen als auch aus Berechtigungsregeln werden [in die endgültige Sandbox-Konfiguration zusammengeführt](/docs/de/sandboxing#permission-rules).662Verwenden Sie beide für Defense-in-Depth, da Sandbox-Einschränkungen weiterhin gelten, selbst wenn eine Prompt-Injection Claude's Entscheidungsfindung umgeht. Pfade und Domänen sowohl aus Sandbox-Einstellungen als auch aus Berechtigungsregeln werden [in die endgültige Sandbox-Konfiguration zusammengeführt](/docs/de/sandboxing#permission-rules).

652 663 

platforms.md +2 −1

Details

73* [Desktop](/docs/de/desktop): visuelle Diff-Überprüfung, parallele Sitzungen, Computernutzung und Dispatch73* [Desktop](/docs/de/desktop): visuelle Diff-Überprüfung, parallele Sitzungen, Computernutzung und Dispatch

74* [VS Code](/docs/de/vs-code): die Claude Code-Erweiterung in Ihrem Editor74* [VS Code](/docs/de/vs-code): die Claude Code-Erweiterung in Ihrem Editor

75* [JetBrains](/docs/de/jetbrains): die Erweiterung für IntelliJ, PyCharm und andere JetBrains-IDEs75* [JetBrains](/docs/de/jetbrains): die Erweiterung für IntelliJ, PyCharm und andere JetBrains-IDEs

76* [Claude Code im Web](/docs/de/claude-code-on-the-web): Cloud-Sitzungen, die weiterlaufen, wenn Sie sich trennen76* [Web](/docs/de/claude-code-on-the-web): Cloud-Sitzungen aus Ihrem Browser unter claude.ai/code, die weiterlaufen, wenn Sie sich trennen

77* [Projekte](/docs/de/claude-projects): eine Konversation, in der Claude viele Cloud-Sitzungen für ein Projekt koordiniert und Bericht erstattet

77* [Mobile](/docs/de/mobile): die Claude-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) zum Starten und Überwachen von Aufgaben, wenn Sie weg von Ihrem Computer sind78* [Mobile](/docs/de/mobile): die Claude-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) zum Starten und Überwachen von Aufgaben, wenn Sie weg von Ihrem Computer sind

78 79 

79<h3 id="integrations">80<h3 id="integrations">

Details

41}41}

42```42```

43 43 

44Ein Eintrag kann ein einfacher String mit nur dem Plugin-Namen sein, wie `"audit-logger"` im obigen Beispiel, das von der Version abhängt, die der Marketplace dieses Plugins bereitstellt. Für mehr Kontrolle verwenden Sie ein Objekt mit diesen Feldern:44Ein Eintrag kann ein einfacher String mit nur dem Plugin-Namen sein, wie `"audit-logger"` im `deploy-kit`-Manifest, das von der Version abhängt, die der Marketplace dieses Plugins bereitstellt. Für mehr Kontrolle verwenden Sie ein Objekt mit diesen Feldern:

45 45 

46| Feld | Typ | Beschreibung |46| Feld | Typ | Beschreibung |

47| :------------ | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :------------ | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


75 75 

76Die Installation von `backend-standard` löst alle vier Abhängigkeiten auf und installiert sie.76Die Installation von `backend-standard` löst alle vier Abhängigkeiten auf und installiert sie.

77 77 

78Um später ein Tool zum Standard-Set hinzuzufügen, veröffentlichen Sie eine neue `backend-standard`-Version mit der zusätzlichen Abhängigkeit. Auto-Update ist standardmäßig für Nicht-Anthropic-Marketplaces deaktiviert, daher wählen Ingenieure die neue Version auf eine von zwei Arten:78Um später ein Tool zum Standard-Set hinzuzufügen, veröffentlichen Sie eine neue `backend-standard`-Version mit der zusätzlichen Abhängigkeit. Sofern der Marketplace nicht [Auto-Updates konfiguriert hat](/docs/de/discover-plugins#configure-auto-updates), wählen Ingenieure die neue Version auf eine von zwei Arten:

79 79 

80* Aktivieren Sie Auto-Update für den Marketplace in `/plugin`. Das nächste Auto-Update verschiebt das Bundle zur neuen Version und installiert alle Abhängigkeiten, die es hinzufügt.80* Aktivieren Sie Auto-Update für den Marketplace in `/plugin`. Das nächste Auto-Update verschiebt das Bundle zur neuen Version und installiert alle Abhängigkeiten, die es hinzufügt.

81* Führen Sie `claude plugin update backend-standard` aus, dann `/reload-plugins`, um die neu hinzugefügten Abhängigkeiten zu installieren.81* Führen Sie `claude plugin update backend-standard` aus, dann `/reload-plugins`, um die neu hinzugefügten Abhängigkeiten zu installieren.

Details

71 ```71 ```

72 72 

73 <Note>73 <Note>

74 Das Festlegen von `version` bedeutet, dass Benutzer nur Updates erhalten, wenn Sie dieses Feld ändern. Erhöhen Sie es daher bei jeder Veröffentlichung. Ein Plugin mit einer [`command` Quelle](#command-sources) wird nicht durch dieses Feld fixiert. Wenn Sie `version` weglassen, kommt die Version aus der nächsten Quelle in der [Versionsverwaltung](/docs/de/plugins-reference#version-management).74 Das Festlegen von `version` bedeutet, dass Benutzer nur Updates erhalten, wenn Sie dieses Feld ändern. Erhöhen Sie es daher bei jeder Veröffentlichung. Ein Plugin mit einer [`command` Quelle](#command-sources) wird nicht durch dieses Feld fixiert. Weder ist ein Plugin [in Ort geladen](/docs/de/plugins-reference#plugin-caching-and-file-resolution) aus einem Marktplatz, der als lokales Verzeichnis hinzugefügt wurde. Wenn Sie `version` weglassen, kommt die Version aus der nächsten Quelle in der [Versionsverwaltung](/docs/de/plugins-reference#version-management).

75 </Note>75 </Note>

76 </Step>76 </Step>

77 77 


116Um mehr über die Möglichkeiten von Plugins zu erfahren, einschließlich hooks, Agents, MCP servers und LSP servers, siehe [Plugins](/docs/de/plugins).116Um mehr über die Möglichkeiten von Plugins zu erfahren, einschließlich hooks, Agents, MCP servers und LSP servers, siehe [Plugins](/docs/de/plugins).

117 117 

118<Note>118<Note>

119 **Wie Plugins installiert werden**: Wenn Benutzer ein Plugin installieren, kopiert Claude Code das Plugin-Verzeichnis an einen Cache-Speicherort, mit Ausnahme einer [`command` Quelle im Link-Modus](#copy-mode-and-link-mode), die stattdessen verwendet wird. Kopierte Plugins können keine Dateien außerhalb ihres Verzeichnisses mit Pfaden wie `../shared-utils` referenzieren, da diese Dateien nicht kopiert werden.119 **Wie Plugins installiert werden**: Wenn Benutzer ein Plugin installieren, kopiert Claude Code das Plugin-Verzeichnis an einen Cache-Speicherort, es sei denn, das Plugin wird in Ort geladen. Eine [`command` Quelle im Link-Modus](#copy-mode-and-link-mode) wird in Ort geladen, und ebenso eine [relative Pfad-Quelle](#relative-paths) in einem Marktplatz, der aus einem lokalen Verzeichnis hinzugefügt wurde. Kopierte Plugins können keine Dateien außerhalb ihres Verzeichnisses mit Pfaden wie `../shared-utils` referenzieren, da diese Dateien nicht kopiert werden.

120 120 

121 Wenn Sie Dateien über Plugins hinweg teilen müssen, verwenden Sie Symlinks. Siehe [Plugin-Caching und Dateiauflösung](/docs/de/plugins-reference#plugin-caching-and-file-resolution) für Details.121 Wenn Sie Dateien über Plugins hinweg teilen müssen, verwenden Sie Symlinks. Siehe [Plugin-Caching und Dateiauflösung](/docs/de/plugins-reference#plugin-caching-and-file-resolution) für Details.

122</Note>122</Note>


167</h3>167</h3>

168 168 

169| Feld | Typ | Beschreibung | Beispiel |169| Feld | Typ | Beschreibung | Beispiel |

170| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------- |170| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- |

171| `name` | string | Marktplatz-Identifier in Kebab-Case, ohne Leerzeichen, Steuerzeichen oder bidirektionale Formatierungszeichen. Dies ist öffentlich sichtbar: Benutzer sehen es beim Installieren von Plugins (z. B. `/plugin install my-tool@your-marketplace`). Jeder Benutzer kann nur einen Marktplatz pro Name registrieren: Wenn er einen zweiten Marktplatz mit demselben Namen hinzufügt, ersetzt Claude Code den ersten. Um mehrere Plugins unter einem Marktplatznamen zu veröffentlichen, listen Sie diese alle in einer [einzelnen `marketplace.json`](#create-the-marketplace-file) auf. | `"acme-tools"` |171| `name` | string | Marktplatz-Identifier in Kebab-Case, ohne Leerzeichen, Steuerzeichen oder bidirektionale Formatierungszeichen. Dies ist öffentlich sichtbar: Benutzer sehen es beim Installieren von Plugins (z. B. `/plugin install my-tool@your-marketplace`). Jeder Benutzer kann nur einen Marktplatz pro Name registrieren: Wenn er einen zweiten Marktplatz mit demselben Namen hinzufügt, ersetzt Claude Code den ersten. Um mehrere Plugins unter einem Marktplatznamen zu veröffentlichen, listen Sie diese alle in einer [einzelnen `marketplace.json`](#create-the-marketplace-file) auf. | `"acme-tools"` |

172| `owner` | object | Informationen zum Marktplatz-Betreuer ([siehe Felder unten](#owner-fields)) | |172| `owner` | object | Informationen zum Marktplatz-Betreuer. Siehe [Eigentümer-Felder](#owner-fields) | |

173| `plugins` | array | Liste der verfügbaren Plugins | Siehe unten |173| `plugins` | array | Liste der verfügbaren Plugins | Siehe [Plugin-Einträge](#plugin-entries) |

174 174 

175<Note>175<Note>

176 **Reservierte Namen**: Die folgenden Marktplatznamen sind für die offizielle Nutzung durch Anthropic reserviert und können nicht von Drittanbieter-Marktplätzen verwendet werden: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `claude-tag-plugins`, `healthcare`. Namen, die offizielle Marktplätze imitieren, wie `official-claude-plugins` oder `anthropic-plugins-v2`, sind ebenfalls blockiert. Das Reservieren dieser Namen verhindert, dass sich ein Drittanbieter-Marktplatz als von Anthropic veröffentlichte Quelle darstellt.176 **Reservierte Namen**: Die folgenden Marktplatznamen sind für die offizielle Nutzung durch Anthropic reserviert und können nicht von Drittanbieter-Marktplätzen verwendet werden: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `claude-tag-plugins`, `healthcare`. Namen, die offizielle Marktplätze imitieren, wie `official-claude-plugins` oder `anthropic-plugins-v2`, sind ebenfalls blockiert. Das Reservieren dieser Namen verhindert, dass sich ein Drittanbieter-Marktplatz als von Anthropic veröffentlichte Quelle darstellt.

177 177 

178 Claude Code überprüft reservierte Namen jedes Mal, wenn es einen Marktplatz lädt, nicht nur wenn Sie einen hinzufügen. Ein Marktplatz, der unter einem dieser Namen registriert wurde, bevor der Name reserviert wurde, wird nicht mehr geladen und meldet, dass er [von einer nicht vertrauenswürdigen Quelle registriert ist](/docs/de/errors#marketplace-is-registered-from-an-untrusted-source). Entfernen Sie diesen Marktplatz und fügen Sie ihn erneut aus der offiziellen Anthropic-Quelle hinzu. Ein Drittanbieter-Marktplatz, der von einem neu reservierten Namen betroffen ist, wird erneut geladen, sobald Sie ihn unter einem anderen Namen erneut hinzufügen. Vor v2.1.205 waren `first-party-plugins` und `healthcare` nicht reserviert, und ein Marktplatz, der bereits unter einem reservierten Namen registriert war, wurde weiterhin geladen. Vor v2.1.265 war `claude-tag-plugins` nicht reserviert.178 Claude Code überprüft reservierte Namen jedes Mal, wenn es einen Marktplatz lädt, nicht nur wenn Sie einen hinzufügen. Ein Marktplatz, der unter einem dieser Namen registriert wurde, bevor der Name reserviert wurde, wird nicht mehr geladen und meldet, dass er [von einer nicht vertrauenswürdigen Quelle registriert ist](/docs/de/errors#marketplace-is-registered-from-an-untrusted-source). Entfernen Sie diesen Marktplatz und fügen Sie ihn erneut aus der offiziellen Anthropic-Quelle hinzu. Ein Drittanbieter-Marktplatz, der von einem neu reservierten Namen betroffen ist, wird erneut geladen, sobald Sie ihn unter einem anderen Namen erneut hinzufügen. Vor v2.1.205 waren `first-party-plugins` und `healthcare` nicht reserviert, und ein Marktplatz, der bereits unter einem reservierten Namen registriert war, wurde weiterhin geladen. Vor v2.1.265 war `claude-tag-plugins` nicht reserviert.

179 

180 Sie können einen Marktplatz auch nicht `npm`, `pip`, `uv`, `cargo`, `github` oder `gh` nennen, in beliebiger Schreibweise. Diese Überprüfung erfordert Claude Code v2.1.275 oder später.

179</Note>181</Note>

180 182 

181<h3 id="owner-fields">183<h3 id="owner-fields">


225**Standard-Metadatenfelder:**227**Standard-Metadatenfelder:**

226 228 

227| Feld | Typ | Beschreibung |229| Feld | Typ | Beschreibung |

228| :--------------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |230| :--------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

229| `displayName` | string | Benutzerfreundlicher Name, der in UI-Oberflächen angezeigt wird. Wenn weder der Eintrag noch die `plugin.json` des Plugins einen festlegen, sehen Benutzer den `name` des Plugins. Kann Leerzeichen und beliebige Groß-/Kleinschreibung enthalten. Wird nicht für Namensräume oder Suche verwendet. |231| `displayName` | string | Benutzerfreundlicher Name, der in UI-Oberflächen angezeigt wird. Wenn weder der Eintrag noch die `plugin.json` des Plugins einen festlegen, sehen Benutzer den `name` des Plugins. Kann Leerzeichen und beliebige Groß-/Kleinschreibung enthalten. Wird nicht für Namensräume oder Suche verwendet. |

230| `description` | string | Kurze Plugin-Beschreibung |232| `description` | string | Kurze Plugin-Beschreibung |

231| `version` | string | Plugin-Version. Falls gesetzt (hier oder in `plugin.json`), wird das Plugin auf diese Zeichenkette festgelegt und Benutzer erhalten Updates nur, wenn sie sich ändert. Ein Plugin mit einer [`command`-Quelle](#command-sources) wird durch keines der beiden Felder festgelegt. Falls an keiner Stelle gesetzt, kommt die Version aus der nächsten Quelle in [Versionsverwaltung](/docs/de/plugins-reference#version-management). |233| `version` | string | Plugin-Version. Falls gesetzt (hier oder in `plugin.json`), wird das Plugin auf diese Zeichenkette festgelegt und Benutzer erhalten Updates nur, wenn sie sich ändert. Ein Plugin mit einer [`command`-Quelle](#command-sources) wird durch keines der beiden Felder festgelegt. Auch nicht ein Plugin, das [an Ort und Stelle geladen](/docs/de/plugins-reference#plugin-caching-and-file-resolution) wird von einem Marktplatz, der als lokales Verzeichnis hinzugefügt wurde. Falls an keiner Stelle gesetzt, kommt die Version aus der nächsten Quelle in [Versionsverwaltung](/docs/de/plugins-reference#version-management). |

232| `author` | object | Plugin-Autoreninformationen (`name` erforderlich; `email` und `url` optional) |234| `author` | object | Plugin-Autoreninformationen (`name` erforderlich; `email` und `url` optional) |

233| `homepage` | string | Plugin-Homepage oder Dokumentations-URL |235| `homepage` | string | Plugin-Homepage oder Dokumentations-URL |

234| `repository` | string | Quellcode-Repository-URL |236| `repository` | string | Quellcode-Repository-URL |


274 276 

275Plugin-Quellen teilen Claude Code mit, wo jedes einzelne Plugin in Ihrem Marktplatz abgerufen werden soll. Diese werden im `source`-Feld jedes Plugin-Eintrags in `marketplace.json` festgelegt.277Plugin-Quellen teilen Claude Code mit, wo jedes einzelne Plugin in Ihrem Marktplatz abgerufen werden soll. Diese werden im `source`-Feld jedes Plugin-Eintrags in `marketplace.json` festgelegt.

276 278 

277Claude Code kopiert jedes installierte Plugin in den lokalen versionierten Plugin-Cache unter `~/.claude/plugins/cache`, außer für eine [`command`-Quelle im Link-Modus](#copy-mode-and-link-mode), die Claude Code stattdessen verwendet. Claude Code [installiert auch die berechtigten Node.js-Paketabhängigkeiten des Plugins](/docs/de/plugins-reference#node-js-package-dependencies) in die zwischengespeicherte Kopie.279Claude Code kopiert jedes installierte Plugin in den lokalen versionierten Plugin-Cache unter `~/.claude/plugins/cache`, außer das Plugin wird an Ort und Stelle geladen. Eine [`command`-Quelle im Link-Modus](#copy-mode-and-link-mode) wird an Ort und Stelle geladen, und ebenso eine [relative Pfad-Quelle](#relative-paths) in einem Marktplatz, der aus einem lokalen Verzeichnis hinzugefügt wurde. Claude Code [installiert auch die berechtigten Node.js-Paketabhängigkeiten des Plugins](/docs/de/plugins-reference#node-js-package-dependencies) in die zwischengespeicherte Kopie. Siehe [Plugin-Caching und Dateiauflösung](/docs/de/plugins-reference#plugin-caching-and-file-resolution), um zu erfahren, wie ein Plugin, das an Ort und Stelle aus einem Marktplatz mit lokalem Verzeichnis geladen wird, Ihre Änderungen übernimmt.

278 280 

279| Quelle | Typ | Felder | Notizen |281| Quelle | Typ | Felder | Notizen |

280| -------------- | -------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |282| -------------- | -------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


282| `github` | object | `repo`, `ref?`, `sha?` | |284| `github` | object | `repo`, `ref?`, `sha?` | |

283| `url` | object | `url`, `ref?`, `sha?` | Git-URL-Quelle |285| `url` | object | `url`, `ref?`, `sha?` | Git-URL-Quelle |

284| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Unterverzeichnis in einem Git-Repo. Klont sparsam, um die Bandbreite für Monorepos zu minimieren |286| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Unterverzeichnis in einem Git-Repo. Klont sparsam, um die Bandbreite für Monorepos zu minimieren |

285| `npm` | object | `package`, `version?`, `registry?` | Installiert über `npm install` |287| `npm` | object | `package`, `version?`, `registry?` | npm-Paket, abgerufen mit Ihrem npm-Client und entpackt, ohne Installationsskripte auszuführen |

286| `archive` | object | `url`, `sha256?` | Zip-Archiv, das über HTTPS heruntergeladen wird. Funktioniert ohne Git oder npm auf dem Computer des Benutzers. Erfordert Claude Code v2.1.224 oder später |288| `archive` | object | `url`, `sha256?` | Zip-Archiv, das über HTTPS heruntergeladen wird. Funktioniert ohne Git oder npm auf dem Computer des Benutzers. Erfordert Claude Code v2.1.224 oder später |

287| `command` | object | `command`, `timeout?`, `mode?` | Plugin-Verzeichnis, das durch Ausführung eines lokalen Befehls erzeugt wird, wird einmal pro Sitzung erneut ausgeführt, um Änderungen zu übernehmen. Erfordert Claude Code v2.1.229 oder später |289| `command` | object | `command`, `timeout?`, `mode?` | Plugin-Verzeichnis, das durch Ausführung eines lokalen Befehls erzeugt wird, wird einmal pro Sitzung erneut ausgeführt, um Änderungen zu übernehmen. Erfordert Claude Code v2.1.229 oder später |

288 290 


437 npm-Pakete439 npm-Pakete

438</h3>440</h3>

439 441 

440Plugins, die als npm-Pakete verteilt werden, werden mit `npm install` installiert. Dies funktioniert mit jedem Paket in der öffentlichen npm-Registry oder einer privaten Registry, die Ihr Team hostet.442Eine npm-Quelle kann jedes Paket in der öffentlichen npm-Registry oder in einer privaten Registry, die Ihr Team hostet, benennen. Claude Code löst das Paket mit Ihrem npm-Client auf, lädt das Tarball herunter und entpackt es in den Plugin-Cache.

443 

444Die Installationsskripte des Pakets, wie z. B. `preinstall` oder `postinstall`, werden niemals ausgeführt, und seine Abhängigkeiten werden während des Abrufs nicht installiert.

445 

446Wenn das Paket eine unterstützte Sperrdatei neben seiner `package.json` enthält, installiert Claude Code diese [Node.js-Paketabhängigkeiten](/docs/de/plugins-reference#node-js-package-dependencies) in einem separaten Schritt, auch mit deaktivierten Skripten. Andernfalls veröffentlichen Sie das Plugin mit allem, was es bereits erstellt benötigt. Ein MCP-Server, der andere Pakete benötigt, kann über `npx` gestartet werden, das sie beim ersten Lauf installiert.

441 447 

442```json theme={null}448```json theme={null}

443{449{


612 Wie Benutzer einen headersHelper-Befehl akzeptieren618 Wie Benutzer einen headersHelper-Befehl akzeptieren

613</h4>619</h4>

614 620 

615Ein Benutzer akzeptiert den Befehl eines Plugin-Eintrags jedes Mal, wenn er dieses eine Plugin selbst installiert oder aktualisiert, aus der eigenen Ansicht des Plugins in `/plugin` oder mit `claude plugin install` oder `claude plugin update`. Claude Code zeigt den Befehl und die Archive-URL und führt den Befehl nur aus, nachdem der Benutzer akzeptiert. In einer nicht-interaktiven Shell übergeben Sie [`--yes`](/docs/de/plugins-reference#plugin-install), um ihn zu akzeptieren.621Ein Benutzer akzeptiert den Befehl eines Plugin-Eintrags jedes Mal, wenn er dieses eine Plugin selbst installiert oder aktualisiert, aus der eigenen Ansicht des Plugins in `/plugin` oder mit `claude plugin install` oder `claude plugin update`. Claude Code zeigt den Befehl und die Archive-URL und führt den Befehl nur aus, nachdem der Benutzer akzeptiert.

622 

623In einer nicht-interaktiven Shell übergeben Sie [`--yes`](/docs/de/plugins-reference#plugin-install), um den Befehl zu akzeptieren. Um nur den Befehl zu akzeptieren, den ein vorheriger `--json`-Lauf angezeigt hat, übergeben Sie [`--accept-command`](/docs/de/plugins-reference#plugin-install) mit dem `sha256`, den der Lauf gemeldet hat.

616 624 

617Claude Code führt nur den Befehl aus, den er angezeigt hat, für die Archive-URL, die er angezeigt hat. Wenn sich der Befehl oder die Archive-URL des Eintrags dazwischen geändert haben, lehnt Claude Code die Installation oder Aktualisierung ab. Eine Änderung nur in der Abfragezeichenkette zählt nicht.625Claude Code führt nur den Befehl aus, den er angezeigt hat, für die Archive-URL, die er angezeigt hat. Wenn sich der Befehl oder die Archive-URL des Eintrags dazwischen geändert haben, lehnt Claude Code die Installation oder Aktualisierung ab. Eine Änderung nur in der Abfragezeichenkette zählt nicht.

618 626 


693 701 

694Claude Code führt Ihren Befehl auf dem Computer des Benutzers aus, daher bindet jeder Lauf an die explizite Akzeptanz des Benutzers:702Claude Code führt Ihren Befehl auf dem Computer des Benutzers aus, daher bindet jeder Lauf an die explizite Akzeptanz des Benutzers:

695 703 

696* Wenn Benutzer das Plugin aus seinem Detailbildschirm in `/plugin` installieren oder es mit `claude plugin install` oder `claude plugin update` in einem interaktiven Terminal installieren oder aktualisieren, zeigt Claude Code ihnen zuerst die genaue Befehlszeichenkette und zeichnet den akzeptierten Befehl für diese Installation auf. Ein `claude plugin update`, das auf der aufgezeichneten Akzeptanz des gleichen Befehls fortfahren kann, zeigt nichts. In einer nicht-interaktiven Shell, wie z. B. einem Bereitstellungsskript, übergeben Sie `--yes` an `claude plugin install` oder `claude plugin update`, um den Befehl zu akzeptieren, den es ausgibt.704* Wenn Benutzer das Plugin aus seinem Detailbildschirm in `/plugin` installieren oder es mit `claude plugin install` oder `claude plugin update` in einem interaktiven Terminal installieren oder aktualisieren, zeigt Claude Code ihnen zuerst die genaue Befehlszeichenkette und zeichnet den akzeptierten Befehl für diese Installation auf. Ein `claude plugin update`, das auf der aufgezeichneten Akzeptanz des gleichen Befehls fortfahren kann, zeigt nichts.

705* In einer nicht-interaktiven Shell, wie z. B. einem Bereitstellungsskript, übergeben Sie `--yes` an `claude plugin install` oder `claude plugin update`, um den Befehl zu akzeptieren, den es ausgibt. Um nur den Befehl zu akzeptieren, den ein vorheriger `--json`-Lauf angezeigt hat, übergeben Sie [`--accept-command`](/docs/de/plugins-reference#plugin-install) mit dem `sha256`, den der Lauf gemeldet hat.

697* Jeder andere Pfad führt nur den Befehl aus, den der Benutzer bereits akzeptiert hat. Dies umfasst Updates, die von `/plugin` gestartet werden, und die Hintergrund-Läufe, die in [Wenn Claude Code den Befehl erneut ausführt](#when-claude-code-re-runs-the-command) beschrieben sind. Wenn keiner akzeptiert wurde, lehnt Claude Code die Ausführung des Befehls ab und teilt dem Benutzer mit, wie er ihn überprüfen kann. Claude Code installiert niemals ein Command-Quellen-Plugin als Abhängigkeit eines anderen Plugins, daher installieren Benutzer es selbst zuerst.706* Jeder andere Pfad führt nur den Befehl aus, den der Benutzer bereits akzeptiert hat. Dies umfasst Updates, die von `/plugin` gestartet werden, und die Hintergrund-Läufe, die in [Wenn Claude Code den Befehl erneut ausführt](#when-claude-code-re-runs-the-command) beschrieben sind. Wenn keiner akzeptiert wurde, lehnt Claude Code die Ausführung des Befehls ab und teilt dem Benutzer mit, wie er ihn überprüfen kann. Claude Code installiert niemals ein Command-Quellen-Plugin als Abhängigkeit eines anderen Plugins, daher installieren Benutzer es selbst zuerst.

698* Wenn Sie den Eintrag's `command` ändern oder seinen `mode` wechseln, behalten Benutzer die Version, die sie bereits haben, und Claude Code stoppt die erneute Ausführung des Befehls. In interaktiven Sitzungen zeigt die Registerkarte `/plugin` Fehler den neuen Befehl, bis der Benutzer ihn überprüft und akzeptiert, indem er `claude plugin update <plugin>@<marketplace>` ausführt.707* Wenn Sie den Eintrag's `command` ändern oder seinen `mode` wechseln, behalten Benutzer die Version, die sie bereits haben, und Claude Code stoppt die erneute Ausführung des Befehls. In interaktiven Sitzungen zeigt die Registerkarte `/plugin` Fehler den neuen Befehl, bis der Benutzer ihn überprüft und akzeptiert, indem er `claude plugin update <plugin>@<marketplace>` ausführt.

699 708 


810 Marktplätze hosten und verteilen819 Marktplätze hosten und verteilen

811</h2>820</h2>

812 821 

822Wenn Benutzer einen in einem Git-Repository gehosteten Marktplatz hinzufügen oder ein Git-basiertes Plugin installieren, das dieser auflistet, klont Claude Code diesen Marktplatz oder das Plugin-Repository auf ihre Maschine. Der Klon lädt niemals [Git LFS](https://git-lfs.com)-Inhalte herunter, daher kommen LFS-verfolgte Dateien als Zeigerdateien an. Halten Sie die Dateien, die Ihre Plugins benötigen, aus LFS heraus.

823 

813<h3 id="host-on-github-recommended">824<h3 id="host-on-github-recommended">

814 Auf GitHub hosten (empfohlen)825 Auf GitHub hosten (empfohlen)

815</h3>826</h3>


836 Private Repositories847 Private Repositories

837</h3>848</h3>

838 849 

839Claude Code unterstützt die Installation von Plugins aus privaten Repositories. Wenn Sie Ihren Marktplatz stattdessen über [**Organisationseinstellungen > Plugins**](https://claude.ai/admin-settings/plugins) verteilen, sind Ihre Git-Anmeldedaten nicht beteiligt: Die Organisationssynchronisierung liest das Marktplatz-Repository über die Claude GitHub App oder Ihre GitHub Enterprise App der Organisation, und eine Plugin-Quelle, die sie nicht authentifizieren kann, muss öffentlich sein. Siehe [Über Organisationseinstellungen verteilen](#distribute-through-organization-settings) für die vollständigen Regeln.850Claude Code unterstützt die Installation von Plugins aus privaten Repositories. Wenn Sie Ihren Marktplatz stattdessen über [**Organisationseinstellungen > Plugins**](https://claude.ai/admin-settings/plugins) verteilen, sind Ihre Git-Anmeldedaten nicht beteiligt: Die Organisationssynchronisierung liest das Marktplatz-Repository über Ihre Organisation's GitHub- oder GitLab-Verbindung auf claude.ai. Siehe [Über Organisationseinstellungen verteilen](#distribute-through-organization-settings) für die Regeln, welche Plugin-Quellen privat sein können.

840 851 

841<h4 id="commands-you-run">852<h4 id="commands-you-run">

842 Befehle, die Sie ausführen853 Befehle, die Sie ausführen


848 Hintergrund-Auto-Updates859 Hintergrund-Auto-Updates

849</h4>860</h4>

850 861 

851Standardmäßig deaktiviert die Hintergrund-Aktualisierung Git-Credential-Helper für seinen `git pull`, sodass der Pull sich nicht bei privaten Repositories über HTTPS authentifizieren kann, auch wenn ein Helper konfiguriert ist. SSH-Remotes sind nicht betroffen: Ein in `ssh-agent` geladener Schlüssel authentifiziert Hintergrund-Pulls genauso wie die Befehle, die Sie ausführen. Wenn der Hintergrund-Pull fehlschlägt, greift Claude Code auf das erneute Klonen des Marktplatzes von Grund auf zurück. Das erneute Klonen verwendet Ihre gespeicherten Git-Anmeldedaten, kann aber bei großen Repositories [zeitlich überschritten werden](#git-operations-time-out), daher können Auto-Updates für private Marktplätze intermittierend fehlschlagen.862Standardmäßig deaktiviert die Hintergrund-Aktualisierung Git-Credential-Helper, wenn sie das Remote-Repository des Marktplatzes auf neue Commits überprüft, daher kann die Überprüfung sich nicht bei privaten Repositories über HTTPS authentifizieren, auch wenn ein Helper konfiguriert ist. SSH-Remotes sind nicht betroffen: Ein in `ssh-agent` geladener Schlüssel authentifiziert die Hintergrund-Überprüfung genauso wie die Befehle, die Sie ausführen.

863 

864Wenn die Überprüfung neue Commits findet oder fehlschlägt, weil sie das Remote nicht erreichen oder sich nicht authentifizieren kann, klont Claude Code den Marktplatz erneut und tauscht den neuen Klon aus. Wenn dieser Klon fehlschlägt, bleibt der vorhandene Checkout an Ort und Stelle. Das erneute Klonen verwendet Ihre gespeicherten Git-Anmeldedaten, kann aber bei großen Repositories [zeitlich überschritten werden](#git-operations-time-out), daher können Auto-Updates für private Marktplätze intermittierend fehlschlagen.

852 865 

853Zwei Einstellungen machen private Marktplätze vorhersehbar:866Zwei Einstellungen machen private Marktplätze vorhersehbar:

854 867 

855* Legen Sie `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` fest, um den vorhandenen Klon beizubehalten, wenn der Hintergrund-Pull fehlschlägt, anstatt zu löschen und erneut zu klonen. Ihre Plugins funktionieren weiterhin aus dem letzten synchronisierten Zustand, und manuelle Updates mit `/plugin marketplace update` ziehen immer noch mit Ihren Anmeldedaten.868* Legen Sie `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` fest, um den vorhandenen Checkout beizubehalten, ohne das erneute Klonen zu versuchen, wenn die Hintergrund-Überprüfung das Remote nicht erreichen oder sich nicht authentifizieren kann. Ihre Plugins funktionieren weiterhin aus dem letzten synchronisierten Zustand, und manuelle Updates mit `/plugin marketplace update` authentifizieren sich immer noch mit Ihren Anmeldedaten.

856* Konfigurieren Sie einen Git-Credential-Helper, beispielsweise mit `gh auth setup-git` für GitHub, damit das erneute Klonen-Fallback sich ohne Eingabeaufforderung authentifizieren kann.869* Konfigurieren Sie einen Git-Credential-Helper, beispielsweise mit `gh auth setup-git` für GitHub, damit das erneute Klonen sich ohne Eingabeaufforderung authentifizieren kann.

857 870 

858Das Festlegen eines Provider-Tokens wie `GITHUB_TOKEN` in Ihrer Umgebung ermöglicht nicht von selbst die Hintergrund-Authentifizierung. Tokens wirken sich nur durch einen konfigurierten Credential-Helper aus, beispielsweise den Helper der `gh` CLI, der `GH_TOKEN` und `GITHUB_TOKEN` liest.871Das Festlegen eines Provider-Tokens wie `GITHUB_TOKEN` in Ihrer Umgebung ermöglicht nicht von selbst die Hintergrund-Authentifizierung. Tokens wirken sich nur durch einen konfigurierten Credential-Helper aus, beispielsweise den Helper der `gh` CLI, der `GH_TOKEN` und `GITHUB_TOKEN` liest.

859 872 

860Um den Hintergrund-Pull selbst über HTTPS zu authentifizieren, konfigurieren Sie ein globales Git-URL-Rewrite. Das Rewrite bettet ein Token in die Remote-URL ein, sodass es wirksam wird, obwohl der Hintergrund-Pull Credential-Helper deaktiviert, und ein erfolgreicher Pull überspringt das erneute Klonen-Fallback. Das folgende Beispiel schreibt die URL des Marktplatz-Repositories um, um ein Zugriffs-Token einzuschließen:873Um die Hintergrund-Überprüfung selbst über HTTPS zu authentifizieren, konfigurieren Sie ein globales Git-URL-Rewrite. Das Rewrite bettet ein Token in die Remote-URL ein, sodass es wirksam wird, obwohl die Hintergrund-Überprüfung Credential-Helper deaktiviert. Wenn die Überprüfung den Checkout als aktuell feststellt, überspringt Claude Code das erneute Klonen. Das folgende Beispiel schreibt die URL des Marktplatz-Repositories um, um ein Zugriffs-Token einzuschließen:

861 874 

862```bash theme={null}875```bash theme={null}

863git config --global url."https://x-access-token:YOUR_TOKEN@github.com/acme-corp/plugins".insteadOf "https://github.com/acme-corp/plugins"876git config --global url."https://x-access-token:YOUR_TOKEN@github.com/acme-corp/plugins".insteadOf "https://github.com/acme-corp/plugins"


876Das Rewrite speichert das Token im Klartext in Ihrer Gitconfig, daher verwenden Sie ein Token mit Nur-Lese-Zugriff auf das Marktplatz-Repository.889Das Rewrite speichert das Token im Klartext in Ihrer Gitconfig, daher verwenden Sie ein Token mit Nur-Lese-Zugriff auf das Marktplatz-Repository.

877 890 

878<Note>891<Note>

879 Konfigurieren Sie in CI/CD-Umgebungen einen Git-Credential-Helper, bevor Sie Plugins aus privaten Repositories installieren. Auf GitHub Actions exportieren Sie ein Token mit Lesezugriff auf das Marktplatz-Repository als `GH_TOKEN`, führen Sie dann `gh auth setup-git` aus. Das Standard-Workflow-Token kann nur auf das eigene Repository des Workflows zugreifen, daher benötigt ein privater Marktplatz in einem anderen Repository ein persönliches Zugriffs-Token oder App-Token. Ein globales URL-Rewrite, das in der Pipeline konfiguriert ist, authentifiziert auch den Hintergrund-Pull direkt.892 Konfigurieren Sie in CI/CD-Umgebungen einen Git-Credential-Helper, bevor Sie Plugins aus privaten Repositories installieren. Auf GitHub Actions exportieren Sie ein Token mit Lesezugriff auf das Marktplatz-Repository als `GH_TOKEN`, führen Sie dann `gh auth setup-git` aus. Das Standard-Workflow-Token kann nur auf das eigene Repository des Workflows zugreifen, daher benötigt ein privater Marktplatz in einem anderen Repository ein persönliches Zugriffs-Token oder App-Token.

893 

894 Wenn Sie ein globales URL-Rewrite in der Pipeline konfigurieren, authentifiziert das Rewrite auch die Hintergrund-Überprüfung direkt.

880</Note>895</Note>

881 896 

882<h3 id="distribute-through-organization-settings">897<h3 id="distribute-through-organization-settings">


885 900 

886Wenn Sie Plugins über [**Organisationseinstellungen > Plugins**](https://claude.ai/admin-settings/plugins) in einem Team- oder Enterprise-Plan verteilen, gelten diese Quellregeln:901Wenn Sie Plugins über [**Organisationseinstellungen > Plugins**](https://claude.ai/admin-settings/plugins) in einem Team- oder Enterprise-Plan verteilen, gelten diese Quellregeln:

887 902 

888* Das Marktplatz-Repository muss privat oder intern sein. Die Organisationssynchronisierung liest es über die Claude GitHub App oder Ihre GitHub Enterprise App der Organisation.903* Auf github.com und gitlab.com muss das Marktplatz-Repository privat oder intern sein. Die Organisationssynchronisierung liest das Repository über die Verbindung, die seinem Host entspricht:

904 * **github.com**: die Claude GitHub App

905 * **Ihr GitHub Enterprise Server-Host**: Ihre Organisation's [GitHub Enterprise App](/docs/de/github-enterprise-server#admin-setup)

906 * **gitlab.com oder Ihre selbstverwaltete GitLab-Instanz**: das Zugriffs-Token in Ihrer Organisation's [GitLab-Konfiguration](#sync-a-gitlab-hosted-marketplace) für diesen Host

889* Jede Plugin-Quelle muss vom Typ `github`, `url` oder `git-subdir` sein, oder ein [relativer Pfad](#relative-paths), der mit `./` beginnt. Wenn Sie ein Plugin unter `metadata.pluginRoot` nach bloßem Namen auflisten, lehnt die Organisationssynchronisierung es als nicht unterstützte Quelle ab, daher schreiben Sie den Pfad aus, wie `./plugins/deploy-tools`.907* Jede Plugin-Quelle muss vom Typ `github`, `url` oder `git-subdir` sein, oder ein [relativer Pfad](#relative-paths), der mit `./` beginnt. Wenn Sie ein Plugin unter `metadata.pluginRoot` nach bloßem Namen auflisten, lehnt die Organisationssynchronisierung es als nicht unterstützte Quelle ab, daher schreiben Sie den Pfad aus, wie `./plugins/deploy-tools`.

890* Eine Plugin-Quelle kann in zwei Fällen privat sein:908* Eine Plugin-Quelle kann in drei Fällen privat sein:

891 * Eine github.com-Quelle, die den Besitzer des Marktplatz-Repositories teilt909 * Eine github.com-Quelle, die den Besitzer des Marktplatz-Repositories teilt

892 * Eine Quelle auf Ihrem GitHub Enterprise-Host der Organisation mit der GHE App, die auf dem Repository installiert ist910 * Eine Quelle auf Ihrem GitHub Enterprise-Host der Organisation mit der GHE App, die auf dem Repository installiert ist

893* Die Organisationssynchronisierung ruft jede andere Quelle ohne Anmeldedaten ab, daher müssen github.com-Repositories unter einem anderen Besitzer und Repositories auf anderen Hosts wie GitLab oder Bitbucket öffentlich sein.911 * Eine `url`- oder `git-subdir`-Quelle auf dem gleichen GitLab-Host wie das Marktplatz-Repository. Auf gitlab.com muss die Quelle auch unter der gleichen Top-Level-Gruppe oder dem gleichen Benutzer-Namespace wie das Marktplatz-Repository sein

912* Jede andere Plugin-Quelle muss ein öffentliches Repository auf github.com, gitlab.com oder bitbucket.org sein, das die Organisationssynchronisierung ohne Anmeldedaten abruft. Die Organisationssynchronisierung lehnt Plugin-Quellen auf Hosts ab, die diese Regeln nicht abdecken.

894 913 

895Siehe [Plugins für Ihre Organisation verwalten](https://support.claude.com/en/articles/13837433) für den Admin-Workflow.914Siehe [Plugins für Ihre Organisation verwalten](https://support.claude.com/en/articles/13837433) für den Admin-Workflow.

896 915 


905}924}

906```925```

907 926 

927<h4 id="sync-a-gitlab-hosted-marketplace">

928 Synchronisieren Sie einen GitLab-gehosteten Marktplatz

929</h4>

930 

931Um einen Marktplatz von gitlab.com oder einer selbstverwalteten GitLab-Instanz zu synchronisieren, fügt ein [Besitzer](/docs/de/server-managed-settings#access-control) zunächst eine GitLab-Konfiguration für diesen Host unter [**Organisationseinstellungen > Claude Code**](https://claude.ai/admin-settings/claude-code) hinzu. GitLab-Konfigurationen befinden sich in öffentlicher Beta und gelten nur für die Plugin-Marktplatz-Synchronisierung. Das Hinzufügen einer Konfiguration macht GitLab-Repositories nicht in [Claude Code im Web](/docs/de/claude-code-on-the-web#limitations) verfügbar. Siehe [Plugins für Ihre Organisation verwalten](https://support.claude.com/en/articles/13837433) für die Einrichtungsschritte.

932 

933Wenn Sie den Marktplatz hinzufügen, geben Sie die HTTPS-URL des Projekts ein, wie `https://gitlab.example.com/platform/claude-plugins`. Projekte in verschachtelten Untergruppen funktionieren. Die Organisationssynchronisierung liest den Standard-Branch des Projekts. Wenn Sie **Automatisch synchronisieren** aktivieren, starten nur Pushes zum Standard-Branch eine Synchronisierung.

934 

908<h4 id="keep-executables-out-of-the-top-level-bin-directory">935<h4 id="keep-executables-out-of-the-top-level-bin-directory">

909 Halten Sie ausführbare Dateien aus dem Top-Level-bin-Verzeichnis heraus936 Halten Sie ausführbare Dateien aus dem Top-Level-bin-Verzeichnis heraus

910</h4>937</h4>


984 1011 

985Verhaltensdetails:1012Verhaltensdetails:

986 1013 

987* **Schreibgeschützt**: Das Seed-Verzeichnis wird nie geschrieben. Auto-Updates sind für Seed-Marktplätze deaktiviert, da git pull auf einem schreibgeschützten Dateisystem fehlschlagen würde.1014* **Schreibgeschützt**: Claude Code schreibt niemals in das Seed-Verzeichnis.

1015* **Auto-Updates deaktiviert**: Seed-Marktplätze werden nicht automatisch aktualisiert.

988* **Seed-Einträge haben Vorrang**: Marktplätze, die in der Seed deklariert sind, überschreiben alle übereinstimmenden Einträge in der Benutzerkonfiguration bei jedem Start. Um sich von einem Seed-Plugin abzumelden, verwenden Sie `/plugin disable`, anstatt den Marktplatz zu entfernen.1016* **Seed-Einträge haben Vorrang**: Marktplätze, die in der Seed deklariert sind, überschreiben alle übereinstimmenden Einträge in der Benutzerkonfiguration bei jedem Start. Um sich von einem Seed-Plugin abzumelden, verwenden Sie `/plugin disable`, anstatt den Marktplatz zu entfernen.

989* **Pfadauflösung**: Claude Code lokalisiert Marktplatz-Inhalte, indem es `$CLAUDE_CODE_PLUGIN_SEED_DIR/marketplaces/<name>/` zur Laufzeit durchsucht, nicht indem es Pfaden vertraut, die in der Seed-JSON gespeichert sind. Dies bedeutet, dass die Seed korrekt funktioniert, auch wenn sie an einem anderen Pfad als dort, wo sie erstellt wurde, bereitgestellt wird.1017* **Pfadauflösung**: Claude Code lokalisiert Marktplatz-Inhalte, indem es `$CLAUDE_CODE_PLUGIN_SEED_DIR/marketplaces/<name>/` zur Laufzeit durchsucht, nicht indem es Pfaden vertraut, die in der Seed-JSON gespeichert sind. Dies bedeutet, dass die Seed korrekt funktioniert, auch wenn sie an einem anderen Pfad als dort, wo sie erstellt wurde, bereitgestellt wird.

990* **Mutation ist blockiert**: Das Ausführen von `/plugin marketplace remove` oder `/plugin marketplace update` gegen einen Seed-verwalteten Marktplatz schlägt mit Anleitung fehl, um Ihren Administrator zu bitten, das Seed-Image zu aktualisieren.1018* **Mutation ist blockiert**: Das Ausführen von `/plugin marketplace remove` oder `/plugin marketplace update` gegen einen Seed-verwalteten Marktplatz schlägt mit Anleitung fehl, um Ihren Administrator zu bitten, das Seed-Image zu aktualisieren.


1018}1046}

1019```1047```

1020 1048 

1049Claude Code lädt die Plugins [von claude.ai synchronisiert](/docs/de/plugins-reference#synced-plugins) von Ihrem Konto statt von einem Marktplatz herunter, daher deckt diese Sperrung sie nicht ab. Um diese auch zu stoppen, legen Sie [`syncClaudeAiPlugins`](/docs/de/settings-reference#syncclaudeaiplugins) in verwalteten Einstellungen auf `false` fest, oder deaktivieren Sie Skills für Ihre Organisation auf claude.ai.

1050 

1021Nur den offiziellen Anthropic-Marktplatz zulassen. Der Abgleich für einen einzelnen Repository-Eintrag ist exakt, daher deckt dieser Eintrag keine `ref`- oder `path`-Varianten desselben Repositories ab:1051Nur den offiziellen Anthropic-Marktplatz zulassen. Der Abgleich für einen einzelnen Repository-Eintrag ist exakt, daher deckt dieser Eintrag keine `ref`- oder `path`-Varianten desselben Repositories ab:

1022 1052 

1023```json theme={null}1053```json theme={null}


1128 1158 

1129Der exakte Abgleich der Zulassungsliste behandelt URLs, die sich nur durch einen nachgestellten Schrägstrich, ein `.git`-Suffix oder das `ssh://`- und `https://`-Schema unterscheiden, als unterschiedliche Werte. Wenn Ihr Organisations-Marktplatz durch mehr als eine URL-Form geklont werden kann, bevorzugen Sie einen `hostPattern`-Eintrag gegenüber einer literalen URL, damit die `https://`-, `ssh://`- und `user@host:path`-Formen alle übereinstimmen.1159Der exakte Abgleich der Zulassungsliste behandelt URLs, die sich nur durch einen nachgestellten Schrägstrich, ein `.git`-Suffix oder das `ssh://`- und `https://`-Schema unterscheiden, als unterschiedliche Werte. Wenn Ihr Organisations-Marktplatz durch mehr als eine URL-Form geklont werden kann, bevorzugen Sie einen `hostPattern`-Eintrag gegenüber einer literalen URL, damit die `https://`-, `ssh://`- und `user@host:path`-Formen alle übereinstimmen.

1130 1160 

1161Ein [auf claude.ai gehosteter Marktplatz](/docs/de/discover-plugins#add-from-claude-ai) wird nach Host abgeglichen: Ein `hostPattern`-Eintrag, der `claude.ai` abgleicht, regelt ihn in `strictKnownMarketplaces` und in `blockedMarketplaces`. Auf der Zulassungsliste lässt ein solcher Eintrag nicht die persönlichen claude.ai-Uploads eines Mitglieds zu. Erfordert Claude Code v2.1.273 oder später.

1162 

1131Da `strictKnownMarketplaces` in [verwalteten Einstellungen](/docs/de/managed-settings) festgelegt ist, können einzelne Benutzer und Projektkonfigurationen diese Einschränkungen nicht überschreiben.1163Da `strictKnownMarketplaces` in [verwalteten Einstellungen](/docs/de/managed-settings) festgelegt ist, können einzelne Benutzer und Projektkonfigurationen diese Einschränkungen nicht überschreiben.

1132 1164 

1133Für vollständige Konfigurationsdetails einschließlich aller unterstützten Quellentypen und Vergleich mit `extraKnownMarketplaces` siehe die [strictKnownMarketplaces-Referenz](/docs/de/settings-reference#strictknownmarketplaces).1165Für vollständige Konfigurationsdetails einschließlich aller unterstützten Quellentypen und Vergleich mit `extraKnownMarketplaces` siehe die [strictKnownMarketplaces-Referenz](/docs/de/settings-reference#strictknownmarketplaces).


1139Plugin-Versionen bestimmen Cache-Pfade und Update-Erkennung: Wenn die aufgelöste Version mit dem übereinstimmt, was ein Benutzer bereits hat, überspringen `/plugin update` und Auto-Update das Plugin. Für Git-basierte Quellen, wenn Sie `version` weglassen, verwendet Claude Code den aufgelösten Commit-SHA der Quelle, daher erhalten Benutzer ein Update, wenn sich dieser Commit ändert; dies ist die einfachste Einrichtung für interne oder aktiv entwickelte Plugins. Siehe [Versionsverwaltung](/docs/de/plugins-reference#version-management) für die vollständige Auflösungsreihenfolge, einschließlich `archive`-Quellen.1171Plugin-Versionen bestimmen Cache-Pfade und Update-Erkennung: Wenn die aufgelöste Version mit dem übereinstimmt, was ein Benutzer bereits hat, überspringen `/plugin update` und Auto-Update das Plugin. Für Git-basierte Quellen, wenn Sie `version` weglassen, verwendet Claude Code den aufgelösten Commit-SHA der Quelle, daher erhalten Benutzer ein Update, wenn sich dieser Commit ändert; dies ist die einfachste Einrichtung für interne oder aktiv entwickelte Plugins. Siehe [Versionsverwaltung](/docs/de/plugins-reference#version-management) für die vollständige Auflösungsreihenfolge, einschließlich `archive`-Quellen.

1140 1172 

1141<Warning>1173<Warning>

1142 Das Festlegen von `version` heftet das Plugin für jeden Quellentyp außer [`command`](#command-sources) an, dessen Version immer einen Hash dessen enthält, was der Befehl produziert hat. Wenn Sie `"version": "1.0.0"` in `plugin.json` deklarieren und neue Commits pushen, ohne diese Zeichenkette zu ändern, behalten bestehende Benutzer dieser Quellen die zwischengespeicherte Kopie, da Claude Code die gleiche Version sieht. Erhöhen Sie das Feld bei jeder Veröffentlichung, oder lassen Sie es weg, um auf die aufgelöste Version zurückzugreifen.1174 Das Festlegen von `version` heftet das Plugin für jeden Quellentyp außer [`command`](#command-sources) an, dessen Version immer einen Hash dessen enthält, was der Befehl produziert hat. Ein Plugin [geladen an Ort und Stelle](/docs/de/plugins-reference#plugin-caching-and-file-resolution) aus einem Marktplatz, der als lokales Verzeichnis hinzugefügt wurde, ist auch nicht angeheftet. Wenn Sie `"version": "1.0.0"` in `plugin.json` deklarieren und neue Commits pushen, ohne diese Zeichenkette zu ändern, behalten bestehende Benutzer dieser Quellen die zwischengespeicherte Kopie, da Claude Code die gleiche Version sieht. Erhöhen Sie das Feld bei jeder Veröffentlichung, oder lassen Sie es weg, um auf die aufgelöste Version zurückzugreifen.

1143 1175 

1144 Vermeiden Sie das Festlegen von `version` sowohl in `plugin.json` als auch im Marktplatz-Eintrag. Claude Code verwendet immer den `plugin.json`-Wert ohne Warnung, daher kann eine veraltete Manifest-Version eine Version maskieren, die Sie in `marketplace.json` festgelegt haben.1176 Vermeiden Sie das Festlegen von `version` sowohl in `plugin.json` als auch im Marktplatz-Eintrag. Claude Code verwendet immer den `plugin.json`-Wert ohne Warnung, daher kann eine veraltete Manifest-Version eine Version maskieren, die Sie in `marketplace.json` festgelegt haben.

1145</Warning>1177</Warning>


1330**Optionen:**1362**Optionen:**

1331 1363 

1332| Option | Beschreibung | Standard |1364| Option | Beschreibung | Standard |

1333| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |1365| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |

1334| `--scope <scope>` | Wo der Marktplatz deklariert werden soll: `user`, `project` oder `local`. Siehe [Plugin-Installationsbereiche](/docs/de/plugins-reference#plugin-installation-scopes) | `user` |1366| `--scope <scope>` | Wo der Marktplatz deklariert werden soll: `user`, `project` oder `local`. Siehe [Plugin-Installationsbereiche](/docs/de/plugins-reference#plugin-installation-scopes) | `user` |

1335| `--sparse <paths...>` | Begrenzen Sie den Checkout auf bestimmte Verzeichnisse über git sparse-checkout. Nützlich für Monorepos | |1367| `--sparse <paths...>` | Begrenzen Sie den Checkout auf bestimmte Verzeichnisse über git sparse-checkout. Nützlich für Monorepos | |

1368| `--claudeai` | Lesen Sie das Argument als den Namen eines [auf claude.ai gehosteten Marktplatzes](/docs/de/discover-plugins#add-from-claude-ai) statt als eine Quelle. Erfordert Claude Code v2.1.273 oder später | |

1336 1369 

1337Fügen Sie einen Marktplatz aus GitHub mit `owner/repo` Kurzform hinzu:1370Fügen Sie einen Marktplatz aus GitHub mit `owner/repo` Kurzform hinzu:

1338 1371 


1376claude plugin marketplace add acme-corp/monorepo --sparse .claude-plugin plugins1409claude plugin marketplace add acme-corp/monorepo --sparse .claude-plugin plugins

1377```1410```

1378 1411 

1412Fügen Sie einen [auf claude.ai gehosteten Marktplatz](/docs/de/discover-plugins#add-from-claude-ai) nach dem Namen hinzu, der im Abschnitt `From claude.ai:` von `claude plugin marketplace list` angezeigt wird:

1413 

1414```bash theme={null}

1415claude plugin marketplace add --claudeai claudeai-organization-library

1416```

1417 

1418Mit `--claudeai` lehnt der Befehl `--scope` und `--sparse` ab. Der Marktplatz wird für Ihr Konto gehostet, nicht in einer Einstellungsdatei deklariert, daher können Sie ihn nicht über die `.claude/settings.json` eines Projekts teilen.

1419 

1379<h3 id="plugin-marketplace-list">1420<h3 id="plugin-marketplace-list">

1380 Plugin marketplace list1421 Plugin marketplace list

1381</h3>1422</h3>


1394 1435 

1395Mit `--json` enthält jeder Eintrag `name`, `source`, ein `installLocation`-Feld mit dem lokalen Cache-Pfad, wo der Marktplatz gespeichert ist, und quellenspezifische Felder: `repo` für GitHub-Quellen, `url` für Git- und URL-Quellen und `path` für lokale Quellen. GitHub- und Git-Quellen enthalten auch ein `ref`-Feld, wenn der Marktplatz mit einem angehefteten Branch oder Tag hinzugefügt wurde.1436Mit `--json` enthält jeder Eintrag `name`, `source`, ein `installLocation`-Feld mit dem lokalen Cache-Pfad, wo der Marktplatz gespeichert ist, und quellenspezifische Felder: `repo` für GitHub-Quellen, `url` für Git- und URL-Quellen und `path` für lokale Quellen. GitHub- und Git-Quellen enthalten auch ein `ref`-Feld, wenn der Marktplatz mit einem angehefteten Branch oder Tag hinzugefügt wurde.

1396 1437 

1438Ein hinzugefügter [claude.ai-Marktplatz](/docs/de/discover-plugins#add-from-claude-ai) hat keinen lokalen Klon, daher enthält sein Eintrag seine claude.ai-Identifikatoren, `marketplaceId` und `organizationUuid`, anstelle von `installLocation`.

1439 

1440In Terminal-Sitzungen, in denen [Plugins von Ihrem claude.ai-Konto synchronisiert werden](/docs/de/plugins-reference#synced-plugins), endet die Textauflistung mit einem Abschnitt `From claude.ai:`, der auflistet, was claude.ai für Ihr Konto über die Marktplätze hinaus auflistet, die Sie hinzugefügt haben. Um einen von ihnen hinzuzufügen, siehe [Hinzufügen von claude.ai](/docs/de/discover-plugins#add-from-claude-ai). Die `--json`-Ausgabe umfasst nur konfigurierte Marktplätze und lässt diesen Abschnitt aus. Erfordert Claude Code v2.1.273 oder später.

1441 

1397<h3 id="plugin-marketplace-remove">1442<h3 id="plugin-marketplace-remove">

1398 Plugin marketplace remove1443 Plugin marketplace remove

1399</h3>1444</h3>


1472| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Das benannte Verzeichnis hat keine `.claude-plugin/marketplace.json` oder `plugin.json`, und keine Skill-, Agent- oder Befehlsdateien zum Überprüfen | Führen Sie aus dem Marktplatz-Root aus, oder erstellen Sie `.claude-plugin/marketplace.json` mit erforderlichen Feldern |1517| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Das benannte Verzeichnis hat keine `.claude-plugin/marketplace.json` oder `plugin.json`, und keine Skill-, Agent- oder Befehlsdateien zum Überprüfen | Führen Sie aus dem Marktplatz-Root aus, oder erstellen Sie `.claude-plugin/marketplace.json` mit erforderlichen Feldern |

1473| `Invalid JSON syntax: Unexpected token...` | JSON-Syntaxfehler in marketplace.json | Überprüfen Sie auf fehlende Kommas, zusätzliche Kommas oder nicht zitierte Strings |1518| `Invalid JSON syntax: Unexpected token...` | JSON-Syntaxfehler in marketplace.json | Überprüfen Sie auf fehlende Kommas, zusätzliche Kommas oder nicht zitierte Strings |

1474| `Duplicate plugin name "x" found in marketplace` | Zwei Plugins teilen denselben Namen | Geben Sie jedem Plugin einen eindeutigen `name`-Wert |1519| `Duplicate plugin name "x" found in marketplace` | Zwei Plugins teilen denselben Namen | Geben Sie jedem Plugin einen eindeutigen `name`-Wert |

1475| `plugins[0].source: Path contains ".."` | Quellpfad enthält `..` | Verwenden Sie Pfade relativ zum Marktplatz-Root ohne `..`. Siehe [Relative Pfade](#relative-paths) |1520| `plugins[0].source: Path contains ".."` | Ein Segment des Quellpfads ist `..` | Verwenden Sie Pfade relativ zum Marktplatz-Root ohne `..`-Segmente. Siehe [Relative Pfade](#relative-paths) |

1476| `Marketplace name cannot contain control or bidirectional-formatting characters` | Der Marktplatz-`name` enthält ein Unicode-Bidirektional-Formatierungszeichen oder ein Steuerzeichen, wie ein Escape oder ein Zeilenumbruch | Entfernen Sie das Zeichen aus dem Namen. Vor v2.1.247 erzeugten diese Zeichen den Fehler `Marketplace name impersonates an official Anthropic/Claude marketplace` |1521| `Marketplace name cannot contain control or bidirectional-formatting characters` | Der Marktplatz-`name` enthält ein Unicode-Bidirektional-Formatierungszeichen oder ein Steuerzeichen, wie ein Escape oder ein Zeilenumbruch | Entfernen Sie das Zeichen aus dem Namen. Vor v2.1.247 erzeugten diese Zeichen den Fehler `Marketplace name impersonates an official Anthropic/Claude marketplace` |

1477| `Plugin name cannot contain control or bidirectional-formatting characters` | Ein Plugin-`name` enthält ein Unicode-Bidirektional-Formatierungszeichen oder ein Steuerzeichen, wie ein Escape oder ein Zeilenumbruch | Entfernen Sie das Zeichen aus dem Namen. Vor v2.1.247 führte Claude Code diese Überprüfung nicht durch |1522| `Plugin name cannot contain control or bidirectional-formatting characters` | Ein Plugin-`name` enthält ein Unicode-Bidirektional-Formatierungszeichen oder ein Steuerzeichen, wie ein Escape oder ein Zeilenumbruch | Entfernen Sie das Zeichen aus dem Namen. Vor v2.1.247 führte Claude Code diese Überprüfung nicht durch |

1478 1523 


1575 1620 

1576Für Hintergrund-Auto-Updates:1621Für Hintergrund-Auto-Updates:

1577 1622 

1578* Standardmäßig deaktivieren Hintergrund-Aktualisierungen Git-Credential-Helper für den Pull, sodass der Pull nicht über HTTPS authentifizieren kann. SSH-Remotes mit einem in `ssh-agent` geladenen Schlüssel authentifizieren sich immer noch. Ein fehlgeschlagener Pull löst ein erneutes Klonen von Grund auf aus, das Ihre gespeicherten Anmeldedaten verwendet, aber bei großen Repositories möglicherweise zeitüberschreitet1623* Standardmäßig deaktivieren Hintergrund-Aktualisierungen Git-Credential-Helper, wenn sie den Remote auf neue Commits überprüfen, sodass die Überprüfung nicht über HTTPS authentifizieren kann. SSH-Remotes mit einem in `ssh-agent` geladenen Schlüssel authentifizieren sich immer noch

1579* Legen Sie `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` fest, um den vorhandenen Klon beizubehalten, wenn der Hintergrund-Pull fehlschlägt1624* Wenn die Überprüfung nicht authentifizieren kann, klont Claude Code den Marktplatz mit Ihren gespeicherten Anmeldedaten erneut, aber das erneute Klonen kann bei großen Repositories zeitüberschreiten

1580* Konfigurieren Sie einen Git-Credential-Helper, z. B. `gh auth setup-git`, damit das Fallback-Neuklon authentifizieren kann1625* Legen Sie `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` fest, um den vorhandenen Klon beizubehalten, ohne das erneute Klonen zu versuchen, wenn die Hintergrund-Überprüfung den Remote nicht erreichen oder authentifizieren kann

1626* Konfigurieren Sie einen Git-Credential-Helper, z. B. `gh auth setup-git`, damit das erneute Klonen authentifizieren kann

1581* Wenn das Neuklon bei einem großen Repository zeitüberschreitet, erhöhen Sie das Limit mit [`CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`](#git-operations-time-out)1627* Wenn das Neuklon bei einem großen Repository zeitüberschreitet, erhöhen Sie das Limit mit [`CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`](#git-operations-time-out)

1582* Konfigurieren Sie ein [Git-URL-Rewrite](#private-repositories) mit Bereich auf das Marktplatz-Repository, damit der Hintergrund-Pull direkt authentifiziert1628* Konfigurieren Sie ein [Git-URL-Rewrite](#private-repositories) mit Bereich auf das Marktplatz-Repository, damit die Hintergrund-Überprüfung direkt authentifiziert

1583* Oder aktualisieren Sie private Marktplätze manuell mit `/plugin marketplace update <name>`, das Ihre Anmeldedaten verwendet1629* Oder aktualisieren Sie private Marktplätze manuell mit `/plugin marketplace update <name>`, das Ihre Anmeldedaten verwendet

1584 1630 

1585<h3 id="marketplace-updates-fail-in-offline-environments">1631<h3 id="marketplace-updates-fail-in-offline-environments">

1586 Marktplatz-Updates schlagen in Offline-Umgebungen fehl1632 Marktplatz-Updates schlagen in Offline-Umgebungen fehl

1587</h3>1633</h3>

1588 1634 

1589**Symptome**: Marktplatz `git pull` schlägt im Hintergrund fehl und Claude Code versucht wiederholt ein erneutes Klonen, das nicht erfolgreich sein kann.1635**Symptome**: In einer Offline- oder Airgapped-Umgebung kann die Hintergrund-Marktplatz-Aktualisierung den Remote nicht erreichen und Claude Code versucht wiederholt ein erneutes Klonen, das nicht erfolgreich sein kann.

1636 

1637**Ursache**: Die Hintergrund-Aktualisierung überprüft den Remote des Marktplatzes auf neue Commits, und wenn die Überprüfung den Remote nicht erreichen kann, versucht Claude Code, den Marktplatz erneut zu klonen. Offline schlägt das Klonen auf die gleiche Weise fehl und der vorhandene Klon bleibt an Ort und Stelle. Vor v2.1.274 führte die Aktualisierung `git pull` im vorhandenen Klon aus, verschob den Klon zur Seite zum erneuten Klonen, wenn der Pull fehlschlägt, und stellte ihn danach auf Best-Effort-Basis wieder her.

1590 1638 

1591**Ursache**: Standardmäßig versucht Claude Code ein erneutes Klonen von Grund auf, wenn ein `git pull` fehlschlägt. In Offline- oder Airgapped-Umgebungen schlägt das erneute Klonen auf die gleiche Weise fehl, und die Wiederherstellung des vorherigen Cache danach ist Best-Effort. Die Aktualisierung wird im Hintergrund nach dem Start ausgeführt, sodass sie den Start nicht verzögert, aber jede Sitzung wiederholt die fehlgeschlagenen Versuche und jede Git-Operation kann das [120-Sekunden-Timeout](#git-operations-time-out) abwarten.1639Die Aktualisierung wird im Hintergrund nach dem Start ausgeführt, sodass sie den Start nicht verzögert. Jede Sitzung wiederholt immer noch den fehlgeschlagenen Versuch, und jede Git-Operation kann das [120-Sekunden-Timeout](#git-operations-time-out) abwarten.

1592 1640 

1593**Lösung**: Legen Sie `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` fest, um den Neuklon-Versuch zu überspringen und den vorhandenen Cache beizubehalten, wenn der Pull fehlschlägt:1641**Lösung**: Legen Sie `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` fest, um den erneuten Klon-Versuch zu überspringen und den vorhandenen Klon weiterhin zu verwenden, wenn die Überprüfung den Remote nicht erreichen kann:

1594 1642 

1595```bash theme={null}1643```bash theme={null}

1596export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=11644export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1


1602 Git-Operationen zeitüberschreitung1650 Git-Operationen zeitüberschreitung

1603</h3>1651</h3>

1604 1652 

1605**Symptome**: Plugin-Installation oder Marktplatz-Updates schlagen mit einem Timeout-Fehler fehl, wie "Git clone timed out after 120s" oder "Git pull timed out after 120s".1653**Symptome**: Plugin-Installation oder Marktplatz-Updates schlagen mit einem Timeout-Fehler fehl, wie `Git clone timed out after 120s`.

1606 1654 

1607**Ursache**: Claude Code verwendet ein 120-Sekunden-Timeout für alle Git-Operationen, einschließlich Klonen von Plugin-Repositories und Abrufen von Marktplatz-Updates. Große Repositories oder langsame Netzwerkverbindungen können dieses Limit überschreiten.1655**Ursache**: Claude Code verwendet ein 120-Sekunden-Timeout für alle Git-Operationen, einschließlich Klonen von Plugin-Repositories und erneutes Klonen eines Marktplatzes zum Aktualisieren. Große Repositories oder langsame Netzwerkverbindungen können dieses Limit überschreiten.

1608 1656 

1609**Lösung**: Erhöhen Sie das Timeout mit der Umgebungsvariable `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`. Der Wert ist in Millisekunden:1657**Lösung**: Erhöhen Sie das Timeout mit der Umgebungsvariable `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`. Der Wert ist in Millisekunden:

1610 1658 


1634 1682 

1635**Symptome**: Plugin wird installiert, aber Verweise auf Dateien schlagen fehl, besonders Dateien außerhalb des Plugin-Verzeichnisses1683**Symptome**: Plugin wird installiert, aber Verweise auf Dateien schlagen fehl, besonders Dateien außerhalb des Plugin-Verzeichnisses

1636 1684 

1637**Ursache**: Plugins werden in ein Cache-Verzeichnis kopiert, anstatt an Ort und Stelle verwendet zu werden, außer für eine [`command`-Quelle im Link-Modus](#copy-mode-and-link-mode). Pfade, die auf Dateien außerhalb eines kopierten Plugin-Verzeichnisses verweisen (wie `../shared-utils`), funktionieren nicht, da diese Dateien nicht kopiert werden.1685**Ursache**: Claude Code kopiert installierte Plugins in ein Cache-Verzeichnis, anstatt sie an Ort und Stelle zu verwenden, außer wenn ein Plugin in Place lädt. Eine [`command`-Quelle im Link-Modus](#copy-mode-and-link-mode) lädt in Place, und so auch eine [relative Pfad-Quelle](#relative-paths) in einem Marktplatz, der aus einem lokalen Verzeichnis hinzugefügt wurde. Pfade, die auf Dateien außerhalb eines kopierten Plugin-Verzeichnisses verweisen (wie `../shared-utils`), funktionieren nicht, da diese Dateien nicht kopiert werden.

1638 1686 

1639**Lösungen**: Siehe [Plugin-Caching und Dateiauflösung](/docs/de/plugins-reference#plugin-caching-and-file-resolution) für Workarounds, einschließlich Symlinks und Verzeichnisumstrukturierung.1687**Lösungen**: Siehe [Plugin-Caching und Dateiauflösung](/docs/de/plugins-reference#plugin-caching-and-file-resolution) für Workarounds, einschließlich Symlinks und Verzeichnisumstrukturierung.

1640 1688 

Details

86| `filesRead` | array of strings | Glob-Muster, die gegen die Pfade von Dateien abgeglichen werden, die Claude in dieser Sitzung gelesen hat, z. B. `["**/*.tf"]`. Schrägstrich-normalisiert und Groß-/Kleinschreibung-insensitiv. Maximal 10 Muster mit je 256 Zeichen. |86| `filesRead` | array of strings | Glob-Muster, die gegen die Pfade von Dateien abgeglichen werden, die Claude in dieser Sitzung gelesen hat, z. B. `["**/*.tf"]`. Schrägstrich-normalisiert und Groß-/Kleinschreibung-insensitiv. Maximal 10 Muster mit je 256 Zeichen. |

87| `manifestDeps` | array of objects | Abhängigkeiten, die in Paketmanifesten deklariert sind, die Claude in dieser Sitzung gelesen hat. Jeder Eintrag ist `{ "file": "...", "pattern": "..." }`, wobei `file` ein regulärer Ausdruck ist, der gegen den Pfad der Manifestdatei abgeglichen wird, wie er im Sitzungszustand aufgezeichnet ist, typischerweise ein absoluter Pfad, und `pattern` ein regulärer Ausdruck ist, der gegen den Inhalt dieser Datei abgeglichen wird. Verankern Sie `file` am Ende, z. B. `[/\\\\]package\\.json$` in JSON-escaped-Form, da ein am Anfang verankertes Muster niemals einen absoluten Pfad passt. Pfade sind nicht Separator-normalisiert für dieses Signal, daher verwenden Windows-Pfade Backslashes. Manifestdateien größer als 512 KB werden übersprungen. Beide Werte sind JavaScript-`RegExp`-Quellzeichenfolgen mit maximal 256 Zeichen. `file` passt Groß-/Kleinschreibung-insensitiv. `pattern` ist Groß-/Kleinschreibung-sensitiv. Maximal 10 Einträge. |87| `manifestDeps` | array of objects | Abhängigkeiten, die in Paketmanifesten deklariert sind, die Claude in dieser Sitzung gelesen hat. Jeder Eintrag ist `{ "file": "...", "pattern": "..." }`, wobei `file` ein regulärer Ausdruck ist, der gegen den Pfad der Manifestdatei abgeglichen wird, wie er im Sitzungszustand aufgezeichnet ist, typischerweise ein absoluter Pfad, und `pattern` ein regulärer Ausdruck ist, der gegen den Inhalt dieser Datei abgeglichen wird. Verankern Sie `file` am Ende, z. B. `[/\\\\]package\\.json$` in JSON-escaped-Form, da ein am Anfang verankertes Muster niemals einen absoluten Pfad passt. Pfade sind nicht Separator-normalisiert für dieses Signal, daher verwenden Windows-Pfade Backslashes. Manifestdateien größer als 512 KB werden übersprungen. Beide Werte sind JavaScript-`RegExp`-Quellzeichenfolgen mit maximal 256 Zeichen. `file` passt Groß-/Kleinschreibung-insensitiv. `pattern` ist Groß-/Kleinschreibung-sensitiv. Maximal 10 Einträge. |

88 88 

89Die Signale `cli`, `hosts`, `filesRead` und `manifestDeps` benötigen Sitzungsverlauf, daher können sie nur auf dem Spinner-Tipp und der Discover-Registerkarte übereinstimmen. Die Signale `filesRead` und `manifestDeps` testen den aufgezeichneten Dateizustand der Sitzung, der auch Dateien enthält, die Claude geschrieben oder bearbeitet hat, und automatisch geladene `CLAUDE.md`-Speicherdateien.89Die Signale `cli`, `hosts`, `filesRead` und `manifestDeps` benötigen Sitzungsverlauf, daher können sie nur auf dem Spinner-Tipp und der Discover-Registerkarte übereinstimmen.

90 

91Die Signale `filesRead` und `manifestDeps` testen den aufgezeichneten Dateizustand der Sitzung, der auch Dateien enthält, die Claude geschrieben oder bearbeitet hat, und automatisch geladene `CLAUDE.md`-Speicherdateien. Für diese beiden Signale überspringt Claude Code Pfade unter seinem eigenen [Konfigurationsverzeichnis](/docs/de/claude-directory) und seinen temporären Verzeichnissen.

90 92 

91Das folgende Beispiel verwendet `manifestDeps`, um ein Stripe-Plugin vorzuschlagen, sobald Claude eine `package.json` gelesen hat, die von `stripe` abhängt. Das `file`-Muster verwendet `[/\\\\]`, damit es sowohl Schrägstrich- als auch Backslash-Pfad-Trennzeichen passt, und `\\.`, damit der Punkt literal ist. In JSON wird jeder Backslash im regulären Ausdruck zweimal geschrieben.93Das folgende Beispiel verwendet `manifestDeps`, um ein Stripe-Plugin vorzuschlagen, sobald Claude eine `package.json` gelesen hat, die von `stripe` abhängt. Das `file`-Muster verwendet `[/\\\\]`, damit es sowohl Schrägstrich- als auch Backslash-Pfad-Trennzeichen passt, und `\\.`, damit der Punkt literal ist. In JSON wird jeder Backslash im regulären Ausdruck zweimal geschrieben.

92 94 

plugins.md +2 −2

Details

75 ```75 ```

76 76 

77 | Feld | Zweck |77 | Feld | Zweck |

78 | :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |78 | :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

79 | `name` | Eindeutige Kennung und Skill-Namespace. Skills werden mit diesem Präfix versehen (z. B. `/my-first-plugin:hello`). |79 | `name` | Eindeutige Kennung und Skill-Namespace. Skills werden mit diesem Präfix versehen (z. B. `/my-first-plugin:hello`). |

80 | `description` | Wird im Plugin-Manager angezeigt, wenn Sie Plugins durchsuchen oder installieren. |80 | `description` | Wird im Plugin-Manager angezeigt, wenn Sie Plugins durchsuchen oder installieren. |

81 | `version` | Optional. Falls gesetzt, erhalten Benutzer nur Updates, wenn Sie dieses Feld erhöhen, außer für eine [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources); siehe [Versionsverwaltung](/docs/de/plugins-reference#version-management). Falls weggelassen, stammt die Version aus der nächsten Quelle in der [Versionsverwaltung](/docs/de/plugins-reference#version-management). |81 | `version` | Optional. Falls gesetzt, erhalten Benutzer nur Updates, wenn Sie dieses Feld erhöhen, außer für eine [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) oder ein Plugin [lokal geladen](/docs/de/plugins-reference#plugin-caching-and-file-resolution); siehe [Versionsverwaltung](/docs/de/plugins-reference#version-management). Falls weggelassen, stammt die Version aus der nächsten Quelle in der [Versionsverwaltung](/docs/de/plugins-reference#version-management). |

82 | `author` | Optional. Hilfreich für die Zuordnung. |82 | `author` | Optional. Hilfreich für die Zuordnung. |

83 83 

84 Für zusätzliche Felder wie `homepage`, `repository` und `license` siehe das [vollständige Manifest-Schema](/docs/de/plugins-reference#plugin-manifest-schema).84 Für zusätzliche Felder wie `homepage`, `repository` und `license` siehe das [vollständige Manifest-Schema](/docs/de/plugins-reference#plugin-manifest-schema).

Details

40 40 

41Skills und Commands werden automatisch erkannt, wenn das Plugin installiert wird.41Skills und Commands werden automatisch erkannt, wenn das Plugin installiert wird.

42 42 

43Wenn ein Plugin kein `skills/` Verzeichnis und kein `skills` Manifest-Feld hat, wird eine `SKILL.md` im Plugin-Root als einzelner Skill geladen. Setzen Sie das Frontmatter-Feld `name`, um den Aufrufen-Namen des Skills zu steuern. Ohne dieses Feld greift Claude Code auf den Installationsverzeichnisnamen zurück, der bei Marketplace-installierten Plugins ein Versionsstring ist, der sich bei jedem Update ändert. Für Plugins, die mehr als einen Skill bereitstellen, verwenden Sie das oben gezeigte `skills/` Verzeichnis-Layout.43Wenn ein Plugin kein `skills/` Verzeichnis und kein `skills` Manifest-Feld hat, wird eine `SKILL.md` im Plugin-Root als einzelner Skill geladen. Setzen Sie das Frontmatter-Feld `name`, um den Aufrufen-Namen des Skills zu steuern. Ohne dieses Feld greift Claude Code auf den Installationsverzeichnisnamen zurück. Für ein Plugin, das [in den Cache kopiert wurde](#plugin-caching-and-file-resolution), ist dieser Name ein Versionsstring, der sich bei jedem Update ändert. Für Plugins, die mehr als einen Skill bereitstellen, verwenden Sie das oben gezeigte `skills/` Verzeichnis-Layout.

44 44 

45In Plugin-Skills und Commands akzeptieren Boolean-Frontmatter-Felder wie `disable-model-invocation` `yes`, `no`, `on`, `off`, `1` und `0` in beliebiger Schreibweise zusätzlich zu `true` und `false`. Vor v2.1.218 erkannte Claude Code nur `true` und `false`.45In Plugin-Skills und Commands akzeptieren Boolean-Frontmatter-Felder wie `disable-model-invocation` `yes`, `no`, `on`, `off`, `1` und `0` in beliebiger Schreibweise zusätzlich zu `true` und `false`. Vor v2.1.218 erkannte Claude Code nur `true` und `false`.

46 46 


71Detaillierte Systemaufforderung für den Agent, die seine Rolle, Expertise und sein Verhalten beschreibt.71Detaillierte Systemaufforderung für den Agent, die seine Rolle, Expertise und sein Verhalten beschreibt.

72```72```

73 73 

74Plugin-Agents unterstützen die Frontmatter-Felder `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background` und `isolation`. Der einzige gültige `isolation` Wert ist `"worktree"`. Aus Sicherheitsgründen werden `hooks`, `mcpServers` und `permissionMode` für von Plugins bereitgestellte Agents nicht unterstützt.74Plugin-Agents unterstützen die Frontmatter-Felder `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, [`omitClaudeMd`](/docs/de/sub-agents#supported-frontmatter-fields) und `isolation`. Der einzige gültige `isolation` Wert ist `"worktree"`.

75 

76Aus Sicherheitsgründen unterstützen von Plugins bereitgestellte Agents nicht `hooks`, `mcpServers` oder `permissionMode`.

75 77 

76Claude Code lädt einen Plugin-Agent auch dann, wenn sein Frontmatter kein `name` Feld hat oder nicht geparst werden kann:78Claude Code lädt einen Plugin-Agent auch dann, wenn sein Frontmatter kein `name` Feld hat oder nicht geparst werden kann:

77 79 


99 101 

100**Format**: JSON-Konfiguration mit Event-Matchern und Aktionen102**Format**: JSON-Konfiguration mit Event-Matchern und Aktionen

101 103 

104`hooks/hooks.json` kann einen Top-Level-Schlüssel `$schema` enthalten, der eine JSON-Schema-URL für Editor-Autovervollständigung und Validierung benennt. Claude Code ignoriert den Schlüssel beim Laden.

105 

102**Hook-Konfiguration**:106**Hook-Konfiguration**:

103 107 

104```json theme={null}108```json theme={null}


440 Plugins synchronisiert von claude.ai444 Plugins synchronisiert von claude.ai

441</h2>445</h2>

442 446 

443In [Cowork](https://claude.com/product/cowork) und [Cloud-Sitzungen](/docs/de/cloud-environments#what-carries-over-from-your-setup) lädt Claude Code die für Ihr claude.ai-Konto aktivierten Plugins in `~/.claude/plugins/synced/` in der eigenen Umgebung der Sitzung herunter und lädt jedes als `<name>@synced`, ohne Marketplace und ohne Installationsdatensatz. Claude Code lädt sie nicht in Sitzungen, die Sie in Ihrem eigenen Terminal starten. In dieser Cowork- oder Cloud-Umgebung zeigt `claude plugin list` die heruntergeladenen Kopien unter einer `Synced from claude.ai`-Überschrift an. Vor v2.1.239 lud Claude Code diese Plugins als `<name>@inline`, die Identität, die `--plugin-dir`-Plugins verwenden.447Claude Code lädt die für Ihr claude.ai-Konto aktivierten Plugins, einschließlich Plugins, die Ihre Organisation für ihre Mitglieder aktiviert, zusammen mit den Plugins, die Sie aus Marketplaces installieren. Es lädt jedes in `~/.claude/plugins/synced/` herunter und lädt es als `<name>@synced`, ohne Marketplace und ohne Installationsdatensatz. Ein synchronisiertes Plugin wird mit dem gleichen Vertrauen ausgeführt wie ein Marketplace-Plugin, das Sie installiert haben: seine Skills, Agents, Hooks, MCP-Server und LSP-Server werden alle geladen.

448 

449Wo Claude Code diese Plugins synchronisiert, hängt von der Sitzung ab:

450 

451* In [Cowork](https://claude.com/product/cowork) und [Cloud-Sitzungen](/docs/de/cloud-environments#what-carries-over-from-your-setup) lädt Claude Code sie in die eigene Umgebung der Sitzung herunter, wenn die Sitzung startet. Vor v2.1.239 lud Claude Code diese Plugins als `<name>@inline`, die Identität, die `--plugin-dir`-Plugins verwenden.

452* In Terminal-Sitzungen, in denen Sie sich mit Ihrem claude.ai-Konto anmelden, prüft Claude Code Ihr Konto einmal jedes Mal, wenn es startet, und lädt dann neue und aktualisierte Plugins herunter und entfernt die Plugins, die Sie oder Ihre Organisation ausgeschaltet haben, alles im Hintergrund. Die Synchronisierung in Terminal-Sitzungen erfordert Claude Code v2.1.273 oder später.

453 

454Die Startprüfung wird im Hintergrund ausgeführt, sodass sie nach dem Start Ihrer Sitzung abgeschlossen sein kann. Wenn sie ein synchronisiertes Plugin in einer interaktiven Sitzung hinzufügt, aktualisiert oder entfernt, zeigt Claude Code `Plugins changed. Run /reload-plugins to activate.` an. Führen Sie [`/reload-plugins`](/docs/de/discover-plugins#apply-plugin-changes-without-restarting) aus, um die Änderung in dieser Sitzung zu laden, oder lassen Sie sie für das nächste Mal, wenn Sie Claude Code starten. Wenn Sie ein Plugin auf claude.ai aktivieren, während eine Sitzung läuft, lädt Claude Code es beim nächsten Start herunter.

444 455 

445Verwalten Sie ein synchronisiertes Plugin über die `<name>@synced`-ID, die `claude plugin list` ausgibt:456Die Plugin-Synchronisierung in Terminal-Sitzungen wird unter den gleichen Anmeldebedingungen ausgeführt wie [Skills, die von claude.ai synchronisiert werden](/docs/de/skills#where-synced-skills-load). Sie benötigt auch eine Anmeldung, die Claude Code Zugriff auf die Plugins Ihres Kontos gewährt.

446 457 

447* **Eines ausschalten**: Führen Sie in der synchronisierten Sitzung `claude plugin disable <name>@synced` aus, oder bitten Sie Claude, es auszuführen. Claude Code speichert die Auswahl als `"<name>@synced": false` in der [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) dieser Umgebung auf Benutzerebene. Um das Plugin wieder einzuschalten, führen Sie `claude plugin enable <name>@synced` in derselben Sitzung aus. Um ein Plugin aus jeder synchronisierten Sitzung herauszuhalten, [schalten Sie es für Ihr claude.ai-Konto aus](/docs/de/desktop#extend-claude-code). Um es aus den synchronisierten Sitzungen eines Projekts in jeder Umgebung herauszuhalten, setzen Sie `"<name>@synced": false` unter `enabledPlugins` in der committed `.claude/settings.json` dieses Projekts.458Eine Anmeldung aus einer früheren Version von Claude Code erhält Plugin-Zugriff beim nächsten Mal, wenn Claude Code diese Anmeldung im Hintergrund erneuert, innerhalb weniger Stunden, oder sofort, wenn Sie `/login` erneut ausführen. Die Plugin-Synchronisierung startet beim nächsten Mal, wenn Sie Claude Code danach starten.

448* **Verwalten Sie das Plugin selbst auf claude.ai**: `claude plugin install`, `update` und `uninstall` gelten nicht für ein synchronisiertes Plugin. Um eines zu entfernen, schalten Sie das Plugin für Ihr claude.ai-Konto aus; die nächste synchronisierte Sitzung startet ohne es.

449 459 

450Wenn ein aktiviertes Plugin aus einer anderen Quelle, wie eine Marketplace-Installation, ein [Skills-Directory-Plugin](#skills-directory-plugins) oder ein `--plugin-dir`-Plugin, den Namen eines synchronisierten Plugins entspricht, lädt Claude Code dieses Plugin und meldet die synchronisierte Kopie als nicht geladen. Um stattdessen die claude.ai-Kopie zu verwenden, deaktivieren Sie Ihre eigene Kopie. Vor v2.1.239 lud Claude Code die synchronisierte Kopie statt einer gleichnamigen Marketplace-Installation.460`claude plugin list` zeigt synchronisierte Plugins unter einer `Synced from claude.ai`-Überschrift an, und die `/plugin` **Installed**-Registerkarte listet sie mit `synced` als Quelle auf. Verwalten Sie ein synchronisiertes Plugin über die `<name>@synced`-ID, die `claude plugin list` ausgibt:

461 

462* **Eines ausschalten**: Führen Sie `claude plugin disable <name>@synced` aus, oder deaktivieren Sie es über die `/plugin` **Installed**-Registerkarte. Claude Code speichert die Auswahl als `"<name>@synced": false` in Ihren Benutzer-Level-[`enabledPlugins`](/docs/de/settings-reference#enabledplugins). Um das Plugin wieder einzuschalten, führen Sie `claude plugin enable <name>@synced` aus.

463* **Eines überall heraushalten**: [schalten Sie das Plugin für Ihr claude.ai-Konto aus](/docs/de/desktop#extend-claude-code). Um es aus einem Projekt in jeder Umgebung herauszuhalten, setzen Sie `"<name>@synced": false` unter `enabledPlugins` in der committed `.claude/settings.json` dieses Projekts.

464* **Verwalten Sie das Plugin selbst auf claude.ai**: `claude plugin install`, `update` und `uninstall` gelten nicht für ein synchronisiertes Plugin. Claude Code lädt die Updates eines Plugins bei der nächsten Synchronisierung herunter. Um eines zu entfernen, schalten Sie das Plugin für Ihr claude.ai-Konto aus, und Claude Code entfernt es bei der nächsten Synchronisierung.

465* **Synchronisierung auf einem Computer stoppen**: setzen Sie [`syncClaudeAiPlugins`](/docs/de/settings-reference#syncclaudeaiplugins) in Ihren Benutzereinstellungen auf `false`. Claude Code stoppt das Herunterladen, und beim nächsten Start verschiebt es die Plugins, die es bereits synchronisiert hat, in `~/.claude/plugins/.trash/` und lädt sie nicht mehr. Ihre Organisation kann denselben Schlüssel in [verwalteten Einstellungen](/docs/de/managed-settings) setzen oder Skills auf claude.ai ausschalten, was auch verhindert, dass Plugins synchronisiert werden.

466 

467Sie können ein Plugin nicht ausschalten, das Ihre Organisation auf claude.ai als erforderlich markiert. Claude Code lädt es auch dann, wenn Sie es zuvor deaktiviert haben, und `claude plugin disable` weigert sich mit `Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.` In `claude plugin list` sind diese Plugins mit `required by your org` gekennzeichnet.

468 

469Wenn ein aktiviertes Plugin aus einer anderen Quelle den Namen eines synchronisierten Plugins entspricht, lädt Claude Code dieses Plugin und meldet die synchronisierte Kopie als nicht geladen. Andere Quellen umfassen Marketplace-Installationen, [Skills-Directory-Plugins](#skills-directory-plugins), `--plugin-dir`-Plugins und in Claude Code integrierte Plugins. Um stattdessen die claude.ai-Kopie zu verwenden, deaktivieren Sie Ihre eigene Kopie. Vor v2.1.239 lud Claude Code die synchronisierte Kopie statt einer gleichnamigen Marketplace-Installation.

451 470 

452***471***

453 472 


505Wenn Sie ein Manifest einbeziehen, ist `name` das einzige erforderliche Feld.524Wenn Sie ein Manifest einbeziehen, ist `name` das einzige erforderliche Feld.

506 525 

507| Feld | Typ | Beschreibung | Beispiel |526| Feld | Typ | Beschreibung | Beispiel |

508| :----- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |527| :----- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

509| `name` | string | Eindeutiger Bezeichner in Kebab-Case ohne Leerzeichen, Steuerzeichen oder bidirektionale Formatierungszeichen. Wenn ein [Marketplace-Eintrag](/docs/de/plugin-marketplaces#plugin-entries) das Plugin unter einem anderen Namen auflistet, ist der Name des Marketplace-Eintrags das, was `enabledPlugins`-Schlüssel und `/plugin` verwenden | `"deployment-tools"` |528| `name` | string | Eindeutige Kennung in Kebab-Case, ohne Leerzeichen, Steuerzeichen oder bidirektionale Formatierungszeichen. Wenn ein [Marketplace-Eintrag](/docs/de/plugin-marketplaces#plugin-entries) das Plugin unter einem anderen Namen auflistet, ist der Name des Marketplace-Eintrags das, was `enabledPlugins`-Schlüssel und `/plugin` verwenden | `"deployment-tools"` |

510 529 

511Dieser Name wird für die Namensgebung von Komponenten verwendet. Beispielsweise wird der Agent `agent-creator` für das Plugin mit dem Namen `plugin-dev` in der Benutzeroberfläche als `plugin-dev:agent-creator` angezeigt.530Dieser Name wird für die Namensgebung von Komponenten verwendet. Beispielsweise wird der Agent `agent-creator` für das Plugin mit dem Namen `plugin-dev` in der Benutzeroberfläche als `plugin-dev:agent-creator` angezeigt.

512 531 


514 Nicht erkannte Felder533 Nicht erkannte Felder

515</h3>534</h3>

516 535 

517Claude Code ignoriert Felder auf oberster Ebene, die nicht erkannt werden. Sie können Metadaten aus einem anderen Ökosystem in `plugin.json` behalten und das Plugin wird trotzdem geladen. Dies macht es praktisch, ein Manifest zu verwalten, das gleichzeitig als VS Code- oder Cursor-Erweiterungsmanifest, eine npm-`package.json` oder ein MCPB/DXT-Bundle-Manifest dient.536Claude Code ignoriert Felder auf oberster Ebene, die nicht erkannt werden. Sie können Metadaten aus einem anderen Ökosystem in `plugin.json` behalten und das Plugin wird trotzdem geladen. Dies macht es praktisch, ein Manifest zu verwalten, das gleichzeitig als VS Code- oder Cursor-Erweiterungsmanifest, eine npm `package.json` oder ein MCPB/DXT-Bundle-Manifest dient.

518 537 

519`claude plugin validate` meldet nicht erkannte Felder als Warnungen, nicht als Fehler. Wenn ein Feld ein oder zwei Zeichen von einem erkannten Feld entfernt ist, schlägt die Warnung den wahrscheinlich beabsichtigten Namen vor. Ein Plugin mit nur Warnungen zu nicht erkannten Feldern besteht die Validierung und wird zur Laufzeit geladen.538`claude plugin validate` meldet nicht erkannte Felder als Warnungen, nicht als Fehler. Wenn ein Feld ein oder zwei Zeichen von einem erkannten Feld entfernt ist, schlägt die Warnung den wahrscheinlich beabsichtigten Namen vor. Ein Plugin mit nur Warnungen zu nicht erkannten Feldern besteht die Validierung und wird zur Laufzeit geladen.

520 539 

521Wie Claude Code ein erkanntes Feld behandelt, dessen Wert den falschen Typ hat, hängt vom Feld ab:540Wie Claude Code ein erkanntes Feld mit falschem Werttyp behandelt, hängt vom Feld ab:

522 541 

523* **Die meisten Felder**: Das Plugin kann nicht geladen werden. Beispielsweise ist ein `keywords`-Wert, der ein String statt eines Arrays ist, ein Ladefehler, und `claude plugin validate` meldet ihn als solchen.542* **Die meisten Felder**: Das Plugin kann nicht geladen werden. Beispielsweise ist ein `keywords`-Wert, der ein String statt eines Arrays ist, ein Ladefehler, und `claude plugin validate` meldet ihn als solchen.

524* **`experimental` und `metadata`**: Claude Code ignoriert einen Nicht-Objekt-Wert, und `claude plugin validate` meldet eine Warnung.543* **`experimental` und `metadata`**: Claude Code ignoriert einen Nicht-Objekt-Wert, und `claude plugin validate` meldet eine Warnung.

525 544 

526Übergeben Sie `--strict`, um Warnungen als Fehler zu behandeln. Verwenden Sie es in CI, um einen falsch geschriebenen Feldnamen oder ein Feld, das von einem anderen Tool-Manifest übrig geblieben ist, vor der Veröffentlichung zu erfassen, obwohl das Plugin zur Laufzeit geladen würde.545Übergeben Sie `--strict`, um Warnungen als Fehler zu behandeln. Verwenden Sie es in CI, um einen falsch geschriebenen Feldnamen oder ein Feld, das von einem anderen Tool-Manifest übrig ist, vor der Veröffentlichung zu erfassen, obwohl das Plugin zur Laufzeit geladen würde.

527 546 

528```bash theme={null}547```bash theme={null}

529claude plugin validate ./my-plugin --strict548claude plugin validate ./my-plugin --strict


534</h3>553</h3>

535 554 

536| Feld | Typ | Beschreibung | Beispiel |555| Feld | Typ | Beschreibung | Beispiel |

537| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------- |556| :--------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

538| `$schema` | string | JSON-Schema-URL für Editor-Autovervollständigung und Validierung. Claude Code ignoriert dieses Feld zur Ladezeit. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |557| `$schema` | string | JSON-Schema-URL für Editor-Autovervollständigung und Validierung. Claude Code ignoriert dieses Feld zur Ladezeit. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

539| `displayName` | string | Benutzerfreundlicher Name, der in der `/plugin`-Auswahl und anderen UI-Oberflächen angezeigt wird. Für ein Marketplace-installiertes Plugin hat ein `displayName` im [Marketplace-Eintrag](/docs/de/plugin-marketplaces#optional-plugin-fields) Vorrang vor diesem Wert. Wenn kein Anzeigename an beiden Stellen gesetzt ist, sehen Benutzer `name`. Im Gegensatz zu `name` kann es Leerzeichen und beliebige Groß-/Kleinschreibung enthalten. Wird nicht für Namensgebung oder Suche verwendet. | `"Deployment Tools"` |558| `displayName` | string | Benutzerfreundlicher Name, der in der `/plugin`-Auswahl und anderen UI-Oberflächen angezeigt wird. Für ein auf dem Marketplace installiertes Plugin hat ein `displayName` im [Marketplace-Eintrag](/docs/de/plugin-marketplaces#optional-plugin-fields) Vorrang vor diesem Wert. Wenn an keiner Stelle ein Anzeigename festgelegt ist, sehen Benutzer `name`. Im Gegensatz zu `name` kann es Leerzeichen und beliebige Groß-/Kleinschreibung enthalten. Wird nicht für Namensgebung oder Suche verwendet. | `"Deployment Tools"` |

540| `version` | string | Optional. Semantische Version. Das Setzen dieser Version fixiert das Plugin auf diese Versionsnummer, sodass Benutzer nur Updates erhalten, wenn Sie diese erhöhen, außer für eine [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources); siehe [Versionsverwaltung](#version-management). Falls auch im Marketplace-Eintrag gesetzt, gewinnt `plugin.json`. Falls weggelassen, kommt die Version aus der nächsten Quelle in [Versionsverwaltung](#version-management). | `"2.1.0"` |559| `version` | string | Optional. Semantische Versionierung. Das Festlegen dieser Einstellung heftet das Plugin an diese Versionsnummer, sodass Benutzer nur Updates erhalten, wenn Sie diese erhöhen, außer für eine [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) oder ein Plugin [das an Ort und Stelle geladen wird](#plugin-caching-and-file-resolution); siehe [Versionsverwaltung](#version-management). Wenn auch im Marketplace-Eintrag festgelegt, gewinnt `plugin.json`. Falls weggelassen, kommt die Version aus der nächsten Quelle in [Versionsverwaltung](#version-management). | `"2.1.0"` |

541| `description` | string | Kurze Erklärung des Plugin-Zwecks | `"Deployment automation tools"` |560| `description` | string | Kurze Erklärung des Plugin-Zwecks | `"Deployment automation tools"` |

542| `author` | object | Autoreninformationen | `{"name": "Dev Team", "email": "dev@company.com"}` |561| `author` | object | Autoreninformationen | `{"name": "Dev Team", "email": "dev@company.com"}` |

543| `homepage` | string | Dokumentations-URL | `"https://docs.example.com"` |562| `homepage` | string | Dokumentations-URL | `"https://docs.example.com"` |

544| `repository` | string | Quellcode-URL | `"https://github.com/user/plugin"` |563| `repository` | string | Quellcode-URL | `"https://github.com/user/plugin"` |

545| `license` | string | Lizenzbezeichner | `"MIT"`, `"Apache-2.0"` |564| `license` | string | Lizenzkennung | `"MIT"`, `"Apache-2.0"` |

546| `keywords` | array | Erkennungs-Tags | `["deployment", "ci-cd"]` |565| `keywords` | array | Erkennungs-Tags | `["deployment", "ci-cd"]` |

547| `metadata` | object | Freiformobjekt für Ihre eigenen Daten, wie Berechtigungs- oder Katalogfelder. Claude Code liest es nicht, daher beeinflussen die Werte niemals das Plugin-Verhalten. Claude Code ignoriert einen Nicht-Objekt-Wert, und `claude plugin validate` meldet ihn als Warnung. Vor v2.1.222 behandelte Claude Code den Schlüssel als [nicht erkanntes Feld](#unrecognized-fields). | `{"catalogId": "cat-123"}` |566| `metadata` | object | Freiformes Objekt für Ihre eigenen Daten, wie Berechtigungs- oder Katalogfelder. Claude Code liest es nicht, daher beeinflussen die Werte niemals das Plugin-Verhalten. Claude Code ignoriert einen Nicht-Objekt-Wert, und `claude plugin validate` meldet ihn als Warnung. Vor v2.1.222 behandelte Claude Code den Schlüssel als [nicht erkanntes Feld](#unrecognized-fields). | `{"catalogId": "cat-123"}` |

548| `defaultEnabled` | boolean | Ob das Plugin in einem aktivierten Zustand startet, wenn der Benutzer keinen gesetzt hat. Standardmäßig `true`. Siehe [Standardaktivierung](#default-enablement). | `false` |567| `defaultEnabled` | boolean | Ob das Plugin in einem aktivierten Zustand startet, wenn der Benutzer keinen festgelegt hat. Standardmäßig `true`. Siehe [Standardaktivierung](#default-enablement). | `false` |

549 568 

550<h3 id="default-enablement">569<h3 id="default-enablement">

551 Standardaktivierung570 Standardaktivierung

552</h3>571</h3>

553 572 

554Setzen Sie `defaultEnabled: false` in `plugin.json`, um ein Plugin zu versenden, das deaktiviert installiert wird. Der Benutzer aktiviert es mit `claude plugin enable <plugin>` oder der `/plugin`-Schnittstelle. Verwenden Sie dies für Plugins, die Kosten verursachen oder einen Umfang haben, den ein Benutzer akzeptieren sollte, wie eines, das sich mit einem externen Service verbindet.573Setzen Sie `defaultEnabled: false` in `plugin.json`, um ein Plugin zu versenden, das deaktiviert installiert wird. Der Benutzer aktiviert es mit `claude plugin enable <plugin>` oder der `/plugin`-Schnittstelle. Verwenden Sie dies für Plugins, die Kosten hinzufügen oder einen Umfang haben, den ein Benutzer akzeptieren sollte, wie eines, das sich mit einem externen Service verbindet.

555 574 

556`defaultEnabled` ist der Fallback, wenn nichts anderes den Zustand des Plugins entschieden hat. Zwei Dinge haben Vorrang vor ihm:575`defaultEnabled` ist der Fallback, wenn nichts anderes den Zustand des Plugins entschieden hat. Die Einstellung des Benutzers und eine Abhängigkeitsanforderung haben Vorrang:

557 576 

558* **Die Einstellung des Benutzers**: ein Eintrag für das Plugin in `enabledPlugins` in jedem Einstellungsbereich. Einmal geschrieben, bleibt es über Plugin-Updates und Neuinstallationen hinweg bestehen, daher ändert das Ändern von `defaultEnabled` in einer späteren Version nicht den Zustand eines bestehenden Benutzers.577* **Die Einstellung des Benutzers**: ein Eintrag für das Plugin in `enabledPlugins` in jedem Einstellungsbereich. Nach dem Schreiben bleibt es über Plugin-Updates und Neuinstallationen hinweg bestehen, daher ändert das Ändern von `defaultEnabled` in einer späteren Version nicht den Zustand eines bestehenden Benutzers.

559* **Eine Abhängigkeitsanforderung**: Wenn ein Plugin von einem anderen erforderlich ist, das aktiv ist, schreibt Claude Code `true` dafür bei Installation oder Aktivierung. Das gibt ihm eine explizite Einstellung, daher gilt sein eigener Standard nicht mehr. Siehe [Plugin mit Abhängigkeiten aktivieren oder deaktivieren](/docs/de/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies).578* **Eine Abhängigkeitsanforderung**: Wenn ein Plugin von einem anderen erforderlich ist, das aktiv ist, schreibt Claude Code `true` dafür zur Installations- oder Aktivierungszeit. Das gibt ihm eine explizite Einstellung, daher gilt sein eigener Standard nicht mehr. Siehe [Plugin mit Abhängigkeiten aktivieren oder deaktivieren](/docs/de/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies).

560 579 

561Das gleiche Feld kann im Marketplace-Eintrag eines Plugins erscheinen, wo es Vorrang vor dem Wert in `plugin.json` hat. Siehe [Optionale Plugin-Felder](/docs/de/plugin-marketplaces#optional-plugin-fields).580Das gleiche Feld kann im Marketplace-Eintrag eines Plugins erscheinen, wo es Vorrang vor dem Wert in `plugin.json` hat. Siehe [Optionale Plugin-Felder](/docs/de/plugin-marketplaces#optional-plugin-fields).

562 581 


565</h3>584</h3>

566 585 

567| Feld | Typ | Beschreibung | Beispiel |586| Feld | Typ | Beschreibung | Beispiel |

568| :---------------------- | :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |587| :---------------------- | :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

569| `skills` | string\|array | Benutzerdefinierte Skill-Verzeichnisse mit `<name>/SKILL.md`. Ergänzt den Standard-`skills/`-Scan. Siehe [Pfadverhaltenregeln](#path-behavior-rules) für die Marketplace-Root-Ausnahme | `"./custom/skills/"` |588| `skills` | string\|array | Benutzerdefinierte Skill-Verzeichnisse mit `<name>/SKILL.md`. Ergänzt den Standard-`skills/`-Scan. Siehe [Pfadverhaltenregeln](#path-behavior-rules) für die Marketplace-Root-Ausnahme | `"./custom/skills/"` |

570| `commands` | string\|array | Benutzerdefinierte flache `.md`-Skill-Dateien oder Verzeichnisse (ersetzt Standard-`commands/`) | `"./custom/cmd.md"` oder `["./cmd1.md"]` |589| `commands` | string\|array | Benutzerdefinierte flache `.md`-Skill-Dateien oder Verzeichnisse (ersetzt Standard-`commands/`) | `"./custom/cmd.md"` oder `["./cmd1.md"]` |

571| `agents` | string\|array | Benutzerdefinierte Agent-Dateien (ersetzt Standard-`agents/`) | `"./custom/agents/reviewer.md"` |590| `agents` | string\|array | Benutzerdefinierte Agent-Dateien (ersetzt Standard-`agents/`) | `"./custom/agents/reviewer.md"` |


576| `lspServers` | string\|array\|object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)-Konfigurationen für Code-Intelligenz (Gehe zu Definition, Finde Referenzen usw.) | `"./.lsp.json"` |595| `lspServers` | string\|array\|object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)-Konfigurationen für Code-Intelligenz (Gehe zu Definition, Finde Referenzen usw.) | `"./.lsp.json"` |

577| `experimental.themes` | string\|array | Farbthema-Dateien/Verzeichnisse (ersetzt Standard-`themes/`). Siehe [Themes](#themes) | `"./themes/"` |596| `experimental.themes` | string\|array | Farbthema-Dateien/Verzeichnisse (ersetzt Standard-`themes/`). Siehe [Themes](#themes) | `"./themes/"` |

578| `experimental.monitors` | string\|array | Hintergrund-[Monitor](/docs/de/tools-reference#monitor-tool)-Konfigurationen, die automatisch starten, wenn das Plugin aktiv ist. Siehe [Monitors](#monitors) | `"./monitors.json"` |597| `experimental.monitors` | string\|array | Hintergrund-[Monitor](/docs/de/tools-reference#monitor-tool)-Konfigurationen, die automatisch starten, wenn das Plugin aktiv ist. Siehe [Monitors](#monitors) | `"./monitors.json"` |

579| `experimental.evals` | string\|array | Verzeichnis unter dem Plugin-Root, das die [Eval-Fälle](/docs/de/plugin-evals#use-a-different-eval-directory) des Plugins enthält, wenn es nicht das Standard-`evals/`-Verzeichnis ist. `claude plugin eval --eval-dir` überschreibt es | `"quality/evals"` |598| `experimental.evals` | string\|array | Verzeichnis unter dem Plugin-Root, das die [Eval-Fälle](/docs/de/plugin-evals#use-a-different-eval-directory) des Plugins enthält, wenn es nicht das Standard-`evals/` ist. `claude plugin eval --eval-dir` überschreibt es | `"quality/evals"` |

580| `userConfig` | object | Benutzerkonfigurierbare Werte, die bei Aktivierung abgefragt werden. Siehe [Benutzerkonfiguration](#user-configuration) | Siehe unten |599| `userConfig` | object | Benutzerkonfigurierbare Werte, die zur Aktivierungszeit abgefragt werden. Siehe [Benutzerkonfiguration](#user-configuration) | |

581| `channels` | array | Kanal-Deklarationen für Nachrichteneinspeisung (Telegram, Slack, Discord-Stil). Siehe [Kanäle](#channels) | Siehe unten |600| `channels` | array | Kanal-Deklarationen für Nachrichteneinspeisung (Telegram, Slack, Discord-Stil). Siehe [Kanäle](#channels) | |

582| `dependencies` | array | Andere Plugins, die dieses Plugin benötigt, optional mit Semver-Versionsbeschränkungen. Siehe [Plugin-Abhängigkeitsversionen einschränken](/docs/de/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |601| `dependencies` | array | Andere Plugins, die dieses Plugin benötigt, optional mit Semver-Versionsbeschränkungen. Siehe [Plugin-Abhängigkeitsversionen einschränken](/docs/de/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

583 602 

584<h3 id="experimental-components">603<h3 id="experimental-components">


591 Benutzerkonfiguration610 Benutzerkonfiguration

592</h3>611</h3>

593 612 

594Das Feld `userConfig` deklariert Werte, die Claude Code den Benutzer abfragt, wenn das Plugin aktiviert wird. Verwenden Sie dies, anstatt Benutzer zu zwingen, `settings.json` manuell zu bearbeiten.613Das Feld `userConfig` deklariert Werte, die Claude Code dem Benutzer abfragt, wenn das Plugin aktiviert wird. Verwenden Sie dies, anstatt Benutzer zu zwingen, `settings.json` manuell zu bearbeiten.

595 614 

596```json theme={null}615```json theme={null}

597{616{


614Schlüssel müssen gültige Bezeichner sein. Jede Option unterstützt diese Felder:633Schlüssel müssen gültige Bezeichner sein. Jede Option unterstützt diese Felder:

615 634 

616| Feld | Erforderlich | Beschreibung |635| Feld | Erforderlich | Beschreibung |

617| :------------ | :----------- | :--------------------------------------------------------------------------------------------------------- |636| :------------ | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |

618| `type` | Ja | Einer von `string`, `number`, `boolean`, `directory` oder `file` |637| `type` | Ja | Einer von `string`, `number`, `boolean`, `directory` oder `file` |

619| `title` | Ja | Beschriftung im Konfigurationsdialog |638| `title` | Ja | Beschriftung im Konfigurationsdialog |

620| `description` | Ja | Hilfetext unter dem Feld |639| `description` | Ja | Hilfetext unter dem Feld |

621| `sensitive` | Nein | Falls `true`, maskiert die Eingabe und speichert den Wert in sicherer Speicherung statt in `settings.json` |640| `sensitive` | Nein | Wenn `true`, maskiert die Eingabe und speichert den Wert in sicherer Speicherung statt in `settings.json` |

622| `required` | Nein | Falls `true`, schlägt die Validierung fehl, wenn das Feld leer ist |641| `required` | Nein | Wenn `true`, schlägt die Validierung fehl, wenn das Feld leer ist |

623| `default` | Nein | Wert, der verwendet wird, wenn der Benutzer nichts bereitstellt |642| `default` | Nein | Wert, der verwendet wird, wenn der Benutzer nichts bereitstellt |

643| `options` | Nein | Für `string`-Typ die Werte, die das Feld akzeptiert, angezeigt in `/config` als Auswahl über ihnen. Erfordert Claude Code v2.1.271 oder später |

624| `multiple` | Nein | Für `string`-Typ, erlauben Sie ein Array von Strings |644| `multiple` | Nein | Für `string`-Typ, erlauben Sie ein Array von Strings |

625| `min` / `max` | Nein | Grenzen für `number`-Typ |645| `min` / `max` | Nein | Grenzen für `number`-Typ |

626 646 

647Außer `sensitive`-Felder und `multiple`-Listen erscheint jedes Feld jedes aktivierten Plugins auch als Zeile im `/config`-Panel. Die Zeilen erfordern Claude Code v2.1.269 oder später.

648 

627Jeder Wert ist für die Substitution als `${user_config.KEY}` in MCP- und LSP-Server-Konfigurationen und Hook-Befehlen verfügbar. Nicht-sensitive Werte können auch in Skill- und Agent-Inhalten ersetzt werden. Alle Werte werden an Hook-Prozesse als `CLAUDE_PLUGIN_OPTION_<KEY>`-Umgebungsvariablen exportiert, wobei `<KEY>` der Optionsschlüssel in Großbuchstaben ist.649Jeder Wert ist für die Substitution als `${user_config.KEY}` in MCP- und LSP-Server-Konfigurationen und Hook-Befehlen verfügbar. Nicht-sensitive Werte können auch in Skill- und Agent-Inhalten ersetzt werden. Alle Werte werden an Hook-Prozesse als `CLAUDE_PLUGIN_OPTION_<KEY>`-Umgebungsvariablen exportiert, wobei `<KEY>` der Optionsschlüssel in Großbuchstaben ist.

628 650 

629Felder, die in einer Shell ausgeführt werden, lehnen `${user_config.*}` ab: Das Ersetzen eines konfigurierten Werts in einem Shell-Befehl würde der Shell erlauben, alles auszuführen, was dieser Wert enthält, daher schlägt die Komponente mit einem [Fehler](/docs/de/errors#plugin-command-references-user-config) fehl. Jedes abgelehnte Feld hat eine alternative Möglichkeit, den Wert zu übergeben:651Felder, die in einer Shell ausgeführt werden, lehnen `${user_config.*}` ab: Das Ersetzen eines konfigurierten Werts in einem Shell-Befehl würde der Shell erlauben, alles auszuführen, was dieser Wert enthält, daher schlägt die Komponente mit einem [Fehler](/docs/de/errors#plugin-command-references-user-config) fehl. Jedes abgelehnte Feld hat eine alternative Möglichkeit, den Wert zu übergeben:

630 652 

631| Abgelehntes Feld | Wie man den Wert übergibt |653| Abgelehntes Feld | Wie man den Wert übergibt |

632| :--------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |654| :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |

633| Shell-Form-Hook-Befehle | Verwenden Sie [exec-Form](/docs/de/hooks#exec-form-and-shell-form) mit `args` oder lesen Sie `CLAUDE_PLUGIN_OPTION_<KEY>` aus der Hook-Umgebung |655| Shell-Form-Hook-Befehle | Verwenden Sie [Exec-Form](/docs/de/hooks#exec-form-and-shell-form) mit `args`, oder lesen Sie `CLAUDE_PLUGIN_OPTION_<KEY>` aus der Hook-Umgebung |

634| [Monitor](#monitors)-Befehle | Lesen Sie den Wert aus einer Konfigurationsdatei im Skript |656| [Monitor](#monitors)-Befehle | Lesen Sie den Wert aus einer Konfigurationsdatei im Skript |

635| MCP [`headersHelper`](/docs/de/mcp#use-dynamic-headers-for-custom-authentication) | Lesen Sie den Wert aus einer Konfigurationsdatei im Skript |657| MCP [`headersHelper`](/docs/de/mcp#use-dynamic-headers-for-custom-authentication) | Lesen Sie den Wert aus einer Konfigurationsdatei im Skript |

636 658 


646* **`--settings`**: das CLI-Flag oder SDK-Inline-Einstellungen668* **`--settings`**: das CLI-Flag oder SDK-Inline-Einstellungen

647* **Verwaltete Einstellungen**: [organisationskontrollierte Richtlinie](/docs/de/permissions#managed-settings)669* **Verwaltete Einstellungen**: [organisationskontrollierte Richtlinie](/docs/de/permissions#managed-settings)

648 670 

649Wenn mehr als eine Quelle denselben Schlüssel setzt, haben verwaltete Einstellungen Vorrang, dann `--settings`, dann Benutzereinstellungen. Die einzige Quelle, die Sie aus dieser Liste entfernen können, sind Benutzereinstellungen: Übergeben Sie [`--setting-sources`](/docs/de/cli-reference#cli-flags) ohne `user` und Claude Code überspringt sie. Verwaltete Einstellungen und `--settings` bleiben, was Sie übergeben. Die SDK-Option [`settingSources`](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) setzt die gleiche Liste.671Wenn mehr als eine Quelle denselben Schlüssel setzt, haben verwaltete Einstellungen Vorrang, dann `--settings`, dann Benutzereinstellungen. Die einzige Quelle, die Sie aus dieser Liste entfernen können, sind Benutzereinstellungen: Übergeben Sie [`--setting-sources`](/docs/de/cli-reference#cli-flags) ohne `user` und Claude Code überspringt sie. Verwaltete Einstellungen und `--settings` bleiben, was Sie übergeben. Die [`settingSources`](/docs/de/agent-sdk/claude-code-features#what-settingsources-does-not-control)-Option des SDK setzt die gleiche Liste.

650 672 

651Einträge in einer Projekt-`.claude/settings.json` oder `.claude/settings.local.json` werden ignoriert. Beide Dateien befinden sich im Workspace, daher könnte ein geklontes Repository Werte dort bereitstellen, und diese Werte würden in Plugin-Hook-Befehle, MCP-Server-Konfigurationen, LSP-Befehle und Monitor-Befehle fließen. Vor v2.1.207 wurden diese Einträge gelesen. Die Einschränkung ist spezifisch für `pluginConfigs`: [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) berücksichtigt immer noch Projekt- und lokale Einstellungen.673Einträge in einer Projekt-`.claude/settings.json` oder `.claude/settings.local.json` werden ignoriert. Beide Dateien befinden sich im Workspace, daher könnte ein geklontes Repository Werte dort bereitstellen, und diese Werte würden in Plugin-Hook-Befehle, MCP-Server-Konfigurationen, LSP-Befehle und Monitor-Befehle fließen. Vor v2.1.207 wurden diese Einträge gelesen. Die Einschränkung ist spezifisch für `pluginConfigs`: [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) berücksichtigt immer noch Projekt- und lokale Einstellungen.

652 674 


688Ob ein benutzerdefinierter Pfad das Standard-Verzeichnis des Plugins ersetzt oder erweitert, hängt vom Feld ab:710Ob ein benutzerdefinierter Pfad das Standard-Verzeichnis des Plugins ersetzt oder erweitert, hängt vom Feld ab:

689 711 

690* **Ersetzt den Standard**: `commands`, `agents`, `workflows`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Beispielsweise wird das Standard-`commands/`-Verzeichnis nicht gescannt, wenn das Manifest `commands` angibt. Um den Standard zu behalten und mehr hinzuzufügen, listen Sie ihn explizit auf: `"commands": ["./commands/", "./extras/"]`712* **Ersetzt den Standard**: `commands`, `agents`, `workflows`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Beispielsweise wird das Standard-`commands/`-Verzeichnis nicht gescannt, wenn das Manifest `commands` angibt. Um den Standard zu behalten und mehr hinzuzufügen, listen Sie ihn explizit auf: `"commands": ["./commands/", "./extras/"]`

691* **Ergänzt den Standard**: `skills`. Das Standard-`skills/`-Verzeichnis wird immer gescannt, und Verzeichnisse, die in `skills` aufgelistet sind, werden zusammen mit ihm geladen. Ausnahme: für einen [Marketplace-Eintrag, dessen `source` zum Marketplace-Root aufgelöst wird](/docs/de/plugin-marketplaces#advanced-plugin-entries), ersetzt das Deklarieren spezifischer Unterverzeichnisse den Standard-`skills/`-Scan713* **Ergänzt den Standard**: `skills`. Das Standard-`skills/`-Verzeichnis wird immer gescannt, und Verzeichnisse, die in `skills` aufgelistet sind, werden zusammen mit ihm geladen. Ausnahme: Für einen [Marketplace-Eintrag, dessen `source` zum Marketplace-Root aufgelöst wird](/docs/de/plugin-marketplaces#advanced-plugin-entries), ersetzt das Deklarieren spezifischer Unterverzeichnisse den Standard-`skills/`-Scan

692* **Eigene Merge-Regeln**: [hooks](#hooks), [MCP-Server](#mcp-servers) und [LSP-Server](#lsp-servers). Siehe jeden Abschnitt, wie mehrere Quellen kombiniert werden714* **Eigene Merge-Regeln**: [hooks](#hooks), [MCP-Server](#mcp-servers) und [LSP-Server](#lsp-servers). Siehe jeden Abschnitt für die Kombination mehrerer Quellen

693 715 

694Wenn ein Plugin sowohl einen Standard-Ordner als auch den entsprechenden Manifest-Schlüssel hat, warnt Claude Code vor dem ignorierten Ordner in `claude plugin list` und der `/plugin`-Detailansicht. Das Plugin wird immer noch mit den Manifest-Pfaden geladen. Claude Code warnt nicht, wenn der Manifest-Schlüssel in den Standard-Ordner zeigt, beispielsweise `"commands": ["./commands/deploy.md"]`, da dieser Pfad den Ordner explizit benennt.716Wenn ein Plugin sowohl einen Standard-Ordner als auch den entsprechenden Manifest-Schlüssel hat, warnt Claude Code vor dem ignorierten Ordner in `claude plugin list` und der `/plugin`-Detailansicht. Das Plugin wird immer noch mit den Manifest-Pfaden geladen. Claude Code warnt nicht, wenn der Manifest-Schlüssel in den Standard-Ordner zeigt, beispielsweise `"commands": ["./commands/deploy.md"]`, da dieser Pfad den Ordner explizit benennt.

695 717 


701* Komponenten aus benutzerdefinierten Pfaden verwenden die gleichen Benennungs- und Namensgebungsregeln723* Komponenten aus benutzerdefinierten Pfaden verwenden die gleichen Benennungs- und Namensgebungsregeln

702* Mehrere Pfade können als Arrays angegeben werden724* Mehrere Pfade können als Arrays angegeben werden

703* Ein Skill-Pfad kann auf ein Verzeichnis zeigen, das direkt ein `SKILL.md` enthält, beispielsweise `"skills": ["."]` für den Plugin-Root725* Ein Skill-Pfad kann auf ein Verzeichnis zeigen, das direkt ein `SKILL.md` enthält, beispielsweise `"skills": ["."]` für den Plugin-Root

704 * Claude Code nimmt den Invokationsnamen des Skills aus dem Frontmatter-Feld `name` in `SKILL.md`, daher bleibt der Name stabil, egal wie das Installationsverzeichnis benannt ist726 * Claude Code nimmt den Skill-Aufrufinamen aus dem Frontmatter-Feld `name` in `SKILL.md`, daher bleibt der Name stabil, unabhängig davon, wie das Installationsverzeichnis benannt ist

705 * Falls `name` nicht im Frontmatter gesetzt ist, fällt Claude Code auf den Verzeichnis-Basename zurück727 * Wenn `name` nicht im Frontmatter festgelegt ist, fällt Claude Code auf den Verzeichnis-Basename zurück

706 728 

707Ein Plugin, das ein `SKILL.md` an seinem Root hat, kein `skills/`-Unterverzeichnis und kein `skills`-Manifest-Feld, wird automatisch als Single-Skill-Plugin geladen. Sie müssen `"skills": ["./"]` in `plugin.json` für dieses Layout nicht setzen.729Ein Plugin, das ein `SKILL.md` an seinem Root hat, kein `skills/`-Unterverzeichnis und kein `skills`-Manifest-Feld hat, wird automatisch als Single-Skill-Plugin geladen. Sie müssen `"skills": ["./"]` in `plugin.json` für dieses Layout nicht festlegen.

708 730 

709**Pfadbeispiele**:731**Pfadbeispiele**:

710 732 


731| :---------------------- | :---------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |753| :---------------------- | :---------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |

732| `${CLAUDE_PLUGIN_ROOT}` | Absoluter Pfad zum Installationsverzeichnis des Plugins | Skripte, Binärdateien und Konfigurationsdateien, die mit dem Plugin gebündelt sind |754| `${CLAUDE_PLUGIN_ROOT}` | Absoluter Pfad zum Installationsverzeichnis des Plugins | Skripte, Binärdateien und Konfigurationsdateien, die mit dem Plugin gebündelt sind |

733| `${CLAUDE_PLUGIN_DATA}` | [Persistentes Verzeichnis](#persistent-data-directory), das Plugin-Updates überlebt, beim ersten Zugriff erstellt | Installierte Abhängigkeiten wie `node_modules` oder Python-Virtualumgebungen, generierter Code und Caches |755| `${CLAUDE_PLUGIN_DATA}` | [Persistentes Verzeichnis](#persistent-data-directory), das Plugin-Updates überlebt, beim ersten Zugriff erstellt | Installierte Abhängigkeiten wie `node_modules` oder Python-Virtualumgebungen, generierter Code und Caches |

734| `${CLAUDE_PROJECT_DIR}` | Der Projekt-Root | Projektlokale Skripte und Konfigurationsdateien |756| `${CLAUDE_PROJECT_DIR}` | Das Projekt-Root | Projektlokale Skripte und Konfigurationsdateien |

735 757 

736Alle drei werden als Umgebungsvariablen an Hook-Prozesse und an MCP- und LSP-Server-Subprozesse exportiert. Welche Felder sie inline ersetzen, hängt von der Plugin-Komponente ab:758Alle drei werden als Umgebungsvariablen an Hook-Prozesse und an MCP- und LSP-Server-Subprozesse exportiert. Sie sind nicht in der Umgebung von Befehlen vorhanden, die Claude durch das Bash-Tool ausführt, in der Hauptsitzung oder in einem Sub-Agent. Schreiben Sie in Plugin-Inhalten stattdessen den Platzhalter, und Claude Code ersetzt den Pfad inline, wenn es den Inhalt lädt. Welche Felder sie inline ersetzen, hängt von der Plugin-Komponente ab:

737 759 

738| Plugin-Komponente | Felder, in denen Platzhalter aufgelöst werden |760| Plugin-Komponente | Felder, in denen Platzhalter aufgelöst werden |

739| :----------------------------- | :-------------------------------------------- |761| :----------------------------- | :-------------------------------------------- |

740| Skill- und Agent-Inhalte | Überall, wo der Platzhalter erscheint |762| Skill- und Agent-Inhalte | Überall dort, wo der Platzhalter erscheint |

741| Hook- und Monitor-Befehle | Überall, wo der Platzhalter erscheint |763| Hook- und Monitor-Befehle | Überall dort, wo der Platzhalter erscheint |

742| MCP `stdio`-Server | `command`, `args`, `env` |764| MCP `stdio`-Server | `command`, `args`, `env` |

743| MCP `http`, `sse`, `ws`-Server | `url`, `headers`, `headersHelper` |765| MCP `http`, `sse`, `ws`-Server | `url`, `headers`, `headersHelper` |

744| LSP-Server | `command`, `args`, `env`, `workspaceFolder` |766| LSP-Server | `command`, `args`, `env`, `workspaceFolder` |

745 767 

746In Hook-Befehlen verwenden Sie [exec-Form](/docs/de/hooks#exec-form-and-shell-form) mit `args`, damit jeder Pfad als ein Argument ohne Anführungszeichen übergeben wird. In Shell-Form-Hooks und Monitor-Befehlen wickeln Sie die Variablen in doppelte Anführungszeichen ein, wie in `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`. Dieser Shell-Form-Hook führt ein mit einem Plugin gebündeltes Skript aus:768Verwenden Sie in Hook-Befehlen [Exec-Form](/docs/de/hooks#exec-form-and-shell-form) mit `args`, damit jeder Pfad als ein Argument ohne Anführungszeichen übergeben wird. Wickeln Sie in Shell-Form-Hooks und Monitor-Befehlen die Variablen in doppelte Anführungszeichen ein, wie in `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`. Dieser Shell-Form-Hook führt ein mit einem Plugin gebündeltes Skript aus:

747 769 

748```json theme={null}770```json theme={null}

749{771{


762}784}

763```785```

764 786 

765`${CLAUDE_PLUGIN_ROOT}` ändert sich, wenn das Plugin aktualisiert wird. Das Verzeichnis der vorherigen Version bleibt für einen Übergangszeitraum nach einem Update auf der Festplatte, aber behandeln Sie es als kurzlebig und schreiben Sie keinen Zustand dorthin. Siehe [Plugin-Caching](#plugin-caching-and-file-resolution) für Cleanup-Semantik.787Für ein kopiertes Plugin ändert sich `${CLAUDE_PLUGIN_ROOT}`, wenn das Plugin aktualisiert wird. Das Verzeichnis der vorherigen Version bleibt nach einem Update für eine Kulanzfrist auf der Festplatte, aber behandeln Sie es als kurzlebig und schreiben Sie keinen Zustand dort. Für ein Plugin, das an Ort und Stelle aus einem lokalen Verzeichnis-Marketplace geladen wird, zeigt die Variable auf das stabile Quellverzeichnis. Siehe [Plugin-Caching](#plugin-caching-and-file-resolution) für welche Plugins kopiert werden und für Cleanup-Semantik.

766 788 

767Wenn ein Plugin während einer Sitzung aktualisiert wird, verwenden Hook-Befehle, Monitore, MCP-Server und LSP-Server weiterhin den Pfad der vorherigen Version. Führen Sie `/reload-plugins` aus, um Hooks, MCP-Server und LSP-Server zum neuen Pfad zu wechseln; Monitore erfordern einen Sitzungsneustart. In einer Sitzung ohne interaktives Terminal bleibt das Reload-Plugin-MCP-Server auf dem alten Pfad, bis die nächste Sitzung beginnt. Für ein Plugin mit einer `command`-Quelle kann Claude Code [das Plugin selbst neu laden](/docs/de/plugin-marketplaces#when-claude-code-re-runs-the-command).789Wenn ein kopiertes Plugin während einer Sitzung aktualisiert wird, verwenden Hook-Befehle, Monitors, MCP-Server und LSP-Server weiterhin den Pfad der vorherigen Version. Führen Sie `/reload-plugins` aus, um Hooks, MCP-Server und LSP-Server zum neuen Pfad zu wechseln; Monitors erfordern einen Sitzungsneustart. In einer Sitzung ohne interaktives Terminal lässt das Neuladen Plugin-MCP-Server auf dem alten Pfad, bis die nächste Sitzung beginnt.

790 

791Für ein Plugin mit einer `command`-Quelle kann Claude Code [das Plugin selbst neu laden](/docs/de/plugin-marketplaces#when-claude-code-re-runs-the-command).

768 792 

769MCP-Server können auch die `roots/list`-Anfrage aufrufen, um die Arbeitsverzeichnisse der Sitzung zur Laufzeit zu lesen. Siehe [was `roots/list` zurückgibt und wann Claude Code den Server über Änderungen benachrichtigt](/docs/de/mcp#option-3-add-a-local-stdio-server).793MCP-Server können auch die `roots/list`-Anfrage aufrufen, um die Arbeitsverzeichnisse der Sitzung zur Laufzeit zu lesen. Siehe [was `roots/list` zurückgibt und wann Claude Code den Server über Änderungen benachrichtigt](/docs/de/mcp#option-3-add-a-local-stdio-server).

770 794 


772 Persistentes Datenverzeichnis796 Persistentes Datenverzeichnis

773</h4>797</h4>

774 798 

775Das Verzeichnis `${CLAUDE_PLUGIN_DATA}` wird zu `~/.claude/plugins/data/{id}/` aufgelöst, wobei `{id}` der Plugin-Bezeichner mit Zeichen außerhalb von `a-z`, `A-Z`, `0-9`, `_` und `-` ist, die durch `-` ersetzt werden. Für ein Plugin, das als `formatter@my-marketplace` installiert ist, ist das Verzeichnis `~/.claude/plugins/data/formatter-my-marketplace/`.799Das Verzeichnis `${CLAUDE_PLUGIN_DATA}` wird zu `~/.claude/plugins/data/{id}/` aufgelöst, wobei `{id}` die Plugin-Kennung mit Zeichen außerhalb von `a-z`, `A-Z`, `0-9`, `_` und `-` ist, die durch `-` ersetzt werden. Für ein Plugin, das als `formatter@my-marketplace` installiert ist, ist das Verzeichnis `~/.claude/plugins/data/formatter-my-marketplace/`.

776 800 

777Eine häufige Verwendung ist die einmalige Installation von Sprachabhängigkeiten und deren Wiederverwendung über Sitzungen und Plugin-Updates hinweg. Verwenden Sie es für Python-Abhängigkeiten, Abhängigkeiten, die mit Yarn oder pnpm gesperrt sind, und Pakete, deren Lifecycle-Skripte ausgeführt werden müssen. Für ein Marketplace-installiertes Plugin benötigen Sie es möglicherweise überhaupt nicht: Claude Code installiert automatisch berechtigte [Node.js-Paketabhängigkeiten](#node-js-package-dependencies), wenn es das Plugin zwischenspeichert.801Eine häufige Verwendung ist die einmalige Installation von Sprachabhängigkeiten und deren Wiederverwendung über Sitzungen und Plugin-Updates hinweg. Verwenden Sie es für Python-Abhängigkeiten, Abhängigkeiten, die mit Yarn oder pnpm gesperrt sind, und Pakete, deren Lifecycle-Skripte ausgeführt werden müssen. Für ein auf dem Marketplace installiertes Plugin benötigen Sie es möglicherweise überhaupt nicht: Claude Code installiert automatisch berechtigte [Node.js-Paketabhängigkeiten](#node-js-package-dependencies), wenn es das Plugin zwischenspeichert.

778 802 

779Da das Datenverzeichnis länger lebt als jede einzelne Plugin-Version, kann eine Überprüfung auf Verzeichnisexistenz allein nicht erkennen, wenn ein Update das Abhängigkeitsmanifest des Plugins ändert. Das empfohlene Muster vergleicht das gebündelte Manifest mit einer Kopie im Datenverzeichnis und installiert neu, wenn sie sich unterscheiden.803Da das Datenverzeichnis länger lebt als jede einzelne Plugin-Version, kann eine Überprüfung auf Verzeichnisexistenz allein nicht erkennen, wenn ein Update das Abhängigkeitsmanifest des Plugins ändert. Das empfohlene Muster vergleicht das gebündelte Manifest mit einer Kopie im Datenverzeichnis und installiert neu, wenn sie sich unterscheiden.

780 804 

781Dieser `SessionStart`-Hook installiert `node_modules` beim ersten Durchlauf und erneut, wenn ein Plugin-Update ein geändertes `package.json` enthält:805Dieser `SessionStart`-Hook installiert `node_modules` beim ersten Durchlauf und erneut, wenn ein Plugin-Update eine geänderte `package.json` enthält:

782 806 

783```json theme={null}807```json theme={null}

784{808{


797}821}

798```822```

799 823 

800Der `diff` beendet sich mit Nonzero, wenn die gespeicherte Kopie fehlt oder sich vom gebündelten unterscheidet, was sowohl den ersten Durchlauf als auch abhängigkeitsändernde Updates abdeckt. Falls `npm install` fehlschlägt, entfernt das nachfolgende `rm` das kopierte Manifest, damit die nächste Sitzung es erneut versucht.824Das `diff` beendet sich mit Nonzero, wenn die gespeicherte Kopie fehlt oder sich vom gebündelten unterscheidet, was sowohl den ersten Durchlauf als auch abhängigkeitsändernde Updates abdeckt. Wenn `npm install` fehlschlägt, entfernt das nachfolgende `rm` das kopierte Manifest, damit die nächste Sitzung erneut versucht.

801 825 

802Skripte, die in `${CLAUDE_PLUGIN_ROOT}` gebündelt sind, können dann gegen die persistierten `node_modules` ausgeführt werden:826Skripte, die in `${CLAUDE_PLUGIN_ROOT}` gebündelt sind, können dann gegen die persistierten `node_modules` ausgeführt werden:

803 827 


823 Plugin-Caching und Dateiauflösung847 Plugin-Caching und Dateiauflösung

824</h2>848</h2>

825 849 

826Plugins werden auf eine von zwei Arten angegeben:850Plugins werden auf eine von drei Arten angegeben:

827 851 

828* Über `claude --plugin-dir` oder `claude --plugin-url` für die Dauer einer Sitzung.852* Über `claude --plugin-dir` oder `claude --plugin-url` für die Dauer einer Sitzung.

829* Über einen Marketplace, installiert für zukünftige Sitzungen.853* Über einen Marketplace, installiert für zukünftige Sitzungen.

854* Über Ihr claude.ai-Konto, [synchronisiert](#synced-plugins) in `~/.claude/plugins/synced/`.

855 

856Aus Sicherheits- und Verifizierungsgründen kopiert Claude Code *Marketplace*-Plugins in den lokalen **Plugin-Cache** des Benutzers (`~/.claude/plugins/cache`), anstatt sie an Ort und Stelle zu verwenden, es sei denn, das Plugin wird an Ort und Stelle geladen. Eine [`command`-Quelle im Link-Modus](/docs/de/plugin-marketplaces#copy-mode-and-link-mode) wird an Ort und Stelle über Links im Cache-Eintrag geladen. Eine [Quelle mit relativem Pfad](/docs/de/plugin-marketplaces#relative-paths) in einem Marketplace, der aus einem lokalen Verzeichnis hinzugefügt wurde, wird an Ort und Stelle aus dem Marketplace-Ordner geladen.

830 857 

831Aus Sicherheits- und Verifizierungsgründen kopiert Claude Code *Marketplace*-Plugins in den lokalen **Plugin-Cache** des Benutzers (`~/.claude/plugins/cache`), anstatt sie an Ort und Stelle zu verwenden, mit Ausnahme von [`command`-Quellen im Link-Modus](/docs/de/plugin-marketplaces#copy-mode-and-link-mode), die Claude Code an Ort und Stelle über Links im Cache-Eintrag verwendet.858Für ein Plugin, das an Ort und Stelle aus einem lokalen Verzeichnis-Marketplace geladen wird, werden Ihre Änderungen am Quellverzeichnis beim nächsten Sitzungsstart oder `/reload-plugins` wirksam. Sie benötigen keine Versionsbumps. Der Hook-Prozess des Plugins und die MCP- und LSP-Server erhalten ein `CLAUDE_PLUGIN_ROOT`, das auf das Quellverzeichnis verweist. Claude Code installiert die [Node.js-Paketabhängigkeiten](#node-js-package-dependencies) des Plugins nicht in das Quellverzeichnis. Installieren Sie diese selbst dort oder von einem Hook aus in das [persistente Datenverzeichnis](#persistent-data-directory).

832 859 

833Für kopierte Plugins ist jede installierte Version ein separates Verzeichnis im Cache, gruppiert nach Marketplace und Plugin und benannt nach der aufgelösten Version, mit einer eigenen Kopie der Plugin-Dateien und [Node.js-Paketabhängigkeiten](#node-js-package-dependencies). Eine Abhängigkeit, die von einem [Release-Tag](/docs/de/plugin-dependencies#tag-plugin-releases-for-version-resolution) aufgelöst wird, erhält einen Verzeichnisnamen mit einem Commit-SHA-Suffix.860Für kopierte Plugins ist jede installierte Version ein separates Verzeichnis im Cache, gruppiert nach Marketplace und Plugin und benannt nach der aufgelösten Version, mit einer eigenen Kopie der Plugin-Dateien und [Node.js-Paketabhängigkeiten](#node-js-package-dependencies). Eine Abhängigkeit, die von einem [Release-Tag](/docs/de/plugin-dependencies#tag-plugin-releases-for-version-resolution) aufgelöst wird, erhält einen Verzeichnisnamen mit einem Commit-SHA-Suffix.

834 861 


851| `bun.lock` oder `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |878| `bun.lock` oder `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |

852| `npm-shrinkwrap.json` oder `package-lock.json` | `npm ci --ignore-scripts` |879| `npm-shrinkwrap.json` oder `package-lock.json` | `npm ci --ignore-scripts` |

853 880 

854Wenn ein Plugin mehr als eine dieser Sperrdateien enthält, verwendet Claude Code die erste Übereinstimmung und prüft in dieser Reihenfolge: `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`. Claude Code überspringt `yarn.lock` und `pnpm-lock.yaml`, da Yarn und pnpm Konfigurationshooks zur Auflösungszeit unterstützen, die `--ignore-scripts` umgehen.881Wenn ein Plugin mehr als eine dieser Sperrdateien enthält, verwendet Claude Code die erste Übereinstimmung und prüft in dieser Reihenfolge: `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`.

882 

883Claude Code überspringt die Installation in zwei Fällen, jeweils mit einer eigenen Lösung:

884 

885* Wenn Ihr Plugin nur eine `yarn.lock` oder `pnpm-lock.yaml` enthält, ersetzen Sie diese durch eine npm-Sperrdatei.

886* Wenn eine `bunfig.toml` neben der Bun-Sperrdatei liegt, entfernen Sie die `bunfig.toml`, oder ersetzen Sie die Bun-Sperrdatei durch eine npm-Sperrdatei.

855 887 

856Versenden Sie eine npm-Sperrdatei für die größtmögliche Reichweite. Claude Code führt den Paketmanager der übereinstimmenden Sperrdatei aus dem PATH des Benutzers aus und fällt nicht auf die andere Sperrdatei zurück, wenn sie fehlt. Verwenden Sie für ein Plugin, das über eine npm-Quelle verteilt wird, `npm-shrinkwrap.json`; npm schließt `package-lock.json` aus veröffentlichten Paketen aus.888Versenden Sie eine npm-Sperrdatei für die größtmögliche Reichweite. Claude Code führt den Paketmanager der übereinstimmenden Sperrdatei aus dem PATH des Benutzers aus und fällt nicht auf die andere Sperrdatei zurück, wenn sie fehlt. Verwenden Sie für ein Plugin, das über eine npm-Quelle verteilt wird, `npm-shrinkwrap.json`; npm schließt `package-lock.json` aus veröffentlichten Paketen aus.

857 889 


861* **Keine Lifecycle-Skripte:** `--ignore-scripts` verhindert, dass `preinstall`-, `install`- und `postinstall`-Skripte ausgeführt werden, sodass Abhängigkeiten, die native Module in diesen Skripten erstellen, heruntergeladen, aber während dieser Installation nicht kompiliert werden.893* **Keine Lifecycle-Skripte:** `--ignore-scripts` verhindert, dass `preinstall`-, `install`- und `postinstall`-Skripte ausgeführt werden, sodass Abhängigkeiten, die native Module in diesen Skripten erstellen, heruntergeladen, aber während dieser Installation nicht kompiliert werden.

862* **60-Sekunden-Timeout:** Claude Code stoppt eine Installation, die länger läuft, und behandelt sie als fehlgeschlagen.894* **60-Sekunden-Timeout:** Claude Code stoppt eine Installation, die länger läuft, und behandelt sie als fehlgeschlagen.

863 895 

864Das Abrufen eines npm-Quellen-Plugins selbst führt `npm install` mit aktivierten Lifecycle-Skripten aus, bevor diese Abhängigkeitsinstallation ausgeführt wird.896Claude Code ruft ein npm-Quellen-Plugin vor dieser Abhängigkeitsinstallation ab, und keines der eigenen Installationsskripte des Pakets wird während des Abrufs ausgeführt. Siehe [npm-Pakete](/docs/de/plugin-marketplaces#npm-packages).

865 897 

866Eine fehlgeschlagene oder übersprungene Installation blockiert das Plugin niemals. Wenn die Installation fehlschlägt oder Claude Code eine yarn- oder pnpm-Sperrdatei überspringt, wird der Grund als Warnung in der [Debug-Ausgabe](#debugging-commands) aufgezeichnet. Ein Plugin mit einer `package.json` und ohne Sperrdatei wird ohne Logeintrag übersprungen. Eine Timeout-Installation kann einen partiellen `node_modules`-Baum in der zwischengespeicherten Kopie hinterlassen.898Eine fehlgeschlagene oder übersprungene Installation blockiert das Plugin niemals. Wenn die Installation fehlschlägt oder Claude Code sie überspringt, weil eine yarn- oder pnpm-Sperrdatei vorhanden ist oder eine `bunfig.toml` daneben liegt, wird der Grund als Warnung in der [Debug-Ausgabe](#debugging-commands) aufgezeichnet. Ein Plugin mit einer `package.json` und ohne Sperrdatei wird ohne Logeintrag übersprungen. Eine Timeout-Installation kann einen partiellen `node_modules`-Baum in der zwischengespeicherten Kopie hinterlassen.

867 899 

868Sie können die automatische Installation nicht ausschalten; keine Einstellung oder Umgebungsvariable deaktiviert sie. In eingeschränkten Netzwerken siehe die [Netzwerkzugriffsanforderungen](/docs/de/network-config#network-access-requirements) für die Hosts, die Sie zulassen müssen.900Sie können die automatische Installation nicht ausschalten; keine Einstellung oder Umgebungsvariable deaktiviert sie. In eingeschränkten Netzwerken siehe die [Netzwerkzugriffsanforderungen](/docs/de/network-config#network-access-requirements) für die Hosts, die Sie zulassen müssen.

869 901 


1059Der Befehl akzeptiert diese Optionen:1091Der Befehl akzeptiert diese Optionen:

1060 1092 

1061| Option | Beschreibung | Standard |1093| Option | Beschreibung | Standard |

1062| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |1094| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------- |

1063| `-s, --scope <scope>` | Installationsumfang: `user`, `project` oder `local` | `user` |1095| `-s, --scope <scope>` | Installationsumfang: `user`, `project` oder `local` | `user` |

1064| `--config <key=value>` | Setzen Sie eine [`userConfig`](#user-configuration)-Option, die im Plugin-Manifest deklariert ist. Wiederholen Sie das Flag, um mehrere Optionen zu setzen | |1096| `--config <key=value>` | Setzen Sie eine [`userConfig`](#user-configuration)-Option, die im Plugin-Manifest deklariert ist. Wiederholen Sie das Flag, um mehrere Optionen zu setzen | |

1065| `-y, --yes` | Akzeptieren Sie einen Befehl, den der Marketplace des Plugins deklariert, ohne die Bestätigungsaufforderung: den Befehl, der ein Plugin mit einer [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) erzeugt, oder den [`headersHelper`](/docs/de/plugin-marketplaces#authenticate-archive-downloads), der einen Archiv-Download authentifiziert. Das Akzeptieren eines `headersHelper` erfordert Claude Code v2.1.238 oder später. Claude Code druckt den Befehl trotzdem zuerst. Erforderlich, wenn stdin oder stdout kein TTY ist. Hat keine Auswirkung innerhalb einer Claude Code-Sitzung, daher führen Sie den Befehl von Ihrem eigenen Terminal aus | |1097| `-y, --yes` | Akzeptieren Sie einen Befehl, den der Marketplace des Plugins deklariert, ohne die Bestätigungsaufforderung: den Befehl, der ein Plugin mit einer [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) erzeugt, oder den [`headersHelper`](/docs/de/plugin-marketplaces#authenticate-archive-downloads), der einen Archiv-Download authentifiziert. Das Akzeptieren eines `headersHelper` erfordert Claude Code v2.1.238 oder später. Claude Code druckt den Befehl trotzdem zuerst. Erforderlich, wenn stdin oder stdout kein TTY ist, es sei denn, Sie übergeben `--accept-command`. Hat keine Auswirkung innerhalb einer Claude Code-Sitzung, daher führen Sie den Befehl von Ihrem eigenen Terminal aus | |

1098| `--accept-command <sha256>` | Akzeptieren Sie den vom Marketplace deklarierten Befehl, dessen `sha256` ein vorheriger [`--json`-Lauf](#plugin-json-result) in `shownCommand` gemeldet hat, anstelle von `-y`. Die Akzeptanz zählt für genau diesen Befehl, dieses Plugin und diesen Marketplace-Katalog. Wenn sich einer von ihnen seit der Anzeige des Befehls geändert hat, einschließlich durch den eigenen Marketplace-Refresh des Laufs, akzeptiert Claude Code den Digest nicht und zeigt den Befehl erneut an. Kann nicht mit `-y` kombiniert werden. Hat keine Auswirkung innerhalb einer Claude Code-Sitzung, daher führen Sie den Befehl von Ihrem eigenen Terminal aus. Erfordert Claude Code v2.1.271 oder später | |

1066| `--json` | Geben Sie das Ergebnis als ein JSON-Objekt in der letzten Zeile von stdout aus, anstelle der benutzerfreundlichen Nachricht, zur Verwendung in Skripten. Siehe [JSON-Ergebnisformat](#plugin-json-result). Erfordert Claude Code v2.1.268 oder später | |1099| `--json` | Geben Sie das Ergebnis als ein JSON-Objekt in der letzten Zeile von stdout aus, anstelle der benutzerfreundlichen Nachricht, zur Verwendung in Skripten. Siehe [JSON-Ergebnisformat](#plugin-json-result). Erfordert Claude Code v2.1.268 oder später | |

1067| `-h, --help` | Hilfe für Befehl anzeigen | |1100| `-h, --help` | Hilfe für Befehl anzeigen | |

1068 1101 


1076 1109 

1077Andere Felder, wie `pluginId`, `scope` und `failureCode`, erscheinen nur, wenn sie zutreffen. Die `--json`-Option auf `plugin uninstall`, `plugin update`, `plugin enable` und `plugin disable` druckt das gleiche Objekt mit den eigenen Feldern dieses Unterbefehls. Ein Nutzungsfehler, wie ein ungültiger `--scope`, druckt keine Ergebniszeile und beendet sich mit 1 mit dem Grund auf stderr.1110Andere Felder, wie `pluginId`, `scope` und `failureCode`, erscheinen nur, wenn sie zutreffen. Die `--json`-Option auf `plugin uninstall`, `plugin update`, `plugin enable` und `plugin disable` druckt das gleiche Objekt mit den eigenen Feldern dieses Unterbefehls. Ein Nutzungsfehler, wie ein ungültiger `--scope`, druckt keine Ergebniszeile und beendet sich mit 1 mit dem Grund auf stderr.

1078 1111 

1112Wenn ein Lauf einen vom Marketplace deklarierten Befehl anzeigt und ihn nicht ausführt, trägt das `failed`-Ergebnis auch ein `shownCommand`-Objekt, dessen Felder den angezeigten Befehl, das Plugin, zu dem er gehört, und den `sha256` des Befehls enthalten. Um genau diesen Befehl zu akzeptieren, führen Sie ihn erneut mit diesem `sha256` als `--accept-command` aus. Erfordert Claude Code v2.1.271 oder später.

1113 

1114Wenn `shownCommand.acceptCommandMatched` `false` ist, stimmt der übergebene Digest nicht mit dem jetzt angezeigten Befehl überein. Zeigen Sie diesen Befehl einer Person, bevor Sie seinen `sha256` übergeben.

1115 

1079Diese Beispiele zeigen häufige Aufrufe:1116Diese Beispiele zeigen häufige Aufrufe:

1080 1117 

1081```bash theme={null}1118```bash theme={null}


1157 1194 

1158Der Befehl nimmt diese Argumente an:1195Der Befehl nimmt diese Argumente an:

1159 1196 

1160* `<plugin>`: Plugin-Name oder `plugin-name@marketplace-name`1197* `<plugin>`: Plugin-Name, `plugin-name@marketplace-name` oder `plugin-name@synced` für ein [Plugin, das von claude.ai synchronisiert wird](#synced-plugins)

1161 1198 

1162Der Befehl akzeptiert diese Optionen:1199Der Befehl akzeptiert diese Optionen:

1163 1200 


1171 plugin disable1208 plugin disable

1172</h3>1209</h3>

1173 1210 

1174Ein Plugin deaktivieren, ohne es zu deinstallieren. Wenn das Ziel aus einem Marketplace installiert ist, schlägt der Befehl fehl, wenn ein anderes aktiviertes Plugin [davon abhängt](/docs/de/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies). Die Fehlermeldung enthält einen verketteten Befehl, der zuerst alle abhängigen Plugins deaktiviert.1211Ein Plugin deaktivieren, ohne es zu deinstallieren.

1212 

1213Wenn das Ziel aus einem Marketplace installiert ist, schlägt der Befehl fehl, wenn ein anderes aktiviertes Plugin [davon abhängt](/docs/de/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies). Die Fehlermeldung enthält einen verketteten Befehl, der zuerst alle abhängigen Plugins deaktiviert.

1214 

1215Für ein [synced plugin](#synced-plugins), das Ihre Organisation benötigt, schlägt der Befehl fehl und speichert nichts.

1175 1216 

1176```bash theme={null}1217```bash theme={null}

1177claude plugin disable [plugin] [options]1218claude plugin disable [plugin] [options]


1179 1220 

1180Der Befehl nimmt diese Argumente an:1221Der Befehl nimmt diese Argumente an:

1181 1222 

1182* `[plugin]`: Plugin-Name oder `plugin-name@marketplace-name`. Optional bei Verwendung von `--all`1223* `[plugin]`: Plugin-Name, `plugin-name@marketplace-name` oder `plugin-name@synced` für ein [Plugin, das von claude.ai synchronisiert wird](#synced-plugins). Optional bei Verwendung von `--all`

1183 1224 

1184Der Befehl akzeptiert diese Optionen:1225Der Befehl akzeptiert diese Optionen:

1185 1226 


1207Der Befehl akzeptiert diese Optionen:1248Der Befehl akzeptiert diese Optionen:

1208 1249 

1209| Option | Beschreibung | Standard |1250| Option | Beschreibung | Standard |

1210| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |1251| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------- |

1211| `-s, --scope <scope>` | Umfang zum Aktualisieren: `user`, `project`, `local` oder `managed` | `user` |1252| `-s, --scope <scope>` | Umfang zum Aktualisieren: `user`, `project`, `local` oder `managed` | `user` |

1212| `-y, --yes` | Akzeptieren Sie einen Befehl, den der Marketplace des Plugins deklariert, ohne die Bestätigungsaufforderung: den Befehl, der ein Plugin mit einer [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) erzeugt, oder den [`headersHelper`](/docs/de/plugin-marketplaces#authenticate-archive-downloads), der einen Archiv-Download authentifiziert. Das Akzeptieren eines `headersHelper` erfordert Claude Code v2.1.238 oder später. Claude Code druckt den Befehl trotzdem zuerst. Erforderlich, wenn stdin oder stdout kein TTY ist. Hat keine Auswirkung innerhalb einer Claude Code-Sitzung, daher führen Sie den Befehl von Ihrem eigenen Terminal aus | |1253| `-y, --yes` | Akzeptieren Sie einen Befehl, den der Marketplace des Plugins deklariert, ohne die Bestätigungsaufforderung: den Befehl, der ein Plugin mit einer [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) erzeugt, oder den [`headersHelper`](/docs/de/plugin-marketplaces#authenticate-archive-downloads), der einen Archiv-Download authentifiziert. Das Akzeptieren eines `headersHelper` erfordert Claude Code v2.1.238 oder später. Claude Code druckt den Befehl trotzdem zuerst. Erforderlich, wenn stdin oder stdout kein TTY ist, es sei denn, Sie übergeben `--accept-command`. Hat keine Auswirkung innerhalb einer Claude Code-Sitzung, daher führen Sie den Befehl von Ihrem eigenen Terminal aus | |

1254| `--accept-command <sha256>` | Akzeptieren Sie den vom Marketplace deklarierten Befehl, dessen `sha256` ein vorheriger [`--json`-Lauf](#plugin-json-result) in `shownCommand` gemeldet hat, anstelle von `-y`. Die Akzeptanz zählt für genau diesen Befehl, dieses Plugin und diesen Marketplace-Katalog. Wenn sich einer von ihnen seit der Anzeige des Befehls geändert hat, einschließlich durch den eigenen Marketplace-Refresh des Laufs, akzeptiert Claude Code den Digest nicht und zeigt den Befehl erneut an. Kann nicht mit `-y` kombiniert werden. Hat keine Auswirkung innerhalb einer Claude Code-Sitzung, daher führen Sie den Befehl von Ihrem eigenen Terminal aus. Erfordert Claude Code v2.1.271 oder später | |

1213| `--json` | Geben Sie das Ergebnis als ein JSON-Objekt in der letzten Zeile von stdout aus, im [gleichen Format wie `plugin install --json`](#plugin-json-result). Erfordert Claude Code v2.1.268 oder später | |1255| `--json` | Geben Sie das Ergebnis als ein JSON-Objekt in der letzten Zeile von stdout aus, im [gleichen Format wie `plugin install --json`](#plugin-json-result). Erfordert Claude Code v2.1.268 oder später | |

1214| `-h, --help` | Hilfe für Befehl anzeigen | |1256| `-h, --help` | Hilfe für Befehl anzeigen | |

1215 1257 


1240Innerhalb einer interaktiven Sitzung druckt `/plugin list` eine ähnliche Auflistung inline, aber sie umfasst nur Marketplace-installierte Plugins:1282Innerhalb einer interaktiven Sitzung druckt `/plugin list` eine ähnliche Auflistung inline, aber sie umfasst nur Marketplace-installierte Plugins:

1241 1283 

1242* Plugins, die aus Skills-Verzeichnissen geladen werden, erscheinen in der `/plugin`-Schnittstelle und in `claude plugin list`, aber nicht in der Inline-Ausgabe `/plugin list`.1284* Plugins, die aus Skills-Verzeichnissen geladen werden, erscheinen in der `/plugin`-Schnittstelle und in `claude plugin list`, aber nicht in der Inline-Ausgabe `/plugin list`.

1243* Auf Claude Code v2.1.239 oder später erscheinen [Plugins, die von claude.ai synchronisiert werden](#synced-plugins), in `claude plugin list`, wenn Sie es in der Umgebung ausführen, in der eine synchronisierte Sitzung sie heruntergeladen hat. Sie erscheinen nicht in der Inline-Ausgabe `/plugin list`.1285* [Plugins, die von claude.ai synchronisiert werden](#synced-plugins) erscheinen in `claude plugin list` auf Claude Code v2.1.239 oder später und in der `/plugin`-Schnittstelle, aber nicht in der Inline-Ausgabe `/plugin list`.

1244* Plugins, die für die Sitzung mit `--plugin-dir` oder `--plugin-url` geladen werden, erscheinen in der `/plugin`-Schnittstelle und in `claude plugin list` nur, wenn das gleiche Flag dem Unterbefehl vorangeht, wie in `claude --plugin-dir <dir> plugin list`. Nur das Flag benennt ihren Standort, daher kann ein einfaches `claude plugin list` sie nicht finden, anders als synchronisierte Plugins und Skills-Directory-Plugins, deren feste Verzeichnisse Claude Code scannt.1286* Plugins, die für die Sitzung mit `--plugin-dir` oder `--plugin-url` geladen werden, erscheinen in der `/plugin`-Schnittstelle und in `claude plugin list` nur, wenn das gleiche Flag dem Unterbefehl vorangeht, wie in `claude --plugin-dir <dir> plugin list`. Nur das Flag benennt ihren Standort, daher kann ein einfaches `claude plugin list` sie nicht finden, anders als synchronisierte Plugins und Skills-Directory-Plugins, deren feste Verzeichnisse Claude Code scannt.

1245 1287 

1246Die interaktive Form akzeptiert `--enabled` oder `--disabled`, um nur Plugins in diesem Zustand anzuzeigen, und `ls` als Kurzform für `list`.1288Die interaktive Form akzeptiert `--enabled` oder `--disabled`, um nur Plugins in diesem Zustand anzuzeigen, und `ls` als Kurzform für `list`.


1518 Versionsverwaltung1560 Versionsverwaltung

1519</h3>1561</h3>

1520 1562 

1521Claude Code verwendet die Version des Plugins als Cache-Schlüssel, der bestimmt, ob ein Update verfügbar ist. Wenn Sie `/plugin update` ausführen oder Auto-Update aktiviert ist, berechnet Claude Code die aktuelle Version und überspringt das Update, wenn sie mit der bereits installierten Version übereinstimmt.1563Claude Code verwendet die Version des Plugins als Cache-Schlüssel, der bestimmt, ob ein Update verfügbar ist. Wenn Sie `/plugin update` ausführen oder Auto-Update aktiviert ist, berechnet Claude Code die aktuelle Version und überspringt das Update, wenn sie mit der bereits installierten Version übereinstimmt. Ein Plugin, das [an Ort und Stelle geladen](#plugin-caching-and-file-resolution) wird, aus einem lokalen Marketplace-Verzeichnis lädt seine aktuellen Quelldateien bei jedem Sitzungsstart, unabhängig davon, was die Versionsnummer sagt.

1522 1564 

1523Für jeden Quellentyp außer `command` löst Claude Code die Version aus dem ersten dieser Punkte auf, der gesetzt ist:1565Für jeden Quellentyp außer `command` löst Claude Code die Version aus dem ersten dieser Punkte auf, der gesetzt ist:

1524 1566 


15262. Das Feld `version` im Marketplace-Eintrag des Plugins in `marketplace.json`15682. Das Feld `version` im Marketplace-Eintrag des Plugins in `marketplace.json`

15273. Der Git-Commit-SHA des Plugin-Quellcodes für `github`, `url`, `git-subdir` und relative-path-Quellen in einem Git-gehosteten Marketplace15693. Der Git-Commit-SHA des Plugin-Quellcodes für `github`, `url`, `git-subdir` und relative-path-Quellen in einem Git-gehosteten Marketplace

15284. Der SHA-256-Digest für [`archive`-Quellen](/docs/de/plugin-marketplaces#zip-archives): der `sha256`-Pin im Marketplace-Eintrag oder der Digest der heruntergeladenen Datei, wenn Sie keinen Pin setzen. Claude Code kürzt ihn auf die ersten 12 Zeichen15704. Der SHA-256-Digest für [`archive`-Quellen](/docs/de/plugin-marketplaces#zip-archives): der `sha256`-Pin im Marketplace-Eintrag oder der Digest der heruntergeladenen Datei, wenn Sie keinen Pin setzen. Claude Code kürzt ihn auf die ersten 12 Zeichen

15295. `unknown` für `npm`-Quellen oder lokale Verzeichnisse, die sich nicht in einem Git-Repository befinden15715. `unknown` für `npm`-Quellen oder lokale Verzeichnisse, die sich nicht in einem Git-Repository befinden. Claude Code nimmt die Version nicht aus einem Repository, das den Installationspfad umschließt, wie ein Git-verwaltetes `~/.claude`

1530 1572 

1531Für eine [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) leitet Claude Code die Version immer aus dem ab, was der Befehl produziert: einen 12-stelligen Content-Hash allein oder an die `plugin.json`-Version als `<version>-<hash>` angehängt, wenn einer gesetzt ist. Claude Code ignoriert das Feld `version` des Marketplace-Eintrags für Command-Quellen. Ein Befehl, dessen gehashte Ausgabe sich ändert, produziert daher eine neue Version, auch wenn die verfasste Versionsnummer gleich bleibt. Im [Link-Modus](/docs/de/plugin-marketplaces#copy-mode-and-link-mode) deckt der Hash den echten Pfad des gedruckten Verzeichnisses und seine Einträge auf oberster Ebene ab, anstatt der Dateiinhalte.1573Für eine [`command`-Quelle](/docs/de/plugin-marketplaces#command-sources) leitet Claude Code die Version immer aus dem ab, was der Befehl produziert: einen 12-stelligen Content-Hash allein oder an die `plugin.json`-Version als `<version>-<hash>` angehängt, wenn einer gesetzt ist. Claude Code ignoriert das Feld `version` des Marketplace-Eintrags für Command-Quellen. Ein Befehl, dessen gehashte Ausgabe sich ändert, produziert daher eine neue Version, auch wenn die verfasste Versionsnummer gleich bleibt. Im [Link-Modus](/docs/de/plugin-marketplaces#copy-mode-and-link-mode) deckt der Hash den echten Pfad des gedruckten Verzeichnisses und seine Einträge auf oberster Ebene ab, anstatt der Dateiinhalte.

1532 1574 

1533Für diese Quellentypen gibt es drei Möglichkeiten, ein Plugin zu versionieren:1575Für diese Quellentypen gibt es drei Möglichkeiten, ein Plugin zu versionieren:

1534 1576 

1535| Ansatz | Wie | Update-Verhalten | Am besten für |1577| Ansatz | Wie | Update-Verhalten | Am besten für |

1536| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |1578| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |

1537| **Explizite Version** | Setzen Sie `"version": "2.1.0"` in `plugin.json` | Benutzer erhalten Updates nur, wenn Sie dieses Feld erhöhen. Das Pushen neuer Commits ohne Erhöhung hat keine Auswirkung, und `/plugin update` meldet „bereits auf der neuesten Version". | Veröffentlichte Plugins mit stabilen Release-Zyklen |1579| **Explizite Version** | Setzen Sie `"version": "2.1.0"` in `plugin.json` | Benutzer erhalten Updates nur, wenn Sie dieses Feld erhöhen. Das Pushen neuer Commits ohne Erhöhung hat keine Auswirkung, und `/plugin update` meldet „bereits auf der neuesten Version". Für ein Plugin, das [an Ort und Stelle geladen](#plugin-caching-and-file-resolution) wird, wird der neue Inhalt trotzdem geladen. | Veröffentlichte Plugins mit stabilen Release-Zyklen |

1538| **Commit-SHA-Version** | Lassen Sie `version` sowohl in `plugin.json` als auch im Marketplace-Eintrag weg | Benutzer erhalten Updates, wenn sich der aufgelöste Commit der Quelle ändert | Interne oder Team-Plugins unter aktiver Entwicklung |1580| **Commit-SHA-Version** | Lassen Sie `version` sowohl in `plugin.json` als auch im Marketplace-Eintrag weg | Benutzer erhalten Updates, wenn sich der aufgelöste Commit der Quelle ändert | Interne oder Team-Plugins unter aktiver Entwicklung |

1539| **Digest-Version** | Verwenden Sie eine [`archive`-Quelle](/docs/de/plugin-marketplaces#zip-archives) und lassen Sie `version` sowohl in `plugin.json` als auch im Marketplace-Eintrag weg | Mit einem `sha256`-Pin erhalten Benutzer Updates, wenn Sie den Pin ändern. Ohne einen erhalten Benutzer Updates, wenn sich die Bytes der gehosteten ZIP-Datei ändern | Plugins, die als ZIP-Dateien auf einem statischen Server oder in einem Artefakt-Repository veröffentlicht werden |1581| **Digest-Version** | Verwenden Sie eine [`archive`-Quelle](/docs/de/plugin-marketplaces#zip-archives) und lassen Sie `version` sowohl in `plugin.json` als auch im Marketplace-Eintrag weg | Mit einem `sha256`-Pin erhalten Benutzer Updates, wenn Sie den Pin ändern. Ohne einen erhalten Benutzer Updates, wenn sich die Bytes der gehosteten ZIP-Datei ändern | Plugins, die als ZIP-Dateien auf einem statischen Server oder in einem Artefakt-Repository veröffentlicht werden |

1540 1582 

Details

88 88 

89Jedes Modell hat seinen eigenen Cache. Das Wechseln mit [`/model`](/docs/de/model-config#setting-your-model) bedeutet, dass die nächste Anfrage die gesamte Konversationshistorie ohne Cache-Treffer liest, obwohl der Inhalt identisch ist.89Jedes Modell hat seinen eigenen Cache. Das Wechseln mit [`/model`](/docs/de/model-config#setting-your-model) bedeutet, dass die nächste Anfrage die gesamte Konversationshistorie ohne Cache-Treffer liest, obwohl der Inhalt identisch ist.

90 90 

91Wenn Sie `/model` im Terminal ausführen, fordert Claude Code Sie auf, den Wechsel nur zu bestätigen, während der Cache noch warm ist. Der Cache bleibt warm für einen [Cache-TTL](#cache-lifetime) nach dem letzten Request, den Claude Code in dieser Konversation gesendet hat, oder nach der letzten Antwort von Claude. Sobald diese Zeit verstrichen ist, ist der Cache abgelaufen, sodass Claude Code ohne Nachfrage wechselt.91Wenn Sie `/model` im Terminal ausführen, fordert Claude Code Sie auf, den Wechsel nur zu bestätigen, während der Cache noch warm ist und das neue Modell nicht das ist, das die letzte Antwort produziert hat. Der Cache bleibt warm für einen [Cache-TTL](#cache-lifetime) nach dem letzten Request, den Claude Code in dieser Konversation gesendet hat, oder nach der letzten Antwort von Claude. Sobald diese Zeit verstrichen ist, ist der Cache abgelaufen, sodass Claude Code ohne Nachfrage wechselt.

92 92 

93Vor v2.1.238 überprüfte Claude Code die Cache-TTL nicht und fragte auch nach Ablauf des Cache.93Vor v2.1.238 überprüfte Claude Code die Cache-TTL nicht und fragte auch nach Ablauf des Cache.

94 94 


264 Ändern des Ausgabestils264 Ändern des Ausgabestils

265</h3>265</h3>

266 266 

267Wenn Sie [Ausgabestile](/docs/de/output-styles) während der Sitzung mit `/config` oder der `outputStyle`-Einstellung wechseln, verwendet Claude den neuen Stil ab Ihrer nächsten Nachricht. Claude Code liefert die Anweisungen des neuen Stils als Nachricht im Gespräch, daher liest diese Anfrage die Systemaufforderung und das frühere Gespräch aus dem Cache.267Wenn Sie [Ausgabestile](/docs/de/output-styles) während der Sitzung mit [`/output-style`](/docs/de/output-styles#change-your-output-style), `/config` oder der `outputStyle`-Einstellung wechseln, verwendet Claude den neuen Stil ab Ihrer nächsten Nachricht. Claude Code liefert die Anweisungen des neuen Stils als Nachricht im Gespräch, daher liest diese Anfrage die Systemaufforderung und das frühere Gespräch aus dem Cache.

268 268 

269Vor v2.1.251 behielt ein Stilwechsel während der Sitzung den Cache bei, wurde aber erst angewendet, wenn Sie `/clear` ausführten oder eine neue Sitzung starteten.269Vor v2.1.251 behielt ein Stilwechsel während der Sitzung den Cache bei, wurde aber erst angewendet, wenn Sie `/clear` ausführten oder eine neue Sitzung starteten.

270 270 


294 294 

295Wenn Sie [eine Sitzung fortsetzen](/docs/de/sessions#resume-a-session), sendet Claude Code das gesamte Gespräch erneut, und die Anfrage liest aus dem Cache, welcher Teil ihres Präfix unverändert ist und sich noch innerhalb der [Cache-Lebensdauer](#cache-lifetime) befindet. Die Schichttabelle oben auf dieser Seite zeigt, welche Änderungen jede Schicht vornimmt.295Wenn Sie [eine Sitzung fortsetzen](/docs/de/sessions#resume-a-session), sendet Claude Code das gesamte Gespräch erneut, und die Anfrage liest aus dem Cache, welcher Teil ihres Präfix unverändert ist und sich noch innerhalb der [Cache-Lebensdauer](#cache-lifetime) befindet. Die Schichttabelle oben auf dieser Seite zeigt, welche Änderungen jede Schicht vornimmt.

296 296 

297Die Systemaufforderung würde sich nach einem [Claude Code-Upgrade](#upgrading-claude-code) oder mit anderem [`--append-system-prompt`](/docs/de/cli-reference#system-prompt-flags)-Text beim Fortsetzen ändern. Standardmäßig behält das fortgesetzte Gespräch die Systemaufforderung bei, mit der es begonnen hat, sodass sein Verlauf immer noch hinter derselben Aufforderung liegt, und die Änderung wird wirksam, sobald das Gespräch komprimiert wird oder in einem neuen Gespräch stattfindet. [Systemaufforderungs-Flags in fortgesetzten Gesprächen](/docs/de/cli-reference#system-prompt-flags-in-resumed-conversations) behandelt `--system-prompt-snapshot off` und den Bare-Modus, wo dies nicht zutrifft.297Die Systemaufforderung würde sich nach einem [Claude Code-Upgrade](#upgrading-claude-code) oder mit anderem [`--append-system-prompt`](/docs/de/cli-reference#system-prompt-flags)-Text beim Fortsetzen ändern. Standardmäßig behält das fortgesetzte Gespräch die Systemaufforderung bei, mit der es begonnen hat, sodass sein Verlauf immer noch hinter derselben Aufforderung liegt, und die Änderung wird wirksam, sobald das Gespräch komprimiert wird oder in einem neuen Gespräch stattfindet. [Systemaufforderungs-Flags in fortgesetzten Gesprächen](/docs/de/cli-reference#system-prompt-flags-in-resumed-conversations) behandelt die Fälle, in denen Claude Code die Aufforderung bei jeder Anfrage neu erstellt.

298 298 

299<h2 id="cache-lifetime">299<h2 id="cache-lifetime">

300 Cache-Lebensdauer300 Cache-Lebensdauer

remote-control.md +18 −21

Details

132 Verbindungsstatus überprüfen132 Verbindungsstatus überprüfen

133</h3>133</h3>

134 134 

135In einer interaktiven Terminal-Sitzung zeigt ein `/rc active`-Indikator, während die Verbindung besteht, und wird ausgeblendet, wenn das Terminal zu schmal ist, um ihn anzuzeigen. Mit [Vollbildrendering](/docs/de/fullscreen) sitzt er am Ende der Arbeitsverzeichniszeile in der Startkopfzeile, und ohne es, in der Fußzeile unter dem Eingabefeld.135In einer interaktiven Sitzung zeigt das Terminal während der Remote Control-Verbindung einen `/rc active`-Indikator an, der auf die Sitzung auf claude.ai verlinkt. Der Indikator ist ausgeblendet, wenn das Terminal zu schmal ist, um ihn anzuzeigen. Um die Sitzungs-URL und einen QR-Code zum [Verbinden von einem anderen Gerät](#connect-from-another-device) anzuzeigen, führen Sie `/remote-control` erneut aus, um das Statusfenster zu öffnen. Das Fenster bietet auch eine Trennungsoption, die Remote Control ausschaltet, während Ihre lokale Sitzung weiterhin im Terminal läuft.

136 136 

137Der Indikatortext ist ein Link zur Sitzung auf claude.ai. Führen Sie `/remote-control` erneut aus, um ein Statusfenster mit der Sitzungs-URL und einem QR-Code zum [Verbinden von einem anderen Gerät](#connect-from-another-device) zu öffnen. Wenn sich der Indikator in der Fußzeile befindet, können Sie das Fenster auch öffnen, indem Sie den Indikator mit der Abwärts-Pfeiltaste auswählen und die Eingabetaste drücken. Das Fenster bietet auch eine Trennungsoption, die Remote Control ausschaltet, während Ihre lokale Sitzung weiterhin im Terminal läuft.137<span id="session-ended-elsewhere" />Wenn die Verbindung in einer interaktiven Sitzung fehlschlägt, ändert sich der Indikator, um den Fehler anzuzeigen, und Claude Code zeigt den Grund in einer Benachrichtigung an und fügt ihn zum Gespräch hinzu. Führen Sie `/remote-control` aus, um erneut zu verbinden, es sei denn, der Grund besagt, dass die Sitzung anderswo übernommen oder beendet wurde:

138 138 

139Wenn die Verbindung fehlschlägt, zeigt Claude Code eine Benachrichtigung mit dem Fehlergrund an, fügt eine Warnzeile mit dem Grund zum Gespräch hinzu und schaltet den Indikator in einen Fehlerzustand um, der in der Fußzeile bleibt. Um erneut zu verbinden, führen Sie `/remote-control` aus, es sei denn, der [Grund besagt, dass die Sitzung anderswo übernommen oder beendet wurde, oder dass der Server sie nicht finden kann](#session-ended-elsewhere).139* **Another connection took over this session**: Ein anderes Gerät oder eine Claude Code-Sitzung hat sie jetzt. Führen Sie `/remote-control` nur aus, wenn Sie sie von diesem Gerät zurücknehmen möchten.

140 140* **This session was ended or archived from another device or app**: Führen Sie `/remote-control` nur aus, wenn Sie sie zurück möchten. Claude Code öffnet eine archivierte Sitzung erneut.

141<span id="session-ended-elsewhere" />Lesen Sie den Grund, bevor Sie erneut verbinden. Wenn die Sitzung von einem anderen Gerät, einer App oder einer Claude Code-Sitzung übernommen oder beendet wurde, oder der Server sie nicht finden kann, besagt der Grund, welches der Fall ist, und Claude Code lässt seinen üblichen Rat aus, `/remote-control` auszuführen:141* **The server no longer reports this session**: Sie wurde möglicherweise von einem anderen Gerät oder einer App gelöscht.

142 

143* **Ein anderes Gerät oder eine Claude Code-Sitzung hat die Sitzung übernommen**: Führen Sie `/remote-control` nur aus, wenn Sie sie von diesem Gerät zurücknehmen möchten.

144* **Sie haben die Sitzung von einem anderen Gerät oder einer App aus beendet oder archiviert**: Führen Sie `/remote-control` nur aus, wenn Sie sie zurück möchten; Claude Code öffnet eine archivierte Sitzung erneut.

145* **Der Server kann die Sitzung nicht finden**: Sie wurde möglicherweise von einem anderen Gerät oder einer App gelöscht.

146 142 

147<h3 id="session-url-reminders">143<h3 id="session-url-reminders">

148 Sitzungs-URL-Erinnerungen144 Sitzungs-URL-Erinnerungen


178 174 

179Wenn Sie eine Sitzung von claude.ai oder der Claude-App aus umbenennen, aktualisiert Claude Code auch den lokalen Titel, der in `claude --resume` angezeigt wird. Claude Code wendet dieselbe Umbenennung auf den Sitzungsnamen an, der in der Eingabeaufforderungsleiste angezeigt wird, und in der `claude agents`-Auflistung, wenn die Sitzung [im Hintergrund läuft](/docs/de/agent-view). Vor v2.1.221 aktualisierte die Umbenennung von der Sitzungsliste unter claude.ai oder in der Claude-App nur den Titel, und die CLI behielt ihren vorherigen Sitzungsnamen; `/rename`, das in der CLI selbst läuft, setzt den Namen auf jeder Version.175Wenn Sie eine Sitzung von claude.ai oder der Claude-App aus umbenennen, aktualisiert Claude Code auch den lokalen Titel, der in `claude --resume` angezeigt wird. Claude Code wendet dieselbe Umbenennung auf den Sitzungsnamen an, der in der Eingabeaufforderungsleiste angezeigt wird, und in der `claude agents`-Auflistung, wenn die Sitzung [im Hintergrund läuft](/docs/de/agent-view). Vor v2.1.221 aktualisierte die Umbenennung von der Sitzungsliste unter claude.ai oder in der Claude-App nur den Titel, und die CLI behielt ihren vorherigen Sitzungsnamen; `/rename`, das in der CLI selbst läuft, setzt den Namen auf jeder Version.

180 176 

181Wenn Sie die Claude-App noch nicht haben, verwenden Sie den Befehl `/mobile` in Claude Code, um einen Download-QR-Code für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) oder [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) anzuzeigen.177Wenn Sie die Claude-App noch nicht haben, verwenden Sie den Befehl `/mobile` in Claude Code, um einen QR-Code für [claude.ai/mobile](https://claude.ai/mobile) anzuzeigen, das die richtige App-Store-Seite für Ihr Telefon öffnet.

182 178 

183<h3 id="what-connected-devices-see">179<h3 id="what-connected-devices-see">

184 Was verbundene Geräte sehen180 Was verbundene Geräte sehen


188 184 

189* **Komprimierung und `/clear`**: Während Claude Code [das Gespräch komprimiert](/docs/de/context-window#what-survives-compaction), zeigen verbundene Geräte den Fortschritt und dann an, wo das Gespräch komprimiert wurde. Wenn Sie `/clear` ausführen, wird das Gespräch auch auf verbundenen Geräten zurückgesetzt.185* **Komprimierung und `/clear`**: Während Claude Code [das Gespräch komprimiert](/docs/de/context-window#what-survives-compaction), zeigen verbundene Geräte den Fortschritt und dann an, wo das Gespräch komprimiert wurde. Wenn Sie `/clear` ausführen, wird das Gespräch auch auf verbundenen Geräten zurückgesetzt.

190* **Wechsel von Gesprächen mit `/resume`**: Das verbundene Gerät empfängt nicht den Titel oder die frühere Verlauf des gewechselten Gesprächs, aber neue Nachrichten in beide Richtungen gehen zu und von dem Gespräch, das in Ihrem Terminal offen ist. Um von dem Gerät aus wieder an dem ursprünglichen Gespräch zu arbeiten, führen Sie `/resume` in Ihrem Terminal aus und wechseln Sie zurück.186* **Wechsel von Gesprächen mit `/resume`**: Das verbundene Gerät empfängt nicht den Titel oder die frühere Verlauf des gewechselten Gesprächs, aber neue Nachrichten in beide Richtungen gehen zu und von dem Gespräch, das in Ihrem Terminal offen ist. Um von dem Gerät aus wieder an dem ursprünglichen Gespräch zu arbeiten, führen Sie `/resume` in Ihrem Terminal aus und wechseln Sie zurück.

191* **Ziehen Sie eine Sitzung mit `/teleport`**: Wenn Sie eine [Claude Code im Web-Sitzung](/docs/de/claude-code-on-the-web#from-web-to-terminal) mit `/teleport` in Ihr Terminal ziehen, empfängt das verbundene Gerät nicht den früheren Verlauf des gezogenen Gesprächs. Neue Nachrichten in beide Richtungen gehen zu und von dem gezogenen Gespräch, das jetzt das in Ihrem Terminal offene ist.187* **Ziehen Sie eine Sitzung mit `/teleport`**: Wenn Sie eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web#from-cloud-to-terminal) mit `/teleport` in Ihr Terminal ziehen, empfängt das verbundene Gerät nicht den früheren Verlauf des gezogenen Gesprächs. Neue Nachrichten in beide Richtungen gehen zu und von dem gezogenen Gespräch, das jetzt das in Ihrem Terminal offene ist.

192* **Nachrichten von Ihren anderen Sitzungen**: Mit [sitzungsübergreifendem Messaging](/docs/de/cross-session-messaging) trägt dieselbe Verbindung Nachrichten zwischen Ihren eigenen Sitzungen auf verschiedenen Maschinen und von Ihren [Claude Code im Web](/docs/de/claude-code-on-the-web)-Sitzungen, über Anthropic-Server wie der Rest des Remote Control-Verkehrs. [Nachrichtensitzungen auf anderen Maschinen](/docs/de/cross-session-messaging#message-sessions-on-other-machines) behandelt die Lieferregeln und [Kontrollieren Sie eingehende Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) behandelt die eingehenden Kontrollen. Erfordert Claude Code v2.1.224 oder später.188* **Nachrichten von Ihren anderen Sitzungen**: Mit [sitzungsübergreifendem Messaging](/docs/de/cross-session-messaging) trägt dieselbe Verbindung Nachrichten zwischen Ihren eigenen Sitzungen auf verschiedenen Maschinen und von Ihren [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), über Anthropic-Server wie der Rest des Remote Control-Verkehrs. [Nachrichtensitzungen auf anderen Maschinen](/docs/de/cross-session-messaging#message-sessions-on-other-machines) behandelt die Lieferregeln und [Kontrollieren Sie eingehende Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) behandelt die eingehenden Kontrollen. Erfordert Claude Code v2.1.224 oder später.

193* **Eingabeaufforderungen, die Sie während einer Runde senden**: Wenn Sie eine Eingabeaufforderung von einem verbundenen Gerät senden, bevor die aktuelle Runde endet, stellt Claude Code sie in die Warteschlange und behält sie im Transkript des Geräts, nachdem diese Runde endet.189* **Eingabeaufforderungen, die Sie während einer Runde senden**: Wenn Sie eine Eingabeaufforderung von einem verbundenen Gerät senden, bevor die aktuelle Runde endet, stellt Claude Code sie in die Warteschlange und behält sie im Transkript des Geräts, nachdem diese Runde endet.

194* **Diff Ihrer Änderungen**: Wenn sich das Verzeichnis der Sitzung in einem Git-Repository befindet, zeigt der Diff-Bereich eines verbundenen Geräts den Diff Ihrer nicht committeten Änderungen. Das Gerät fordert den Diff über die Verbindung an, und Claude Code berechnet ihn auf Ihrem Computer. Wenn Ihr Arbeitsbaum sauber ist, bedient Claude Code stattdessen die Änderungen Ihres Branches, seit er vom Standard-Branch abgewichen ist. Vor v2.1.247 meldete Claude Code den Diff an verbundene Geräte nur in Sitzungen, die von `claude remote-control` bedient wurden.190* **Diff Ihrer Änderungen**: Wenn sich das Verzeichnis der Sitzung in einem Git-Repository befindet, zeigt der Diff-Bereich eines verbundenen Geräts den Diff Ihrer nicht committeten Änderungen. Das Gerät fordert den Diff über die Verbindung an, und Claude Code berechnet ihn auf Ihrem Computer. Wenn Ihr Arbeitsbaum sauber ist, bedient Claude Code stattdessen die Änderungen Ihres Branches, seit er vom Standard-Branch abgewichen ist. Vor v2.1.247 meldete Claude Code den Diff an verbundene Geräte nur in Sitzungen, die von `claude remote-control` bedient wurden.

195* **Modell**: Wenn Sie ein [Modell](/docs/de/model-config) von einem verbundenen Gerät aus auswählen, führt Claude Code die Sitzung auf diesem Modell aus. Die Auswahl `/model` des Terminals, `/status` und `/config` zeigen dieses Modell. Erfordert Claude Code v2.1.238 oder später auf Ihrem Computer.191* **Modell**: Wenn Sie ein [Modell](/docs/de/model-config) von einem verbundenen Gerät aus auswählen, führt Claude Code die Sitzung auf diesem Modell aus. Die Auswahl `/model` des Terminals, `/status` und `/config` zeigen dieses Modell. Erfordert Claude Code v2.1.238 oder später auf Ihrem Computer.


312 308 

313Bei einem verlorenen oder gestohlenen Gerät entfernt das Mitglied es von dieser Seite. Wenn sich das Mitglied nicht anmelden kann, kann ein Administrator **Überall abmelden** in der Admin-Konsole verwenden, um alle Sitzungen und registrierten Geräte für dieses Mitglied zu widerrufen. Danach registriert sich das Mitglied die Geräte erneut, die es noch besitzt.309Bei einem verlorenen oder gestohlenen Gerät entfernt das Mitglied es von dieser Seite. Wenn sich das Mitglied nicht anmelden kann, kann ein Administrator **Überall abmelden** in der Admin-Konsole verwenden, um alle Sitzungen und registrierten Geräte für dieses Mitglied zu widerrufen. Danach registriert sich das Mitglied die Geräte erneut, die es noch besitzt.

314 310 

315<h2 id="remote-control-vs-claude-code-on-the-web">311<h2 id="remote-control-vs-cloud-sessions">

316 Remote Control vs. Claude Code im Web312 Remote Control vs. Cloud-Sitzungen

317</h2>313</h2>

318 314 

319Remote Control und [Claude Code im Web](/docs/de/claude-code-on-the-web) verwenden beide die Schnittstelle claude.ai/code. Der Hauptunterschied liegt darin, wo die Sitzung ausgeführt wird: Remote Control wird auf Ihrem Computer ausgeführt, sodass Ihre lokalen MCP servers, Tools und Projektkonfiguration verfügbar bleiben. Claude Code im Web wird in der Cloud ausgeführt.315Remote Control und [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) verwenden beide die claude.ai/code-Schnittstelle. Der Hauptunterschied liegt darin, wo die Sitzung ausgeführt wird: Remote Control wird auf Ihrem Computer ausgeführt, sodass Ihre lokalen MCP-Server, Tools und Projektkonfiguration verfügbar bleiben. Eine Cloud-Sitzung wird in Cloud-Infrastruktur ausgeführt, standardmäßig von Anthropic verwaltet.

320 316 

321Verwenden Sie Remote Control, wenn Sie sich mitten in lokaler Arbeit befinden und von einem anderen Gerät aus weitermachen möchten. Verwenden Sie Claude Code im Web, wenn Sie eine Aufgabe ohne lokale Einrichtung starten möchten, an einem Repository arbeiten, das Sie nicht geklont haben, oder mehrere Aufgaben parallel ausführen möchten.317Verwenden Sie Remote Control, wenn Sie sich mitten in lokaler Arbeit befinden und von einem anderen Gerät aus weitermachen möchten. Verwenden Sie eine Cloud-Sitzung, wenn Sie eine Aufgabe ohne lokale Einrichtung starten möchten, an einem Repository arbeiten, das Sie nicht geklont haben, oder mehrere Aufgaben parallel ausführen möchten.

322 318 

323<h2 id="mobile-push-notifications">319<h2 id="mobile-push-notifications">

324 Mobile Push-Benachrichtigungen320 Mobile Push-Benachrichtigungen


374 * Textausgabe-Befehle: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` und `/reload-plugins`. `/usage-credits` gibt die Abrechnungs-URL aus, anstatt einen Browser zu öffnen. `/reload-plugins` funktioniert nur, wenn die Sitzung in einem interaktiven Terminal ausgeführt wird; eine Sitzung ohne eines lehnt es ab.370 * Textausgabe-Befehle: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` und `/reload-plugins`. `/usage-credits` gibt die Abrechnungs-URL aus, anstatt einen Browser zu öffnen. `/reload-plugins` funktioniert nur, wenn die Sitzung in einem interaktiven Terminal ausgeführt wird; eine Sitzung ohne eines lehnt es ab.

375 * `/model`, `/effort`, `/fast`, `/color` und `/rename`: übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet` oder `/effort high`. Von mobil und Web aus akzeptieren `/model` und `/effort` das Argument anstelle der Terminal-Auswahl oder des Schiebereglers.371 * `/model`, `/effort`, `/fast`, `/color` und `/rename`: übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet` oder `/effort high`. Von mobil und Web aus akzeptieren `/model` und `/effort` das Argument anstelle der Terminal-Auswahl oder des Schiebereglers.

376 * `/mcp`: Von der mobilen App aus gibt es eine Textzusammenfassung des Server-Status zurück, anstatt die Auswahl zu öffnen. Im Web öffnet `/mcp` allein ein Verzeichnis von [claude.ai-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai), anstatt die Zusammenfassung zurückzugeben. Die `reconnect`-, `enable`- und `disable`-[Unterbefehle](/docs/de/commands#all-commands) funktionieren von beiden aus. Im Gegensatz zur lokalen CLI verbindet `/mcp reconnect` ohne Servernamen jeden Server wieder, der fehlgeschlagen ist oder eine Authentifizierung benötigt.372 * `/mcp`: Von der mobilen App aus gibt es eine Textzusammenfassung des Server-Status zurück, anstatt die Auswahl zu öffnen. Im Web öffnet `/mcp` allein ein Verzeichnis von [claude.ai-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai), anstatt die Zusammenfassung zurückzugeben. Die `reconnect`-, `enable`- und `disable`-[Unterbefehle](/docs/de/commands#all-commands) funktionieren von beiden aus. Im Gegensatz zur lokalen CLI verbindet `/mcp reconnect` ohne Servernamen jeden Server wieder, der fehlgeschlagen ist oder eine Authentifizierung benötigt.

377 * `/config`, ab v2.1.181: Von der mobilen App aus übergeben Sie `key=value`, um eine Einstellung festzulegen, oder führen Sie es ohne Argument aus, um die Schlüssel aufzulisten, die Sie festlegen können. Im Web öffnet `/config` stattdessen den Claude Code-Bereich Ihrer Einstellungen und ignoriert Text nach dem Befehl.373 * `/config`: Von der mobilen App aus übergeben Sie `key=value`, um eine Einstellung festzulegen, oder führen Sie es ohne Argument aus, um die Schlüssel aufzulisten, die Sie festlegen können. Im Web öffnet `/config` stattdessen den Claude Code-Bereich Ihrer Einstellungen und ignoriert Text nach dem Befehl.

378 * Auf Team und Enterprise sendet `/usage-credits` von mobil oder Web keine [Anfrage für Nutzungsguthaben an Ihren Administrator](/docs/de/costs#add-usage-credits-to-your-subscription). Das Senden erfordert eine Bestätigung, die nur in der interaktiven CLI angezeigt wird, daher teilt Ihnen der Befehl mit, dass Sie ihn stattdessen dort ausführen sollen. Vor v2.1.211 sendete die Textform die Anfrage ohne Bestätigung.374 * Auf Team und Enterprise sendet `/usage-credits` von mobil oder Web keine [Anfrage für Nutzungsguthaben an Ihren Administrator](/docs/de/costs#add-usage-credits-to-your-subscription). Das Senden erfordert eine Bestätigung, die nur in der interaktiven CLI angezeigt wird, daher teilt Ihnen der Befehl mit, dass Sie ihn stattdessen dort ausführen sollen. Vor v2.1.211 sendete die Textform die Anfrage ohne Bestätigung.

379 * `/autocompact`, ab v2.1.221: übergeben Sie die Fenstergröße als Argument, zum Beispiel `/autocompact 500k`. Ohne Argument gibt es die aktuelle Fenstergröße als Text aus, anstatt den Dialog zu öffnen, den der Befehl in einer Terminal-Sitzung anzeigt.375 * `/autocompact`, ab v2.1.221: übergeben Sie die Fenstergröße als Argument, zum Beispiel `/autocompact 500k`. Ohne Argument gibt es die aktuelle Fenstergröße als Text aus, anstatt den Dialog zu öffnen, den der Befehl in einer Terminal-Sitzung anzeigt.

380 * `/advisor`, ab v2.1.260: übergeben Sie das Modell als Argument, zum Beispiel `/advisor opus`, oder übergeben Sie `off`, um den Advisor auszuschalten. Beide Formen gelten nur für die aktuelle Sitzung und lassen Ihren gespeicherten Standard unverändert. Ohne Argument gibt es den aktuellen Advisor als Text aus, anstatt die Auswahl zu öffnen.376 * `/advisor`, ab v2.1.260: übergeben Sie das Modell als Argument, zum Beispiel `/advisor opus`, oder übergeben Sie `off`, um den Advisor auszuschalten. Beide Formen gelten nur für die aktuelle Sitzung und lassen Ihren gespeicherten Standard unverändert. Ohne Argument gibt es den aktuellen Advisor als Text aus, anstatt die Auswahl zu öffnen.

377 * `/output-style`, ab v2.1.269: übergeben Sie den Stilnamen als Argument, zum Beispiel `/output-style concise`, oder führen Sie es ohne Argument aus, um die Stile aufzulisten. Von mobil und Web aus können Sie nur [integrierte Stile](/docs/de/output-styles#built-in-output-styles) auflisten und auswählen. Um einen [benutzerdefinierten Stil](/docs/de/output-styles#create-a-custom-output-style) zu verwenden, wählen Sie ihn in der Sitzung selbst aus.

381 378 

382<h2 id="troubleshooting">379<h2 id="troubleshooting">

383 Fehlerbehebung380 Fehlerbehebung


389 386 

390Sie sind nicht mit einem claude.ai-Konto angemeldet, oder eine andere Anmeldeinformation hat Vorrang vor Ihrer Anmeldung. Die Meldung nimmt eine dieser Formen an:387Sie sind nicht mit einem claude.ai-Konto angemeldet, oder eine andere Anmeldeinformation hat Vorrang vor Ihrer Anmeldung. Die Meldung nimmt eine dieser Formen an:

391 388 

392* Abgemeldet, von `/remote-control` oder `--remote-control`: `Remote Control requires a claude.ai subscription.`389* Abgemeldet, von `/remote-control` oder `--remote-control`: `Remote Control requires a claude.ai subscription.` oder `/remote-control requires a claude.ai subscription.`

393* Abgemeldet, von `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`390* Abgemeldet, von `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`

394* Angemeldet, aber ein API-Schlüssel oder Token wird verwendet: `Remote Control requires claude.ai subscription auth.` gefolgt von der verwendeten Anmeldeinformation, wie `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Eine `apiKeyHelper`-Einstellung und `ANTHROPIC_AUTH_TOKEN` werden auf die gleiche Weise benannt.391* Angemeldet, aber ein API-Schlüssel oder Token wird verwendet: `Remote Control requires claude.ai subscription auth.` gefolgt von der verwendeten Anmeldeinformation, wie `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Eine `apiKeyHelper`-Einstellung und `ANTHROPIC_AUTH_TOKEN` werden auf die gleiche Weise benannt.

395 392 


423 „Remote Control-Berechtigung konnte nicht überprüft werden"420 „Remote Control-Berechtigung konnte nicht überprüft werden"

424</h3>421</h3>

425 422 

426Claude Code konnte den Feature-Flag-Service nicht erreichen, um zu überprüfen, ob Remote Control für Ihr Konto aktiviert ist, normalerweise weil Sie offline sind oder ein Proxy die Anfrage blockiert. Versuchen Sie es erneut, wenn Sie Netzwerkzugriff haben, oder führen Sie `claude doctor` aus, um Details zu erhalten. Die zugehörige Meldung „Remote Control-Richtlinie Ihrer Organisation konnte nicht überprüft werden" hat die gleiche Ursache und die gleiche Lösung. Beide Meldungen wurden in v2.1.178 hinzugefügt.423Claude Code konnte den Feature-Flag-Service nicht erreichen, um zu überprüfen, ob Remote Control für Ihr Konto aktiviert ist, normalerweise weil Sie offline sind oder ein Proxy die Anfrage blockiert. Versuchen Sie es erneut, wenn Sie Netzwerkzugriff haben, oder führen Sie `claude doctor` aus, um Details zu erhalten. Die zugehörige Meldung „Remote Control-Richtlinie Ihrer Organisation konnte nicht überprüft werden" bedeutet, dass Claude Code diese Richtlinie nicht lesen konnte, und hat die gleiche Lösung. Beide Meldungen wurden in v2.1.178 hinzugefügt.

427 424 

428<h3 id="remote-control-requires-feature-flag-evaluation">425<h3 id="remote-control-requires-feature-flag-evaluation">

429 „Remote Control erfordert Feature-Flag-Auswertung"426 „Remote Control erfordert Feature-Flag-Auswertung"


536</h2>533</h2>

537 534 

538* [Claude Code im Web](/docs/de/claude-code-on-the-web): Führen Sie Sitzungen in der Cloud aus, anstatt auf Ihrem Computer, konfiguriert über [Cloud-Umgebungen](/docs/de/cloud-environments)535* [Claude Code im Web](/docs/de/claude-code-on-the-web): Führen Sie Sitzungen in der Cloud aus, anstatt auf Ihrem Computer, konfiguriert über [Cloud-Umgebungen](/docs/de/cloud-environments)

539* [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging): Lassen Sie Claude Ihre Sitzungen auf anderen Computern oder auf [Claude Code im Web](/docs/de/claude-code-on-the-web) anschreiben536* [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging): Lassen Sie Claude Ihre Sitzungen auf anderen Computern oder auf [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) anschreiben

540* [Kanäle](/docs/de/channels): Leiten Sie Telegram, Discord oder iMessage in eine Sitzung weiter, damit Claude auf Nachrichten reagiert, während Sie weg sind537* [Kanäle](/docs/de/channels): Leiten Sie Telegram, Discord oder iMessage in eine Sitzung weiter, damit Claude auf Nachrichten reagiert, während Sie weg sind

541* [Dispatch](/docs/de/desktop#sessions-from-dispatch): Senden Sie eine Aufgabe von Ihrem Telefon aus, und sie kann eine Desktop-Sitzung spawnen, um sie zu bearbeiten538* [Dispatch](/docs/de/desktop#sessions-from-dispatch): Senden Sie eine Aufgabe von Ihrem Telefon aus, und sie kann eine Desktop-Sitzung spawnen, um sie zu bearbeiten

542* [Authentifizierung](/docs/de/authentication): Richten Sie `/login` ein und verwalten Sie Anmeldeinformationen für claude.ai539* [Authentifizierung](/docs/de/authentication): Richten Sie `/login` ein und verwalten Sie Anmeldeinformationen für claude.ai

543* [CLI-Referenz](/docs/de/cli-reference): Vollständige Liste von Flags und Befehlen einschließlich `claude remote-control`540* [CLI-Referenz](/docs/de/cli-reference): Vollständige Liste von Flags und Befehlen einschließlich `claude remote-control`

544* [Sicherheit](/docs/de/security): Wie Remote Control-Sitzungen in das Claude Code-Sicherheitsmodell passen541* [Sicherheit](/docs/de/security): Wie Remote Control-Sitzungen in das Claude Code-Sicherheitsmodell passen

545* [Datennutzung](/docs/de/data-usage): Welche Daten während lokaler und Remote-Sitzungen durch die Anthropic-API fließen542* [Datennutzung](/docs/de/data-usage): Welche Daten während lokaler, Remote Control- und Cloud-Sitzungen durch die Anthropic-API fließen

routines.md +15 −17

Details

174 174 

175<Steps>175<Steps>

176 <Step title="Öffnen Sie die Routine zur Bearbeitung">176 <Step title="Öffnen Sie die Routine zur Bearbeitung">

177 Gehen Sie zu [claude.ai/code/routines](https://claude.ai/code/routines), klicken Sie auf die Routine, die Sie über API auslösen möchten, und klicken Sie dann auf das Stiftsymbol, um **Routine bearbeiten** zu öffnen.177 Gehen Sie zu [claude.ai/code/routines](https://claude.ai/code/routines), klicken Sie auf die Routine, die Sie über API auslösen möchten, und öffnen Sie dann das Menü neben dem Namen der Routine und wählen Sie **Bearbeiten**.

178 </Step>178 </Step>

179 179 

180 <Step title="Fügen Sie einen API-Trigger hinzu">180 <Step title="Fügen Sie einen API-Trigger hinzu">


254 254 

255<Steps>255<Steps>

256 <Step title="Öffnen Sie die Routine zur Bearbeitung">256 <Step title="Öffnen Sie die Routine zur Bearbeitung">

257 Gehen Sie zu [claude.ai/code/routines](https://claude.ai/code/routines), klicken Sie auf die Routine, und klicken Sie dann auf das Stiftsymbol, um **Routine bearbeiten** zu öffnen.257 Gehen Sie zu [claude.ai/code/routines](https://claude.ai/code/routines), klicken Sie auf die Routine, und öffnen Sie dann das Menü neben dem Namen der Routine und wählen Sie **Bearbeiten**.

258 </Step>258 </Step>

259 259 

260 <Step title="Fügen Sie einen GitHub-Ereignis-Trigger hinzu">260 <Step title="Fügen Sie einen GitHub-Ereignis-Trigger hinzu">


331Von der Routine-Detailseite können Sie:331Von der Routine-Detailseite können Sie:

332 332 

333* Auf **Jetzt ausführen** klicken, um eine Ausführung sofort zu starten, ohne auf die nächste geplante Zeit zu warten. Sie können optional laufspezifischen Text bereitstellen, der die Routine auf die gleiche Weise erreicht wie das Feld `text` des API-Triggers.333* Auf **Jetzt ausführen** klicken, um eine Ausführung sofort zu starten, ohne auf die nächste geplante Zeit zu warten. Sie können optional laufspezifischen Text bereitstellen, der die Routine auf die gleiche Weise erreicht wie das Feld `text` des API-Triggers.

334* Den Toggle im Abschnitt **Wiederholt** verwenden, um den Schedule zu pausieren oder fortzusetzen. Pausierte Routinen behalten ihre Konfiguration, werden aber nicht ausgeführt, bis Sie sie erneut aktivieren.334* Den Ein-/Aus-Schalter oben auf der Seite verwenden, um den Schedule zu pausieren oder fortzusetzen. Pausierte Routinen behalten ihre Konfiguration, werden aber nicht ausgeführt, bis Sie sie erneut aktivieren.

335* Auf das Stiftsymbol klicken, um **Routine bearbeiten** zu öffnen und den Namen, Prompt, Repositories, Umgebung, Konnektoren oder einen der Trigger der Routine zu ändern. Der Abschnitt **Trigger auswählen** ist der Ort, an dem Sie Schedules, API-Tokens und GitHub-Ereignis-Trigger hinzufügen oder entfernen.335* Das Menü neben dem Namen der Routine öffnen und **Bearbeiten** auswählen, um den Namen, Prompt, Repositories, Umgebung, Konnektoren oder einen der Trigger der Routine zu ändern. Der Abschnitt **Trigger auswählen** ist der Ort, an dem Sie Schedules, API-Tokens und GitHub-Ereignis-Trigger hinzufügen oder entfernen.

336* Auf das Löschsymbol klicken, um die Routine zu entfernen. Vergangene Sitzungen, die von der Routine erstellt wurden, bleiben in Ihrer Sitzungsliste.336* Das gleiche Menü öffnen und **Löschen** auswählen, um die Routine zu löschen.

337 337 

338<h3 id="manage-routines-from-the-cli">338<h3 id="manage-routines-from-the-cli">

339 Routinen über die CLI verwalten339 Routinen über die CLI verwalten


381 381 

382<Steps>382<Steps>

383 <Step title="Öffnen Sie die Routine zur Bearbeitung">383 <Step title="Öffnen Sie die Routine zur Bearbeitung">

384 Klicken Sie auf der Detailseite der Routine auf das Stiftsymbol, um **Routine bearbeiten** zu öffnen.384 Auf der Detailseite der Routine öffnen Sie das Menü neben dem Namen der Routine und wählen **Bearbeiten** aus.

385 </Step>385 </Step>

386 386 

387 <Step title="Öffnen Sie die Umgebungsauswahl">387 <Step title="Öffnen Sie die Umgebungsauswahl">


421 `/schedule` zeigt "Unknown command" an421 `/schedule` zeigt "Unknown command" an

422</h3>422</h3>

423 423 

424Die CLI blendet `/schedule` aus, wenn eine ihrer Anforderungen nicht erfüllt ist: Das Befehlsmenü zeigt `No commands match "/schedule"` während der Eingabe an, und das Absenden gibt `Unknown command: /schedule` zurück. In allen Fällen unten außer einem Console-API-Schlüssel oder einem Anthropic-Profil mit aktiviertem Feature-Flag-Abrufen ist die Ursache normalerweise eine der folgenden:424Die CLI blendet `/schedule` aus, wenn eine ihrer Anforderungen nicht erfüllt ist: Das Befehlsmenü zeigt `No commands match "/schedule"` während der Eingabe an. Das Absenden gibt `Unknown command: /schedule` zurück, außer in den folgenden Fällen, die eine andere Antwort angeben.

425 425 

426* Sie sind mit einem Console-API-Schlüssel, einem [Anthropic-Profil oder Verbundsanmeldedaten](/docs/de/authentication#anthropic-profiles-and-federation-credentials) oder einem Cloud-Anbieter wie Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry authentifiziert. `/schedule` erfordert eine claude.ai-Abonnement-Anmeldung. Mit einem Console-API-Schlüssel oder einem Profil zeigt das Absenden von `/schedule` stattdessen `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access` an. Mit einer Cloud-Anbieter-Anmeldung sehen Sie immer noch `Unknown command: /schedule`. Wenn `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN` in Ihrer Shell oder `apiKeyHelper` in `settings.json` gesetzt ist, entfernen Sie es zuerst, da diese Vorrang vor einer claude.ai-Anmeldung haben. Ein Profil oder eine Verbundsanmeldedaten hat ebenfalls Vorrang, daher schalten Sie diese auch aus426Die Ursache ist normalerweise eine der folgenden:

427* Sie befinden sich in einer Claude Code-Sitzung im Web. Verwalten Sie Routinen stattdessen über die [Web-Benutzeroberfläche](https://claude.ai/code/routines)

428* Die Richtlinie Ihrer Organisation deaktiviert [Claude Code im Web](/docs/de/claude-code-on-the-web), auf dem Routinen ausgeführt werden

429* Ein Inhaber hat [Routinen deaktiviert](#routines-are-disabled-by-your-organizations-policy) für Ihre Team- oder Enterprise-Organisation. Vor v2.1.227 erschien der Befehl in diesem Fall immer noch, und claude.ai lehnte die Routine ab, wenn Claude versuchte, sie zu erstellen oder auszuführen

430 

431Sofern die Richtlinie Ihrer Organisation Routinen oder Claude Code im Web nicht deaktiviert, können Sie Routinen jederzeit unter [claude.ai/code/routines](https://claude.ai/code/routines) erstellen und verwalten, unabhängig davon, wie die CLI konfiguriert ist.

432 427 

433<h3 id="/schedule-asks-you-to-authenticate">428* Sie sind mit einem Console-API-Schlüssel, einem [Anthropic-Profil oder Verbundsanmeldedaten](/docs/de/authentication#anthropic-profiles-and-federation-credentials) oder einem Cloud-Anbieter wie Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry authentifiziert. `/schedule` erfordert eine claude.ai-Abonnement-Anmeldung. Mit einem Console-API-Schlüssel oder einem Profil und aktiviertem Feature-Flag-Abrufen zeigt das Absenden von `/schedule` stattdessen `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access` an. Mit einer Cloud-Anbieter-Anmeldung sehen Sie immer noch `Unknown command: /schedule`. Wenn `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN` in Ihrer Shell oder `apiKeyHelper` in `settings.json` gesetzt ist, entfernen Sie es zuerst, da diese Vorrang vor einer claude.ai-Anmeldung haben. Ein Profil oder eine Verbundsanmeldedaten hat ebenfalls Vorrang, daher schalten Sie diese auch aus

434 `/schedule` fordert Sie auf, sich zu authentifizieren429* Sie sind vollständig abgemeldet, ohne API-Schlüssel oder andere Anmeldedaten. Mit aktiviertem Feature-Flag-Abrufen zeigt das Absenden von `/schedule` `/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.` an Vor v2.1.268 zeigte eine abgemeldete Sitzung die gleiche Claude for Enterprise-Nachricht wie ein Console-API-Schlüssel

435</h3>430* Sie befinden sich in einer Cloud-Sitzung. Verwalten Sie Routinen stattdessen über die [Web-Benutzeroberfläche](https://claude.ai/code/routines)

431* Die Richtlinie Ihrer Organisation deaktiviert [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), auf denen Routinen ausgeführt werden. In diesem Fall antwortet das Absenden von `/schedule` mit [`Cloud sessions are disabled by your organization's policy`](/docs/de/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Vor v2.1.268 gab es `Unknown command: /schedule` zurück

432* Ein Inhaber hat [Routinen deaktiviert](#routines-are-disabled-by-your-organizations-policy) für Ihre Team- oder Enterprise-Organisation. Vor v2.1.227 erschien der Befehl in diesem Fall immer noch, und claude.ai lehnte die Routine ab, wenn Claude versuchte, sie zu erstellen oder auszuführen

436 433 

437Wenn `/schedule` ausgeführt wird, aber Claude antwortet, dass Sie sich zuerst mit einem claude.ai-Konto authentifizieren müssen, hat die CLI keine gespeicherte claude.ai-Anmeldung. API-Konten werden für Routinen nicht unterstützt. Führen Sie `/login` aus, melden Sie sich mit Ihrem claude.ai-Konto an, und führen Sie dann `/schedule` erneut aus.434Sofern die Richtlinie Ihrer Organisation Routinen oder Cloud-Sitzungen nicht deaktiviert, können Sie Routinen jederzeit unter [claude.ai/code/routines](https://claude.ai/code/routines) erstellen und verwalten, unabhängig davon, wie die CLI konfiguriert ist.

438 435 

439<h3 id="routines-are-disabled-by-your-organizations-policy">436<h3 id="routines-are-disabled-by-your-organizations-policy">

440 "Routinen sind durch die Richtlinie Ihrer Organisation deaktiviert"437 "Routinen sind durch die Richtlinie Ihrer Organisation deaktiviert"


449* [`/loop` und In-Session-Planung](/docs/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung446* [`/loop` und In-Session-Planung](/docs/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung

450* [Desktop-geplante Aufgaben](/docs/de/desktop-scheduled-tasks): Lokale geplante Aufgaben, die auf Ihrem Computer mit Zugriff auf lokale Dateien ausgeführt werden447* [Desktop-geplante Aufgaben](/docs/de/desktop-scheduled-tasks): Lokale geplante Aufgaben, die auf Ihrem Computer mit Zugriff auf lokale Dateien ausgeführt werden

451* [Cloud-Umgebungen](/docs/de/cloud-environments): Konfigurieren Sie Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte für Cloud-Sitzungen448* [Cloud-Umgebungen](/docs/de/cloud-environments): Konfigurieren Sie Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte für Cloud-Sitzungen

449* [Projekte](/docs/de/claude-projects): Laufende Arbeiten, die Claude über parallele Cloud-Sitzungen koordiniert; aus einem Projekt erstellte Routinen werden auf der Registerkarte **Routinen** angezeigt

452* [MCP-Konnektoren](/docs/de/mcp): Verbinden Sie externe Dienste wie Slack, Linear und Google Drive450* [MCP-Konnektoren](/docs/de/mcp): Verbinden Sie externe Dienste wie Slack, Linear und Google Drive

453* [GitHub Actions](/docs/de/github-actions): Führen Sie Claude in Ihrer CI-Pipeline bei Repository-Ereignissen aus451* [GitHub Actions](/docs/de/github-actions): Führen Sie Claude in Ihrer CI-Pipeline bei Repository-Ereignissen aus

Details

21Die ersten beiden Ansätze in der folgenden Tabelle werden auf dem Host-Betriebssystem ohne Container ausgeführt. Die übrigen platzieren Claude Code in einem Container oder einer virtuellen Maschine.21Die ersten beiden Ansätze in der folgenden Tabelle werden auf dem Host-Betriebssystem ohne Container ausgeführt. Die übrigen platzieren Claude Code in einem Container oder einer virtuellen Maschine.

22 22 

23| Ansatz | Was wird isoliert | Erfordert Docker | Setup-Aufwand |23| Ansatz | Was wird isoliert | Erfordert Docker | Setup-Aufwand |

24| :------------------------------------------------ | :-------------------------------------------------------------------------------- | :--------------- | :------------------------------------------------------------------------------------------ |24| :------------------------------------------ | :-------------------------------------------------------------------------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------- |

25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Bash-Befehle und ihre untergeordneten Prozesse | Nein | Minimal auf macOS; niedrig auf Linux und WSL2 |25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Bash-, PowerShell- und Monitor-Befehle und ihre untergeordneten Prozesse | Nein | Minimal auf macOS; niedrig auf Linux und WSL2 |

26| [Sandbox runtime](#sandbox-runtime) | Der gesamte Claude Code-Prozess, einschließlich Datei-Tools, MCP-Server und Hooks | Nein | Niedrig |26| [Sandbox runtime](#sandbox-runtime) | Der gesamte Claude Code-Prozess, einschließlich Datei-Tools, MCP-Server und Hooks | Nein | Niedrig |

27| [Dev container](#dev-containers) | Vollständige Entwicklungsumgebung | Ja | Mittel |27| [Dev container](#dev-containers) | Vollständige Entwicklungsumgebung | Ja | Mittel |

28| [Custom container](#custom-container) | Vollständige Entwicklungsumgebung | Ja | Mittel bis hoch |28| [Custom container](#custom-container) | Vollständige Entwicklungsumgebung | Ja | Mittel bis hoch |

29| [Virtual machine](#virtual-machine) | Vollständiges Betriebssystem | Nein | Hoch |29| [Virtual machine](#virtual-machine) | Vollständiges Betriebssystem | Nein | Hoch |

30| [Claude Code on the web](#claude-code-on-the-web) | Vollständiges Betriebssystem, gehostet von Anthropic | Nein | Keine; erfordert ein Claude-Abonnement und GitHub, wenn Sie über die Web-Oberfläche starten |30| [Cloud sessions](#cloud-sessions) | Vollständiges Betriebssystem, gehostet von Anthropic | Nein | Keine; erfordert ein Claude-Abonnement und ein verbundenes GitHub-Konto, es sei denn, Sie starten mit `claude --cloud` |

31 31 

32Das [Sandboxed Bash tool](/docs/de/sandboxing) ist in Claude Code integriert und beschränkt nur Bash-Befehle. Integrierte Datei-Tools, MCP-Server und Hooks werden weiterhin direkt auf Ihrem Host ausgeführt. Jeder andere Ansatz in der Tabelle platziert den gesamten Claude Code-Prozess innerhalb der Isolierungsgrenze, sodass auch Datei-Tools, MCP-Server und Hooks eingeschränkt sind.32Das [Sandboxed Bash tool](/docs/de/sandboxing) ist in Claude Code integriert und beschränkt nur Bash-Befehle. Integrierte Datei-Tools, MCP-Server und Hooks werden weiterhin direkt auf Ihrem Host ausgeführt. Jeder andere Ansatz in der Tabelle platziert den gesamten Claude Code-Prozess innerhalb der Isolierungsgrenze, sodass auch Datei-Tools, MCP-Server und Hooks eingeschränkt sind.

33 33 


44Ordnen Sie Ihr Ziel einer Zeile unten zu und lesen Sie dann den folgenden Detailabschnitt.44Ordnen Sie Ihr Ziel einer Zeile unten zu und lesen Sie dann den folgenden Detailabschnitt.

45 45 

46| Sie möchten | Beginnen Sie mit |46| Sie möchten | Beginnen Sie mit |

47| :------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

48| Genehmigungseingaben während der täglichen Arbeit auf Ihrem eigenen Computer reduzieren | Das [Sandboxed Bash tool](/docs/de/sandboxing), aktiviert mit `/sandbox` |48| Genehmigungseingaben während der täglichen Arbeit auf Ihrem eigenen Computer reduzieren | Das [Sandboxed Bash tool](/docs/de/sandboxing), aktiviert mit `/sandbox` |

49| Claude unbeaufsichtigt mit `--dangerously-skip-permissions` oder Auto-Modus arbeiten lassen | Der vorkonfigurierte [Dev Container](/docs/de/devcontainer), ein beliebiger Container oder VM, oder die [Sandbox Runtime](#sandbox-runtime) |49| Claude unbeaufsichtigt mit `--dangerously-skip-permissions` oder Auto-Modus arbeiten lassen | Der vorkonfigurierte [Dev Container](/docs/de/devcontainer), ein beliebiger Container oder VM, oder die [Sandbox Runtime](#sandbox-runtime) |

50| MCP-Server und Hooks sowie Bash isolieren, ohne Docker | Die Sandbox Runtime |50| MCP-Server und Hooks sowie Bash isolieren, ohne Docker | Die Sandbox Runtime |

51| An einem nicht vertrauenswürdigen Repository arbeiten | Eine dedizierte virtuelle Maschine oder [Claude Code on the web](/docs/de/claude-code-on-the-web), wenn Sie ein Claude-Abonnement haben; GitHub ist nur erforderlich, wenn Sie von der Weboberfläche aus starten |51| An einem nicht vertrauenswürdigen Repository arbeiten | Eine dedizierte virtuelle Maschine oder [Claude Code on the web](/docs/de/claude-code-on-the-web), wenn Sie ein Claude-Abonnement haben; GitHub ist nicht erforderlich, wenn Sie mit `claude --cloud` starten |

52| Eine Sandbox-Umgebung über ein Team standardisieren | Der vorkonfigurierte [Dev Container](/docs/de/devcontainer), kopiert in Ihr Repository |52| Eine Sandbox-Umgebung über ein Team standardisieren | Der vorkonfigurierte [Dev Container](/docs/de/devcontainer), kopiert in Ihr Repository |

53| Claude Code von einem Gerät ohne lokales Setup verwenden | [Claude Code on the web](/docs/de/claude-code-on-the-web), das ein Claude-Abonnement und ein verbundenes GitHub-Konto erfordert |53| Claude Code von einem Gerät ohne lokales Setup verwenden | Eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web), die ein Claude-Abonnement und ein verbundenes GitHub-Konto erfordert |

54| Isolation für jeden Entwickler in Ihrer Organisation erfordern | [Isolation über eine Organisation erzwingen](#enforce-isolation-across-an-organization) |54| Isolation für jeden Entwickler in Ihrer Organisation erfordern | [Isolation über eine Organisation erzwingen](#enforce-isolation-across-an-organization) |

55| Auf einem nativen Windows-Host arbeiten | Ein Container oder VM, oder führen Sie die Bash-Sandbox in WSL2 aus |55| Auf einem nativen Windows-Host arbeiten | Ein Container oder VM, oder führen Sie die Bash-Sandbox in WSL2 aus |

56 56 


66 66 

67[Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) ersetzt die Eingabeaufforderung durch einen Klassifizierer, der Aktionen überprüft. Der Klassifizierer ist eine Kontrolle pro Aktion, keine Isolierungsgrenze, daher fügt eine Isolierungsgrenze immer noch Verteidigungstiefe für unbeaufsichtigte Läufe hinzu und ist nicht erforderlich, wie es für `--dangerously-skip-permissions` der Fall ist.67[Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) ersetzt die Eingabeaufforderung durch einen Klassifizierer, der Aktionen überprüft. Der Klassifizierer ist eine Kontrolle pro Aktion, keine Isolierungsgrenze, daher fügt eine Isolierungsgrenze immer noch Verteidigungstiefe für unbeaufsichtigte Läufe hinzu und ist nicht erforderlich, wie es für `--dangerously-skip-permissions` der Fall ist.

68 68 

69Das [Sandboxed Bash tool](#sandboxed-bash-tool) allein beschränkt nur Bash, daher ist es nicht ausreichend für vollständig unbeaufsichtigte Läufe in beiden Modi. Sie können Ansätze schichten: Das Ausführen des Sandboxed Bash tool in einem Container oder VM gibt Ihnen OS-Ebenen-Befehlsbeschränkungen zusätzlich zur äußeren Umgebungsgrenze. Für die Interaktion der Bash-Sandbox selbst mit Berechtigungsregeln und Modi siehe [Wie Sandboxing mit Berechtigungen und Berechtigungsmodi zusammenhängt](/docs/de/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes).69Das [Sandboxed Bash tool](#sandboxed-bash-tool) allein beschränkt nur Shell-Befehle, daher ist es nicht ausreichend für vollständig unbeaufsichtigte Läufe in beiden Modi. Sie können Ansätze schichten: Das Ausführen des Sandboxed Bash tool in einem Container oder VM gibt Ihnen OS-Ebenen-Befehlsbeschränkungen zusätzlich zur äußeren Umgebungsgrenze. Für die Interaktion der Bash-Sandbox selbst mit Berechtigungsregeln und Modi siehe [Wie Sandboxing mit Berechtigungen und Berechtigungsmodi zusammenhängt](/docs/de/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes).

70 70 

71<h2 id="sandboxed-bash-tool">71<h2 id="sandboxed-bash-tool">

72 Sandboxed Bash tool72 Sandboxed Bash tool


76 Diese Option unterstützt nicht natives Windows. Verwenden Sie auf Windows-Hosts WSL2 oder einen der Container- oder VM-Ansätze unten.76 Diese Option unterstützt nicht natives Windows. Verwenden Sie auf Windows-Hosts WSL2 oder einen der Container- oder VM-Ansätze unten.

77</Note>77</Note>

78 78 

79Das Sandboxed Bash tool ist in Claude Code integriert. Es verwendet Betriebssystem-Primitive, um den Dateisystem- und Netzwerkzugriff jedes Bash-Befehls, den Claude ausführt, einzuschränken.79Das Sandboxed Bash tool ist in Claude Code integriert. Es verwendet Betriebssystem-Primitive, um den Dateisystem- und Netzwerkzugriff jedes Bash-, PowerShell- oder Monitor-Befehls, den Claude ausführt, einzuschränken.

80 80 

81Führen Sie den `/sandbox`-Befehl aus, um das Sandbox-Panel zu öffnen und einen Modus auszuwählen. Der [Sandboxing](/docs/de/sandboxing)-Leitfaden behandelt die Genehmigungsmodi, die Standardgrenze und wie Sie sie erweitern oder einengen.81Führen Sie den `/sandbox`-Befehl aus, um das Sandbox-Panel zu öffnen und einen Modus auszuwählen. Der [Sandboxing](/docs/de/sandboxing)-Leitfaden behandelt die Genehmigungsmodi, die Standardgrenze und wie Sie sie erweitern oder einengen.

82 82 


91 Sandbox Runtime91 Sandbox Runtime

92</h2>92</h2>

93 93 

94Das [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime)-Paket umhüllt einen gesamten Prozess mit der gleichen Seatbelt- oder bubblewrap-Isolation, die die integrierte Bash-Sandbox verwendet. Das Ausführen von Claude Code durch die Runtime beschränkt jedes Tool, jeden Hook und jeden MCP-Server in der Sitzung, nicht nur Bash. Die Runtime ist eine Beta-Forschungsvorschau, und ihr Konfigurationsformat kann sich ändern, wenn sich das Paket weiterentwickelt.94Das [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime)-Paket umhüllt einen gesamten Prozess mit der gleichen Seatbelt- oder bubblewrap-Isolation, die die integrierte Bash-Sandbox verwendet. Das Ausführen von Claude Code durch die Runtime beschränkt jedes Tool, jeden Hook und jeden MCP-Server in der Sitzung, nicht nur Shell-Befehle. Die Runtime ist eine Beta-Forschungsvorschau, und ihr Konfigurationsformat kann sich ändern, wenn sich das Paket weiterentwickelt.

95 95 

96Dieser Abschnitt behandelt, was Sie konfigurieren und was die Runtime von selbst erzwingt. Informationen zum Bereitstellen der Runtime in Agent SDK-Anwendungen finden Sie im [Leitfaden zur sicheren Bereitstellung](/docs/de/agent-sdk/secure-deployment#sandbox-runtime).96Dieser Abschnitt behandelt, was Sie konfigurieren und was die Runtime von selbst erzwingt. Informationen zum Bereitstellen der Runtime in Agent SDK-Anwendungen finden Sie im [Leitfaden zur sicheren Bereitstellung](/docs/de/agent-sdk/secure-deployment#sandbox-runtime).

97 97 


175 175 

176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) bietet eine microVM mit ihrem eigenen Docker-Daemon und Workspace-Synchronisierung, die Claude Code auf jedem Host mit installiertem Docker Sandboxes ausführen kann. Es ist ein kostenloses, eigenständiges Produkt von Docker, das Docker Desktop nicht erfordert.176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) bietet eine microVM mit ihrem eigenen Docker-Daemon und Workspace-Synchronisierung, die Claude Code auf jedem Host mit installiertem Docker Sandboxes ausführen kann. Es ist ein kostenloses, eigenständiges Produkt von Docker, das Docker Desktop nicht erfordert.

177 177 

178<h2 id="claude-code-on-the-web">178<h2 id="cloud-sessions">

179 Claude Code on the web179 Cloud-Sitzungen

180</h2>180</h2>

181 181 

182[Claude Code on the web](/docs/de/claude-code-on-the-web) führt jede Sitzung in einer isolierten, von Anthropic verwalteten virtuellen Maschine aus. Ein Netzwerk-Proxy erzwingt eine Standard-Allowlist, und ein separater Proxy hält Ihren GitHub-Token außerhalb der Sandbox, während er scoped Anmeldedaten für Repository-Zugriff darin ausstellt. Sitzungen, die Ihre Organisation an eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) leitet, werden stattdessen auf einer Infrastruktur ausgeführt, die Sie bereitstellen, wobei Isolation, Egress-Kontrolle und Git-Anmeldedaten die Verantwortung Ihrer Bereitstellung sind.182Eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) wird in einer isolierten, von Anthropic verwalteten virtuellen Maschine ausgeführt. Ein Netzwerk-Proxy erzwingt eine Standard-Allowlist, und ein separater Proxy hält Ihren GitHub-Token außerhalb der Sandbox, während er scoped Anmeldedaten für Repository-Zugriff darin ausstellt. Sitzungen, die Ihre Organisation an eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) leitet, werden stattdessen auf einer Infrastruktur ausgeführt, die Sie bereitstellen, wobei Isolation, Egress-Kontrolle und Git-Anmeldedaten die Verantwortung Ihrer Bereitstellung sind.

183 183 

184Verwenden Sie diesen Ansatz, wenn Sie vollständige VM-Isolation ohne Bereitstellung von Infrastruktur selbst möchten, oder wenn Sie Aufgaben von einem Gerät delegieren, das keine lokale Entwicklungsumgebung hat. Es erfordert ein Claude-Abonnement. Wenn Sie eine Sitzung über die Weboberfläche starten, benötigen Sie auch ein verbundenes GitHub-Konto, damit die Sandbox Ihr Repository klonen kann. Wenn Sie über die CLI mit `--cloud` starten, kann Claude Code stattdessen [Ihr lokales Repository bündeln und hochladen](/docs/de/claude-code-on-the-web#send-local-repositories-without-github). Siehe [Claude Code on the web](/docs/de/claude-code-on-the-web) für Planverfügbarkeit und GitHub-Authentifizierungsoptionen.184Verwenden Sie diesen Ansatz, wenn Sie vollständige VM-Isolation ohne Bereitstellung von Infrastruktur selbst möchten, oder wenn Sie Aufgaben von einem Gerät delegieren, das keine lokale Entwicklungsumgebung hat. Es erfordert ein Claude-Abonnement. Wenn Sie nicht über die CLI starten, benötigen Sie auch ein verbundenes GitHub-Konto, damit die Sandbox Ihr Repository klonen kann. Wenn Sie über die CLI mit `--cloud` starten, kann Claude Code stattdessen [Ihr lokales Repository bündeln und hochladen](/docs/de/claude-code-on-the-web#send-local-repositories-without-github). Siehe [Claude Code in der Cloud verwenden](/docs/de/claude-code-on-the-web) für Planverfügbarkeit und GitHub-Authentifizierungsoptionen.

185 185 

186<h2 id="enforce-isolation-across-an-organization">186<h2 id="enforce-isolation-across-an-organization">

187 Isolation über eine Organisation erzwingen187 Isolation über eine Organisation erzwingen

sandboxing.md +27 −9

Details

6 6 

7> Erfahren Sie, wie das Sandboxed-Bash-Tool von Claude Code Dateisystem- und Netzwerkisolation für sicherere und autonomere Agent-Ausführung bietet.7> Erfahren Sie, wie das Sandboxed-Bash-Tool von Claude Code Dateisystem- und Netzwerkisolation für sicherere und autonomere Agent-Ausführung bietet.

8 8 

9Die Bash-Sandbox ermöglicht es Claude, die meisten Shell-Befehle auszuführen, ohne um Genehmigung zu fragen. Anstatt jeden Befehl zu genehmigen, definieren Sie, welche Dateien und Netzwerk-Domains Befehle berühren können, und das Betriebssystem erzwingt diese Grenze für jeden Bash-Befehl und seine Kindprozesse.9Die Bash-Sandbox ermöglicht es Claude, die meisten Shell-Befehle auszuführen, ohne um Genehmigung zu fragen. Anstatt jeden Befehl zu genehmigen, definieren Sie, welche Dateien und Netzwerk-Domains Befehle berühren können, und das Betriebssystem erzwingt diese Grenze für jeden Bash-, PowerShell- oder Monitor-Befehl und seine Kindprozesse.

10 10 

11<Note>11<Note>

12 Um andere Isolationsansätze wie Dev-Container, benutzerdefinierte Container und virtuelle Maschinen zu vergleichen, siehe [Sandbox-Umgebungen](/docs/de/sandbox-environments). Um Genehmigungseingaben für Tools außer Bash zu reduzieren, siehe [Genehmigungsmodi](/docs/de/permission-modes).12 Um andere Isolationsansätze wie Dev-Container, benutzerdefinierte Container und virtuelle Maschinen zu vergleichen, siehe [Sandbox-Umgebungen](/docs/de/sandbox-environments). Um Genehmigungseingaben für Tools außer Bash zu reduzieren, siehe [Genehmigungsmodi](/docs/de/permission-modes).


42 </Step>42 </Step>

43 43 

44 <Step title="Führen Sie einen Bash-Befehl aus">44 <Step title="Führen Sie einen Bash-Befehl aus">

45 Bitten Sie Claude, einen Befehl auszuführen, z. B. einen Build oder eine Test-Suite. Standardmäßig können Befehle in der Sandbox in das Arbeitsverzeichnis, das Sitzungs-Temp-Verzeichnis und alle [Verzeichnisse schreiben, die Sie hinzugefügt haben](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) mit `--add-dir`, `/add-dir` oder `permissions.additionalDirectories`. Wenn ein Befehl zum ersten Mal eine neue Netzwerk-Domain benötigt, fordert Claude Code zur Genehmigung auf, oder im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) sendet die Anfrage an den Klassifizierer.45 Bitten Sie Claude, einen Befehl auszuführen, z. B. einen Build oder eine Test-Suite. Standardmäßig können Befehle in der Sandbox in das Arbeitsverzeichnis, das Sitzungs-Temp-Verzeichnis und alle [Verzeichnisse schreiben, die Sie hinzugefügt haben](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) mit `--add-dir`, `/add-dir` oder `permissions.additionalDirectories`.

46 

47 Wenn ein Befehl zum ersten Mal eine neue Netzwerk-Domain benötigt, fordert Claude Code zur Genehmigung auf; im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) benennt Claude stattdessen die Hosts, die ein Befehl benötigt, [im Befehl selbst](#per-command-allowed-domains-in-auto-mode) für den Klassifizierer zur Überprüfung damit.

46 48 

47 Befehle, die nicht in der Sandbox ausgeführt werden können, fallen auf den regulären Genehmigungsfluss zurück. Claude Code betitelt ihre Genehmigungseingabe mit „Bash-Befehl (unsandboxed)" statt „Bash-Befehl", damit Sie erkennen können, welche Befehle außerhalb der Sandbox ausgeführt wurden. Um diese Grenzen zu erweitern oder zu verengen, siehe [Sandboxing konfigurieren](#configure-sandboxing).49 Befehle, die nicht in der Sandbox ausgeführt werden können, fallen auf den regulären Genehmigungsfluss zurück. Claude Code betitelt ihre Genehmigungseingabe mit „Bash-Befehl (unsandboxed)" statt „Bash-Befehl", damit Sie erkennen können, welche Befehle außerhalb der Sandbox ausgeführt wurden. Um diese Grenzen zu erweitern oder zu verengen, siehe [Sandboxing konfigurieren](#configure-sandboxing).

48 50 


145* Eine einfache `Bash` Ask-Regel oder die entsprechende `Bash(*)` Form wird für Befehle übersprungen, die in der Sandbox ausgeführt werden; sie gilt immer noch für Befehle, die auf den regulären Genehmigungsfluss zurückfallen. Im [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) wird die Regel nicht übersprungen: Sie fordert auch für Sandbox-Befehle auf, einschließlich schreibgeschützter. Vor v2.1.212 galt das Überspringen auch im Plan-Modus147* Eine einfache `Bash` Ask-Regel oder die entsprechende `Bash(*)` Form wird für Befehle übersprungen, die in der Sandbox ausgeführt werden; sie gilt immer noch für Befehle, die auf den regulären Genehmigungsfluss zurückfallen. Im [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) wird die Regel nicht übersprungen: Sie fordert auch für Sandbox-Befehle auf, einschließlich schreibgeschützter. Vor v2.1.212 galt das Überspringen auch im Plan-Modus

146 148 

147<Info>149<Info>

148 Der Auto-Allow-Modus funktioniert unabhängig von Ihrer Genehmigungsmodus-Einstellung, mit einer Ausnahme: [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode). Selbst wenn Sie sich nicht im „Bearbeitungen akzeptieren"-Modus befinden, werden Sandbox-Bash-Befehle automatisch ausgeführt, wenn Auto-Allow aktiviert ist. Dies bedeutet, dass Bash-Befehle, die Dateien innerhalb der Sandbox-Grenzen ändern, ohne Eingabeaufforderung ausgeführt werden, auch im Manual-Modus, wo die Datei-Bearbeitungs-Tools eine Eingabeaufforderung erfordern würden.150 Der Auto-Allow-Modus funktioniert unabhängig von Ihrer Genehmigungsmodus-Einstellung, mit einer Ausnahme: [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) und, im Auto-Modus, für einen Befehl, der [pro-Befehl zulässige Domains](#per-command-allowed-domains-in-auto-mode) trägt. Selbst wenn Sie sich nicht im „Bearbeitungen akzeptieren"-Modus befinden, werden Sandbox-Bash-Befehle automatisch ausgeführt, wenn Auto-Allow aktiviert ist. Dies bedeutet, dass Bash-Befehle, die Dateien innerhalb der Sandbox-Grenzen ändern, ohne Eingabeaufforderung ausgeführt werden, auch im Manual-Modus, wo die Datei-Bearbeitungs-Tools eine Eingabeaufforderung erfordern würden.

149 151 

150 Im Plan-Modus erweitert Auto-Allow die Genehmigungen nicht; siehe [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) für die Verwaltung von Befehlen durch Claude Code während der Planung. Vor v2.1.212 führte Auto-Allow Sandbox-Befehle auch im Plan-Modus ohne Eingabeaufforderung aus.152 Im Plan-Modus erweitert Auto-Allow die Genehmigungen nicht; siehe [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) für die Verwaltung von Befehlen durch Claude Code während der Planung. Vor v2.1.212 führte Auto-Allow Sandbox-Befehle auch im Plan-Modus ohne Eingabeaufforderung aus.

151</Info>153</Info>


540 542 

541* **In Ihrem Arbeitsverzeichnis und den Verzeichnissen darüber**: die `.claude`-Einstellungsdateien, die Verzeichnisse `.claude/skills`, `.claude/agents`, `.claude/commands` und `.claude/hooks`, `.mcp.json` und die Dateien, die Claude Code selbst ausführt, wie `.claude/workflows` und `.claude/scheduled_tasks.json`543* **In Ihrem Arbeitsverzeichnis und den Verzeichnissen darüber**: die `.claude`-Einstellungsdateien, die Verzeichnisse `.claude/skills`, `.claude/agents`, `.claude/commands` und `.claude/hooks`, `.mcp.json` und die Dateien, die Claude Code selbst ausführt, wie `.claude/workflows` und `.claude/scheduled_tasks.json`

542* **Nur in Ihrem Arbeitsverzeichnis**: Shell-Startdateien wie `.bashrc` und `.zshrc`, `.gitconfig`, die Verzeichnisse `.vscode` und `.idea` sowie `hooks` und `config` innerhalb von `.git`544* **Nur in Ihrem Arbeitsverzeichnis**: Shell-Startdateien wie `.bashrc` und `.zshrc`, `.gitconfig`, die Verzeichnisse `.vscode` und `.idea` sowie `hooks` und `config` innerhalb von `.git`

543* **Dateien, die Ihr Arbeitsverzeichnis in ein Bare-Git-Repository umwandeln würden**: `HEAD`, `objects` und `refs` auf der obersten Ebene, plus `config` und `hooks` dort, wenn sie bereits vorhanden sind, auch wenn das `config`-Verzeichnis zu Ihrem Projekt und nicht zu Git gehört. Unter Linux und WSL2 löscht die Sandbox eine `HEAD`-Datei oder ein `objects`- oder `refs`-Verzeichnis auf der obersten Ebene, das während der Ausführung eines Sandbox-Befehls erscheint545* **Dateien, die Ihr Arbeitsverzeichnis in ein Bare-Git-Repository umwandeln würden**: `HEAD`, `objects` und `refs` auf der obersten Ebene, plus `config` und `hooks` dort, wenn ein `HEAD` neben ihnen sitzt. Eine Datei namens `config` wird auch ohne `HEAD` blockiert. Unter Linux und WSL2 löscht die Sandbox eine `HEAD`-Datei oder ein `objects`- oder `refs`-Verzeichnis auf der obersten Ebene, das während der Ausführung eines Sandbox-Befehls erscheint

544* **In `~/.claude` oder dem Verzeichnis, auf das `CLAUDE_CONFIG_DIR` verweist**: die meisten seiner Inhalte, plus `~/.claude.json` und der Anmeldedaten-Speicher `.credentials.json`546* **In `~/.claude` oder dem Verzeichnis, auf das `CLAUDE_CONFIG_DIR` verweist**: die meisten seiner Inhalte, plus `~/.claude.json` und der Anmeldedaten-Speicher `.credentials.json`

545 547 

546Wenn ein Symlink während der Sitzung auf dem Pfad einer geschützten Einstellungsdatei erscheint, blockiert die Sandbox auch Schreibzugriffe auf die Datei, auf die er verweist, ab dem nächsten Befehl.548Wenn ein Symlink während der Sitzung auf dem Pfad einer geschützten Einstellungsdatei erscheint, blockiert die Sandbox auch Schreibzugriffe auf die Datei, auf die er verweist, ab dem nächsten Befehl.


555 557 

556Der Netzwerkzugriff wird durch einen Proxy-Server gesteuert, der außerhalb der Sandbox läuft:558Der Netzwerkzugriff wird durch einen Proxy-Server gesteuert, der außerhalb der Sandbox läuft:

557 559 

558* **Domain-Einschränkungen**: Claude Code erlaubt standardmäßig keine Domains vorab. Wenn ein Befehl zum ersten Mal eine neue Domain benötigt, fordert Claude Code zur Genehmigung auf, oder im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) sendet die Anfrage an den Klassifizierer. Wenn Sie bei der Aufforderung „Ja" wählen, erlaubt Claude Code den Host für den Rest der aktuellen Sitzung und fordert nicht erneut auf für spätere Verbindungen zum gleichen Host. Wenn Sie „Ja, und nicht mehr fragen" wählen, speichert Claude Code eine `WebFetch(domain:...)`-Erlaubnisregel in Ihren [lokalen Einstellungen](/docs/de/permissions#permission-system), sodass der Host in zukünftigen Sitzungen zulässig bleibt. Lassen Sie Domains vorab mit [`allowedDomains`](/docs/de/settings-reference#sandbox-network-alloweddomains) zu, um die Aufforderung vollständig zu vermeiden. Claude Code erlaubt auch Domains vorab aus `WebFetch(domain:...)`-Erlaubnisregeln, wie in [Permission rules](#permission-rules) beschrieben.560* **Domain-Einschränkungen**: Claude Code erlaubt standardmäßig keine Domains vorab. Wenn ein Befehl zum ersten Mal eine neue Domain benötigt, fordert Claude Code zur Genehmigung auf; im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) nennt Claude stattdessen die Hosts, die ein Befehl benötigt, auf dem Befehl selbst, pro [Per-command allowed domains](#per-command-allowed-domains-in-auto-mode).

561* **Genehmigungsoptionen**: Wenn Sie bei der Aufforderung „Ja" wählen, erlaubt Claude Code den Host für den Rest der aktuellen Sitzung und fordert nicht erneut auf für spätere Verbindungen zum gleichen Host. Wenn Sie „Ja, und nicht mehr fragen" wählen, speichert Claude Code eine `WebFetch(domain:...)`-Erlaubnisregel in Ihren [lokalen Einstellungen](/docs/de/permissions#permission-system), sodass der Host in zukünftigen Sitzungen zulässig bleibt.

562* **Vorab zulässige Domains**: Lassen Sie Domains vorab mit [`allowedDomains`](/docs/de/settings-reference#sandbox-network-alloweddomains) zu, um die Aufforderung vollständig zu vermeiden. Claude Code erlaubt auch Domains vorab aus `WebFetch(domain:...)`-Erlaubnisregeln, wie in [Permission rules](#permission-rules) beschrieben.

559* **Strikte Zulassungsliste**: Wenn Sie [`strictAllowlist`](/docs/de/settings-reference#sandbox-network-strictallowlist) in Benutzer-, verwalteten oder CLI-`--settings`-Einstellungen auf `true` setzen, blockiert Claude Code den Zugriff von Sandbox-Befehlen auf jeden Host außerhalb der Zulassungsliste, anstatt zu fragen. Die Zulassungsliste ist die gleiche, gegen die die Sandbox sonst fragt: `allowedDomains` plus Domains aus `WebFetch(domain:...)`-Erlaubnisregeln, oder nur die Einträge der verwalteten Einstellungen, wenn `allowManagedDomainsOnly` gesetzt ist. Claude Code erzwingt dies nur für Sandbox-Befehle; In-Process-Tools wie `WebFetch` folgen immer noch ihren [Permission rules](#permission-rules). Das Setzen in der `.claude/settings.json` oder `.claude/settings.local.json` eines Repositorys hat keine Auswirkung. Erfordert Claude Code v2.1.219 oder später.563* **Strikte Zulassungsliste**: Wenn Sie [`strictAllowlist`](/docs/de/settings-reference#sandbox-network-strictallowlist) in Benutzer-, verwalteten oder CLI-`--settings`-Einstellungen auf `true` setzen, blockiert Claude Code den Zugriff von Sandbox-Befehlen auf jeden Host außerhalb der Zulassungsliste, anstatt zu fragen. Die Zulassungsliste ist die gleiche, gegen die die Sandbox sonst fragt: `allowedDomains` plus Domains aus `WebFetch(domain:...)`-Erlaubnisregeln, oder nur die Einträge der verwalteten Einstellungen, wenn `allowManagedDomainsOnly` gesetzt ist. Claude Code erzwingt dies nur für Sandbox-Befehle; In-Process-Tools wie `WebFetch` folgen immer noch ihren [Permission rules](#permission-rules). Das Setzen in der `.claude/settings.json` oder `.claude/settings.local.json` eines Repositorys hat keine Auswirkung. Erfordert Claude Code v2.1.219 oder später.

560* **Verwaltete Sperrung**: Wenn [`allowManagedDomainsOnly`](/docs/de/settings-reference#sandbox-network-allowmanageddomainsonly) in verwalteten Einstellungen gesetzt ist, werden nicht zulässige Domains automatisch blockiert, anstatt zu fragen, und nur `allowedDomains` und `WebFetch(domain:...)`-Erlaubnisregeln aus verwalteten Einstellungen werden berücksichtigt.564* **Verwaltete Sperrung**: Wenn [`allowManagedDomainsOnly`](/docs/de/settings-reference#sandbox-network-allowmanageddomainsonly) in verwalteten Einstellungen gesetzt ist, werden nicht zulässige Domains automatisch blockiert, anstatt zu fragen, und nur `allowedDomains` und `WebFetch(domain:...)`-Erlaubnisregeln aus verwalteten Einstellungen werden berücksichtigt.

561* **Unternehmens-Proxy**: Wenn Ihr Netzwerk erfordert, dass ausgehender Datenverkehr durch einen Unternehmens-Proxy geleitet wird, setzen Sie `HTTPS_PROXY`, `HTTP_PROXY` und `NO_PROXY` wie [Proxy-Konfiguration](/docs/de/network-config#proxy-configuration) beschreibt, im `env`-Block Ihrer Einstellungen, damit [Background Agents](/docs/de/network-config#set-network-variables-in-settings-not-the-shell) sie auch erhalten, oder in der Umgebung, aus der Sie Claude Code starten. Claude Code erzwingt die Domain-Zulassungsliste und tunnelt dann zulässige Verbindungen durch diesen Upstream-Proxy.565* **Unternehmens-Proxy**: Wenn Ihr Netzwerk erfordert, dass ausgehender Datenverkehr durch einen Unternehmens-Proxy geleitet wird, setzen Sie `HTTPS_PROXY`, `HTTP_PROXY` und `NO_PROXY` wie [Proxy-Konfiguration](/docs/de/network-config#proxy-configuration) beschreibt, im `env`-Block Ihrer Einstellungen, damit [Background Agents](/docs/de/network-config#set-network-variables-in-settings-not-the-shell) sie auch erhalten, oder in der Umgebung, aus der Sie Claude Code starten. Claude Code erzwingt die Domain-Zulassungsliste und tunnelt dann zulässige Verbindungen durch diesen Upstream-Proxy.


568 Der integrierte Proxy erzwingt die Zulassungsliste basierend auf dem angeforderten Hostnamen und beendet oder inspiziert standardmäßig keinen TLS-Datenverkehr. Die experimentelle Einstellung [`network.tlsTerminate`](/docs/de/settings-reference#sandbox-network-tlsterminate), verfügbar in Claude Code v2.1.199 und später, lässt den integrierten Proxy TLS selbst beenden, was [`mask`-Anmeldedateneinträge](#mask-credentials) erfordern. Siehe [Security limitations](#security-limitations) für die Auswirkungen des Standards und [Custom proxy configuration](#custom-proxy-configuration), wenn Ihr Bedrohungsmodell TLS-Inspektion erfordert.572 Der integrierte Proxy erzwingt die Zulassungsliste basierend auf dem angeforderten Hostnamen und beendet oder inspiziert standardmäßig keinen TLS-Datenverkehr. Die experimentelle Einstellung [`network.tlsTerminate`](/docs/de/settings-reference#sandbox-network-tlsterminate), verfügbar in Claude Code v2.1.199 und später, lässt den integrierten Proxy TLS selbst beenden, was [`mask`-Anmeldedateneinträge](#mask-credentials) erfordern. Siehe [Security limitations](#security-limitations) für die Auswirkungen des Standards und [Custom proxy configuration](#custom-proxy-configuration), wenn Ihr Bedrohungsmodell TLS-Inspektion erfordert.

569</Note>573</Note>

570 574 

575<h4 id="per-command-allowed-domains-in-auto-mode">

576 Per-command allowed domains im Auto-Modus

577</h4>

578 

579Im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) mit aktiviertem Sandboxing nennt Claude die Hosts, die ein Befehl benötigt, auf dem Befehl selbst, anstatt für jede Verbindung eine Netzwerk-Genehmigung auszulösen. Jeder Bash-, PowerShell- oder [Monitor](/docs/de/tools-reference#monitor-tool)-Befehl, der in der Sandbox ausgeführt wird, kann eine Liste von Hosts über die Zulassungsliste der Sandbox hinaus tragen: eine Domain wie `registry.npmjs.org`, ein Wildcard wie `*.pythonhosted.org` oder eine IP-Adresse, jeweils mit einem optionalen `:port`. Der Klassifizierer überprüft die Hosts zusammen mit dem Befehl. Erfordert Claude Code v2.1.271 oder später.

580 

581Eine genehmigte Liste öffnet diese Hosts nur für diesen einen Befehl, solange er ausgeführt wird. Nichts wird zu Ihren Session-zulässigen Hosts oder Ihren Einstellungen hinzugefügt; der nächste Befehl nennt seine eigenen Hosts.

582 

583Ein Befehl, der Hosts trägt, geht an den Klassifizierer, anstatt von einer Erlaubnisregel oder dem [Auto-Allow-Modus](#sandbox-modes) der Sandbox genehmigt zu werden. Wenn eine [ask-Regel](/docs/de/permissions#manage-permissions) eine Aufforderung für den Befehl erzwingt, listet der Berechtigungsdialog in Ihrem Terminal die Hosts daneben auf, und das Genehmigen dort deckt beides ab.

584 

585Eine Per-Command-Liste verbreitert nur das, was die Sandbox standardmäßig blockiert. [`deniedDomains`](/docs/de/settings-reference#sandbox-network-denieddomains)-Einträge blockieren immer noch. Wenn [`strictAllowlist`](/docs/de/settings-reference#sandbox-network-strictallowlist) oder [`allowManagedDomainsOnly`](/docs/de/settings-reference#sandbox-network-allowmanageddomainsonly) die Zulassungsliste sperrt, lehnt Claude Code Per-Command-Listen ab.

586 

587Während Per-Command-Listen gelten, lehnt Claude Code eine Verbindung zu einem Host ab, den kein genehmigter Befehl aufgelistet hat, ohne eine Aufforderung oder eine Klassifizierer-Überprüfung. Die Ablehnung nennt den Host im Ergebnis des Befehls, und Claude führt den Befehl mit dem hinzugefügten Host erneut aus.

588 

571<h4 id="ipv6-addresses-in-domain-lists">589<h4 id="ipv6-addresses-in-domain-lists">

572 IPv6-Adressen in Domain-Listen590 IPv6-Adressen in Domain-Listen

573</h4>591</h4>


610Genehmigungsregeln und Sandboxing steuern verschiedene Dinge:628Genehmigungsregeln und Sandboxing steuern verschiedene Dinge:

611 629 

612* **Genehmigungsregeln** steuern, welche Tools Claude Code verwenden kann, und werden evaluiert, bevor ein Tool ausgeführt wird. Sie gelten für alle Tools: Bash, Read, Edit, WebFetch, MCP und andere, außer dass eine Deny- oder Ask-Regel [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) nicht blockieren kann, während ein anderes Tool verbleibt.630* **Genehmigungsregeln** steuern, welche Tools Claude Code verwenden kann, und werden evaluiert, bevor ein Tool ausgeführt wird. Sie gelten für alle Tools: Bash, Read, Edit, WebFetch, MCP und andere, außer dass eine Deny- oder Ask-Regel [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) nicht blockieren kann, während ein anderes Tool verbleibt.

613* **Sandboxing** bietet OS-Level-Durchsetzung, die einschränkt, worauf Bash-Befehle auf Dateisystem- und Netzwerk-Ebene zugreifen können. Es gilt nur für Bash-Befehle und ihre Kindprozesse.631* **Sandboxing** bietet OS-Level-Durchsetzung, die einschränkt, worauf Shell-Befehle auf Dateisystem- und Netzwerk-Ebene zugreifen können. Es gilt nur für Bash, PowerShell und [Monitor](/docs/de/tools-reference#monitor-tool)-Befehle und ihre Kindprozesse.

614 632 

615Die beiden Schichten unterscheiden sich auch in ihrer Durchsetzung. Claude Code evaluiert Genehmigungsentscheidungen, bevor ein Befehl ausgeführt wird, basierend auf der Befehlszeichenfolge und, im Auto-Modus, dem Urteil eines separaten Klassifizierers darüber, ob der Befehl sicher ist. Das Betriebssystem erzwingt die Sandbox-Grenze auf dem laufenden Prozess, daher gilt sie unabhängig davon, was das Modell ausführen wollte, und selbst wenn ein zulässiger Befehl mehr tut als sein Name vermuten lässt.633Die beiden Schichten unterscheiden sich auch in ihrer Durchsetzung. Claude Code evaluiert Genehmigungsentscheidungen, bevor ein Befehl ausgeführt wird, basierend auf der Befehlszeichenfolge und, im Auto-Modus, dem Urteil eines separaten Klassifizierers darüber, ob der Befehl sicher ist. Das Betriebssystem erzwingt die Sandbox-Grenze auf dem laufenden Prozess, daher gilt sie unabhängig davon, was das Modell ausführen wollte, und selbst wenn ein zulässiger Befehl mehr tut als sein Name vermuten lässt.

616 634 


625| `Edit` Zulassungsregeln | Gewähren Schreibzugriff auf spezifische Pfade, auf die gleiche Weise wie `sandbox.filesystem.allowWrite` |643| `Edit` Zulassungsregeln | Gewähren Schreibzugriff auf spezifische Pfade, auf die gleiche Weise wie `sandbox.filesystem.allowWrite` |

626| `Read` und `Edit` Deny-Regeln | Blockiert Zugriff auf spezifische Dateien oder Verzeichnisse |644| `Read` und `Edit` Deny-Regeln | Blockiert Zugriff auf spezifische Dateien oder Verzeichnisse |

627| `WebFetch(domain:...)` Zulassungs- und Deny-Regeln | Steuern Domain-Zugriff |645| `WebFetch(domain:...)` Zulassungs- und Deny-Regeln | Steuern Domain-Zugriff |

628| Sandbox `allowedDomains` | Steuert, auf welche Domains Bash-Befehle zugreifen können |646| Sandbox `allowedDomains` | Steuert, auf welche Domains Shell-Befehle zugreifen können |

629| Sandbox `deniedDomains` | Blockiert spezifische Domains, auch wenn ein breiteres `allowedDomains`-Wildcard sie sonst zulassen würde |647| Sandbox `deniedDomains` | Blockiert spezifische Domains, auch wenn ein breiteres `allowedDomains`-Wildcard sie sonst zulassen würde |

630 648 

631Pfade und Domains aus beiden Sandbox-Einstellungen und Genehmigungsregeln werden zusammengeführt in die endgültige Sandbox-Konfiguration.649Pfade und Domains aus beiden Sandbox-Einstellungen und Genehmigungsregeln werden zusammengeführt in die endgültige Sandbox-Konfiguration.


644| [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) | Ob jeder Tool-Aufruf ausgeführt wird | Ein Klassifizierer, der Aktionen überprüft |662| [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) | Ob jeder Tool-Aufruf ausgeführt wird | Ein Klassifizierer, der Aktionen überprüft |

645| `--dangerously-skip-permissions` | Ob jeder Tool-Aufruf ausgeführt wird | Nichts. [Geschützte Pfad](/docs/de/permission-modes#protected-paths)-Prüfungen werden auch übersprungen; die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves), gelten immer noch |663| `--dangerously-skip-permissions` | Ob jeder Tool-Aufruf ausgeführt wird | Nichts. [Geschützte Pfad](/docs/de/permission-modes#protected-paths)-Prüfungen werden auch übersprungen; die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves), gelten immer noch |

646 664 

647Der [Auto-Allow-Modus](#sandbox-modes) der Sandbox ist separat vom [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode): Auto-Allow genehmigt Bash-Befehle, weil die Sandbox-Grenze sie enthält, während der Auto-Modus einen Klassifizierer verwendet, um Aktionen zu überprüfen. Die beiden funktionieren unabhängig und können kombiniert werden. Um eine Isolationsgrenze für unbeaufsichtigte Läufe zu wählen, siehe [Sandbox-Umgebungen](/docs/de/sandbox-environments#how-isolation-relates-to-permission-modes). Eine Tabelle mit häufigen Genehmigungsmodus- und Sandbox-Paarungen mit den Flags, die jeweils starten, finden Sie unter [Häufige Setups](/docs/de/permission-modes#common-setups).665Der [Auto-Allow-Modus](#sandbox-modes) der Sandbox ist separat vom [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode): Auto-Allow genehmigt Bash-Befehle, weil die Sandbox-Grenze sie enthält, während der Auto-Modus einen Klassifizierer verwendet, um Aktionen zu überprüfen. Die beiden funktionieren unabhängig und können kombiniert werden, mit den Ausnahmen, die unter [Sandbox-Modi](#sandbox-modes) aufgelistet sind. Um eine Isolationsgrenze für unbeaufsichtigte Läufe zu wählen, siehe [Sandbox-Umgebungen](/docs/de/sandbox-environments#how-isolation-relates-to-permission-modes). Eine Tabelle mit häufigen Genehmigungsmodus- und Sandbox-Paarungen mit den Flags, die jeweils starten, finden Sie unter [Häufige Setups](/docs/de/permission-modes#common-setups).

648 666 

649<h2 id="configure-the-sandbox-for-your-organization">667<h2 id="configure-the-sandbox-for-your-organization">

650 Konfigurieren Sie die Sandbox für Ihre Organisation668 Konfigurieren Sie die Sandbox für Ihre Organisation


656 Erzwingen Sie Sandboxing mit verwalteten Einstellungen674 Erzwingen Sie Sandboxing mit verwalteten Einstellungen

657</h3>675</h3>

658 676 

659Um die Sandbox für jeden Entwickler zu erfordern, liefern Sie die `sandbox`-Schlüssel über [verwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms), entweder als Datei, die von Ihrem MDM verwaltet wird, oder über [server-verwaltete Einstellungen](/docs/de/server-managed-settings) auf Claude.ai.677Um die Sandbox für jeden Entwickler zu erfordern, liefern Sie die `sandbox`-Schlüssel über [verwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms), entweder als Datei, die von Ihrem MDM verwaltet wird, oder über [server-verwaltete Einstellungen](/docs/de/server-managed-settings) auf claude.ai.

660 678 

661Die folgende Konfiguration verwalteter Einstellungen aktiviert die Sandbox, weigert sich, Claude Code zu starten, wenn die Sandbox nicht initialisiert werden kann, und verhindert, dass das Modell Befehle außerhalb der Sandbox erneut versucht:679Die folgende Konfiguration verwalteter Einstellungen aktiviert die Sandbox, weigert sich, Claude Code zu starten, wenn die Sandbox nicht initialisiert werden kann, und verhindert, dass das Modell Befehle außerhalb der Sandbox erneut versucht:

662 680 

Details

238* Aufgaben laufen nur, während Claude Code läuft und untätig ist. Das Schließen des Terminals oder das Beenden der Sitzung stoppt sie. [Backgrounding der Sitzung](/docs/de/agent-view#from-inside-a-session) trägt `/loop`-Aufgaben zu einer Hintergrund-Sitzung über, die ohne Terminal weiterläuft.238* Aufgaben laufen nur, während Claude Code läuft und untätig ist. Das Schließen des Terminals oder das Beenden der Sitzung stoppt sie. [Backgrounding der Sitzung](/docs/de/agent-view#from-inside-a-session) trägt `/loop`-Aufgaben zu einer Hintergrund-Sitzung über, die ohne Terminal weiterläuft.

239* Kein Aufholen für verpasste Läufe. Wenn die geplante Zeit einer Aufgabe verstreicht, während Claude mit einer langwierigen Anfrage beschäftigt ist, läuft sie einmal, wenn Claude untätig wird, nicht einmal pro verpasstem Intervall.239* Kein Aufholen für verpasste Läufe. Wenn die geplante Zeit einer Aufgabe verstreicht, während Claude mit einer langwierigen Anfrage beschäftigt ist, läuft sie einmal, wenn Claude untätig wird, nicht einmal pro verpasstem Intervall.

240* Neues Gespräch löscht alle sitzungsbezogenen Aufgaben. Wenn Sie eine Sitzung mit `claude --resume` oder `claude --continue` fortsetzen, stellt Claude Code die mit `CronCreate` geplanten Aufgaben wieder her, außer wiederkehrenden Aufgaben, die [abgelaufen sind](#seven-day-expiry), und einmaligen Aufgaben, deren geplante Zeit bereits vergangen ist. Ein [selbstgesteuerter `/loop`](#let-claude-choose-the-interval) wird nicht wiederhergestellt, daher führen Sie `/loop` erneut aus, um ihn neu zu starten. Hintergrund-Bash- und Monitor-Aufgaben werden bei Fortsetzen nie wiederhergestellt.240* Neues Gespräch löscht alle sitzungsbezogenen Aufgaben. Wenn Sie eine Sitzung mit `claude --resume` oder `claude --continue` fortsetzen, stellt Claude Code die mit `CronCreate` geplanten Aufgaben wieder her, außer wiederkehrenden Aufgaben, die [abgelaufen sind](#seven-day-expiry), und einmaligen Aufgaben, deren geplante Zeit bereits vergangen ist. Ein [selbstgesteuerter `/loop`](#let-claude-choose-the-interval) wird nicht wiederhergestellt, daher führen Sie `/loop` erneut aus, um ihn neu zu starten. Hintergrund-Bash- und Monitor-Aufgaben werden bei Fortsetzen nie wiederhergestellt.

241* Mit [Feature-Flag-Abruf deaktiviert](/docs/de/env-vars#features-that-need-feature-flag-fetching) speichert Claude Code eine Aufgabe, die Sie über Sitzungen hinweg behalten möchten, im `.claude`-Verzeichnis des Projekts. Wenn dieses Verzeichnis oder die Aufgabendatei darin ein Symlink ist, gibt Claude Code einen Fehler zurück, anstatt die Aufgabe zu planen.241* Mit [Feature-Flag-Abruf deaktiviert](/docs/de/env-vars#features-that-need-feature-flag-fetching) speichert Claude Code eine Aufgabe, die Sie über Sitzungen hinweg behalten möchten, in der Datei `.claude/scheduled_tasks.json` des Projekts. Wenn das `.claude`-Verzeichnis oder diese Datei ein Symlink ist, gibt Claude Code einen Fehler zurück, anstatt die Aufgabe zu planen. Eine gespeicherte Aufgabe läuft nur in dem Projektordner, in dem Sie sie erstellt haben. Wenn Sie die Datei in einen anderen Ordner kopieren, z. B. in einen neuen Worktree, listen Sitzungen dort die kopierten Aufgaben auf, führen sie aber nicht aus. Erstellen Sie die Aufgabe daher erneut in diesem Ordner.

242 242 

243Für Cron-gesteuerte Automatisierung, die unbeaufsichtigt laufen muss:243Für Cron-gesteuerte Automatisierung, die unbeaufsichtigt laufen muss:

244 244 

security.md +1 −1

Details

124 Cloud-Ausführungssicherheit124 Cloud-Ausführungssicherheit

125</h2>125</h2>

126 126 

127Bei Verwendung von [Claude Code im Web](/docs/de/claude-code-on-the-web) sind zusätzliche Sicherheitskontrollen vorhanden. Sitzungen, die Ihre Organisation in eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) leitet, werden auf Ihrer eigenen Infrastruktur ausgeführt, wobei Isolation, Netzwerk-Egress und Git-Anmeldedaten die Verantwortung Ihrer Bereitstellung sind. In von Anthropic gehosteten Umgebungen:127Bei Verwendung von [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) sind zusätzliche Sicherheitskontrollen vorhanden. Sitzungen, die Ihre Organisation in eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) leitet, werden auf Ihrer eigenen Infrastruktur ausgeführt, wobei Isolation, Netzwerk-Egress und Git-Anmeldedaten die Verantwortung Ihrer Bereitstellung sind. In von Anthropic gehosteten Umgebungen:

128 128 

129* **Isolierte virtuelle Maschinen**: Jede Cloud-Sitzung wird in einer isolierten, von Anthropic verwalteten VM ausgeführt129* **Isolierte virtuelle Maschinen**: Jede Cloud-Sitzung wird in einer isolierten, von Anthropic verwalteten VM ausgeführt

130* **Netzwerkzugriffskontrollen**: Der Netzwerkzugriff ist standardmäßig begrenzt und kann so konfiguriert werden, dass er deaktiviert ist oder nur bestimmte Domänen zulässt130* **Netzwerkzugriffskontrollen**: Der Netzwerkzugriff ist standardmäßig begrenzt und kann so konfiguriert werden, dass er deaktiviert ist oder nur bestimmte Domänen zulässt

Details

34`/plugin` öffnet ein interaktives Panel und ist nur in der Terminal-CLI verfügbar. Wenn Claude meldet, dass `/plugin` in dieser Umgebung nicht verfügbar ist, installieren Sie auf andere Weise:34`/plugin` öffnet ein interaktives Panel und ist nur in der Terminal-CLI verfügbar. Wenn Claude meldet, dass `/plugin` in dieser Umgebung nicht verfügbar ist, installieren Sie auf andere Weise:

35 35 

36* **Claude-Desktop-App, lokale oder SSH-Sitzung**: öffnen Sie den [Plugin-Browser](/docs/de/desktop#install-plugins), indem Sie auf die Schaltfläche **+** neben der Eingabeaufforderung klicken, dann auf **Plugins** und dann auf **Plugin hinzufügen**36* **Claude-Desktop-App, lokale oder SSH-Sitzung**: öffnen Sie den [Plugin-Browser](/docs/de/desktop#install-plugins), indem Sie auf die Schaltfläche **+** neben der Eingabeaufforderung klicken, dann auf **Plugins** und dann auf **Plugin hinzufügen**

37* **Claude Code im Web oder eine Desktop-Cloud-Sitzung**: deklarieren Sie das Plugin in `.claude/settings.json`, wie unter [In Cloud-Sitzungen und gemeinsamen Repositories aktivieren](#enable-in-cloud-sessions-and-shared-repositories) gezeigt37* **Cloud-Sitzungen**: deklarieren Sie das Plugin in `.claude/settings.json`, wie unter [In Cloud-Sitzungen und gemeinsamen Repositories aktivieren](#enable-in-cloud-sessions-and-shared-repositories) gezeigt

38 38 

39Die Terminal-Installation fordert Sie auf, einen Bereich auszuwählen. Wählen Sie Benutzerbereich, um das Plugin in Ihre Benutzereinstellungen zu schreiben, sodass es in jeder neuen lokalen Sitzung geladen wird, die Sie auf diesem Computer starten.39Die Terminal-Installation fordert Sie auf, einen Bereich auszuwählen. Wählen Sie Benutzerbereich, um das Plugin in Ihre Benutzereinstellungen zu schreiben, sodass es in jeder neuen lokalen Sitzung geladen wird, die Sie auf diesem Computer starten.

40 40 


49 In Cloud-Sitzungen und gemeinsamen Repositories aktivieren49 In Cloud-Sitzungen und gemeinsamen Repositories aktivieren

50</h3>50</h3>

51 51 

52Benutzergebundene Plugins werden nicht in [Claude Code im Web](/docs/de/claude-code-on-the-web) übernommen, da diese Sitzungen in der Cloud statt auf Ihrem Computer ausgeführt werden. Um das Plugin dort zu aktivieren oder es für alle einzuschalten, die ein Repository klonen, deklarieren Sie es in den eingecheckten Einstellungen des Projekts:52Benutzergebundene Plugins werden nicht in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) übernommen, da diese Sitzungen nicht auf Ihrem Computer ausgeführt werden. Um das Plugin dort zu aktivieren oder es für alle einzuschalten, die ein Repository klonen, deklarieren Sie es in den eingecheckten Einstellungen des Projekts:

53 53 

54```json .claude/settings.json theme={null}54```json .claude/settings.json theme={null}

55{55{

Details

10 Selbst gehostete Umgebungen befinden sich in der öffentlichen Beta für Team- und Enterprise-Pläne und sind standardmäßig deaktiviert. Siehe [Verfügbarkeit und Einschränkungen](#availability-and-limitations) für den Aktivierungspfad und was ausgeschlossen ist.10 Selbst gehostete Umgebungen befinden sich in der öffentlichen Beta für Team- und Enterprise-Pläne und sind standardmäßig deaktiviert. Siehe [Verfügbarkeit und Einschränkungen](#availability-and-limitations) für den Aktivierungspfad und was ausgeschlossen ist.

11</Note>11</Note>

12 12 

13Eine selbst gehostete Umgebung führt Claude Code Cloud-Sitzungen auf einer Infrastruktur aus, die Ihre Organisation betreibt. Eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) ist jede Sitzung, die irgendwo anders als auf dem Rechner des Entwicklers ausgeführt wird: Entwickler starten sie von claude.ai, den mobilen und Desktop-Apps, dem Terminal mit [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-web) und [geplanten Routinen](/docs/de/routines), und standardmäßig werden sie auf der Infrastruktur von Anthropic ausgeführt. In einer selbst gehosteten Umgebung werden diese Sitzungen in Ihrem Netzwerk ausgeführt, und die Entwicklererfahrung ist ansonsten gleich, abgesehen von den Unterschieden in [Verfügbarkeit und Einschränkungen](#availability-and-limitations) und den [bekannten Problemen](/docs/de/self-hosted-environments-deploy#known-issues-and-limitations) der Bereitstellungsseite.13Eine selbst gehostete Umgebung führt Claude Code Cloud-Sitzungen auf einer Infrastruktur aus, die Ihre Organisation betreibt. Eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) ist jede Sitzung, die irgendwo anders als auf dem Rechner des Entwicklers ausgeführt wird: Entwickler starten sie von claude.ai, den mobilen und Desktop-Apps, dem Terminal mit [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-cloud) und [geplanten Routinen](/docs/de/routines), und standardmäßig werden sie auf der Infrastruktur von Anthropic ausgeführt. In einer selbst gehosteten Umgebung werden diese Sitzungen in Ihrem Netzwerk ausgeführt, und die Entwicklererfahrung ist ansonsten gleich, abgesehen von den Unterschieden in [Verfügbarkeit und Einschränkungen](#availability-and-limitations) und den [bekannten Problemen](/docs/de/self-hosted-environments-deploy#known-issues-and-limitations) der Bereitstellungsseite.

14 14 

15Wenn Ihr Team keine Cloud-Sitzungen verwendet, gibt es hier nichts zu konfigurieren: Sitzungen in einem Terminal oder einer IDE werden immer auf dem eigenen Rechner des Entwicklers ausgeführt. Wenn Sie Claude Code auf Ihrem eigenen Always-On-Rechner ausführen und es von anderen Geräten aus steuern möchten, verwenden Sie [Remote Control](/docs/de/remote-control), das auch auf Pro- und Max-Plänen verfügbar ist. Wenn Sie bereit sind zu beginnen, gehen Sie direkt zum [Schnellstart](/docs/de/self-hosted-environments-quickstart); um die Sicherheitslage zunächst zu überprüfen, beginnen Sie mit [Bereitstellung in der Produktion](/docs/de/self-hosted-environments-deploy). Der Rest dieser Seite erklärt, wie Self-Hosting funktioniert und wann Sie es wählen sollten.15Wenn Ihr Team keine Cloud-Sitzungen verwendet, gibt es hier nichts zu konfigurieren: Sitzungen in einem Terminal oder einer IDE werden immer auf dem eigenen Rechner des Entwicklers ausgeführt. Wenn Sie Claude Code auf Ihrem eigenen Always-On-Rechner ausführen und es von anderen Geräten aus steuern möchten, verwenden Sie [Remote Control](/docs/de/remote-control), das auch auf Pro- und Max-Plänen verfügbar ist. Wenn Sie bereit sind zu beginnen, gehen Sie direkt zum [Schnellstart](/docs/de/self-hosted-environments-quickstart); um die Sicherheitslage zunächst zu überprüfen, beginnen Sie mit [Bereitstellung in der Produktion](/docs/de/self-hosted-environments-deploy). Der Rest dieser Seite erklärt, wie Self-Hosting funktioniert und wann Sie es wählen sollten.

16 16 


44 44 

45Überprüfen Sie diese vor der Planung eines Rollouts:45Überprüfen Sie diese vor der Planung eines Rollouts:

46 46 

47* **Pläne**: öffentliche Beta für Team- und Enterprise-Organisationen. Selbst gehostete Umgebungen sind standardmäßig deaktiviert; ein [Besitzer](/docs/de/cloud-environments#organization-shared-environments) aktiviert **Selbst gehostete Umgebungen zulassen** auf der [**Cloud-Umgebungen** Admin-Seite](https://claude.ai/admin-settings/cloud-environments), was erfordert, dass [Claude Code im Web](/docs/de/claude-code-on-the-web) für die Organisation aktiviert ist.47* **Pläne**: öffentliche Beta für Team- und Enterprise-Organisationen. Selbst gehostete Umgebungen sind standardmäßig deaktiviert; ein [Besitzer](/docs/de/cloud-environments#organization-shared-environments) aktiviert **Selbst gehostete Umgebungen zulassen** auf der [**Cloud-Umgebungen** Admin-Seite](https://claude.ai/admin-settings/cloud-environments), was erfordert, dass [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) für die Organisation aktiviert sind.

48* **Zero Data Retention**: nicht verfügbar für Organisationen mit [Zero Data Retention](/docs/de/zero-data-retention) aktiviert.48* **Zero Data Retention**: nicht verfügbar für Organisationen mit [Zero Data Retention](/docs/de/zero-data-retention) aktiviert.

49* **Modellableitung**: Sitzungen verwenden die Anthropic API, und die Ableitung kann nicht durch [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/de/third-party-integrations) oder ein [LLM-Gateway](/docs/de/llm-gateway) geleitet werden.49* **Modellableitung**: Sitzungen verwenden die Anthropic API, und die Ableitung kann nicht durch [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/de/third-party-integrations) oder ein [LLM-Gateway](/docs/de/llm-gateway) geleitet werden.

50* **Oberflächen**: Sitzungen, die von [Claude Code im Web](/docs/de/claude-code-on-the-web), den mobilen und Desktop-Apps, [geplanten Routinen](/docs/de/routines) und dem Terminal mit [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-web) oder einer [`--environment` Dispatch](/docs/de/self-hosted-environments-testing#run-the-test-loop) gestartet werden, können in selbst gehosteten Umgebungen ausgeführt werden. [Claude Tag](https://claude.com/docs/claude-tag/overview) Sitzungen können auch darin ausgeführt werden, aber Claude kann [Access Bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) in diesen Sitzungen noch nicht verwenden. [Claude Security](/docs/de/claude-security) und [Code Review](/docs/de/code-review) Sitzungen werden noch nicht zu ihnen weitergeleitet. Die Unterstützung für diese beiden Oberflächen folgt separat.50* **Oberflächen**: Sitzungen, die von [claude.ai/code](https://claude.ai/code), den mobilen und Desktop-Apps, [geplanten Routinen](/docs/de/routines) und dem Terminal mit [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-cloud) oder einer [`--environment` Dispatch](/docs/de/self-hosted-environments-testing#run-the-test-loop) gestartet werden, können in selbst gehosteten Umgebungen ausgeführt werden. [Claude Tag](https://claude.com/docs/claude-tag/overview) Sitzungen können auch darin ausgeführt werden, aber Claude kann [Access Bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) in diesen Sitzungen noch nicht verwenden. [Claude Security](/docs/de/claude-security) und [Code Review](/docs/de/code-review) Sitzungen werden noch nicht zu ihnen weitergeleitet. Die Unterstützung für diese beiden Oberflächen folgt separat.

51* **Repositories**: Sitzungen checken Repositories von GitHub aus; siehe [GitHub-Authentifizierungsoptionen](/docs/de/claude-code-on-the-web#github-authentication-options).51* **Repositories**: Sitzungen checken Repositories von GitHub aus; siehe [GitHub-Authentifizierungsoptionen](/docs/de/claude-code-on-the-web#github-authentication-options).

52* **Abrechnung**: Sitzungen in einer selbst gehosteten Umgebung verbrauchen die Claude Code-Nutzung Ihrer Organisation auf die gleiche Weise wie Sitzungen in von Anthropic gehosteten Umgebungen.52* **Abrechnung**: Sitzungen in einer selbst gehosteten Umgebung verbrauchen die Claude Code-Nutzung Ihrer Organisation auf die gleiche Weise wie Sitzungen in von Anthropic gehosteten Umgebungen.

53 53 

Details

37| `CLAUDE_CODE_REMOTE_SESSION_ID` | Sitzungs-ID in der getaggten Form `cse_...`. Dies ist dieselbe Sitzung, die die [Lifecycle-Hooks](#lifecycle-hooks) als `CLAUDE_RUNNER_SESSION_ID` in der Form `session_...` sehen; die UUID-Variablen stimmen über beide überein, und das Ersetzen des Präfixes `cse_` durch `session_` ergibt die in der Sitzungs-URL angezeigte ID. |37| `CLAUDE_CODE_REMOTE_SESSION_ID` | Sitzungs-ID in der getaggten Form `cse_...`. Dies ist dieselbe Sitzung, die die [Lifecycle-Hooks](#lifecycle-hooks) als `CLAUDE_RUNNER_SESSION_ID` in der Form `session_...` sehen; die UUID-Variablen stimmen über beide überein, und das Ersetzen des Präfixes `cse_` durch `session_` ergibt die in der Sitzungs-URL angezeigte ID. |

38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | Dieselbe Sitzungs-ID in kanonischer UUID-Form, für Systeme, die auf UUIDs basieren. |38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | Dieselbe Sitzungs-ID in kanonischer UUID-Form, für Systeme, die auf UUIDs basieren. |

39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | Absoluter Pfad zu einer pro-Sitzungs-Datei, die das aktuelle Sitzungs-JWT enthält, das über Token-Aktualisierungen hinweg aktuell gehalten wird. Shell-Unterprozesse lesen es für ihren `Authorization`-Header beim Herunterladen von Anhängen, die der Benutzer zur Sitzung hinzugefügt hat. `exec` bewahrt die Variable automatisch; ein Wrapper, der die Umgebung des Kindes neu erstellt, muss die Variable übertragen, oder Anhang-Downloads funktionieren stillschweigend nicht mehr. |39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | Absoluter Pfad zu einer pro-Sitzungs-Datei, die das aktuelle Sitzungs-JWT enthält, das über Token-Aktualisierungen hinweg aktuell gehalten wird. Shell-Unterprozesse lesen es für ihren `Authorization`-Header beim Herunterladen von Anhängen, die der Benutzer zur Sitzung hinzugefügt hat. `exec` bewahrt die Variable automatisch; ein Wrapper, der die Umgebung des Kindes neu erstellt, muss die Variable übertragen, oder Anhang-Downloads funktionieren stillschweigend nicht mehr. |

40| `CLAUDE_CONFIG_DIR` | Pro-Sitzungs-Claude-Konfigurationsverzeichnis, geschrieben beim Sitzungsstart aus dem Snapshot der Konfiguration des Runner-Hosts, den der Runner beim Startup erfasst; siehe [Berechtigungen und Tool-Genehmigung](#permissions-and-tool-approval). Schreibvorgänge hier sind auf diese Sitzung isoliert. |40| `CLAUDE_CONFIG_DIR` | Pro-Sitzungs-Claude-Konfigurationsverzeichnis, geschrieben beim Sitzungsstart aus dem Snapshot der Konfiguration des Runner-Hosts, den der Runner beim Startup erfasst; siehe [Berechtigungen und Tool-Genehmigung](#permissions-and-tool-approval). Schreibvorgänge hier sind auf diese Sitzung isoliert. Das Verzeichnis bleibt unter `<base-dir>/_sessions/` nach dem Sitzungsende, es sei denn, Sie starten den Runner mit [`--remove-session-state`](/docs/de/self-hosted-environments-reference#runner-cli-flags); siehe [Einen vorgewärmten Checkout wiederverwenden](/docs/de/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout). |

41| `ANTHROPIC_BASE_URL` | Die API-Basis-URL, die das Kind verwendet, bereitgestellt von der Kontrolleben pro Sitzung und normalerweise `https://api.anthropic.com`. Überschreiben Sie sie nicht: Die Inferenz-Anmeldedaten der Sitzung sind ein von Anthropic ausgegebenes OAuth-Token, das andere Anbieter nicht akzeptieren, daher ist Inferenz in selbstgehosteten Umgebungen nicht an anderer Stelle routbar. |41| `ANTHROPIC_BASE_URL` | Die API-Basis-URL, die das Kind verwendet, bereitgestellt von der Kontrolleben pro Sitzung und normalerweise `https://api.anthropic.com`. Überschreiben Sie sie nicht: Die Inferenz-Anmeldedaten der Sitzung sind ein von Anthropic ausgegebenes OAuth-Token, das andere Anbieter nicht akzeptieren, daher ist Inferenz in selbstgehosteten Umgebungen nicht an anderer Stelle routbar. |

42| `CLAUDE_CODE_OAUTH_TOKEN` | Das kurzlebige OAuth-Zugangstoken, das das Kind für Modell-Inferenz verwendet, mit Bereich auf Modell-Inferenz und Datei-Upload nur, mit einer Lebensdauer von etwa 30 Minuten. Der Runner prägt es vor Ablauf neu und liefert die Rotation über stdin des Kindes, daher sieht ein Wrapper, der [stdin nicht angehängt hält](#keep-stdin-and-file-descriptor-3-attached), nur den Anfangswert. Verlassen Sie sich nicht auf die IP-Allowlist Ihrer Organisation, um die Verwendung dieses Tokens zu begrenzen: Behandeln Sie es als Bearer-Anmeldedaten, die etwa 30 Minuten lang verwendbar bleiben, wenn sie durchsickern, und protokollieren Sie es nicht, schreiben Sie es nicht auf die Festplatte oder leiten Sie es außerhalb des Sitzungs-Containers weiter. |42| `CLAUDE_CODE_OAUTH_TOKEN` | Das kurzlebige OAuth-Zugangstoken, das das Kind für Modell-Inferenz verwendet, mit Bereich auf Modell-Inferenz und Datei-Upload nur, mit einer Lebensdauer von etwa 30 Minuten. Der Runner prägt es vor Ablauf neu und liefert die Rotation über stdin des Kindes, daher sieht ein Wrapper, der [stdin nicht angehängt hält](#keep-stdin-and-file-descriptor-3-attached), nur den Anfangswert. Verlassen Sie sich nicht auf die IP-Allowlist Ihrer Organisation, um die Verwendung dieses Tokens zu begrenzen: Behandeln Sie es als Bearer-Anmeldedaten, die etwa 30 Minuten lang verwendbar bleiben, wenn sie durchsickern, und protokollieren Sie es nicht, schreiben Sie es nicht auf die Festplatte oder leiten Sie es außerhalb des Sitzungs-Containers weiter. |

43 43 


407 Wie die Konfiguration jeder Sitzung zusammengestellt wird407 Wie die Konfiguration jeder Sitzung zusammengestellt wird

408</h3>408</h3>

409 409 

410Der Runner gibt jeder Sitzung sein eigenes Konfigurationsverzeichnis, gekeimed aus einem In-Memory-Snapshot von `~/.claude/` des Hosts, den der Runner einmal beim Startup erfasst: `settings.json`, `CLAUDE.md`, Hooks, Agenten, Befehle und Skills in Ihrem Runner-Image gelten für jede Sitzung als Benutzer-Ebenen-Baseline. Da der Snapshot beim Startup aufgenommen wird, gelten Konfigurationsänderungen auf einem laufenden Host erst nach einem Runner-Neustart. Setzen Sie `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR`, um von einem anderen Pfad zu keimen, oder zeigen Sie auf ein leeres Verzeichnis, um das Keimen zu deaktivieren.410Der Runner gibt jeder Sitzung sein eigenes Konfigurationsverzeichnis, gekeimed aus einem Snapshot von `~/.claude/` des Hosts, den der Runner einmal beim Startup erfasst: `settings.json`, `CLAUDE.md`, Hooks, Agenten, Befehle und Skills in Ihrem Runner-Image gelten für jede Sitzung als Benutzer-Ebenen-Baseline. Wenn Sie die Konfiguration auf einem laufenden Host ändern, wird die Änderung erst nach einem Runner-Neustart wirksam. Setzen Sie `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR`, um von einem anderen Pfad zu keimen, oder zeigen Sie auf ein leeres Verzeichnis, um das Keimen zu deaktivieren.

411 411 

412Repository-committete `.claude/settings.json` schichtet sich als Projekt-Einstellungen oben auf. Sitzungen lesen auch [`managed-settings.json`](/docs/de/settings#where-settings-live) vom Standard-Systempfad in Ihrem Runner-Image. Ob seine Schlüssel neben [serverseitig verwalteten Einstellungen](/docs/de/server-managed-settings) gelten, folgt [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources): Standardmäßig ignorieren Sitzungen, wenn Ihre Organisation serverseitig verwaltete Schlüssel liefert, die Runner-Image-Datei, abgesehen von den [Schlüsseln, die Claude Code von jeder Admin-Quelle liest](/docs/de/managed-settings#keys-read-from-every-admin-source), wie der `env`-Block, die Sandbox-Sperren, die Sandbox-Binärpfade und `forceRemoteSettingsRefresh`. Siehe [Einstellungs-Vorrang](/docs/de/settings#settings-precedence).412Repository-committete `.claude/settings.json` schichtet sich als Projekt-Einstellungen oben auf. Sitzungen lesen auch [`managed-settings.json`](/docs/de/settings#where-settings-live) vom Standard-Systempfad in Ihrem Runner-Image. Ob seine Schlüssel neben [serverseitig verwalteten Einstellungen](/docs/de/server-managed-settings) gelten, folgt [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources): Standardmäßig ignorieren Sitzungen, wenn Ihre Organisation serverseitig verwaltete Schlüssel liefert, die Runner-Image-Datei, abgesehen von den [Schlüsseln, die Claude Code von jeder Admin-Quelle liest](/docs/de/managed-settings#keys-read-from-every-admin-source), wie der `env`-Block, die Sandbox-Sperren, die Sandbox-Binärpfade und `forceRemoteSettingsRefresh`. Siehe [Einstellungs-Vorrang](/docs/de/settings#settings-precedence).

413 413 

Details

434 434 

435* **Jede Klonform funktioniert**: Ein vollständiger, flacher oder Single-Branch-Klon unter dem Pfad wird unverändert verwendet. Der Runner übergibt niemals `--depth` beim Abrufen in einen vorhandenen Klon, daher behält ein vollständiger Vorwärm seine vollständige Historie und ein flacher bleibt flach. `CLAUDE_RUNNER_FETCH_DEPTH` (`full`, `0` oder eine Zahl; Standard 50) steuert nur den kalten Klon, den der Runner erstellt, wenn noch kein Klon vorhanden ist.435* **Jede Klonform funktioniert**: Ein vollständiger, flacher oder Single-Branch-Klon unter dem Pfad wird unverändert verwendet. Der Runner übergibt niemals `--depth` beim Abrufen in einen vorhandenen Klon, daher behält ein vollständiger Vorwärm seine vollständige Historie und ein flacher bleibt flach. `CLAUDE_RUNNER_FETCH_DEPTH` (`full`, `0` oder eine Zahl; Standard 50) steuert nur den kalten Klon, den der Runner erstellt, wenn noch kein Klon vorhanden ist.

436* **Nachverfollgte Änderungen werden zurückgesetzt, nicht nachverfolgte Dateien bleiben erhalten**: Jede Sitzung beginnt mit einem harten Zurücksetzen, das die verfolgten Änderungen der vorherigen Sitzung löscht, aber der Runner führt niemals `git clean` aus, daher bleiben nicht nachverfolgte Dateien aus früheren Sitzungen des gesperrten Besitzers im Baum.436* **Nachverfollgte Änderungen werden zurückgesetzt, nicht nachverfolgte Dateien bleiben erhalten**: Jede Sitzung beginnt mit einem harten Zurücksetzen, das die verfolgten Änderungen der vorherigen Sitzung löscht, aber der Runner führt niemals `git clean` aus, daher bleiben nicht nachverfolgte Dateien aus früheren Sitzungen des gesperrten Besitzers im Baum.

437* **Per-Session-Verzeichnisse bleiben ebenfalls erhalten**: Neben dem Checkout erstellt der Runner für jede Sitzung, die er ausführt, Einträge pro Sitzung unter `<base-dir>/_sessions/`. Das Claude-Konfigurationsverzeichnis der Sitzung enthält eine lokale Kopie des Gesprächstranskripts. Daneben befinden sich die hochgeladenen Dateien der Sitzung, falls die Sitzung welche hat. Das Sitzungsverzeichnis befindet sich auch dort: Es enthält alle Pro-Session-Worktrees und `checkout` Hook-Checkouts während der Sitzung ausgeführt wird, und es behält alles andere, was Claude darin geschrieben hat.

438 

439 Standardmäßig lässt der Runner diese an Ort und Stelle, wenn die Sitzung endet, daher sammeln sie sich auf einer Festplatte an, die den Runner-Prozess überlebt. Jede Sitzung wird als eigener Benutzer des Runners ausgeführt, daher kann jede spätere Sitzung, die diese Festplatte bedient, sie lesen. Wenn Sie ein persistentes `--base-dir` beibehalten, dimensionieren Sie das Volume für dieses Wachstum. Das Gleiche gilt für jedes Setup, das den Runner auf demselben Dateisystem neu startet, einschließlich des [Docker Compose-Rezepts](#docker-compose).

440* **Mit `--remove-session-state` bleiben Per-Session-Verzeichnisse nicht erhalten**: Starten Sie den Runner mit [`--remove-session-state`](/docs/de/self-hosted-environments-reference#runner-cli-flags), um ihn dazu zu bringen, die Per-Session-Verzeichnisse jeder Sitzung zu löschen, wenn die Sitzung endet. Das Löschen ist bestmöglich: Die Verzeichnisse bleiben erhalten, wenn der Runner beendet wird, bevor seine Bereinigung ausgeführt wird. Der kanonische Klon und Dateien, die eine Sitzung an anderer Stelle auf dem Host geschrieben hat, wie das temporäre Verzeichnis, bleiben unabhängig davon erhalten.

437* **Mit dem Git-Proxy wird das Zurücksetzen zu einem Checkout**: Mit [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) bereinigt der Runner das `.git/`-Verzeichnis des Klons vor jeder Sitzung, behält den Objektspeicher, Referenzen und den flachen Zustand, löscht aber den Index, sodass jede Sitzung einen vollständigen Working-Tree-Checkout anstelle eines nahezu augenblicklichen Zurücksetzen zahlt; es wird immer noch nie neu geklont. Submodul-Vorwärme wird unter dem Proxy nicht unterstützt.441* **Mit dem Git-Proxy wird das Zurücksetzen zu einem Checkout**: Mit [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) bereinigt der Runner das `.git/`-Verzeichnis des Klons vor jeder Sitzung, behält den Objektspeicher, Referenzen und den flachen Zustand, löscht aber den Index, sodass jede Sitzung einen vollständigen Working-Tree-Checkout anstelle eines nahezu augenblicklichen Zurücksetzen zahlt; es wird immer noch nie neu geklont. Submodul-Vorwärme wird unter dem Proxy nicht unterstützt.

438* **Lange Klone benötigen keine Umgehung**: Der Runner begrenzt jede Git-Operation mit einem 120-Sekunden-Watchdog ohne Fortschritt und einer 30-Minuten-Obergrenze, nicht mit einem flachen Timeout, daher wird ein langsamer kalter Klon, der weiterhin Fortschritt meldet, abgeschlossen.442* **Lange Klone benötigen keine Umgehung**: Der Runner begrenzt jede Git-Operation mit einem 120-Sekunden-Watchdog ohne Fortschritt und einer 30-Minuten-Obergrenze, nicht mit einem flachen Timeout, daher wird ein langsamer kalter Klon, der weiterhin Fortschritt meldet, abgeschlossen.

439 443 


530* **Sitzungen dauern Minuten zum Start**: Der anfängliche Clone dominiert normalerweise. Beobachten Sie die `claude_code_self_hosted_runner_session_init_duration_seconds`-[Metrik](/docs/de/self-hosted-environments-reference#prometheus-metrics), um zu bestätigen, und schneiden Sie den Clone mit einem [vorgewärmten Checkout](#reuse-a-pre-warmed-checkout) oder einem kleineren `CLAUDE_RUNNER_FETCH_DEPTH`.534* **Sitzungen dauern Minuten zum Start**: Der anfängliche Clone dominiert normalerweise. Beobachten Sie die `claude_code_self_hosted_runner_session_init_duration_seconds`-[Metrik](/docs/de/self-hosted-environments-reference#prometheus-metrics), um zu bestätigen, und schneiden Sie den Clone mit einem [vorgewärmten Checkout](#reuse-a-pre-warmed-checkout) oder einem kleineren `CLAUDE_RUNNER_FETCH_DEPTH`.

531* **Pod wird Mid-Drain getötet**: Erhöhen Sie `terminationGracePeriodSeconds` auf mindestens den Wert, den der Runner beim Start protokolliert. Siehe [Shutdown-Timing](#shutdown-timing).535* **Pod wird Mid-Drain getötet**: Erhöhen Sie `terminationGracePeriodSeconds` auf mindestens den Wert, den der Runner beim Start protokolliert. Siehe [Shutdown-Timing](#shutdown-timing).

532 536 

533Sobald das Logging initialisiert ist, schreibt der Runner sein Lebenszyklus-Log, einschließlich `[runner:fatal]`-Zeilen, zu stdout, und Debug-Ausgabe zu stderr, alles als Plain-Text-Zeilen anstatt JSON. Die Startup-Fehler, die in den Fehlerbehebungs-Einträgen oben beschrieben sind, drucken zu stderr vor diesem Punkt. Erfassen Sie beide Streams mit `--log-file`, was auch `self-hosted-runner doctor` ermöglicht, sie zu tailing, oder mit Ihrer Plattform's Log-Sammlung. Jeder Sitzungs-Kind-Prozess schreibt ein separates Debug-Log. Bei Fehler bewahrt der Runner das Log, druckt den Log's Pfad im Runner-Log und zeigt das Log's Tail neben der Sitzung in claude.ai/code.537Sobald das Logging initialisiert ist, schreibt der Runner sein Lebenszyklus-Log, einschließlich `[runner:fatal]`-Zeilen, zu stdout, und Debug-Ausgabe zu stderr, alles als Plain-Text-Zeilen anstatt JSON. Die Startup-Fehler, die in den Fehlerbehebungs-Einträgen oben beschrieben sind, drucken zu stderr vor diesem Punkt. Erfassen Sie beide Streams mit `--log-file`, was auch `self-hosted-runner doctor` ermöglicht, sie zu tailing, oder mit Ihrer Plattform's Log-Sammlung.

538 

539Jeder Sitzungs-Kind-Prozess schreibt ein separates Debug-Log. Bei Fehler bewahrt der Runner das Log's Tail neben der Sitzung in claude.ai/code. Sofern Sie den Runner nicht mit [`--remove-session-state`](/docs/de/self-hosted-environments-reference#runner-cli-flags) gestartet haben, behält er auch das Log einer fehlgeschlagenen Sitzung auf der Festplatte und druckt seinen Pfad im Runner-Log.

534 540 

535<h2 id="what’s-next">541<h2 id="what’s-next">

536 Was kommt als nächstes542 Was kommt als nächstes

Details

31| `--debug-token-dir <path>` | `SELF_HOSTED_RUNNER_DEBUG_TOKEN_DIR` | nicht gesetzt | Schreiben Sie Live-Tokens zur Überprüfung auf die Festplatte. Nur zum Debuggen; nicht in der Produktion verwenden. |31| `--debug-token-dir <path>` | `SELF_HOSTED_RUNNER_DEBUG_TOKEN_DIR` | nicht gesetzt | Schreiben Sie Live-Tokens zur Überprüfung auf die Festplatte. Nur zum Debuggen; nicht in der Produktion verwenden. |

32| `--defer-shutdown-max-min <n>` | `SELF_HOSTED_RUNNER_DEFER_SHUTDOWN_MAX_MS` | `0` | Beim ersten `SIGTERM` oder `SIGINT` bedienen Sie weiterhin die bereits angehängten Sitzungen, anstatt sie zu entleeren, und geben dann alles frei, das noch angehängt ist, N Minuten später und beenden sich. Erhöhen Sie das Stop-Timeout Ihres Hosts, bevor Sie dies setzen. Siehe [Verschieben Sie die Entleerung über das erste Signal hinaus](/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal). `0` deaktiviert. Erfordert Claude Code v2.1.238 oder später. |32| `--defer-shutdown-max-min <n>` | `SELF_HOSTED_RUNNER_DEFER_SHUTDOWN_MAX_MS` | `0` | Beim ersten `SIGTERM` oder `SIGINT` bedienen Sie weiterhin die bereits angehängten Sitzungen, anstatt sie zu entleeren, und geben dann alles frei, das noch angehängt ist, N Minuten später und beenden sich. Erhöhen Sie das Stop-Timeout Ihres Hosts, bevor Sie dies setzen. Siehe [Verschieben Sie die Entleerung über das erste Signal hinaus](/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal). `0` deaktiviert. Erfordert Claude Code v2.1.238 oder später. |

33| `--drain-grace-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_GRACE_MS` | `0` | Bis der Runner ein Shutdown-Signal empfängt oder seine Ruhestandszeit erreicht, steuert, wann der Runner beendet wird, nachdem seine aktiven Sitzungen beendet sind: `0` beendet sich sofort ohne Abfrage nach mehr, und ein positiver Wert hält den Runner am Leben und fragt die Warteschlange des gesperrten Owners N Sekunden lang erneut ab, auf Kosten der Pro-Sitzungs-Container-Isolation, die im [Härtungsabschnitt](/docs/de/self-hosted-environments-deploy#harden-your-deployment) beschrieben ist. Nach einem ersten Signal, das Sie mit [`--defer-shutdown-max-min`](/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) verschoben haben, beendet sich der Runner, sobald er keine Sitzungen mehr hält, unabhängig davon, was Sie hier setzen. |33| `--drain-grace-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_GRACE_MS` | `0` | Bis der Runner ein Shutdown-Signal empfängt oder seine Ruhestandszeit erreicht, steuert, wann der Runner beendet wird, nachdem seine aktiven Sitzungen beendet sind: `0` beendet sich sofort ohne Abfrage nach mehr, und ein positiver Wert hält den Runner am Leben und fragt die Warteschlange des gesperrten Owners N Sekunden lang erneut ab, auf Kosten der Pro-Sitzungs-Container-Isolation, die im [Härtungsabschnitt](/docs/de/self-hosted-environments-deploy#harden-your-deployment) beschrieben ist. Nach einem ersten Signal, das Sie mit [`--defer-shutdown-max-min`](/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) verschoben haben, beendet sich der Runner, sobald er keine Sitzungen mehr hält, unabhängig davon, was Sie hier setzen. |

34| `--drain-marker-file <path>` | `SELF_HOSTED_RUNNER_DRAIN_MARKER_FILE` | nicht gesetzt | Markierungsdatei, die Ihr Host schreibt, um eine ordnungsgemäße Entleerung anzukündigen, bevor `SIGTERM` gesendet wird. Wenn die Datei existiert, wenn die Entleerung beginnt, meldet der Runner seinen Ausstieg an Anthropic als Host-Entleerung statt als einfaches Shutdown-Signal. Die Entleerung selbst, einschließlich des `--drain-wait-sec` Wartens, läuft gleich wie ohne das Flag. Benennen Sie einen Pfad auf einem lokalen Dateisystem, auf den Sitzungen nicht schreiben können. Erfordert Claude Code v2.1.271 oder später. |

34| `--drain-wait-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_WAIT_MS` | `0` | Sobald die Entleerung beginnt, was bei `SIGTERM` der Fall ist, es sei denn, Sie setzen [`--defer-shutdown-max-min`](/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), warten Sie bis zu N Sekunden, damit die laufenden Aufgaben und Hintergrundaufgaben jeder Sitzung beendet werden, bevor Sie das Kind beenden. Während dieses Wartens zählt der Runner eine Hintergrundaufgabe, die gerade beendet wurde, als immer noch laufend, bis der Folgezug, der sein Ergebnis liest, beginnt, für höchstens das Fenster [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). |35| `--drain-wait-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_WAIT_MS` | `0` | Sobald die Entleerung beginnt, was bei `SIGTERM` der Fall ist, es sei denn, Sie setzen [`--defer-shutdown-max-min`](/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), warten Sie bis zu N Sekunden, damit die laufenden Aufgaben und Hintergrundaufgaben jeder Sitzung beendet werden, bevor Sie das Kind beenden. Während dieses Wartens zählt der Runner eine Hintergrundaufgabe, die gerade beendet wurde, als immer noch laufend, bis der Folgezug, der sein Ergebnis liest, beginnt, für höchstens das Fenster [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). |

35| `--environment-secret-file <path>` | `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` | erforderlich | Pfad zu einer Datei, die das Umgebungsgeheimnis enthält, oder für Runner, die vom [Orchestrator](/docs/de/self-hosted-environments-configuration#on-demand-runners) erzeugt werden, das einmalige Work-Order-JWT. `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` trägt den Geheimniswert direkt, nicht einen Dateipfad. Das ältere Flag `--pool-secret-file` und die Variable `SELF_HOSTED_RUNNER_POOL_SECRET` funktionieren immer noch und geben eine Veraltungswarnung auf stderr aus; Preview-Programm-Runner-Builds älter als 2.1.216 erkennen nur diese älteren Namen. |36| `--environment-secret-file <path>` | `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` | erforderlich | Pfad zu einer Datei, die das Umgebungsgeheimnis enthält, oder für Runner, die vom [Orchestrator](/docs/de/self-hosted-environments-configuration#on-demand-runners) erzeugt werden, das einmalige Work-Order-JWT. `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` trägt den Geheimniswert direkt, nicht einen Dateipfad. Das ältere Flag `--pool-secret-file` und die Variable `SELF_HOSTED_RUNNER_POOL_SECRET` funktionieren immer noch und geben eine Veraltungswarnung auf stderr aus; Preview-Programm-Runner-Builds älter als 2.1.216 erkennen nur diese älteren Namen. |

36| `--exec-path <path>` | `SELF_HOSTED_RUNNER_EXEC_PATH` | eigene Binärdatei | Binärdatei oder Wrapper-Skript zum Erzeugen für jede Sitzung. Siehe [Wrapper-Skripte](/docs/de/self-hosted-environments-configuration#wrapper-scripts). |37| `--exec-path <path>` | `SELF_HOSTED_RUNNER_EXEC_PATH` | eigene Binärdatei | Binärdatei oder Wrapper-Skript zum Erzeugen für jede Sitzung. Siehe [Wrapper-Skripte](/docs/de/self-hosted-environments-configuration#wrapper-scripts). |


39| `--git-ssh-rewrite <host>` | keine | nicht gesetzt | Schreiben Sie `https://<host>/...` Quell-URLs zu `git@<host>:...` um, bevor Sie klonen, für SSH-only Git-Hosts. Wiederholbar; nur Flag. |40| `--git-ssh-rewrite <host>` | keine | nicht gesetzt | Schreiben Sie `https://<host>/...` Quell-URLs zu `git@<host>:...` um, bevor Sie klonen, für SSH-only Git-Hosts. Wiederholbar; nur Flag. |

40| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Port für den `/healthz`- und `/metrics`-Listener. Setzen Sie `0`, um zu deaktivieren. |41| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Port für den `/healthz`- und `/metrics`-Listener. Setzen Sie `0`, um zu deaktivieren. |

41| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | nicht gesetzt | Verzeichnis von Lifecycle-Hook-Skripten. Siehe [Lifecycle-Hooks](/docs/de/self-hosted-environments-configuration#lifecycle-hooks). |42| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | nicht gesetzt | Verzeichnis von Lifecycle-Hook-Skripten. Siehe [Lifecycle-Hooks](/docs/de/self-hosted-environments-configuration#lifecycle-hooks). |

43| `--host-config-snapshot <mode>` | `SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOT` | `disk` | Wo der Runner den Startup-Snapshot des [Host-Konfigurationsverzeichnisses](#environment-variable-only-settings) aufbewahrt, das er jede Sitzung von dort aus startet. `disk` kopiert den Snapshot in ein vom Runner verwaltetes Verzeichnis unter `--base-dir` und überprüft bei jedem Sitzungsstart jede Datei gegen einen In-Memory-Digest. Wenn eine Datei in der Kopie geändert wurde, schlägt die Sitzung fehl und der Runner lehnt Sitzungen ab, bis Sie ihn neu starten. `memory` hält den gesamten Snapshot auf dem Heap, begrenzt auf 64 MiB; über der Grenze starten Sitzungen ohne Host-Konfiguration und zeigen einen entsprechenden Hinweis. Wenn der Runner den Disk-Snapshot nicht schreiben kann, protokolliert er den Fehler und verwendet `memory` für diesen Durchlauf. Erfordert Claude Code v2.1.271 oder später. |

42| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Begrenzen Sie eine Sitzung auf N Minuten Wanduhr, als Sicherheitslimit für steckengebliebene Sitzungen. In v2.1.260 oder später gibt der Runner eine Sitzung frei, die das Limit erreicht, damit sie in der nächsten Nachricht des Benutzers fortgesetzt werden kann, und beendet sie nur, wenn sie sich noch auf dem Runner befindet, wenn das Gnadenfenster [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) endet. Vor v2.1.260 beendete der Runner die Sitzung beim Limit. Siehe [Einige Sitzungen zählen nicht als untätig](/docs/de/self-hosted-environments-deploy#some-sessions-don%E2%80%99t-count-as-idle) für die Details und wie Sie einen Wert wählen. `0` deaktiviert. |44| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Begrenzen Sie eine Sitzung auf N Minuten Wanduhr, als Sicherheitslimit für steckengebliebene Sitzungen. In v2.1.260 oder später gibt der Runner eine Sitzung frei, die das Limit erreicht, damit sie in der nächsten Nachricht des Benutzers fortgesetzt werden kann, und beendet sie nur, wenn sie sich noch auf dem Runner befindet, wenn das Gnadenfenster [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) endet. Vor v2.1.260 beendete der Runner die Sitzung beim Limit. Siehe [Einige Sitzungen zählen nicht als untätig](/docs/de/self-hosted-environments-deploy#some-sessions-don%E2%80%99t-count-as-idle) für die Details und wie Sie einen Wert wählen. `0` deaktiviert. |

43| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | nicht gesetzt | Sperren Sie den Runner beim Start vorab auf ein bestimmtes Konto, anstatt beim ersten Session zu sperren. Akzeptiert eine E-Mail-Adresse oder eine `user_...` ID in der Organisation der Umgebung. Ein vorgespannter Runner nimmt niemals Claude Tag-Kanal-Sitzungen auf, die kein Konto haben. |45| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | nicht gesetzt | Sperren Sie den Runner beim Start vorab auf ein bestimmtes Konto, anstatt beim ersten Session zu sperren. Akzeptiert eine E-Mail-Adresse oder eine `user_...` ID in der Organisation der Umgebung. Ein vorgespannter Runner nimmt niemals Claude Tag-Kanal-Sitzungen auf, die kein Konto haben. |

44| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | nicht gesetzt | Spiegeln Sie Runner-Protokolle zusätzlich zu stdout und stderr in eine Datei, erstellt mit `0600`-Berechtigungen. Erforderlich für `self-hosted-runner doctor`, um Protokolle lokal zu verfolgen. |46| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | nicht gesetzt | Spiegeln Sie Runner-Protokolle zusätzlich zu stdout und stderr in eine Datei, erstellt mit `0600`-Berechtigungen. Erforderlich für `self-hosted-runner doctor`, um Protokolle lokal zu verfolgen. |


47| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | nicht gesetzt | Shell-Befehl, den der Runner für jede Verbindung zu Ihrem Egress-Proxy ausführt, wobei seine gekürzte Standardausgabe als Wert des Headers `Proxy-Authorization` verwendet wird. Erfordert `HTTPS_PROXY` oder `HTTP_PROXY`, und kann nicht mit `--proxy-authorization-file` kombiniert werden. Siehe [Authentifizieren Sie sich bei einem Egress-Proxy](/docs/de/self-hosted-environments-deploy#authenticate-to-an-egress-proxy). Erfordert Claude Code v2.1.238 oder später. |49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | nicht gesetzt | Shell-Befehl, den der Runner für jede Verbindung zu Ihrem Egress-Proxy ausführt, wobei seine gekürzte Standardausgabe als Wert des Headers `Proxy-Authorization` verwendet wird. Erfordert `HTTPS_PROXY` oder `HTTP_PROXY`, und kann nicht mit `--proxy-authorization-file` kombiniert werden. Siehe [Authentifizieren Sie sich bei einem Egress-Proxy](/docs/de/self-hosted-environments-deploy#authenticate-to-an-egress-proxy). Erfordert Claude Code v2.1.238 oder später. |

48| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | nicht gesetzt | Datei, die der Runner für jede Verbindung zu Ihrem Egress-Proxy liest, wobei ihr gekürzter Inhalt als Wert des Headers `Proxy-Authorization` verwendet wird. Verwenden Sie dieses Flag für ein Token, das ein anderer Prozess an Ort und Stelle rotiert. Trägt dieselben Anforderungen wie `--proxy-authorization-command` und kann nicht damit kombiniert werden. Siehe [Authentifizieren Sie sich bei einem Egress-Proxy](/docs/de/self-hosted-environments-deploy#authenticate-to-an-egress-proxy). Erfordert Claude Code v2.1.238 oder später. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | nicht gesetzt | Datei, die der Runner für jede Verbindung zu Ihrem Egress-Proxy liest, wobei ihr gekürzter Inhalt als Wert des Headers `Proxy-Authorization` verwendet wird. Verwenden Sie dieses Flag für ein Token, das ein anderer Prozess an Ort und Stelle rotiert. Trägt dieselben Anforderungen wie `--proxy-authorization-command` und kann nicht damit kombiniert werden. Siehe [Authentifizieren Sie sich bei einem Egress-Proxy](/docs/de/self-hosted-environments-deploy#authenticate-to-an-egress-proxy). Erfordert Claude Code v2.1.238 oder später. |

49| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | aus | Bei einem Runner-initiierten Session-Ende, wie einer Entleerung oder Idle-Freigabe, pushen Sie verfolgte Outcome-Branches zu `origin`, bevor Sie den Arbeitsbereich löschen, sodass laufende Commits einen Neustart überstehen. Best-Effort; fügt 30 Sekunden zum Shutdown-Budget hinzu und erfordert Git 2.29 oder neuer, um vom gepushten Branch fortzufahren. Beschränken Sie den Push-Zugriff auf `claude/*` Refs, bevor Sie dies aktivieren; siehe [Fortgesetzte Sitzungen verlieren nicht gepushte Arbeit](/docs/de/self-hosted-environments-deploy#additional-limitations). Repositories, die über einen `checkout` Lifecycle-Hook ausgecheckt werden, werden nicht gepusht; erstellen Sie stattdessen Snapshots von diesen vom [`post-session` Hook](/docs/de/self-hosted-environments-configuration#post-session). |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | aus | Bei einem Runner-initiierten Session-Ende, wie einer Entleerung oder Idle-Freigabe, pushen Sie verfolgte Outcome-Branches zu `origin`, bevor Sie den Arbeitsbereich löschen, sodass laufende Commits einen Neustart überstehen. Best-Effort; fügt 30 Sekunden zum Shutdown-Budget hinzu und erfordert Git 2.29 oder neuer, um vom gepushten Branch fortzufahren. Beschränken Sie den Push-Zugriff auf `claude/*` Refs, bevor Sie dies aktivieren; siehe [Fortgesetzte Sitzungen verlieren nicht gepushte Arbeit](/docs/de/self-hosted-environments-deploy#additional-limitations). Repositories, die über einen `checkout` Lifecycle-Hook ausgecheckt werden, werden nicht gepusht; erstellen Sie stattdessen Snapshots von diesen vom [`post-session` Hook](/docs/de/self-hosted-environments-configuration#post-session). |

50| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Geben Sie einen Session-Slot nach N Minuten Inaktivität frei, sobald ein Zug beendet ist oder die Sitzung auf die Aktion des Benutzers wartet. Eine Sitzung, die sich noch mitten in einem Zug befindet, einschließlich einer, die eine nie endende Hintergrundaufgabe hält oder eine Genehmigung anfordert, die von innerhalb eines laufenden Tool-Aufrufs angefordert wird, zählt nicht als untätig; koppeln Sie mit `--kill-session-after-min` als harter Backstop. Nachdem die Hintergrundaufgabe einer Sitzung beendet ist, betrachtet der Runner die Sitzung als beschäftigt, bis der Folgezug, der das Ergebnis liest, beginnt, für höchstens das Fenster [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Bis der Runner ein Shutdown-Signal empfängt oder seine Ruhestandszeit erreicht, startet eine Freigabe, die den Runner ohne aktive Sitzungen hinterlässt, denselben Ausstiegspfad wie eine normale Entleerung, gesteuert durch `--drain-grace-sec`. Nach einem ersten Signal, das Sie mit [`--defer-shutdown-max-min`](/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) verschoben haben, beendet sich der Runner, sobald eine Freigabe ihn ohne Sitzungen hinterlässt. `0` deaktiviert. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Geben Sie einen Session-Slot nach N Minuten Inaktivität frei, sobald ein Zug beendet ist oder die Sitzung auf die Aktion des Benutzers wartet. Eine Sitzung, die sich noch mitten in einem Zug befindet, einschließlich einer, die eine nie endende Hintergrundaufgabe hält oder eine Genehmigung anfordert, die von innerhalb eines laufenden Tool-Aufrufs angefordert wird, zählt nicht als untätig; koppeln Sie mit `--kill-session-after-min` als harter Backstop. Nach einer Sitzung, deren Hintergrundaufgabe beendet ist, betrachtet der Runner die Sitzung als beschäftigt, bis der Folgezug, der das Ergebnis liest, beginnt, für höchstens das Fenster [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Bis der Runner ein Shutdown-Signal empfängt oder seine Ruhestandszeit erreicht, startet eine Freigabe, die den Runner ohne aktive Sitzungen hinterlässt, denselben Ausstiegspfad wie eine normale Entleerung, gesteuert durch `--drain-grace-sec`. Nach einem ersten Signal, das Sie mit [`--defer-shutdown-max-min`](/docs/de/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) verschoben haben, beendet sich der Runner, sobald eine Freigabe ihn ohne Sitzungen hinterlässt. `0` deaktiviert. |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | aus | Entfernen Sie die Pro-Sitzungs-Verzeichnisse einer Sitzung unter `<base-dir>/_sessions/`, wenn die Sitzung auf diesem Runner endet, unabhängig vom Ergebnis. [Verwenden Sie einen vorgefüllten Checkout erneut](/docs/de/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout) beschreibt, was sie enthalten und wer sie lesen kann, wenn sie bleiben. Die Entfernung ist Best-Effort: Die Pro-Sitzungs-Verzeichnisse bleiben an Ort und Stelle, wenn der Runner beendet wird oder seine Drain-Frist erreicht, bevor die Bereinigung ausgeführt wird. Mit dem Flag an, wird das Debug-Protokoll einer fehlgeschlagenen oder unterbrochenen Sitzung nicht auf der Festplatte gespeichert. Erfordert Claude Code v2.1.268 oder später. |

51| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | nicht gesetzt | Ruhestand des Runners bei einem absoluten Unix-Zeitstempel in Sekunden, für Infrastruktur, die den Runner zu einem bekannten Zeitpunkt beendet; [Runner-Lebenszyklus](/docs/de/self-hosted-environments#runner-lifecycle) beschreibt die Freigabesequenz und wie Sie die Marge dimensionieren. Werte vor 2001 oder nach dem Jahr 5138 werden vom Flag abgelehnt und von der Umgebungsvariable ignoriert. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | nicht gesetzt | Ruhestand des Runners bei einem absoluten Unix-Zeitstempel in Sekunden, für Infrastruktur, die den Runner zu einem bekannten Zeitpunkt beendet; [Runner-Lebenszyklus](/docs/de/self-hosted-environments#runner-lifecycle) beschreibt die Freigabesequenz und wie Sie die Marge dimensionieren. Werte vor 2001 oder nach dem Jahr 5138 werden vom Flag abgelehnt und von der Umgebungsvariable ignoriert. |

52| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Wie lange Sie warten, bis der Claude-Prozess nach einer Sitzung sauber beendet wird, bevor Sie ihn gewaltsam beenden. Erhöhen Sie den Wert, wenn die eigenen `SessionEnd` Hooks des Kindes mehr Zeit benötigen. |55| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Wie lange Sie warten, bis der Claude-Prozess nach einer Sitzung sauber beendet wird, bevor Sie ihn gewaltsam beenden. Erhöhen Sie den Wert, wenn die eigenen `SessionEnd` Hooks des Kindes mehr Zeit benötigen. |

53| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Geben Sie einen Session-Slot frei, wenn das Kind nicht signalisiert hat, dass es sich innerhalb von N Minuten nach dem Erzeugen initialisiert hat. Gelöscht durch das Init-Signal des Kindes auf dem [Activity-Kanal](/docs/de/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached), nicht durch gewöhnliche Ausgabe, danach übernimmt `--release-idle-session-min`. `0` deaktiviert. |56| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Geben Sie einen Session-Slot frei, wenn das Kind nicht signalisiert hat, dass es sich innerhalb von N Minuten nach dem Erzeugen initialisiert hat. Gelöscht durch das Init-Signal des Kindes auf dem [Activity-Kanal](/docs/de/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached), nicht durch gewöhnliche Ausgabe, danach übernimmt `--release-idle-session-min`. `0` deaktiviert. |

Details

74 Bevor Sie den Runner starten74 Bevor Sie den Runner starten

75</h3>75</h3>

76 76 

77Zwei Dinge, auf die der Hook angewiesen ist:77Der Hook hat diese Anforderungen:

78 78 

79* Installieren Sie ihn, bevor Sie den Runner starten. Der Runner erstellt eine Momentaufnahme von `~/.claude/` einmal beim Start, sodass ein Hook, der zu einem laufenden Runner hinzugefügt wird, erst nach einem Neustart wirksam wird.79* Installieren Sie ihn, bevor Sie den Runner starten. Der Runner erstellt eine Momentaufnahme von `~/.claude/` einmal beim Start, sodass ein Hook, der zu einem laufenden Runner hinzugefügt wird, erst nach einem Neustart wirksam wird.

80* Exportieren Sie `E2E_REPLY_DIR` zum Runner-Prozess. Der Hook ist ein No-Op, wenn die Variable nicht gesetzt ist oder das Verzeichnis nicht existiert. Setzen Sie sie daher überall dort, wo Sie den Runner starten, z. B. in der systemd-Unit, Pod-Spezifikation oder CI-Schritt. Das Test-Skript unten benötigt es auch.80* Exportieren Sie `E2E_REPLY_DIR` zum Runner-Prozess. Der Hook ist ein No-Op, wenn die Variable nicht gesetzt ist oder das Verzeichnis nicht existiert. Setzen Sie sie daher überall dort, wo Sie den Runner starten, z. B. in der systemd-Unit, Pod-Spezifikation oder CI-Schritt. Das Test-Skript unten benötigt es auch.


208 208 

209Führen Sie `claude auth login` einmal interaktiv auf dem Computer aus, auf dem das Skript ausgeführt wird, mit einem dedizierten Benutzerkonto für Automatisierung. Claude Code speichert das Token im OS-Keychain auf macOS oder in `~/.claude/.credentials.json` auf Linux und Windows. Auf einem macOS-Host, dessen Keychain nicht geschrieben werden kann, wie es typisch in einer SSH-Sitzung der Fall ist, in der der Login-Keychain gesperrt bleibt, speichert Claude Code das Token auch dort in `~/.claude/.credentials.json`. Siehe [Credential-Verwaltung](/docs/de/authentication#credential-management).209Führen Sie `claude auth login` einmal interaktiv auf dem Computer aus, auf dem das Skript ausgeführt wird, mit einem dedizierten Benutzerkonto für Automatisierung. Claude Code speichert das Token im OS-Keychain auf macOS oder in `~/.claude/.credentials.json` auf Linux und Windows. Auf einem macOS-Host, dessen Keychain nicht geschrieben werden kann, wie es typisch in einer SSH-Sitzung der Fall ist, in der der Login-Keychain gesperrt bleibt, speichert Claude Code das Token auch dort in `~/.claude/.credentials.json`. Siehe [Credential-Verwaltung](/docs/de/authentication#credential-management).

210 210 

211Die CLI aktualisiert das kurzlebige Zugriffstoken automatisch bei jeder Invokation, aber die zugrunde liegende Refresh-Token-Gewährung ist auf 30 Tage ab der ersten Anmeldung begrenzt. Führen Sie daher `claude auth login` interaktiv auf diesem Host alle 30 Tage erneut aus.211Die CLI aktualisiert das kurzlebige Zugriffstoken automatisch bei jeder Invokation, aber die zugrunde liegende Refresh-Token-Gewährung ist auf 30 Tage ab der ersten Anmeldung begrenzt, daher führen Sie `claude auth login` interaktiv auf diesem Host alle 30 Tage erneut aus.

212 212 

213<h3 id="ephemeral-ci-runners">213<h3 id="ephemeral-ci-runners">

214 Ephemere CI-Runner214 Ephemere CI-Runner

215</h3>215</h3>

216 216 

217Es gibt heute kein langlebiges CI-Token dafür. Der Umfang, der Remote-Sitzungskontrolle gewährt, `user:sessions:claude_code`, ist serverseitig auf 30 Tage begrenzt, sodass `claude setup-token`, das ein einjähriges Inference-only-Token prägt, es nicht abdeckt. Das [Umgebungsgeheimnis](/docs/de/self-hosted-environments-quickstart#set-up-an-environment-and-runner) wird auch nicht akzeptiert, da es nur einen Runner autorisiert, sich bei der Umgebung zu registrieren, nicht um Sitzungen zu erstellen.217Es gibt heute kein langlebiges CI-Token dafür. Der Umfang, der Cloud-Sitzungskontrolle gewährt, `user:sessions:claude_code`, ist serverseitig auf 30 Tage begrenzt, sodass `claude setup-token`, das ein einjähriges Inference-only-Token prägt, es nicht abdeckt. Das [Umgebungsgeheimnis](/docs/de/self-hosted-environments-quickstart#set-up-an-environment-and-runner) wird auch nicht akzeptiert, da es nur einen Runner autorisiert, sich bei der Umgebung zu registrieren, nicht um Sitzungen zu erstellen.

218 218 

219Um eine gespeicherte Anmeldung auf einem ephemeren Runner bereitzustellen, setzen Sie [`CLAUDE_CODE_OAUTH_REFRESH_TOKEN` und `CLAUDE_CODE_OAUTH_SCOPES`](/docs/de/env-vars#variables), damit `claude auth login` das Token ohne Browser austauscht; die gleiche 30-Tage-Obergrenze gilt für die Refresh-Gewährung. Kontaktieren Sie Ihr Anthropic-Kontoteam, wenn Sie einen Machine-Identity-Pfad benötigen, der nicht an ein menschliches Konto gebunden ist.219Um eine gespeicherte Anmeldung auf einem ephemeren Runner bereitzustellen, setzen Sie [`CLAUDE_CODE_OAUTH_REFRESH_TOKEN` und `CLAUDE_CODE_OAUTH_SCOPES`](/docs/de/env-vars#variables), damit `claude auth login` das Token ohne Browser austauscht; die gleiche 30-Tage-Obergrenze gilt für die Refresh-Gewährung. Kontaktieren Sie Ihr Anthropic-Kontoteam, wenn Sie einen Machine-Identity-Pfad benötigen, der nicht an ein menschliches Konto gebunden ist.

220 220 

Details

33| **Serververwaltete Einstellungen** | Organisationen ohne MDM oder Benutzer auf nicht verwalteten Geräten | Einstellungen, die Claude Code beim Start von Anthropics Servern abruft und während der Sitzung stündlich aktualisiert |33| **Serververwaltete Einstellungen** | Organisationen ohne MDM oder Benutzer auf nicht verwalteten Geräten | Einstellungen, die Claude Code beim Start von Anthropics Servern abruft und während der Sitzung stündlich aktualisiert |

34| **[Endpunktverwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms)** | Organisationen mit MDM oder Endpunktverwaltung | Einstellungen, die auf Geräten über MDM-Konfigurationsprofile, Registrierungsrichtlinien oder verwaltete Einstellungsdateien bereitgestellt werden |34| **[Endpunktverwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms)** | Organisationen mit MDM oder Endpunktverwaltung | Einstellungen, die auf Geräten über MDM-Konfigurationsprofile, Registrierungsrichtlinien oder verwaltete Einstellungsdateien bereitgestellt werden |

35 35 

36Wenn Ihre Geräte in einer MDM- oder Endpunktverwaltungslösung registriert sind, bieten endpunktverwaltete Einstellungen stärkere Sicherheitsgarantien, da die Einstellungsdatei auf Betriebssystemebene vor Benutzermodifikationen geschützt werden kann. Endpunktverwaltete Einstellungen erreichen [Cloud-Sitzungen](/docs/de/model-config#surface-coverage) in von Anthropic gehosteten Umgebungen nicht, daher sollten Organisationen, die Claude Code im Web verwenden, auch serververwaltete Einstellungen konfigurieren. Sitzungen in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) lesen auch die verwaltete Einstellungsdatei im Runner-Image. Die [Einstellungspriorität](#settings-precedence) unten gibt an, wann diese Datei gilt.36Wenn Ihre Geräte in einer MDM- oder Endpunktverwaltungslösung registriert sind, bieten endpunktverwaltete Einstellungen stärkere Sicherheitsgarantien, da die Einstellungsdatei auf Betriebssystemebene vor Benutzermodifikationen geschützt werden kann. Endpunktverwaltete Einstellungen erreichen [Cloud-Sitzungen](/docs/de/model-config#surface-coverage) in von Anthropic gehosteten Umgebungen nicht, daher sollten Organisationen, deren Entwickler Cloud-Sitzungen ausführen, auch serververwaltete Einstellungen konfigurieren. Sitzungen in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) lesen auch die verwaltete Einstellungsdatei im Runner-Image. Die [Einstellungspriorität](#settings-precedence) unten gibt an, wann diese Datei gilt.

37 37 

38<h2 id="configure-server-managed-settings">38<h2 id="configure-server-managed-settings">

39 Serververwaltete Einstellungen konfigurieren39 Serververwaltete Einstellungen konfigurieren


165 165 

166Drei Arten von Schlüsseln sind Ausnahmen von der Nicht-Zusammenführungsregel:166Drei Arten von Schlüsseln sind Ausnahmen von der Nicht-Zusammenführungsregel:

167 167 

168* **Quellübergreifende Sperr-Schlüssel**: ein kleiner Satz von Schlüsseln, wie die Sandbox-Zulassungslisten-Sperren, [aufgelistet auf der Seite für verwaltete Einstellungen](/docs/de/managed-settings#precedence-within-the-managed-tier). Claude Code berücksichtigt sie, wenn eine beliebige administratorgesteuerte verwaltete Quelle sie setzt; die benutzerbare HKCU-Registrierungsebene ist ausgeschlossen. Wenn ein [`policyHelper`](/docs/de/settings-reference#policyhelper) verwaltete Einstellungen liefert, ist seine Ausgabe die einzige Quelle, die diese Überprüfungen lesen, abgesehen von [`forceRemoteSettingsRefresh`](/docs/de/settings-reference#forceremotesettingsrefresh), das Claude Code beim Start direkt aus den administratorgesteuerten Quellen liest.168* **Quellübergreifende Sperr-Schlüssel**: ein kleiner Satz von Schlüsseln, wie die Sandbox-Zulassungslisten-Sperren, [aufgelistet auf der Seite für verwaltete Einstellungen](/docs/de/managed-settings#precedence-within-the-managed-tier). Claude Code berücksichtigt sie, wenn eine beliebige administratorgesteuerte verwaltete Quelle sie setzt; die benutzerbare HKCU-Registrierungsebene ist ausgeschlossen.

169 

170 Wenn ein [`policyHelper`](/docs/de/settings-reference#policyhelper) verwaltete Einstellungen liefert, ist seine Ausgabe die einzige Quelle, die diese Überprüfungen lesen, abgesehen von [`forceRemoteSettingsRefresh`](/docs/de/settings-reference#forceremotesettingsrefresh), das Claude Code beim Start direkt aus den administratorgesteuerten Quellen liest.

169* **Der `env`-Block**: abgesehen von der Telemetrie-Einheit und Routing-Variablen, die mit einem Anmeldedatenschlüssel gekoppelt sind, beide unten behandelt, wird er pro Schlüssel über die administratorgesteuerten Quellen hinweg zusammengeführt. Für jede Umgebungsvariable gewinnt die höchstpriorisierte Quelle, die sie definiert, und niedrigere administratorgesteuerte Quellen füllen Variablen aus, die die höheren Quellen nicht setzen. Ein endpunktverwalteter `env`-Eintrag gilt daher, wenn die serververwaltete Konfiguration diese Variable nicht setzt, oder während ein zwischengespeicherter Serverwert dafür [zurückgehalten wird, bis der Server ihn bestätigt](#fetch-and-caching-behavior). Erfordert Claude Code v2.1.223 oder später. Vor v2.1.223 wendet Claude Code nur den `env`-Block der ausgewählten Quelle an.171* **Der `env`-Block**: abgesehen von der Telemetrie-Einheit und Routing-Variablen, die mit einem Anmeldedatenschlüssel gekoppelt sind, beide unten behandelt, wird er pro Schlüssel über die administratorgesteuerten Quellen hinweg zusammengeführt. Für jede Umgebungsvariable gewinnt die höchstpriorisierte Quelle, die sie definiert, und niedrigere administratorgesteuerte Quellen füllen Variablen aus, die die höheren Quellen nicht setzen. Ein endpunktverwalteter `env`-Eintrag gilt daher, wenn die serververwaltete Konfiguration diese Variable nicht setzt, oder während ein zwischengespeicherter Serverwert dafür [zurückgehalten wird, bis der Server ihn bestätigt](#fetch-and-caching-behavior). Erfordert Claude Code v2.1.223 oder später. Vor v2.1.223 wendet Claude Code nur den `env`-Block der ausgewählten Quelle an.

170 * **Telemetrie-Einheit**: die `OTEL_EXPORTER_OTLP_*` Exporter-Schlüssel, die `OTEL_LOG_*` Inhaltserfassungs-Umschalter, `OTEL_LOGS_EXPORTER` und die Beta-Tracing-Variablen `ENABLE_BETA_TRACING_DETAILED` und `BETA_TRACING_ENDPOINT` folgen der höchsten Quelle, die eine von ihnen als Einheit setzt. Eine Quelle, die den `otelHeadersHelper` Anmeldedatenschlüssel liefert, beansprucht die Einheit auch, landet diese Variablen aber nur, wenn sie die ausgewählte Quelle ist: Eine Quelle, die nicht ausgewählt ist, aber den Schlüssel liefert, trägt keine von ihnen bei und blockiert immer noch niedrigere Quellen davon, sie auszufüllen. In jedem Fall kann ein Exporter-Endpunkt von einer Quelle niemals mit Anmeldedaten von einer anderen gekoppelt werden.172 * **Telemetrie-Einheit**: die `OTEL_EXPORTER_OTLP_*` Exporter-Schlüssel, die `OTEL_LOG_*` Inhaltserfassungs-Umschalter, `OTEL_LOGS_EXPORTER` und die Beta-Tracing-Variablen `ENABLE_BETA_TRACING_DETAILED` und `BETA_TRACING_ENDPOINT` folgen der höchsten Quelle, die eine von ihnen als Einheit setzt. Eine Quelle, die den `otelHeadersHelper` Anmeldedatenschlüssel liefert, beansprucht die Einheit auch, landet diese Variablen aber nur, wenn sie die ausgewählte Quelle ist: Eine Quelle, die nicht ausgewählt ist, aber den Schlüssel liefert, trägt keine von ihnen bei und blockiert immer noch niedrigere Quellen davon, sie auszufüllen. In jedem Fall kann ein Exporter-Endpunkt von einer Quelle niemals mit Anmeldedaten von einer anderen gekoppelt werden.

171 * **Anmeldedaten-gekoppeltes Routing**: eine Quelle, die Routing-Variablen mit einem Anmeldedatenschlüssel nur für die ausgewählte Quelle, wie `apiKeyHelper` oder `otelHeadersHelper`, koppelt, trägt diese Routing-Variablen nur bei, wenn sie den Slot gewinnt.173 * **Anmeldedaten-gekoppeltes Routing**: eine Quelle, die Routing-Variablen mit einem Anmeldedatenschlüssel nur für die ausgewählte Quelle, wie `apiKeyHelper` oder `otelHeadersHelper`, koppelt, trägt diese Routing-Variablen nur bei, wenn sie den Slot gewinnt.

settings.md +8 −7

Details

419 Vergleichen Sie den Bereich jeder Einstellungsdatei419 Vergleichen Sie den Bereich jeder Einstellungsdatei

420</h3>420</h3>

421 421 

422Angenommen, Sie haben drei Projekte auf Ihrer Maschine, `website/`, `api/` und `acme-app/`, ein Teamkollege hat seinen eigenen Klon von `acme-app/`, und Sie starten eine [Cloud-Sitzung](#settings-in-cloud-sessions) auf `acme-app/`.

423 

424Die Grafik unten zeigt, in welchen dieser Ordner eine Einstellung angewendet wird, wenn Sie Claude Code von ihnen aus starten. Klicken Sie auf eine Einstellungsdatei, um die Ordner zu sehen, die sie erreicht.422Die Grafik unten zeigt, in welchen dieser Ordner eine Einstellung angewendet wird, wenn Sie Claude Code von ihnen aus starten. Klicken Sie auf eine Einstellungsdatei, um die Ordner zu sehen, die sie erreicht.

425 423 

424Angenommen, Sie haben drei Projekte auf Ihrer Maschine, `website/`, `api/` und `acme-app/`, ein Teamkollege hat seinen eigenen Klon von `acme-app/`, und Sie starten eine [Cloud-Sitzung](#settings-in-cloud-sessions) auf `acme-app/`.

425 

426<SettingsScope />426<SettingsScope />

427 427 

428* **`~/.claude/settings.json`**: jedes Projekt auf Ihrer Maschine, und nichts auf der Ihres Teamkollegen oder in der Cloud-Sitzung428* **`~/.claude/settings.json`**: jedes Projekt auf Ihrer Maschine, und nichts auf der Ihres Teamkollegen oder in der Cloud-Sitzung


470 470 

471Um eine Einstellung für sich selbst in einem Projekt zu ändern, ohne sie für Ihre Teamkollegen zu ändern, speichern Sie sie in `.claude/settings.local.json` im Projekt. Claude Code wendet diese Datei über die eingecheckte `.claude/settings.json` an, sodass wenn die Datei Ihres Teams `"model": "claude-sonnet-5"` setzt und Sie Opus wollen, setzen Sie `"model": "claude-opus-4-8"` in Ihre lokale Datei und nur Ihre Sitzungen ändern.471Um eine Einstellung für sich selbst in einem Projekt zu ändern, ohne sie für Ihre Teamkollegen zu ändern, speichern Sie sie in `.claude/settings.local.json` im Projekt. Claude Code wendet diese Datei über die eingecheckte `.claude/settings.json` an, sodass wenn die Datei Ihres Teams `"model": "claude-sonnet-5"` setzt und Sie Opus wollen, setzen Sie `"model": "claude-opus-4-8"` in Ihre lokale Datei und nur Ihre Sitzungen ändern.

472 472 

473Drei Dinge, die Sie über die lokale Datei wissen sollten:473Claude Code schreibt auch in diese Datei, hält sie aus Ihren Commits heraus, und wendet ihre Allow-Regeln ohne den Vertrauensschritt an:

474 474 

475* **Claude Code schreibt sie auch.** Wenn Claude Sie fragt, einen Bash-Befehl auszuführen und Sie "Ja, und frag mich nicht mehr" wählen, speichert Claude Code diese [Berechtigungsgenehmigung](/docs/de/permissions#permission-system) hier als `allow` Regel.475* **Claude Code schreibt sie auch.** Wenn Claude Sie fragt, einen Bash-Befehl auszuführen und Sie "Ja, und frag mich nicht mehr" wählen, speichert Claude Code diese [Berechtigungsgenehmigung](/docs/de/permissions#permission-system) hier als `allow` Regel.

476* **Sie müssen sie nicht selbst gitignorieren, es sei denn, Sie haben sie von Hand erstellt.** Das erste Mal, wenn Claude Code die Datei in einem Git-Repository schreibt, das sie nicht bereits ignoriert, fügt es `**/.claude/settings.local.json` zu Ihrer globalen Git-Ausschluss-Datei hinzu, sodass die Datei in jedem Repository aus Ihren Commits herausbleibt. Diese Datei ist `core.excludesFile`, wenn Ihre globale Git-Konfiguration sie auf einen absoluten oder `~`-präfixierten Pfad setzt; ansonsten ist es `$XDG_CONFIG_HOME/git/ignore`, oder `~/.config/git/ignore`, wenn `XDG_CONFIG_HOME` nicht gesetzt ist. Wenn Sie die Datei von Hand erstellt haben und Claude Code noch nicht darin geschrieben hat, fügen Sie sie selbst zu `.gitignore` hinzu.476* **Sie müssen sie nicht selbst gitignorieren, es sei denn, Sie haben sie von Hand erstellt.** Das erste Mal, wenn Claude Code die Datei in einem Git-Repository schreibt, das sie nicht bereits ignoriert, fügt es `**/.claude/settings.local.json` zu Ihrer globalen Git-Ausschluss-Datei hinzu, sodass die Datei in jedem Repository aus Ihren Commits herausbleibt. Diese Datei ist `core.excludesFile`, wenn Ihre globale Git-Konfiguration sie auf einen absoluten oder `~`-präfixierten Pfad setzt; ansonsten ist es `$XDG_CONFIG_HOME/git/ignore`, oder `~/.config/git/ignore`, wenn `XDG_CONFIG_HOME` nicht gesetzt ist. Wenn Sie die Datei von Hand erstellt haben und Claude Code noch nicht darin geschrieben hat, fügen Sie sie selbst zu `.gitignore` hinzu.


765 765 

766Zwei Dinge halten einen Schlüssel in `.claude/settings.json` davon ab, für alle zu gelten, die ihn klonen:766Zwei Dinge halten einen Schlüssel in `.claude/settings.json` davon ab, für alle zu gelten, die ihn klonen:

767 767 

768* **Claude Code ignoriert den Schlüssel in einer Repository-Datei.** Suchen Sie nach `User, local, or managed`, `User or managed`, `Managed` oder `Global config` in der Spalte Scope des [Einstellungsindex](/docs/de/settings-reference#settings-index); diese Schlüssel wirken sich nie von der gemeinsamen Datei aus, außer [`autoContinueAtUsageLimit`](/docs/de/settings-reference#autocontinueatusagelimit), das eine Repository-Datei immer noch ausschalten kann: während die Datei den Schlüssel setzt und kein Benutzer, `--settings` oder verwalteter Wert, liest Claude Code die Einstellung als aus. `Global config` Schlüssel gelten nur von `~/.claude.json`.768* **Claude Code ignoriert den Schlüssel in einer Repository-Datei.** Suchen Sie nach `User, local, or managed`, `User or managed`, `Managed` oder `Global config` in der Spalte Scope des [Einstellungsindex](/docs/de/settings-reference#settings-index). Diese Schlüssel wirken sich nie von der gemeinsamen Datei aus, außer ein paar, die eine Repository-Datei immer noch ausschalten kann. Jeder dieser Einträge sagt so auf seiner Scope-Zeile. `Global config` Schlüssel gelten nur von `~/.claude.json`.

769* **Der Schlüssel wartet auf Vertrauen.** `permissions.allow` Regeln, `permissions.additionalDirectories`, `extraKnownMarketplaces` und die meisten [`env`](/docs/de/settings-reference#env) Werte gelten nur, nachdem jeder Teamkollege den [Ordner vertraut](/docs/de/permissions#project-allow-rules-and-workspace-trust). Bis dahin sehen sie immer noch Aufforderungen und bekommen keine Plugins von einem Marketplace, den die Datei erklärt. `deny` und `ask` Regeln gelten sofort.769* **Der Schlüssel wartet auf Vertrauen.** `permissions.allow` Regeln, `permissions.additionalDirectories`, `extraKnownMarketplaces` und die meisten [`env`](/docs/de/settings-reference#env) Werte gelten nur, nachdem jeder Teamkollege den [Ordner vertraut](/docs/de/permissions#project-allow-rules-and-workspace-trust). Bis dahin sehen sie immer noch Aufforderungen und bekommen keine Plugins von einem Marketplace, den die Datei erklärt. `deny` und `ask` Regeln gelten sofort.

770 770 

771<h4 id="permission-rules-combine-differently-than-you-expected">771<h4 id="permission-rules-combine-differently-than-you-expected">


792| [`crossSessionInbound`](/docs/de/settings-reference#crosssessioninbound) | Ein strengerer Wert aus `.claude/settings.json` oder `.claude/settings.local.json`, auf der `accept` \< `hold` \< `refuse` Leiter | Geehrt über verwaltete, `--settings` und Benutzer-Werte; ein Projekt- oder lokaler Wert, der nicht strenger ist, wird ignoriert |792| [`crossSessionInbound`](/docs/de/settings-reference#crosssessioninbound) | Ein strengerer Wert aus `.claude/settings.json` oder `.claude/settings.local.json`, auf der `accept` \< `hold` \< `refuse` Leiter | Geehrt über verwaltete, `--settings` und Benutzer-Werte; ein Projekt- oder lokaler Wert, der nicht strenger ist, wird ignoriert |

793| [`useAutoModeDuringPlan`](/docs/de/settings-reference#useautomodeduringplan) | `false` aus jeder verwalteten Quelle, `--settings`, `~/.claude/settings.json` oder `.claude/settings.local.json` | Geehrt, auch wenn die gewinnende verwaltete Quelle `true` setzt; ein `false` in `.claude/settings.json` wird ignoriert |793| [`useAutoModeDuringPlan`](/docs/de/settings-reference#useautomodeduringplan) | `false` aus jeder verwalteten Quelle, `--settings`, `~/.claude/settings.json` oder `.claude/settings.local.json` | Geehrt, auch wenn die gewinnende verwaltete Quelle `true` setzt; ein `false` in `.claude/settings.json` wird ignoriert |

794| [`syncClaudeAiSkills`](/docs/de/settings-reference#syncclaudeaiskills) | `false` aus jeder verwalteten Quelle, `--settings`, `~/.claude/settings.json` oder `.claude/settings.local.json` | Geehrt, auch wenn die gewinnende verwaltete Quelle `true` setzt; ein `false` in `.claude/settings.json` wird ignoriert |794| [`syncClaudeAiSkills`](/docs/de/settings-reference#syncclaudeaiskills) | `false` aus jeder verwalteten Quelle, `--settings`, `~/.claude/settings.json` oder `.claude/settings.local.json` | Geehrt, auch wenn die gewinnende verwaltete Quelle `true` setzt; ein `false` in `.claude/settings.json` wird ignoriert |

795| [`syncClaudeAiPlugins`](/docs/de/settings-reference#syncclaudeaiplugins) | `false` aus jeder verwalteten Quelle, `--settings`, `~/.claude/settings.json` oder `.claude/settings.local.json` | Geehrt, auch wenn die gewinnende verwaltete Quelle `true` setzt; ein `false` in `.claude/settings.json` wird ignoriert |

795| [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel) | Eine niedrigere Obergrenze aus jedem Bereich, einschließlich `--settings` | Geehrt, auch wenn die verwalteten Einstellungen, die Claude Code anwendet, eine höhere Obergrenze setzen; die niedrigste Obergrenze gilt. Erfordert Claude Code v2.1.267 oder später |796| [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel) | Eine niedrigere Obergrenze aus jedem Bereich, einschließlich `--settings` | Geehrt, auch wenn die verwalteten Einstellungen, die Claude Code anwendet, eine höhere Obergrenze setzen; die niedrigste Obergrenze gilt. Erfordert Claude Code v2.1.267 oder später |

796 797 

797Eine App, die Claude Code in sich selbst ausführt und [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars) setzt, ist auch eine Ausnahme. Claude Code nimmt die Modell-Konfiguration dieser App über die `model`, `fallbackModel`, `modelPicker` und `modelOverrides` Schlüssel aus jeder verwalteten Quelle, und über die Modell-Auswahl-Variablen in einem verwalteten `env` Block, wie `ANTHROPIC_MODEL` und die `ANTHROPIC_DEFAULT_*_MODEL` Familie. Claude Code behält eine verwaltete [`availableModels`](/docs/de/settings-reference#availablemodels) Allowlist in Kraft, es sei denn, die App liefert ihre eigene.798Eine App, die Claude Code in sich selbst ausführt und [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars) setzt, ist auch eine Ausnahme. Claude Code nimmt die Modell-Konfiguration dieser App über die `model`, `fallbackModel`, `modelPicker` und `modelOverrides` Schlüssel aus jeder verwalteten Quelle, und über die Modell-Auswahl-Variablen in einem verwalteten `env` Block, wie `ANTHROPIC_MODEL` und die `ANTHROPIC_DEFAULT_*_MODEL` Familie. Claude Code behält eine verwaltete [`availableModels`](/docs/de/settings-reference#availablemodels) Allowlist in Kraft, es sei denn, die App liefert ihre eigene.


800 Einstellungen in Cloud-Sitzungen801 Einstellungen in Cloud-Sitzungen

801</h2>802</h2>

802 803 

803Eine Cloud-Sitzung, auf [Claude Code im Web](/docs/de/claude-code-on-the-web) oder von [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-web), läuft in einer [Cloud-Umgebung](/docs/de/cloud-environments) auf einem frischen Klon Ihres Repositorys, nicht auf Ihrer Maschine. Das ändert, welche Einstellungen es erreichen:804Eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web) läuft in einer [Cloud-Umgebung](/docs/de/cloud-environments) auf einem frischen Klon Ihres Repositorys, nicht auf Ihrer Maschine. Das ändert, welche Einstellungen es erreichen:

804 805 

805* **Gemeinsame Projekt-Einstellungen** (`.claude/settings.json`): gelesen, weil die Datei Teil des Klons ist. Committen Sie eine Einstellung dort, um sie in Cloud-Sitzungen anzuwenden.806* **Gemeinsame Projekt-Einstellungen** (`.claude/settings.json`): werden in einer Sitzung mit einem Repository gelesen, da die Datei Teil des Klons ist und die Sitzung darin startet. Committen Sie eine Einstellung dort, um sie in diesen Sitzungen anzuwenden. Eine Sitzung mit mehreren Repositorys startet über den Klonen, daher lädt sie aus jeder `.claude/settings.json` des Repositorys nur die Plugins und Marktplätze, die die Datei deklariert, nicht Berechtigungsregeln, Hooks, `env` oder andere Schlüssel; siehe [Was von Ihrem Setup überträgt](/docs/de/cloud-environments#what-carries-over-from-your-setup).

806* **Benutzer- und Projekt-lokale Einstellungen** (`~/.claude/settings.json` und `.claude/settings.local.json`): nicht gelesen. Beide bleiben auf Ihrer Maschine, und die lokale Datei ist nicht im Klon.807* **Benutzer- und Projekt-lokale Einstellungen** (`~/.claude/settings.json` und `.claude/settings.local.json`): nicht gelesen. Beide bleiben auf Ihrer Maschine, und die lokale Datei ist nicht im Klon.

807* **Verwaltete Einstellungen**: nur [serververwaltete Einstellungen](/docs/de/server-managed-settings) erreichen eine Cloud-Sitzung; eine `managed-settings.json` Datei oder MDM-Profil auf Ihrem Gerät nicht. Eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) liest auch die verwaltete Einstellungsdatei in ihrem Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) sagt, wann diese Datei angewendet wird.808* **Verwaltete Einstellungen**: nur [serververwaltete Einstellungen](/docs/de/server-managed-settings) erreichen eine Cloud-Sitzung; eine `managed-settings.json` Datei oder MDM-Profil auf Ihrem Gerät nicht. Eine [selbstgehostete Umgebung](/docs/de/self-hosted-environments) liest auch die verwaltete Einstellungsdatei in ihrem Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) sagt, wann diese Datei angewendet wird.

808* **`/config`**: im Web öffnet die Claude Code-Sektion Ihrer claude.ai-Einstellungen statt einen Wert zu ändern. Um eine Einstellung für eine Cloud-Sitzung zu ändern, setzen Sie eine [Umgebungsvariable](/docs/de/cloud-environments#set-environment-variables) auf der Umgebung oder committen Sie den Schlüssel zu der `.claude/settings.json` des Repositorys.809* **`/config`**: im Browser unter claude.ai/code öffnet die Claude Code-Sektion Ihrer claude.ai-Einstellungen statt einen Wert zu ändern. Um eine Einstellung für eine Cloud-Sitzung zu ändern, setzen Sie eine [Umgebungsvariable](/docs/de/cloud-environments#set-environment-variables) auf der Umgebung, oder committen Sie in einer Sitzung mit einem Repository den Schlüssel zu der `.claude/settings.json` dieses Repositorys.

809 810 

810[Was von Ihrem Setup überträgt](/docs/de/cloud-environments#what-carries-over-from-your-setup) listet den Rest auf: `CLAUDE.md`, Skills, MCP-Server, Plugins und Anmeldedaten.811[Was von Ihrem Setup überträgt](/docs/de/cloud-environments#what-carries-over-from-your-setup) listet den Rest auf: `CLAUDE.md`, Skills, MCP-Server, Plugins und Anmeldedaten.

811 812 

Details

96 96 

97Die gemeinsamen Einstellungen eines Teams, die im Repository festgehalten werden, damit jeder, der es klont, die gleichen Berechtigungen, Hooks, Telemetrie und das Plugin-Marketplace erhält. Speichern Sie eine Datei wie diese unter `.claude/settings.json` am oberen Ende des Repositories. Das sollten Sie vor dem Commit wissen:97Die gemeinsamen Einstellungen eines Teams, die im Repository festgehalten werden, damit jeder, der es klont, die gleichen Berechtigungen, Hooks, Telemetrie und das Plugin-Marketplace erhält. Speichern Sie eine Datei wie diese unter `.claude/settings.json` am oberen Ende des Repositories. Das sollten Sie vor dem Commit wissen:

98 98 

99* **Cloud-Sitzungen lesen sie auch.** Eine [Cloud-Sitzung](/docs/de/settings#settings-in-cloud-sessions) auf Claude Code im Web startet von einem Klon des Repositories, daher gilt die festgesetzte Datei auch dort.99* **Cloud-Sitzungen lesen sie auch.** Eine [Cloud-Sitzung](/docs/de/settings#settings-in-cloud-sessions) startet von einem Klon des Repositories, daher gilt die festgesetzte Datei auch dort.

100* **Allow-Regeln warten auf Vertrauen.** Allow-Regeln und `extraKnownMarketplaces`-Einträge werden wirksam, nachdem jede Person [diesem Ordner selbst vertraut](/docs/de/permissions#project-allow-rules-and-workspace-trust), nicht nur einem übergeordneten Ordner; Deny- und Ask-Regeln gelten in jeder Sitzung, vertraut oder nicht.100* **Allow-Regeln warten auf Vertrauen.** Allow-Regeln und `extraKnownMarketplaces`-Einträge werden wirksam, nachdem jede Person [diesem Ordner selbst vertraut](/docs/de/permissions#project-allow-rules-and-workspace-trust), nicht nur einem übergeordneten Ordner; Deny- und Ask-Regeln gelten in jeder Sitzung, vertraut oder nicht.

101* **Der Hook ist ein Skript im Repo.** Der Hook dieser Datei führt `.claude/hooks/block-rm.sh` aus; [Wie ein Hook aufgelöst wird](/docs/de/hooks#how-a-hook-resolves) zeigt, wie man ihn schreibt.101* **Der Hook ist ein Skript im Repo.** Der Hook dieser Datei führt `.claude/hooks/block-rm.sh` aus; [Wie ein Hook aufgelöst wird](/docs/de/hooks#how-a-hook-resolves) zeigt, wie man ihn schreibt.

102* **Regeln entsprechen dem Befehl und Pfad wie geschrieben.** `Bash(git push *)` entspricht nicht [`git -C . push`](/docs/de/permissions#bash-rule-limits). `Read(./.env)` allein stoppt die Datei-Tools und Befehle, die die Datei benennen, wie `cat .env`, aber nicht [`grep -r` über das Verzeichnis ausgeführt](/docs/de/permissions#read-and-edit); der `sandbox`-Block in dieser Datei schließt diese Lücke, da die Sandbox [Ihre `Read`-Deny-Pfade](/docs/de/settings-reference#sandbox-filesystem-denyread) zu dem hinzufügt, was jeder Sandbox-Befehl nicht lesen kann.102* **Regeln entsprechen dem Befehl und Pfad wie geschrieben.** `Bash(git push *)` entspricht nicht [`git -C . push`](/docs/de/permissions#bash-rule-limits). `Read(./.env)` allein stoppt die Datei-Tools und Befehle, die die Datei benennen, wie `cat .env`, aber nicht [`grep -r` über das Verzeichnis ausgeführt](/docs/de/permissions#read-and-edit); der `sandbox`-Block in dieser Datei schließt diese Lücke, da die Sandbox [Ihre `Read`-Deny-Pfade](/docs/de/settings-reference#sandbox-filesystem-denyread) zu dem hinzufügt, was jeder Sandbox-Befehl nicht lesen kann.

Details

624| [`awsAuthRefresh`](#awsauthrefresh) | Aktualisieren Sie abgelaufene [Bedrock-Anmeldedaten](/docs/de/amazon-bedrock#advanced-credential-configuration) in `.aws` mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Any file |624| [`awsAuthRefresh`](#awsauthrefresh) | Aktualisieren Sie abgelaufene [Bedrock-Anmeldedaten](/docs/de/amazon-bedrock#advanced-credential-configuration) in `.aws` mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Any file |

625| [`awsCredentialExport`](#awscredentialexport) | Stellen Sie [Bedrock-Anmeldedaten](/docs/de/amazon-bedrock#advanced-credential-configuration) als JSON aus Ihrem eigenen Befehl bereit | Authentifizierung und Anbieter | Any file |625| [`awsCredentialExport`](#awscredentialexport) | Stellen Sie [Bedrock-Anmeldedaten](/docs/de/amazon-bedrock#advanced-credential-configuration) als JSON aus Ihrem eigenen Befehl bereit | Authentifizierung und Anbieter | Any file |

626| [`axScreenReader`](#axscreenreader) | Rendern Sie [bildschirmleserfreundliche Ausgabe](/docs/de/accessibility) | Schnittstelle und Terminal | Any file |626| [`axScreenReader`](#axscreenreader) | Rendern Sie [bildschirmleserfreundliche Ausgabe](/docs/de/accessibility) | Schnittstelle und Terminal | Any file |

627| [`bashEditDiffEnabled`](#basheditdiffenabled) | Zeichnen Sie die [Dateien auf, die ein Bash-Befehl geändert hat,](/docs/de/hooks#bash) in jedem Berechtigungsmodus | Schnittstelle und Terminal | User or managed |

627| [`bashOutputMaxChars`](#bashoutputmaxchars) | Legen Sie fest, wie viel der [Ausgabe](/docs/de/tools-reference#output-limits) eines erfolgreichen Befehls Claude inline erhält | Speicher und Kontext | Any file |628| [`bashOutputMaxChars`](#bashoutputmaxchars) | Legen Sie fest, wie viel der [Ausgabe](/docs/de/tools-reference#output-limits) eines erfolgreichen Befehls Claude inline erhält | Speicher und Kontext | Any file |

628| [`blockedMarketplaces`](#blockedmarketplaces) | Blockieren Sie [Plugin-Marketplace](/docs/de/plugin-marketplaces)-Quellen für Ihre Organisation | Plugins und Skills | Managed |629| [`blockedMarketplaces`](#blockedmarketplaces) | Blockieren Sie [Plugin-Marketplace](/docs/de/plugin-marketplaces)-Quellen für Ihre Organisation | Plugins und Skills | Managed |

629| [`browserExternalPageTools`](#browserexternalpagetools) | Halten Sie Claudes Tools auf externen Seiten im [Desktop](/docs/de/desktop)-Browser-Bereich aus | Tools | Managed |630| [`browserExternalPageTools`](#browserexternalpagetools) | Halten Sie Claudes Tools auf externen Seiten im [Desktop](/docs/de/desktop)-Browser-Bereich aus | Tools | Managed |


679| [`forceLoginMethod`](#forceloginmethod) | [Beschränken Sie die Anmeldung](/docs/de/authentication#restrict-login-to-your-organization) auf claude.ai, Claude Console oder ein [Cloud-Gateway](/docs/de/claude-apps-gateway) | Authentifizierung und Anbieter | Any file |680| [`forceLoginMethod`](#forceloginmethod) | [Beschränken Sie die Anmeldung](/docs/de/authentication#restrict-login-to-your-organization) auf claude.ai, Claude Console oder ein [Cloud-Gateway](/docs/de/claude-apps-gateway) | Authentifizierung und Anbieter | Any file |

680| [`forceLoginOrgUUID`](#forceloginorguuid) | [Heften Sie claude.ai-Anmeldungen an Ihre Organisation](/docs/de/authentication#restrict-login-to-your-organization); nur eine verwaltete Quelle erzwingt dies | Authentifizierung und Anbieter | Any file |681| [`forceLoginOrgUUID`](#forceloginorguuid) | [Heften Sie claude.ai-Anmeldungen an Ihre Organisation](/docs/de/authentication#restrict-login-to-your-organization); nur eine verwaltete Quelle erzwingt dies | Authentifizierung und Anbieter | Any file |

681| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Blockieren Sie den Start, bis [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) frisch abgerufen werden | Enterprise und verwaltete Einstellungen | Managed |682| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Blockieren Sie den Start, bis [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) frisch abgerufen werden | Enterprise und verwaltete Einstellungen | Managed |

683| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Lassen Sie `/login` ein [Cloud-Gateway](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) auf öffentlichem IPv4-Adressraum erreichen, den Ihre Organisation intern nutzt | Authentifizierung und Anbieter | Managed |

682| [`gcpAuthRefresh`](#gcpauthrefresh) | Aktualisieren Sie [Google Cloud-Anmeldedaten](/docs/de/google-vertex-ai#advanced-credential-configuration) mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Any file |684| [`gcpAuthRefresh`](#gcpauthrefresh) | Aktualisieren Sie [Google Cloud-Anmeldedaten](/docs/de/google-vertex-ai#advanced-credential-configuration) mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Any file |

683| [`hooks`](#hooks) | Führen Sie Ihre eigenen Befehle als [Hooks](/docs/de/hooks) an Punkten im Lebenszyklus von Claude Code aus | Hooks und Automatisierung | Any file |685| [`hooks`](#hooks) | Führen Sie Ihre eigenen Befehle als [Hooks](/docs/de/hooks) an Punkten im Lebenszyklus von Claude Code aus | Hooks und Automatisierung | Any file |

684| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Begrenzen Sie, welche Umgebungsvariablen [HTTP-Hooks](/docs/de/hooks) in Header einfügen können | Hooks und Automatisierung | Any file |686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Begrenzen Sie, welche Umgebungsvariablen [HTTP-Hooks](/docs/de/hooks) in Header einfügen können | Hooks und Automatisierung | Any file |


792| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Wählen Sie die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) für Subagenten und andere Anfragen außerhalb der Hauptkonversation | Modell und Antworten | Any file |794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Wählen Sie die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) für Subagenten und andere Anfragen außerhalb der Hauptkonversation | Modell und Antworten | Any file |

793| [`subagentStatusLine`](#subagentstatusline) | Schreiben Sie Zeilen in der [Subagent](/docs/de/sub-agents)-Aufgabenanzeige mit Ihrem eigenen Befehl um | Schnittstelle und Terminal | Any file |795| [`subagentStatusLine`](#subagentstatusline) | Schreiben Sie Zeilen in der [Subagent](/docs/de/sub-agents)-Aufgabenanzeige mit Ihrem eigenen Befehl um | Schnittstelle und Terminal | Any file |

794| [`switchModelsOnFlag`](#switchmodelsonflag) | Wechseln Sie automatisch Modelle oder pausieren Sie, wenn ein [Sicherheitsklassifizierer](/docs/de/model-config#ask-before-switching) eine Anfrage kennzeichnet | Modell und Antworten | Any file |796| [`switchModelsOnFlag`](#switchmodelsonflag) | Wechseln Sie automatisch Modelle oder pausieren Sie, wenn ein [Sicherheitsklassifizierer](/docs/de/model-config#ask-before-switching) eine Anfrage kennzeichnet | Modell und Antworten | Any file |

795| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Beenden Sie das Herunterladen der [Skills, die auf Ihrem claude.ai-Konto aktiviert sind,](/docs/de/skills#how-synced-skills-behave) und verbergen Sie die bereits synchronisierten | Plugins und Skills | User, local, or managed |797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Beenden Sie das Laden der [Plugins, die auf Ihrem claude.ai-Konto aktiviert sind,](/docs/de/plugins-reference#synced-plugins) und beenden Sie das Herunterladen neuer | Plugins und Skills | User, local, or managed |

798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Beenden Sie das Laden der [Skills, die auf Ihrem claude.ai-Konto aktiviert sind,](/docs/de/skills#how-synced-skills-behave) und beenden Sie das Herunterladen neuer | Plugins und Skills | User, local, or managed |

796| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Schalten Sie die Syntaxhervorhebung in Diffs und Code-Blöcken aus | Schnittstelle und Terminal | Any file |799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Schalten Sie die Syntaxhervorhebung in Diffs und Code-Blöcken aus | Schnittstelle und Terminal | Any file |

797| [`taskOutputMaxChars`](#taskoutputmaxchars) | Legen Sie fest, wie viel der [Ausgabe einer Hintergrundaufgabe](/docs/de/tools-reference#background-commands) Claude inline erhält | Speicher und Kontext | Any file |800| [`taskOutputMaxChars`](#taskoutputmaxchars) | Legen Sie fest, wie viel der [Ausgabe einer Hintergrundaufgabe](/docs/de/tools-reference#background-commands) Claude inline erhält | Speicher und Kontext | Any file |

798| [`teammateDefaultModel`](#teammatedefaultmodel) | Entfernt in v2.1.234; siehe [Geben Sie Teamkollegen und Modelle an](/docs/de/agent-teams#specify-teammates-and-models), wie Claude Code das Modell eines Teamkollegen auswählt | Globale Konfigurationseinstellungen | Global config |801| [`teammateDefaultModel`](#teammatedefaultmodel) | Entfernt in v2.1.234; siehe [Geben Sie Teamkollegen und Modelle an](/docs/de/agent-teams#specify-teammates-and-models), wie Claude Code das Modell eines Teamkollegen auswählt | Globale Konfigurationseinstellungen | Global config |


1152* **Typ**: Objekt mit einem optionalen `multiplier` und einer optionalen Zuordnung `overrides`1155* **Typ**: Objekt mit einem optionalen `multiplier` und einer optionalen Zuordnung `overrides`

1153* **Standard**: nicht gesetzt, daher meldet Claude Code Listenpreis, es sei denn, eine Host-Anwendung liefert eine Tabelle1156* **Standard**: nicht gesetzt, daher meldet Claude Code Listenpreis, es sei denn, eine Host-Anwendung liefert eine Tabelle

1154 1157 

1155Dieses Beispiel setzt Vertragssätze für Sonnet 4.6 und reduziert dann jede Zahl, die Sonnet-Zeile eingeschlossen, um 15%. Setzen Sie `multiplier` allein für einen Pauschalrabatt, `overrides` allein für Pro-Modell-Sätze oder beide:1158Setzen Sie `multiplier` allein für einen Pauschalrabatt oder eine Aufschlaggebühr, `overrides` allein für Pro-Modell-Sätze oder beide.

1159 

1160Dieses Beispiel setzt Vertragssätze für Sonnet 4.6 und reduziert dann jede Zahl, die Sonnet-Zeile eingeschlossen, um 15%:

1156 1161 

1157```json managed-settings.json theme={null}1162```json managed-settings.json theme={null}

1158{1163{


1170}1175}

1171```1176```

1172 1177 

1178Setzen Sie `multiplier` über 1, bis zu 10, um jede Zahl zu markieren. Eine Aufschlaggebühr erfordert Claude Code v2.1.271 oder später. Frühere Versionen ignorieren einen `multiplier` über 1 mit einer Warnung und behalten den Rest der Einstellung.

1179 

1173Für die Schritte, einschließlich wie man bestätigt, dass die Sätze in Kraft sind, siehe [Ausgaben zu Ihren Vertragssätzen melden](/docs/de/costs#report-spend-at-your-contracted-rates).1180Für die Schritte, einschließlich wie man bestätigt, dass die Sätze in Kraft sind, siehe [Ausgaben zu Ihren Vertragssätzen melden](/docs/de/costs#report-spend-at-your-contracted-rates).

1174 1181 

1175<span id="modelpricing-multiplier" />1182<span id="modelpricing-multiplier" />


1182 1189 

1183| Feld | Typ | Was es tut |1190| Feld | Typ | Was es tut |

1184| :----------- | :------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1191| :----------- | :------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1185| `multiplier` | Zahl größer als 0 und höchstens 1 | Skaliert jede Kosten, die Claude Code berechnet, ob oder ob nicht eine `overrides`-Zeile sie abdeckt |1192| `multiplier` | Zahl größer als 0 und höchstens 10 | Skaliert jede Kosten, die Claude Code berechnet, ob oder ob nicht eine `overrides`-Zeile sie abdeckt. Unter 1 ist ein Rabatt, über 1 eine Aufschlaggebühr |

1186| `overrides` | Zuordnung von Modell-ID zu einem Rateobjekt mit `input`, `output`, `cacheRead` und `cacheWrite`, jeweils 0 bis 10000 | Die USD-pro-Million-Token-Sätze für dieses Modell, alle vier erforderlich. `cacheWrite` deckt sowohl fünf-Minuten- als auch einstündige Cache-Schreibvorgänge ab. Siehe [Welche Modelle eine `modelPricing`-Zeile anwendet](#which-models-a-modelpricing-row-applies-to) |1193| `overrides` | Zuordnung von Modell-ID zu einem Rateobjekt mit `input`, `output`, `cacheRead` und `cacheWrite`, jeweils 0 bis 10000 | Die USD-pro-Million-Token-Sätze für dieses Modell, alle vier erforderlich. `cacheWrite` deckt sowohl fünf-Minuten- als auch einstündige Cache-Schreibvorgänge ab. Siehe [Welche Modelle eine `modelPricing`-Zeile anwendet](#which-models-a-modelpricing-row-applies-to) |

1187 1194 

1188Claude Code verwendet die Sätze einer Zeile genau wie Sie sie geschrieben haben, ohne den Schnellmodus-Aufschlag oder den [nur-US-Inferenz-Satz](https://platform.claude.com/docs/en/about-claude/pricing) hinzuzufügen. Wenn Sie auch `multiplier` setzen, wendet Claude Code ihn auf die Sätze der Zeile an. Claude Code löscht eine Zeile mit einem Satz, den es nicht analysieren kann, oder einen `multiplier`, den es nicht analysieren kann, und behält den Rest; siehe [Fehlerhafte Einstellungsdatei beheben](/docs/de/settings#fix-a-broken-settings-file).1195Claude Code verwendet die Sätze einer Zeile genau wie Sie sie geschrieben haben, ohne den Schnellmodus-Aufschlag oder den [nur-US-Inferenz-Satz](https://platform.claude.com/docs/en/about-claude/pricing) hinzuzufügen. Wenn Sie auch `multiplier` setzen, wendet Claude Code ihn auf die Sätze der Zeile an. Claude Code löscht eine Zeile mit einem Satz, den es nicht analysieren kann, oder einen `multiplier`, den es nicht analysieren kann, und behält den Rest; siehe [Fehlerhafte Einstellungsdatei beheben](/docs/de/settings#fix-a-broken-settings-file).


1369 1376 

1370Machen Sie verwaltete Einstellungen zur einzigen Quelle für Berechtigungsregeln. Claude Code ignoriert dann `allow`-, `ask`- und `deny`-Regeln in Benutzer-, Projekt-, lokalen und `--settings`-Dateien, ignoriert `--allowedTools`, blendet die Optionen zum Immer-Zulassen in Berechtigungsaufforderungen aus und speichert keine neuen Regeln.1377Machen Sie verwaltete Einstellungen zur einzigen Quelle für Berechtigungsregeln. Claude Code ignoriert dann `allow`-, `ask`- und `deny`-Regeln in Benutzer-, Projekt-, lokalen und `--settings`-Dateien, ignoriert `--allowedTools`, blendet die Optionen zum Immer-Zulassen in Berechtigungsaufforderungen aus und speichert keine neuen Regeln.

1371 1378 

1372Wenn [übergeordnete Einstellungen von einem Embedding-Host](/docs/de/managed-settings#let-an-embedding-host-add-policy) gelten, behandelt Claude Code diese als Teil der verwalteten Ebene: Es behält deren `deny`- und `ask`-Regeln und verwirft deren `allow`-Regeln und `additionalDirectories`.1379Wenn [übergeordnete Einstellungen von einem Embedding-Host](/docs/de/managed-settings#let-an-embedding-host-add-policy) gelten, behandelt Claude Code diese als Teil der verwalteten Ebene. Es verwirft deren `allow`-Regeln und `additionalDirectories` und behält deren `deny`- und `ask`-Regeln bei, außer `Read`- und `Edit`-Regeln, deren Muster mit `!` beginnt. Ein Host kann Pfade aus den verwalteten Regeln nicht mit einer `!`-Regel ausschneiden, unabhängig davon, ob Sie diesen Schlüssel setzen oder nicht.

1373 1380 

1374`--disallowedTools`-Regeln und die `deny`- und `ask`-Regeln der aktuellen Sitzung gelten weiterhin, auch nachdem Claude Code die Einstellungen während der Sitzung neu lädt. Sie beschränken nur, daher können sie nicht erweitern, was die verwalteten Regeln gewähren. Vor v2.1.257 verwarf Claude Code diese Befehlszeilen- und Sitzungsregeln beim ersten Neuladen der Einstellungen.1381`--disallowedTools`-Regeln und die `deny`- und `ask`-Regeln der aktuellen Sitzung gelten weiterhin, auch nachdem Claude Code die Einstellungen während der Sitzung neu lädt. Sie beschränken nur, daher können sie nicht erweitern, was die verwalteten Regeln gewähren. Vor v2.1.257 verwarf Claude Code diese Befehlszeilen- und Sitzungsregeln beim ersten Neuladen der Einstellungen.

1375 1382 

1383Informationen dazu, was ein `!`-Muster in einer `--disallowedTools`- oder Sitzungsregel ausschneiden kann, finden Sie unter [Read- und Edit-Regeln](/docs/de/permissions#read-and-edit).

1384 

1376* **Bereich**: [`Managed`](#scopes)1385* **Bereich**: [`Managed`](#scopes)

1377* **Typ**: Boolean1386* **Typ**: Boolean

1378 * `true`: verwaltete Einstellungen werden zur einzigen Quelle für Berechtigungsregeln1387 * `true`: verwaltete Einstellungen werden zur einzigen Quelle für Berechtigungsregeln


1413 `autoMode.classifyAllShell`1422 `autoMode.classifyAllShell`

1414</h3>1423</h3>

1415 1424 

1416Senden Sie jeden Bash- und PowerShell-Befehl durch den Auto-Modus-Klassifizierer, während der Auto-Modus aktiv ist. Standardmäßig setzt der Auto-Modus nur Allow-Regeln aus, die beliebigen Code ausführen könnten: Tool-weite und Wildcard-Regeln wie `Bash(*)` sowie Interpreter- oder Shell-Wrapper-Präfixe wie `Bash(python *)`. Ein Befehl, der einer anderen Allow-Regel entspricht, wie `Bash(npm test)`, überspringt den Klassifizierer, und ein destruktives Argument, das das Präfix der Regel nicht erwartet hat, kann ungesehen durchkommen. Das Setzen dieses Schlüssels setzt jede Shell-Allow-Regel für die Sitzung aus, damit der Klassifizierer jeden Befehl sieht. Erfordert Claude Code v2.1.193 oder später.1425Senden Sie jeden Bash- und PowerShell-Befehl durch den Auto-Modus-Klassifizierer, während der Auto-Modus aktiv ist. Standardmäßig setzt der Auto-Modus nur Allow-Regeln aus, die beliebigen Code ausführen könnten: Tool-weite und Wildcard-Regeln wie `Bash(*)` sowie Interpreter- oder Shell-Wrapper-Präfixe wie `Bash(python *)`. Ein Befehl, der einer anderen Allow-Regel entspricht, wie `Bash(npm test)`, überspringt den Klassifizierer, es sei denn, er trägt [Pro-Befehl zulässige Domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode). Wenn er überspringt, kann ein destruktives Argument, das das Präfix der Regel nicht erwartet hat, ungesehen durchkommen. Das Setzen dieses Schlüssels setzt jede Shell-Allow-Regel für die Sitzung aus, damit der Klassifizierer jeden Befehl sieht. Erfordert Claude Code v2.1.193 oder später.

1417 1426 

1418* **Bereich**: [`User or managed`](#scopes). Lesen Sie überall dort, wo [`autoMode`](#automode) gelesen wird.1427* **Bereich**: [`User or managed`](#scopes). Lesen Sie überall dort, wo [`autoMode`](#automode) gelesen wird.

1419* **Typ**: Boolean1428* **Typ**: Boolean

1420 * `true`: Während der Auto-Modus aktiv ist, sendet Claude Code jeden Bash- und PowerShell-Befehl durch den Klassifizierer und setzt Ihre Shell-Allow-Regeln aus; außerhalb des Auto-Modus gelten die Regeln weiterhin1429 * `true`: Während der Auto-Modus aktiv ist, sendet Claude Code jeden Bash- und PowerShell-Befehl durch den Klassifizierer und setzt Ihre Shell-Allow-Regeln aus; außerhalb des Auto-Modus gelten die Regeln weiterhin

1421 * `false`: Der Auto-Modus setzt nur Allow-Regeln aus, die beliebigen Code ausführen könnten, wie `Bash(*)` und `Bash(python *)`; ein Befehl, der einer anderen Allow-Regel entspricht, überspringt den Klassifizierer, und jeder andere Shell-Befehl wird durch ihn geleitet1430 * `false`: Der Auto-Modus setzt nur Allow-Regeln aus, die beliebigen Code ausführen könnten, wie `Bash(*)` und `Bash(python *)`; ein Befehl, der einer anderen Allow-Regel entspricht, überspringt den Klassifizierer, es sei denn, er trägt [Pro-Befehl zulässige Domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode), und jeder andere Shell-Befehl wird durch ihn geleitet

1422* **Standard**: `false`1431* **Standard**: `false`

1423 1432 

1424```json settings.json theme={null}1433```json settings.json theme={null}


1554 `permissions.deny`1563 `permissions.deny`

1555</h3>1564</h3>

1556 1565 

1557Listen Sie die Tool-Verwendungen auf, die Claude Code blockiert. Verwenden Sie es für Dateien, die API-Schlüssel, Geheimnisse oder Umgebungswerte enthalten: Claude Code schließt entsprechende Dateien aus der Dateiermittlung und Suchergebnissen aus, verweigert Lesevorgänge dafür und blockiert die [Edit- und Write-Tools](/docs/de/permissions#read-and-edit) auf den entsprechenden Pfaden. Read- und Edit-Deny-Regeln gelten für Claude's integrierte Datei-Tools, für Dateibefehle, die Claude Code in Bash erkennt, wie `cat`, `head`, `tail` und `sed`, und für die Ziele von Bash-[Umleitungen](/docs/de/permissions#redirections) wie `> file` und `< file`; sie gelten nicht für einen Befehl, der Dateien liest, ohne sie zu benennen, wie `grep -r pattern .`, oder für beliebige Unterprozesse, daher [aktivieren Sie die Sandbox](/docs/de/sandboxing) für OS-Ebenen-Durchsetzung.1566Listen Sie die Tool-Verwendungen auf, die Claude Code blockiert. Verwenden Sie es für Dateien, die API-Schlüssel, Geheimnisse oder Umgebungswerte enthalten: Claude Code schließt entsprechende Dateien aus der Dateiermittlung und Suchergebnissen aus, verweigert Lesevorgänge dafür und blockiert die [Edit- und Write-Tools](/docs/de/permissions#read-and-edit) auf den entsprechenden Pfaden.

1567 

1568Read- und Edit-Deny-Regeln gelten für Claude's integrierte Datei-Tools, für Dateibefehle, die Claude Code in Bash erkennt, wie `cat`, `head`, `tail`, `sed` und `tee`, und für die Ziele von Bash-[Umleitungen](/docs/de/permissions#redirections) wie `> file` und `< file`; sie gelten nicht für einen Befehl, der Dateien liest, ohne sie zu benennen, wie `grep -r pattern .`, oder für beliebige Unterprozesse, daher [aktivieren Sie die Sandbox](/docs/de/sandboxing) für OS-Ebenen-Durchsetzung.

1558 1569 

1559* **Bereich**: [`Any file`](#scopes)1570* **Bereich**: [`Any file`](#scopes)

1560* **Typ**: Array von Berechtigungsregel-Zeichenfolgen1571* **Typ**: Array von Berechtigungsregel-Zeichenfolgen


1606 1617 

1607Verhindern Sie, dass Claude Pfade außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories) der Sitzung mit den Read-, Grep-, Glob- und LSP-Tools liest, in jedem Berechtigungsmodus, einschließlich `bypassPermissions`. Ein Bash-Befehl, der einen entsprechenden Pfad durch einen Dateiberfehl liest, den Claude Code erkennt, wie `cat`, fordert Sie auf, auch im Auto-Modus und `bypassPermissions`-Modus. Erfordert Claude Code v2.1.257 oder später.1618Verhindern Sie, dass Claude Pfade außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories) der Sitzung mit den Read-, Grep-, Glob- und LSP-Tools liest, in jedem Berechtigungsmodus, einschließlich `bypassPermissions`. Ein Bash-Befehl, der einen entsprechenden Pfad durch einen Dateiberfehl liest, den Claude Code erkennt, wie `cat`, fordert Sie auf, auch im Auto-Modus und `bypassPermissions`-Modus. Erfordert Claude Code v2.1.257 oder später.

1608 1619 

1620Ein Bash-Befehl, den der Shell-Parser nicht verfolgen kann, wie einer, der das Verzeichnis mehr als einmal wechselt oder eine Subshell ausführt, fordert Sie auf, auch im Auto-Modus und `bypassPermissions`-Modus. Die Aufforderung wird angezeigt, auch wenn der Befehl keinen Pfad außerhalb der Arbeitsverzeichnisse benennt. Diese Aufforderung gilt nicht, wenn der Befehl in der [Sandbox](/docs/de/sandboxing) ausgeführt wird und die Sandbox die Blockierung durchsetzt.

1621 

1609Claude Code schreibt auch `true` hier, wenn Sie sich entscheiden, solche Lesevorgänge auf [Auto-Modus-Aufforderung vor dem ersten Lesevorgang außerhalb der Arbeitsverzeichnisse](/docs/de/permission-modes#first-read-outside-the-working-directories) zu blockieren.1622Claude Code schreibt auch `true` hier, wenn Sie sich entscheiden, solche Lesevorgänge auf [Auto-Modus-Aufforderung vor dem ersten Lesevorgang außerhalb der Arbeitsverzeichnisse](/docs/de/permission-modes#first-read-outside-the-working-directories) zu blockieren.

1610 1623 

1611* **Bereich**: [`Any file`](#scopes). Wenn eine Einstellungsquelle `true` setzt, gilt die Blockierung, daher kann die eingecheckte Datei eines Repositorys die Blockierung für ein Projekt aktivieren, kann aber eine Blockierung, die Sie setzen, nicht aufheben.1624* **Bereich**: [`Any file`](#scopes). Wenn eine Einstellungsquelle `true` setzt, gilt die Blockierung, daher kann die eingecheckte Datei eines Repositorys die Blockierung für ein Projekt aktivieren, kann aber eine Blockierung, die Sie setzen, nicht aufheben.


1622}1635}

1623```1636```

1624 1637 

1625Wenn nur die eingecheckte Einstellungsdatei eines Repositorys ein Verzeichnis hinzufügt, gilt die Blockierung immer noch für Lesevorgänge dort. Dateien, die Claude Code selbst benötigt, bleiben lesbar, wie Ihre Skills, Plugins, Regeln, Agents, Befehle und die `CLAUDE.md`-Speicherdatei unter `~/.claude/`.1638Wenn nur die eingecheckte Einstellungsdatei eines Repositorys ein Verzeichnis hinzufügt, gilt die Blockierung immer noch für Lesevorgänge dort. Wenn [`autoMemoryDirectory`](#automemorydirectory) aus der `.claude/settings.json` des Projekts kommt oder aus einer `.claude/settings.local.json` [als Repository-bereitgestellt behandelt](/docs/de/permissions#when-your-local-settings-file-needs-trust), lädt Claude Code kein [Auto-Memory](/docs/de/memory#storage-location) aus diesem Verzeichnis und speichert keines darin. Dateien, die Claude Code selbst benötigt, bleiben lesbar, wie Ihre Skills, Plugins, Regeln, Agents, Befehle und die `CLAUDE.md`-Speicherdatei unter `~/.claude/`.

1626 1639 

1627Wenn die [Sandbox](/docs/de/sandboxing) aktiviert ist, verweigert die Blockierung auch sandboxierten Befehlen Lesezugriff auf Home-Verzeichnisse und bereitgestellte Volume-Roots außerhalb der Arbeitsverzeichnisse. Ein Wiederholungsversuch, der Genehmigung benötigt, um [außerhalb der Sandbox](/docs/de/sandboxing#the-unsandboxed-retry-escape-hatch) zu laufen, fordert Sie auf, auch im `bypassPermissions`-Modus. Dateien, die ein Tool aus Ihrem Home-Verzeichnis liest, wie `~/.gitconfig`, werden mit dem Rest verweigert; öffnen Sie einen bestimmten Pfad mit [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) erneut, wenn ein Tool ihn benötigt.1640Wenn die [Sandbox](/docs/de/sandboxing) aktiviert ist, verweigert die Blockierung auch sandboxierten Befehlen Lesezugriff auf Home-Verzeichnisse und bereitgestellte Volume-Roots außerhalb der Arbeitsverzeichnisse. Ein Wiederholungsversuch, der Genehmigung benötigt, um [außerhalb der Sandbox](/docs/de/sandboxing#the-unsandboxed-retry-escape-hatch) zu laufen, fordert Sie auf, auch im `bypassPermissions`-Modus. Dateien, die ein Tool aus Ihrem Home-Verzeichnis liest, wie `~/.gitconfig`, werden mit dem Rest verweigert; öffnen Sie einen bestimmten Pfad mit [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) erneut, wenn ein Tool ihn benötigt.

1628 1641 


1654}1667}

1655```1668```

1656 1669 

1657Berechtigungsregeln überlagern jeden Modus: `deny`-Regeln blockieren in jedem Modus, einschließlich `bypassPermissions`. Siehe [Berechtigungsmodi](/docs/de/permission-modes). `manual` benennt den Berechtigungsmodus mit der Bezeichnung Manual in der CLI und der VS Code-Erweiterung; der Alias erfordert Claude Code v2.1.200 oder später. In Claude Code im Web ehrt Claude Code nur `acceptEdits`, `plan`, `default` und `auto` aus diesem Schlüssel. Für Konversationen, die die VS Code-Erweiterung startet, siehe [welche Einstellung die Erweiterung für den Startberechtigungsmodus liest](/docs/de/permission-modes#switch-permission-modes).1670Berechtigungsregeln überlagern jeden Modus: `deny`-Regeln blockieren in jedem Modus, einschließlich `bypassPermissions`. Siehe [Berechtigungsmodi](/docs/de/permission-modes). `manual` benennt den Berechtigungsmodus mit der Bezeichnung Manual in der CLI und der VS Code-Erweiterung; der Alias erfordert Claude Code v2.1.200 oder später. In Cloud-Sitzungen ehrt Claude Code nur `acceptEdits`, `plan`, `default` und `auto` aus diesem Schlüssel. Für Konversationen, die die VS Code-Erweiterung startet, siehe [welche Einstellung die Erweiterung für den Startberechtigungsmodus liest](/docs/de/permission-modes#switch-permission-modes).

1658 1671 

1659<h3 id="permissions-disablebypasspermissionsmode">1672<h3 id="permissions-disablebypasspermissionsmode">

1660 `permissions.disableBypassPermissionsMode`1673 `permissions.disableBypassPermissionsMode`


2670* **Bereich**: [`User or managed`](#scopes). Ein Repository kann es nicht ein- oder ausschalten.2683* **Bereich**: [`User or managed`](#scopes). Ein Repository kann es nicht ein- oder ausschalten.

2671* **Typ**: Boolescher Wert2684* **Typ**: Boolescher Wert

2672 * `true`: Claude Code verweigert sandboxed Befehlen Zugriff auf Hosts außerhalb der Zulassungsliste2685 * `true`: Claude Code verweigert sandboxed Befehlen Zugriff auf Hosts außerhalb der Zulassungsliste

2673 * `false`: sofern nicht eine andere vertrauenswürdige Einstellungsdatei `true` setzt, entscheidet Claude Code einen Host außerhalb der Zulassungsliste nach Berechtigungsmodus, anstatt ihn direkt zu verweigern: es führt den Klassifizierer im Auto-Modus aus, verweigert im `dontAsk`-Modus, erlaubt im `bypassPermissions`-Modus und im Plan-Modus, wenn Bypass verfügbar ist, und fordert Sie ansonsten auf2686 * `false`: sofern nicht eine andere vertrauenswürdige Einstellungsdatei `true` setzt, entscheidet Claude Code einen Host außerhalb der Zulassungsliste nach Berechtigungsmodus, anstatt ihn direkt zu verweigern: es prüft den Host im Auto-Modus gegen die [per-command allowed domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) des Befehls, verweigert im `dontAsk`-Modus, erlaubt im `bypassPermissions`-Modus und im Plan-Modus, wenn Bypass verfügbar ist, und fordert Sie ansonsten auf

2674* **Standard**: `false`2687* **Standard**: `false`

2675 2688 

2676```json settings.json theme={null}2689```json settings.json theme={null}


3136 `axScreenReader`3149 `axScreenReader`

3137</h3>3150</h3>

3138 3151 

3139Rendern Sie bildschirmleserfreundliche Ausgabe: flacher Text ohne dekorative Rahmen oder Animationen. Der Bildschirmlesermodus verwendet den klassischen Renderer, daher hat die Einstellung `tui` keine Auswirkung, während er aktiv ist; angehängte [Hintergrundsitzungen](/docs/de/agent-view) werden immer noch im Vollbild gerendert. Erfordert Claude Code v2.1.181 oder später.3152Rendern Sie bildschirmleserfreundliche Ausgabe: flacher Text ohne dekorative Rahmen oder Animationen. Der Bildschirmlesermodus verwendet den klassischen Renderer, daher hat die Einstellung `tui` keine Auswirkung, während er aktiv ist; angehängte [Hintergrundsitzungen](/docs/de/agent-view) werden immer noch im Vollbild gerendert.

3140 3153 

3141* **Bereich**: [`Beliebige Datei`](#scopes)3154* **Bereich**: [`Beliebige Datei`](#scopes)

3142* **Typ**: Boolean3155* **Typ**: Boolean


3151}3164}

3152```3165```

3153 3166 

3154Erfordert Claude Code v2.1.181 oder später.3167<h3 id="basheditdiffenabled">

3168 `bashEditDiffEnabled`

3169</h3>

3170 

3171Wählen Sie, ob Claude Code die Dateien aufzeichnet, die ein Bash-Befehl in einem Git-Repository ändert. Wenn es sie aufzeichnet, sehen Sie ihren Diff im Terminal nach dem Befehl, und Ihre [PostToolUse Bash Hooks](/docs/de/hooks#bash) erhalten die Liste der geänderten Dateien.

3172 

3173Setzen Sie den Schlüssel auf `true`, um sie in jedem Berechtigungsmodus aufzuzeichnen. Erfordert Claude Code v2.1.269 oder später.

3174 

3175* **Bereich**: [`Benutzer oder verwaltet`](#scopes). Ein `true` zählt nur aus Ihren Benutzereinstellungen, JSON, das mit `--settings` übergeben wird, oder [verwalteten Einstellungen](/docs/de/managed-settings), daher kann ein `true` in der `.claude/settings.json` oder `.claude/settings.local.json` eines Repositories die Aufzeichnung nicht einschalten. Ein `false` in einer der Repository-Dateien schaltet es immer noch aus, es sei denn, eine [höher priorisierte](/docs/de/settings#settings-precedence) Datei setzt `true`.

3176* **Typ**: Boolean

3177* **Standard**: nicht gesetzt, daher zeichnet Claude Code Änderungen im Auto-Modus und `bypassPermissions`-Modus auf, wenn es Claude anweist, Dateien über Bash zu bearbeiten

3178* **Sitzungsübergreifende Außerkraftsetzungen**: [`CLAUDE_CODE_BASH_EDIT_DIFF`](/docs/de/env-vars) hat Vorrang vor diesem Schlüssel für eine Sitzung

3179 

3180```json settings.json theme={null}

3181{

3182 "bashEditDiffEnabled": true

3183}

3184```

3155 3185 

3156<h3 id="companyannouncements">3186<h3 id="companyannouncements">

3157 `companyAnnouncements`3187 `companyAnnouncements`


4297 `workflowSizeGuideline`4327 `workflowSizeGuideline`

4298</h3>4328</h3>

4299 4329 

4300Legen Sie die [Agentenzahl fest, auf die Claude abzielt](/docs/de/workflows#set-a-size-guideline) in den dynamischen Workflows, die es schreibt. Claude Code sendet den Wert an Claude als Ratschlag, nicht als erzwungene Obergrenze: `"small"` fordert weniger als 5 Agenten an, `"medium"` weniger als 15 und `"large"` weniger als 50. Wählen Sie `"small"`, wenn Sie begrenzen möchten, was ein Workflow ausgibt. Erfordert Claude Code v2.1.219 oder später.4330Legen Sie die [Agentenzahl fest, auf die Claude abzielt](/docs/de/workflows#set-a-size-guideline) in den dynamischen Workflows, die es schreibt. Claude Code sendet den Wert an Claude als Ratschlag, nicht als erzwungene Obergrenze: `"small"` fordert weniger als 5 Agenten an, `"medium"` weniger als 10 und `"large"` weniger als 50. Wählen Sie `"small"`, wenn Sie begrenzen möchten, was ein Workflow ausgibt. Erfordert Claude Code v2.1.219 oder später.

4301 4331 

4302* **Bereich**: [`Any file`](#scopes). Ein Wert dort hat Vorrang vor der Auswahl **Dynamic workflow size** in `/config`, die Claude Code in `~/.claude.json` speichert, und Claude Code verbirgt diese Zeile, während eine Einstellungsdatei den Schlüssel setzt.4332* **Bereich**: [`Any file`](#scopes). Ein Wert dort hat Vorrang vor der Auswahl **Dynamic workflow size** in `/config`, die Claude Code in `~/.claude.json` speichert, und Claude Code verbirgt diese Zeile, während eine Einstellungsdatei den Schlüssel setzt.

4303* **Typ**: String, einer von:4333* **Typ**: String, einer von:

4304 * `"unrestricted"`: keine Richtlinie, daher passt Claude den Workflow an die Aufgabe an4334 * `"unrestricted"`: keine Richtlinie, daher passt Claude den Workflow an die Aufgabe an

4305 * `"small"`: Claude zielt auf weniger als 5 Agenten ab4335 * `"small"`: Claude zielt auf weniger als 5 Agenten ab

4306 * `"medium"`: Claude zielt auf weniger als 15 Agenten ab4336 * `"medium"`: Claude zielt auf weniger als 10 Agenten ab

4307 * `"large"`: Claude zielt auf weniger als 50 Agenten ab4337 * `"large"`: Claude zielt auf weniger als 50 Agenten ab

4308* **Standard**: `"medium"`4338* **Standard**: `"medium"`, oder `"small"` wenn Sie im Pro-Plan mit Claude Code v2.1.271 oder später angemeldet sind

4309 4339 

4310```json settings.json theme={null}4340```json settings.json theme={null}

4311{4341{


4401 `syncClaudeAiSkills`4431 `syncClaudeAiSkills`

4402</h3>4432</h3>

4403 4433 

4404Deaktivieren Sie den Download der [Skills, die Sie auf claude.ai aktivieren](/docs/de/skills#how-synced-skills-behave). Claude Code lädt sie in `~/.claude/skills/synced/` herunter, wenn Sie es im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag und [`CLAUDE_CODE_SYNC_SKILLS`](/docs/de/env-vars#variables) gesetzt ausführen. Setzen Sie `false`, um diesen Download zu stoppen und die bereits synchronisierten Skills zu verbergen. Claude Code berücksichtigt nur `false`: `true` ist dasselbe wie nicht gesetzt und schaltet die Synchronisierung nicht ein.4434Deaktivieren Sie den Download der [Skills, die Sie auf claude.ai aktivieren](/docs/de/skills#how-synced-skills-behave). Claude Code lädt sie in `~/.claude/skills/synced/` herunter, wenn Sie sich in [Terminal-Sitzungen anmelden, in denen Sie sich mit Ihrem claude.ai Konto anmelden](/docs/de/skills#where-synced-skills-load), interaktiv oder nicht-interaktiv, und in Cowork- und Cloud-Sitzungen. Setzen Sie `false`, um diesen Download zu stoppen und die bereits synchronisierten Skills zu verbergen. Claude Code berücksichtigt nur `false`: `true` ist dasselbe wie nicht gesetzt und schaltet die Synchronisierung nicht ein, wo sie sonst aus ist.

4405 4435 

4406* **Bereich**: [`User, local, or managed`](#scopes). Ein Repository kann es nicht für Sie ausschalten.4436* **Bereich**: [`User, local, or managed`](#scopes), und Dateien, die mit `--settings` übergeben werden. Ein Repository kann es nicht für Sie ausschalten.

4407* **Typ**: Boolean4437* **Typ**: Boolean

4408 * `false`: Claude Code stoppt das Herunterladen synchronisierter Skills und verbirgt die bereits in `~/.claude/skills/synced/` vorhandenen. In Benutzer- oder verwalteten Einstellungen verschiebt es sie auch in `~/.claude/skills/.trash/`4438 * `false`: Claude Code stoppt das Herunterladen synchronisierter Skills und verbirgt die bereits in `~/.claude/skills/synced/` vorhandenen. In Benutzer- oder verwalteten Einstellungen verschiebt es sie auch in `~/.claude/skills/.trash/`

4409 * `true`: dasselbe wie nicht gesetzt4439 * `true`: dasselbe wie nicht gesetzt

4410* **Standard**: nicht gesetzt, daher lädt ein nicht-interaktiver Lauf mit `CLAUDE_CODE_SYNC_SKILLS` gesetzt die Skills herunter4440* **Standard**: nicht gesetzt, daher synchronisieren Sitzungen, die sich mit Ihrem claude.ai Konto anmelden, Ihre Skills

4411 4441 

4412Dieses Beispiel verhindert, dass ein Computer die Skills des Kontos herunterlädt, unabhängig davon, was eine Sitzung in ihrer Umgebung setzt:4442Dieses Beispiel verhindert, dass ein Computer die Skills des Kontos herunterlädt, unabhängig davon, was eine Sitzung in ihrer Umgebung setzt:

4413 4443 


4417}4447}

4418```4448```

4419 4449 

4450<h3 id="syncclaudeaiplugins">

4451 `syncClaudeAiPlugins`

4452</h3>

4453 

4454Deaktivieren Sie den Download der [Plugins, die Sie auf claude.ai aktivieren](/docs/de/plugins-reference#synced-plugins). Claude Code lädt sie in `~/.claude/plugins/synced/` am Anfang von Terminal-Sitzungen herunter, in denen Sie sich mit Ihrem claude.ai Konto anmelden, und in Cowork- und Cloud-Sitzungen, und lädt jedes als `<name>@synced`. Setzen Sie `false`, um diesen Download zu stoppen und die bereits synchronisierten Plugins zu verbergen. Claude Code berücksichtigt nur `false`: `true` ist dasselbe wie nicht gesetzt und schaltet die Synchronisierung nicht ein, wo sie sonst aus ist. Erfordert Claude Code v2.1.273 oder später.

4455 

4456* **Bereich**: [`User, local, or managed`](#scopes), und Dateien, die mit `--settings` übergeben werden. Ein Repository kann es nicht für Sie ausschalten.

4457* **Typ**: Boolean

4458 * `false`: Claude Code stoppt das Herunterladen synchronisierter Plugins und verbirgt die bereits in `~/.claude/plugins/synced/` vorhandenen. In Benutzer- oder verwalteten Einstellungen verschiebt es sie auch in `~/.claude/plugins/.trash/`

4459 * `true`: dasselbe wie nicht gesetzt

4460* **Standard**: nicht gesetzt, daher synchronisieren Sitzungen, die sich mit Ihrem claude.ai Konto anmelden, Ihre Plugins

4461 

4462Um ein synchronisiertes Plugin auszuschalten, anstatt alle, setzen Sie `"<name>@synced": false` in [`enabledPlugins`](#enabledplugins).

4463 

4464Dieses Beispiel verhindert, dass ein Computer die Plugins des Kontos herunterlädt, unabhängig davon, was eine Sitzung in ihrer Umgebung setzt:

4465 

4466```json settings.json theme={null}

4467{

4468 "syncClaudeAiPlugins": false

4469}

4470```

4471 

4420<h3 id="allowedchannelplugins">4472<h3 id="allowedchannelplugins">

4421 `allowedChannelPlugins`4473 `allowedChannelPlugins`

4422</h3>4474</h3>


4858 4910 

4859Der `git` Quellentyp funktioniert mit jedem Git-Hosting-Service, einschließlich selbst gehosteter GitLab und Bitbucket. Claude Code klont das Repository mit derselben Authentifizierung, die `git clone` auf diesem Computer verwenden würde: konfigurierte Credential Helper oder SSH-Schlüssel. Ein Provider-Token wie `GITHUB_TOKEN` tritt nur durch einen Credential Helper in Kraft, der ihn liest. Siehe [Private Repositories](/docs/de/plugin-marketplaces#private-repositories) für Setup-Details.4911Der `git` Quellentyp funktioniert mit jedem Git-Hosting-Service, einschließlich selbst gehosteter GitLab und Bitbucket. Claude Code klont das Repository mit derselben Authentifizierung, die `git clone` auf diesem Computer verwenden würde: konfigurierte Credential Helper oder SSH-Schlüssel. Ein Provider-Token wie `GITHUB_TOKEN` tritt nur durch einen Credential Helper in Kraft, der ihn liest. Siehe [Private Repositories](/docs/de/plugin-marketplaces#private-repositories) für Setup-Details.

4860 4912 

4861Für `github` und `git` Quellen setzen Sie `"skipLfs": true` im `source` Objekt, neben `repo` oder `url`, um Git LFS Downloads zu überspringen, wenn Claude Code das Marketplace-Repository klont oder aktualisiert. LFS-Zeiger-Dateien bleiben als Zeiger statt ihre Inhalte herunterzuladen. Verwenden Sie dies, wenn das Repository große LFS-Objekte enthält, die nicht mit Plugin-Inhalten zusammenhängen.4913Für `github` und `git` Quellen lädt Claude Code niemals [Git LFS](https://git-lfs.com) Inhalte herunter, wenn es das Marketplace-Repository klont, um es hinzuzufügen oder zu aktualisieren. LFS-verfolgte Dateien werden als Zeiger-Dateien ausgecheckt, und die Ausgabe zum Hinzufügen oder Aktualisieren meldet, wie viele.

4914 

4915Das `skipLfs` Feld im `source` Objekt wird akzeptiert und hat keine Auswirkung. Vor v2.1.274 lud Claude Code LFS-Inhalte herunter, es sei denn, Sie setzen `"skipLfs": true`.

4862 4916 

4863Für eine `url` Quelle setzen Sie `headersHelper` im `source` Objekt, wenn die Anmeldedaten in `headers` ablaufen und ein Befehl eine frische produzieren muss. Erfordert Claude Code v2.1.238 oder später. Für das, was der Befehl drucken muss und wo Claude Code ihn ausführt, siehe [Schreiben Sie den headersHelper Befehl](/docs/de/plugin-marketplaces#write-the-headershelper-command), und für die Fälle, in denen Claude Code ihn nicht ausführt, siehe [Wenn Claude Code einen headersHelper Befehl überspringt oder seine Ausgabe verwirft](/docs/de/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output). Sobald Sie `headersHelper` auf einer `https://` Marketplace-URL setzen, führt Claude Code den Befehl an zwei Punkten aus, wobei die Ausgabe eines Laufs für bis zu 60 Sekunden wiederverwendet wird:4917Für eine `url` Quelle setzen Sie `headersHelper` im `source` Objekt, wenn die Anmeldedaten in `headers` ablaufen und ein Befehl eine frische produzieren muss. Erfordert Claude Code v2.1.238 oder später. Für das, was der Befehl drucken muss und wo Claude Code ihn ausführt, siehe [Schreiben Sie den headersHelper Befehl](/docs/de/plugin-marketplaces#write-the-headershelper-command), und für die Fälle, in denen Claude Code ihn nicht ausführt, siehe [Wenn Claude Code einen headersHelper Befehl überspringt oder seine Ausgabe verwirft](/docs/de/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output). Sobald Sie `headersHelper` auf einer `https://` Marketplace-URL setzen, führt Claude Code den Befehl an zwei Punkten aus, wobei die Ausgabe eines Laufs für bis zu 60 Sekunden wiederverwendet wird:

4864 4918 


4934}4988}

4935```4989```

4936 4990 

4991Integrierte Plugins speichern ihre Optionen unter demselben Schlüssel mit einem `@builtin` Suffix. Zum Beispiel ist die [**Projektanweisungen**](/docs/de/memory#choose-which-instruction-files-load) Einstellung, die kontrolliert, ob Claude Code `AGENTS.md` Dateien liest, `pluginConfigs["agents-md@builtin"].options.instructionFiles`.

4992 

4937Claude Code ignoriert Projekt- und lokale Einträge, weil es diese Werte in Plugin-Hook-, MCP- und LSP-Konfigurationen ersetzt, und ein geklontes Repository muss sie nicht liefern können. Vor v2.1.207 wurden auch Projekt- und lokale Einstellungen gelesen.4993Claude Code ignoriert Projekt- und lokale Einträge, weil es diese Werte in Plugin-Hook-, MCP- und LSP-Konfigurationen ersetzt, und ein geklontes Repository muss sie nicht liefern können. Vor v2.1.207 wurden auch Projekt- und lokale Einstellungen gelesen.

4938 4994 

4939<h2 id="mcp">4995<h2 id="mcp">


5020Blockieren Sie bestimmte MCP-Server. Claude Code weigert sich, einen übereinstimmenden Server zu laden, überall dort, wo er definiert ist, einschließlich Plugin-Server, Server, die mit `--mcp-config` übergeben werden, Server aus `managed-mcp.json`, Server aus [`managedMcpServers`](#managedmcpservers), und die claude.ai-Konnektoren, [die es selbst abruft](/docs/de/mcp#how-connectors-reach-claude-code). In-Process-`type: "sdk"`-Server sind ausgenommen; die App, die die Sitzung gestartet hat, registriert sie.5076Blockieren Sie bestimmte MCP-Server. Claude Code weigert sich, einen übereinstimmenden Server zu laden, überall dort, wo er definiert ist, einschließlich Plugin-Server, Server, die mit `--mcp-config` übergeben werden, Server aus `managed-mcp.json`, Server aus [`managedMcpServers`](#managedmcpservers), und die claude.ai-Konnektoren, [die es selbst abruft](/docs/de/mcp#how-connectors-reach-claude-code). In-Process-`type: "sdk"`-Server sind ausgenommen; die App, die die Sitzung gestartet hat, registriert sie.

5021 5077 

5022* **Bereich**: [`Any file`](#scopes). Einträge aus jeder Datei werden in eine Ablehnungsliste zusammengeführt, und [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) ändert das nicht. Stellen Sie es in verwalteten Einstellungen bereit, um es durchzusetzen.5078* **Bereich**: [`Any file`](#scopes). Einträge aus jeder Datei werden in eine Ablehnungsliste zusammengeführt, und [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) ändert das nicht. Stellen Sie es in verwalteten Einstellungen bereit, um es durchzusetzen.

5023* **Typ**: Array von Objekten, jedes mit genau einem Schlüssel: `serverName`, ein beliebiger nicht leerer String, daher funktioniert der Anzeigename eines claude.ai-Konnektors wie `"claude.ai Slack"`; `serverCommand`, ein Array des Befehls und seiner Argumente, die genau übereinstimmen; oder `serverUrl`, ein URL-Muster mit `*`-Platzhaltern5079* **Typ**: Array von Objekten, jedes mit genau einem Schlüssel: `serverName`, ein String, daher funktioniert der Anzeigename eines claude.ai-Konnektors wie `"claude.ai Slack"`; `serverCommand`, ein Array des Befehls und seiner Argumente, die genau übereinstimmen; oder `serverUrl`, ein URL-Muster mit `*`-Platzhaltern

5024* **Standard**: nicht gesetzt, daher wird kein Server blockiert; ein leeres Array blockiert auch nichts5080* **Standard**: nicht gesetzt, daher wird kein Server blockiert; ein leeres Array blockiert auch nichts

5025 5081 

5026```json settings.json theme={null}5082```json settings.json theme={null}


5037 `disableClaudeAiConnectors`5093 `disableClaudeAiConnectors`

5038</h3>5094</h3>

5039 5095 

5040Schalten Sie die [claude.ai-MCP-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai) aus, [die Claude Code selbst abruft](/docs/de/mcp#how-connectors-reach-claude-code), sodass es sie weder abruft noch verbindet. Ein `true` in einer beliebigen Einstellungsdatei gilt: eine eingecheckte Projekt-`.claude/settings.json` kann ein Repository von diesen Konnektoren abmelden, aber ein Projekt-Level-`false` kann ein Benutzer- oder verwaltetes Level-`true` nicht überschreiben. Erfordert Claude Code v2.1.182 oder später.5096Schalten Sie die [claude.ai-MCP-Konnektoren](/docs/de/mcp#use-mcp-servers-from-claude-ai) aus, [die Claude Code selbst abruft](/docs/de/mcp#how-connectors-reach-claude-code), sodass es sie weder abruft noch verbindet. Ein `true` in einer beliebigen Einstellungsdatei gilt: eine eingecheckte Projekt-`.claude/settings.json` kann ein Repository von diesen Konnektoren abmelden, aber ein Projekt-Level-`false` kann ein Benutzer- oder verwaltetes Level-`true` nicht überschreiben.

5041 5097 

5042* **Bereich**: [`Any file`](#scopes)5098* **Bereich**: [`Any file`](#scopes)

5043* **Typ**: Boolean5099* **Typ**: Boolean


5052}5108}

5053```5109```

5054 5110 

5055Server, die Sie explizit mit `--mcp-config` übergeben, sind nicht betroffen. Um einzelne Konnektoren statt aller zu blockieren, verwenden Sie [`deniedMcpServers`](#deniedmcpservers). Siehe [claude.ai-Konnektoren deaktivieren](/docs/de/mcp#disable-claude-ai-connectors). Erfordert Claude Code v2.1.182 oder später.5111Server, die Sie explizit mit `--mcp-config` übergeben, sind nicht betroffen. Um einzelne Konnektoren statt aller zu blockieren, verwenden Sie [`deniedMcpServers`](#deniedmcpservers). Siehe [claude.ai-Konnektoren deaktivieren](/docs/de/mcp#disable-claude-ai-connectors).

5056 5112 

5057<h3 id="disabledmcpjsonservers">5113<h3 id="disabledmcpjsonservers">

5058 `disabledMcpjsonServers`5114 `disabledMcpjsonServers`


5266}5322}

5267```5323```

5268 5324 

5269Vor v2.1.179 war der Standard `auto`. Der Wert `iterm2` erfordert Claude Code v2.1.186 oder später.5325Der Wert `iterm2` erfordert Claude Code v2.1.186 oder später.

5270 5326 

5271<span id="worktree-settings" />5327<span id="worktree-settings" />

5272 5328 


5791 5847 

5792Siehe [Anmeldung auf Ihre Organisation beschränken](/docs/de/authentication#restrict-login-to-your-organization), um zu erfahren, wie Claude Code Claude Console-Anmeldungen, die anderen Anmeldepfade und Umgebungsanmeldedaten behandelt.5848Siehe [Anmeldung auf Ihre Organisation beschränken](/docs/de/authentication#restrict-login-to-your-organization), um zu erfahren, wie Claude Code Claude Console-Anmeldungen, die anderen Anmeldepfade und Umgebungsanmeldedaten behandelt.

5793 5849 

5850<h3 id="gatewayinternalnetworks">

5851 `gatewayInternalNetworks`

5852</h3>

5853 

5854Deklarieren Sie die öffentlichen IPv4-Blöcke, aus denen Ihre Organisation ihr internes Netzwerk nummeriert, damit `/login` ein [Cloud-Gateway](/docs/de/claude-apps-gateway) dort akzeptiert. Erfordert Claude Code v2.1.268 oder später.

5855 

5856Ohne diesen Schlüssel verbindet sich `/login` mit jedem Gateway auf einer privaten Adresse und nichts anderem. Mit ihm akzeptiert `/login` auch ein Gateway innerhalb eines aufgelisteten Blocks, nur über eine direkte Verbindung. Die eigene Adresse des Computers auf dieser Verbindung muss sich auch innerhalb desselben Blocks befinden.

5857 

5858* **Bereich**: [`Managed`](#scopes). Nur von einer Quelle auf dem Computer lesen: `managed-settings.json`, die macOS plist oder Windows HKLM-Registrierung oder ein Policy-Helfer. Claude Code ignoriert es in HKCU- und Server-verwalteten Einstellungen.

5859* **Typ**: Array von Strings, höchstens vier IPv4-CIDR-Blöcke, jeweils `/8` bis `/32`, nicht überlappend miteinander und keine Überlappung mit privatem Raum.

5860* **Standard**: nicht gesetzt, daher akzeptiert `/login` nur Gateways auf privaten Adressen

5861 

5862```json managed-settings.json theme={null}

5863{

5864 "gatewayInternalNetworks": ["203.0.113.0/24"]

5865}

5866```

5867 

5868Ersetzen Sie den Dokumentationsbereich im Beispiel durch Ihren eigenen Block. Claude Code lehnt die Dokumentationsbereiche, die Bereiche, die VPN- und NAT64-Clients lokal verwenden, und reservierten Raum ab, aus dem kein Netzwerk nummeriert wird, wie Multicast.

5869 

5870Wenn ein Eintrag ungültig ist oder der Wert keine Liste von Strings ist, benennt `/login` das Problem und lehnt jede neue Gateway-Anmeldung auf dem Computer ab, bis Sie den Wert korrigieren. Bestehende Anmeldungen funktionieren weiterhin. Siehe [Erlauben Sie ein Gateway auf öffentlichem Adressraum, den Sie besitzen](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) für die vollständigen Regeln und was Entwickler sehen.

5871 

5794<h3 id="gcpauthrefresh">5872<h3 id="gcpauthrefresh">

5795 `gcpAuthRefresh`5873 `gcpAuthRefresh`

5796</h3>5874</h3>


6105 6183 

6106Claude Code akzeptiert weiterhin ein `--mcp-config`, dessen Server alle In-Process-Einträge vom Typ `type: "sdk"` sind, sodass das Agent SDK und die VS Code-Erweiterung weiterhin funktionieren. Benutzer können weiterhin Server mit `claude mcp add` oder einer `.mcp.json`-Datei hinzufügen; für Pro-Server-Kontrolle setzen Sie auch [`allowedMcpServers`](/docs/de/managed-mcp). Erfordert Claude Code v2.1.193 oder später.6184Claude Code akzeptiert weiterhin ein `--mcp-config`, dessen Server alle In-Process-Einträge vom Typ `type: "sdk"` sind, sodass das Agent SDK und die VS Code-Erweiterung weiterhin funktionieren. Benutzer können weiterhin Server mit `claude mcp add` oder einer `.mcp.json`-Datei hinzufügen; für Pro-Server-Kontrolle setzen Sie auch [`allowedMcpServers`](/docs/de/managed-mcp). Erfordert Claude Code v2.1.193 oder später.

6107 6185 

6108In Cloud-Sitzungen ignoriert Claude Code auch vom Server bereitgestellte MCP-Updates während der Sitzung, den Pfad hinter der Cloud-Sitzungskonfiguration und SDK `setMcpServers()` auf Remote-Workern. In-Process-Einträge vom Typ `type: "sdk"` bleiben dort auch ausgenommen. Vor v2.1.239 blockierte ein vom Server bereitgestelltes `--mcp-config` den Start einer Cloud-Sitzung.6186In Cloud-Sitzungen ignoriert Claude Code auch vom Server bereitgestellte MCP-Updates während der Sitzung, den Pfad hinter der Cloud-Sitzungskonfiguration und SDK `setMcpServers()`-Aufrufe, die diese Sitzungen erreichen. In-Process-Einträge vom Typ `type: "sdk"` bleiben dort auch ausgenommen. Vor v2.1.239 blockierte ein vom Server bereitgestelltes `--mcp-config` den Start einer Cloud-Sitzung.

6109 6187 

6110<h3 id="forceremotesettingsrefresh">6188<h3 id="forceremotesettingsrefresh">

6111 `forceRemoteSettingsRefresh`6189 `forceRemoteSettingsRefresh`


6170 6248 

6171* **[`policyHelper`](#policyhelper)**: Claude Code berücksichtigt ihn nur, wenn die höchste Quelle, die einen Richtlinienschlüssel trägt, eine MDM-Richtlinie oder eine verwaltete Einstellungsdatei ist, sodass unter vom Server verwalteten Einstellungen sie nicht angewendet wird.6249* **[`policyHelper`](#policyhelper)**: Claude Code berücksichtigt ihn nur, wenn die höchste Quelle, die einen Richtlinienschlüssel trägt, eine MDM-Richtlinie oder eine verwaltete Einstellungsdatei ist, sodass unter vom Server verwalteten Einstellungen sie nicht angewendet wird.

6172* **[`modelOverrides`](#modeloverrides)**: Paare mit `availableModels`. Claude Code nimmt `modelOverrides` aus der höchsten Quelle, die ihn setzt, es sei denn, eine höhere Quelle setzt `availableModels` ohne `modelOverrides`. In diesem Fall ignoriert es `modelOverrides` aus jeder Quelle.6250* **[`modelOverrides`](#modeloverrides)**: Paare mit `availableModels`. Claude Code nimmt `modelOverrides` aus der höchsten Quelle, die ihn setzt, es sei denn, eine höhere Quelle setzt `availableModels` ohne `modelOverrides`. In diesem Fall ignoriert es `modelOverrides` aus jeder Quelle.

6173* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) und der `"gateway"`-Wert von [`forceLoginMethod`](#forceloginmethod)**: Claude Code liest sie nie aus vom Server verwalteten Einstellungen, sodass ein Wert dort weder angewendet wird noch einen in einer MDM-Richtlinie oder verwalteten Einstellungsdatei gesetzten Wert verbirgt. Unter den Admin-Quellen auf dem Computer liefert nur die höchste eingestufte, die einen Richtlinienschlüssel trägt, sie, unabhängig davon, ob vom Server verwaltete Einstellungen auch vorhanden sind.6251* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) und der `"gateway"`-Wert von [`forceLoginMethod`](#forceloginmethod)**: Claude Code liest sie nie aus vom Server verwalteten Einstellungen, sodass ein Wert dort weder angewendet wird noch einen in einer MDM-Richtlinie oder verwalteten Einstellungsdatei gesetzten Wert verbirgt. Unter den Admin-Quellen auf dem Computer liefert nur die höchste eingestufte, die einen Richtlinienschlüssel trägt, sie, unabhängig davon, ob vom Server verwaltete Einstellungen auch vorhanden sind.

6174 6252 

6175Um zu bestätigen, welche Quellen auf einem Computer kombiniert wurden, führen Sie `/status` aus und [lesen Sie die Zeile `Setting sources`](/docs/de/managed-settings#read-the-source-in-/status).6253Um zu bestätigen, welche Quellen auf einem Computer kombiniert wurden, führen Sie `/status` aus und [lesen Sie die Zeile `Setting sources`](/docs/de/managed-settings#read-the-source-in-/status).

6176 6254 

skills.md +79 −62

Details

120 Wählen Sie, wo Skills geladen werden120 Wählen Sie, wo Skills geladen werden

121</h2>121</h2>

122 122 

123Wo Sie einen Skill speichern, entscheidet, welche Sessions ihn laden. Speichern Sie ihn in Ihrem Home-Verzeichnis, um ihn in jedem Projekt zu erhalten, committen Sie ihn in ein Repository, um ihn mit allen zu teilen, die dort arbeiten, oder verteilen Sie ihn über ein Plugin oder verwaltete Einstellungen, um ein ganzes Team zu erreichen.123Wo Sie einen Skill speichern, entscheidet, welche Sitzungen ihn laden. Speichern Sie ihn in Ihrem Home-Verzeichnis, um ihn in jedem Projekt zu erhalten, committen Sie ihn in ein Repository, um ihn mit allen zu teilen, die dort arbeiten, oder verteilen Sie ihn über ein Plugin oder verwaltete Einstellungen, um ein ganzes Team zu erreichen.

124 124 

125| Speicherort | Pfad | Wird geladen in |125| Speicherort | Pfad | Wird geladen in |

126| :----------------------- | :----------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |126| :----------------------- | :----------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` im [Verzeichnis für verwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms) | Alle Benutzer auf Maschinen, auf denen Ihre Organisation es bereitstellt |127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` im [Verzeichnis für verwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms) | Alle Benutzer auf Maschinen, auf denen Ihre Organisation es bereitstellt |

128| Persönlich | `~/.claude/skills/<skill-name>/SKILL.md` | Alle Ihre Projekte auf dieser Maschine, aber nicht [Cowork- oder Cloud-Sessions](#skills-in-cowork-and-cloud-sessions) |128| Persönlich | `~/.claude/skills/<skill-name>/SKILL.md` | Alle Ihre Projekte auf dieser Maschine, aber nicht [Cowork- oder Cloud-Sitzungen](#skills-in-cowork-and-cloud-sessions) |

129| Projekt | `.claude/skills/<skill-name>/SKILL.md` | Sessions in diesem Repository. Committen Sie es, damit Ihr Team es auch erhält |129| Projekt | `.claude/skills/<skill-name>/SKILL.md` | Sitzungen in diesem Repository. Committen Sie es, damit Ihr Team es auch erhält |

130| Verschachtelt | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sessions, die in oder unter `<subdir>` gestartet werden. Eine Session, die darüber gestartet wird, lädt den Skill, sobald Claude an Dateien dort arbeitet. Siehe [Monorepos und Unterverzeichnisse](#discovery-from-parent-and-nested-directories) |130| Verschachtelt | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sitzungen, die in oder unter `<subdir>` gestartet werden. Eine Sitzung, die darüber gestartet wird, lädt den Skill einmal, wenn Claude an Dateien dort arbeitet. Siehe [Monorepos und Unterverzeichnisse](#discovery-from-parent-and-nested-directories) |

131| Zusätzliches Verzeichnis | `.claude/skills/<skill-name>/SKILL.md` in einem Verzeichnis, das Sie mit `--add-dir` übergeben | Diese Session. Siehe [Verzeichnisse außerhalb des Projekts](#skills-from-additional-directories) |131| Zusätzliches Verzeichnis | `.claude/skills/<skill-name>/SKILL.md` in einem Verzeichnis, das Sie mit `--add-dir` übergeben | Diese Sitzung. Siehe [Verzeichnisse außerhalb des Projekts](#skills-from-additional-directories) |

132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Überall dort, wo das [Plugin](/docs/de/plugins) aktiviert ist, als `/plugin-name:skill-name` |132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Überall dort, wo das [Plugin](/docs/de/plugins) aktiviert ist, als `/plugin-name:skill-name` |

133| claude.ai-Konto | Skills, die Sie in Ihren claude.ai-Einstellungen aktivieren | Cowork- und Cloud-Sessions. Siehe [Skills, die von claude.ai synchronisiert werden](#how-synced-skills-behave) für lokale Sessions |133| claude.ai-Konto | Skills, die für Ihr claude.ai-Konto aktiviert sind | Cowork-Sitzungen, Cloud-Sitzungen und Terminal-Sitzungen, in denen Sie sich mit diesem Konto anmelden. Siehe [Skills, die von claude.ai synchronisiert werden](#how-synced-skills-behave) |

134 134 

135Skill-Ordner folgen auch diesen Regeln:135Skill-Ordner folgen auch diesen Regeln:

136 136 

137* **Symverlinkte Ordner**: Ein `<skill-name>`-Eintrag am Enterprise-, Personal- oder Projekt-Speicherort kann ein Symlink zu einem Verzeichnis an anderer Stelle auf der Festplatte sein. Claude Code liest `SKILL.md` aus dem Ziel und lädt den Skill einmal, auch wenn mehrere Speicherorte auf dasselbe Ziel verweisen. Plugin-Skills [handhaben Symlinks anders](/docs/de/plugins-reference#share-files-within-a-marketplace-with-symlinks).137* **Symverlinkte Ordner**: Ein `<skill-name>`-Eintrag am Enterprise-, Personal- oder Projekt-Speicherort kann ein Symlink zu einem Verzeichnis an anderer Stelle auf der Festplatte sein. Claude Code liest `SKILL.md` aus dem Ziel und lädt den Skill einmal, auch wenn mehrere Speicherorte auf dasselbe Ziel verweisen. Plugin-Skills [handhaben Symlinks anders](/docs/de/plugins-reference#share-files-within-a-marketplace-with-symlinks).

138* **Reservierter Name**: Benennen Sie einen Skill-Ordner nicht `synced`, in keiner Schreibweise. Claude Code verwendet `~/.claude/skills/synced/` für [Skills, die von claude.ai heruntergeladen werden](#where-synced-skills-load) und überspringt einen Skill, den Sie unter diesem Namen am Enterprise-, Personal- und Projekt-Speicherort erstellen.138* **Reservierter Name**: Benennen Sie einen Skill-Ordner nicht `synced`, in keiner Schreibweise. Claude Code verwendet `~/.claude/skills/synced/` für [Skills, die von claude.ai heruntergeladen werden](#where-synced-skills-load) und überspringt einen Skill, den Sie unter diesem Namen an den Enterprise-, Personal- und Projekt-Speicherorten erstellen.

139* **Befehlsdateien**: Eine Markdown-Datei in `.claude/commands/` ist das ältere Format und funktioniert immer noch. Sie unterstützt dieselbe [Frontmatter](#frontmatter-reference) außer `name` und `paths`. Um den Namen zu finden, den Sie eingeben, um ihn aufzurufen, siehe [Wie ein Skill seinen Befehlsnamen erhält](#how-a-skill-gets-its-command-name). Bevorzugen Sie einen Skill für neue Arbeiten, da Skills auch [unterstützende Dateien](#add-supporting-files) unterstützen.139* **Befehlsdateien**: Eine Markdown-Datei in `.claude/commands/` ist das ältere Format und funktioniert immer noch. Sie unterstützt dieselbe [Frontmatter](#frontmatter-reference) außer `name` und `paths`. Um den Namen zu finden, den Sie eingeben, um ihn aufzurufen, siehe [Wie ein Skill seinen Befehlsnamen erhält](#how-a-skill-gets-its-command-name). Bevorzugen Sie einen Skill für neue Arbeiten, da Skills auch [unterstützende Dateien](#add-supporting-files) unterstützen.

140* **Skill-Ordner als Plugin**: Fügen Sie eine `.claude-plugin/plugin.json` zu einem Skill-Ordner hinzu und er wird als [Plugin](/docs/de/plugins-reference#skills-directory-plugins) mit dem Namen `<name>@skills-dir` geladen, sodass er Agents, Hooks und MCP-Server bündeln kann. In einem Projekt's `.claude/skills/` ist dies erforderlich, um zuerst den Workspace-Trust-Dialog zu akzeptieren.140* **Skill-Ordner als Plugin**: Fügen Sie eine `.claude-plugin/plugin.json` zu einem Skill-Ordner hinzu und er wird als [Plugin](/docs/de/plugins-reference#skills-directory-plugins) mit dem Namen `<name>@skills-dir` geladen, sodass er Agents, Hooks und MCP-Server bündeln kann. In einem Projekt `.claude/skills/` ist dies erforderlich, um zuerst den Workspace-Trust-Dialog zu akzeptieren.

141 141 

142<h3 id="discovery-from-parent-and-nested-directories">142<h3 id="discovery-from-parent-and-nested-directories">

143 Skills in Monorepos und Unterverzeichnissen laden143 Skills in Monorepos und Unterverzeichnissen laden

144</h3>144</h3>

145 145 

146Claude Code lädt Projekt-Skills aus `.claude/skills/` in dem Verzeichnis, in dem Sie ihn starten, und in jedem übergeordneten Verzeichnis bis zur Repository-Root, sodass das Starten in `packages/frontend/` immer noch Skills aufgreift, die in der Root definiert sind. Wenn Sie [die Session mit `/cd` verschieben](/docs/de/permissions#move-the-session-to-another-directory) auf v2.1.246 oder später, fügt Claude Code die Projekt-Skills des neuen Verzeichnisses hinzu.146Claude Code lädt Projekt-Skills aus `.claude/skills/` in dem Verzeichnis, in dem Sie ihn starten, und in jedem übergeordneten Verzeichnis bis zur Repository-Root, sodass das Starten in `packages/frontend/` immer noch Skills aufgreift, die in der Root definiert sind. Wenn Sie [die Sitzung mit `/cd`](/docs/de/permissions#move-the-session-to-another-directory) auf v2.1.246 oder später verschieben, fügt Claude Code die Projekt-Skills des neuen Verzeichnisses hinzu.

147 147 

148Skills in einem `.claude/skills/`-Verzeichnis unterhalb des Ortes, an dem Sie gestartet haben, werden beim Start nicht geladen. Sie werden beim ersten Mal geladen, wenn Claude eine Datei in diesem Unterverzeichnis liest oder bearbeitet, und bleiben für den Rest der Session verfügbar. Bis dahin erscheinen sie nicht im `/`-Menü und Sie können sie nicht nach Name aufrufen. Um sie früher zu laden, führen Sie `/add-dir` mit dem Pfad des Unterverzeichnisses aus, was Claude Code v2.1.257 oder später erfordert.148Skills in einem `.claude/skills/`-Verzeichnis unter dem Ort, an dem Sie gestartet haben, werden beim Start nicht geladen. Sie werden geladen, wenn Claude zum ersten Mal eine Datei in diesem Unterverzeichnis liest oder bearbeitet, und bleiben für den Rest der Sitzung verfügbar. Bis dahin erscheinen sie nicht im `/`-Menü und Sie können sie nicht nach Name aufrufen. Um sie früher zu laden, führen Sie `/add-dir` mit dem Pfad des Unterverzeichnisses aus, was Claude Code v2.1.257 oder später erfordert.

149 149 

150Wenn ein verschachtelter Skill denselben Namen wie ein anderer Skill hat, bleiben beide verfügbar. Mit einem `deploy`-Skill in der Repository-Root und einem anderen in `apps/web/.claude/skills/`:150Wenn ein verschachtelter Skill denselben Namen wie ein anderer Skill hat, bleiben beide verfügbar. Mit einem `deploy`-Skill in der Repository-Root und einem anderen in `apps/web/.claude/skills/`:

151 151 

152* `/deploy` führt den Root-Skill aus. Claude Code listet auch die verzeichnisqualifizierten Varianten für Claude auf, mit einer Anweisung, denjenigen aufzurufen, dessen Verzeichnis die Dateien enthält, an denen es arbeitet, sodass der verschachtelte Skill immer noch auf Arbeiten in `apps/web/` angewendet wird.152* `/deploy` führt den Root-Skill aus. Claude Code listet auch die verzeichnisqualifizierten Varianten für Claude auf, mit einer Anweisung, den aufzurufen, dessen Verzeichnis die Dateien enthält, an denen es arbeitet, sodass der verschachtelte Skill immer noch auf Arbeiten in `apps/web/` angewendet wird.

153* `/apps/web:deploy` führt den verschachtelten Skill eigenständig aus. Seine Beschreibung benennt das Verzeichnis, auf das es angewendet wird.153* `/apps/web:deploy` führt den verschachtelten Skill allein aus. Seine Beschreibung benennt das Verzeichnis, auf das es angewendet wird.

154 154 

155<h3 id="skills-from-additional-directories">155<h3 id="skills-from-additional-directories">

156 Skills aus einem Verzeichnis außerhalb des Projekts laden156 Skills aus einem Verzeichnis außerhalb des Projekts laden

157</h3>157</h3>

158 158 

159Wenn Sie ein Verzeichnis mit `--add-dir` oder `/add-dir` hinzufügen, lädt Claude Code die Skills in `.claude/skills/` dieses Verzeichnisses zusammen mit `.claude/commands/` und `.claude/agents/`. Verzeichnisse, die das Agent SDK durch [`additionalDirectories`](/docs/de/agent-sdk/typescript#options) in TypeScript oder [`add_dirs`](/docs/de/agent-sdk/python#claudeagentoptions) in Python hinzufügt, werden auf die gleiche Weise geladen, da das SDK sie als `--add-dir` übergibt. Die `permissions.additionalDirectories`-Einstellung in `settings.json` gewährt nur Dateizugriff und lädt keine dieser.159Wenn Sie ein Verzeichnis mit `--add-dir` oder `/add-dir` hinzufügen, lädt Claude Code die Skills in `.claude/skills/` dieses Verzeichnisses zusammen mit `.claude/commands/` und `.claude/agents/`. Verzeichnisse, die das Agent SDK durch [`additionalDirectories`](/docs/de/agent-sdk/typescript#options) in TypeScript oder [`add_dirs`](/docs/de/agent-sdk/python#claudeagentoptions) in Python hinzufügt, werden auf die gleiche Weise geladen, da das SDK sie als `--add-dir` übergibt. Die Einstellung `permissions.additionalDirectories` in `settings.json` gewährt nur Dateizugriff und lädt keine dieser.

160 160 

161Claude Code überwacht `.claude/skills/` in einem Verzeichnis, das Sie mit `--add-dir` beim Start übergeben, wie [Bearbeiten Sie einen Skill während einer Session](#live-change-detection) beschreibt. Es überwacht nicht das `.claude/commands/` oder `.claude/agents/` des hinzugefügten Verzeichnisses, daher starten Sie die Session nach dem Ändern einer Datei dort neu.161Claude Code überwacht `.claude/skills/` in einem Verzeichnis, das Sie mit `--add-dir` beim Start übergeben, wie [Bearbeiten Sie einen Skill während einer Sitzung](#live-change-detection) beschreibt. Es überwacht nicht `.claude/commands/` oder `.claude/agents/` des hinzugefügten Verzeichnisses, daher starten Sie die Sitzung nach dem Ändern einer Datei dort neu.

162 162 

163Diese Ladevorgänge hängen von der `project`-[Einstellungsquelle](/docs/de/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) ab, die standardmäßig aktiviert ist. Eine [`strictPluginOnlyCustomization`](/docs/de/settings-reference#strictpluginonlycustomization)-Richtlinie, [Bare Mode](/docs/de/headless#start-faster-with-bare-mode) und [`--safe-mode`](/docs/de/cli-reference#cli-flags) beschränken sie weiter, wie diese Seiten beschreiben. Siehe [Zusätzliche Verzeichnisse gewähren Dateizugriff, keine Konfiguration](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) für die vollständige Tabelle, was ein hinzugefügtes Verzeichnis lädt, einschließlich `CLAUDE.md` und Plugin-Einstellungen.163Diese Ladevorgänge hängen von der `project` [Einstellungsquelle](/docs/de/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) ab, die standardmäßig aktiviert ist. Eine [`strictPluginOnlyCustomization`](/docs/de/settings-reference#strictpluginonlycustomization)-Richtlinie, [Bare Mode](/docs/de/headless#start-faster-with-bare-mode) und [`--safe-mode`](/docs/de/cli-reference#cli-flags) beschränken sie weiter, wie diese Seiten beschreiben. Siehe [Zusätzliche Verzeichnisse gewähren Dateizugriff, keine Konfiguration](/docs/de/permissions#additional-directories-grant-file-access-not-configuration) für die vollständige Tabelle, was ein hinzugefügtes Verzeichnis lädt, einschließlich `CLAUDE.md` und Plugin-Einstellungen.

164 164 

165<h3 id="resolve-skills-that-share-a-name">165<h3 id="resolve-skills-that-share-a-name">

166 Lösen Sie Skills auf, die denselben Namen haben166 Beheben Sie Skills, die denselben Namen haben

167</h3>167</h3>

168 168 

169Wenn zwei Skills denselben Namen haben, entscheidet, woher jeder kommt, welcher `/name` ausführt. Die Tabelle behandelt die Enterprise-, Personal-, Projekt-, verschachtelte, Plugin- und claude.ai-Speicherorte, gebündelte Skills und Befehlsdateien:169Wenn zwei Skills denselben Namen haben, entscheidet, woher jeder kommt, welcher `/name` ausführt. Die Tabelle behandelt die Enterprise-, Personal-, Projekt-, verschachtelte, Plugin- und claude.ai-Speicherorte, gebündelte Skills und Befehlsdateien:

170 170 

171| Gleicher Name in | Welcher wird ausgeführt |171| Gleicher Name in | Welcher wird ausgeführt |

172| :--------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |172| :--------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

173| Zwei von Enterprise, Personal und Projekt | Enterprise über Personal, und Personal über Projekt. Mit `deploy` in beiden `~/.claude/skills/` und `.claude/skills/` des Projekts führt `/deploy` den persönlichen aus |173| Zwei von Enterprise, Personal und Projekt | Enterprise über Personal und Personal über Projekt. Mit `deploy` in beiden `~/.claude/skills/` und `.claude/skills/` des Projekts führt `/deploy` den Personal-Skill aus |

174| Einer dieser Speicherorte und ein [gebündelter Skill](#bundled-skills) | Ihr Skill ersetzt den gebündelten Befehl, aber nicht seine Aliase. Ein Projekt-`code-review`-Skill ersetzt `/code-review`, und der gebündelte Alias `/review` führt Ihren Skill nie aus |174| Einer dieser Speicherorte und ein [gebündelter Skill](#bundled-skills) | Ihr Skill ersetzt den gebündelten Befehl, aber nicht seine Aliase. Ein Projekt-`code-review`-Skill ersetzt `/code-review`, und der gebündelte Alias `/review` führt Ihren Skill nie aus |

175| Ein Skill und eine Datei in `.claude/commands/` | Der Skill |175| Ein Skill und eine Datei in `.claude/commands/` | Der Skill |

176| Ein Projekt-Root-Skill und ein verschachtelter Skill | Beide werden geladen. Siehe [Monorepos und Unterverzeichnisse](#discovery-from-parent-and-nested-directories) |176| Ein Projekt-Root-Skill und ein verschachtelter Skill | Beide werden geladen. Siehe [Monorepos und Unterverzeichnisse](#discovery-from-parent-and-nested-directories) |

177| Ein Plugin-Skill und ein Skill an einem der obigen Speicherorte | Beide werden geladen, da Plugin-Skills als `/plugin-name:skill-name` namensgebunden sind |177| Ein Plugin-Skill und ein Skill an einem der obigen Speicherorte | Beide werden geladen, da Plugin-Skills als `/plugin-name:skill-name` namensgebunden sind |

178| Einer der obigen und ein von claude.ai synchronisierter Skill | Der andere Skill oder Befehl. Siehe [Wenn ein synchronisierter Skill-Name mit einem anderen Befehl übereinstimmt](#when-a-synced-skill-name-matches-another-command) |178| Einer der obigen und ein Skill [von Ihrem claude.ai-Konto synchronisiert](#how-synced-skills-behave) | Der andere Skill oder Befehl. Der synchronisierte Skill wird immer noch als `/anthropic-skills:<name>` ausgeführt. Siehe [Wenn ein synchronisierter Skill-Name mit einem anderen Befehl übereinstimmt](#when-a-synced-skill-name-matches-another-command) |

179 179 

180<h3 id="skills-in-cowork-and-cloud-sessions">180<h3 id="skills-in-cowork-and-cloud-sessions">

181 Verwenden Sie Skills in Cowork- und Cloud-Sessions181 Verwenden Sie Skills in Cowork- und Cloud-Sitzungen

182</h3>182</h3>

183 183 

184[Cowork](https://claude.com/product/cowork)-Sessions und [Cloud-Sessions](/docs/de/cloud-environments#what-carries-over-from-your-setup), einschließlich [Routinen](/docs/de/routines), lesen nicht `~/.claude/skills/` auf Ihrer Maschine. Sowohl interaktive als auch geplante Cowork-Sessions laden die Skills, die für Ihr claude.ai-Konto aktiviert sind, synchronisiert beim Session-Start; verwalten Sie sie über **Customize** in der Desktop-App-Seitenleiste oder in den Skill-Einstellungen auf claude.ai. Cloud-Sessions laden zusätzlich Projekt-Skills, die in `.claude/skills/` des geklonten Repositorys committet sind.184[Cowork](https://claude.com/product/cowork)-Sitzungen und [Cloud-Sitzungen](/docs/de/cloud-environments#what-carries-over-from-your-setup), einschließlich [Routinen](/docs/de/routines), lesen nicht `~/.claude/skills/` auf Ihrer Maschine. Sowohl interaktive als auch geplante Cowork-Sitzungen laden die Skills, die für Ihr claude.ai-Konto aktiviert sind, synchronisiert beim Sitzungsstart; verwalten Sie sie über **Customize** in der Desktop-App-Seitenleiste oder in den Skill-Einstellungen auf claude.ai. Cloud-Sitzungen laden zusätzlich Projekt-Skills, die in `.claude/skills/` des geklonten Repositorys committet sind.

185 185 

186Wenn ein Skill nur in `~/.claude/skills/` auf Ihrer Maschine vorhanden ist, meldet Claude Code, dass der Skill nicht gefunden wurde, wenn eine [Routine](/docs/de/routines) ihn aufruft, da jede Routine-Ausführung als frische Remote-Session startet. Um einen persönlichen Skill in diesen Sessions verfügbar zu machen:186Wenn ein Skill nur in `~/.claude/skills/` auf Ihrer Maschine vorhanden ist, meldet Claude Code, dass der Skill nicht gefunden wurde, wenn eine [Routine](/docs/de/routines) ihn aufruft, da jede Routine-Ausführung als frische Cloud-Sitzung startet. Um einen persönlichen Skill in diesen Sitzungen verfügbar zu machen:

187 187 

188* Für Cowork- und Cloud-Sessions aktivieren Sie den Skill für Ihr claude.ai-Konto.188* Für Cowork- und Cloud-Sitzungen aktivieren Sie den Skill für Ihr claude.ai-Konto.

189* Für Cloud-Sessions können Sie den Skill stattdessen in `.claude/skills/` des Repositorys committen oder ihn in einem Plugin versenden, das in `.claude/settings.json` des Repositorys deklariert ist. Im Repo deklarierte Plugins [installieren beim Session-Start](/docs/de/cloud-environments#what-carries-over-from-your-setup); Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind, werden nicht übertragen.189* Für Cloud-Sitzungen können Sie den Skill stattdessen in `.claude/skills/` des Repositorys committen oder ihn in einem Plugin versenden, das in `.claude/settings.json` des Repositorys deklariert ist. Im Repository deklarierte Plugins [installieren beim Sitzungsstart](/docs/de/cloud-environments#what-carries-over-from-your-setup); Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind, werden nicht übertragen.

190 190 

191[Desktop-geplante Aufgaben](/docs/de/desktop-scheduled-tasks) werden lokal auf Ihrer Maschine ausgeführt, daher laden sie `~/.claude/skills/`.191[Desktop-geplante Aufgaben](/docs/de/desktop-scheduled-tasks) werden lokal auf Ihrer Maschine ausgeführt, daher laden sie `~/.claude/skills/`.

192 192 


194 Skills, die von claude.ai synchronisiert werden194 Skills, die von claude.ai synchronisiert werden

195</h3>195</h3>

196 196 

197Dieser Abschnitt gilt für Sie, wenn Sie Skills für Ihr claude.ai-Konto aktiviert haben. In Cowork- und Cloud-Sessions lädt Claude Code diese Skills ohne Setup auf Ihrer Maschine. In jeder anderen Session auf Ihrer Maschine lädt Claude Code sie nur, nachdem Sie die Synchronisierung mit [`CLAUDE_CODE_SYNC_SKILLS`](/docs/de/env-vars#variables) in einem nicht-interaktiven Lauf aktivieren, wie [Wo synchronisierte Skills geladen werden](#where-synced-skills-load) beschreibt.197Dieser Abschnitt gilt für Sie, wenn Sie Cowork- oder Cloud-Sitzungen verwenden oder sich in Ihrem Terminal mit einem claude.ai-Konto bei Claude Code anmelden. In diesen Sitzungen lädt Claude Code die Skills, die für Ihr claude.ai-Konto aktiviert sind, ohne Setup auf Ihrer Seite, wie [Wo synchronisierte Skills geladen werden](#where-synced-skills-load) beschreibt. Diese Skills umfassen die Skills, die Sie in Ihren claude.ai-Einstellungen erstellen oder aktivieren, Skills, die Ihre Organisation dort bereitstellt, und Anthropics integrierte Skills wie `pdf` und `xlsx`.

198 198 

199Claude Code lädt einen synchronisierten Skill von Ihrem Konto herunter, anstatt eine Datei zu lesen, die Sie auf der Maschine geschrieben haben, auf der die Session läuft, daher wendet es Regeln auf synchronisierte Skills an, die nicht auf die Skills angewendet werden, die Sie in den [Skill-Speicherorten](#where-skills-live) speichern.199Claude Code lädt einen synchronisierten Skill von Ihrem Konto herunter, anstatt eine Datei zu lesen, die Sie auf der Maschine geschrieben haben, auf der die Sitzung läuft, daher wendet es Regeln auf synchronisierte Skills an, die nicht auf die Skills angewendet werden, die Sie in den [Skill-Speicherorten](#where-skills-live) speichern.

200 200 

201<h4 id="where-synced-skills-load">201<h4 id="where-synced-skills-load">

202 Wo synchronisierte Skills geladen werden202 Wo synchronisierte Skills geladen werden

203</h4>203</h4>

204 204 

205In einer Cowork- oder Cloud-Session lädt Claude Code die Skills, die für Ihr claude.ai-Konto aktiviert sind, und [Skills in Cowork- und Cloud-Sessions](#skills-in-cowork-and-cloud-sessions) sagt, wie Sie wählen, welche Skills diese Sessions erhalten.205In einer Cowork- oder Cloud-Sitzung lädt Claude Code die Skills, die für Ihr claude.ai-Konto aktiviert sind, und [Skills in Cowork- und Cloud-Sitzungen](#skills-in-cowork-and-cloud-sessions) sagt, wie Sie wählen, welche Skills diese Sitzungen erhalten.

206 206 

207In jeder anderen Session auf Ihrer Maschine lädt Claude Code sie nur, nachdem Sie sie einmal in einem nicht-interaktiven Lauf heruntergeladen haben:207In Ihrem Terminal synchronisiert Claude Code diese Skills in Sitzungen, in denen Sie sich mit Ihrem claude.ai-Konto anmelden. Wenn die Sitzung startet, lädt Claude Code Ihre Account-Skills im Hintergrund in `~/.claude/skills/synced/` herunter und prüft dann etwa alle 10 Minuten auf Änderungen auf claude.ai, während die Sitzung läuft. Wenn eine Überprüfung feststellt, dass ein Skill auf claude.ai hinzugefügt, bearbeitet oder deaktiviert wurde, fügt Claude Code ihn in der laufenden Sitzung hinzu, aktualisiert oder entfernt ihn ohne Neustart. Die Synchronisierung in Terminal-Sitzungen erfordert Claude Code v2.1.273 oder später.

208 208 

209<Steps>209Die Synchronisierung verzögert niemals den Start, da Claude auf den Download eines Skills nur wartet, wenn es diesen Skill aufruft. Ein kurzer [nicht-interaktiver](/docs/de/headless) Lauf kann daher beendet werden, bevor ein neu hinzugefügter Skill heruntergeladen wird. In diesem Fall lädt eine spätere Sitzung ihn herunter. Um einen nicht-interaktiven Lauf dazu zu bringen, Ihre Skills herunterzuladen und auf die Liste zu warten, bevor er die Eingabeaufforderung beantwortet, setzen Sie [`CLAUDE_CODE_SYNC_SKILLS`](/docs/de/env-vars#variables) auf `1`.

210 <Step title="Aktivieren Sie die Skills für Ihr claude.ai-Konto">

211 Aktivieren Sie jeden Skill, den Sie für Ihr claude.ai-Konto möchten, wie [Skills in Cowork- und Cloud-Sessions](#skills-in-cowork-and-cloud-sessions) beschreibt. Claude Code lädt nur die Skills herunter, die Sie aktiviert haben, und benötigt Ihre claude.ai-Anmeldung, um sie herunterzuladen.

212 </Step>

213 210 

214 <Step title="Führen Sie Claude Code im nicht-interaktiven Modus mit aktivierter Synchronisierung aus">211Claude Code synchronisiert nur in einer Sitzung, die sich mit Ihrem claude.ai-Konto anmeldet und [Feature-Flags von Anthropic abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching). Es synchronisiert nicht in diesen Sitzungen:

215 Claude Code lädt synchronisierte Skills nur, wenn Sie es im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p`-Flag ausführen und [`CLAUDE_CODE_SYNC_SKILLS`](/docs/de/env-vars#variables) auf `1` setzen. Der Prompt, den Sie übergeben, beeinflusst den Download nicht.

216 212 

217 ```bash theme={null}213* Eine Sitzung, die keine von `/login` gespeicherte Anmeldung verwendet, wie eine, die sich mit einem API-Schlüssel authentifiziert, oder eine, bei der `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN` oder ein `apiKeyHelper`-Skript die Anmeldedaten bereitstellt

218 CLAUDE_CODE_SYNC_SKILLS=1 claude -p "List the skills you have available"214* Eine Sitzung, die keine Feature-Flags abruft, wie eine auf Amazon Bedrock oder eine, bei der Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` setzen

219 ```215* Eine Sitzung im [Bare Mode](/docs/de/headless#start-faster-with-bare-mode) oder eine, die Sie mit `--safe-mode` starten

216* Eine Sitzung, bei der die verwalteten Einstellungen Ihrer Organisation [Skills auf Plugin-Quellen sperren](/docs/de/settings-reference#strictpluginonlycustomization-skills), oder eine, die Sie mit einer [`--setting-sources`](/docs/de/cli-reference#cli-flags)-Liste starten, die `user` auslässt

220 217 

221 Claude Code lädt die Skills in `~/.claude/skills/synced/` herunter, beantwortet den Prompt und beendet sich wie jeder andere nicht-interaktive Lauf. Die heruntergeladenen Skills bleiben nach dem Beenden auf der Festplatte, daher müssen Sie den Lauf nicht offen halten. Claude Code lädt Skills nur während eines Laufs mit gesetztem `CLAUDE_CODE_SYNC_SKILLS` herunter, daher führen Sie den Befehl erneut aus, nachdem Sie einen Skill auf claude.ai aktivieren oder ändern. Um zu ändern, wie lange der Lauf auf die Synchronisierung wartet, bevor er den Prompt beantwortet, setzen Sie [`CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`](/docs/de/env-vars#variables).218Wenn Sie sich während einer Sitzung mit `/login` anmelden, starten Sie Claude Code neu, um die Synchronisierung zu starten.

222 </Step>

223 219 

224 <Step title="Bestätigen Sie, dass die Skills in einer lokalen Session geladen werden">220Skills, die eine frühere Sitzung synchronisiert hat, bleiben auf der Festplatte. Claude Code lädt sie in späteren Sitzungen, die sich mit demselben Konto anmelden, auch wenn es claude.ai nicht erreichen kann.

225 Starten Sie eine interaktive Session, ohne `CLAUDE_CODE_SYNC_SKILLS` gesetzt, und führen Sie `/skills` aus. Das Menü listet die heruntergeladenen Skills unter `claude.ai sync` auf. Jede lokale Session, die Sie danach mit derselben claude.ai-Anmeldung starten, lädt sie auch aus `~/.claude/skills/synced/`.221 

226 </Step>222Um zu sehen, welche Skills synchronisiert wurden, führen Sie `/skills` aus. Das Menü listet sie unter `claude.ai sync` auf.

227</Steps>223 

224Einige von Anthropics Skills, wie `pdf` und `xlsx`, werden immer synchronisiert. Für die übrigen aktivieren oder deaktivieren Sie einen Skill in Ihren Skill-Einstellungen auf claude.ai, um zu ändern, ob er synchronisiert wird.

225 

226Um die Synchronisierung auf einer Maschine zu beenden, setzen Sie [`syncClaudeAiSkills`](/docs/de/settings-reference#syncclaudeaiskills) in Ihren Benutzereinstellungen auf `false`. Claude Code stoppt das Herunterladen, und beim nächsten Start verschiebt es die Skills, die es bereits synchronisiert hat, in `~/.claude/skills/.trash/` und lädt sie nicht mehr. Ihre Organisation kann die Synchronisierung für alle ausschalten, indem sie Skills auf claude.ai ausschaltet. Um die Synchronisierung zu beenden und Skills eingeschaltet zu lassen, kann sie denselben Schlüssel in [verwalteten Einstellungen](/docs/de/managed-settings) setzen.

227 

228Wenn Ihre Organisation Skills auf claude.ai ausschaltet, entfernt Claude Code die heruntergeladenen Skills und sie werden nicht mehr geladen. Die entfernten Skills werden in `~/.claude/skills/.trash/` verschoben, wo Sie die Dateien wiederherstellen können, bis die [Aufbewahrungslöschung](/docs/de/claude-directory#cleaned-up-automatically) sie löscht. Sobald Ihre Organisation Skills wieder einschaltet, lädt Claude Code die Skills herunter, die Sie beim nächsten Synchronisierungsvorgang aktiviert haben.

228 229 

229<h4 id="when-a-synced-skill-name-matches-another-command">230<h4 id="when-a-synced-skill-name-matches-another-command">

230 Wenn ein synchronisierter Skill-Name mit einem anderen Befehl übereinstimmt231 Wenn ein synchronisierter Skill-Name mit einem anderen Befehl übereinstimmt

231</h4>232</h4>

232 233 

233Claude Code überspringt einen synchronisierten Skill, dessen Name mit einem anderen Befehl übereinstimmt, und dieser andere Befehl wird ausgeführt. Der andere Befehl kann ein integrierter Befehl, ein [gebündelter Skill](#bundled-skills), ein Skill auf einer beliebigen [lokalen Ebene](#where-skills-live), ein Plugin-Skill, eine Datei in `.claude/commands/` oder ein [MCP-Prompt](/docs/de/mcp#use-mcp-prompts-as-commands) sein. Claude Code reserviert auch die Namen seiner eigenen integrierten Befehle und gebündelten Skills, auch wenn sie in Ihrer Session nicht verfügbar sind, zum Beispiel nachdem Sie gebündelte Skills ausgeschaltet haben, daher überspringt es einen synchronisierten Skill mit einem dieser Namen auch.234Sie können einen synchronisierten Skill mit seinem vollständigen Namen, `/anthropic-skills:<name>`, oder seinem Kurznamen, `/<name>`, aufrufen. Wenn ein anderer Befehl diesen Kurznamen verwendet, führt `/<name>` den anderen Befehl aus, und der synchronisierte Skill wird nur als `/anthropic-skills:<name>` ausgeführt. Mit einem lokalen `deploy`-Skill und einem synchronisierten `deploy` führt `/deploy` den lokalen Skill aus und `/anthropic-skills:deploy` führt den synchronisierten aus. Vor v2.1.269 hatte ein synchronisierter Skill nur seinen Kurznamen.

235 

236Der andere Befehl kann einer dieser sein:

237 

238* Ein integrierter Befehl oder ein [gebündelter Skill](#bundled-skills), einschließlich eines, der in Ihrer Sitzung nicht verfügbar ist, zum Beispiel nachdem Sie gebündelte Skills ausschalten

239* Ein Skill auf einer beliebigen [lokalen Ebene](#where-skills-live) oder eine Datei in `.claude/commands/`

240* Ein Plugin-Skill

241* Ein [MCP-Prompt](/docs/de/mcp#use-mcp-prompts-as-commands)

234 242 

235Claude Code kennzeichnet synchronisierte Skills, damit Sie sehen können, woher sie kommen. Das `/skills`-Menü und `/context` gruppieren synchronisierte Skills unter `claude.ai sync`, und das `/`-Befehlsmenü kennzeichnet sie als von claude.ai kommend.243Claude Code kennzeichnet synchronisierte Skills, damit Sie sehen können, woher sie kommen. Das `/skills`-Menü und `/context` gruppieren synchronisierte Skills unter `claude.ai sync`, und das `/`-Befehlsmenü kennzeichnet sie als von claude.ai kommend.

236 244 

237Beim Vergleich von Namen ignoriert Claude Code Groß-/Kleinschreibung, Abstände und unsichtbare Zeichen und behandelt Kompatibilitätsformen wie Vollbreitenbuchstaben und Bindestrich-Varianten als ihre einfachen Äquivalente, daher kann ein synchronisiertes `Commit` nicht neben einem lokalen `commit` geladen werden. Ein Name, der sich nur durch einen ähnlich aussehenden Buchstaben aus einem anderen Alphabet unterscheidet, zählt als ein anderer Name, und das `claude.ai sync`-Label ist, wie Sie die beiden unterscheiden. Diese Überprüfungen und Labels erfordern Claude Code v2.1.228 oder später.245Beim Vergleich von Namen ignoriert Claude Code Groß-/Kleinschreibung, Abstände und unsichtbare Zeichen und behandelt Kompatibilitätsformen wie Vollbreitenbuchstaben und Bindestrich-Varianten als ihre einfachen Äquivalente. Zum Beispiel zählt ein synchronisierter Skill namens `Commit` und ein lokaler Skill namens `commit` als derselbe Name, daher führt `/commit` weiterhin Ihren lokalen Skill aus.

246 

247Ein Name, der sich nur durch einen ähnlich aussehenden Buchstaben aus einem anderen Alphabet unterscheidet, zählt als ein anderer Name, und das `claude.ai sync`-Label ist, wie Sie die beiden unterscheiden. Diese Überprüfungen und Labels erfordern Claude Code v2.1.228 oder später.

238 248 

239<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">249<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">

240 Wie Claude Code die Frontmatter eines synchronisierten Skills handhabt250 Wie Claude Code die Frontmatter eines synchronisierten Skills handhabt


242 252 

243Claude Code wendet zwei Regeln auf die Frontmatter eines synchronisierten Skills an:253Claude Code wendet zwei Regeln auf die Frontmatter eines synchronisierten Skills an:

244 254 

245* Claude Code respektiert die Frontmatter in jeder Art von Session, daher geht eine `allowed-tools`-Gewährung durch den normalen [Berechtigungsfluss](/docs/de/permissions).255* Claude Code respektiert die Frontmatter in jeder Art von Sitzung, daher geht eine `allowed-tools`-Gewährung durch den normalen [Berechtigungsfluss](/docs/de/permissions).

246* Claude Code bereinigt den Anzeigetext, den der Skill liefert, wie seine Beschreibung. Es entfernt Steuerzeichen, und in Text, der Claude erreicht, wie die Beschreibung, escaped es auch spitzklammern, damit der Text nicht Claude Codes interne Formatierung imitieren kann. Diese Bereinigung erfordert Claude Code v2.1.228 oder später.256* Claude Code bereinigt den Anzeigetext, den der Skill liefert, wie seine Beschreibung. Es entfernt Steuerzeichen und in Text, der Claude erreicht, wie die Beschreibung, maskiert es auch spitzklammern, damit der Text nicht Claude Codes interne Formatierung imitieren kann. Diese Bereinigung erfordert Claude Code v2.1.228 oder später.

247 257 

248<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">258<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">

249 Wie Claude Code den Body eines synchronisierten Skills handhabt259 Wie Claude Code den Body eines synchronisierten Skills handhabt

250</h4>260</h4>

251 261 

252Was Claude Code mit dem Body eines synchronisierten Skills tut, hängt davon ab, wo die Session läuft:262Was Claude Code mit dem Body eines synchronisierten Skills tut, hängt davon ab, wo die Sitzung läuft:

253 263 

254* In einer Cloud-Session behält der Body das Verhalten, das ein lokaler Skill hat, da die Session in einem isolierten Container läuft.264* In einer Cloud-Sitzung behält der Body das Verhalten, das ein lokaler Skill hat, da die Sitzung in einem isolierten Container läuft.

255* In einer Cowork-Session auf Ihrem Desktop behält der Body das Verhalten eines lokalen Skills, außer dass Claude Code jede `!`-Befehlszeile durch den [`disableSkillShellExecution`-Platzhalter](#inject-dynamic-context) ersetzt, wie es für jeden Skill tut, den Sie dort liefern.265* In einer Cowork-Sitzung auf Ihrem Desktop behält der Body das Verhalten, das ein lokaler Skill hat, außer dass Claude Code jede `!`-Befehlszeile durch den [`disableSkillShellExecution`-Platzhalter](#inject-dynamic-context) ersetzt, wie es für jeden Skill tut, den Sie dort liefern.

256* In jeder anderen Session auf Ihrer Maschine führt Claude Code keine [`!`-Befehle](#inject-dynamic-context) aus, hängt die Dateien nicht an, die `@`-Referenzen benennen, wie es für einen lokalen Skill tut, und ersetzt nicht die `${CLAUDE_PROJECT_DIR}`- und `${CLAUDE_SESSION_ID}`-Platzhalter, daher erreichen `@`-Referenzen und beide Platzhalter Claude als Literaltext. Eine `!`-Befehlszeile erreicht Claude auch als Literaltext oder als dieser Platzhalter, wenn `disableSkillShellExecution` aktiviert ist. Diese Handhabung erfordert Claude Code v2.1.228 oder später.266* In jeder anderen Sitzung auf Ihrer Maschine führt Claude Code keine [`!`-Befehle](#inject-dynamic-context) aus, hängt nicht die Dateien an, die `@`-Referenzen benennen, wie es für einen lokalen Skill tut, und ersetzt nicht die Platzhalter `${CLAUDE_PROJECT_DIR}` und `${CLAUDE_SESSION_ID}`, daher erreichen die `@`-Referenzen und beide Platzhalter Claude als wörtlicher Text. Eine `!`-Befehlszeile erreicht Claude auch als wörtlicher Text oder als dieser Platzhalter, wenn `disableSkillShellExecution` aktiviert ist. Diese Handhabung erfordert Claude Code v2.1.228 oder später.

257 267 

258<h3 id="live-change-detection">268<h3 id="live-change-detection">

259 Bearbeiten Sie einen Skill während einer Session269 Bearbeiten Sie einen Skill während einer Sitzung

260</h3>270</h3>

261 271 

262Claude Code überwacht Skill-Verzeichnisse auf Dateiänderungen, außer im [Bare Mode](/docs/de/headless#start-faster-with-bare-mode). Wenn Sie einen Skill unter `~/.claude/skills/`, dem Projekt `.claude/skills/` oder einem `.claude/skills/` in einem `--add-dir`-Verzeichnis hinzufügen, bearbeiten oder entfernen, nimmt Claude Code die Änderung in der aktuellen Session auf, ohne einen Neustart. Wenn Sie ein Top-Level-Skills-Verzeichnis erstellen, das beim Session-Start nicht vorhanden war, starten Sie Claude Code neu, damit es das neue Verzeichnis überwachen kann.272Claude Code überwacht Skill-Verzeichnisse auf Dateiänderungen, außer im [Bare Mode](/docs/de/headless#start-faster-with-bare-mode). Wenn Sie einen Skill unter `~/.claude/skills/`, dem Projekt `.claude/skills/` oder einem `.claude/skills/` in einem `--add-dir`-Verzeichnis hinzufügen, bearbeiten oder entfernen, nimmt Claude Code die Änderung in der aktuellen Sitzung auf, ohne einen Neustart. Wenn Sie ein Top-Level-Skills-Verzeichnis erstellen, das beim Start der Sitzung nicht vorhanden war, starten Sie Claude Code neu, damit es das neue Verzeichnis überwachen kann.

263 273 

264Die Live-Änderungserkennung deckt nur `SKILL.md`-Text ab. Für einen Skill-Ordner, der auch ein [Plugin](/docs/de/plugins-reference#skills-directory-plugins) ist, benötigen Änderungen an `hooks/`, `.mcp.json`, `agents/` und `output-styles/` `/reload-plugins`, um wirksam zu werden.274Die Live-Änderungserkennung deckt nur `SKILL.md`-Text ab. Für einen Skill-Ordner, der auch ein [Plugin](/docs/de/plugins-reference#skills-directory-plugins) ist, benötigen Änderungen an `hooks/`, `.mcp.json`, `agents/` und `output-styles/` `/reload-plugins`, um wirksam zu werden.

265 275 


269 279 

270Wie Sie einen Skill entfernen, hängt davon ab, woher er kommt:280Wie Sie einen Skill entfernen, hängt davon ab, woher er kommt:

271 281 

272* **Persönlicher oder Projekt-Skill**: Löschen Sie das Verzeichnis des Skills, `~/.claude/skills/<skill-name>/` oder `.claude/skills/<skill-name>/`. Claude Code [entfernt ihn aus `/skills` in der aktuellen Session](#live-change-detection); Inhalte, die Claude Code bereits daraus geladen hat, folgen dem [Skill-Content-Lebenszyklus](#skill-content-lifecycle).282* **Persönlicher oder Projekt-Skill**: Löschen Sie das Verzeichnis des Skills, `~/.claude/skills/<skill-name>/` oder `.claude/skills/<skill-name>/`. Claude Code [entfernt ihn aus `/skills` in der aktuellen Sitzung](#live-change-detection); Inhalte, die Claude Code bereits daraus geladen hat, folgen dem [Skill-Content-Lebenszyklus](#skill-content-lifecycle).

273* **Enterprise-Skill**: Ein Administrator löscht das Verzeichnis des Skills aus `.claude/skills/` im [Verzeichnis für verwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms), zum Beispiel `/etc/claude-code/.claude/skills/<skill-name>/` auf Linux.283* **Enterprise-Skill**: Ein Administrator löscht das Verzeichnis des Skills aus `.claude/skills/` im [Verzeichnis für verwaltete Einstellungen](/docs/de/managed-settings#delivery-mechanisms), zum Beispiel `/etc/claude-code/.claude/skills/<skill-name>/` auf Linux.

274* **Plugin-Skill**: Deaktivieren oder deinstallieren Sie das Plugin, das ihn bereitstellt, aus dem `/plugin`-Menü oder mit `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code entlädt die Skills des Plugins, wenn [die Änderung angewendet wird](/docs/de/discover-plugins#apply-plugin-changes-without-restarting) oder wenn Sie neu starten.284* **Plugin-Skill**: Deaktivieren oder deinstallieren Sie das Plugin, das ihn bereitstellt, aus dem `/plugin`-Menü oder mit `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code entlädt die Skills des Plugins, wenn [die Änderung angewendet wird](/docs/de/discover-plugins#apply-plugin-changes-without-restarting) oder wenn Sie neu starten.

275* **Von claude.ai synchronisierter Skill**: Schalten Sie den Skill für Ihr claude.ai-Konto aus, an derselben Stelle, an der Sie ihn [aktiviert haben](#skills-in-cowork-and-cloud-sessions). Claude Code entfernt ihn aus `~/.claude/skills/synced/` beim nächsten Mal, wenn es [Ihre Skills synchronisiert](#where-synced-skills-load). Wenn Sie das Verzeichnis stattdessen von Hand löschen, lädt die nächste Synchronisierung es erneut herunter, während der Skill auf claude.ai aktiviert bleibt.285* **Skill, der von claude.ai synchronisiert wird**: Schalten Sie den Skill für Ihr claude.ai-Konto aus, an derselben Stelle, an der Sie ihn [aktiviert haben](#skills-in-cowork-and-cloud-sessions). Claude Code entfernt ihn aus `~/.claude/skills/synced/` beim nächsten Mal, wenn es [Ihre Skills synchronisiert](#where-synced-skills-load). Wenn Sie das Verzeichnis stattdessen von Hand löschen, lädt die nächste Synchronisierung es erneut herunter, während der Skill auf claude.ai aktiviert bleibt.

276* **Gebündelter Skill**: Setzen Sie [`disableBundledSkills`](#bundled-skills) auf `true`, um gebündelte Skills auszuschalten, oder setzen Sie einen Skill auf `"off"` in [`skillOverrides`](#override-skill-visibility-from-settings), um ihn auszublenden.286* **Gebündelter Skill**: Setzen Sie [`disableBundledSkills`](#bundled-skills) auf `true`, um gebündelte Skills auszuschalten, oder setzen Sie einen Skill auf `"off"` in [`skillOverrides`](#override-skill-visibility-from-settings), um ihn auszublenden.

277 287 

278Um einen persönlichen oder Projekt-Skill zu behalten, aber Claude daran zu hindern, ihn von selbst aufzurufen, setzen Sie [`disable-model-invocation: true`](#control-who-invokes-a-skill) in seiner Frontmatter oder `"user-invocable-only"` in [`skillOverrides`](#override-skill-visibility-from-settings), wenn Sie die Datei nicht bearbeiten möchten.288Um einen persönlichen oder Projekt-Skill zu behalten, aber Claude daran zu hindern, ihn von selbst aufzurufen, setzen Sie [`disable-model-invocation: true`](#control-who-invokes-a-skill) in seiner Frontmatter oder `"user-invocable-only"` in [`skillOverrides`](#override-skill-visibility-from-settings), wenn Sie die Datei nicht bearbeiten möchten.


404| Datei in einem Unterverzeichnis von `.claude/commands/` | Unterverzzeichnisspfad relativ zu `commands/` mit jedem `/` ersetzt durch `:`, dann der Dateiname ohne Erweiterung | `.claude/commands/frontend/component.md` → `/frontend:component` |414| Datei in einem Unterverzeichnis von `.claude/commands/` | Unterverzzeichnisspfad relativ zu `commands/` mit jedem `/` ersetzt durch `:`, dann der Dateiname ohne Erweiterung | `.claude/commands/frontend/component.md` → `/frontend:component` |

405| Plugin `skills/` Unterverzeichnis | Frontmatter `name` oder der Verzeichnisname, mit Namespace durch Plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, oder `/my-plugin:fancy` mit `name: fancy` |415| Plugin `skills/` Unterverzeichnis | Frontmatter `name` oder der Verzeichnisname, mit Namespace durch Plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, oder `/my-plugin:fancy` mit `name: fancy` |

406| Plugin-Root `SKILL.md` | Frontmatter `name`, mit dem Plugin-Verzeichnisnamen als Fallback | `my-plugin/SKILL.md` mit `name: review` → `/my-plugin:review`. Siehe [Pfadverhaltenregeln](/docs/de/plugins-reference#path-behavior-rules) |416| Plugin-Root `SKILL.md` | Frontmatter `name`, mit dem Plugin-Verzeichnisnamen als Fallback | `my-plugin/SKILL.md` mit `name: review` → `/my-plugin:review`. Siehe [Pfadverhaltenregeln](/docs/de/plugins-reference#path-behavior-rules) |

417| Fähigkeit [synchronisiert von claude.ai](#how-synced-skills-behave) | Der Name der Fähigkeit auf Ihrem claude.ai-Konto, mit dem Präfix `anthropic-skills:` | Kontofähigkeit `deploy` → `/anthropic-skills:deploy`, oder `/deploy`, wenn kein anderer Befehl diesen Namen verwendet |

407 418 

408In einer Plugin-Fähigkeit ersetzt das Frontmatter-Feld `name` den Verzeichnisnamen im letzten Segment des Befehls, sodass `my-plugin/skills/review/SKILL.md` mit `name: fancy` zu `/my-plugin:fancy` wird. Der bloße `/fancy` ruft die Fähigkeit auch auf, es sei denn, ein anderer Befehl verwendet bereits diesen Namen. Wenn der `name`, den Sie schreiben, bereits mit dem eigenen Präfix des Plugins beginnt, fügt Claude Code das Präfix nicht erneut auf v2.1.246 oder später hinzu. Zum Beispiel wird `name: my-plugin:fancy` immer noch zu `/my-plugin:fancy`. Von v2.1.216 bis v2.1.245 verdoppelte Claude Code das Präfix, wenn der `name` es bereits trug.419In einer Plugin-Fähigkeit ersetzt das Frontmatter-Feld `name` den Verzeichnisnamen im letzten Segment des Befehls, sodass `my-plugin/skills/review/SKILL.md` mit `name: fancy` zu `/my-plugin:fancy` wird. Der bloße `/fancy` ruft die Fähigkeit auch auf, es sei denn, ein anderer Befehl verwendet bereits diesen Namen. Wenn der `name`, den Sie schreiben, bereits mit dem eigenen Präfix des Plugins beginnt, fügt Claude Code das Präfix nicht erneut auf v2.1.246 oder später hinzu. Zum Beispiel wird `name: my-plugin:fancy` immer noch zu `/my-plugin:fancy`. Von v2.1.216 bis v2.1.245 verdoppelte Claude Code das Präfix, wenn der `name` es bereits trug.

409 420 

410In [nicht-interaktiven Sitzungen](/docs/de/headless) sind die Namen `help` und `feedback` nicht für ihre nur-Terminal-Befehle reserviert, sodass eine Plugin-Fähigkeit mit einem dieser Namen ihren bloßen Befehl dort behält. Jeder andere nur-Terminal-Befehl, wie `/login`, bleibt reserviert, obwohl der Befehl in diesen Sitzungen nicht ausgeführt werden kann. Eine synchronisierte Fähigkeit namens `help` oder `feedback` wird immer noch dort übersprungen, da Claude Code [eine synchronisierte Fähigkeit überspringt](#when-a-synced-skill-name-matches-another-command), deren Name mit einem beliebigen integrierten Befehl übereinstimmt, unabhängig davon, ob dieser Befehl ausgeführt werden kann.421In [nicht-interaktiven Sitzungen](/docs/de/headless) sind die Namen `help` und `feedback` nicht für ihre nur-Terminal-Befehle reserviert, sodass eine Plugin-Fähigkeit mit einem dieser Namen ihren bloßen Befehl dort behält. Jeder andere nur-Terminal-Befehl, wie `/login`, bleibt reserviert, obwohl der Befehl in diesen Sitzungen nicht ausgeführt werden kann.

411 422 

412Für eine Plugin-Root `SKILL.md` gibt es kein Fähigkeitsverzeichnis, aus dem der Name genommen werden kann, sodass `name` das ganze letzte Segment liefert. Ohne ein `name`-Feld fällt Claude Code auf den Plugin-Verzeichnisnamen zurück.423Für eine Plugin-Root `SKILL.md` gibt es kein Fähigkeitsverzeichnis, aus dem der Name genommen werden kann, sodass `name` das ganze letzte Segment liefert. Ohne ein `name`-Feld fällt Claude Code auf den Plugin-Verzeichnisnamen zurück.

413 424 


709 720 

710Mit der Standard-`bash`-Shell fügen Sie `|| true` an jeden anderen Befehl an, von dem Sie erwarten, dass er mit einem Exit-Code ungleich Null endet. Ein Überprüfungsskript, das 1 beendet, wenn es Probleme findet, ist ein Beispiel.721Mit der Standard-`bash`-Shell fügen Sie `|| true` an jeden anderen Befehl an, von dem Sie erwarten, dass er mit einem Exit-Code ungleich Null endet. Ein Überprüfungsskript, das 1 beendet, wenn es Probleme findet, ist ein Beispiel.

711 722 

712Injizierte Befehle fordern niemals Genehmigung an. Wenn die Berechtigungsprüfung eines Befehls etwas anderes als Zulassung zurückgibt, bricht Claude Code den Aufruf ab. Dies schließt eine Regel ein, die normalerweise fragen würde. Der Abbruch zeigt `Shell command permission check failed for pattern "..."`.723<h4 id="permission-checks-on-injected-commands">

724 Berechtigungsprüfungen für injizierte Befehle

725</h4>

726 

727Injizierte Befehle fordern niemals Genehmigung an, während der Skill gerendert wird. Claude Code prüft jeden gegen Ihre [Berechtigungsregeln](/docs/de/permissions) zuerst. Ein Befehl, den eine Deny-Regel erfasst, bricht den Aufruf mit `Shell command permission check failed for pattern "..."` ab.

728 

729Außerhalb des [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode), wenn die Berechtigungsprüfung eines Befehls etwas anderes als Zulassung zurückgibt, bricht Claude Code den Aufruf ab. Dies schließt eine Regel ein, die normalerweise fragen würde. Um zu verhindern, dass ein nicht übereinstimmender Befehl hier abbricht, genehmigen Sie ihn vorher mit [`allowed-tools`](#pre-approve-tools-for-a-skill). Deny- und Ask-Regeln überschreiben immer noch `allowed-tools`. Siehe [Berechtigungen verwalten](/docs/de/permissions#manage-permissions).

713 730 

714Um zu verhindern, dass ein nicht übereinstimmender Befehl hier abbricht, genehmigen Sie ihn vorher mit [`allowed-tools`](#pre-approve-tools-for-a-skill). Eine übereinstimmende Ask- oder Deny-Regel bricht den Aufruf trotzdem ab, unabhängig von `allowed-tools`. Siehe [Berechtigungen verwalten](/docs/de/permissions#manage-permissions).731Im Auto-Modus bricht ein Befehl, der sonst Ihre Genehmigung benötigen würde, den Aufruf nicht ab. Der Skill wird mit einer Anweisung geladen, die Claude anweist, den Befehl zuerst auszuführen, und Claudes eigener Aufruf wird dann durch [die üblichen Prüfungen des Auto-Modus](/docs/de/permission-modes#how-the-classifier-evaluates-actions) durchgeführt. Der Aufruf bricht immer noch in einem [verzweigten Skill](#run-skills-in-a-subagent) ab, der `agent` setzt, und in einer Sitzung, in der Claude nicht das [Shell-Tool hat, das injizierte Befehle ausführt](#how-injected-commands-run).

715 732 

716<h3 id="run-skills-in-a-subagent">733<h3 id="run-skills-in-a-subagent">

717 Skills in einem Subagenten ausführen734 Skills in einem Subagenten ausführen


743Skills und [Subagenten](/docs/de/sub-agents) arbeiten in zwei Richtungen zusammen:760Skills und [Subagenten](/docs/de/sub-agents) arbeiten in zwei Richtungen zusammen:

744 761 

745| Ansatz | System-Prompt | Task | Lädt auch |762| Ansatz | System-Prompt | Task | Lädt auch |

746| :------------------------- | :--------------------------- | :--------------------------- | :---------------------------------------------------- |763| :------------------------- | :--------------------------- | :--------------------------- | :--------------------------------------------------------------------------------------------------------------- |

747| Skill mit `context: fork` | Vom Agent-Typ | SKILL.md-Inhalt | CLAUDE.md, außer wenn der Agent Explore oder Plan ist |764| Skill mit `context: fork` | Vom Agent-Typ | SKILL.md-Inhalt | CLAUDE.md, gemäß dem [Startup-Kontext](/docs/de/sub-agents#what-loads-at-startup) des Agenten |

748| Subagent mit `skills`-Feld | Markdown-Text des Subagenten | Claudes Delegationsnachricht | Vorgeladene Skills + CLAUDE.md |765| Subagent mit `skills`-Feld | Markdown-Text des Subagenten | Claudes Delegationsnachricht | Vorgeladene Skills + CLAUDE.md, gemäß dem [Startup-Kontext](/docs/de/sub-agents#what-loads-at-startup) des Subagenten |

749 766 

750Mit `context: fork` schreiben Sie die Task in Ihren Skill und wählen einen Agent-Typ aus, um sie auszuführen. Die integrierten Explore- und Plan-Agenten [überspringen CLAUDE.md und git status](/docs/de/sub-agents#what-loads-at-startup), um ihren Kontext klein zu halten, sodass ein verzweigter Skill mit `agent: Explore` nur den SKILL.md-Inhalt und den eigenen System-Prompt des Agenten sieht. Für das Gegenteil, bei dem Sie einen benutzerdefinierten Subagenten definieren, der Skills als Referenzmaterial verwendet, siehe [Subagenten](/docs/de/sub-agents#preload-skills-into-subagents).767Mit `context: fork` schreiben Sie die Task in Ihren Skill und wählen einen Agent-Typ aus, um sie auszuführen. Die integrierten Explore- und Plan-Agenten [überspringen CLAUDE.md und git status](/docs/de/sub-agents#what-loads-at-startup), um ihren Kontext klein zu halten, sodass ein verzweigter Skill mit `agent: Explore` nur den SKILL.md-Inhalt und den eigenen System-Prompt des Agenten sieht. Für das Gegenteil, bei dem Sie einen benutzerdefinierten Subagenten definieren, der Skills als Referenzmaterial verwendet, siehe [Subagenten](/docs/de/sub-agents#preload-skills-into-subagents).

751 768 

slack.md +20 −20

Details

33Bevor Sie Claude Code in Slack verwenden, stellen Sie sicher, dass Sie über Folgendes verfügen:33Bevor Sie Claude Code in Slack verwenden, stellen Sie sicher, dass Sie über Folgendes verfügen:

34 34 

35| Anforderung | Details |35| Anforderung | Details |

36| :---------------------- | :----------------------------------------------------------------------------------------------------- |36| :---------------------- | :------------------------------------------------------------------------------------------------------- |

37| Claude Plan | Pro, Max, Team oder Enterprise mit Claude Code-Zugriff (Premium-Plätze oder Chat + Claude Code-Plätze) |37| Claude Plan | Pro, Max, Team oder Enterprise mit Claude Code-Zugriff (Premium-Plätze oder Chat + Claude Code-Plätze) |

38| Claude Code im Web | Der Zugriff auf [Claude Code im Web](/docs/de/claude-code-on-the-web) muss aktiviert sein |38| Cloud-Sitzungen | [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) sind für Ihr Konto aktiviert |

39| GitHub-Konto | Mit Claude Code im Web verbunden mit mindestens einem authentifizierten Repository |39| GitHub-Konto | Mit [claude.ai/code](https://claude.ai/code) verbunden mit mindestens einem authentifizierten Repository |

40| Slack-Authentifizierung | Ihr Slack-Konto ist über die Claude-App mit Ihrem Claude-Konto verknüpft |40| Slack-Authentifizierung | Ihr Slack-Konto ist über die Claude-App mit Ihrem Claude-Konto verknüpft |

41 41 

42<h2 id="setting-up-claude-code-in-slack">42<h2 id="setting-up-claude-code-in-slack">


45 45 

46<Steps>46<Steps>

47 <Step title="Installieren Sie die Claude-App in Slack">47 <Step title="Installieren Sie die Claude-App in Slack">

48 Ein Workspace-Administrator muss die Claude-App aus dem Slack App Marketplace installieren. Besuchen Sie den [Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4) und klicken Sie auf 'Zu Slack hinzufügen", um den Installationsprozess zu starten.48 Ein Workspace-Administrator muss die Claude-App aus dem Slack App Marketplace installieren. Besuchen Sie den [Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4) und klicken Sie auf „Zu Slack hinzufügen", um den Installationsprozess zu starten.

49 </Step>49 </Step>

50 50 

51 <Step title="Verbinden Sie Ihr Claude-Konto">51 <Step title="Verbinden Sie Ihr Claude-Konto">

52 Nach der Installation der App authentifizieren Sie Ihr individuelles Claude-Konto:52 Nach der Installation der App authentifizieren Sie Ihr individuelles Claude-Konto:

53 53 

54 1. Öffnen Sie die Claude-App in Slack, indem Sie auf 'Claude" in Ihrem Apps-Bereich klicken54 1. Öffnen Sie die Claude-App in Slack, indem Sie auf „Claude" in Ihrem Apps-Bereich klicken

55 2. Navigieren Sie zur Registerkarte „App Home"55 2. Öffnen Sie die Registerkarte „App Home"

56 3. Klicken Sie auf „Verbinden", um Ihr Slack-Konto mit Ihrem Claude-Konto zu verknüpfen56 3. Klicken Sie auf „Verbinden", um Ihr Slack-Konto mit Ihrem Claude-Konto zu verknüpfen

57 4. Schließen Sie den Authentifizierungsfluss in Ihrem Browser ab57 4. Schließen Sie den Authentifizierungsfluss in Ihrem Browser ab

58 </Step>58 </Step>

59 59 

60 <Step title="Konfigurieren Sie Claude Code im Web">60 <Step title="Konfigurieren Sie Cloud-Sitzungen">

61 Stellen Sie sicher, dass Ihr Claude Code im Web ordnungsgemäß konfiguriert ist:61 Stellen Sie sicher, dass Cloud-Sitzungen ordnungsgemäß für Ihr Konto konfiguriert sind:

62 62 

63 * Besuchen Sie [claude.ai/code](https://claude.ai/code) und melden Sie sich mit dem gleichen Konto an, das Sie mit Slack verbunden haben63 * Besuchen Sie [claude.ai/code](https://claude.ai/code) und melden Sie sich mit dem gleichen Konto an, das Sie mit Slack verbunden haben

64 * Verbinden Sie Ihr GitHub-Konto, falls noch nicht geschehen64 * Verbinden Sie Ihr GitHub-Konto, falls noch nicht geschehen


66 </Step>66 </Step>

67 67 

68 <Step title="Wählen Sie Ihren Routing-Modus">68 <Step title="Wählen Sie Ihren Routing-Modus">

69 Nach dem Verbinden Ihrer Konten konfigurieren Sie, wie Claude Ihre Nachrichten in Slack verarbeitet. Navigieren Sie zur Claude App Home in Slack, um die Einstellung **Routing Mode** zu finden.69 Nach dem Verbinden Ihrer Konten konfigurieren Sie, wie Claude Ihre Nachrichten in Slack verarbeitet. Öffnen Sie die Claude App Home in Slack, um die Einstellung **Routing Mode** zu finden.

70 70 

71 | Modus | Verhalten |71 | Modus | Verhalten |

72 | :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72 | :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


91 Automatische Erkennung91 Automatische Erkennung

92</h3>92</h3>

93 93 

94Im Code + Chat-Routing-Modus erkennt Claude automatisch, ob Ihre Nachricht eine Codierungsaufgabe ist, wenn Sie @Claude in einem Slack-Kanal oder Thread erwähnen. Codierungsaufgaben werden zu Claude Code im Web weitergeleitet. Alles andere erhält eine reguläre Chat-Antwort. Im Code-only-Modus wird jede @Erwähnung zu Claude Code weitergeleitet.94Im Code + Chat-Routing-Modus erkennt Claude automatisch, ob Ihre Nachricht eine Codierungsaufgabe ist, wenn Sie @Claude in einem Slack-Kanal oder Thread erwähnen. Codierungsaufgaben werden zu einer Claude Code Cloud-Sitzung weitergeleitet. Alles andere erhält eine reguläre Chat-Antwort. Im Code-only-Modus wird jede @Erwähnung zu Claude Code weitergeleitet.

95 95 

96Sie können Claude auch explizit anweisen, eine Anfrage als Codierungsaufgabe zu behandeln, auch wenn es diese nicht automatisch erkennt.96Sie können Claude auch explizit anweisen, eine Anfrage als Codierungsaufgabe zu behandeln, auch wenn es diese nicht automatisch erkennt.

97 97 


1223. **Sitzungserstellung**: Eine neue Claude Code-Sitzung wird auf claude.ai/code erstellt1223. **Sitzungserstellung**: Eine neue Claude Code-Sitzung wird auf claude.ai/code erstellt

1234. **Fortschritts-Updates**: Claude veröffentlicht Status-Updates in Ihrem Slack-Thread, während die Arbeit fortschreitet1234. **Fortschritts-Updates**: Claude veröffentlicht Status-Updates in Ihrem Slack-Thread, während die Arbeit fortschreitet

1245. **Abschluss**: Nach Abschluss @erwähnt Claude Sie mit einer Zusammenfassung und Aktionsschaltflächen1245. **Abschluss**: Nach Abschluss @erwähnt Claude Sie mit einer Zusammenfassung und Aktionsschaltflächen

1256. **Überprüfung**: Klicken Sie auf 'Sitzung anzeigen", um das vollständige Transkript zu sehen, oder auf „PR erstellen", um einen Pull Request zu öffnen1256. **Überprüfung**: Klicken Sie auf „Sitzung anzeigen", um das vollständige Transkript zu sehen, oder auf „PR erstellen", um einen Pull Request zu öffnen

126 126 

127<h2 id="user-interface-elements">127<h2 id="user-interface-elements">

128 Benutzeroberflächenelemente128 Benutzeroberflächenelemente


182 182 

183**In Slack**: Sie sehen Status-Updates, Abschluss-Zusammenfassungen und Aktionsschaltflächen. Das vollständige Transkript wird beibehalten und ist immer zugänglich.183**In Slack**: Sie sehen Status-Updates, Abschluss-Zusammenfassungen und Aktionsschaltflächen. Das vollständige Transkript wird beibehalten und ist immer zugänglich.

184 184 

185**Im Web**: Die vollständige Claude Code-Sitzung mit vollständigem Gesprächsverlauf, alle Code-Änderungen und Dateivorgänge. Sitzungen bleiben in Ihrem Claude Code-Verlauf unter [claude.ai/code](https://claude.ai/code), wo Sie vergangene Sitzungen fortsetzen, auf sie verweisen oder Pull Requests erstellen können.185**Bei claude.ai/code**: Die vollständige Claude Code-Sitzung mit vollständigem Gesprächsverlauf, alle Code-Änderungen und Dateivorgänge. Sitzungen bleiben in Ihrem Claude Code-Verlauf unter [claude.ai/code](https://claude.ai/code), wo Sie vergangene Sitzungen fortsetzen, auf sie verweisen oder Pull Requests erstellen können.

186 186 

187Für Enterprise- und Team-Konten sind Sitzungen, die von Claude in Slack erstellt werden, automatisch für die Organisation sichtbar. Weitere Informationen finden Sie unter [Claude Code im Web-Freigabe](/docs/de/claude-code-on-the-web#share-sessions).187Für Enterprise- und Team-Konten sind Sitzungen, die von Claude in Slack erstellt werden, automatisch für die Organisation sichtbar. Weitere Informationen finden Sie unter [Cloud-Sitzungsfreigabe](/docs/de/claude-code-on-the-web#share-sessions).

188 188 

189<h2 id="best-practices">189<h2 id="best-practices">

190 Best practices190 Best practices


196 196 

197* **Be specific**: Include file names, function names, or error messages when relevant.197* **Be specific**: Include file names, function names, or error messages when relevant.

198* **Provide context**: Mention the repository or project if it's not clear from the conversation.198* **Provide context**: Mention the repository or project if it's not clear from the conversation.

199* **Define success**: Explain what "done" looks like—should Claude write tests? Update documentation? Create a PR?199* **Define success**: Explain what "done" looks like. Should Claude write tests? Update documentation? Create a PR?

200* **Use threads**: Reply in threads when discussing bugs or features so Claude can gather the full context.200* **Use threads**: Reply in threads when discussing bugs or features so Claude can gather the full context.

201 201 

202<h3 id="when-to-use-slack-vs-web">202<h3 id="when-to-use-slack-vs-web">

203 When to use Slack vs. web203 When to use Slack vs. web

204</h3>204</h3>

205 205 

206**Use Slack when**: Context already exists in a Slack discussion, you want to kick off a task asynchronously, or you're collaborating with teammates who need visibility.206**Use Slack when**: Context already exists in a Slack discussion, you want to start a task asynchronously, or you're collaborating with teammates who need visibility.

207 207 

208**Use the web directly when**: You need to upload files, want real-time interaction during development, or are working on longer, more complex tasks.208**Use the web directly when**: You need to upload files, want real-time interaction during development, or are working on longer, more complex tasks.

209 209 


222</h3>222</h3>

223 223 

2241. Überprüfen Sie, ob Ihr Claude-Konto in der Claude App Home verbunden ist2241. Überprüfen Sie, ob Ihr Claude-Konto in der Claude App Home verbunden ist

2252. Überprüfen Sie, ob Sie Claude Code im Web-Zugriff aktiviert haben2252. Überprüfen Sie, ob Cloud-Sitzungen für Ihr Konto aktiviert sind

2263. Stellen Sie sicher, dass Sie mindestens ein GitHub-Repository mit Claude Code verbunden haben2263. Stellen Sie sicher, dass Sie mindestens ein GitHub-Repository mit Claude Code verbunden haben

227 227 

228<h3 id="sessions-from-a-claude-tag-channel-fail-to-start">228<h3 id="sessions-from-a-claude-tag-channel-fail-to-start">


242 Repository wird nicht angezeigt242 Repository wird nicht angezeigt

243</h3>243</h3>

244 244 

2451. Verbinden Sie das Repository in Claude Code im Web unter [claude.ai/code](https://claude.ai/code)2451. Verbinden Sie das Repository unter [claude.ai/code](https://claude.ai/code)

2462. Überprüfen Sie Ihre GitHub-Berechtigungen für dieses Repository2462. Überprüfen Sie Ihre GitHub-Berechtigungen für dieses Repository

2473. Versuchen Sie, Ihr GitHub-Konto zu trennen und erneut zu verbinden2473. Versuchen Sie, Ihr GitHub-Konto zu trennen und erneut zu verbinden

248 248 


267 267 

268* **Nur GitHub**: Repositories müssen auf GitHub sein.268* **Nur GitHub**: Repositories müssen auf GitHub sein.

269* **Ein PR gleichzeitig**: Jede Sitzung kann einen Pull Request erstellen.269* **Ein PR gleichzeitig**: Jede Sitzung kann einen Pull Request erstellen.

270* **Web-Zugriff erforderlich**: Benutzer benötigen Zugriff auf Claude Code im Web; ohne diesen antwortet Claude mit Standard-Chat-Antworten.270* **Cloud-Sitzungszugriff erforderlich**: Benutzer benötigen Zugriff auf [Cloud-Sitzungen](/docs/de/claude-code-on-the-web); ohne diesen antwortet Claude mit Standard-Chat-Antworten.

271 271 

272<h2 id="related-resources">272<h2 id="related-resources">

273 Verwandte Ressourcen273 Verwandte Ressourcen

274</h2>274</h2>

275 275 

276<CardGroup>276<CardGroup>

277 <Card title="Claude Code im Web" icon="globe" href="/docs/de/claude-code-on-the-web">277 <Card title="Claude Code in der Cloud" icon="cloud" href="/docs/de/claude-code-on-the-web">

278 Erfahren Sie mehr über Claude Code im Web278 Erfahren Sie mehr über Cloud-Sitzungen

279 </Card>279 </Card>

280 280 

281 <Card title="Claude für Slack" icon="slack" href="https://claude.com/claude-and-slack">281 <Card title="Claude für Slack" icon="slack" href="https://claude.com/claude-and-slack">

statusline.md +1 −1

Details

86 Erstellen Sie eine Statuszeile Schritt für Schritt86 Erstellen Sie eine Statuszeile Schritt für Schritt

87</h2>87</h2>

88 88 

89Diese Anleitung zeigt, was unter der Haube passiert, indem Sie manuell eine Statuszeile erstellen, die das aktuelle Modell, das Arbeitsverzeichnis und den Prozentsatz der Kontextfensternutzung anzeigt.89Diese Anleitung zeigt, was `/statusline` für Sie einrichtet, indem Sie manuell eine Statuszeile erstellen, die das aktuelle Modell, das Arbeitsverzeichnis und den Prozentsatz der Kontextfensternutzung anzeigt.

90 90 

91<Note>Das Ausführen von [`/statusline`](#use-the-%2Fstatusline-command) mit einer Beschreibung dessen, was Sie möchten, konfiguriert all dies automatisch für Sie.</Note>91<Note>Das Ausführen von [`/statusline`](#use-the-%2Fstatusline-command) mit einer Beschreibung dessen, was Sie möchten, konfiguriert all dies automatisch für Sie.</Note>

92 92 

sub-agents.md +107 −100

Details

32 32 

33Claude Code enthält integrierte Subagenten, die Claude automatisch bei Bedarf verwendet. Jeder erbt die Berechtigungen der übergeordneten Konversation; die meisten werden mit einem eingeschränkten Werkzeugsatz ausgeführt.33Claude Code enthält integrierte Subagenten, die Claude automatisch bei Bedarf verwendet. Jeder erbt die Berechtigungen der übergeordneten Konversation; die meisten werden mit einem eingeschränkten Werkzeugsatz ausgeführt.

34 34 

35Explore und Plan überspringen Ihre CLAUDE.md-Dateien und den Git-Status der übergeordneten Sitzung, um die Recherche schnell und kostengünstig zu halten. Alle anderen integrierten und [benutzerdefinierten Subagenten](#configure-subagents) laden beide. Für die vollständige Aufschlüsselung dessen, was einen Subagenten erreicht, siehe [was beim Start geladen wird](#what-loads-at-startup).35Explore und Plan überspringen Ihre CLAUDE.md-Dateien und den Git-Status der übergeordneten Sitzung, um die Recherche schnell und kostengünstig zu halten. Alle anderen integrierten und [benutzerdefinierten Subagenten](#configure-subagents) laden beide, es sei denn, ihre Definition setzt das Feld [`omitClaudeMd`](#supported-frontmatter-fields), um die Benutzer-, Projekt- und lokalen CLAUDE.md-Dateien zu überspringen. Für die vollständige Aufschlüsselung dessen, was einen Subagenten erreicht, siehe [was beim Start geladen wird](#what-loads-at-startup).

36 36 

37<Tabs>37<Tabs>

38 <Tab title="Explore">38 <Tab title="Explore">


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233Das `--agents`-Flag akzeptiert JSON mit einem `prompt`-Feld plus diese [Frontmatter](#supported-frontmatter-fields)-Felder: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background` und `isolation`. Verwenden Sie `prompt` für den Systemprompt, äquivalent zum Markdown-Body in dateibasierten Subagenten. Jeder Top-Level-Schlüssel im JSON ist der Name des Agenten. Starten Sie einen Namen nicht mit `-`.233Das `--agents`-Flag akzeptiert JSON mit einem `prompt`-Feld plus diese [Frontmatter](#supported-frontmatter-fields)-Felder: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd` und `isolation`. Verwenden Sie `prompt` für den Systemprompt, äquivalent zum Markdown-Body in dateibasierten Subagenten.

234 

235Jeder Top-Level-Schlüssel im JSON ist der Name des Agenten. Starten Sie einen Namen nicht mit `-`.

234 236 

235Für das, was Claude Code mit einem Wert tut, den es nicht laden kann, und die Flags und Umgebungsvariable, die diese Überprüfung überspringen, siehe [`Invalid --agents configuration`](/docs/de/errors#invalid-agents-configuration).237Für das, was Claude Code mit einem Wert tut, den es nicht laden kann, und die Flags und Umgebungsvariable, die diese Überprüfung überspringen, siehe [`Invalid --agents configuration`](/docs/de/errors#invalid-agents-configuration).

236 238 


300Die folgenden Felder können im YAML-Frontmatter verwendet werden. Nur `name` und `description` sind erforderlich.302Die folgenden Felder können im YAML-Frontmatter verwendet werden. Nur `name` und `description` sind erforderlich.

301 303 

302| Feld | Erforderlich | Beschreibung |304| Feld | Erforderlich | Beschreibung |

303| :---------------- | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |305| :---------------- | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

304| `name` | Ja | Eindeutige Kennung mit Kleinbuchstaben und Bindestrichen. [Hooks](/docs/de/hooks#subagentstart) erhalten diesen Wert als `agent_type`. Der Dateiname muss nicht übereinstimmen. Namen können kein `:` enthalten, das für [Plugin-Umfang-Identifier](/docs/de/plugins) wie `my-plugin:reviewer` reserviert ist. Claude Code lädt eine Datei, deren Name eins enthält, nicht und protokolliert einen Fehler im Debug-Protokoll. Vor v2.1.218 wurden solche Namen akzeptiert |306| `name` | Ja | Eindeutige Kennung mit Kleinbuchstaben und Bindestrichen. [Hooks](/docs/de/hooks#subagentstart) erhalten diesen Wert als `agent_type`. Der Dateiname muss nicht übereinstimmen. Namen können kein `:` enthalten, das für [Plugin-Umfang-Identifier](/docs/de/plugins) wie `my-plugin:reviewer` reserviert ist. Claude Code lädt eine Datei, deren Name eins enthält, nicht und protokolliert einen Fehler im Debug-Protokoll. Vor v2.1.218 wurden solche Namen akzeptiert |

305| `description` | Ja | Wann Claude an diesen Subagenten delegieren sollte |307| `description` | Ja | Wann Claude an diesen Subagenten delegieren sollte |

306| `tools` | Nein | [Werkzeuge](#available-tools), die der Subagent verwenden kann. Erbt jedes Werkzeug, das für Subagenten verfügbar ist, wenn weggelassen. Wenn kein Eintrag in der Liste sich zu einem Werkzeug auflöst, schlägt der Subagent normalerweise [fehl zu starten](/docs/de/errors#agent-would-be-spawned-with-zero-tools) mit einem Fehler, der die Einträge benennt. Um Skills in den Kontext zu laden, verwenden Sie das `skills`-Feld statt `Skill` hier aufzulisten |308| `tools` | Nein | [Werkzeuge](#available-tools), die der Subagent verwenden kann. Erbt jedes Werkzeug, das für Subagenten verfügbar ist, wenn weggelassen. Wenn kein Eintrag in der Liste sich zu einem Werkzeug auflöst, schlägt der Subagent normalerweise [fehl zu starten](/docs/de/errors#agent-would-be-spawned-with-zero-tools) mit einem Fehler, der die Einträge benennt. Um Skills in den Kontext zu laden, verwenden Sie das `skills`-Feld statt `Skill` hier aufzulisten |


313| `hooks` | Nein | [Lifecycle-Hooks](#define-hooks-for-subagents) mit Umfang auf diesen Subagenten. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |315| `hooks` | Nein | [Lifecycle-Hooks](#define-hooks-for-subagents) mit Umfang auf diesen Subagenten. Ignoriert für [Plugin-Subagenten](#choose-the-subagent-scope) |

314| `memory` | Nein | [Persistenter Speicherumfang](#enable-persistent-memory): `user`, `project` oder `local`. Ermöglicht sitzungsübergreifendes Lernen |316| `memory` | Nein | [Persistenter Speicherumfang](#enable-persistent-memory): `user`, `project` oder `local`. Ermöglicht sitzungsübergreifendes Lernen |

315| `background` | Nein | Auf `true` setzen, um diesen Subagenten im Hintergrund zu halten, auch wenn Claude ihn im Vordergrund ausführen möchte. Wo [Fork-Modus](#turn-fork-mode-on-or-off) aktiviert ist, führt Claude Code die Subagenten, die Claude spawnt, bereits [im Hintergrund](#run-subagents-in-foreground-or-background) aus |317| `background` | Nein | Auf `true` setzen, um diesen Subagenten im Hintergrund zu halten, auch wenn Claude ihn im Vordergrund ausführen möchte. Wo [Fork-Modus](#turn-fork-mode-on-or-off) aktiviert ist, führt Claude Code die Subagenten, die Claude spawnt, bereits [im Hintergrund](#run-subagents-in-foreground-or-background) aus |

318| `omitClaudeMd` | Nein | Auf `true` setzen, um diesen Subagenten ohne die Benutzer-, Projekt- und lokalen CLAUDE.md-Dateien zu starten; [verwaltete Richtliniendateien](/docs/de/memory#how-claude-md-files-load) werden immer noch geladen, außer für [verwaltete Subagenten](#choose-the-subagent-scope). Verwenden Sie es für Subagenten, die alles, was sie benötigen, aus dem [Delegationsprompt](#what-loads-at-startup) erhalten. Ignoriert, wenn der Agent als Hauptsitzungs-Agent über `--agent` oder die `agent`-Einstellung läuft. Erfordert Claude Code v2.1.271 oder später |

316| `effort` | Nein | Aufwandsstufe, wenn dieser Subagent aktiv ist. Überschreibt die Aufwandsstufe der Sitzung. Standard: erbt von Sitzung. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab |319| `effort` | Nein | Aufwandsstufe, wenn dieser Subagent aktiv ist. Überschreibt die Aufwandsstufe der Sitzung. Standard: erbt von Sitzung. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab |

317| `isolation` | Nein | Auf `worktree` setzen, um den Subagenten in einem temporären [Git-Worktree](/docs/de/worktrees) auszuführen, was ihm eine isolierte Kopie des Repositorys gibt, die standardmäßig von Ihrem [Standard-Branch](/docs/de/worktrees#choose-the-base-branch) verzweigt ist, anstatt vom `HEAD` der übergeordneten Sitzung. Der Worktree wird automatisch bereinigt, wenn der Subagent keine Änderungen vornimmt |320| `isolation` | Nein | Auf `worktree` setzen, um den Subagenten in einem temporären [Git-Worktree](/docs/de/worktrees) auszuführen, was ihm eine isolierte Kopie des Repositorys gibt, die standardmäßig von Ihrem [Standard-Branch](/docs/de/worktrees#choose-the-base-branch) verzweigt ist, anstatt vom `HEAD` der übergeordneten Sitzung. Der Worktree wird automatisch bereinigt, wenn der Subagent keine Änderungen vornimmt |

318| `color` | Nein | Anzeigefarbe für den Subagenten in der Aufgabenliste und dem Transkript. Akzeptiert `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` oder `cyan` |321| `color` | Nein | Anzeigefarbe für den Subagenten in der Aufgabenliste und dem Transkript. Akzeptiert `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` oder `cyan` |


439* `WaitForMcpServers`442* `WaitForMcpServers`

440* `Workflow`443* `Workflow`

441 444 

442Der zweite Filter gilt für Subagenten, die im Hintergrund laufen. Abgesehen von `Agent` und `ExitPlanMode`, die den Bedingungen des ersten Filters folgen, wo immer der Subagent läuft, behält ein Hintergrund-Subagent jedes MCP-Werkzeug, aber nur diese integrierten Werkzeuge: `Read`, `Grep`, `Glob`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage` und `Artifact`. Claude Code entfernt jedes andere integrierte Werkzeug aus einem Hintergrund-Subagenten, ob geerbt oder im `tools`-Feld aufgelistet, sodass die gleiche Definition zu verschiedenen Werkzeugen im Vordergrund und im Hintergrund führen kann. Die Entfernung meldet keinen Fehler, es sei denn, sie hinterlässt die `tools`-Liste [aufgelöst zu nichts](/docs/de/errors#agent-would-be-spawned-with-zero-tools).445Der zweite Filter gilt für Subagenten, die im Hintergrund laufen. Abgesehen von `Agent` und `ExitPlanMode`, die den Bedingungen des ersten Filters folgen, wo immer der Subagent läuft, behält ein Hintergrund-Subagent jedes MCP-Werkzeug, aber nur diese integrierten Werkzeuge: `Read`, `Grep`, `Glob`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage` und `Artifact`, plus [`SubagentHandback`](/docs/de/tools-reference) für einen Subagenten, der durch ihn berichtet. Claude Code entfernt jedes andere integrierte Werkzeug aus einem Hintergrund-Subagenten, ob geerbt oder im `tools`-Feld aufgelistet, sodass die gleiche Definition zu verschiedenen Werkzeugen im Vordergrund und im Hintergrund führen kann. Die Entfernung meldet keinen Fehler, es sei denn, sie hinterlässt die `tools`-Liste [aufgelöst zu nichts](/docs/de/errors#agent-would-be-spawned-with-zero-tools).

443 446 

444[`ListAgents`](/docs/de/cross-session-messaging) folgt diesen Filtern wie jedes integrierte Werkzeug: Ein Vordergrund-Subagent erbt es in Sitzungen, wo sitzungsübergreifendes Messaging aktiviert ist, und ein Hintergrund-Subagent behält es nicht.447[`ListAgents`](/docs/de/cross-session-messaging) folgt diesen Filtern wie jedes integrierte Werkzeug: Ein Vordergrund-Subagent erbt es in Sitzungen, wo sitzungsübergreifendes Messaging aktiviert ist, und ein Hintergrund-Subagent behält es nicht.

445 448 


578 581 

579Die Hauptkonversation's Berechtigungsmodus entscheidet, ob Claude Code den Wert verwendet, den Sie setzen:582Die Hauptkonversation's Berechtigungsmodus entscheidet, ob Claude Code den Wert verwendet, den Sie setzen:

580 583 

581* Wenn die Hauptkonversation in `bypassPermissions`, `acceptEdits` oder [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) ist, läuft der Subagent in diesem gleichen Modus und Claude Code ignoriert den `permissionMode`, den Sie setzen. Unter Auto-Modus bewertet der Klassifizierer die Werkzeugaufrufe des Subagenten mit den Block- und Zulassungsregeln der Hauptkonversation.584* Wenn die Hauptkonversation in `bypassPermissions`, `acceptEdits` oder [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) ist, läuft der Subagent in diesem gleichen Modus und Claude Code ignoriert den `permissionMode`, den Sie setzen. Unter Auto-Modus bewertet der Klassifizierer die Werkzeugaufrufe des Subagenten mit den Block- und Zulassungsregeln der Hauptkonversation. Wenn der Subagent endet, überprüft der Klassifizierer auch seine Arbeit und seinen endgültigen Bericht, bevor der Bericht geliefert wird, wie [Wie Auto-Modus Subagenten handhabt](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) beschreibt.

582* Wenn die Hauptkonversation in `default`, `dontAsk` oder `plan` Modus ist, läuft der Subagent in dem Berechtigungsmodus, den Sie setzen, außer `bypassPermissions`. Ein Subagent, der `bypassPermissions` deklariert, behält stattdessen den Modus der Hauptkonversation. Die `bypassPermissions`-Ausnahme erfordert Claude Code v2.1.267 oder später.585* Wenn die Hauptkonversation in `default`, `dontAsk` oder `plan` Modus ist, läuft der Subagent in dem Berechtigungsmodus, den Sie setzen, außer `bypassPermissions`. Ein Subagent, der `bypassPermissions` deklariert, behält stattdessen den Modus der Hauptkonversation. Die `bypassPermissions`-Ausnahme erfordert Claude Code v2.1.267 oder später.

583 586 

584`permissionMode` akzeptiert diese Werte und `manual` als Alias für `default`:587`permissionMode` akzeptiert diese Werte und `manual` als Alias für `default`:


838Siehe [Hooks](/docs/de/hooks) für das vollständige Hook-Konfigurationsformat.841Siehe [Hooks](/docs/de/hooks) für das vollständige Hook-Konfigurationsformat.

839 842 

840<h2 id="work-with-subagents">843<h2 id="work-with-subagents">

841 Arbeiten Sie mit Subagenten844 Mit Subagenten arbeiten

842</h2>845</h2>

843 846 

844<h3 id="understand-automatic-delegation">847<h3 id="understand-automatic-delegation">

845 Verstehen Sie automatische Delegation848 Automatische Delegierung verstehen

846</h3>849</h3>

847 850 

848Claude delegiert automatisch Aufgaben basierend auf der Aufgabenbeschreibung in Ihrer Anfrage, dem `description`-Feld in Subagenten-Konfigurationen und dem aktuellen Kontext. Um proaktive Delegation zu fördern, fügen Sie Phrasen wie "use proactively" in das `description`-Feld Ihres Subagenten ein.851Claude delegiert Aufgaben automatisch basierend auf der Aufgabenbeschreibung in Ihrer Anfrage, dem Feld `description` in Subagenten-Konfigurationen und dem aktuellen Kontext. Um proaktive Delegierung zu fördern, fügen Sie Phrasen wie „use proactively" in das Beschreibungsfeld Ihres Subagenten ein.

849 852 

850Halten Sie Beschreibungen kurz: Claude Code zeigt eine Startwarnmeldung an, wenn die kombinierten Beschreibungen Ihrer Subagenten das [Limit von 15.000 Token](/docs/de/errors#agent-descriptions-are-over-the-15000-token-limit) überschreiten, und lädt dennoch jeden Subagenten.853Halten Sie Beschreibungen kurz: Claude Code zeigt eine Startwarnmeldung an, wenn die kombinierten Beschreibungen Ihrer Subagenten das [Limit von 15.000 Token](/docs/de/errors#agent-descriptions-are-over-the-15000-token-limit) überschreiten, und lädt dennoch jeden Subagenten.

851 854 

852<h3 id="invoke-subagents-explicitly">855<h3 id="invoke-subagents-explicitly">

853 Rufen Sie Subagenten explizit auf856 Subagenten explizit aufrufen

854</h3>857</h3>

855 858 

856Wenn automatische Delegation nicht ausreicht, können Sie einen Subagenten selbst anfordern. Drei Muster eskalieren von einem einmaligen Vorschlag zu einem sitzungsweiten Standard:859Wenn automatische Delegierung nicht ausreicht, können Sie einen Subagenten selbst anfordern. Drei Muster eskalieren von einem einmaligen Vorschlag zu einem sitzungsweiten Standard:

857 860 

858* **Natürliche Sprache**: Nennen Sie den Subagenten in Ihrem Prompt; Claude entscheidet, ob delegiert werden soll861* **Natürliche Sprache**: Nennen Sie den Subagenten in Ihrer Eingabeaufforderung; Claude entscheidet, ob delegiert werden soll

859* **@-Erwähnung**: Garantiert, dass der Subagent für eine Aufgabe ausgeführt wird862* **@-Erwähnung**: Garantiert, dass der Subagent für eine Aufgabe ausgeführt wird

860* **Sitzungsweit**: Die gesamte Sitzung verwendet den Systemprompt, die Werkzeugbeschränkungen und das Modell dieses Subagenten über das `--agent`-Flag oder die `agent`-Einstellung863* **Sitzungsweit**: Die gesamte Sitzung verwendet die Systemeingabeaufforderung, Werkzeugbeschränkungen und das Modell dieses Subagenten über das Flag `--agent` oder die Einstellung `agent`

861 864 

862Für natürliche Sprache gibt es keine spezielle Syntax. Nennen Sie den Subagenten und Claude delegiert normalerweise:865Für natürliche Sprache gibt es keine spezielle Syntax. Nennen Sie den Subagenten und Claude delegiert normalerweise:

863 866 


866Have the code-reviewer subagent look at my recent changes869Have the code-reviewer subagent look at my recent changes

867```870```

868 871 

869**@-Erwähnen Sie den Subagenten.** Geben Sie `@` ein und wählen Sie den Subagenten aus der Typeahead-Liste, genauso wie Sie Dateien @-erwähnen. Dies stellt sicher, dass dieser spezifische Subagent ausgeführt wird, anstatt die Wahl Claude zu überlassen:872**Erwähnen Sie den Subagenten mit @.** Geben Sie `@` ein und wählen Sie den Subagenten aus der Typvorhersage aus, genauso wie Sie Dateien mit @ erwähnen. Dies stellt sicher, dass dieser spezifische Subagent ausgeführt wird, anstatt die Wahl Claude zu überlassen:

870 873 

871```text wrap theme={null}874```text wrap theme={null}

872@"code-reviewer (agent)" look at the auth changes875@"code-reviewer (agent)" look at the auth changes

873```876```

874 877 

875Ihre vollständige Nachricht geht immer noch an Claude, das den Task-Prompt des Subagenten basierend auf Ihrer Anfrage schreibt. Die @-Erwähnung steuert, welcher Subagent Claude aufruft, nicht welchen Prompt er erhält.878Ihre vollständige Nachricht geht immer noch an Claude, der die Aufgabeneingabeaufforderung des Subagenten basierend auf Ihrer Anfrage schreibt. Die @-Erwähnung steuert, welcher Subagent Claude aufruft, nicht welche Eingabeaufforderung er erhält.

876 879 

877Subagenten, die von einem aktivierten [Plugin](/docs/de/plugins) bereitgestellt werden, erscheinen in der Typeahead-Liste unter ihrem scoped Namen, z. B. `my-plugin:code-reviewer` oder `my-plugin:review:security`, wenn das Plugin [Agenten in Unterordnern organisiert](#choose-the-subagent-scope). Benannte Hintergrund-Subagenten, die derzeit in der Sitzung ausgeführt werden, erscheinen auch in der Typeahead-Liste und zeigen ihren Status neben dem Namen an.880Subagenten, die von einem aktivierten [Plugin](/docs/de/plugins) bereitgestellt werden, erscheinen in der Typvorhersage unter ihrem Bereichsnamen, z. B. `my-plugin:code-reviewer` oder `my-plugin:review:security`, wenn das Plugin [Agenten in Unterordnern organisiert](#choose-the-subagent-scope). Benannte Hintergrund-Subagenten, die derzeit in der Sitzung ausgeführt werden, erscheinen auch in der Typvorhersage und zeigen ihren Status neben dem Namen an.

878 881 

879Sie können die Erwähnung auch manuell eingeben, ohne den Picker zu verwenden: `@agent-<name>` für lokale Subagenten, oder `@agent-` gefolgt vom scoped Namen für Plugin-Subagenten, z. B. `@agent-my-plugin:code-reviewer`. Während Sie diese Form eingeben, zeigt die Typeahead-Liste Dateien statt Agenten an. Die Agent-Erwähnung wird trotzdem aufgelöst, wenn Sie absenden.882Sie können die Erwähnung auch manuell eingeben, ohne die Auswahl zu verwenden: `@agent-<name>` für lokale Subagenten oder `@agent-` gefolgt vom Bereichsnamen für Plugin-Subagenten, z. B. `@agent-my-plugin:code-reviewer`. Während Sie dieses Formular eingeben, zeigt die Typvorhersage Dateienübereinstimmungen anstelle von Agenten. Die Agent-Erwähnung wird trotzdem aufgelöst, wenn Sie absenden.

880 883 

881**Führen Sie die gesamte Sitzung als Subagent aus.** Übergeben Sie [`--agent <name>`](/docs/de/cli-reference), um eine Sitzung zu starten, in der der Hauptthread selbst den Systemprompt, die Werkzeugbeschränkungen und das Modell dieses Subagenten annimmt:884**Führen Sie die gesamte Sitzung als Subagent aus.** Übergeben Sie [`--agent <name>`](/docs/de/cli-reference), um eine Sitzung zu starten, in der der Hauptthread selbst die Systemeingabeaufforderung, Werkzeugbeschränkungen und das Modell dieses Subagenten übernimmt:

882 885 

883```bash theme={null}886```bash theme={null}

884claude --agent code-reviewer887claude --agent code-reviewer

885```888```

886 889 

887Der Systemprompt des Subagenten ersetzt den Standard-Claude Code-Systemprompt vollständig, genauso wie [`--system-prompt`](/docs/de/cli-reference) es tut. `CLAUDE.md`-Dateien und Projekt-Memory werden weiterhin durch den normalen Nachrichtenfluss geladen. Der Agent-Name erscheint als `@<name>` in der Startup-Kopfzeile, damit Sie bestätigen können, dass er aktiv ist.890Die Systemeingabeaufforderung des Subagenten ersetzt die Standard-Claude-Code-Systemeingabeaufforderung vollständig, genauso wie [`--system-prompt`](/docs/de/cli-reference) es tut. `CLAUDE.md`-Dateien und Projektgedächtnis werden immer noch durch den normalen Nachrichtenfluss geladen, auch wenn die Agent-Definition [`omitClaudeMd`](#supported-frontmatter-fields) setzt.

891 

892Der Agent-Name erscheint als `@<name>` in der Startkopfzeile, damit Sie bestätigen können, dass er aktiv ist.

888 893 

889Dies funktioniert mit integrierten und benutzerdefinierten Subagenten, und die Wahl bleibt bestehen, wenn Sie die Sitzung fortsetzen: Claude Code stellt den Systemprompt, die Werkzeugbeschränkungen und das Modell des Agenten zusammen mit der Konversation wieder her. Wenn der Agent nicht mehr vorhanden ist, wenn Sie fortsetzen, wird die Sitzung mit den Standard-Tools fortgesetzt und zeigt eine [Warnung mit dem Namen des Agenten](/docs/de/errors#session-agent-no-longer-available). Für den Systemprompt in beiden Fällen siehe [Systemprompt-Flags in fortgesetzten Konversationen](/docs/de/cli-reference#system-prompt-flags-in-resumed-conversations).894Dies funktioniert mit integrierten und benutzerdefinierten Subagenten, und die Wahl bleibt bestehen, wenn Sie die Sitzung fortsetzen: Claude Code stellt die Werkzeugbeschränkungen und das Modell des Agenten zusammen mit der Konversation wieder her. Wenn der Agent nicht mehr vorhanden ist, wenn Sie fortsetzen, wird die Sitzung mit den Standardwerkzeugen fortgesetzt und zeigt eine [Warnung mit dem Namen des Agenten](/docs/de/errors#session-agent-no-longer-available). Für die Systemeingabeaufforderung in beiden Fällen siehe [Systemeingabeaufforderungs-Flags in fortgesetzten Konversationen](/docs/de/cli-reference#system-prompt-flags-in-resumed-conversations).

890 895 

891Für einen von einem Plugin bereitgestellten Subagenten können Sie einfach den Agent-Namen übergeben und Claude Code findet ihn:896Für einen von einem Plugin bereitgestellten Subagenten können Sie nur den Agent-Namen übergeben und Claude Code findet ihn:

892 897 

893```bash theme={null}898```bash theme={null}

894claude --agent security-reviewer899claude --agent security-reviewer

895```900```

896 901 

897Wenn mehrere Plugins Agenten mit demselben Namen bereitstellen, übergeben Sie den scoped Namen zur Disambiguierung:902Wenn mehrere Plugins Agenten mit demselben Namen bereitstellen, übergeben Sie den Bereichsnamen zur Disambiguierung:

898 903 

899```bash theme={null}904```bash theme={null}

900claude --agent my-plugin:security-reviewer905claude --agent my-plugin:security-reviewer

901```906```

902 907 

903Wenn das Plugin den Agenten in einem Unterordner seines `agents/`-Verzeichnisses platziert, fügen Sie den Unterordner in den scoped Namen ein, z. B. `claude --agent my-plugin:review:security`.908Wenn das Plugin den Agenten in einem Unterordner seines `agents/`-Verzeichnisses platziert, fügen Sie den Unterordner in den Bereichsnamen ein, z. B. `claude --agent my-plugin:review:security`.

904 909 

905Um es zum Standard für jede Sitzung in einem Projekt zu machen, setzen Sie `agent` in `.claude/settings.json`:910Um es zum Standard für jede Sitzung in einem Projekt zu machen, setzen Sie `agent` in `.claude/settings.json`:

906 911 


913Das CLI-Flag überschreibt die Einstellung, wenn beide vorhanden sind.918Das CLI-Flag überschreibt die Einstellung, wenn beide vorhanden sind.

914 919 

915<h3 id="run-subagents-in-foreground-or-background">920<h3 id="run-subagents-in-foreground-or-background">

916 Führen Sie Subagenten im Vordergrund oder Hintergrund aus921 Subagenten im Vordergrund oder Hintergrund ausführen

917</h3>922</h3>

918 923 

919Subagenten können im Vordergrund oder im Hintergrund ausgeführt werden:924Subagenten können im Vordergrund oder im Hintergrund ausgeführt werden:

920 925 

921* **Vordergrund-Subagenten** blockieren die Hauptkonversation bis zur Fertigstellung. Berechtigungsaufforderungen werden an Sie weitergeleitet, wenn sie auftreten.926* **Vordergrund-Subagenten** blockieren die Hauptkonversation bis zur Fertigstellung. Genehmigungseingabeaufforderungen werden an Sie weitergeleitet, wenn sie auftauchen.

922* **Hintergrund-Subagenten** laufen gleichzeitig, während Sie weiterarbeiten. Wenn ein Hintergrund-Subagent einen Werkzeugaufruf erreicht, der Berechtigung benötigt, wird die Aufforderung in Ihrer Hauptsitzung angezeigt und nennt den Subagenten, der fragt. Genehmigen Sie, um den Subagenten fortzusetzen, oder drücken Sie Esc, um diesen einen Werkzeugaufruf zu verweigern, ohne den Subagenten zu stoppen. Vor v2.1.186 lehnten Hintergrund-Subagenten automatisch jeden Werkzeugaufruf ab, der eine Aufforderung ausgelöst hätte.927* **Hintergrund-Subagenten** werden gleichzeitig ausgeführt, während Sie weiterarbeiten. Wenn ein Hintergrund-Subagent einen Werkzeugaufruf erreicht, der eine Genehmigung benötigt, zeigt Claude Code die Eingabeaufforderung in Ihrer Hauptsitzung an und nennt den Subagenten, der fragt. Genehmigen Sie, um den Subagenten fortsetzen zu lassen, oder drücken Sie Esc, um diesen einen Werkzeugaufruf zu verweigern, ohne den Subagenten zu stoppen. Vor v2.1.186 verweigerten Hintergrund-Subagenten automatisch jeden Werkzeugaufruf, der eine Eingabeaufforderung verursacht hätte.

923 928 

924Für jeden Subagenten, den Claude mit dem Agent-Werkzeug spawnt, wählt Claude Code Vordergrund oder Hintergrund aus dem ersten dieser Fälle, der zutrifft:929Für jeden Subagenten, den Claude mit dem Agent-Werkzeug spawnt, wählt Claude Code Vordergrund oder Hintergrund aus dem ersten dieser Fälle, der zutrifft:

925 930 

926* Wenn ein In-Process-[Agent-Team](/docs/de/agent-teams#limitations)-Teamkollege den Subagenten spawnt, führt Claude Code ihn im Vordergrund aus. Claude Code weigert sich mit einem Fehler, einen Subagenten eines Teamkollegen zu spawnen, dessen Definition [`background: true`](#supported-frontmatter-fields) setzt. Wenn [Fork-Modus](#turn-fork-mode-on-or-off) aus ist und Sie [Hintergrund-Aufgaben nicht ausgeschaltet haben](/docs/de/env-vars), weigert sich Claude Code auch mit einem Fehler, wenn ein Teamkollege `run_in_background: true` setzt.931* Wenn ein In-Process-[Agent-Team](/docs/de/agent-teams#limitations)-Teamkollege den Subagenten spawnte, führt Claude Code ihn im Vordergrund aus. Claude Code weigert sich mit einem Fehler, einen Teamkollegen-Subagenten zu spawnen, dessen Definition [`background: true`](#supported-frontmatter-fields) setzt. Wenn [Fork-Modus](#turn-fork-mode-on-or-off) aus ist und Sie [Hintergrund-Aufgaben nicht ausgeschaltet haben](/docs/de/env-vars), weigert sich Claude Code auch mit einem Fehler, wenn ein Teamkollege `run_in_background: true` setzt.

927* Wenn Sie [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/de/env-vars) auf `1` setzen, führt Claude Code den Subagenten im Vordergrund aus, in jeder Art von Sitzung und unabhängig davon, ob Fork-Modus an ist.932* Wenn Sie [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/de/env-vars) auf `1` setzen, führt Claude Code den Subagenten im Vordergrund aus, in jeder Art von Sitzung und unabhängig davon, ob Fork-Modus an ist.

928* Wenn [Fork-Modus](#turn-fork-mode-on-or-off) an ist, wie es standardmäßig in einer interaktiven Sitzung der Fall ist, führt Claude Code den Subagenten im Hintergrund aus, sowohl Fork- als auch Nicht-Fork-Subagenten, und Claude kann nicht den Vordergrund anfordern.933* Wenn [Fork-Modus](#turn-fork-mode-on-or-off) an ist, wie es standardmäßig in einer interaktiven Sitzung der Fall ist, führt Claude Code den Subagenten im Hintergrund aus, sowohl Fork- als auch Non-Fork-Subagenten, und Claude kann nicht den Vordergrund anfordern.

929* Wenn Fork-Modus aus ist, führt Claude den Subagenten standardmäßig im Hintergrund aus und im Vordergrund, wenn er das Ergebnis benötigt, bevor er fortfährt. Fork-Modus ist aus im [nicht-interaktiven Modus](/docs/de/headless) mit `-p` und im Agent SDK, es sei denn, Sie schalten ihn ein. Um einen bestimmten Subagenten im Hintergrund zu halten, auch wenn Claude das Ergebnis benötigt, setzen Sie sein Frontmatter-Feld [`background`](#supported-frontmatter-fields) auf `true`.934* Wenn Fork-Modus aus ist, führt Claude den Subagenten standardmäßig im Hintergrund aus und im Vordergrund, wenn er das Ergebnis benötigt, bevor er fortfährt. Fork-Modus ist aus im [nicht-interaktiven Modus](/docs/de/headless) mit `-p` und im Agent SDK, es sei denn, Sie schalten ihn ein. Um einen bestimmten Subagenten im Hintergrund zu halten, auch wenn Claude das Ergebnis möchte, setzen Sie sein Frontmatter-Feld [`background`](#supported-frontmatter-fields) auf `true`.

930 935 

931Für eine Skill mit `context: fork` folgt Claude Code stattdessen den Regeln in [Führen Sie Skills in einem Subagenten aus](/docs/de/skills#run-skills-in-a-subagent), unabhängig davon, ob Fork-Modus an ist.936Für eine Skill mit `context: fork` folgt Claude Code stattdessen den Regeln in [Führen Sie Skills in einem Subagenten aus](/docs/de/skills#run-skills-in-a-subagent), unabhängig davon, ob Fork-Modus an ist.

932 937 

933Hintergrund-Subagenten laufen mit einem [kleineren integrierten Werkzeugsatz](#available-tools) als Vordergrund-Subagenten, außer für Konversations-Forks und [fortgesetzte](#resume-subagents) Vordergrund-Subagenten.938Hintergrund-Subagenten werden mit einem [kleineren integrierten Werkzeugsatz](#available-tools) als Vordergrund-Subagenten ausgeführt, außer für Konversations-Forks und [fortgesetzte](#resume-subagents) Vordergrund-Subagenten.

934 939 

935Hintergrund-Subagenten zeigen jede Berechtigungsaufforderung in Ihrer Hauptsitzung an. Wenn Sie eine dieser Aufforderungen mit einer Wahl beantworten, die über diesen einen Werkzeugaufruf hinausgeht, z. B. eine Genehmigung, die für den Rest der Sitzung gilt, wendet Claude Code Ihre Antwort auf die gesamte Sitzung an, einschließlich Ihrer Hauptkonversation.940Hintergrund-Subagenten zeigen jede Genehmigungseingabeaufforderung in Ihrer Hauptsitzung an. Wenn Sie eine dieser Eingabeaufforderungen mit einer Wahl beantworten, die über diesen einen Werkzeugaufruf hinausgeht, z. B. eine Genehmigung, die für den Rest der Sitzung gilt, wendet Claude Code Ihre Antwort auf die gesamte Sitzung an, einschließlich Ihrer Hauptkonversation.

936 941 

937Ein Hintergrund-Subagent kann einen Hintergrund-[Bash- oder PowerShell-Befehl](/docs/de/tools-reference#background-commands) [über das Ende seiner Runde hinaus laufen lassen](/docs/de/interactive-mode#how-backgrounding-works). Wenn dieser Befehl endet, sendet Claude Code dem Subagenten eine Benachrichtigung.942Ein Hintergrund-Subagent kann einen Hintergrund-[Bash- oder PowerShell-Befehl](/docs/de/tools-reference#background-commands) [über das Ende seines Zuges hinaus laufen lassen](/docs/de/interactive-mode#how-backgrounding-works). Wenn dieser Befehl endet, sendet Claude Code dem Subagenten eine Benachrichtigung.

938 943 

939Die Ergebnisse eines Hintergrund-Subagenten erreichen Claude als Abschlussbenachrichtigung in einer späteren Runde. Claude wartet auf diese Benachrichtigung, bevor er die Ergebnisse des Subagenten meldet, und wenn Sie zuerst nach Fortschritt fragen, meldet er, dass der Subagent noch läuft. Vor v2.1.211 meldete Claude manchmal Ergebnisse für einen Hintergrund-Subagenten, der noch nicht fertig war.944Die Ergebnisse eines Hintergrund-Subagenten erreichen Claude als Abschlussbenachrichtigung in einem späteren Zug. Claude wartet auf diese Benachrichtigung, bevor er die Ergebnisse des Subagenten meldet, und wenn Sie zuerst nach Fortschritt fragen, meldet er, dass der Subagent noch läuft. Vor v2.1.211 meldete Claude manchmal Ergebnisse für einen Hintergrund-Subagenten, der nicht fertig war.

940 945 

941Sie können auch selbst steuern:946Sie können dies auch selbst steuern:

942 947 

943* Wenn Fork-Modus aus ist, bitten Sie Claude, eine Aufgabe im Hintergrund oder im Vordergrund auszuführen948* Wenn Fork-Modus aus ist, bitten Sie Claude, eine Aufgabe im Hintergrund oder im Vordergrund auszuführen

944* Drücken Sie **Ctrl+B**, um eine laufende Aufgabe in den Hintergrund zu verschieben949* Drücken Sie **Strg+B**, um eine laufende Aufgabe in den Hintergrund zu verschieben

945 950 

946Claude Code löscht eine Zeile eines Hintergrund-Subagenten aus dem Subagenten-Panel unter der Eingabeaufforderung auf eine von zwei Arten, je nachdem, wie der Subagent endete:951Claude Code löscht die Zeile eines Hintergrund-Subagenten aus dem Subagenten-Panel unter der Eingabeaufforderungseingabe auf eine von zwei Arten, je nachdem, wie der Subagent endete:

947 952 

948* Wenn ein Subagent erfolgreich fertig wird, entfernt Claude Code seine Zeile sofort und zeigt außer im [Bildschirmlesemodus](/docs/de/accessibility) `/tasks to see subagents` in der Fußzeile für 30 Sekunden an. Während dieser 30 Sekunden führen Sie [`/tasks`](/docs/de/commands) aus und drücken `Enter` auf dem Subagenten, um sein Transkript zu öffnen. Vor v2.1.232 behielt Claude Code die Zeile 30 Sekunden nach Fertigstellung des Subagenten, genauso wie einen fehlgeschlagenen, und zeigte keinen Fußzeilentipp.953* Wenn ein Subagent erfolgreich beendet wird, entfernt Claude Code seine Zeile sofort und zeigt außer im [Bildschirmlesemodus](/docs/de/accessibility) `/tasks to see subagents` in der Fußzeile für 30 Sekunden an. Führen Sie während dieser 30 Sekunden [`/tasks`](/docs/de/commands) aus und drücken Sie `Enter` auf dem Subagenten, um sein Transkript zu öffnen. Vor v2.1.232 behielt Claude Code die Zeile 30 Sekunden nach Beendigung des Subagenten, genauso wie eine fehlgeschlagene, und zeigte keinen Fußzeilentipp.

949* Wenn ein Subagent fehlschlägt oder Sie ihn stoppen, behält Claude Code seine Zeile für 30 Sekunden. Um die Zeile früher zu löschen, wählen Sie sie aus und drücken `x`.954* Wenn ein Subagent fehlschlägt oder Sie ihn stoppen, behält Claude Code seine Zeile 30 Sekunden lang. Um die Zeile schneller zu löschen, wählen Sie sie aus und drücken Sie `x`.

950 955 

951Ein Hintergrund-Subagent, der abgeschlossen ist, bleibt in [`/tasks`](/docs/de/commands) aufgelistet, als erledigt markiert und unter laufenden Arbeiten sortiert, für dasselbe Fenster wie der Fußzeilentipp oben. Seine Detailansicht bleibt offen, wenn der Subagent fertig ist. Subagenten, die fehlschlagen oder die Sie stoppen, verlassen die Liste. Vor v2.1.208 verließ ein abgeschlossener Subagent die Liste in dem Moment, in dem er fertig war, und seine Detailansicht schloss sich.956Ein Hintergrund-Subagent, der abgeschlossen ist, bleibt in [`/tasks`](/docs/de/commands) aufgelistet, als erledigt markiert und unter laufender Arbeit sortiert, für die gleichen 30 Sekunden wie der Fußzeilentipp. Seine Detailansicht bleibt offen, wenn der Subagent beendet wird. Subagenten, die fehlschlagen oder die Sie stoppen, verlassen die Liste. Vor v2.1.208 verließ ein abgeschlossener Subagent die Liste in dem Moment, in dem er beendet wurde, und seine Detailansicht schloss sich.

952 957 

953<h3 id="subagent-names">958<h3 id="subagent-names">

954 Subagenten-Namen959 Subagenten-Namen

955</h3>960</h3>

956 961 

957Claude kann einem Subagenten einen Namen geben, indem er einen `name`-Parameter beim Agent-Werkzeugaufruf übergibt, und kann dies von sich aus tun, ohne Sie zuerst zu fragen. Der Name macht den Subagenten adressierbar: Claude kann ihn [nach Fertigstellung nach Name ansprechen oder fortsetzen](#resume-subagents).962Claude kann einem Subagenten einen Namen geben, indem er einen `name`-Parameter beim Agent-Werkzeugaufruf übergibt, und kann dies auch von selbst tun, ohne Sie zuerst zu fragen. Der Name macht den Subagenten adressierbar: Claude kann ihn [nach Abschluss nach Name ansprechen oder fortsetzen](#resume-subagents).

958 963 

959In einer interaktiven Sitzung mit aktivierten [Agent-Teams](/docs/de/agent-teams) wird ein Subagent, den Claude aus der Hauptkonversation mit einem `name` spawnt, stattdessen als Teamkollege gestartet, es sei denn, der Aufruf ist ein [Fork](#fork-the-current-conversation) oder übergibt `isolation` beim Aufruf selbst. Ein `isolation`-Wert im Frontmatter des Subagenten verhindert es nicht, und der Teamkollege läuft dann im Arbeitsverzeichnis der Hauptsitzung. Siehe [Wie Claude Agent-Teams startet](/docs/de/agent-teams#how-claude-starts-agent-teams).964In einer interaktiven Sitzung mit aktivierten [Agent-Teams](/docs/de/agent-teams) wird ein Subagent, den Claude aus der Hauptkonversation mit einem `name` spawnt, stattdessen als Teamkollege gestartet, es sei denn, der Aufruf ist ein [Fork](#fork-the-current-conversation) oder übergibt `isolation` beim Aufruf selbst. Ein `isolation`-Wert in der Frontmatter des Subagenten verhindert es nicht, und der Teamkollege wird dann im Arbeitsverzeichnis der Hauptsitzung ausgeführt. Siehe [Wie Claude Agent-Teams startet](/docs/de/agent-teams#how-claude-starts-agent-teams).

960 965 

961<h3 id="api-errors-in-subagents">966<h3 id="api-errors-in-subagents">

962 API-Fehler in Subagenten967 API-Fehler in Subagenten

963</h3>968</h3>

964 969 

965Wenn etwas [einen Subagenten-Response mid-stream unterbricht](/docs/de/errors#the-response-above-may-be-incomplete), und die Teilantwort Text enthält, aber keine Werkzeugaufrufe, fordert Claude Code den Subagenten auf, fortzufahren, anstatt die Ausführung zu beenden. Dies geschieht auch in interaktiven Sitzungen. Die Ausführung endet beim Fehler nur, wenn diese Fortsetzungen aufgebraucht sind.970Wenn etwas [die Antwort eines Subagenten mitten im Stream unterbricht](/docs/de/errors#the-response-above-may-be-incomplete), und die teilweise Antwort Text enthält, aber keine Werkzeugaufrufe, fordert Claude Code den Subagenten auf, fortzufahren, anstatt den Lauf zu beenden. Dies geschieht auch in interaktiven Sitzungen. Der Lauf endet beim Fehler nur, wenn diese Fortsetzungen aufgebraucht sind.

966 971 

967Ab v2.1.199 meldet ein Subagent, dessen Ausführung mit einem API-Fehler endet, z. B. ein Nutzungslimit oder ein wiederholter Serverfehler, diesen Fehler an Claude zurück, anstatt den Fehlertext so zurückzugeben, als wären es die Erkenntnisse des Subagenten. Was Claude erhält, hängt davon ab, wo der Subagent ausgeführt wurde:972Ab v2.1.199 meldet ein Subagent, dessen Lauf bei einem API-Fehler endet, z. B. bei einem Nutzungslimit oder wiederholtem Serverfehler, diesen Fehler an Claude zurück, anstatt den Fehlertext so zurückzugeben, als wären es die Erkenntnisse des Subagenten. Was Claude erhält, hängt davon ab, wo der Subagent lief:

968 973 

969* **Vordergrund**: Wenn ein Ratenlimit, eine Überlastung oder ein Serverfehler einen Subagenten unterbricht, der bereits Textausgabe erzeugt hat, gibt das Agent-Werkzeug diese Teilausgabe mit einem Hinweis zurück, dass der Subagent unterbrochen wurde und seine Aufgabe nicht abgeschlossen hat. Ein Subagent, der nichts erzeugt hat, oder dessen einzige Ausgabe Werkzeugaufrufe waren, schlägt mit [`Agent terminated early due to an API error`](/docs/de/errors#agent-terminated-early-due-to-an-api-error) fehl, gefolgt von der Fehlerdetail. In v2.1.199 gab ein Ratenlimit, eine Überlastung oder ein Serverfehler, der die Form nur mit Werkzeugaufrufen unterbrach, ein leeres Teilergebnis zurück, das nur den Unterbrechungshinweis enthielt.974* **Vordergrund**: Wenn ein Ratenlimit, eine Überlastung oder ein Serverfehler einen Subagenten unterbricht, der bereits Textausgabe produziert hat, gibt das Agent-Werkzeug diese teilweise Ausgabe mit einer Notiz zurück, dass der Subagent unterbrochen wurde und seine Aufgabe nicht abgeschlossen hat. Ein Subagent, der nichts produziert hat oder dessen einzige Ausgabe Werkzeugaufrufe waren, schlägt mit [`Agent terminated early due to an API error`](/docs/de/errors#agent-terminated-early-due-to-an-api-error) fehl, gefolgt von der Fehlerdetail. In v2.1.199 gab ein Ratenlimit, eine Überlastung oder ein Serverfehler, der die Form „nur Werkzeugaufrufe" unterbrach, ein leeres teilweises Ergebnis zurück, das nur die Unterbrechungsnotiz enthielt.

970* **Hintergrund**: Der Subagent wird als fehlgeschlagen markiert, und die Nachricht, die Claude erhält, wenn er endet, nennt den API-Fehler und enthält die letzte Ausgabe des Subagenten, sodass Teilarbeit nicht verloren geht.975* **Hintergrund**: Der Subagent wird als fehlgeschlagen markiert, und die Nachricht, die Claude erhält, wenn er endet, nennt den API-Fehler und enthält die letzte Ausgabe des Subagenten, sodass teilweise Arbeit nicht verloren geht.

971 976 

972Wenn Sie eine [Fallback-Modellkette](/docs/de/model-config#fallback-model-chains) konfigurieren und ein Subagent auf einen Fehler trifft, den die Kette abdeckt, z. B. dass sein Modell nicht verfügbar ist, wechselt Claude Code den Subagenten zum ersten Modell in der Kette, das die Anfrage akzeptiert. Der Subagent arbeitet weiter, anstatt beim Fehler zu enden.977Wenn Sie eine [Fallback-Modellkette](/docs/de/model-config#fallback-model-chains) konfigurieren und ein Subagent auf einen Fehler trifft, den die Kette abdeckt, z. B. dass sein Modell nicht verfügbar ist, wechselt Claude Code den Subagenten zum ersten Modell in der Kette, das die Anfrage akzeptiert. Der Subagent arbeitet weiter, anstatt beim Fehler zu enden.

973 978 

974Sobald der zugrunde liegende API-Fehler behoben ist, bitten Sie Claude, die Aufgabe zu wiederholen oder [setzen Sie den Subagenten fort](#resume-subagents).979Sobald der zugrunde liegende API-Fehler behoben ist, bitten Sie Claude, die Aufgabe zu wiederholen oder [den Subagenten fortzusetzen](#resume-subagents).

975 980 

976<h3 id="subagent-output-scanning">981<h3 id="subagent-output-scanning">

977 Subagenten-Ausgabe-Scanning982 Subagenten-Ausgabe-Scanning

978</h3>983</h3>

979 984 

980Claude Code scannt den abschließenden Bericht jedes Subagenten, bevor Claude ihn liest. Ein Subagent kann Dateien, Webseiten oder Befehlsausgaben gelesen haben, die Sie nie überprüft haben, und Text aus diesen Quellen kann Anweisungen enthalten, die auf die Hauptkonversation abzielen. Der Scan entfernt oder umformuliert niemals etwas; er nimmt zwei Arten von Änderungen vor, die Sie in einem Bericht bemerken können:985Claude Code scannt den endgültigen Bericht jedes Subagenten, bevor Claude ihn liest. Ein Subagent kann Dateien, Webseiten oder Befehlsausgaben gelesen haben, die Sie nie überprüft haben, und Text aus diesen Quellen kann Anweisungen enthalten, die auf die Hauptkonversation abzielen. Der Scan entfernt oder umformuliert niemals etwas; er nimmt zwei Arten von Änderungen vor, die Sie möglicherweise in einem Bericht bemerken:

981 986 

982* **Backslash-Einfügung**: Der Scan fügt einen Backslash in Text ein, der Claude Code's eigene Ausgabe imitiert, z. B. ein `<system-reminder>`-Tag oder eine Zeile, die mit `Human:` oder `Assistant:` beginnt, damit die Imitation als gewöhnlicher Text gelesen wird, anstatt als Teil der Konversation verwechselt zu werden.987* **Backslash-Einfügung**: Der Scan fügt einen Backslash in Text ein, der Claude Codes eigene Ausgabe imitiert, z. B. ein `<system-reminder>`-Tag oder eine Zeile, die mit `Human:` oder `Assistant:` beginnt, damit die Imitation als gewöhnlicher Text gelesen wird, anstatt als Teil der Konversation verwechselt zu werden.

983* **Marker-Zeile**: Der Scan stellt eine Zeile voran, die mit `[harness: subagent output matched instruction-shaped pattern(s):` beginnt, wenn der Bericht ein Tag wie `<system-reminder>` imitiert oder Berechtigungseinstellungen wie `bypassPermissions` oder `--dangerously-skip-permissions` erwähnt. Berechtigungseinstellungs-Erwähnungen erhalten die Marker-Zeile, aber der Text selbst bleibt wie geschrieben.988* **Marker-Zeile**: Der Scan stellt eine Zeile voran, die mit `[harness: subagent output matched instruction-shaped pattern(s):` beginnt, wenn der Bericht ein Tag wie `<system-reminder>` imitiert oder Genehmigungseinstellungen wie `bypassPermissions` oder `--dangerously-skip-permissions` erwähnt. Genehmigungseinstellungs-Erwähnungen erhalten die Marker-Zeile, aber der Text selbst bleibt wie geschrieben.

984 989 

985Der Scan beurteilt nicht, ob Inhalte bösartig sind, und er ändert nicht, was eine Anweisung in einem Bericht tun kann: Ein Werkzeugaufruf, zu dem der Bericht Claude führt, durchläuft immer noch die [Berechtigungsprüfungen](/docs/de/permissions) und [Sandboxing](/docs/de/sandboxing) der Sitzung. Es ist kein Ersatz für [Einschränkung, was ein Subagent erreichen kann](#control-subagent-capabilities).990Der Scan beurteilt nicht, ob Inhalte bösartig sind, und er ändert nicht, was eine Anweisung in einem Bericht tun kann: Ein Werkzeugaufruf, zu dem der Bericht Claude führt, durchläuft immer noch die [Genehmigungsprüfungen](/docs/de/permissions) und [Sandboxing](/docs/de/sandboxing) der Sitzung. Es ist kein Ersatz für [Einschränkung, was ein Subagent erreichen kann](#control-subagent-capabilities).

986 991 

987<Note>992<Note>

988 Subagenten-Ausgabe-Scanning erfordert Claude Code v2.1.210 oder später.993 Das Subagenten-Ausgabe-Scanning erfordert Claude Code v2.1.210 oder später.

989</Note>994</Note>

990 995 

991<h3 id="common-patterns">996<h3 id="common-patterns">


996 Isolieren Sie hochvolumige Operationen1001 Isolieren Sie hochvolumige Operationen

997</h4>1002</h4>

998 1003 

999Eine der effektivsten Verwendungen für Subagenten ist die Isolierung von Operationen, die große Mengen an Ausgaben erzeugen. Das Ausführen von Tests, das Abrufen von Dokumentation oder die Verarbeitung von Protokolldateien kann erheblichen Kontext verbrauchen. Durch die Delegierung an einen Subagenten bleibt die ausführliche Ausgabe im Kontext des Subagenten, während nur die relevante Zusammenfassung zu Ihrer Hauptkonversation zurückkehrt.1004Eine der effektivsten Verwendungen für Subagenten ist die Isolierung von Operationen, die große Mengen an Ausgabe produzieren. Das Ausführen von Tests, das Abrufen von Dokumentation oder das Verarbeiten von Protokolldateien kann erheblichen Kontext verbrauchen. Durch die Delegierung dieser an einen Subagenten bleibt die ausführliche Ausgabe im Kontext des Subagenten, während nur die relevante Zusammenfassung zu Ihrer Hauptkonversation zurückkehrt.

1000 1005 

1001```text wrap theme={null}1006```text wrap theme={null}

1002Use a subagent to run the test suite and report only the failing tests with their error messages1007Use a subagent to run the test suite and report only the failing tests with their error messages

1003```1008```

1004 1009 

1005<h4 id="run-parallel-research">1010<h4 id="run-parallel-research">

1006 Führen Sie parallele Recherche durch1011 Führen Sie parallele Recherchen durch

1007</h4>1012</h4>

1008 1013 

1009Für unabhängige Untersuchungen spawnen Sie mehrere Subagenten, um gleichzeitig zu arbeiten:1014Für unabhängige Untersuchungen spawnen Sie mehrere Subagenten, um gleichzeitig zu arbeiten:


1012Research the authentication, database, and API modules in parallel using separate subagents1017Research the authentication, database, and API modules in parallel using separate subagents

1013```1018```

1014 1019 

1015Jeder Subagent erkundet seinen Bereich unabhängig, dann synthetisiert Claude die Erkenntnisse. Dies funktioniert am besten, wenn die Recherchepfade nicht voneinander abhängen.1020Jeder Subagent erkundet seinen Bereich unabhängig, dann synthetisiert Claude die Erkenntnisse. Dies funktioniert am besten, wenn die Forschungspfade nicht voneinander abhängen.

1016 1021 

1017<Warning>1022<Warning>

1018 Wenn Subagenten abgeschlossen sind, kehren ihre Ergebnisse zu Ihrer Hauptkonversation zurück. Das Ausführen vieler Subagenten, die jeweils detaillierte Ergebnisse zurückgeben, kann erheblichen Kontext verbrauchen.1023 Wenn Subagenten abgeschlossen sind, kehren ihre Ergebnisse zu Ihrer Hauptkonversation zurück. Das Ausführen vieler Subagenten, die jeweils detaillierte Ergebnisse zurückgeben, kann erheblichen Kontext verbrauchen.

1019</Warning>1024</Warning>

1020 1025 

1021Für Aufgaben, die anhaltende Parallelität benötigen oder Ihr Kontextfenster nicht passen, führen Sie sie in [separaten Sitzungen](/docs/de/agents) aus und lassen Sie Claude [Erkenntnisse zwischen ihnen weitergeben](/docs/de/cross-session-messaging).1026Für Arbeit, die parallel weiterläuft oder nicht in ein Kontextfenster passt, führen Sie sie in [separaten Sitzungen](/docs/de/agents) aus und lassen Sie Claude [Erkenntnisse zwischen ihnen weitergeben](/docs/de/cross-session-messaging).

1022 1027 

1023<h4 id="chain-subagents">1028<h4 id="chain-subagents">

1024 Verketten Sie Subagenten1029 Verketten Sie Subagenten

1025</h4>1030</h4>

1026 1031 

1027Für mehrstufige Workflows bitten Sie Claude, Subagenten nacheinander zu verwenden. Jeder Subagent vervollständigt seine Aufgabe und gibt Ergebnisse an Claude zurück, das dann relevanten Kontext an den nächsten Subagenten übergibt.1032Für mehrstufige Workflows bitten Sie Claude, Subagenten nacheinander zu verwenden. Jeder Subagent schließt seine Aufgabe ab und gibt Ergebnisse an Claude zurück, der dann relevanten Kontext an den nächsten Subagenten übergibt.

1028 1033 

1029```text wrap theme={null}1034```text wrap theme={null}

1030Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them1035Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them


1037Verwenden Sie die **Hauptkonversation**, wenn:1042Verwenden Sie die **Hauptkonversation**, wenn:

1038 1043 

1039* Die Aufgabe häufiges Hin und Her oder iterative Verfeinerung benötigt1044* Die Aufgabe häufiges Hin und Her oder iterative Verfeinerung benötigt

1040* Mehrere Phasen teilen erheblichen Kontext, z. B. Planung, Implementierung und Testen1045* Mehrere Phasen teilen erheblichen Kontext, z. B. Planung, Implementierung und Tests

1041* Sie eine schnelle, gezielte Änderung vornehmen1046* Sie eine schnelle, gezielte Änderung vornehmen

1042* Latenz ist wichtig. Ein Subagent, der kein [Fork](#fork-the-current-conversation) ist, startet von vorne und benötigt möglicherweise Zeit, um Kontext zu sammeln1047* Latenz wichtig ist. Ein Subagent, der kein [Fork](#fork-the-current-conversation) ist, startet von vorne und benötigt möglicherweise Zeit, um Kontext zu sammeln

1043 1048 

1044Verwenden Sie **Subagenten**, wenn:1049Verwenden Sie **Subagenten**, wenn:

1045 1050 

1046* Die Aufgabe ausführliche Ausgaben erzeugt, die Sie nicht in Ihrem Hauptkontext benötigen1051* Die Aufgabe ausführliche Ausgabe produziert, die Sie nicht in Ihrem Hauptkontext benötigen

1047* Sie spezifische Werkzeugbeschränkungen oder Berechtigungen durchsetzen möchten1052* Sie spezifische Werkzeugbeschränkungen oder Genehmigungen erzwingen möchten

1048* Die Arbeit in sich geschlossen ist und eine Zusammenfassung zurückgeben kann1053* Die Arbeit in sich geschlossen ist und eine Zusammenfassung zurückgeben kann

1049 1054 

1050Erwägen Sie stattdessen [Skills](/docs/de/skills), wenn Sie wiederverwendbare Prompts oder Workflows möchten, die im Kontext der Hauptkonversation ausgeführt werden, anstatt in isoliertem Subagenten-Kontext.1055Erwägen Sie stattdessen [Skills](/docs/de/skills), wenn Sie wiederverwendbare Eingabeaufforderungen oder Workflows möchten, die im Hauptkonversationskontext ausgeführt werden, anstatt in isoliertem Subagenten-Kontext.

1051 1056 

1052Für eine Frage zu etwas, das bereits in Ihrer Konversation ist, verwenden Sie stattdessen [`/btw`](/docs/de/interactive-mode#side-questions-with-%2Fbtw). Es sieht Ihren vollständigen Kontext, hat aber keinen Werkzeugzugriff, und die Antwort wird nicht zur Historie hinzugefügt.1057Für eine Frage zu etwas, das bereits in Ihrer Konversation vorhanden ist, verwenden Sie [`/btw`](/docs/de/interactive-mode#side-questions-with-%2Fbtw) anstelle eines Subagenten. Es sieht Ihren vollständigen Kontext, hat aber keinen Werkzeugzugriff, und die Antwort wird nicht zur Historie hinzugefügt.

1053 1058 

1054<h3 id="let-subagents-spawn-their-own-subagents">1059<h3 id="let-subagents-spawn-their-own-subagents">

1055 Lassen Sie Subagenten ihre eigenen Subagenten spawnen1060 Lassen Sie Subagenten ihre eigenen Subagenten spawnen


1057 1062 

1058Standardmäßig kann ein Subagent seine eigenen Subagenten spawnen, bis zu drei Ebenen unter der Hauptkonversation. Bei der Tiefengrenze entzieht Claude Code das `Agent`-Werkzeug jedem Subagenten außer einem [Fork](#fork-the-current-conversation), sodass ein Subagent bei der Grenze seine delegierte Arbeit selbst erledigt und eine Zusammenfassung zurückgibt. Ein Fork bei der Grenze behält `Agent` in seiner geerbten Werkzeugliste, aber das Werkzeug gibt stattdessen einen Fehler zurück.1063Standardmäßig kann ein Subagent seine eigenen Subagenten spawnen, bis zu drei Ebenen unter der Hauptkonversation. Bei der Tiefengrenze entzieht Claude Code das `Agent`-Werkzeug jedem Subagenten außer einem [Fork](#fork-the-current-conversation), sodass ein Subagent bei der Grenze seine delegierte Arbeit selbst erledigt und eine Zusammenfassung zurückgibt. Ein Fork bei der Grenze behält `Agent` in seiner geerbten Werkzeugliste, aber das Werkzeug gibt stattdessen einen Fehler zurück.

1059 1064 

1060Verschachtelte Subagenten eignen sich für eine delegierte Aufgabe, die sich selbst in parallele Unteraufgaben aufteilt, z. B. ein Reviewer-Subagent, der einen Verifier pro Befund versendet, sodass die Zwischenausgabe niemals Ihre Hauptkonversation erreicht. Nur die Zusammenfassung des Top-Level-Subagenten kehrt zu Ihnen zurück.1065Verschachtelte Subagenten eignen sich für eine delegierte Aufgabe, die sich selbst in parallele Unteraufgaben aufteilt, z. B. ein Reviewer-Subagent, der einen Verifizierer pro Befund versendet. In einer interaktiven Sitzung kehrt nur die Zusammenfassung des Top-Level-Subagenten zu Ihnen zurück und die Zwischenausgabe bleibt aus Ihrer Hauptkonversation: Ein Subagent, der Hintergrund-Subagenten startet, wartet auf deren Ergebnisse, bevor er beendet wird. Im [nicht-interaktiven Modus](/docs/de/headless) und dem Agent SDK wartet der startende Subagent nicht, sodass ein verschachtelter Hintergrund-Subagent, der beendet wird, nachdem sein Starter beendet wurde, stattdessen an Ihre Hauptkonversation meldet.

1061 1066 

1062Um die Grenze zu ändern, setzen Sie [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/de/env-vars) auf die Anzahl der Subagenten-Ebenen, die Sie unter Ihrer Hauptkonversation möchten. Zum Beispiel begrenzt dieser Eintrag in [`settings.json`](/docs/de/settings) die Verschachtelung auf zwei Ebenen:1067Um die Grenze zu ändern, setzen Sie [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/de/env-vars) auf die Anzahl der Subagenten-Ebenen, die Sie unter Ihrer Hauptkonversation möchten. Beispielsweise begrenzt dieser Eintrag in [`settings.json`](/docs/de/settings) die Verschachtelung auf zwei Ebenen:

1063 1068 

1064```json theme={null}1069```json theme={null}

1065{1070{


1071 1076 

1072Mit diesem Wert können Ihre Subagenten an eine zweite Ebene ihrer eigenen delegieren, und diese zweite Ebene kann nicht weiter delegieren. Setzen Sie `1`, um Verschachtelung auszuschalten.1077Mit diesem Wert können Ihre Subagenten an eine zweite Ebene ihrer eigenen delegieren, und diese zweite Ebene kann nicht weiter delegieren. Setzen Sie `1`, um Verschachtelung auszuschalten.

1073 1078 

1074Ein verschachtelter Subagent wird genauso konfiguriert wie ein Top-Level-Subagent und wird aus denselben [Scopes](#choose-the-subagent-scope) aufgelöst. Um zu verhindern, dass ein Subagent spawnt, während Verschachtelung an ist, z. B. ein Reviewer, der schreibgeschützt bleiben sollte, lassen Sie `Agent` aus seiner [`tools`](#available-tools)-Liste weg oder fügen Sie es zu `disallowedTools` hinzu.1079Ein verschachtelter Subagent wird genauso konfiguriert wie ein Top-Level-Subagent und wird aus denselben [Bereichen](#choose-the-subagent-scope) aufgelöst. Um zu verhindern, dass ein Subagent spawnt, während Verschachtelung an ist, z. B. ein Reviewer, der schreibgeschützt bleiben sollte, lassen Sie `Agent` aus seiner [`tools`](#available-tools)-Liste weg oder fügen Sie es zu `disallowedTools` hinzu.

1075 1080 

1076Claude Code zeigt verschachtelte Subagenten als Baum im Subagenten-Panel unter der Eingabeaufforderung an und markiert jede Zeile, die noch Nachkommen hat, mit einer `(+N)`-Anzahl von ihnen. Öffnen Sie eine Zeile, um die Geschwister und direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main` zu sehen.1081Claude Code zeigt verschachtelte Subagenten als Baum im Subagenten-Panel unter der Eingabeaufforderungseingabe an und markiert jede Zeile, die noch Nachkommen hat, mit einer `(+N)`-Anzahl von ihnen. Öffnen Sie eine Zeile, um die Geschwister und direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main` zu sehen.

1077 1082 

1078<Note>1083<Note>

1079 Frühere Versionen verwendeten unterschiedliche Standardwerte:1084 Frühere Versionen verwendeten unterschiedliche Standards:

1080 1085 

1081 * **v2.1.172 bis v2.1.216**: Subagenten konnten standardmäßig verschachtelt werden, bis zu fünf Ebenen tief, und die Grenze konnte nicht geändert werden.1086 * **v2.1.172 bis v2.1.216**: Subagenten konnten standardmäßig verschachtelt werden, bis zu fünf Ebenen tief, und die Grenze konnte nicht geändert werden.

1082 * **v2.1.217 bis v2.1.218**: Die Grenze betrug standardmäßig eins, sodass ein Subagent nicht seine eigenen spawnen konnte, es sei denn, Sie erhöhten sie; v2.1.219 erhöhte den Standard auf drei.1087 * **v2.1.217 bis v2.1.218**: Die Grenze betrug standardmäßig eins, sodass ein Subagent nicht seine eigenen spawnen konnte, es sei denn, Sie erhöhten sie; v2.1.219 erhöhte den Standard auf drei.

1083</Note>1088</Note>

1084 1089 

1085<h3 id="concurrent-subagent-limit">1090<h3 id="concurrent-subagent-limit">

1086 Gleichzeitige Subagenten-Grenze1091 Gleichzeitiges Subagenten-Limit

1087</h3>1092</h3>

1088 1093 

1089Zwei Grenzen steuern die Subagenten-Nutzung, jede mit ihrer eigenen Variablen: Diese stoppt Claude daran, mehr Subagenten zu spawnen, während zu viele laufen, und die [Tiefengrenze](#let-subagents-spawn-their-own-subagents) begrenzt, wie tief Subagenten verschachtelt sind. Es gibt keine Grenze für die Gesamtzahl der Subagenten, die Claude über eine Sitzung spawnen kann.1094Zwei Grenzen steuern die Subagenten-Nutzung, jede mit ihrer eigenen Variablen: Diese stoppt Claude daran, mehr Subagenten zu spawnen, während zu viele laufen, und die [Tiefengrenze](#let-subagents-spawn-their-own-subagents) begrenzt, wie tief Subagenten verschachtelt sind. Es gibt keine Grenze für die Gesamtzahl der Subagenten, die Claude über eine Sitzung spawnen kann.

1090 1095 

1091Standardmäßig schlägt das Spawnen eines anderen mit dem Agent-Werkzeug fehl mit `Concurrent subagent limit reached`, wenn 20 Subagenten in einer Sitzung laufen, und der Fehler teilt Claude mit, nicht zu wiederholen. Das Spawnen gelingt wieder, wenn die laufende Anzahl unter die Grenze fällt. Um die Grenze zu ändern, setzen Sie [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/de/env-vars) auf eine beliebige positive ganze Zahl. Sitzungen mit aktiviertem [ultracode](/docs/de/model-config#adjust-effort-level) sind ausgenommen: Die Grenze wird dort nicht durchgesetzt. Erfordert Claude Code v2.1.217 oder später.1096Standardmäßig schlägt das Spawnen eines anderen mit dem Agent-Werkzeug fehl, wenn 20 Subagenten in einer Sitzung laufen, mit `Concurrent subagent limit reached`, und der Fehler teilt Claude mit, nicht zu wiederholen. Das Spawnen ist erfolgreich, wenn die laufende Anzahl unter die Grenze fällt. Um die Grenze zu ändern, setzen Sie [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/de/env-vars) auf eine beliebige positive ganze Zahl. Sitzungen mit aktivem [ultracode](/docs/de/model-config#adjust-effort-level) sind ausgenommen: Die Grenze wird dort nicht erzwungen. Erfordert Claude Code v2.1.217 oder später.

1092 1097 

1093Die Grenze blockiert nur Subagenten, die Claude mit dem Agent-Werkzeug spawnt, aber andere Ausführungen belegen dieselben Slots:1098Die Grenze blockiert nur Subagenten, die Claude mit dem Agent-Werkzeug spawnt, aber andere Läufe belegen die gleichen Slots:

1094 1099 

1095* Ein In-Session-Fork, den Sie mit [`/subtask`](#fork-the-current-conversation) starten, belegt einen Slot, während er läuft, und wird niemals durch die Grenze blockiert.1100* Ein In-Session-Fork, den Sie mit [`/subtask`](#fork-the-current-conversation) starten, belegt einen Slot während der Ausführung und wird niemals durch die Grenze blockiert.

1096* [Fortsetzen eines Subagenten](#resume-subagents), der bereits fertig ist, belegt einen frischen Slot, ohne die Grenze zu prüfen, sodass Fortsetzungen die laufende Anzahl über die Grenze hinaus drücken können.1101* [Fortsetzen eines Subagenten](#resume-subagents), der bereits beendet ist, belegt einen neuen Slot, ohne die Grenze zu überprüfen, sodass Fortsetzungen die laufende Anzahl über die Grenze hinaus drücken können.

1097 1102 

1098Agenten, die andere Funktionen ausführen, z. B. [Workflow](/docs/de/workflows)-Agenten und [Agent-Team](/docs/de/agent-teams)-Teamkollegen, folgen stattdessen ihren eigenen Grenzen.1103Agenten, die andere Funktionen ausführen, z. B. [Workflow](/docs/de/workflows)-Agenten und [Agent-Team](/docs/de/agent-teams)-Teamkollegen, folgen stattdessen ihren eigenen Grenzen.

1099 1104 


1102</h3>1107</h3>

1103 1108 

1104<h4 id="what-loads-at-startup">1109<h4 id="what-loads-at-startup">

1105 Was wird beim Start geladen1110 Was beim Start geladen wird

1106</h4>1111</h4>

1107 1112 

1108Jeder Subagent startet mit einem frischen, isolierten Kontextfenster. Er sieht nicht Ihre Konversationshistorie, die Skills, die Sie bereits aufgerufen haben, oder die Dateien, die Claude bereits gelesen hat. Claude verfasst eine Delegierungsnachricht, die die Aufgabe zusammenfasst, und der Subagent arbeitet von dort aus. Die Ausnahme ist ein [Fork](#fork-the-current-conversation), der die übergeordnete Konversation erbt, anstatt von vorne zu beginnen.1113Jeder Subagent startet mit einem frischen, isolierten Kontextfenster. Er sieht Ihre Konversationshistorie nicht, die Skills, die Sie bereits aufgerufen haben, oder die Dateien, die Claude bereits gelesen hat. Claude verfasst eine Delegierungsnachricht, die die Aufgabe zusammenfasst, und der Subagent arbeitet von dort aus. Die Ausnahme ist ein [Fork](#fork-the-current-conversation), der die übergeordnete Konversation erbt, anstatt von vorne zu beginnen.

1114 

1115Der anfängliche Kontext eines Non-Fork-Subagenten enthält:

1109 1116 

1110Der anfängliche Kontext eines Nicht-Fork-Subagenten enthält:1117* **Systemeingabeaufforderung**: die eigene Eingabeaufforderung des Agenten plus Umgebungsdetails, die Claude Code anfügt, nicht die Claude-Code-Systemeingabeaufforderung. Benutzerdefinierte Subagenten definieren ihre im [Markdown-Body](#write-subagent-files) oder im Feld `prompt`. Integrierte Agenten haben vordefinierte Eingabeaufforderungen.

1118* **Aufgabennachricht**: die Delegierungseingabeaufforderung, die Claude schreibt, wenn es die Arbeit übergibt.

1119* **CLAUDE.md-Dateien**: jede Ebene der [CLAUDE.md-Hierarchie](/docs/de/memory#how-claude-md-files-load), die die Hauptkonversation lädt, einschließlich `~/.claude/CLAUDE.md`, Projektregeln, `CLAUDE.local.md`, verwaltete Richtliniendateien und alle [`AGENTS.md`-Dateien](/docs/de/memory#agents-md), die als Projektanweisungen geladen werden. Die integrierten Explore- und Plan-Agenten überspringen dies. Ein Subagent, dessen Definition [`omitClaudeMd`](#supported-frontmatter-fields) setzt, lädt nur die verwalteten Richtliniendateien oder gar keine, wenn die Definition aus [verwalteten Einstellungen](#choose-the-subagent-scope) stammt.

1120* **Git-Status**: Ein Snapshot, der zu Beginn der übergeordneten Sitzung aufgenommen wurde. Fehlt, wenn das Arbeitsverzeichnis kein Git-Repository ist oder wenn [`includeGitInstructions`](/docs/de/settings-reference#includegitinstructions) `false` ist. Explore und Plan überspringen es unabhängig davon.

1121* **Vorgeladene Skills**: Vollständiger Inhalt jeder Skill, die im Feld [`skills`](#preload-skills-into-subagents) des Agenten benannt ist. Integrierte Agenten laden Skills nicht vor.

1122* **Geschwister-Roster**: Eine Systemerinnerung, die `main` und jeden anderen benannten Agenten in der Sitzung auflistet, jeweils ein gültiger `to`-Wert für [`SendMessage`](#resume-subagents). Erfordert Claude Code v2.1.206 oder später. Das Roster erscheint nur, wenn die Tools des Subagenten `SendMessage` enthalten und mindestens ein anderer Agent einen Namen hat, ob Claude ihn beim Spawnen benannt hat oder er als [Agent-Team](/docs/de/agent-teams)-Teamkollege läuft. Es ist ein Snapshot, der aufgenommen wird, wenn der Subagent startet, sodass später benannte Agenten nicht erscheinen.

1111 1123 

1112* **Systemprompt**: Der eigene Prompt des Agenten plus Umgebungsdetails, die Claude Code anhängt, nicht der Claude Code-Systemprompt. Benutzerdefinierte Subagenten definieren ihren in der [Markdown-Datei](#write-subagent-files) oder im `prompt`-Feld. Integrierte Agenten haben vordefinierte Prompts.1124Um einen Ihrer eigenen Subagenten ohne die Benutzer-, Projekt- und lokalen CLAUDE.md-Dateien zu starten, setzen Sie [`omitClaudeMd: true`](#supported-frontmatter-fields) in seiner Frontmatter oder `--agents` JSON.

1113* **Task-Nachricht**: Der Delegierungsprompt, den Claude schreibt, wenn er die Arbeit übergibt.

1114* **CLAUDE.md-Dateien**: Jede Ebene der [CLAUDE.md-Hierarchie](/docs/de/memory#how-claude-md-files-load), die die Hauptkonversation lädt, einschließlich `~/.claude/CLAUDE.md`, Projektregeln, `CLAUDE.local.md` und verwaltete Richtliniendateien. Die integrierten Explore- und Plan-Agenten überspringen dies.

1115* **Git-Status**: Ein Snapshot, der zu Beginn der übergeordneten Sitzung erstellt wurde. Fehlt, wenn das Arbeitsverzeichnis kein Git-Repository ist oder wenn [`includeGitInstructions`](/docs/de/settings-reference#includegitinstructions) `false` ist. Explore und Plan überspringen es unabhängig davon.

1116* **Vorgeladene Skills**: Vollständiger Inhalt aller Skills, die im [`skills`-Feld](#preload-skills-into-subagents) des Agenten benannt sind. Integrierte Agenten laden Skills nicht vor.

1117* **Geschwister-Verzeichnis**: Eine Systemerinnerung, die `main` und jeden anderen benannten Agenten in der Sitzung auflistet, jeweils ein gültiger `to`-Wert für [`SendMessage`](#resume-subagents). Erfordert Claude Code v2.1.206 oder später. Das Verzeichnis erscheint nur, wenn die Tools des Subagenten `SendMessage` enthalten und mindestens ein anderer Agent einen Namen hat, ob Claude ihn beim Spawnen benannt hat oder er als [Agent-Team](/docs/de/agent-teams)-Teamkollege läuft. Es ist ein Snapshot, der erstellt wird, wenn der Subagent startet, daher erscheinen später benannte Agenten nicht.

1118 1125 

1119Explore und Plan sind die einzigen Subagenten, die CLAUDE.md und Git-Status auslassen. Es gibt kein Frontmatter-Feld oder eine Pro-Agent-Einstellung, um zu ändern, welche Agenten sie überspringen.1126Die Hauptkonversation hat immer noch Ihre vollständige CLAUDE.md, wenn sie die Ergebnisse dieser Subagenten liest, sodass die meisten Regeln den Subagenten selbst nicht erreichen müssen. Wenn eine Regel dies muss, z. B. „ignorieren Sie das `vendor/`-Verzeichnis", wiederholen Sie sie in der Eingabeaufforderung, die Sie Claude geben, wenn Sie delegieren.

1120 1127 

1121Die Hauptkonversation liest Explore- und Plan-Ergebnisse mit vollständigem CLAUDE.md-Kontext, daher müssen die meisten Regeln den Subagenten selbst nicht erreichen. Wenn eine Regel dies muss, z. B. "ignore the `vendor/` directory", wiederholen Sie sie in dem Prompt, den Sie Claude geben, wenn Sie delegieren.1128Sie können nicht ändern, welche Subagenten Git-Status erhalten. Nur Explore und Plan überspringen es.

1122 1129 

1123Einige Hauptkonversations-Status erreichen niemals einen Nicht-Fork-Subagenten:1130Einige Hauptkonversationszustände erreichen niemals einen Non-Fork-Subagenten:

1124 1131 

1125* **Ausgabestil**: Ein Subagent führt seinen eigenen Systemprompt aus, daher formt Ihr [Ausgabestil](/docs/de/output-styles) seine Antworten nicht, außer in einem [Fork](#fork-the-current-conversation).1132* **Ausgabestil**: Ein Subagent führt seine eigene Systemeingabeaufforderung aus, sodass Ihr [Ausgabestil](/docs/de/output-styles) seine Antworten nicht formt, außer in einem [Fork](#fork-the-current-conversation).

1126* **Auto-Memory**: Das [Auto-Memory](/docs/de/memory#auto-memory) der Hauptkonversation wird nicht geladen. Um einem Subagenten sein eigenes persistentes Memory zu geben, verwenden Sie das [`memory`-Feld](#enable-persistent-memory).1133* **Auto-Gedächtnis**: Das [Auto-Gedächtnis](/docs/de/memory#auto-memory) der Hauptkonversation wird nicht geladen. Um einem Subagenten persistentes Gedächtnis seiner eigenen zu geben, verwenden Sie das Feld [`memory`](#enable-persistent-memory).

1127* **Kontextfenstergröße**: Das Kontextfenster eines Subagenten wird durch sein eigenes Modell dimensioniert, nicht das des übergeordneten. Die Delegierung an ein Modell mit einem kleineren Fenster gibt diesem Subagenten das kleinere Fenster.1134* **Kontextfenstergröße**: Das Kontextfenster eines Subagenten wird durch sein eigenes Modell dimensioniert, nicht das des übergeordneten. Die Delegierung an ein Modell mit einem kleineren Fenster gibt diesem Subagenten das kleinere Fenster.

1128 1135 

1129<h4 id="resume-subagents">1136<h4 id="resume-subagents">

1130 Setzen Sie Subagenten fort1137 Fortsetzen Sie Subagenten

1131</h4>1138</h4>

1132 1139 

1133Jede Subagenten-Invokation erstellt eine neue Instanz, anstatt eine frühere fortzusetzen. Um die Arbeit eines vorhandenen Subagenten fortzusetzen, anstatt von vorne zu beginnen, bitten Sie Claude, ihn fortzusetzen.1140Jeder Subagenten-Aufruf erstellt eine neue Instanz, anstatt eine frühere fortzusetzen. Um die Arbeit eines bestehenden Subagenten fortzusetzen, anstatt von vorne zu beginnen, bitten Sie Claude, ihn fortzusetzen.

1134 1141 

1135Fortgesetzte Subagenten behalten ihre vollständige Konversationshistorie, einschließlich aller vorherigen Werkzeugaufrufe, Ergebnisse und Überlegungen. Wenn der Subagent [Hintergrund-Subagenten seiner eigenen](#let-subagents-spawn-their-own-subagents) spawnt, enthält diese Historie die Ergebnisse, die sie während seiner Ausführung lieferten. Der Subagent setzt genau dort an, wo er gestoppt hat, anstatt von vorne zu beginnen.1142Fortgesetzte Subagenten behalten ihre vollständige Konversationshistorie, einschließlich aller vorherigen Werkzeugaufrufe, Ergebnisse und Überlegungen. Wenn der Subagent [Hintergrund-Subagenten seiner eigenen](#let-subagents-spawn-their-own-subagents) spawnte, enthält diese Historie die Ergebnisse, die sie während der Ausführung lieferten. Der Subagent setzt genau dort an, wo er stoppte, anstatt von vorne zu beginnen.

1136 1143 

1137* Wenn ein Subagent abgeschlossen ist, erhält Claude seine Agent-ID.1144* Wenn ein Subagent abgeschlossen ist, erhält Claude seine Agent-ID.

1138* Die integrierten Explore- und Plan-Agenten sind einmalig und geben keine Agent-ID zurück, sodass Claude sie nicht fortsetzen kann. Verwenden Sie `general-purpose` oder einen benutzerdefinierten Subagenten, wenn Sie die Arbeit fortsetzen müssen.1145* Die integrierten Explore- und Plan-Agenten sind einmalig und geben keine Agent-ID zurück, sodass Claude sie nicht fortsetzen kann. Verwenden Sie `general-purpose` oder einen benutzerdefinierten Subagenten, wenn Sie die Arbeit fortsetzen müssen.

1139* Wenn ein Subagent bei seiner [`maxTurns`](#supported-frontmatter-fields)-Grenze stoppt, markiert Claude Code die zurückgegebene Ausgabe als Teilausgabe. Für Subagenten, die eine Agent-ID zurückgeben, vermerkt Claude Code auch im Ergebnis, dass Claude den Subagenten ansprechen kann, um von dort weiterzumachen, wo er gestoppt hat.1146* Wenn ein Subagent bei seinem [`maxTurns`](#supported-frontmatter-fields)-Limit stoppt, markiert Claude Code die zurückgegebene Ausgabe als teilweise. Für Subagenten, die eine Agent-ID zurückgeben, vermerkt Claude Code auch im Ergebnis, dass Claude den Subagenten ansprechen kann, um von dort fortzufahren, wo er stoppte.

1140 1147 

1141Claude verwendet das `SendMessage`-Werkzeug mit der Agent-ID oder dem Namen des Agenten als `to`-Feld, um ihn fortzusetzen. `SendMessage` erfordert nicht, dass [Agent-Teams](/docs/de/agent-teams) aktiviert sind; nur strukturierte Team-Protokoll-Nachrichten wie `shutdown_request` und `plan_approval_response` erfordern dies. Über Subagenten und Teamkollegen hinaus können Claude in Sitzungen, in denen Cross-Session-Messaging aktiviert ist, mit demselben Werkzeug [Ihre anderen Claude Code-Sitzungen](/docs/de/cross-session-messaging) auf dieser Maschine oder [darüber hinaus](/docs/de/cross-session-messaging#message-sessions-on-other-machines) ansprechen.1148Claude verwendet das `SendMessage`-Werkzeug mit der Agent-ID oder dem Namen des Agenten als `to`-Feld, um ihn fortzusetzen. `SendMessage` erfordert nicht, dass [Agent-Teams](/docs/de/agent-teams) aktiviert sind; nur strukturierte Team-Protokoll-Nachrichten wie `shutdown_request` und `plan_approval_response` tun dies. Über Subagenten und Teamkollegen hinaus können Claude in Sitzungen, in denen Cross-Session-Messaging aktiviert ist, mit demselben Werkzeug [Ihre anderen Claude-Code-Sitzungen](/docs/de/cross-session-messaging) ansprechen, auf dieser Maschine oder [darüber hinaus](/docs/de/cross-session-messaging#message-sessions-on-other-machines).

1142 1149 

1143Um einen Subagenten fortzusetzen, bitten Sie Claude, die vorherige Arbeit fortzusetzen:1150Um einen Subagenten fortzusetzen, bitten Sie Claude, die vorherige Arbeit fortzusetzen:

1144 1151 


1150[Claude resumes the subagent with full context from previous conversation]1157[Claude resumes the subagent with full context from previous conversation]

1151```1158```

1152 1159 

1153Wenn Claude einen abgeschlossenen Subagenten mit dem `SendMessage`-Werkzeug eine Nachricht sendet, wird der Subagent automatisch im Hintergrund fortgesetzt, ohne dass eine neue `Agent`-Invokation erforderlich ist. Das Gleiche gilt für einen Subagenten, den Claude mit dem `TaskStop`-Werkzeug gestoppt hat, sobald sein gestoppter Lauf beendet ist. Der fortgesetzte Lauf behält den [Werkzeugsatz von dort, wo der Subagent zuerst lief](#run-subagents-in-foreground-or-background), und kann weiterhin den [Prompt-Cache lesen, den der ursprüngliche Lauf aufgewärmt hat](/docs/de/prompt-caching#subagents-and-the-cache).1160Wenn Claude einen abgeschlossenen Subagenten mit dem `SendMessage`-Werkzeug eine Nachricht sendet, wird der Subagent im Hintergrund ohne einen neuen `Agent`-Aufruf fortgesetzt. Das Gleiche gilt für einen Subagenten, den Claude mit dem `TaskStop`-Werkzeug gestoppt hat, sobald sein gestoppter Lauf beendet ist. Der fortgesetzte Lauf behält den [Werkzeugsatz von dort, wo der Subagent zuerst lief](#run-subagents-in-foreground-or-background), und kann weiterhin den [Prompt-Cache lesen, den der ursprüngliche Lauf aufgewärmt hat](/docs/de/prompt-caching#subagents-and-the-cache).

1154 1161 

1155Ein Subagent, der das `SendMessage`-Werkzeug hat, kann diese Nachricht auch senden. In einer interaktiven Sitzung meldet der fortgesetzte Agent dann dem Subagenten, der ihn fortgesetzt hat, zurück, nicht zu Ihrer Hauptkonversation. Dieser Subagent wartet auf das Ergebnis, bevor er seine eigene Arbeit beendet. Wenn ein Subagent einen Agenten anspricht, dem er meldet, z. B. seinen eigenen Launcher, setzt Claude Code diesen Agenten fort, ohne seine Ergebnisse umzuleiten.1162Ein Subagent, der das `SendMessage`-Werkzeug hat, kann diese Nachricht auch senden. In einer interaktiven Sitzung meldet der fortgesetzte Agent dann dem Subagenten, der ihn fortgesetzt hat, zurück, nicht zu Ihrer Hauptkonversation. Dieser Subagent wartet auf das Ergebnis, bevor er seine eigene Arbeit beendet. Wenn ein Subagent einen Agenten anspricht, dem er meldet, z. B. seinen eigenen Launcher, setzt Claude Code diesen Agenten fort, ohne seine Ergebnisse umzuleiten.

1156 1163 

1157Ein Subagent, den Sie selbst gestoppt haben, mit `x` in `/tasks` oder einer SDK-`stop_task`-Anfrage, wird nicht automatisch fortgesetzt. Wenn Claude ihm eine Nachricht sendet, wird die Nachricht abgelehnt und Claude wird mitgeteilt, dass der Agent abgebrochen wurde.1164Ein Subagent, den Sie selbst gestoppt haben, mit `x` in `/tasks` oder einer SDK-`stop_task`-Anfrage, wird nicht automatisch fortgesetzt. Wenn Claude ihm eine Nachricht sendet, wird die Nachricht verweigert und Claude wird mitgeteilt, dass der Agent abgebrochen wurde.

1158 1165 

1159Während [diese Zeile des Subagenten noch im Subagenten-Panel ist](#run-subagents-in-foreground-or-background), geben Sie in sein Transkript ein, um ihn selbst fortzusetzen. Danach kann eine Nachricht von Claude ihn wieder automatisch fortsetzen. Erfordert Claude Code v2.1.191 oder später.1166Während [die Zeile dieses Subagenten immer noch im Subagenten-Panel ist](#run-subagents-in-foreground-or-background), geben Sie in sein Transkript ein, um ihn selbst fortzusetzen. Danach kann eine Nachricht von Claude ihn wieder automatisch fortsetzen. Erfordert Claude Code v2.1.191 oder später.

1160 1167 

1161Das Fortsetzen startet einen neuen Lauf des Agenten unter derselben ID, sodass ein Subagent, der bereits fehlgeschlagen oder abgeschlossen war, in der Aufgabenliste und in den Task-Events des Agent SDK wieder als laufend angezeigt wird. Vor v2.1.205 zeigte er seinen früheren fehlgeschlagenen oder abgeschlossenen Status, während der fortgesetzte Lauf funktionierte.1168Das Fortsetzen startet einen neuen Lauf des Agenten unter derselben ID, sodass ein Subagent, der bereits fehlgeschlagen oder abgeschlossen war, in der Aufgabenliste und in den Task-Events des Agent SDK wieder als laufend angezeigt wird. Vor v2.1.205 zeigte er seinen früheren fehlgeschlagenen oder abgeschlossenen Status, während der fortgesetzte Lauf funktionierte.

1162 1169 

1163Ab v2.1.199 überprüft `SendMessage`, dass ein Name immer noch auf denselben Agenten verweist, den er früher in der Konversation erreicht hat. Wenn ein neuerer Agent den Namen übernommen hat, z. B. ein neu gestarteter Hintergrund-Agent, der ihn wiederverwendet hat, weigert sich Claude Code, die Nachricht zu senden, anstatt sie an den falschen Agenten zu liefern, und der Fehler meldet, welchen Agenten der Name jetzt erreicht, damit Claude neu ausrichten kann. Um den früheren Agenten zu erreichen, während er noch läuft, adressiert Claude ihn nach der Agent-ID, die er beim Spawnen dieses Agenten erhalten hat. Die Überprüfung ist auf die aktuelle Konversation beschränkt und wird bei `/clear` zurückgesetzt.1170Ab v2.1.199 überprüft `SendMessage`, dass ein Name immer noch auf denselben Agenten verweist, den er früher in der Konversation erreicht hat. Wenn ein neuerer Agent den Namen übernommen hat, z. B. ein neu gespawnter Hintergrund-Agent, der ihn wiederverwendet hat, weigert sich Claude Code, die Nachricht zu senden, anstatt sie an den falschen Agenten zu liefern, und der Fehler meldet, welcher Agent der Name jetzt erreicht, damit Claude neu ausrichten kann. Um den früheren Agenten zu erreichen, während er noch läuft, spricht Claude ihn nach der Agent-ID an, die er erhielt, als er diesen Agenten spawnte. Die Überprüfung ist auf die aktuelle Konversation beschränkt und wird bei `/clear` zurückgesetzt.

1164 1171 

1165Ab v2.1.198 behandelt ein Subagent Nachrichten vom Agenten, der ihn gestartet hat, als normale Aufgabenrichtung, einschließlich Kurskorrektionen während der Aufgabe, und handelt danach innerhalb seiner eigenen Berechtigungseinstellungen. Zwei Limits gelten immer noch unabhängig davon, wer die Nachricht gesendet hat: Keine Nachricht von einem Agenten zählt als Ihre Genehmigung für eine ausstehende Berechtigungsaufforderung, und keine Agent-Nachricht kann die Berechtigungseinstellungen, `CLAUDE.md` oder Konfiguration eines Subagenten ändern. Nur das Berechtigungssystem oder Ihre eigenen Nachrichten können Genehmigung gewähren.1172Ab v2.1.198 behandelt ein Subagent Nachrichten vom Agenten, der ihn gestartet hat, als normale Aufgabenrichtung, einschließlich Kurskorrektionen während der Aufgabe, und handelt nach ihnen innerhalb seiner eigenen Genehmigungseinstellungen. Zwei Grenzen gelten trotzdem unabhängig davon, wer die Nachricht gesendet hat: Keine Nachricht von einem Agenten zählt als Ihre Genehmigung für eine ausstehende Genehmigungseingabeaufforderung, und keine Agent-Nachricht kann die Genehmigungseinstellungen, `CLAUDE.md` oder Konfiguration eines Subagenten ändern. Nur das Genehmigungssystem oder Ihre eigenen Nachrichten können Genehmigung gewähren.

1166 1173 

1167Sie können auch Claude nach der Agent-ID fragen, wenn Sie sie explizit referenzieren möchten, oder IDs in den Transkriptdateien unter `~/.claude/projects/{project}/{sessionId}/subagents/` finden. Jedes Transkript wird als `agent-{agentId}.jsonl` gespeichert.1174Sie können Claude auch nach der Agent-ID fragen, wenn Sie sie explizit referenzieren möchten, oder IDs in den Transkriptdateien unter `~/.claude/projects/{project}/{sessionId}/subagents/` finden. Jedes Transkript wird als `agent-{agentId}.jsonl` gespeichert.

1168 1175 

1169Subagenten-Transkripte bleiben unabhängig von der Hauptkonversation bestehen:1176Subagenten-Transkripte bleiben unabhängig von der Hauptkonversation bestehen:

1170 1177 

1171* **Hauptkonversations-Komprimierung**: Wenn die Hauptkonversation komprimiert wird, sind Subagenten-Transkripte nicht betroffen. Sie werden in separaten Dateien gespeichert.1178* **Hauptkonversations-Komprimierung**: Wenn die Hauptkonversation komprimiert wird, sind Subagenten-Transkripte nicht betroffen. Sie werden in separaten Dateien gespeichert.

1172* **Sitzungs-Persistenz**: Subagenten-Transkripte bleiben innerhalb ihrer Sitzung bestehen. Sie können [einen Subagenten fortsetzen](#resume-subagents), nachdem Sie Claude Code neu gestartet haben, indem Sie dieselbe Sitzung fortsetzen.1179* **Sitzungspersistenz**: Subagenten-Transkripte bleiben innerhalb ihrer Sitzung bestehen. Sie können [einen Subagenten fortsetzen](#resume-subagents), nachdem Sie Claude Code neu gestartet haben, indem Sie dieselbe Sitzung fortsetzen.

1173* **Automatische Bereinigung**: Claude Code löscht Subagenten-Transkripte nach der `cleanupPeriodDays`-Aufbewahrungsfrist, standardmäßig 30 Tage, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically).1180* **Automatische Bereinigung**: Claude Code löscht Subagenten-Transkripte nach der Aufbewahrungsfrist `cleanupPeriodDays`, standardmäßig 30 Tage, nach den [Aufbewahrungsfeger-Regeln](/docs/de/claude-directory#cleaned-up-automatically).

1174 1181 

1175<h4 id="auto-compaction">1182<h4 id="auto-compaction">

1176 Auto-Komprimierung1183 Auto-Komprimierung

1177</h4>1184</h4>

1178 1185 

1179Subagenten unterstützen automatische Komprimierung mit derselben Logik wie die Hauptkonversation. Die Komprimierung wird unter denselben Bedingungen ausgelöst, und `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` gilt auch für Subagenten. Siehe [Umgebungsvariablen](/docs/de/env-vars) für den Zeitpunkt, zu dem die Überschreibung wirksam wird.1186Subagenten unterstützen automatische Komprimierung mit der gleichen Logik wie die Hauptkonversation. Die Komprimierung wird unter den gleichen Bedingungen ausgelöst, und `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` gilt auch für Subagenten. Siehe [Umgebungsvariablen](/docs/de/env-vars) für den Zeitpunkt, an dem die Überschreibung wirksam wird.

1180 1187 

1181Komprimierungsereignisse werden in Subagenten-Transkriptdateien protokolliert:1188Komprimierungsereignisse werden in Subagenten-Transkriptdateien protokolliert:

1182 1189 


1191}1198}

1192```1199```

1193 1200 

1194Der `preTokens`-Wert zeigt, wie viele Token vor der Komprimierung verwendet wurden.1201Der Wert `preTokens` zeigt, wie viele Token vor der Komprimierung verwendet wurden.

1195 1202 

1196<h2 id="fork-the-current-conversation">1203<h2 id="fork-the-current-conversation">

1197 Gegabelte Konversation1204 Gegabelte Konversation

Details

126 tmux konfigurieren126 tmux konfigurieren

127</h2>127</h2>

128 128 

129Wenn Claude Code innerhalb von tmux ausgeführt wird, funktionieren zwei Dinge standardmäßig nicht: Shift+Enter sendet ab, anstatt einen Zeilenumbruch einzufügen, und Desktop-Benachrichtigungen sowie die [Fortschrittsleiste](/docs/de/settings-reference#terminalprogressbarenabled) erreichen niemals das äußere Terminal. Fügen Sie diese Zeilen zu `~/.tmux.conf` hinzu und führen Sie dann `tmux source-file ~/.tmux.conf` aus, um sie auf den laufenden Server anzuwenden:129Wenn Claude Code innerhalb von tmux ausgeführt wird, funktionieren standardmäßig zwei Dinge nicht: Shift+Enter sendet ab, anstatt einen Zeilenumbruch einzufügen, und Desktop-Benachrichtigungen sowie die [Fortschrittsleiste](/docs/de/settings-reference#terminalprogressbarenabled) erreichen niemals das äußere Terminal. Fügen Sie diese Zeilen zu `~/.tmux.conf` hinzu und führen Sie dann `tmux source-file ~/.tmux.conf` aus, um sie auf den laufenden Server anzuwenden:

130 130 

131```bash ~/.tmux.conf theme={null}131```bash ~/.tmux.conf theme={null}

132set -g allow-passthrough on132set -g allow-passthrough on

Details

92 92 

93Erfahren Sie mehr über [Team-Pläne](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) und [Enterprise-Pläne](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).93Erfahren Sie mehr über [Team-Pläne](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) und [Enterprise-Pläne](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

94 94 

95Die unten verglichenen Bereitstellungsoptionen behandeln, wo die Modellinferenz ausgeführt wird. Um [Claude Code im Web](/docs/de/claude-code-on-the-web)-Sitzungen auf Compute auszuführen, das Ihre Organisation betreibt, siehe [selbst gehostete Umgebungen](/docs/de/self-hosted-environments).95Die unten verglichenen Bereitstellungsoptionen behandeln, wo die Modellinferenz ausgeführt wird. Um Claude Code [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) auf Compute auszuführen, das Ihre Organisation betreibt, siehe [selbst gehostete Umgebungen](/docs/de/self-hosted-environments).

96 96 

97Wenn Ihre Organisation spezifische Infrastrukturanforderungen hat, vergleichen Sie die folgenden Optionen:97Wenn Ihre Organisation spezifische Infrastrukturanforderungen hat, vergleichen Sie die folgenden Optionen:

98 98 


152 152 

153 <tr>153 <tr>

154 <td>Authentifizierung</td>154 <td>Authentifizierung</td>

155 <td>Claude.ai SSO oder E-Mail</td>155 <td>claude.ai SSO oder E-Mail</td>

156 <td>API-Schlüssel oder eine [Konsolenanmeldung ohne einen](/docs/de/authentication#sign-in-without-an-api-key)</td>156 <td>API-Schlüssel oder eine [Konsolenanmeldung ohne einen](/docs/de/authentication#sign-in-without-an-api-key)</td>

157 <td>API-Schlüssel oder AWS-Anmeldedaten</td>157 <td>API-Schlüssel oder AWS-Anmeldedaten</td>

158 <td>API-Schlüssel oder AWS-Anmeldedaten</td>158 <td>API-Schlüssel oder AWS-Anmeldedaten</td>

Details

47| `ScheduleWakeup` | Plant die nächste Iteration einer [selbstgesteuerten `/loop`](/docs/de/scheduled-tasks#let-claude-choose-the-interval) neu. Claude ruft dies am Ende jeder Iteration auf, um auszuwählen, wann die nächste ausgeführt wird, zwischen einer Minute und einer Stunde; Sie rufen es nicht direkt auf. Um die Schleife stattdessen zu beenden, ruft Claude sie mit `stop: true` auf, was das ausstehende Wakeup abbricht. Das `stop`-Feld erfordert Claude Code v2.1.202 oder später. Das ausstehende Wakeup wird in `session_crons` in [Stop-Hook-Eingabe](/docs/de/hooks#stop-input) angezeigt | Nein |47| `ScheduleWakeup` | Plant die nächste Iteration einer [selbstgesteuerten `/loop`](/docs/de/scheduled-tasks#let-claude-choose-the-interval) neu. Claude ruft dies am Ende jeder Iteration auf, um auszuwählen, wann die nächste ausgeführt wird, zwischen einer Minute und einer Stunde; Sie rufen es nicht direkt auf. Um die Schleife stattdessen zu beenden, ruft Claude sie mit `stop: true` auf, was das ausstehende Wakeup abbricht. Das `stop`-Feld erfordert Claude Code v2.1.202 oder später. Das ausstehende Wakeup wird in `session_crons` in [Stop-Hook-Eingabe](/docs/de/hooks#stop-input) angezeigt | Nein |

48| `SendFeedback` | Entwirft einen Feedbackbericht über Claude Code, der ein Produktproblem oder Claudes eigenes Verhalten in der Sitzung abdeckt, und stellt ihn in die Warteschlange auf Ihrer Maschine, damit Sie ihn überprüfen können. Claude Code sendet nichts, bis Sie sich entscheiden, den Entwurf zu senden. Siehe [SendFeedback-Tool-Verhalten](#sendfeedback-tool-behavior). Erfordert Claude Code v2.1.238 oder später | Nein |48| `SendFeedback` | Entwirft einen Feedbackbericht über Claude Code, der ein Produktproblem oder Claudes eigenes Verhalten in der Sitzung abdeckt, und stellt ihn in die Warteschlange auf Ihrer Maschine, damit Sie ihn überprüfen können. Claude Code sendet nichts, bis Sie sich entscheiden, den Entwurf zu senden. Siehe [SendFeedback-Tool-Verhalten](#sendfeedback-tool-behavior). Erfordert Claude Code v2.1.238 oder später | Nein |

49| `SendMessage` | Sendet eine Nachricht an einen anderen Agenten: einen [Agent-Team](/docs/de/agent-teams)-Teamkollegen, einen [Subagenten, den es nach Agent-ID oder Name fortsetzen kann](/docs/de/sub-agents#resume-subagents), oder eine Ihrer anderen Claude-Code-Sitzungen, auf dieser Maschine oder darüber hinaus. Das Messaging anderer Sitzungen erfordert Claude Code v2.1.224 oder später. [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging) behandelt, welche Sitzungen Claude erreichen kann, [wie eine Nachricht aussieht, wenn sie ankommt](/docs/de/cross-session-messaging#what-a-message-looks-like), und [wie Claude eine Benachrichtigung erhält, wenn eine andere Sitzung untätig wird](/docs/de/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude kann eine optionale `summary`-Eingabe einschließen, typischerweise 5-10 Wörter, die Claude Code als Einzeilenvorschau anzeigt. Wenn Claude sie bei einer [Nur-Text-Nachricht](/docs/de/cross-session-messaging#limitations) auslässt, verwendet Claude Code die erste Zeile der Nachricht als Zusammenfassung. Claude Code schneidet eine Zusammenfassung, die länger als 200 Zeichen ist, mit einer Ellipse ab | Nein |49| `SendMessage` | Sendet eine Nachricht an einen anderen Agenten: einen [Agent-Team](/docs/de/agent-teams)-Teamkollegen, einen [Subagenten, den es nach Agent-ID oder Name fortsetzen kann](/docs/de/sub-agents#resume-subagents), oder eine Ihrer anderen Claude-Code-Sitzungen, auf dieser Maschine oder darüber hinaus. Das Messaging anderer Sitzungen erfordert Claude Code v2.1.224 oder später. [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging) behandelt, welche Sitzungen Claude erreichen kann, [wie eine Nachricht aussieht, wenn sie ankommt](/docs/de/cross-session-messaging#what-a-message-looks-like), und [wie Claude eine Benachrichtigung erhält, wenn eine andere Sitzung untätig wird](/docs/de/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude kann eine optionale `summary`-Eingabe einschließen, typischerweise 5-10 Wörter, die Claude Code als Einzeilenvorschau anzeigt. Wenn Claude sie bei einer [Nur-Text-Nachricht](/docs/de/cross-session-messaging#limitations) auslässt, verwendet Claude Code die erste Zeile der Nachricht als Zusammenfassung. Claude Code schneidet eine Zusammenfassung, die länger als 200 Zeichen ist, mit einer Ellipse ab | Nein |

50| `SendUserFile` | Sendet Dateien aus der Sitzung an Sie mit einer optionalen Beschriftung, damit ein generierter Bericht, Diagramm, Screenshot oder erstelltes Artefakt Ihr Gerät erreicht, anstatt nur im Transkript erwähnt zu werden. Ab v2.1.196 steuert die optionale `display`-Eingabe die Präsentation: `render` öffnet die Datei inline im Client, `attach` zeigt nur eine Download-Karte an, und wenn nicht gesetzt, entscheidet der Client nach Dateityp. Verfügbar, wenn ein [Remote Control](/docs/de/remote-control)-Client verbunden ist oder die Sitzung in einer verwalteten Cloud-Umgebung wie [Claude Code im Web](/docs/de/claude-code-on-the-web) ausgeführt wird. Die Zustellung läuft durch von Anthropic gehostete Infrastruktur, daher ist das Tool nicht auf Amazon Bedrock, Google Clouds Agent Platform oder Microsoft Foundry verfügbar | Nein |50| `SendUserFile` | Sendet Dateien aus der Sitzung an Sie mit einer optionalen Beschriftung, damit ein generierter Bericht, Diagramm, Screenshot oder erstelltes Artefakt Ihr Gerät erreicht, anstatt nur im Transkript erwähnt zu werden. Ab v2.1.196 steuert die optionale `display`-Eingabe die Präsentation: `render` öffnet die Datei inline im Client, `attach` zeigt nur eine Download-Karte an, und wenn nicht gesetzt, entscheidet der Client nach Dateityp. Verfügbar, wenn ein [Remote Control](/docs/de/remote-control)-Client verbunden ist oder in einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web). Die Zustellung läuft durch von Anthropic gehostete Infrastruktur, daher ist das Tool nicht auf Amazon Bedrock, Google Clouds Agent Platform oder Microsoft Foundry verfügbar | Nein |

51| `ShareOnboardingGuide` | Lädt `ONBOARDING.md` hoch und gibt einen Share-Link zurück, den Teamkollegen in Claude Code öffnen können. Wird von `/team-onboarding` aufgerufen, nachdem der Leitfaden geschrieben wurde. Verfügbar für claude.ai-Abonnenten auf Pro-, Max-, Team- und Enterprise-Plänen | Ja |51| `ShareOnboardingGuide` | Lädt `ONBOARDING.md` hoch und gibt einen Share-Link zurück, den Teamkollegen in Claude Code öffnen können. Wird von `/team-onboarding` aufgerufen, nachdem der Leitfaden geschrieben wurde. Verfügbar für claude.ai-Abonnenten auf Pro-, Max-, Team- und Enterprise-Plänen | Ja |

52| `Skill` | Führt einen [Skill](/docs/de/skills#control-who-invokes-a-skill) innerhalb des Hauptgesprächs aus | Ja |52| `Skill` | Führt einen [Skill](/docs/de/skills#control-who-invokes-a-skill) innerhalb des Hauptgesprächs aus | Ja |

53| `SubagentHandback` | Liefert den abschließenden Bericht eines Subagenten an das Gespräch, das das Ergebnis dieses Subagenten erhält. Wird nur im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bereitgestellt, für Subagenten, die das Agent-Tool lokal ausführt, außer [Forks](/docs/de/sub-agents#fork-the-current-conversation), und ist in der Terminal-CLI, IDE-Erweiterungen, Cloud-Sitzungen und dem Agent SDK verfügbar; der Klassifizierer überprüft den Bericht, bevor er zugestellt wird. Erfordert Claude Code v2.1.271 oder später | Nein |

53| `TaskCreate` | Erstellt eine neue Aufgabe in der Aufgabenliste. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |54| `TaskCreate` | Erstellt eine neue Aufgabe in der Aufgabenliste. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |

54| `TaskGet` | Ruft vollständige Details für eine bestimmte Aufgabe ab. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |55| `TaskGet` | Ruft vollständige Details für eine bestimmte Aufgabe ab. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |

55| `TaskList` | Listet alle Aufgaben mit ihrem aktuellen Status auf. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |56| `TaskList` | Listet alle Aufgaben mit ihrem aktuellen Status auf. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |


99 Verhalten des Agent-Tools100 Verhalten des Agent-Tools

100</h2>101</h2>

101 102 

102Das Agent-Tool startet einen Subagenten in einem separaten Kontextfenster. Der Subagent arbeitet seine Aufgabe autonom ab und gibt dann ein einzelnes Textergebnis an das übergeordnete Gespräch zurück. Das übergeordnete Gespräch sieht nicht die Zwischentool-Aufrufe oder Ausgaben des Subagenten, sondern nur dieses Endergebnis. Mit aktivierten [Agent-Teams](/docs/de/agent-teams) kann ein Aufruf mit einem `name` einen [Teamkollegen](/docs/de/agent-teams#how-claude-starts-agent-teams) starten, der stattdessen über Team-Nachrichten berichtet, anstatt ein Ergebnis zurückzugeben.103Das Agent-Tool startet einen Subagenten in einem separaten Kontextfenster. Der Subagent arbeitet seine Aufgabe autonom ab und gibt dann sein Ergebnis an das übergeordnete Gespräch zurück. Das übergeordnete Gespräch sieht nicht die Zwischentool-Aufrufe oder Ausgaben des Subagenten, sondern nur dieses Endergebnis. Mit aktivierten [Agent-Teams](/docs/de/agent-teams) kann ein Aufruf mit einem `name` einen [Teamkollegen](/docs/de/agent-teams#how-claude-starts-agent-teams) starten, der stattdessen über Team-Nachrichten berichtet, anstatt ein Ergebnis zurückzugeben.

103 104 

104Um die Anzahl der Durchläufe eines Subagenten zu begrenzen, setzen Sie `maxTurns` in der [Subagenten-Definition](/docs/de/sub-agents#supported-frontmatter-fields). Wenn der Subagent das Limit erreicht, markiert Claude Code das zurückgegebene Ergebnis als Teilausgabe, und Claude kann [den Subagenten fortsetzen](/docs/de/sub-agents#resume-subagents), um fortzufahren.105Um die Anzahl der Durchläufe eines Subagenten zu begrenzen, setzen Sie `maxTurns` in der [Subagenten-Definition](/docs/de/sub-agents#supported-frontmatter-fields). Wenn der Subagent das Limit erreicht, markiert Claude Code das zurückgegebene Ergebnis als Teilausgabe, und Claude kann [den Subagenten fortsetzen](/docs/de/sub-agents#resume-subagents), um fortzufahren.

105 106 


112* **Nur `disallowedTools`**: Der Subagent erhält jedes übergeordnete Tool außer den aufgelisteten.113* **Nur `disallowedTools`**: Der Subagent erhält jedes übergeordnete Tool außer den aufgelisteten.

113* **Beide gesetzt**: `disallowedTools` hat Vorrang. Ein Tool, das in beiden aufgelistet ist, wird entfernt.114* **Beide gesetzt**: `disallowedTools` hat Vorrang. Ein Tool, das in beiden aufgelistet ist, wird entfernt.

114 115 

115In jedem Fall ist die aufgelöste Menge auf die [für Subagenten verfügbaren Tools](/docs/de/sub-agents#available-tools) beschränkt: Ein Tool, das für Subagenten nicht verfügbar ist, wird niemals gewährt, auch wenn es in `tools` aufgelistet ist.116In jedem Fall ist die aufgelöste Menge auf die [für Subagenten verfügbaren Tools](/docs/de/sub-agents#available-tools) beschränkt: Ein Tool, das für Subagenten nicht verfügbar ist, wird niemals gewährt, auch wenn es in `tools` aufgelistet ist. Wenn die Bedingungen im `SubagentHandback`-Tools-Tabelleneintrag erfüllt sind, gibt Claude Code dem Subagenten auch dieses Tool, auch wenn Sie es aus `tools` auslassen oder in `disallowedTools` aufgelistet haben.

116 117 

117Wenn jeder Eintrag in der `tools`-Liste eines Subagenten nicht mit einem verwendbaren Tool übereinstimmt, gibt das Agent-Tool normalerweise einen Fehler zurück, der die Einträge benennt, anstatt den Subagenten zu starten; siehe [Agent würde mit null Tools gestartet](/docs/de/errors#agent-would-be-spawned-with-zero-tools) für die Nachricht und wie man jeden Eintrag behebt.118Wenn jeder Eintrag in der `tools`-Liste eines Subagenten nicht mit einem verwendbaren Tool übereinstimmt, gibt das Agent-Tool normalerweise einen Fehler zurück, der die Einträge benennt, anstatt den Subagenten zu starten; siehe [Agent würde mit null Tools gestartet](/docs/de/errors#agent-would-be-spawned-with-zero-tools) für die Nachricht und wie man jeden Eintrag behebt.

118 119 


363 364 

364Sie arbeiten weiter in der gleichen Sitzung und Claude interveniert, wenn ein Ereignis eintritt.365Sie arbeiten weiter in der gleichen Sitzung und Claude interveniert, wenn ein Ereignis eintritt.

365 366 

367Jede Überwachung, die Claude startet, hat eine Frist: standardmäßig 5 Minuten, maximal 30 Minuten und maximal 10 Minuten in einem [nicht-interaktiven](/docs/de/headless) Lauf mit einem einzelnen Prompt mit `-p`.

368 

369Bei der Frist endet die Überwachung. Claude erhält eine Benachrichtigung, damit es die Überwachung erneut starten kann, falls sie noch benötigt wird.

370 

366Beenden Sie eine Überwachung, indem Sie Claude auffordern, sie zu stornieren, oder indem Sie die Sitzung beenden. Wenn Sie einen [Subagenten](/docs/de/sub-agents) beenden, der Monitore gestartet hat, beispielsweise von `/tasks`, werden diese Monitore mit ihm beendet.371Beenden Sie eine Überwachung, indem Sie Claude auffordern, sie zu stornieren, oder indem Sie die Sitzung beenden. Wenn Sie einen [Subagenten](/docs/de/sub-agents) beenden, der Monitore gestartet hat, beispielsweise von `/tasks`, werden diese Monitore mit ihm beendet.

367 372 

368Wenn Monitor einen Befehl ausführt, verwendet es die gleichen [Berechtigungsregeln wie Bash](/docs/de/permissions#tool-specific-permission-rules), daher gelten `allow`- und `deny`-Muster, die Sie für Bash festgelegt haben, auch hier. Während der [automatische Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) aktiv ist, setzt Claude Code Zulassungsregeln beiseite, die `Monitor` selbst benennen, zusammen mit den anderen [breiten Zulassungsregeln, die es verwirft](/docs/de/permission-modes#how-the-classifier-evaluates-actions), sodass der Klassifizierer Monitor-Befehle auf die gleiche Weise überprüft wie Bash-Befehle.373Wenn Monitor einen Befehl ausführt, verwendet es die gleichen [Berechtigungsregeln wie Bash](/docs/de/permissions#tool-specific-permission-rules), daher gelten `allow`- und `deny`-Muster, die Sie für Bash festgelegt haben, auch hier. Während der [automatische Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) aktiv ist, setzt Claude Code Zulassungsregeln beiseite, die `Monitor` selbst benennen, zusammen mit den anderen [breiten Zulassungsregeln, die es verwirft](/docs/de/permission-modes#how-the-classifier-evaluates-actions), sodass der Klassifizierer Monitor-Befehle auf die gleiche Weise überprüft wie Bash-Befehle.


395| `url` | Ja | Der Endpunkt zum Verbinden. Muss eine `ws://`- oder `wss://`-URL ohne eingebettete Anmeldedaten oder Leerzeichen sein, nur ASCII-Zeichen verwenden |400| `url` | Ja | Der Endpunkt zum Verbinden. Muss eine `ws://`- oder `wss://`-URL ohne eingebettete Anmeldedaten oder Leerzeichen sein, nur ASCII-Zeichen verwenden |

396| `protocols` | Nein | WebSocket-Subprotokollnamen, die während des Handshake angeboten werden. Jeder Eintrag muss ein gültiges Subprotokoll-Token sein, und die Liste darf keine Duplikate enthalten |401| `protocols` | Nein | WebSocket-Subprotokollnamen, die während des Handshake angeboten werden. Jeder Eintrag muss ein gültiges Subprotokoll-Token sein, und die Liste darf keine Duplikate enthalten |

397 402 

398Die Eingaben `timeout_ms` und `persistent` verhalten sich gleich wie bei einem Befehl: die Überwachung endet bei der Frist, es sei denn, `persistent` ist gesetzt, und `TaskStop` bricht sie früh ab.403Die `timeout_ms`-Frist gilt auch für eine WebSocket-Überwachung: die Überwachung endet bei der Frist, und `TaskStop` bricht sie früh ab.

399 404 

400Das Öffnen einer WebSocket fordert zur Genehmigung auf; im [automatischen Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) entscheidet der Klassifizierer stattdessen. Die Aufforderung bietet keine Option, zukünftige Aufforderungen für denselben Host zu überspringen.405Das Öffnen einer WebSocket fordert zur Genehmigung auf; im [automatischen Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) entscheidet der Klassifizierer stattdessen. Die Aufforderung bietet keine Option, zukünftige Aufforderungen für denselben Host zu überspringen.

401 406 


609 614 

610Einige Verhaltensweisen prägen die Antwort, die Claude erhält:615Einige Verhaltensweisen prägen die Antwort, die Claude erhält:

611 616 

617* WebFetch lehnt `localhost` und jeden anderen Hostnamen ohne einen Punkt ab, z. B. einen bloßen Intranet-Namen, bevor eine Anfrage gestellt wird. Der [Fehler, den es zurückgibt](/docs/de/errors#webfetch-cannot-fetch-localhost), teilt Claude mit, dass lokale Server mit `curl` über Bash erreicht werden sollen.

612* HTTP-URLs werden automatisch auf HTTPS aktualisiert.618* HTTP-URLs werden automatisch auf HTTPS aktualisiert.

613* Große Seiten werden vor der Verarbeitung auf ein festes Zeichenlimit gekürzt.619* Große Seiten werden vor der Verarbeitung auf ein festes Zeichenlimit gekürzt.

614* WebFetch speichert jede Antwort standardmäßig 15 Minuten lang zwischen, sodass wiederholte Abrufe derselben URL schnell zurückgegeben werden. Auf Claude Code v2.1.233 oder später können Sie [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/de/env-vars#variables) setzen, um zu ändern, wie lange WebFetch jede Antwort speichert.620* WebFetch speichert jede Antwort standardmäßig 15 Minuten lang zwischen, sodass wiederholte Abrufe derselben URL schnell zurückgegeben werden. Auf Claude Code v2.1.233 oder später können Sie [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/de/env-vars#variables) setzen, um zu ändern, wie lange WebFetch jede Antwort speichert.

ultrareview.md +14 −7

Details

10 Ultrareview ist eine Research-Preview-Funktion. Die Funktion, Preisgestaltung und Verfügbarkeit können sich basierend auf Feedback ändern. Der Befehl ist `/code-review ultra`. Wenn Ultrareview für Ihr Konto verfügbar ist, ist `/ultrareview` ein Alias.10 Ultrareview ist eine Research-Preview-Funktion. Die Funktion, Preisgestaltung und Verfügbarkeit können sich basierend auf Feedback ändern. Der Befehl ist `/code-review ultra`. Wenn Ultrareview für Ihr Konto verfügbar ist, ist `/ultrareview` ein Alias.

11</Note>11</Note>

12 12 

13Ultrareview ist eine tiefe Code-Review, die auf Claude Code in der Web-Infrastruktur ausgeführt wird. Wenn Sie `/code-review ultra` ausführen, startet Claude Code eine Flotte von Reviewer-Agenten in einer Remote-Sandbox, um Bugs in Ihrem Branch oder Pull Request zu finden.13Ultrareview ist eine tiefe Code-Review, die als [Cloud-Sitzung](/docs/de/claude-code-on-the-web) auf der Infrastruktur von Anthropic ausgeführt wird. Wenn Sie `/code-review ultra` ausführen, startet Claude Code eine Flotte von Reviewer-Agenten in einer Cloud-Sandbox, um Bugs in Ihrem Branch oder Pull Request zu finden.

14 14 

15Im Vergleich zu einer lokalen `/code-review` bietet Ultrareview:15Im Vergleich zu einer lokalen `/code-review` bietet Ultrareview:

16 16 

17* **Höhere Signalqualität**: Jeder gemeldete Fund wird unabhängig reproduziert und verifiziert, sodass sich die Ergebnisse auf echte Bugs konzentrieren und nicht auf Stilvorschläge17* **Höhere Signalqualität**: Jeder gemeldete Fund wird unabhängig reproduziert und verifiziert, sodass sich die Ergebnisse auf echte Bugs konzentrieren und nicht auf Stilvorschläge

18* **Breitere Abdeckung**: Eine größere Flotte von Reviewer-Agenten erkundet die Änderung parallel, was Probleme aufdeckt, die eine lokale Review übersehen könnte18* **Breitere Abdeckung**: Eine größere Flotte von Reviewer-Agenten erkundet die Änderung parallel, was Probleme aufdeckt, die eine lokale Review übersehen könnte

19* **Keine lokale Ressourcennutzung**: Die Review läuft vollständig in einer Remote-Sandbox, sodass Ihr Terminal für andere Arbeiten frei bleibt, während sie läuft19* **Keine lokale Ressourcennutzung**: Die Review läuft vollständig in einer Cloud-Sandbox, sodass Ihr Terminal für andere Arbeiten frei bleibt, während sie läuft

20 20 

21Ultrareview erfordert eine Authentifizierung mit einem Claude.ai-Konto, da es auf Claude Code in der Web-Infrastruktur ausgeführt wird. Wenn Sie nur mit einem API-Schlüssel angemeldet sind, führen Sie `/login` aus und authentifizieren Sie sich zuerst mit Claude.ai. Ultrareview ist nicht verfügbar, wenn Sie Claude Code mit Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verwenden, und es ist nicht für Organisationen verfügbar, die Zero Data Retention aktiviert haben. Wenn Ultrareview nicht verfügbar ist, führt `/code-review ultra` stattdessen eine lokale Review in Ihrer Sitzung aus.21Ultrareview erfordert eine Authentifizierung mit einem claude.ai-Konto, da es als Cloud-Sitzung auf der Infrastruktur von Anthropic ausgeführt wird. Wenn Sie nur mit einem API-Schlüssel angemeldet sind, führen Sie `/login` aus und authentifizieren Sie sich zuerst mit claude.ai. Ultrareview ist nicht verfügbar, wenn Sie Claude Code mit Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verwenden, und es ist nicht für Organisationen verfügbar, die Zero Data Retention aktiviert haben. Wenn Ultrareview nicht verfügbar ist, führt `/code-review ultra` stattdessen eine lokale Review in Ihrer Sitzung aus.

22 22 

23<h2 id="run-ultrareview-from-the-cli">23<h2 id="run-ultrareview-from-the-cli">

24 Ultrareview von der CLI ausführen24 Ultrareview von der CLI ausführen


79* **Interaktiv**: Wählen Sie im Startdialog **Run and post the findings to the PR as me** aus. Wenn Sie `--post` zum Befehl hinzufügen, wie in `/code-review ultra 1234 --post`, wählt Claude Code diese Option vor und fragt trotzdem vor dem Start.79* **Interaktiv**: Wählen Sie im Startdialog **Run and post the findings to the PR as me** aus. Wenn Sie `--post` zum Befehl hinzufügen, wie in `/code-review ultra 1234 --post`, wählt Claude Code diese Option vor und fragt trotzdem vor dem Start.

80* **Nicht-interaktiv**: Führen Sie den [`claude ultrareview` Subbefehl](#run-ultrareview-non-interactively) mit `--post` aus. Sie stimmen dem Posten zu, indem Sie den Subbefehl mit dem Flag ausführen, daher postet Claude Code ohne zu fragen. In einem `claude -p '/code-review ultra'` Durchlauf beendet Claude Code sich, bevor die Ergebnisse ankommen, daher postet es nichts; verwenden Sie stattdessen den Subbefehl.80* **Nicht-interaktiv**: Führen Sie den [`claude ultrareview` Subbefehl](#run-ultrareview-non-interactively) mit `--post` aus. Sie stimmen dem Posten zu, indem Sie den Subbefehl mit dem Flag ausführen, daher postet Claude Code ohne zu fragen. In einem `claude -p '/code-review ultra'` Durchlauf beendet Claude Code sich, bevor die Ergebnisse ankommen, daher postet es nichts; verwenden Sie stattdessen den Subbefehl.

81 81 

82Claude Code postet nicht von Ihrem Computer. Es sendet die Ergebnisse an eine Sitzung auf [Claude Code im Web](/docs/de/claude-code-on-the-web), die den Kommentar über das GitHub-Konto postet, das Sie mit Claude verbunden haben. Das Posten erfordert die gleiche claude.ai-Anmeldung wie die Review selbst. Da das Posten über Claude Code im Web läuft, ist es nicht auf Drittanbieter verfügbar oder wenn Sie [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) gesetzt haben.82Claude Code postet nicht von Ihrem Computer. Es sendet die Review-Sitzungs-ID an die Anthropic API, die die gespeicherten Ergebnisse der Review als Kommentar über das GitHub-Konto postet, das Sie mit Claude verbunden haben. Das Posten erfordert die gleiche claude.ai-Anmeldung wie die Review selbst, und es ist nicht auf Drittanbieter verfügbar oder wenn Sie [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/de/env-vars) gesetzt haben.

83 83 

84In einer interaktiven Sitzung startet Claude Code das Posten, wenn die Ergebnisse ankommen, daher halten Sie die Sitzung offen, bis die Review endet. Claude Code behält die Posten-Wahl nur in dieser Sitzung. Wenn die Sitzung endet, bevor die Review endet, postet Claude Code nichts, auch wenn Sie das Gespräch später fortsetzen.84In einer interaktiven Sitzung startet Claude Code das Posten, wenn die Ergebnisse ankommen, daher halten Sie die Sitzung offen, bis die Review endet. Claude Code behält die Posten-Wahl nur in dieser Sitzung. Wenn die Sitzung endet, bevor die Review endet, postet Claude Code nichts, auch wenn Sie das Gespräch später fortsetzen.

85 85 

86Wenn das Posten nicht starten kann, während Ihre Sitzung offen ist, teilt Claude Ihnen mit, dass nichts zum PR ging und warum, und die Ergebnisse bleiben in Ihrem Terminal, damit Sie sie manuell posten können.86Wenn das Posten endet, teilt Claude Ihnen das Ergebnis mit:

87 

88* **Gepostet**: Claude gibt Ihnen einen Link zum Kommentar.

89* **Bereits gepostet**: Ein früheres Posten der gleichen Review hat den Kommentar bereits auf dem PR platziert, daher verlinkt Claude Sie stattdessen zum Pull Request, anstatt erneut zu posten.

90* **Fehlgeschlagen**: Claude teilt Ihnen mit, warum, und die Ergebnisse bleiben in Ihrem Terminal, damit Sie sie manuell posten können.

87 91 

88<h3 id="pass-a-request-in-plain-words">92<h3 id="pass-a-request-in-plain-words">

89 Eine Anfrage in einfachen Worten übergeben93 Eine Anfrage in einfachen Worten übergeben


185 189 

186Wenn Sie den Unterbefehl unterbrechen, läuft die Remote-Review weiter; folgen Sie der auf stderr gedruckten Sitzungs-URL, um sie im Browser zu beobachten.190Wenn Sie den Unterbefehl unterbrechen, läuft die Remote-Review weiter; folgen Sie der auf stderr gedruckten Sitzungs-URL, um sie im Browser zu beobachten.

187 191 

188Mit `--post` startet der Unterbefehl das Posten direkt nach dem Ausdrucken der Ergebnisse. Wenn die Ausführung fehlschlägt, das Timeout abläuft oder Sie sie unterbrechen, postet der Unterbefehl nichts. Wenn die Review abgeschlossen ist, aber das Posten nicht gestartet werden kann, gibt Claude Code den Grund auf stderr aus, und die Ergebnisse bleiben auf stdout, sodass Sie sie manuell posten können.192Mit `--post` startet der Unterbefehl das Posten direkt nach dem Ausdrucken der Ergebnisse und gibt den Link auf stderr aus.

193 

194* Wenn die Ausführung fehlschlägt, das Timeout abläuft oder Sie sie unterbrechen, postet der Unterbefehl nichts.

195* Wenn die Review abgeschlossen ist, aber der Kommentar nicht gepostet wird, gibt Claude Code den Grund auf stderr aus, und die Ergebnisse bleiben auf stdout, sodass Sie sie manuell posten können.

189 196 

190Für automatische Reviews bei GitHub Pull Requests integriert sich [Code Review](/docs/de/code-review) direkt mit Ihrem Repository und veröffentlicht Ergebnisse als Inline-PR-Kommentare ohne einen CLI-Schritt.197Für automatische Reviews bei GitHub Pull Requests integriert sich [Code Review](/docs/de/code-review) direkt mit Ihrem Repository und veröffentlicht Ergebnisse als Inline-PR-Kommentare ohne einen CLI-Schritt.

191 198 


198| | `/code-review` | `/code-review ultra` |205| | `/code-review` | `/code-review ultra` |

199| ------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------ |206| ------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------ |

200| Ziel | Ihr Working Diff, ein Pull Request, ein Branch oder ein Pfad | Ihr Working Diff oder ein Pull Request |207| Ziel | Ihr Working Diff, ein Pull Request, ein Branch oder ein Pfad | Ihr Working Diff oder ein Pull Request |

201| Läuft | lokal in Ihrer Sitzung | remote in einer Cloud-Sandbox |208| Läuft | lokal in Ihrer Sitzung | in einer Cloud-Sandbox |

202| Tiefe | skaliert mit dem Effort-Argument | Multi-Agent-Flotte mit unabhängiger Verifizierung |209| Tiefe | skaliert mit dem Effort-Argument | Multi-Agent-Flotte mit unabhängiger Verifizierung |

203| Dauer | Sekunden bis wenige Minuten | ungefähr 5 bis 10 Minuten |210| Dauer | Sekunden bis wenige Minuten | ungefähr 5 bis 10 Minuten |

204| Kosten | zählt zur normalen Nutzung | kostenlose Durchläufe, dann ungefähr 5 bis 25 Dollar pro Review als Nutzungsguthaben |211| Kosten | zählt zur normalen Nutzung | kostenlose Durchläufe, dann ungefähr 5 bis 25 Dollar pro Review als Nutzungsguthaben |

Details

17Die Spracherfassung streamt Ihre aufgenommene Audiodatei an Anthropic-Server zur Transkription. Audio wird nicht lokal verarbeitet. Dies erfordert alle folgenden Voraussetzungen:17Die Spracherfassung streamt Ihre aufgenommene Audiodatei an Anthropic-Server zur Transkription. Audio wird nicht lokal verarbeitet. Dies erfordert alle folgenden Voraussetzungen:

18 18 

19* **Ein Claude.ai-Konto**: Der Sprache-zu-Text-Dienst ist nur verfügbar, wenn Sie sich mit einem authentifizieren, und ist nicht verfügbar, wenn Claude Code für die Verwendung eines Anthropic API-Schlüssels direkt, Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry konfiguriert ist.19* **Ein Claude.ai-Konto**: Der Sprache-zu-Text-Dienst ist nur verfügbar, wenn Sie sich mit einem authentifizieren, und ist nicht verfügbar, wenn Claude Code für die Verwendung eines Anthropic API-Schlüssels direkt, Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry konfiguriert ist.

20* **Ein lokales Mikrofon**: Die Spracherfassung funktioniert nicht in Remote-Umgebungen wie [Claude Code im Web](/docs/de/claude-code-on-the-web) oder SSH-Sitzungen.20* **Ein lokales Mikrofon**: Die Spracherfassung funktioniert nicht in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) oder SSH-Sitzungen.

21* **WSLg, wenn Sie Claude Code in WSL ausführen**: WSLg ist in WSL2 enthalten, wenn es unter Windows 10 oder 11 aus dem Microsoft Store installiert wird. Wenn WSLg nicht verfügbar ist, beispielsweise unter WSL1, führen Sie Claude Code stattdessen nativ unter Windows aus.21* **WSLg, wenn Sie Claude Code in WSL ausführen**: WSLg ist in WSL2 enthalten, wenn es unter Windows 10 oder 11 aus dem Microsoft Store installiert wird. Wenn WSLg nicht verfügbar ist, beispielsweise unter WSL1, führen Sie Claude Code stattdessen nativ unter Windows aus.

22 22 

23Die Transkription verbraucht keine Claude-Nachrichten oder Token und wird nicht auf die in `/usage` angezeigten Limits angerechnet. Siehe [Datennutzung](/docs/de/data-usage) für Informationen darüber, wie Anthropic Ihre Daten verarbeitet.23Die Transkription verbraucht keine Claude-Nachrichten oder Token und wird nicht auf die in `/usage` angezeigten Limits angerechnet. Siehe [Datennutzung](/docs/de/data-usage) für Informationen darüber, wie Anthropic Ihre Daten verarbeitet.

web-quickstart.md +32 −26

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# Erste Schritte mit Claude Code im Web5# Erste Schritte mit Claude Code in der Cloud

6 6 

7> Führen Sie Claude Code in der Cloud aus Ihrem Browser oder Telefon aus. Verbinden Sie ein GitHub-Repository, übermitteln Sie eine Aufgabe und überprüfen Sie den PR ohne lokales Setup.7> Führen Sie Claude Code in der Cloud aus Ihrem Browser oder Telefon aus. Verbinden Sie ein GitHub-Repository, übermitteln Sie eine Aufgabe und überprüfen Sie den PR ohne lokales Setup.

8 8 

9<Note>9<Note>

10 Claude Code im Web befindet sich in der Forschungsvorschau für Pro-, Max- und Team-Benutzer sowie für Enterprise-Benutzer mit Premium-Sitzen oder Chat + Claude Code-Sitzen.10 Cloud-Sitzungen befinden sich in der Forschungsvorschau für Pro-, Max- und Team-Benutzer sowie für Enterprise-Benutzer mit Premium-Sitzen oder Chat + Claude Code-Sitzen.

11</Note>11</Note>

12 12 

13Claude Code im Web wird auf von Anthropic verwalteter Cloud-Infrastruktur ausgeführt, anstatt auf Ihrem Computer. Übermitteln Sie Aufgaben von [claude.ai/code](https://claude.ai/code) in Ihrem Browser oder der Claude-Mobilanwendung.13Eine Cloud-Sitzung führt Claude Code auf Cloud-Infrastruktur anstelle Ihres Computers aus, standardmäßig von Anthropic verwaltet. Dieser Schnellstart startet eine Sitzung von [claude.ai/code](https://claude.ai/code) in Ihrem Browser. Sie können auch eine Sitzung aus der Claude-Mobilanwendung, der Desktop-Anwendung oder Ihrem Terminal mit `claude --cloud` starten.

14 14 

15Sie benötigen ein GitHub-Repository, um [zu beginnen](#connect-github). Claude klont es in eine isolierte virtuelle Maschine, nimmt Änderungen vor und pusht einen Branch zur Überprüfung. Sitzungen bleiben über Geräte hinweg bestehen, sodass eine Aufgabe, die Sie auf Ihrem Laptop starten, später von Ihrem Telefon aus überprüft werden kann.15Sie benötigen ein GitHub-Repository, um [zu beginnen](#connect-github). Claude klont es in eine isolierte virtuelle Maschine, nimmt Änderungen vor und pusht einen Branch zur Überprüfung. Sitzungen bleiben über Geräte hinweg bestehen, sodass eine Aufgabe, die Sie auf Ihrem Laptop starten, später von Ihrem Telefon aus überprüft werden kann.

16 16 

17Claude Code im Web funktioniert gut für:17Cloud-Sitzungen funktionieren gut für:

18 18 

19* **Parallele Aufgaben**: Führen Sie mehrere unabhängige Aufgaben gleichzeitig aus, jede in ihrer eigenen Sitzung und ihrem eigenen Branch, ohne mehrere Worktrees zu verwalten19* **Parallele Aufgaben**: Führen Sie mehrere unabhängige Aufgaben gleichzeitig aus, jede in ihrer eigenen Sitzung und ihrem eigenen Branch, ohne mehrere Worktrees zu verwalten

20* **Repositories, die Sie nicht lokal haben**: Claude klont das Repository bei jeder Sitzung neu, sodass Sie es nicht auschecken müssen20* **Repositories, die Sie nicht lokal haben**: Claude klont das Repository bei jeder Sitzung neu, sodass Sie es nicht auschecken müssen


40 Vergleichen Sie die Möglichkeiten, Claude Code auszuführen40 Vergleichen Sie die Möglichkeiten, Claude Code auszuführen

41</h2>41</h2>

42 42 

43Claude Code verhält sich überall gleich. Was sich ändert, ist, wo Code ausgeführt wird und ob Ihre lokale Konfiguration verfügbar ist. Die Desktop-App bietet sowohl lokale als auch Cloud-Sitzungen, daher hängen die Antworten unten davon ab, welche Sie wählen:43Claude Code verhält sich überall gleich. Was sich ändert, ist, wo die Sitzung ausgeführt wird und ob Ihre lokale Konfiguration verfügbar ist:

44 44 

45| | Im Web | Remote Control | Terminal CLI | Desktop-App |45| | Cloud-Sitzung | Lokale Sitzung | Lokale Sitzung mit [Remote Control](/docs/de/remote-control) |

46| :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------- | :----------------------- | :----------------------------- |46| :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------- |

47| **Code wird ausgeführt auf** | Cloud VM, standardmäßig von Anthropic verwaltet | Ihrem Computer | Ihrem Computer | Ihrem Computer oder Cloud VM |47| **Code wird ausgeführt auf** | Cloud-VM, standardmäßig von Anthropic verwaltet | Ihrem Computer | Ihrem Computer |

48| **Sie chatten von** | claude.ai oder Mobilanwendung | claude.ai oder Mobilanwendung | Ihrem Terminal | Der Desktop-Benutzeroberfläche |48| **Sie starten sie von** | claude.ai/code, der Claude-Mobilanwendung, der Desktop-App mit **Cloud** ausgewählt, oder `claude --cloud` | Ihrem Terminal, Ihrer IDE oder der Desktop-App mit **Lokal** ausgewählt | Ihrem Terminal, der VS Code-Erweiterung oder der Desktop-App |

49| **Verwendet Ihre lokale Konfiguration** | Nein, nur Repository | Ja | Ja | Ja für lokal, nein für Cloud |49| **Sie chatten von** | claude.ai, der Mobilanwendung oder der Desktop-App | Wo Sie sie gestartet haben | claude.ai oder der Mobilanwendung, sowie von wo Sie sie gestartet haben |

50| **Erfordert GitHub** | Ja, oder [bündeln Sie ein lokales Repository](/docs/de/claude-code-on-the-web#send-local-repositories-without-github) über `--cloud` | Nein | Nein | Nur für Cloud-Sitzungen |50| **Verwendet Ihre lokale Konfiguration** | Nein, nur Repository | Ja | Ja |

51| **Läuft weiter, wenn Sie die Verbindung trennen** | Ja | Während das Terminal offen bleibt | Nein | Hängt vom Sitzungstyp ab |51| **Erfordert GitHub** | Ja, oder [bündeln Sie ein lokales Repository](/docs/de/claude-code-on-the-web#send-local-repositories-without-github) über `--cloud` | Nein | Nein |

52| **[Berechtigungsmodi](/docs/de/permission-modes)** | Änderungen akzeptieren, Plan, Auto | Fragen, Änderungen automatisch akzeptieren, Plan | Alle Modi | Hängt vom Sitzungstyp ab |52| **Läuft weiter, wenn Sie die Verbindung trennen** | Ja | Nein | Während die Sitzung auf Ihrem Computer offen bleibt |

53| **Netzwerkzugriff** | Konfigurierbar pro Umgebung | Netzwerk Ihres Computers | Netzwerk Ihres Computers | Hängt vom Sitzungstyp ab |53| **[Berechtigungsmodi](/docs/de/permission-modes)** | Änderungen akzeptieren, Plan, Auto | Alle Modi im Terminal; siehe [Berechtigungsmodi wechseln](/docs/de/permission-modes#switch-permission-modes) für die IDE und Desktop-App | Manuell, Änderungen akzeptieren oder Plan von claude.ai und der Mobilanwendung |

54| **Netzwerkzugriff** | Konfigurierbar pro Umgebung | Netzwerk Ihres Computers | Netzwerk Ihres Computers |

54 55 

55Siehe die Dokumentation zu [Terminal-Schnellstart](/docs/de/quickstart), [Desktop-App](/docs/de/desktop) oder [Remote Control](/docs/de/remote-control), um diese einzurichten.56Siehe die Dokumentation zu [Terminal-Schnellstart](/docs/de/quickstart), [Desktop-App](/docs/de/desktop) oder [Remote Control](/docs/de/remote-control), um lokale Sitzungen einzurichten.

56 57 

57<h2 id="connect-github">58<h2 id="connect-github">

58 GitHub verbinden59 GitHub verbinden


66 67 

67<Steps>68<Steps>

68 <Step title="Besuchen Sie claude.ai/code">69 <Step title="Besuchen Sie claude.ai/code">

69 Gehen Sie zu [claude.ai/code](https://claude.ai/code) und melden Sie sich mit Ihrem claude.ai-Konto an. Auf macOS oder Windows bietet der erste Bildschirm die Claude Code Desktop-App und andere Möglichkeiten zur Installation von Claude Code an. Um im Browser zu bleiben, klicken Sie unten auf der Seite auf **Im Web fortfahren**.70 Gehen Sie zu [claude.ai/code](https://claude.ai/code) und melden Sie sich mit Ihrem claude.ai-Konto an.

70 </Step>71 </Step>

71 72 

72 <Step title="Mit GitHub anmelden">73 <Step title="Mit GitHub anmelden">

73 Nach der Anmeldung fordert Sie claude.ai/code auf, GitHub zu verbinden. Folgen Sie der Aufforderung, und claude.ai/code sendet Sie zur Autorisierungsseite von GitHub. Genehmigen Sie die Autorisierungsanfrage, und GitHub bringt Sie zurück zu claude.ai/code. Cloud-Sitzungen funktionieren mit vorhandenen GitHub-Repositories. Um ein neues Projekt zu starten, [erstellen Sie zunächst ein leeres Repository auf GitHub](https://github.com/new).74 Nach der Anmeldung fordert Sie claude.ai/code auf, GitHub zu verbinden. Folgen Sie der Aufforderung, und claude.ai/code sendet Sie zur Autorisierungsseite von GitHub. Genehmigen Sie die Autorisierungsanfrage, und GitHub bringt Sie zurück zu claude.ai/code. Cloud-Sitzungen funktionieren mit vorhandenen GitHub-Repositories. Um ein neues Projekt zu starten, [erstellen Sie zunächst ein leeres Repository auf GitHub](https://github.com/new).

74 75 

75 Mit dieser Verbindung kann eine Sitzung jedes öffentliche Repository klonen, kann aber nur dann in einem privaten Repository arbeiten, wenn die Claude GitHub App darauf installiert ist. [Installieren Sie die App](https://github.com/apps/claude/installations/new) auf jedem GitHub-Konto oder jeder Organisation, deren private Repositories Sie verwenden möchten. Bei einer GitHub-Organisation muss möglicherweise ein Organisationsinhaber die Installation genehmigen. Die Installation der App ermöglicht auch [Auto-fix](/docs/de/claude-code-on-the-web#auto-fix-pull-requests), das Claude ermöglicht, auf CI-Fehler und Review-Kommentare zu Pull Requests in diesen Repositories zu reagieren.76 Mit dieser Verbindung kann eine Sitzung jedes öffentliche Repository klonen, kann aber nur dann in einem privaten Repository arbeiten, wenn die Claude GitHub App darauf installiert ist. [Installieren Sie die Claude GitHub App](https://github.com/apps/claude/installations/new) auf jedem GitHub-Konto oder jeder Organisation, deren private Repositories Sie verwenden möchten. Bei einer GitHub-Organisation muss möglicherweise ein Organisationsinhaber die Installation genehmigen. Die Installation der App ermöglicht auch [Auto-fix](/docs/de/claude-code-on-the-web#auto-fix-pull-requests), das Claude ermöglicht, auf CI-Fehler und Review-Kommentare zu Pull Requests in diesen Repositories zu reagieren.

76 77 

77 Wenn das Onboarding Sie an dieser Stelle auffordert, die App zu installieren, und Sie dies lieber später tun möchten, klicken Sie auf **Überspringen**.78 Wenn das Onboarding Sie an dieser Stelle auffordert, die Claude GitHub App zu installieren, und Sie dies lieber später tun möchten, klicken Sie auf **Überspringen**.

78 </Step>79 </Step>

79 80 

80 <Step title="Richten Sie Ihre Standardumgebung ein">81 <Step title="Richten Sie Ihre Standardumgebung ein">


93 Von Ihrem Terminal aus verbinden94 Von Ihrem Terminal aus verbinden

94</h3>95</h3>

95 96 

96Wenn Sie bereits die GitHub CLI (`gh`) verwenden, können Sie Claude Code im Web von Ihrem Terminal aus einrichten. Dies erfordert die [Claude Code CLI](/docs/de/quickstart). Bei Team- und Enterprise-Plänen ist `/web-setup` nur verfügbar, nachdem ein Inhaber das [Schnelle Web-Setup](/docs/de/claude-code-on-the-web#github-authentication-options) aktiviert hat.97Wenn Sie bereits die GitHub CLI (`gh`) verwenden, können Sie GitHub für Cloud-Sitzungen von Ihrem Terminal aus verbinden. Dies erfordert die [Claude Code CLI](/docs/de/quickstart). Bei Team- und Enterprise-Plänen ist `/web-setup` nur verfügbar, nachdem ein Inhaber das [Schnelle Web-Setup](/docs/de/claude-code-on-the-web#github-authentication-options) aktiviert hat.

97 98 

98Wenn Sie `/web-setup` ausführen, liest Claude Code das Token, das `gh auth token` ausgibt, fordert Sie auf zu bestätigen, und sendet das Token an Anthropic. Anthropic speichert es verschlüsselt mit Ihrem claude.ai-Konto, und Ihre Cloud-Sitzungen verwenden es für GitHub-Zugriff, bis Sie es [entfernen](#remove-the-web-setup-token). Eine Cloud-Sitzung kann dann auf jedes Repository zugreifen, auf das dieses Token zugreifen kann, ohne dass eine Claude GitHub App installiert werden muss.99Wenn Sie `/web-setup` ausführen, liest Claude Code das Token, das `gh auth token` ausgibt, fordert Sie auf zu bestätigen, und sendet das Token an Anthropic. Anthropic speichert es verschlüsselt mit Ihrem claude.ai-Konto, und Ihre Cloud-Sitzungen verwenden es für GitHub-Zugriff, bis Sie es [entfernen](#remove-the-web-setup-token). Eine Cloud-Sitzung, die Sie selbst starten, kann dann auf jedes Repository zugreifen, auf das dieses Token zugreifen kann, ohne dass eine Claude GitHub App installiert werden muss. Threads in einem [Projekt](/docs/de/claude-projects#set-up-github-access) benötigen weiterhin die Claude GitHub App.

99 100 

100Wenn Sie GitHub bereits im Browser verbunden haben, warnt Sie `/web-setup`, dass das Fortfahren diese Verbindung für Ihre Cloud-Sitzungen ersetzt.101Wenn Sie GitHub bereits im Browser verbunden haben, warnt Sie `/web-setup`, dass das Fortfahren diese Verbindung für Ihre Cloud-Sitzungen ersetzt.

101 102 


123 /web-setup124 /web-setup

124 ```125 ```

125 126 

126 Bestätigen Sie die Aufforderung, um Ihr `gh`-Token an Ihr Claude-Konto zu senden. Bei Erfolg gibt Claude Code `Connected as <your-github-username>` aus und öffnet [claude.ai/code](https://claude.ai/code) in Ihrem Browser. Wenn Sie noch keine Cloud-Umgebung haben, erstellt `/web-setup` eine mit Trusted-Netzwerkzugriff und ohne Setup-Skript. Sie können [die Umgebung bearbeiten oder Variablen hinzufügen](/docs/de/cloud-environments#configure-your-environment) danach. Sobald `/web-setup` abgeschlossen ist, können Sie Cloud-Sitzungen von Ihrem Terminal aus mit [`--cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-web) starten oder wiederkehrende Aufgaben mit [`/schedule`](/docs/de/routines) einrichten.127 Bestätigen Sie die Aufforderung, um Ihr `gh`-Token an Ihr Claude-Konto zu senden. Bei Erfolg gibt Claude Code `Connected as <your-github-username>` aus und öffnet [claude.ai/code](https://claude.ai/code) in Ihrem Browser. Wenn Sie noch keine Cloud-Umgebung haben, erstellt `/web-setup` eine mit Trusted-Netzwerkzugriff und ohne Setup-Skript. Sie können [die Umgebung bearbeiten oder Variablen hinzufügen](/docs/de/cloud-environments#configure-your-environment) danach. Sobald `/web-setup` abgeschlossen ist, können Sie Cloud-Sitzungen von Ihrem Terminal aus mit [`--cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-cloud) starten oder wiederkehrende Aufgaben mit [`/schedule`](/docs/de/routines) einrichten.

127 </Step>128 </Step>

128</Steps>129</Steps>

129 130 


226 Die Seite zeigt nur eine GitHub-Anmeldeschaltfläche227 Die Seite zeigt nur eine GitHub-Anmeldeschaltfläche

227</h3>228</h3>

228 229 

229Cloud-Sitzungen erfordern ein verbundenes GitHub-Konto. Verbinden Sie sich über den oben beschriebenen Browser-Flow oder führen Sie `/web-setup` von Ihrem Terminal aus aus, wenn Sie die GitHub CLI verwenden. Wenn Sie GitHub lieber gar nicht verbinden möchten, siehe [Remote Control](/docs/de/remote-control), um Claude Code auf Ihrem eigenen Computer auszuführen und es vom Web aus zu überwachen.230Cloud-Sitzungen erfordern ein verbundenes GitHub-Konto. Verbinden Sie sich über den oben beschriebenen Browser-Flow oder führen Sie `/web-setup` von Ihrem Terminal aus aus, wenn Sie die GitHub CLI verwenden. Wenn Sie GitHub lieber gar nicht verbinden möchten, siehe [Remote Control](/docs/de/remote-control), um Claude Code auf Ihrem eigenen Computer auszuführen und es vom Browser oder Telefon aus zu überwachen.

230 231 

231<h3 id="not-available-for-the-selected-organization">232<h3 id="not-available-for-the-selected-organization">

232 „Nicht verfügbar für die ausgewählte Organisation"233 „Nicht verfügbar für die ausgewählte Organisation"

233</h3>234</h3>

234 235 

235Enterprise-Organisationen müssen möglicherweise von einem Owner Claude Code im Web aktivieren lassen. Kontaktieren Sie Ihr Anthropic-Account-Team.236Enterprise-Organisationen müssen möglicherweise von einem Owner Cloud-Sitzungen aktivieren lassen. Kontaktieren Sie Ihr Anthropic-Account-Team.

236 237 

237<h3 id="/web-setup-says-not-signed-in-to-claude">238<h3 id="/web-setup-says-not-signed-in-to-claude">

238 `/web-setup` sagt „Nicht angemeldet bei Claude"239 `/web-setup` sagt „Nicht angemeldet bei Claude"


254 255 

255Wenn Sie es in Claude Code eingegeben haben und das Befehlsmenü `Keine Befehle stimmen überein "/web-setup"` anzeigt oder das Absenden `Unbekannter Befehl: /web-setup` zurückgibt, ist der Befehl verborgen, weil eine Anforderung nicht erfüllt ist. Die Ursache ist normalerweise, dass Sie mit einem API-Schlüssel oder einem Drittanbieter-Provider authentifiziert sind, anstatt mit einem claude.ai-Abonnement. Führen Sie `/login` aus, um sich mit Ihrem claude.ai-Konto anzumelden.256Wenn Sie es in Claude Code eingegeben haben und das Befehlsmenü `Keine Befehle stimmen überein "/web-setup"` anzeigt oder das Absenden `Unbekannter Befehl: /web-setup` zurückgibt, ist der Befehl verborgen, weil eine Anforderung nicht erfüllt ist. Die Ursache ist normalerweise, dass Sie mit einem API-Schlüssel oder einem Drittanbieter-Provider authentifiziert sind, anstatt mit einem claude.ai-Abonnement. Führen Sie `/login` aus, um sich mit Ihrem claude.ai-Konto anzumelden.

256 257 

257Bei Team- und Enterprise-Plänen ist der Befehl standardmäßig verborgen: Der [Quick web setup toggle](/docs/de/claude-code-on-the-web#github-authentication-options) ist ausgeschaltet, bis ein Owner ihn einschaltet. Während er ausgeschaltet ist, [verbinden Sie GitHub stattdessen vom Browser](#connect-github). Der Befehl ist auch verborgen, wenn ein Administrator Claude Code im Web für Ihre Organisation deaktiviert hat, oder wenn Ihre Enterprise-Organisation [Zero Data Retention](/docs/de/zero-data-retention) aktiviert hat, was Claude Code im Web nicht verfügbar macht.258Bei Team- und Enterprise-Plänen ist der Befehl standardmäßig verborgen: Der [Quick web setup toggle](/docs/de/claude-code-on-the-web#github-authentication-options) ist ausgeschaltet, bis ein Owner ihn einschaltet. Während er ausgeschaltet ist, [verbinden Sie GitHub stattdessen vom Browser](#connect-github) aus.

259 

260Der Befehl ist auch verborgen in zwei weiteren Fällen:

261 

262* Ein Administrator hat Cloud-Sitzungen für Ihre Organisation deaktiviert. In diesem Fall gibt das Absenden von `/web-setup` [`Cloud-Sitzungen sind durch die Richtlinie Ihrer Organisation deaktiviert`](/docs/de/errors#cloud-sessions-are-disabled-by-your-organizations-policy) zurück. Vor v2.1.268 gab dieser Fall auch `Unbekannter Befehl: /web-setup` zurück.

263* Ihre Enterprise-Organisation hat [Zero Data Retention](/docs/de/zero-data-retention) aktiviert, was Cloud-Sitzungen nicht verfügbar macht.

258 264 

259<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-cloud">265<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-cloud">

260 „Cloud-Umgebung konnte nicht erstellt werden" oder „Keine Cloud-Umgebung verfügbar" bei Verwendung von `--cloud`266 „Cloud-Umgebung konnte nicht erstellt werden" oder „Keine Cloud-Umgebung verfügbar" bei Verwendung von `--cloud`

261</h3>267</h3>

262 268 

263Remote-Sitzungsfunktionen erstellen automatisch eine Standard-Cloud-Umgebung, wenn Sie noch keine haben. Wenn Sie „Cloud-Umgebung konnte nicht erstellt werden" sehen, ist die automatische Erstellung fehlgeschlagen. Wenn Sie „Keine Cloud-Umgebung verfügbar" sehen, ist Ihre CLI älter als die automatische Erstellung. Führen Sie in beiden Fällen `/web-setup` in der Claude Code CLI aus, oder fügen Sie eine Umgebung aus dem [Umgebungsauswahl](/docs/de/cloud-environments#configure-your-environment) unter [claude.ai/code](https://claude.ai/code) hinzu.269Cloud-Sitzungsfunktionen erstellen automatisch eine Standard-Cloud-Umgebung, wenn Sie noch keine haben. Wenn Sie „Cloud-Umgebung konnte nicht erstellt werden" sehen, ist die automatische Erstellung fehlgeschlagen. Wenn Sie „Keine Cloud-Umgebung verfügbar" sehen, ist Ihre CLI älter als die automatische Erstellung. Führen Sie in beiden Fällen `/web-setup` in der Claude Code CLI aus, oder fügen Sie eine Umgebung aus dem [Umgebungsauswahl](/docs/de/cloud-environments#configure-your-environment) unter [claude.ai/code](https://claude.ai/code) hinzu.

264 270 

265<h3 id="setup-script-failed">271<h3 id="setup-script-failed">

266 Setup-Skript fehlgeschlagen272 Setup-Skript fehlgeschlagen


302* [Konfigurieren Sie Cloud-Umgebungen](/docs/de/cloud-environments): Netzwerkzugriffsstufen, Umgebungsvariablen und Setup-Skripte für Cloud-Sitzungen308* [Konfigurieren Sie Cloud-Umgebungen](/docs/de/cloud-environments): Netzwerkzugriffsstufen, Umgebungsvariablen und Setup-Skripte für Cloud-Sitzungen

303* [Routinen](/docs/de/routines): Automatisieren Sie Arbeiten nach einem Zeitplan, über einen API-Aufruf oder als Reaktion auf GitHub-Ereignisse309* [Routinen](/docs/de/routines): Automatisieren Sie Arbeiten nach einem Zeitplan, über einen API-Aufruf oder als Reaktion auf GitHub-Ereignisse

304* [CLAUDE.md](/docs/de/memory): Geben Sie Claude ständige Anweisungen und Kontext, die zu Beginn jeder Sitzung geladen werden310* [CLAUDE.md](/docs/de/memory): Geben Sie Claude ständige Anweisungen und Kontext, die zu Beginn jeder Sitzung geladen werden

305* Installieren Sie die Claude-Mobilanwendung für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) oder [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude), um Sitzungen von Ihrem Telefon aus zu überwachen. Aus der Claude Code CLI zeigt `/mobile` einen QR-Code an.311* Installieren Sie die Claude-Mobilanwendung für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) oder [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude), um Sitzungen von Ihrem Telefon aus zu überwachen. Aus der Claude Code CLI zeigt `/mobile` einen QR-Code für [claude.ai/mobile](https://claude.ai/mobile) an, der den richtigen App Store für Ihr Telefon öffnet.

whats-new.md +24 −0

Details

8 8 

9Die wöchentliche Entwickler-Zusammenfassung hebt die Funktionen hervor, die am ehesten ändern, wie Sie arbeiten. Jeder Eintrag enthält ausführbaren Code, eine kurze Demo und einen Link zur vollständigen Dokumentation. Für jeden Fehlerbehebung und kleinere Verbesserung siehe das [Changelog](/docs/en/changelog).9Die wöchentliche Entwickler-Zusammenfassung hebt die Funktionen hervor, die am ehesten ändern, wie Sie arbeiten. Jeder Eintrag enthält ausführbaren Code, eine kurze Demo und einen Link zur vollständigen Dokumentation. Für jeden Fehlerbehebung und kleinere Verbesserung siehe das [Changelog](/docs/en/changelog).

10 10 

11<Update label="Woche 37" description="7.–11. September 2026" tags={["v2.1.263–v2.1.269"]}>

12 **`claude plugin eval`**: Führen Sie Ihr Plugin gegen eine Suite von Testfällen aus, bewerten Sie die Ergebnisse und vergleichen Sie sie mit einer Baseline ohne Plugin. `claude plugin eval init` entwirft die Fälle und Bewerter für Sie.

13 

14 Auch diese Woche: Pop any **Claude Code Desktop-Bereich** in sein eigenes Fenster und docken Sie es später wieder an; die **`maxEffortLevel`**-Einstellung begrenzt die Aufwandsstufe auf jedem Provider; und eine Seite, die **WebFetch** nicht innerhalb von fünf Minuten heruntergeladen hat, schlägt fehl, anstatt zu hängen.

15 

16 [Lesen Sie die Woche-37-Zusammenfassung →](/docs/de/whats-new/2026-w37)

17</Update>

18 

19<Update label="Woche 36" description="31. August – 4. September 2026" tags={["v2.1.251–v2.1.261"]}>

20 **Claude Fable 5.1**: verfügbar in Claude Code mit einem 1-Million-Token-Kontextfenster.

21 

22 Auch diese Woche: Auf Pro- und Max-Plänen funktioniert **Computernutzung in der Desktop-App** im Hintergrund auf macOS, während Sie weiterarbeiten; beim Fullscreen-Rendering öffnet **`/diff`** ein Live-Panel neben dem Gespräch, das sich aktualisiert, während Claude bearbeitet; und **`/skill-doctor`** zeigt, was jede Ihrer Skills im Kontext kostet und wie oft sie verwendet wird.

23 

24 [Lesen Sie die Woche-36-Zusammenfassung →](/docs/de/whats-new/2026-w36)

25</Update>

26 

27<Update label="Woche 35" description="24.–28. August 2026" tags={["v2.1.240–v2.1.250"]}>

28 **Terminal-Sitzungen in der Desktop-App fortsetzen**: Geben Sie `/resume` in das Claude Code Desktop-Eingabefeld ein, um eine beliebige Sitzung aufzugreifen, die Sie von der CLI aus gestartet haben, mit dem vollständigen Gespräch und Kontext intakt.

29 

30 Auch diese Woche: **Von Claude entworfenes Feedback** lässt Claude einen Feedbackbericht schreiben, wenn etwas in einer Sitzung schiefgeht, den Sie überprüfen und von `/feedback` aus senden; **`--restricted`** startet eine Sitzung ohne die Befehlsausführungs-Tools oder Ihre Benutzer- und Projekteinstellungen, für Evaluierungs-Harnesses auf gemeinsamen Maschinen; und die **`modelPicker`**-Einstellung steuert, welche Modelle der `/model`-Picker auflistet.

31 

32 [Lesen Sie die Woche-35-Zusammenfassung →](/docs/de/whats-new/2026-w35)

33</Update>

34 

11<Update label="Woche 34" description="17.–21. August 2026" tags={["v2.1.234–v2.1.239"]}>35<Update label="Woche 34" description="17.–21. August 2026" tags={["v2.1.234–v2.1.239"]}>

12 **`/design`**: eine Forschungsvorschau, die Claudes Design-Artboard-Workflow in die CLI und Claude Code Desktop bringt, basierend auf Artifacts, sodass Claude bearbeitbare Artboards für Ihre Benutzeroberfläche entwirft und die von Ihnen ausgewählte implementiert.36 **`/design`**: eine Forschungsvorschau, die Claudes Design-Artboard-Workflow in die CLI und Claude Code Desktop bringt, basierend auf Artifacts, sodass Claude bearbeitbare Artboards für Ihre Benutzeroberfläche entwirft und die von Ihnen ausgewählte implementiert.

13 37 

Details

17 <span className="digest-feature-pill">research preview</span>17 <span className="digest-feature-pill">research preview</span>

18 </div>18 </div>

19 19 

20 <p className="digest-feature-lede">Letzte Woche landete die Computernutzung in der Desktop-App. Diese Woche ist sie in der CLI: Claude kann native Apps öffnen, durch die Benutzeroberfläche klicken, seine eigenen Änderungen testen und reparieren, was kaputt geht – alles von Ihrem Terminal aus. Web-Apps hatten bereits Verifikationsschleifen; native iOS-, macOS- und andere nur GUI-Apps nicht. Jetzt haben sie es. Am besten zum Schließen der Schleife bei Apps und Tools, bei denen es keine API zum Aufrufen gibt. Noch früh; erwarten Sie raue Kanten.</p>20 <p className="digest-feature-lede">Letzte Woche landete die Computernutzung in der Desktop-App. Diese Woche ist sie in der CLI: Claude kann native Apps öffnen, durch die Benutzeroberfläche klicken, seine eigenen Änderungen testen und beheben, was kaputt geht – alles von Ihrem Terminal aus. Web-Apps hatten bereits Verifikationsschleifen; native iOS-, macOS- und andere nur GUI-Apps nicht. Jetzt haben sie es. Am besten zum Schließen der Schleife bei Apps und Tools, bei denen es keine API zum Aufrufen gibt. Noch früh; erwarten Sie raue Kanten.</p>

21 21 

22 <Frame>22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/cli-computer-use.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=c17a337902308d7c9121013ded0494db" data-path="images/whats-new/cli-computer-use.mp4" />23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/cli-computer-use.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=c17a337902308d7c9121013ded0494db" data-path="images/whats-new/cli-computer-use.mp4" />

24 </Frame>24 </Frame>

25 25 

26 <p className="digest-feature-try">Erfordert macOS und einen Pro- oder Max-Plan; andernfalls wird <code>computer-use</code> nicht in <code>/mcp</code> angezeigt. Führen Sie <code>/mcp</code> aus, finden Sie <code>computer-use</code> und schalten Sie es ein. Dann bitten Sie Claude, eine Änderung von Ende zu Ende zu überprüfen:</p>26 <p className="digest-feature-try">Erfordert macOS und einen Pro- oder Max-Plan; andernfalls wird <code>computer-use</code> nicht in <code>/mcp</code> angezeigt. Führen Sie <code>/mcp</code> aus, finden Sie <code>computer-use</code> und schalten Sie es ein. Bitten Sie dann Claude, eine Änderung von Ende zu Ende zu überprüfen:</p>

27 27 

28 ```text title="Claude Code" wrap theme={null}28 ```text title="Claude Code" wrap theme={null}

29 Open the iOS simulator, tap through onboarding, and screenshot each step29 Open the iOS simulator, tap through onboarding, and screenshot each step


38 <span className="digest-feature-pill">v2.1.90</span>38 <span className="digest-feature-pill">v2.1.90</span>

39 </div>39 </div>

40 40 

41 <p className="digest-feature-lede">Interaktive Lektionen, die Claude Code-Funktionen durch animierte Demos direkt in Ihrem Terminal vermitteln. Claude Code wird häufig aktualisiert, und Funktionen, die letzte Woche Ihre Arbeitsweise geändert hätten, können übersehen werden. Führen Sie <code>/powerup</code> einmal aus und Sie wissen, was es gibt.</p>41 <p className="digest-feature-lede">Interaktive Lektionen, die Claude Code-Features durch animierte Demos direkt in Ihrem Terminal vermitteln. Claude Code wird häufig aktualisiert, und Features, die letzte Woche Ihre Arbeitsweise verändert hätten, können übersehen werden. Führen Sie <code>/powerup</code> einmal aus und Sie wissen, was es gibt.</p>

42 42 

43 <Frame>43 <Frame>

44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/powerup.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=fb88beddc0ecc8029da5ab029e4b28f1" data-path="images/whats-new/powerup.mp4" />44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/powerup.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=fb88beddc0ecc8029da5ab029e4b28f1" data-path="images/whats-new/powerup.mp4" />


59 <span className="digest-feature-pill">v2.1.89</span>59 <span className="digest-feature-pill">v2.1.89</span>

60 </div>60 </div>

61 61 

62 <p className="digest-feature-lede">Entscheiden Sie sich für einen neuen Alt-Screen-Renderer mit virtualisiertem Scrollback. Die Eingabeaufforderung bleibt am unteren Rand fixiert, die Mausauswahl funktioniert über lange Konversationen hinweg, und das Flimmern beim Neuzeichnen ist weg. Deaktivieren Sie <code>CLAUDE\_CODE\_NO\_FLICKER</code>, um zurückzurollen.</p>62 <p className="digest-feature-lede">Entscheiden Sie sich für einen neuen Alt-Screen-Renderer mit virtualisiertem Scrollback. Die Eingabeaufforderung bleibt am unteren Rand fixiert, die Mausauswahl funktioniert über lange Konversationen hinweg, und das Flimmern beim Neuzeichnen ist weg. Heben Sie <code>CLAUDE\_CODE\_NO\_FLICKER</code> auf, um zurückzurollen.</p>

63 63 

64 <Frame>64 <Frame>

65 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/flicker-free.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=7719e35e52a3f9734b0cf69edac333ad" data-path="images/whats-new/flicker-free.mp4" />65 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/flicker-free.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=7719e35e52a3f9734b0cf69edac333ad" data-path="images/whats-new/flicker-free.mp4" />


72 claude72 claude

73 ```73 ```

74 74 

75 <a className="digest-feature-link" href="/docs/de/fullscreen">Vollbildrendering</a>75 <a className="digest-feature-link" href="/docs/de/fullscreen">Vollbild-Rendering</a>

76</div>76</div>

77 77 

78<div className="digest-feature">78<div className="digest-feature">


81 <span className="digest-feature-pill">v2.1.91</span>81 <span className="digest-feature-pill">v2.1.91</span>

82 </div>82 </div>

83 83 

84 <p className="digest-feature-lede">MCP-Server-Autoren können jetzt die Kürzungsgrenze für ein bestimmtes Tool erhöhen, indem sie <code>anthropic/maxResultSizeChars</code> im <code>tools/list</code>-Eintrag des Tools setzen, bis zu einer harten Obergrenze von 500K Zeichen. Die Obergrenze war früher global, daher trafen Tools, die gelegentlich inhärent große Nutzlasten wie Datenbankschemas oder vollständige Dateibäume zurückgaben, auf die Standardgrenze und wurden auf der Festplatte mit einer Dateireferenz gespeichert. Pro-Tool-Overrides halten diese Ergebnisse inline, wenn das Tool sie wirklich braucht.</p>84 <p className="digest-feature-lede">MCP-Server-Autoren können jetzt die Kürzungsgrenze für ein bestimmtes Tool erhöhen, indem sie <code>anthropic/maxResultSizeChars</code> im <code>tools/list</code>-Eintrag des Tools setzen, bis zu einer harten Obergrenze von 500K Zeichen. Die Obergrenze war früher global, daher trafen Tools, die gelegentlich inhärent große Nutzlasten wie Datenbankschemas oder vollständige Dateibäume zurückgaben, die Standardgrenze und wurden auf der Festplatte mit einer Dateireferenz gespeichert. Pro-Tool-Overrides halten diese Ergebnisse inline, wenn das Tool sie wirklich braucht.</p>

85 85 

86 <p className="digest-feature-try">Kommentieren Sie das Tool in der <code>tools/list</code>-Antwort Ihres Servers:</p>86 <p className="digest-feature-try">Kommentieren Sie das Tool in der <code>tools/list</code>-Antwort Ihres Servers:</p>

87 87 


123 <p className="digest-wins-title">Weitere Erfolge</p>123 <p className="digest-wins-title">Weitere Erfolge</p>

124 124 

125 <div className="digest-wins-grid">125 <div className="digest-wins-grid">

126 <div>Auto-Modus-Folgefragen: neuer <code>PermissionDenied</code>-Hook wird bei Klassifizierer-Ablehnungen ausgelöst (geben Sie <code>retry: true</code> zurück, um Claude einen anderen Ansatz versuchen zu lassen), und <code>/permissions</code> → Kürzlich abgelehnt ermöglicht es Ihnen, manuell mit <code>r</code> erneut zu versuchen</div>126 <div>Auto-Modus-Folgefragen: neuer <code>PermissionDenied</code>-Hook wird bei Klassifizierer-Ablehnungen ausgelöst (geben Sie <code>retry: true</code> zurück, um Claude einen anderen Ansatz versuchen zu lassen), und <code>/permissions</code> → Kürzlich abgelehnt lässt Sie manuell mit <code>r</code> erneut versuchen</div>

127 <div>Neuer <code>defer</code>-Wert für <code>permissionDecision</code> in <code>PreToolUse</code>-Hooks: <code>-p</code>-Sitzungen pausieren bei einem Tool-Aufruf und beenden sich mit einer <code>deferred\_tool\_use</code>-Nutzlast, damit eine SDK-App oder benutzerdefinierte Benutzeroberfläche sie anzeigen kann, dann mit <code>--resume</code> fortgesetzt werden</div>127 <div>Neuer <code>defer</code>-Wert für <code>permissionDecision</code> in <code>PreToolUse</code>-Hooks: <code>-p</code>-Sitzungen pausieren bei einem Tool-Aufruf und beenden sich mit einer <code>deferred\_tool\_use</code>-Nutzlast, damit eine SDK-App oder benutzerdefinierte Benutzeroberfläche sie anzeigen kann, dann mit <code>--resume</code> fortgesetzt werden</div>

128 <div><code>/buddy</code>: schlüpfen Sie ein kleines Wesen aus, das Sie beim Codieren beobachtet. Ein April-Fools'-Scherz, nicht mehr verfügbar</div>128 <div><code>/buddy</code>: schlüpfen Sie ein kleines Wesen aus, das Sie beim Codieren beobachtet. Ein April-Fools'-Scherz, nicht mehr verfügbar</div>

129 <div><code>disableSkillShellExecution</code>-Einstellung blockiert Inline-Shell von Skills, Slash-Befehlen und Plugin-Befehlen</div>129 <div><code>disableSkillShellExecution</code>-Einstellung blockiert Inline-Shell von Skills, benutzerdefinierten Befehlen und Plugin-Befehlen</div>

130 <div>Edit-Tool funktioniert jetzt auf Dateien, die über <code>cat</code> oder <code>sed -n</code> angezeigt werden, ohne einen separaten Read</div>130 <div>Edit-Tool funktioniert jetzt auf Dateien, die über <code>cat</code> oder <code>sed -n</code> angezeigt werden, ohne einen separaten Read</div>

131 <div>Hook-Ausgabe über 50K wird auf der Festplatte mit einem Pfad + Vorschau gespeichert, anstatt in den Kontext eingefügt zu werden</div>131 <div>Hook-Ausgabe über 50K wird auf der Festplatte mit einem Pfad + Vorschau gespeichert, anstatt in den Kontext eingefügt zu werden</div>

132 <div>Thinking-Zusammenfassungen sind standardmäßig in interaktiven Sitzungen deaktiviert (<code>showThinkingSummaries: true</code> zum Wiederherstellen)</div>132 <div>Thinking-Zusammenfassungen sind standardmäßig in interaktiven Sitzungen deaktiviert (<code>showThinkingSummaries: true</code> zum Wiederherstellen)</div>

whats-new/2026-w35.md +98 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Woche 35 · 24.–28. August 2026

6 

7> Setzen Sie Terminal-Sitzungen in der Claude Code Desktop-App fort, überprüfen Sie Feedback-Berichte, die Claude für Sie entwirft, und starten Sie eine Sitzung im eingeschränkten Modus.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/docs/en/changelog#2-1-240">v2.1.240 → v2.1.250</a></span>

11 <span>3 Features · 24.–28. August</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Terminal-Sitzungen in der Desktop-App fortsetzen</span>

17 <span className="digest-feature-pill">Desktop</span>

18 </div>

19 

20 <p className="digest-feature-lede">Geben Sie <code>/resume</code> in das Claude Code Desktop-Eingabefeld ein, um eine beliebige Sitzung auszuwählen, die Sie über die CLI gestartet haben, und setzen Sie sie in der App mit der vollständigen Konversation und dem Kontext fort. Durchsuchen Sie Ihre Sitzungen nach Titel, Ordner oder Branch und zeigen Sie eine Vorschau an, wo Sie aufgehört haben, bevor Sie fortfahren.</p>

21 

22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/desktop-resume-cli-session.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=41e4a5fda6b9d63280589f2cbdabf44f" data-path="images/whats-new/desktop-resume-cli-session.mp4" />

24 </Frame>

25 

26 <p className="digest-feature-try">Führen Sie in einer Desktop-Sitzung den Befehl aus, um Ihre Terminal-Sitzungen aufzulisten:</p>

27 

28 ```text Claude Code theme={null}

29 > /resume

30 ```

31 

32 <p className="digest-feature-try">Wählen Sie eine Sitzung aus und drücken Sie <code>Enter</code>. Die Konversation wird in der App dort geöffnet, wo Sie aufgehört haben.</p>

33 

34 <a className="digest-feature-link" href="/docs/de/desktop#coming-from-the-cli">Wechsel zwischen CLI und Desktop</a>

35</div>

36 

37<div className="digest-feature">

38 <div className="digest-feature-header">

39 <span className="digest-feature-title">Von Claude entworfenes Feedback</span>

40 <span className="digest-feature-pill">CLI</span>

41 </div>

42 

43 <p className="digest-feature-lede">Wenn ein Tool immer wieder fehlschlägt, Claude bei einer Anfrage nicht helfen kann oder Sie auf einen Fehler hinweisen, entwirft Claude jetzt mit dem <code>SendFeedback</code>-Tool einen Feedback-Bericht für Sie. Eine Karte über Ihrer Eingabeaufforderung zeigt den Entwurf an, und Sie können ihn von dort aus überprüfen, senden oder verwerfen. Nichts erreicht Anthropic, bis Sie es senden. Erfordert v2.1.238 oder später.</p>

44 

45 <Frame>

46 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/claude-drafted-feedback.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=5cacb3be0dffd1cbd417381f3721637e" alt="Eine Claude Code-Sitzung, in der Claude einen Fehlerbericht mit dem Titel „Sandbox image pull fails behind proxy&#x22; entworfen hat, angezeigt als Karte über der Eingabeaufforderung mit Optionen zum Überprüfen, Senden oder Verwerfen" width="1440" height="756" data-path="images/whats-new/claude-drafted-feedback.jpg" />

47 </Frame>

48 

49 <p className="digest-feature-try">Führen Sie <code>/feedback</code> ohne Argument aus, um Ihre Warteschlange mit Entwürfen aus jeder Sitzung zu öffnen:</p>

50 

51 ```text Claude Code theme={null}

52 > /feedback

53 ```

54 

55 <p className="digest-feature-try">Wählen Sie einen Entwurf aus und bearbeiten, senden oder verwerfen Sie ihn. Um das Entwerfen auszuschalten, setzen Sie <strong>Von Claude entworfenes Feedback</strong> in <code>/config</code> auf <code>off</code>.</p>

56 

57 <a className="digest-feature-link" href="/docs/de/tools-reference#sendfeedback-tool-behavior">SendFeedback-Tool-Verhalten</a>

58</div>

59 

60<div className="digest-feature">

61 <div className="digest-feature-header">

62 <span className="digest-feature-title">Eingeschränkter Modus</span>

63 <span className="digest-feature-pill">v2.1.248</span>

64 </div>

65 

66 <p className="digest-feature-lede">Der eingeschränkte Modus startet Claude Code ohne die integrierten Tools, die Befehle oder Code ausführen. Verwenden Sie ihn, wenn ein Evaluierungs-Harness <code>claude</code> auf einem gemeinsamen Computer steuert. Starten Sie ihn mit `--restricted` oder setzen Sie <code>CLAUDE\_CODE\_RESTRICTED=1</code>. Claude Code entfernt auch <code>WebFetch</code>, beschränkt die Datei-Tools auf die Arbeitsverzeichnisse, lädt nur verwaltete Einstellungen und `--settings`, und lehnt den <code>bypassPermissions</code>-Berechtigungsmodus ab.</p>

67 

68 <p className="digest-feature-try">Führen Sie eine nicht-interaktive Abfrage ohne die befehlsausführenden Tools aus:</p>

69 

70 ```bash terminal theme={null}

71 claude --restricted -p "review src/ for SQL injection risks"

72 ```

73 

74 <p className="digest-feature-try">Um Claude eines der entfernten Tools zurückzugeben, listen Sie es in `--tools` zusammen mit den anderen integrierten Tools auf, die Sie möchten, zum Beispiel `--tools "Bash,Read,Edit"`. `--tools` ist eine Zulassungsliste, und seine <code>default</code>-Voreinstellung stellt die entfernten Tools nicht wieder her.</p>

75 

76 <a className="digest-feature-link" href="/docs/de/cli-reference#cli-flags">CLI-Flags</a>

77</div>

78 

79<div className="digest-wins">

80 <p className="digest-wins-title">Weitere Verbesserungen</p>

81 

82 <div className="digest-wins-grid">

83 <div>Setzen Sie die neue <a href="/docs/de/settings-reference#modelpicker"><code>modelPicker</code></a>-Einstellung, um die integrierte Liste des <code>/model</code>-Pickers mit Ihren eigenen geordneten, beschrifteten Einträgen zu erweitern oder zu ersetzen, einschließlich Amazon Bedrock oder Google Cloud Agent Platform-Modell-IDs</div>

84 <div>Setzen Sie <a href="/docs/de/prompt-caching#choose-the-ttl-yourself"><code>promptCacheTtl</code></a> auf <code>1h</code>, um einen einstündigen Prompt-Cache in der Hauptkonversation zu behalten, wenn Sie einen API-Schlüssel oder einen Cloud-Provider verwenden; <code>subagentPromptCacheTtl</code> setzt die TTL für Subagenten und alle anderen Anfragen außerhalb der Hauptkonversation</div>

85 <div>Bei Pro-, Max-, Team- und Enterprise-Plänen fügt <a href="/docs/de/costs#plan-usage-breakdown"><code>/usage</code></a> eine Loops-Aufschlüsselung hinzu: Ausführungsanzahl, Gesamttoken, Token pro Ausführung und letzte Ausführung für die <code>/loop</code> und geplanten Aufgaben, die die meisten Token verbrauchten</div>

86 <div>Organisationen mit vertraglich vereinbarten Sätzen können die <a href="/docs/de/costs#report-spend-at-your-contracted-rates"><code>modelPricing</code></a>-verwaltete Einstellung setzen, damit <code>/usage</code>, die Statuszeile und OpenTelemetry Kosten zu diesen Sätzen statt zum Listenpreis melden</div>

87 <div><code>/login</code> bietet <strong>Mit Ihrem Console-Konto anmelden</strong> unter der Option <strong>Anthropic Console-Konto</strong>, damit Mitglieder von Console-Organisationen, die keine API-Schlüssel zulassen, sich anmelden können, ohne einen zu erstellen</div>

88 <div>Führen Sie <code>/permissions</code> aus und öffnen Sie die neue <a href="/docs/de/auto-mode-config#edit-rules-from-permissions"><strong>Auto-Modus</strong>-Registerkarte</a>, um Auto-Modus-Klassifiziererregeln anzuzeigen und zu bearbeiten, ohne eine Einstellungsdatei zu öffnen</div>

89 <div>Wenn der Auto-Modus verfügbar ist, bieten Bash-Berechtigungsaufforderungen im Manual- und <code>acceptEdits</code>-Berechtigungsmodus eine <a href="/docs/de/permission-modes#switch-permission-modes"><strong>Ja, und zum Auto-Modus wechseln</strong></a>-Option; wählen Sie diese aus, um den Befehl zu genehmigen und die Sitzung zum Auto-Modus zu wechseln</div>

90 <div>Nachdem Sie <a href="/docs/de/permissions#move-the-session-to-another-directory">eine Sitzung mit <code>/cd</code> verschoben haben</a>, werden die Projekteinstellungen, Hooks, <code>.mcp.json</code>-Server, Skills und Subagenten des neuen Verzeichnisses sofort wirksam, anstatt beim nächsten `--resume`</div>

91 <div>In nicht-interaktiven Sitzungen, einschließlich <code>-p</code>-Ausführungen, Agent SDK-Ausführungen und Cloud-Sitzungen, <a href="/docs/de/errors#the-response-above-may-be-incomplete">setzt Claude Code eine Antwort fort</a>, die ein Serverfehler, eine unterbrochene Verbindung oder ein Stall mitten im Stream unterbrochen hat, wenn die Teilantwort Text und keine Tool-Aufrufe enthält</div>

92 <div>Ein Subagent, der bei seinem <code>maxTurns</code>-Limit stoppt, gibt seine Ausgabe als teilweise markiert zurück, mit einem Hinweis, dass Claude sie <a href="/docs/de/sub-agents#resume-subagents">mit <code>SendMessage</code> fortsetzen kann</a>, anstatt fertig zu erscheinen</div>

93 <div>Bei Amazon Bedrock, Google Cloud Agent Platform und Microsoft Foundry können Sitzungen auf demselben Computer jetzt <a href="/docs/de/cross-session-messaging#availability">miteinander kommunizieren</a>, <code>/loop</code> kann <a href="/docs/de/scheduled-tasks#let-claude-choose-the-interval">sein eigenes Intervall wählen</a>, und <code>/model</code> und <code>/effort</code> werden sofort angewendet, anstatt nach dem Ende des Zuges</div>

94 <div>Das native Installationsprogramm und der Auto-Updater laden einen zstd-komprimierten Build herunter, etwa 75 MB statt 340 MB auf Linux x64, und native Builds laden Code bei Bedarf, wobei etwa 40 bis 70 MB weniger Speicher pro Sitzung verwendet wird</div>

95 </div>

96</div>

97 

98[Vollständiges Changelog für v2.1.240–v2.1.250 →](/docs/en/changelog#2-1-240)

whats-new/2026-w36.md +109 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Woche 36 · 31. August – 4. September 2026

6 

7> Wechseln Sie zu Claude Fable 5.1, lassen Sie die Computernutzung im Hintergrund auf dem Desktop laufen, und beobachten Sie Claudes Änderungen in einem Live-/diff-Panel.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/docs/en/changelog#2-1-251">v2.1.251 → v2.1.261</a></span>

11 <span>4 Funktionen · 31. August – 4. September</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Claude Fable 5.1</span>

17 <span className="digest-feature-pill">neues Modell</span>

18 </div>

19 

20 <p className="digest-feature-lede">Claude Fable 5.1 ist in Claude Code mit einem Kontextfenster von 1 Million Token verfügbar, und der Alias <code>fable</code> wählt es jetzt aus. In Claude-Apps-Gateway-Sitzungen wählt <code>fable</code> weiterhin Fable 5 aus. Wenn Ihr Gateway Fable 5.1 bereitstellt, führen Sie <code>/model claude-fable-5-1</code> aus. Erfordert v2.1.257 oder später.</p>

21 

22 <p className="digest-feature-try">Wechseln Sie die aktuelle Sitzung zu Fable 5.1 und speichern Sie sie als Standard:</p>

23 

24 ```text Claude Code theme={null}

25 > /model fable

26 ```

27 

28 <p className="digest-feature-try">In der Anthropic API zeigt die Auswahl Fable nur an, wenn der Server meldet, dass es für Ihre Organisation verfügbar ist. Wenn Sie jedoch <code>/model fable</code> eingeben, wird der Server direkt überprüft.</p>

29 

30 <a className="digest-feature-link" href="/docs/de/model-config#work-with-fable">Mit Fable arbeiten</a>

31</div>

32 

33<div className="digest-feature">

34 <div className="digest-feature-header">

35 <span className="digest-feature-title">Computernutzung läuft im Hintergrund auf dem Desktop</span>

36 <span className="digest-feature-pill">Desktop</span>

37 </div>

38 

39 <p className="digest-feature-lede">Auf macOS funktioniert die Computernutzung in der Claude Code Desktop-App jetzt im Hintergrund: Claude sieht und agiert in den Apps, die Sie genehmigt haben, während Sie weiterarbeiten. Die Computernutzung im Hintergrund befindet sich in der Beta-Phase für Pro- und Max-Pläne.</p>

40 

41 <Frame>

42 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/background-computer-use.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=a599a6c6fa544cb8d1b426b93706caf4" alt="Eine Claude Code Desktop-Sitzung, in der Claude fragt, ob er Xcode nutzen darf, mit einer Computernutzungs-Berechtigungskarte, die lautet: Lassen Sie Claude die Apps sehen und nutzen, die Sie genehmigen, im Hintergrund oder mit vollständiger Kontrolle über Ihren Bildschirm, neben einer Schaltfläche „Aktivieren&#x22;" width="1440" height="810" data-path="images/whats-new/background-computer-use.jpg" />

43 </Frame>

44 

45 <a className="digest-feature-link" href="/docs/de/desktop#let-claude-use-your-computer">Lassen Sie Claude Ihren Computer nutzen</a>

46</div>

47 

48<div className="digest-feature">

49 <div className="digest-feature-header">

50 <span className="digest-feature-title">Live-Diff-Panel in Vollbilddarstellung</span>

51 <span className="digest-feature-pill">v2.1.260</span>

52 </div>

53 

54 <p className="digest-feature-lede">In der Vollbilddarstellung öffnet <code>/diff</code> jetzt ein Panel neben der Konversation, anstatt einen Viewer zu öffnen, den Sie schließen müssen. Das Panel listet die geänderten Dateien mit ihren hinzugefügten und entfernten Zeilenzahlen auf und wird jedes Mal aktualisiert, wenn Claude eine Datei bearbeitet oder einen Shell-Befehl ausführt. Wählen Sie Zeilen im Panel mit der Maus aus, um sie an Ihre nächste Eingabeaufforderung anzuhängen.</p>

55 

56 <Frame>

57 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/diff-panel.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=9d7553c19e7f227891cd95f1f59d796d" data-path="images/whats-new/diff-panel.mp4" />

58 </Frame>

59 

60 <p className="digest-feature-try">Mit aktivierter Vollbilddarstellung, in einem Git-Repository und in einem Terminal mit mindestens 110 Spalten Breite, schalten Sie das Panel um:</p>

61 

62 ```text Claude Code theme={null}

63 > /diff

64 ```

65 

66 <p className="digest-feature-try">Führen Sie <code>/diff</code> erneut aus oder klicken Sie auf das <code>✕</code> in seiner Kopfzeile, um es zu schließen.</p>

67 

68 <a className="digest-feature-link" href="/docs/de/interactive-mode#diff-panel">Diff-Panel</a>

69</div>

70 

71<div className="digest-feature">

72 <div className="digest-feature-header">

73 <span className="digest-feature-title">Ungenutzte Skills mit /skill-doctor finden</span>

74 <span className="digest-feature-pill">CLI</span>

75 </div>

76 

77 <p className="digest-feature-lede"><code>/skill-doctor</code> zeigt, was jeder Ihrer Skills im Kontext kostet und wie oft er verwendet wird, damit Sie entscheiden können, welche Sie ausschalten möchten. Jeder Skill in der <a href="/docs/de/skills#skill-descriptions-are-cut-short">Skill-Auflistung</a> trägt zu Ihrem Kontext bei jedem Zug bei, unabhängig davon, ob Claude ihn jemals verwendet oder nicht. Erfordert v2.1.252 oder später und ist nicht in Sitzungen verfügbar, die das <a href="/docs/de/env-vars#features-that-need-feature-flag-fetching">Abrufen von Feature-Flags</a> überspringen.</p>

78 

79 <p className="digest-feature-try">Führen Sie es in einer interaktiven Sitzung aus, um den Bericht in der Registerkarte <strong>Stats</strong> des <code>/plugin</code>-Managers zu öffnen:</p>

80 

81 ```text Claude Code theme={null}

82 > /skill-doctor

83 ```

84 

85 <p className="digest-feature-try">Im nicht-interaktiven Modus mit <code>-p</code> gibt Claude Code den Bericht stattdessen als Text aus.</p>

86 

87 <a className="digest-feature-link" href="/docs/de/skills#find-unused-skills">Ungenutzte Skills finden</a>

88</div>

89 

90<div className="digest-wins">

91 <p className="digest-wins-title">Weitere Verbesserungen</p>

92 

93 <div className="digest-wins-grid">

94 <div>Ein <a href="/docs/de/hooks#premodelswitch"><code>PreModelSwitch</code></a> Hook kann einen angeforderten Modellwechsel blockieren, und ein <a href="/docs/de/hooks#postmodelswitch"><code>PostModelSwitch</code></a> Hook kann Kontext für Claude hinzufügen, nachdem sich das Modell der Sitzung ändert</div>

95 <div><a href="/docs/de/costs#prompt-cache-statistics"><code>/cost</code></a> fügt eine Zeile <code>Prompt cache (main)</code> hinzu: der Anteil der Input-Token, die aus dem Cache bereitgestellt werden, die Cache-Misses, ob der Cache warm ist, und eine wahrscheinliche Ursache für den letzten Miss, wenn Claude Code eine benennen kann. Status-Zeilen-Skripte erhalten ein entsprechendes <code>prompt\_cache</code> Objekt</div>

96 <div>Organisationen können HTTP- und SSE-MCP-Server unter der verwalteten Einstellung <a href="/docs/de/managed-mcp#provide-servers-through-managed-settings"><code>managedMcpServers</code></a> auflisten, um sie jedem Benutzer zur Verfügung zu stellen, zusätzlich zu den Servern, die Benutzer selbst hinzufügen</div>

97 <div><code>/effort</code> und die <code>/model</code> Auswahl speichern jetzt <a href="/docs/de/model-config#adjust-effort-level">eine separate Anstrengungsstufe für jedes Modell</a>; drücken Sie <code>s</code> statt <code>Enter</code>, um eine Stufe nur auf die aktuelle Sitzung anzuwenden</div>

98 <div>Standardmäßig <a href="/docs/de/permission-modes#what-the-classifier-blocks-by-default">blockiert der Auto-Modus-Klassifizierer jetzt auch</a> Aktionen wie das Anfordern von Anmeldedaten vom Cloud-Instance-Metadaten-Endpunkt oder das Verbinden mit Geschwister-Containern, die Claude nicht gestartet hat</div>

99 <div>Im Auto-Modus fragt Claude Code Sie, bevor Claude <a href="/docs/de/permission-modes#first-read-outside-the-working-directories">zum ersten Mal eine Datei außerhalb Ihrer Arbeitsverzeichnisse liest</a>, mit einer Option, solche Lesevorgänge von da an zu blockieren</div>

100 <div>Erhöhen Sie <a href="/docs/de/settings-reference#bashoutputmaxchars"><code>bashOutputMaxChars</code></a> und <a href="/docs/de/settings-reference#taskoutputmaxchars"><code>taskOutputMaxChars</code></a> auf bis zu 128.000 Zeichen, damit Claude mehr der Ausgabe eines erfolgreichen Befehls oder einer Hintergrundaufgabe inline erhält</div>

101 <div>Die Tastenkombinationen zur Wortbearbeitung in der Eingabeaufforderung <a href="/docs/de/interactive-mode#make-ctrl-w-delete-back-to-whitespace">folgen readline</a> für alle, und die Einstellung <code>keybindingFlavor</code> hat keine Auswirkung mehr. <code>Ctrl+W</code> löscht bis zum vorherigen Leerzeichen, und <code>Alt+B</code>, <code>Alt+F</code> und <code>Alt+D</code> behandeln Satzzeichen wie <code>/</code> und <code>.</code> als Wortgrenzen</div>

102 <div>Wenn Sie <code>defaultMode</code> in der <code>.claude/settings.json</code> oder <code>.claude/settings.local.json</code> eines Projekts auf <code>"bypassPermissions"</code> setzen, <a href="/docs/de/permission-modes#which-mode-a-session-starts-in">hat dies keine Auswirkung mehr</a> und die Sitzung startet im Manuellen Modus; setzen Sie stattdessen <code>"bypassPermissions"</code> in Benutzer- oder verwalteten Einstellungen oder übergeben Sie `--permission-mode`</div>

103 <div>Seat-basierte Enterprise-Pläne <a href="/docs/de/model-config#default-model-setting">verwenden jetzt standardmäßig Opus 5</a></div>

104 <div>In der VS Code-Erweiterung klicken Sie auf den Modellnamen am unteren Rand des Eingabefelds, um <a href="/docs/de/vs-code#use-the-prompt-box">die Modellauswahl zu öffnen</a></div>

105 <div>In der VS Code-Erweiterung wählen Sie <strong>Output styles</strong> im Abschnitt „Anpassen" des Befehlsmenüs, um <a href="/docs/de/vs-code#use-the-prompt-box">einen Ausgabestil auszuwählen</a>, einschließlich Ihrer benutzerdefinierten</div>

106 </div>

107</div>

108 

109[Vollständiges Änderungsprotokoll für v2.1.251–v2.1.261 →](/docs/en/changelog#2-1-251)

whats-new/2026-w37.md +69 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Woche 37 · 7.–11. September 2026

6 

7> Testen Sie Ihre Plugins mit claude plugin eval und öffnen Sie Claude Code Desktop-Bereiche in eigenen Fenstern.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/docs/en/changelog#2-1-263">v2.1.263 → v2.1.269</a></span>

11 <span>2 Features · 7.–11. September</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Plugins mit claude plugin eval testen</span>

17 <span className="digest-feature-pill">v2.1.269</span>

18 </div>

19 

20 <p className="digest-feature-lede"><code>claude plugin eval</code> führt Ihr Plugin gegen eine Reihe von Testfällen aus, bewertet die Ergebnisse und führt standardmäßig jeden Fall erneut ohne das Plugin aus, damit Sie sehen können, welchen Beitrag es leistet. <code>claude plugin eval init</code> fragt Sie, wie ein gutes Ergebnis aussieht, schlägt dann Testfälle und die Überprüfungen vor, die sie bewerten, versucht die Suite einmal und schreibt die Dateien. Jede Ausführung und jede Überprüfung, bei der ein zweites Modell die Antwort bewertet, ist ein echter Modellaufruf auf Ihrem Konto.</p>

21 

22 <Frame>

23 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/plugin-eval.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=913066f6d4a2a15426e98a627802f47f" alt="Terminalausgabe von claude plugin eval: eine Tabelle mit sieben Fällen, wobei jeder Fall seine Bewertung mit und ohne Plugin, die Differenz zwischen ihnen, die Ausführungsanzahl und die Kosten zeigt, gefolgt von einer Zusammenfassungszeile mit dem mittleren Delta, der Gesamtdauer und den Gesamtkosten" width="1600" height="900" data-path="images/whats-new/plugin-eval.jpg" />

24 </Frame>

25 

26 <p className="digest-feature-try">Lassen Sie Claude aus dem Stammverzeichnis Ihres Plugins die Suite entwerfen:</p>

27 

28 ```bash terminal theme={null}

29 claude plugin eval init

30 ```

31 

32 <p className="digest-feature-try">Wenn Claude Ihnen mitteilt, dass die Suite bereit ist, beenden Sie die Sitzung, die <code>claude plugin eval init</code> geöffnet hat, und führen Sie <code>claude plugin eval .</code> aus, um jeden Fall zu bewerten. Die Zusammenfassungstabelle wird in Ihrem Terminal gedruckt, und <code>report.html</code> unter <code>evals/results/</code> enthält die Details pro Ausführung.</p>

33 

34 <a className="digest-feature-link" href="/docs/de/plugin-evals">Plugins mit Evals testen</a>

35</div>

36 

37<div className="digest-feature">

38 <div className="digest-feature-header">

39 <span className="digest-feature-title">Desktop-Bereiche in eigene Fenster ausklappen</span>

40 <span className="digest-feature-pill">Desktop</span>

41 </div>

42 

43 <p className="digest-feature-lede">In der Claude Code Desktop-App können Sie jeden Bereich in sein eigenes Fenster ausklappen. Ziehen Sie das Diff oder Terminal auf einen zweiten Bildschirm, während Claude in dem Hauptfenster weiterarbeitet, und docken Sie den Bereich später wieder an, wenn Sie fertig sind.</p>

44 

45 <Frame>

46 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/desktop-pop-out-panes.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=ff3770dd09bb15ed9cf17a460f3d1e23" data-path="images/whats-new/desktop-pop-out-panes.mp4" />

47 </Frame>

48 

49 <a className="digest-feature-link" href="/docs/de/desktop#arrange-your-workspace">Arbeitsbereich anordnen</a>

50</div>

51 

52<div className="digest-wins">

53 <p className="digest-wins-title">Weitere Verbesserungen</p>

54 

55 <div className="digest-wins-grid">

56 <div>Legen Sie <a href="/docs/de/settings-reference#maxeffortlevel"><code>maxEffortLevel</code></a> auf der obersten Ebene oder pro Modell unter <code>modelSettings</code> fest, um die Aufwandsstufe bei jedem Anbieter zu begrenzen, einschließlich Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry; jede höhere Stufe wird mit der Obergrenze ausgeführt</div>

57 <div>Zeigen Sie `--plugin-dir` auf einen Ordner mit Plugins, um <a href="/docs/de/plugins#test-your-plugins-locally">jeden unmittelbaren Unterordner mit einem Manifest zu laden</a></div>

58 <div>Wenn WebFetch das Herunterladen einer Seite nicht innerhalb von fünf Minuten abgeschlossen hat, <a href="/docs/de/tools-reference#webfetch-tool-behavior">schlägt der Abruf mit einem Deadline-Fehler fehl</a>, anstatt zu hängen; setzen Sie <code>CLAUDE\_CODE\_WEBFETCH\_DEADLINE\_MS</code>, um die Deadline zu ändern, oder auf <code>0</code>, um die Grenze zu entfernen</div>

59 <div>Übergeben Sie `--json` an <code>claude plugin install</code>, <code>uninstall</code>, <code>update</code>, <code>enable</code> oder <code>disable</code>, um das Ergebnis als <a href="/docs/de/plugins-reference#plugin-json-result">ein JSON-Objekt in der letzten Zeile von stdout</a> auszugeben</div>

60 <div>Wenn der Auto-Modus-Klassifizierer eine Aktion blockiert, nennt der Grund, den Claude erhält, <a href="/docs/de/auto-mode-config#fix-a-denial-with-an-allow-rule-an-environment-entry-or-a-retry">normalerweise die Regel, die übereinstimmt</a>, wie z. B. <code>\[Data Exfiltration]</code></div>

61 <div>Wenn Sie <code>/</code> mitten in einer Eingabeaufforderung eingeben, können Sie jetzt <a href="/docs/de/interactive-mode#complete-a-command-mid-prompt">aus einer Liste übereinstimmender Befehle</a> wählen, anstatt einen einzelnen Vorschlag zu erhalten. Die Liste wird beim Eingeben in Vollbilddarstellung geöffnet. Eine Plugin-Skill stimmt auch mit ihrem Namen ohne das Plugin-Präfix überein</div>

62 <div>In der VS Code-Erweiterung klicken Sie auf die Agent-Anzahl am unteren Rand des Eingabefelds, um die <a href="/docs/de/vs-code#use-the-prompt-box">Agent-Karte</a> zu öffnen, wo Sie das schreibgeschützte Transkript eines Subagenten öffnen oder ihn stoppen können</div>

63 <div>In der VS Code-Erweiterung wählen Sie <strong>Hooks</strong> oder <strong>Permissions</strong> im Abschnitt „Anpassen" des Befehlsmenüs, um <a href="/docs/de/vs-code#use-the-prompt-box">Hooks und Berechtigungsregeln</a> in Ihren Benutzer-, Projekt- und lokalen Einstellungen hinzuzufügen oder zu entfernen</div>

64 <div>Claude kann ein <a href="/docs/de/artifacts#create-an-artifact">Browser-Tab-Symbol</a> auswählen, das zu jedem Artefakt passt, das es veröffentlicht</div>

65 <div>In Claude Code im Web können Sie eine eingereihte Nachricht in einer Cloud-Sitzung zurücknehmen, bevor Claude sie liest: entfernen Sie sie aus der Warteschlange oder drücken Sie <code>Esc</code> oder <code>Up</code>, und der Text kehrt zum Nachrichtenfeld zurück</div>

66 </div>

67</div>

68 

69[Vollständiges Changelog für v2.1.263–v2.1.269 →](/docs/en/changelog#2-1-263)

workflows.md +30 −15

Details

15Greifen Sie zu einem Workflow, wenn eine Aufgabe mehr Agenten benötigt, als ein Gespräch koordinieren kann, oder wenn Sie die Orchestrierung als Skript codifizieren möchten, das Sie lesen und erneut ausführen können. Beispiele sind eine codebase-weite Fehlersuche, eine 500-Datei-Migration, eine Forschungsfrage, die Quellen gegeneinander überprüft, und ein schwieriger Plan, der aus mehreren unabhängigen Blickwinkeln entworfen werden sollte, bevor Sie sich auf einen einigen.15Greifen Sie zu einem Workflow, wenn eine Aufgabe mehr Agenten benötigt, als ein Gespräch koordinieren kann, oder wenn Sie die Orchestrierung als Skript codifizieren möchten, das Sie lesen und erneut ausführen können. Beispiele sind eine codebase-weite Fehlersuche, eine 500-Datei-Migration, eine Forschungsfrage, die Quellen gegeneinander überprüft, und ein schwieriger Plan, der aus mehreren unabhängigen Blickwinkeln entworfen werden sollte, bevor Sie sich auf einen einigen.

16 16 

17<h2 id="when-to-use-a-workflow">17<h2 id="when-to-use-a-workflow">

18 Wann Sie einen Workflow verwenden18 Wann sollte man einen Workflow verwenden

19</h2>19</h2>

20 20 

21[Subagenten](/docs/de/sub-agents), [Skills](/docs/de/skills), [Agent-Teams](/docs/de/agent-teams) und Workflows können alle eine mehrstufige Aufgabe ausführen. Der Unterschied liegt darin, wer den Plan hält:21[Subagenten](/docs/de/sub-agents), [Skills](/docs/de/skills), [Agent-Teams](/docs/de/agent-teams) und Workflows können alle eine mehrstufige Aufgabe ausführen. Der Unterschied liegt darin, wer den Plan hält:

22 22 

23| | Subagenten | Skills | Agent-Teams | Workflows |23| | Subagenten | Skills | Agent-Teams | Workflows |

24| :------------------------------------------------ | :----------------------------------- | :----------------------------------- | :----------------------------------------------- | :----------------------------------------------- |24| :------------------------------------------------ | :--------------------------------- | :------------------------------ | :----------------------------------------------- | :---------------------------------------------- |

25| Was es ist | Ein Worker-Claude, den Sie spawnen | Anweisungen, die Claude befolgt | Ein Lead-Agent, der Peer-Sitzungen beaufsichtigt | Ein Skript, das die Laufzeit ausführt |25| Was es ist | Ein Worker, den Claude erzeugt | Anweisungen, die Claude befolgt | Ein Lead-Agent, der Peer-Sitzungen beaufsichtigt | Ein Skript, das die Runtime ausführt |

26| Wer entscheidet, was als nächstes ausgeführt wird | Claude, Zug um Zug | Claude, nach der Eingabeaufforderung | Der Lead-Agent, Zug um Zug | Das Skript |26| Wer entscheidet, was als Nächstes ausgeführt wird | Claude, Zug um Zug | Claude, den Anweisungen folgend | Der Lead-Agent, Zug um Zug | Das Skript |

27| Wo Zwischenergebnisse leben | Claudes Kontextfenster | Claudes Kontextfenster | Eine gemeinsame Aufgabenliste | Skriptvariablen |27| Wo Zwischenergebnisse gespeichert werden | Claudes Kontextfenster | Claudes Kontextfenster | Eine gemeinsame Aufgabenliste | Skriptvariablen |

28| Was wiederholbar ist | Die Worker-Definition | Die Anweisungen | Die Team-Definition | Die Orchestrierung selbst |28| Was wiederholbar ist | Die Worker-Definition | Die Anweisungen | Die Team-Definition | Die Orchestrierung selbst |

29| Skalierung | Ein paar delegierte Aufgaben pro Zug | Gleich wie Subagenten | Eine Handvoll langfristiger Peers | Dutzende bis Hunderte von Agenten pro Ausführung |29| Skalierung | Einige delegierte Aufgaben pro Zug | Gleich wie Subagenten | Eine Handvoll langfristiger Peers | Dutzende bis Hunderte von Agenten pro Durchlauf |

30| Unterbrechung | Startet den Zug neu | Startet den Zug neu | Teammates führen weiter aus | Wiederaufnehmbar in derselben Sitzung |30| Unterbrechung | Startet den Zug neu | Startet den Zug neu | Teammates laufen weiter | Wiederaufnehmbar in derselben Sitzung |

31 31 

32Ein Workflow verschiebt den Plan in Code. Bei Subagenten, Skills und Agent-Teams ist Claude der Orchestrator: Er entscheidet Zug um Zug, was als nächstes gespawnt oder zugewiesen werden soll, und jedes Ergebnis landet in einem Kontextfenster. Ein Workflow-Skript hält die Schleife, die Verzweigung und die Zwischenergebnisse selbst, sodass Claudes Kontext nur die endgültige Antwort enthält.32Ein Workflow verlagert den Plan in Code. Bei Subagenten, Skills und Agent-Teams ist Claude der Orchestrator: Er entscheidet Zug um Zug, was als Nächstes erzeugt oder zugewiesen werden soll, und jedes Ergebnis geht in ein Kontextfenster. Ein Workflow-Skript hält die Schleife, die Verzweigung und die Zwischenergebnisse selbst, sodass Claudes Kontext nur die endgültige Antwort enthält.

33 33 

34Das Verschieben des Plans in Code ermöglicht es einem Workflow auch, ein wiederholbares Qualitätsmuster anzuwenden, nicht nur mehr Agenten auszuführen: Er kann unabhängige Agenten die Ergebnisse des anderen gegnerisch überprüfen lassen, bevor sie gemeldet werden, oder einen Plan aus mehreren Blickwinkeln entwerfen und sie gegeneinander abwägen, sodass Sie ein vertrauenswürdigeres Ergebnis als einen einzelnen Durchgang erhalten.34Die Verlagerung des Plans in Code ermöglicht es einem Workflow auch, ein wiederholbares Qualitätsmuster anzuwenden, nicht nur mehr Agenten auszuführen: Er kann unabhängige Agenten gegenseitig die Ergebnisse des anderen gegnerisch überprüfen lassen, bevor sie gemeldet werden, oder einen Plan aus mehreren Blickwinkeln entwerfen und diese gegeneinander abwägen, sodass Sie ein vertrauenswürdigeres Ergebnis erhalten als bei einem einzelnen Durchgang.

35 35 

36<h2 id="run-a-bundled-workflow">36<h2 id="run-a-bundled-workflow">

37 Einen gebündelten Workflow ausführen37 Einen gebündelten Workflow ausführen


400Die Laufzeit wendet die folgenden Einschränkungen an:400Die Laufzeit wendet die folgenden Einschränkungen an:

401 401 

402| Einschränkung | Warum |402| Einschränkung | Warum |

403| :----------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |403| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

404| Keine Benutzereingabe während der Ausführung | Nur Agent-Berechtigungsaufforderungen können eine Ausführung unterbrechen. Für die Genehmigung zwischen Phasen führen Sie jede Phase als ihren eigenen Workflow aus |404| Keine Benutzereingabe während der Ausführung | Eine Ausführung wird nur bei Agent-Berechtigungsaufforderungen und einer [Nutzungslimit-Wartezeit](#when-a-run-hits-your-usage-limit) unterbrochen. Für die Genehmigung zwischen Phasen führen Sie jede Phase als ihren eigenen Workflow aus |

405| Kein direkter Dateisystem- oder Shell-Zugriff vom Workflow selbst | Agenten lesen, schreiben und führen Befehle aus. Das Skript koordiniert die Agenten |405| Kein direkter Dateisystem- oder Shell-Zugriff vom Workflow selbst | Agenten lesen, schreiben und führen Befehle aus. Das Skript koordiniert die Agenten |

406| Kein Modul-Laden: Ein Skript, das `import()` enthält, schlägt vor dem Start der Ausführung fehl | Der Skript-Body ist einfaches JavaScript. Legen Sie Arbeiten, die eine Bibliothek benötigen, in die Aufgabe eines Agenten |406| Kein Modul-Laden: Ein Skript, das `import()` enthält, schlägt vor dem Start der Ausführung fehl | Der Skript-Body ist einfaches JavaScript. Legen Sie Arbeiten, die eine Bibliothek benötigen, in die Aufgabe eines Agenten |

407| Bis zu 16 gleichzeitige Agenten, weniger wenn Claude Code weniger CPUs zur Verfügung hat, auch innerhalb eines CPU-limitierten Containers | Begrenzt die lokale Ressourcennutzung |407| Bis zu 16 gleichzeitige Agenten standardmäßig, weniger wenn Claude Code weniger CPUs zur Verfügung hat, auch innerhalb eines CPU-limitierten Containers. Um die Grenze zu ändern, setzen Sie [`CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS`](/docs/de/env-vars#variables) auf einen Wert von 1 bis 256, was Claude Code v2.1.269 oder später erfordert | Begrenzt die lokale Ressourcennutzung |

408| In einem Fan-out starten Agenten, die das Prompt-Cache-Präfix des ersten Agenten teilen, bis zu 5 Sekunden später als dieser standardmäßig | Alle außer dem ersten lesen das [Präfix, das der erste Agent gecacht hat](#prompt-caching-in-a-fan-out), anstatt dass jeder es ungecacht verarbeitet |408| In einem Fan-out starten Agenten, die das Prompt-Cache-Präfix des ersten Agenten teilen, bis zu 5 Sekunden später als dieser standardmäßig | Alle außer dem ersten lesen das [Präfix, das der erste Agent gecacht hat](#prompt-caching-in-a-fan-out), anstatt dass jeder es ungecacht verarbeitet |

409| Bis zu 4.096 Elemente in einem einzelnen `parallel()`- oder `pipeline()`-Aufruf: Die Laufzeit lehnt eine längere Liste mit einem Fehler ab | Eine stille Obergrenze würde einen Teil der Arbeitslast ablegen, ohne das Skript zu informieren |409| Bis zu 4.096 Elemente in einem einzelnen `parallel()`- oder `pipeline()`-Aufruf: Die Laufzeit lehnt eine längere Liste mit einem Fehler ab | Eine stille Obergrenze würde einen Teil der Arbeitslast ablegen, ohne das Skript zu informieren |

410| 1.000 Agenten insgesamt pro Ausführung | Verhindert Endlosschleifen |410| 1.000 Agenten insgesamt pro Ausführung | Verhindert Endlosschleifen |


440 440 

441In lokalen und Cloud-Sitzungen gleichermaßen schlägt der Neustart fehl, wenn Claude eine frühere Ausführung erneut startet und Claude Code die gespeicherten Ergebnisse dieser Ausführung überhaupt nicht finden kann, mit einem `nothing to resume`-Fehler, anstatt die Ausführung von selbst neu zu starten. Bitten Sie Claude, den Workflow als neue Ausführung neu zu starten.441In lokalen und Cloud-Sitzungen gleichermaßen schlägt der Neustart fehl, wenn Claude eine frühere Ausführung erneut startet und Claude Code die gespeicherten Ergebnisse dieser Ausführung überhaupt nicht finden kann, mit einem `nothing to resume`-Fehler, anstatt die Ausführung von selbst neu zu starten. Bitten Sie Claude, den Workflow als neue Ausführung neu zu starten.

442 442 

443<h3 id="when-a-run-hits-your-usage-limit">

444 Wenn eine Ausführung Ihr Nutzungslimit erreicht

445</h3>

446 

447Wenn ein Agent Ihr claude.ai [Nutzungslimit](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset) erreicht, wird die Ausführung unterbrochen, anstatt diesen Agent fehlschlagen zu lassen: Die Agenten, die das Limit erreicht haben, warten auf den Reset, und es starten keine neuen Agenten. Kurz nach dem Limit-Reset werden die wartenden Agenten erneut ausgeführt und die Ausführung wird automatisch fortgesetzt. Erfordert Claude Code v2.1.271 oder später; in früheren Versionen schlagen die betroffenen Agenten fehl.

448 

449Während die Ausführung wartet, zeigen die Fortschrittszeile im Aufgabenpanel und der [`/workflows`](#watch-the-run)-Header an, wann das Limit zurückgesetzt wird.

450 

451Die Ausführung wird nur unterbrochen, wenn alle diese Bedingungen erfüllt sind; wenn eine nicht erfüllt ist, schlägt der betroffene Agent stattdessen fehl:

452 

453* Die Sitzung ist interaktiv und mit einem claude.ai-Abonnement angemeldet. Eine Ausführung wird nicht unterbrochen im [nicht-interaktiven Modus](/docs/de/headless) mit `claude -p` oder dem [Agent SDK](/docs/de/agent-sdk/overview), in einer [Hintergrund-Sitzung](/docs/de/agent-view), oder in einer [Remote Control](/docs/de/remote-control) oder [Agent-Team](/docs/de/agent-teams) Kollegensitzung.

454* [`autoContinueAtUsageLimit`](/docs/de/settings-reference#autocontinueatusagelimit) ist aktiviert, die gleiche Einstellung, die die Sitzung selbst [auf einen Nutzungslimit-Reset warten lässt](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset). Wenn Sie sie während eines Wartevorgangs ausschalten, endet der Wartevorgang und die wartenden Agenten schlagen fehl.

455* Das Limit wird innerhalb von 24 Stunden zurückgesetzt. Ein wöchentliches Limit kann weiter hinaus zurückgesetzt werden.

456* Die Ausführung hat nicht bereits zweimal gewartet. Wenn sie das Limit zum dritten Mal erreicht, schlägt der Agent fehl.

457 

443<h3 id="cost">458<h3 id="cost">

444 Kosten459 Kosten

445</h3>460</h3>

446 461 

447Ein Workflow spawnt viele Agenten, sodass eine einzelne Ausführung bedeutend mehr Token verwenden kann als die Bearbeitung der gleichen Aufgabe in einem Gespräch. Ausführungen zählen zur Nutzung und zu Ratenlimits Ihres Plans wie jede andere Sitzung.462Ein Workflow spawnt viele Agenten, sodass eine einzelne Ausführung bedeutend mehr Token verwenden kann als die Bearbeitung der gleichen Aufgabe in einem Gespräch. Ausführungen zählen zur Nutzung und zu Ratenlimits Ihres Plans.

448 463 

449Um die Ausgaben vor der Verpflichtung zu einer großen Aufgabe zu schätzen, führen Sie den Workflow zunächst auf einem kleinen Ausschnitt aus: ein Verzeichnis statt des gesamten Repositorys oder eine enge Frage statt einer breiten. Die `/workflows`-Ansicht zeigt die Token-Nutzung jedes Agenten während der Ausführung an, und Sie können die Ausführung dort jederzeit beenden, ohne abgeschlossene Arbeiten zu verlieren. [Fortsetzen nach einer Pause](#resume-after-a-pause) behandelt, was eine gestoppte Ausführung behält. Die Laufzeit-[Agent-Limits](#behavior-and-limits) begrenzen, wie viele Agenten eine einzelne Ausführung spawnen kann, was die Kosten eines unkontrollierten Skripts begrenzt. Um Ausführungen auf weniger Agenten zu halten, wählen Sie die `small` [Größenrichtlinie](#set-a-size-guideline).464Um die Ausgaben vor der Verpflichtung zu einer großen Aufgabe zu schätzen, führen Sie den Workflow zunächst auf einem kleinen Ausschnitt aus: ein Verzeichnis statt des gesamten Repositorys oder eine enge Frage statt einer breiten. Die `/workflows`-Ansicht zeigt die Token-Nutzung jedes Agenten während der Ausführung an, und Sie können die Ausführung dort jederzeit beenden, ohne abgeschlossene Arbeiten zu verlieren. [Fortsetzen nach einer Pause](#resume-after-a-pause) behandelt, was eine gestoppte Ausführung behält. Die Laufzeit-[Agent-Limits](#behavior-and-limits) begrenzen, wie viele Agenten eine einzelne Ausführung spawnen kann, was die Kosten eines unkontrollierten Skripts begrenzt. Um Ausführungen auf weniger Agenten zu halten, wählen Sie die `small` [Größenrichtlinie](#set-a-size-guideline).

450 465 


476| :------------- | :-------------------------------------------------------------- |491| :------------- | :-------------------------------------------------------------- |

477| `unrestricted` | Keine Richtlinie: Claude dimensioniert den Workflow zur Aufgabe |492| `unrestricted` | Keine Richtlinie: Claude dimensioniert den Workflow zur Aufgabe |

478| `small` | Weniger als 5 Agenten |493| `small` | Weniger als 5 Agenten |

479| `medium` | Weniger als 15 Agenten |494| `medium` | Weniger als 10 Agenten |

480| `large` | Weniger als 50 Agenten |495| `large` | Weniger als 50 Agenten |

481 496 

482Der Standard ist `medium`. Bis Sie einen Wert wählen, zeigt die `/config`-Zeile `medium (default)` und die Zeile `Running in background` des Workflows zeigt `medium size (/config)`. Erfordert Claude Code v2.1.219 oder später; frühere Versionen standardmäßig auf `unrestricted`.497Der Standard ist `medium`, oder `small`, wenn Sie mit Claude Code v2.1.271 oder später bei einem Pro-Plan angemeldet sind. Bis Sie einen Wert wählen, zeigt die `/config`-Zeile den Wert als Standard an, und die Zeile `Running in background` des Workflows benennt die geltende Größe. Erfordert Claude Code v2.1.219 oder später; frühere Versionen standardmäßig auf `unrestricted`.

483 498 

484Um die Richtlinie zu ändern, wählen Sie einen Wert für die Einstellung „Dynamic workflow size" in `/config` oder führen Sie `/config workflowSizeGuideline=small` aus. Auf v2.1.219 und später können Sie auch den [`workflowSizeGuideline`-Schlüssel](/docs/de/settings-reference#workflowsizeguideline) in jeder Einstellungsdatei festlegen; dieser Wert hat Vorrang vor `/config`, und Claude Code verbirgt die `/config`-Zeile, während eine Einstellungsdatei einen bereitstellt.499Um die Richtlinie zu ändern, wählen Sie einen Wert für die Einstellung „Dynamic workflow size" in `/config` oder führen Sie `/config workflowSizeGuideline=small` aus. Auf v2.1.219 und später können Sie auch den [`workflowSizeGuideline`-Schlüssel](/docs/de/settings-reference#workflowsizeguideline) in jeder Einstellungsdatei festlegen; dieser Wert hat Vorrang vor `/config`, und Claude Code verbirgt die `/config`-Zeile, während eine Einstellungsdatei einen bereitstellt.

485 500 

worktrees.md +5 −2

Details

139Wenn Sie eine `--worktree`-Sitzung [in den Hintergrund](/docs/de/agent-view#send-the-session-to-the-background) verschieben, wird ihr Worktree zu einem Hintergrund-Sitzungs-Worktree, den die Bereinigung entfernen kann. Die Bereinigung hinterlässt einen Worktree in diesen Fällen:139Wenn Sie eine `--worktree`-Sitzung [in den Hintergrund](/docs/de/agent-view#send-the-session-to-the-background) verschieben, wird ihr Worktree zu einem Hintergrund-Sitzungs-Worktree, den die Bereinigung entfernen kann. Die Bereinigung hinterlässt einen Worktree in diesen Fällen:

140 140 

141* Der Worktree hält immer noch Arbeit: geänderte oder nicht verfolgte Dateien oder nicht gepushte Commits.141* Der Worktree hält immer noch Arbeit: geänderte oder nicht verfolgte Dateien oder nicht gepushte Commits.

142* Claude Code kann nicht bestimmen, welche Filter-Treiber die Repository-Konfiguration definiert, in einem der [drei Fälle, die auch die Worktree-Erstellung blockieren](#git-lfs-content-is-missing-from-a-worktree-claude-code-created).142* Einer der [vier Fälle, die auch die Worktree-Erstellung blockieren](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) trifft zu: Claude Code kann nicht bestimmen, welche Filter-Treiber die Repository-Konfiguration definiert, oder findet dort eine Einstellung, die es nicht ausschalten kann.

143* Der Worktree gehört zu einer `--worktree`-Sitzung, die Sie nicht in den Hintergrund verschoben haben, unabhängig von seinem Alter.143* Der Worktree gehört zu einer `--worktree`-Sitzung, die Sie nicht in den Hintergrund verschoben haben, unabhängig von seinem Alter.

144* Sie haben den Worktree selbst mit `git worktree add` erstellt, auch wenn Sie dann eine `--worktree <name>`-Sitzung darin ausgeführt und diese Sitzung in den Hintergrund verschoben haben.144* Sie haben den Worktree selbst mit `git worktree add` erstellt, auch wenn Sie dann eine `--worktree <name>`-Sitzung darin ausgeführt und diese Sitzung in den Hintergrund verschoben haben.

145 145 


353 353 

354Um die echten Dateien zu erhalten, führen Sie `git lfs pull` im Worktree aus.354Um die echten Dateien zu erhalten, führen Sie `git lfs pull` im Worktree aus.

355 355 

356In drei seltenen Fällen kann Claude Code nicht bestimmen, welche Filter-Treiber die `.git/config` des Repositories definiert, und erstellt überhaupt keinen Worktree. Ordnen Sie den Fehler seiner Behebung zu:356In vier seltenen Fällen erstellt Claude Code überhaupt keinen Worktree: Es kann nicht feststellen, welche Filter-Treiber die Repository-Konfiguration definiert, oder es findet dort eine Einstellung, die es nicht ausschalten kann. Ordnen Sie den Fehler seiner Behebung zu:

357 357 

358* **`Could not read the repository git config to neutralize filter drivers`**: Claude Code konnte die `.git/config` des Repositories nicht lesen, zum Beispiel wegen ihrer Berechtigungen. Beheben Sie das und versuchen Sie es erneut.358* **`Could not read the repository git config to neutralize filter drivers`**: Claude Code konnte die `.git/config` des Repositories nicht lesen, zum Beispiel wegen ihrer Berechtigungen. Beheben Sie das und versuchen Sie es erneut.

359* **`The repository git config defines a filter driver whose name cannot be neutralized (contains "=" or a newline)`**: Benennen Sie diesen Filter-Treiber in `.git/config` um oder entfernen Sie ihn und versuchen Sie es erneut.359* **`The repository git config defines a filter driver whose name cannot be neutralized (contains "=" or a newline)`**: Benennen Sie diesen Filter-Treiber in `.git/config` um oder entfernen Sie ihn und versuchen Sie es erneut.

360* **`The repository git config has a conditional include (includeIf)`**: Verschieben Sie die Einstellungen, die `includeIf` in `.git/config` abruft, direkt in diese Datei, entfernen Sie `includeIf` und versuchen Sie es erneut. Ein `includeIf` in Ihrer globalen Git-Konfiguration löst dies nicht aus.360* **`The repository git config has a conditional include (includeIf)`**: Verschieben Sie die Einstellungen, die `includeIf` in `.git/config` abruft, direkt in diese Datei, entfernen Sie `includeIf` und versuchen Sie es erneut. Ein `includeIf` in Ihrer globalen Git-Konfiguration löst dies nicht aus.

361* **`Git was not run: the repository's own git config sets <key>`**: Die Meldung benennt einen Schlüssel, der Git LFS auf ein auszuführendes Programm verweist, wie `lfs.customtransfer.<name>.path` oder `lfs.standalonetransferagent`. Wenn diese Einstellung Ihnen gehört, verschieben Sie sie in Ihre globale Git-Konfiguration. Wenn Sie sie nicht erkennen, entfernen Sie sie aus der Repository-Konfiguration, da ein Tool oder Checkout, dem Sie nicht vertrauen, sie möglicherweise geschrieben hat. Versuchen Sie es erneut, sobald der Schlüssel aus der Repository-Konfiguration weg ist.

361 362 

362<h3 id="claude-code-refuses-to-use-a-worktree">363<h3 id="claude-code-refuses-to-use-a-worktree">

363 Claude Code weigert sich, einen Worktree zu verwenden364 Claude Code weigert sich, einen Worktree zu verwenden


406 407 

407Das Ablehnungsende, das in jedem Fehler eingebettet ist, wird mit den interaktiven Hinweisen geteilt, sodass es immer noch seiner Eintrag unter [Claude Code weigert sich, einen Worktree zu verwenden](#claude-code-refuses-to-use-a-worktree) entspricht.408Das Ablehnungsende, das in jedem Fehler eingebettet ist, wird mit den interaktiven Hinweisen geteilt, sodass es immer noch seiner Eintrag unter [Claude Code weigert sich, einen Worktree zu verwenden](#claude-code-refuses-to-use-a-worktree) entspricht.

408 409 

410Im stream-json-Ergebnis ist [`startup_failure_reason`](/docs/de/agent-sdk/typescript#startup_failure_reason) `worktree_unverified` für den Fehler `could not verify worktree` und `worktree_resume_refused` für die Fehler `cannot resume into worktree` und `The worktree binding is kept`. Eine Anwendung kann stattdessen darauf verzweigen, anstatt den Fehlertext abzugleichen. Vor v2.1.274 trug das Ergebnis kein `startup_failure_reason`-Feld.

411 

409<h2 id="see-also">412<h2 id="see-also">

410 Siehe auch413 Siehe auch

411</h2>414</h2>

Details

64Wenn ZDR für eine Claude Code-Organisation auf Claude for Enterprise aktiviert ist, werden bestimmte Funktionen, die das Speichern von Eingabeaufforderungen oder Vervollständigungen erfordern, automatisch auf Backend-Ebene deaktiviert:64Wenn ZDR für eine Claude Code-Organisation auf Claude for Enterprise aktiviert ist, werden bestimmte Funktionen, die das Speichern von Eingabeaufforderungen oder Vervollständigungen erfordern, automatisch auf Backend-Ebene deaktiviert:

65 65 

66| Funktion | Grund |66| Funktion | Grund |

67| ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |67| ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |

68| [Claude Code im Web](/docs/de/claude-code-on-the-web) | Erfordert serverseitige Speicherung des Gesprächsverlaufs. |68| [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), einschließlich derjenigen, die aus der [Desktop-App](/docs/de/desktop#cloud-sessions) gestartet wurden | Erfordert serverseitige Speicherung von Sitzungsdaten, einschließlich Gesprächsverlauf mit Eingabeaufforderungen und Vervollständigungen. |

69| [Cloud-Sitzungen](/docs/de/desktop#cloud-sessions) aus der Desktop-App | Erfordert persistente Sitzungsdaten, die Eingabeaufforderungen und Vervollständigungen enthalten. |

70| [Claude Tag](/docs/de/claude-tag) | Behält Kanalspeicher und Sitzungstranskripte bei. |69| [Claude Tag](/docs/de/claude-tag) | Behält Kanalspeicher und Sitzungstranskripte bei. |

71| [Artifacts](/docs/de/artifacts) | Erfordert das Speichern von veröffentlichtem Seiteninhalt auf von Anthropic betriebener Infrastruktur. |70| [Artifacts](/docs/de/artifacts) | Erfordert das Speichern von veröffentlichtem Seiteninhalt auf von Anthropic betriebener Infrastruktur. |

72| Feedback-Übermittlung (`/feedback`, `/bug`, `/share`) | Das Übermitteln von Feedback sendet Gesprächsdaten an Anthropic. |71| Feedback-Übermittlung (`/feedback`, `/bug`, `/share`) | Das Übermitteln von Feedback sendet Gesprächsdaten an Anthropic. |