SpyBara
Go Premium

Documentation 2026-11-12 23:02 UTC to 2026-11-13 23:02 UTC

66 files changed +844 −503. View all changes and history on the product overview
2026
Sat 14 03:01 Fri 13 23:02 Thu 12 23:02 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

117 --network none \117 --network none \

118 --memory 2g \118 --memory 2g \

119 --cpus 2 \119 --cpus 2 \

120 --pids-limit 100 \120 --pids-limit 600 \

121 --user 1000:1000 \121 --user 1000:1000 \

122 -v /path/to/code:/workspace:ro \122 -v /path/to/code:/workspace:ro \

123 -v /var/run/proxy.sock:/var/run/proxy.sock:ro \123 -v /var/run/proxy.sock:/var/run/proxy.sock:ro \


135| `--tmpfs /tmp:...` | Stellt ein beschreibbares temporäres Verzeichnis bereit, das gelöscht wird, wenn der Container stoppt |135| `--tmpfs /tmp:...` | Stellt ein beschreibbares temporäres Verzeichnis bereit, das gelöscht wird, wenn der Container stoppt |

136| `--network none` | Trennt den Container von externen Netzwerken |136| `--network none` | Trennt den Container von externen Netzwerken |

137| `--memory 2g` | Begrenzt die Speichernutzung, um Ressourcenerschöpfung zu verhindern |137| `--memory 2g` | Begrenzt die Speichernutzung, um Ressourcenerschöpfung zu verhindern |

138| `--pids-limit 100` | Begrenzt die Prozessanzahl, um Fork-Bomben zu verhindern |138| `--pids-limit 600` | Begrenzt Prozesse und Threads, um Fork-Bomben zu verhindern |

139| `--user 1000:1000` | Wird als nicht-root-Benutzer ausgeführt |139| `--user 1000:1000` | Wird als nicht-root-Benutzer ausgeführt |

140| `-v ...:/workspace:ro` | Bindet Code schreibgeschützt ein, damit der Agent ihn analysieren, aber nicht ändern kann. **Vermeiden Sie das Einbinden sensibler Host-Verzeichnisse wie `~/.ssh`, `~/.aws` oder `~/.config`** |140| `-v ...:/workspace:ro` | Bindet Code schreibgeschützt ein, damit der Agent ihn analysieren, aber nicht ändern kann. **Vermeiden Sie das Einbinden sensibler Host-Verzeichnisse wie `~/.ssh`, `~/.aws` oder `~/.config`** |

141| `-v .../proxy.sock:...` | Bindet einen Unix-Socket ein, der mit einem Proxy verbunden ist, der außerhalb des Containers ausgeführt wird (siehe unten) |141| `-v .../proxy.sock:...` | Bindet einen Unix-Socket ein, der mit einem Proxy verbunden ist, der außerhalb des Containers ausgeführt wird (siehe unten) |

Details

104| `options` | [`Options`](#options) | Optionales Konfigurationsobjekt. Identisch mit dem `options`-Parameter für `query()` |104| `options` | [`Options`](#options) | Optionales Konfigurationsobjekt. Identisch mit dem `options`-Parameter für `query()` |

105| `initializeTimeoutMs` | `number` | Maximale Zeit in Millisekunden zum Warten auf die Subprozess-Initialisierung. Standardwert ist `60000`. Wenn die Initialisierung nicht rechtzeitig abgeschlossen wird, lehnt das Promise mit einem Timeout-Fehler ab |105| `initializeTimeoutMs` | `number` | Maximale Zeit in Millisekunden zum Warten auf die Subprozess-Initialisierung. Standardwert ist `60000`. Wenn die Initialisierung nicht rechtzeitig abgeschlossen wird, lehnt das Promise mit einem Timeout-Fehler ab |

106 106 

107Langsame [SessionStart](https://code.claude.com/docs/de/hooks.md#sessionstart)- und [Setup](https://code.claude.com/docs/de/hooks.md#setup)-[Befehls-Hooks](https://code.claude.com/docs/de/hooks.md#command-hook-fields) erhalten nur dann zusätzliche Zeit, wenn `initializeTimeoutMs` nicht gesetzt ist:

108 

109* **Wenn Sie ihn nicht setzen:** Die Zeit, die diese Hooks mit ihrer Ausführung verbringen, wird nicht auf den Standardwert von 60 Sekunden angerechnet, bis zu insgesamt 10 Minuten, sodass die Initialisierung höchstens 11 Minuten dauern kann.

110* **Wenn Sie einen Wert setzen, einschließlich `60000`:** Dieser Wert ist das Limit, auch während ein Hook ausgeführt wird.

111 

112Die zusätzliche Zeit erfordert TypeScript Agent SDK v0.3.304 oder später.

113 

107#### Rückgabewert114#### Rückgabewert

108 115 

109Gibt ein `Promise<`[`WarmQuery`](#warmquery)`>` zurück, das aufgelöst wird, sobald der Subprozess gespawnt wurde und seinen Initialize-Handshake abgeschlossen hat.116Gibt ein `Promise<`[`WarmQuery`](#warmquery)`>` zurück, das aufgelöst wird, sobald der Subprozess gespawnt wurde und seinen Initialize-Handshake abgeschlossen hat.


128 135 

129### `prewarm()`136### `prewarm()`

130 137 

131*Alpha.* Startet einen Claude Code-Prozess als Reserve, bevor Sie wissen, welche Sitzung er bedienen wird, sodass Sie ihn später mit [`claim()`](#spareprocess) an eine Sitzung binden können. Verwenden Sie es in einer Anwendung, die startet, bevor der Benutzer einen Ordner auswählt. Erfordert TypeScript Agent SDK v0.3.282 oder später.138*Alpha.* Startet einen Claude Code-Prozess als Reserve, bevor Sie wissen, welche Sitzung er bedienen wird, sodass Sie ihn später mit [`claim()`](#spareprocess) an eine Sitzung binden können. Erfordert TypeScript Agent SDK v0.3.282 oder später.

132 139 

133`prewarm()` führt denselben Initialize-Handshake wie [`startup()`](#startup) durch, wobei der Prozess in `options.cwd` wartet, wenn Sie ihn setzen, und ansonsten in einem privaten temporären Verzeichnis unter Ihrem Claude Code-Konfigurationsverzeichnis. Das Arbeitsverzeichnis der Sitzung, ihre `SessionStart`-Hooks, ihre stdio-MCP-Server und ihr CLAUDE.md- und Git-Kontext warten auf die Beanspruchung. Eine Reserve belegt ungefähr 230 bis 260 MB Speicher, während sie wartet. Wenn Ihr [`spawnClaudeCodeProcess`](#options) Claude Code auf einem anderen Computer oder in einem Container ausführt, setzen Sie `options.cwd` auf ein Verzeichnis, das dort existiert, damit die Reserve darin wartet.140Verwenden Sie `prewarm()`, wenn Ihre Anwendung startet, bevor der Benutzer einen Ordner auswählt.

134 141 

135```typescript theme={null}142```typescript theme={null}

136function prewarm(params?: {143function prewarm(params?: {


139}): Promise<SpareProcess>;146}): Promise<SpareProcess>;

140```147```

141 148 

142`options` und `initializeTimeoutMs` bedeuten dasselbe wie für `startup()`, außer dass `options.cwd` nur das Verzeichnis setzt, in dem die Reserve wartet. Das Promise wird mit einem [`SpareProcess`](#spareprocess) aufgelöst, sobald der Prozess seinen Initialize-Handshake abgeschlossen hat. `prewarm()` wirft einen Fehler, wenn `options` `resume`, `continue` oder `forkSession` setzt, da eine Reserve noch keine Sitzung hat. Alles, was ein Claim nicht setzen kann, wie `mcpServers`, `hooks`, `canUseTool`, `settingSources`, `systemPrompt` und `plugins`, ist für die Lebensdauer der Reserve festgelegt, daher halten Sie eine Reserve pro unterschiedlichem Satz dieser Optionen und wärmen Sie erneut vor, wenn sie sich ändern.149#### Parameter

150 

151| Parameter | Typ | Beschreibung |

152| :- | :- | :- |

153| `options` | [`Options`](#options) | Optionales Konfigurationsobjekt, derselbe Typ, den `startup()` akzeptiert |

154| `initializeTimeoutMs` | `number` | Maximale Zeit in Millisekunden zum Warten auf die Initialisierung der Reserve. Standardwert ist `60000`. Wenn die Initialisierung nicht rechtzeitig abgeschlossen wird, lehnt das Promise mit einem Timeout-Fehler ab |

155 

156`prewarm()` rechnet die in [Setup](https://code.claude.com/docs/de/hooks.md#setup)-Hooks verbrachte Zeit auf `initializeTimeoutMs` an, auch wenn Sie ihn nicht setzen. Um langsamen Setup-Hooks mehr Zeit zu geben, setzen Sie einen längeren Wert.

157 

158#### Rückgabewert

159 

160Gibt ein `Promise<`[`SpareProcess`](#spareprocess)`>` zurück, das aufgelöst wird, sobald die Reserve zur Beanspruchung bereit ist.

161 

162Das Promise wird abgelehnt, wenn Sie in `options` `resume`, `continue` oder `forkSession` anfordern, da eine Reserve noch keine Sitzung hat.

163 

164#### Wie eine Reserve funktioniert

165 

166* **Wo eine Reserve wartet:** in einem privaten temporären Verzeichnis unter Ihrem Claude Code-Konfigurationsverzeichnis oder in `options.cwd`, wenn Sie es in `prewarm()` setzen.

167* **Wenn Ihr [`spawnClaudeCodeProcess`](#options) Claude Code auf einem anderen Computer oder in einem Container ausführt:** Übergeben Sie `prewarm()` ein `options.cwd`, das dort existiert, da das standardmäßige temporäre Verzeichnis auf Ihrem Computer erstellt wird.

168* **Arbeitsspeicher:** Jede Reserve belegt ungefähr 230 bis 260 MB, während sie wartet.

169* **Was erst geschieht, wenn Sie `claim()` aufrufen:**

170 * Wechsel in das Arbeitsverzeichnis, das Sie an `claim()` übergeben

171 * Ausführen der SessionStart-Hooks

172 * Starten der stdio-MCP-Server

173 * Laden von CLAUDE.md und Git-Kontext

174* **Was ein Claim nicht ändern kann:** Optionen wie `mcpServers`, `hooks`, `canUseTool`, `settingSources` und `plugins` behalten ihre Werte aus `prewarm()`. [`SpareProcess`](#spareprocess) listet auf, was ein Claim setzen kann.

175* **Wenn Sitzungen unterschiedliche Werte für diese Optionen benötigen:** Halten Sie für jeden Satz von Werten eine eigene Reserve.

143 176 

144#### Beispiel177#### Beispiel

145 178 

agent-view.md +5 −3

Details

8 8 

9Die Agenten-Ansicht, die mit `claude agents` geöffnet wird, ist ein Bildschirm für alle Ihre Hintergrund-Sitzungen: was läuft, was Ihre Eingabe benötigt und was erledigt ist. Versenden Sie neue Sitzungen, beobachten Sie ihren Status auf einen Blick, anstatt durch Transkripte zu scrollen, und greifen Sie nur ein, wenn eine Sitzung Sie benötigt. Jede Hintergrund-Sitzung ist eine vollständige Claude Code-Konversation, die ohne angeschlossenes Terminal weiterläuft, sodass Sie sie jederzeit öffnen, antworten und verlassen können.9Die Agenten-Ansicht, die mit `claude agents` geöffnet wird, ist ein Bildschirm für alle Ihre Hintergrund-Sitzungen: was läuft, was Ihre Eingabe benötigt und was erledigt ist. Versenden Sie neue Sitzungen, beobachten Sie ihren Status auf einen Blick, anstatt durch Transkripte zu scrollen, und greifen Sie nur ein, wenn eine Sitzung Sie benötigt. Jede Hintergrund-Sitzung ist eine vollständige Claude Code-Konversation, die ohne angeschlossenes Terminal weiterläuft, sodass Sie sie jederzeit öffnen, antworten und verlassen können.

10 10 

11![Agenten-Ansicht in einem Terminal. Eine Zeile oben zählt die Sitzungen, die auf Eingabe warten, arbeiten und abgeschlossen sind. Vier Sitzungen sind unter Benötigt Eingabe, Wird ausgeführt und Abgeschlossen gruppiert. Jede Zeile zeigt den Namen der Sitzung, ihren neuesten Status oder ihre Frage und eine Zeit. Am unteren Rand befinden sich eine Eingabe zur Beschreibung einer neuen Aufgabe und eine Reihe von Tastaturhinweisen.](https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/agent-view-light.png?fit=max\&auto=format\&n=HDAmBwgbrZVk0pOt\&q=85\&s=d6905012bee31f3e6b3920b09c05dd02)11![Agenten-Ansicht in einem Terminal. Eine Zeile oben zählt die Sitzungen, die auf Eingabe warten, arbeiten und abgeschlossen sind. Vier Sitzungen sind unter Benötigt Eingabe, Wird ausgeführt und Abgeschlossen gruppiert. Jede Zeile zeigt den Namen der Sitzung, ihren neuesten Status oder ihre Frage und eine Zeit. Am unteren Rand befinden sich eine Eingabe zur Beschreibung einer neuen Aufgabe und eine Reihe von Tastaturhinweisen.](https://mintcdn.com/claude-code/v_J840yKc6uuKDX_/images/agent-view-light.png?fit=max\&auto=format\&n=v_J840yKc6uuKDX_\&q=85\&s=bd95fda83ea66ca8b2e0e7b68f8cb29e)

12 12 

13Verwenden Sie die Agenten-Ansicht, wenn Sie mehrere unabhängige Aufgaben haben, an denen Claude ohne Ihre ständige Überwachung arbeiten kann. Versenden Sie eine Fehlerbehebung, eine Pull-Request-Überprüfung und eine Untersuchung eines instabilen Tests als drei Zeilen, arbeiten Sie in einem anderen Fenster weiter und überprüfen Sie später, wenn eine Zeile anzeigt, dass sie Sie benötigt oder ein Ergebnis hat.13Verwenden Sie die Agenten-Ansicht, wenn Sie mehrere unabhängige Aufgaben haben, an denen Claude ohne Ihre ständige Überwachung arbeiten kann. Versenden Sie eine Fehlerbehebung, eine Pull-Request-Überprüfung und eine Untersuchung eines instabilen Tests als drei Zeilen, arbeiten Sie in einem anderen Fenster weiter und überprüfen Sie später, wenn eine Zeile anzeigt, dass sie Sie benötigt oder ein Ergebnis hat.

14 14 


628 628 

629* Die Agenten-Ansicht entfernt ihn, einschließlich nicht committeter Änderungen, committen Sie also zuerst, was Sie behalten möchten.629* Die Agenten-Ansicht entfernt ihn, einschließlich nicht committeter Änderungen, committen Sie also zuerst, was Sie behalten möchten.

630* `claude rm` behält ihn zusammen mit der Sitzungszeile, wenn er nicht committete Änderungen enthält.630* `claude rm` behält ihn zusammen mit der Sitzungszeile, wenn er nicht committete Änderungen enthält.

631* Weder die Agenten-Ansicht noch `claude rm` entfernen einen Worktree, den eine andere laufende Sitzung verwendet oder gesperrt hat, und erneutes Löschen ändert daran nichts. Claude Code behält den Worktree und die Sitzung und nennt das beibehaltene Verzeichnis und den Grund; in der Agenten-Ansicht zeigt die Zeile der Sitzung `not deleted`. Schließen Sie die andere Sitzung und löschen Sie dann erneut.631* Weder die Agenten-Ansicht noch `claude rm` entfernen einen Worktree, den eine andere laufende Sitzung verwendet oder gesperrt hat, und erneutes Löschen ändert daran nichts. Claude Code behält den Worktree und die Sitzung und nennt das beibehaltene Verzeichnis und den Grund; in der Agenten-Ansicht zeigt die Zeile der Sitzung `not removed`. Schließen Sie die andere Sitzung und löschen Sie dann erneut.

632* Wenn Sie eine Sitzung löschen, deren Worktree Commits enthält, bei denen Claude Code nicht bestätigen kann, dass sie an anderer Stelle gesichert sind, behält Claude Code den Worktree und die Sitzung, und die Meldung nennt den Branch des Worktrees und die Anzahl der nicht gepushten Commits. Die Meldung bietet außerdem die zwei möglichen Wege an: die Commits pushen oder erneut löschen, um sie zu verwerfen.632* Wenn Sie eine Sitzung löschen, deren Worktree Commits enthält, bei denen Claude Code nicht bestätigen kann, dass sie an anderer Stelle gesichert sind, behält Claude Code den Worktree und die Sitzung, und die Meldung nennt den Branch des Worktrees und die Anzahl der nicht gepushten Commits. Die Meldung bietet außerdem die zwei möglichen Wege an: die Commits pushen oder erneut löschen, um sie zu verwerfen.

633 633 

634 Commits auf einem Remote blockieren das Löschen nicht. Ebenso wenig Commits auf der lokalen Kopie des Standard-Branches Ihres `origin`-Remotes, solange dieser Branch in Ihrem Haupt-Checkout ausgecheckt ist, also im Repository-Verzeichnis selbst und nicht in einem Worktree.634 Commits auf einem Remote blockieren das Löschen nicht. Ebenso wenig Commits auf der lokalen Kopie des Standard-Branches Ihres `origin`-Remotes, solange dieser Branch in Ihrem Haupt-Checkout ausgecheckt ist, also im Repository-Verzeichnis selbst und nicht in einem Worktree.


935Das Herunterfahren oder Neustarten Ihres Computers stoppt laufende Hintergrund-Sitzungen. Eine Sitzung, die auf Ihre Eingabe wartet, bleibt unter `Needs input`, wenn Sie zurückkommen. Für jede andere laufende Sitzung hängt das, was die Agenten-Ansicht zeigt, davon ab, wie lange es her ist, dass sie zuletzt Fortschritte gemacht hat:935Das Herunterfahren oder Neustarten Ihres Computers stoppt laufende Hintergrund-Sitzungen. Eine Sitzung, die auf Ihre Eingabe wartet, bleibt unter `Needs input`, wenn Sie zurückkommen. Für jede andere laufende Sitzung hängt das, was die Agenten-Ansicht zeigt, davon ab, wie lange es her ist, dass sie zuletzt Fortschritte gemacht hat:

936 936 

937* Innerhalb von 48 Stunden wird die Sitzung als fehlgeschlagen angezeigt. Hängen Sie sich an oder antworten Sie darauf, und sie startet aus ihrer gespeicherten Konversation neu. Um die unterbrochene Arbeit wieder aufzunehmen, senden Sie ihr eine Antwort mit der Bitte, fortzufahren.937* Innerhalb von 48 Stunden wird die Sitzung als fehlgeschlagen angezeigt. Hängen Sie sich an oder antworten Sie darauf, und sie startet aus ihrer gespeicherten Konversation neu. Um die unterbrochene Arbeit wieder aufzunehmen, senden Sie ihr eine Antwort mit der Bitte, fortzufahren.

938* Nach 48 Stunden, z. B. nachdem der Computer tagelang ausgeschaltet war, wird die Sitzung als gestoppt mit `ended while the background service was off` angezeigt. Drücken Sie `Enter` auf der Zeile und die Fußzeile zeigt `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` Drücken Sie `Enter` auf derselben Zeile erneut, um die gespeicherte Konversation fortzusetzen. Eine Antwort oder `claude attach <id>` setzt sie fort, ohne diesen Hinweis in der Fußzeile.938* Nach 48 Stunden, z. B. nachdem der Computer tagelang ausgeschaltet war, wird die Sitzung als gestoppt mit `ended while the background service was off` angezeigt.

939 

940 Drücken Sie `Enter` auf der Zeile und die Fußzeile zeigt `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to remove it.` Drücken Sie `Enter` auf derselben Zeile erneut, um die gespeicherte Konversation fortzusetzen. Eine Antwort oder `claude attach <id>` setzt sie fort, ohne diesen Hinweis in der Fußzeile.

939 941 

940Wenn die [Transkript-Bereinigung](https://code.claude.com/docs/de/settings-reference.md#cleanupperioddays) die gespeicherte Konversation einer gestoppten Sitzung entfernt hat, weigert sich Claude Code, die Zeile zu öffnen: Die Meldung besagt, dass es nichts zum Fortsetzen gibt. `claude rm <id>` löscht die Zeile, außer in den [beibehaltenen Fällen](#what-deleting-a-session-removes), die oben beschrieben sind, und `claude respawn <id>` führt den ursprünglichen Prompt erneut aus. Siehe [Die gespeicherte Konversation dieser Sitzung ist nicht mehr auf der Festplatte](https://code.claude.com/docs/de/errors.md#this-sessions-saved-conversation-is-no-longer-on-disk).942Wenn die [Transkript-Bereinigung](https://code.claude.com/docs/de/settings-reference.md#cleanupperioddays) die gespeicherte Konversation einer gestoppten Sitzung entfernt hat, weigert sich Claude Code, die Zeile zu öffnen: Die Meldung besagt, dass es nichts zum Fortsetzen gibt. `claude rm <id>` löscht die Zeile, außer in den [beibehaltenen Fällen](#what-deleting-a-session-removes), die oben beschrieben sind, und `claude respawn <id>` führt den ursprünglichen Prompt erneut aus. Siehe [Die gespeicherte Konversation dieser Sitzung ist nicht mehr auf der Festplatte](https://code.claude.com/docs/de/errors.md#this-sessions-saved-conversation-is-no-longer-on-disk).

941 943 

Details

349 349 

350### Wenn ein Modell während der Sitzung deaktiviert wird350### Wenn ein Modell während der Sitzung deaktiviert wird

351 351 

352Wenn Ihr Konto den Zugriff auf das Modell verliert, auf dem Ihre Sitzung läuft, beispielsweise weil ein Administrator es in Ihrem Amazon Bedrock-Konto deaktiviert, wechselt Claude Code die Sitzung zu einem anderen Modell, anstatt jede Anfrage fehlschlagen zu lassen, und zeigt `Switched to <fallback> because <model> is not available` an. Es versucht die gleichen Modelle wie der Startup-Fallback: zuerst frühere Versionen der gleichen Stufe und für eine Opus-Sitzung ohne verfügbare Opus-Version das Standard-Sonnet-Modell.352Wenn Amazon Bedrock das Modell Ihrer Sitzung als für Ihr Konto nicht verfügbar ablehnt, wechselt Claude Code Ihre Sitzung zu einem anderen Modell, und Sie können weiterarbeiten. Sie sehen eine Meldung, die mit `Switched to <fallback> because <model> is not available` beginnt. Dies geschieht beispielsweise, wenn ein Administrator das Modell deaktiviert oder das neueste Modell für Ihr Konto noch nicht verfügbar ist.

353 353 

354Der Wechsel gilt nur für eine Stufe, die Sie nicht angeheftet haben, die gleiche Bedingung wie der Startup-Fallback. Eine Sitzung auf einer bestimmten Version, die Sie ausgewählt haben, oder auf einem [Anwendungs-Inferenzprofil-ARN](#map-each-model-version-to-an-inference-profile) behält ihr Modell, und ohne eine Fallback-Modellkette schlägt die Anfrage stattdessen fehl. Im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry) wechselt Claude Code nur zu einem Modell, das der Auto-Modus auf Amazon Bedrock unterstützt. Wenn auch keines dieser Modelle verfügbar ist, schlägt die Anfrage mit [AWS-Authentifizierung fehlgeschlagen](https://code.claude.com/docs/de/errors.md#aws-authentication-failed) und einem Hinweis zum Aktivieren des Modells fehl.354Wenn Sie eine [Fallback-Modellkette](https://code.claude.com/docs/de/model-config.md#fallback-model-chains) konfiguriert haben, wechselt Claude Code stattdessen zu Ihrem konfigurierten Fallback. Ohne eine Kette schlägt die Anfrage beispielsweise in folgenden Fällen fehl:

355 355 

356Eine [Fallback-Modellkette](https://code.claude.com/docs/de/model-config.md#fallback-model-chains), die Sie konfigurieren, ersetzt den Stufenwechsel: Bei diesen Ablehnungen wechselt Claude Code stattdessen zu Ihrem konfigurierten Fallback. Damit abgelehnte Anfragen fehlschlagen, anstatt zu wechseln, setzen Sie [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/de/env-vars). Eine Fallback-Kette, die Sie konfiguriert haben, wechselt immer noch bei diesen Ablehnungen; entfernen Sie die Kette auch, wenn Sie möchten, dass jede abgelehnte Anfrage fehlschlägt.356* Ihre Sitzung läuft auf einem angehefteten Modell, einer bestimmten von Ihnen ausgewählten Version oder einem [Anwendungs-Inferenzprofil-ARN](#map-each-model-version-to-an-inference-profile)

357* Keines der [Modelle, die Claude Code versucht](#startup-model-checks), ist verfügbar. Im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry) wechselt Claude Code nur zu einem Modell, das der Auto-Modus auf Amazon Bedrock unterstützt.

358 

359Um weiterzuarbeiten, führen Sie `/model` in der Sitzung aus und drücken Sie `s` bei einem Modell, das Ihr Konto verwenden kann. Ihr Standard bleibt dabei unverändert. Ein `403` wird als [AWS-Authentifizierung fehlgeschlagen](https://code.claude.com/docs/de/errors.md#aws-authentication-failed) angezeigt.

360 

361Damit abgelehnte Anfragen fehlschlagen, anstatt zu wechseln, setzen Sie [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/de/env-vars). Wenn Sie eine Fallback-Modellkette konfiguriert haben, entfernen Sie diese ebenfalls, da Claude Code sonst weiterhin zu diesem Fallback wechselt.

357 362 

358## Präfixe für regionsübergreifende Inferenzprofile363## Präfixe für regionsübergreifende Inferenzprofile

359 364 

Details

222 222 

223Jedes ist ein Array von Prosabeschreibungen, das als natürlichsprachige Regeln gelesen wird. Für werkzeugmuster-basierte harte Blöcke, die vor dem Klassifizierer ausgeführt werden, verwenden Sie [`permissions.deny`](https://code.claude.com/docs/de/permissions).223Jedes ist ein Array von Prosabeschreibungen, das als natürlichsprachige Regeln gelesen wird. Für werkzeugmuster-basierte harte Blöcke, die vor dem Klassifizierer ausgeführt werden, verwenden Sie [`permissions.deny`](https://code.claude.com/docs/de/permissions).

224 224 

225> [!NOTE]

226>

227> In einer [Code Mode](https://code.claude.com/docs/de/code-mode.md#permission-checks)-Sitzung wendet der Klassifikator `hard_deny` und `soft_deny` an, wenn er Claudes Code prüft, und nicht auf jeden Tool-Aufruf, den der Code ausführt. `permissions.deny`-Regeln gelten für jeden Aufruf.

228 

225Innerhalb des Klassifizierers funktioniert die Vorrangigkeit in vier Ebenen:229Innerhalb des Klassifizierers funktioniert die Vorrangigkeit in vier Ebenen:

226 230 

227* `hard_deny`-Regeln blockieren bedingungslos. Benutzerabsicht und `allow`-Ausnahmen gelten nicht.231* `hard_deny`-Regeln blockieren bedingungslos. Benutzerabsicht und `allow`-Ausnahmen gelten nicht.


283 287 

284Standardmäß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](https://code.claude.com/docs/de/sandboxing.md#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`](https://code.claude.com/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.288Standardmäß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](https://code.claude.com/docs/de/sandboxing.md#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`](https://code.claude.com/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.

285 289 

286Setzen 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, außer [kritische-Pfad-Entfernungen](https://code.claude.com/docs/de/permission-modes.md#critical-paths).290Setzen Sie `autoMode.classifyAllShell` auf `true`, um jede Bash- und PowerShell-Erlaubnisregel auszusetzen, während der Auto-Modus aktiv ist, damit der Klassifikator jeden Shell-Befehl unabhängig von Ihrer Erlaubnisliste evaluiert, außer [Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths). In einer [Code Mode](https://code.claude.com/docs/de/code-mode.md#permission-checks)-Sitzung prüft der Klassifikator den Code, der die Befehle ausführt, auch wenn diese Einstellung aktiviert ist.

287 291 

288```json theme={null}292```json theme={null}

289{293{

Details

315 {315 {

316 "matcher": "Edit|Write",316 "matcher": "Edit|Write",

317 "hooks": [317 "hooks": [

318 { "type": "command", "command": "npx prettier --write --ignore-unknown \"$(jq -r '.tool_input.file_path')\"" }318 { "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }

319 ]319 ]

320 }320 }

321 ]321 ]

Details

74| PostgreSQL 11 oder später | Unterstützt den Geräte-Anmeldungsfluss und Rate-Limit-Zähler. Ein verwalteter PostgreSQL-Dienst funktioniert, einschließlich der kleinsten Stufe; siehe [welche Datenbanken unterstützt werden](https://code.claude.com/docs/de/claude-apps-gateway-deploy.md#postgres). Mit [Ausgabenlimits](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md) enthält es auch dauerhafte Ausgaben-, Audit- und Identitätstabellen, die gesichert werden sollten. TLS über `?sslmode=require` wird empfohlen. PostgreSQL 11, 12 und 13 erfordern Claude Code v2.1.290 oder später auf dem Gateway-Server. Das PostgreSQL-Projekt pflegt diese Versionen nicht mehr, verwenden Sie daher nach Möglichkeit eine neuere. |74| PostgreSQL 11 oder später | Unterstützt den Geräte-Anmeldungsfluss und Rate-Limit-Zähler. Ein verwalteter PostgreSQL-Dienst funktioniert, einschließlich der kleinsten Stufe; siehe [welche Datenbanken unterstützt werden](https://code.claude.com/docs/de/claude-apps-gateway-deploy.md#postgres). Mit [Ausgabenlimits](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md) enthält es auch dauerhafte Ausgaben-, Audit- und Identitätstabellen, die gesichert werden sollten. TLS über `?sslmode=require` wird empfohlen. PostgreSQL 11, 12 und 13 erfordern Claude Code v2.1.290 oder später auf dem Gateway-Server. Das PostgreSQL-Projekt pflegt diese Versionen nicht mehr, verwenden Sie daher nach Möglichkeit eine neuere. |

75| 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. |75| 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. |

76| 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. Bei `/login` akzeptiert Claude Code einen einfachen `http://`-Ursprung nur, wenn der Gateway-Host Loopback ist: `localhost`, `127.0.0.1` oder `::1`. |76| 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. Bei `/login` akzeptiert Claude Code einen einfachen `http://`-Ursprung nur, wenn der Gateway-Host Loopback ist: `localhost`, `127.0.0.1` oder `::1`. |

77| 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](https://code.claude.com/docs/de/claude-apps-gateway-deploy.md#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. |77| 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- und Link-lokale Bereiche, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` und Loopback. Siehe das [Bedrohungsmodell](https://code.claude.com/docs/de/claude-apps-gateway-deploy.md#threat-model-summary). 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. |

78| 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. |78| 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. |

79 79 

80Wenn `HTTPS_PROXY` oder `HTTP_PROXY` für den Gateway-Host gilt, erfordert die Anmeldung außerdem entweder einen Proxy, dessen Hostname zu privaten Adressen aufgelöst wird, oder den Gateway-Host in `NO_PROXY` auf den Entwicklermaschinen. Wenn diese Maschinen auch `no_proxy` setzen, fügen Sie den Gateway-Host auch dort hinzu, andernfalls laufen Modellanfragen weiterhin über den Proxy.

81 

80### Schritte82### Schritte

81 83 

82**1. Registrieren Sie einen OAuth-Client in Ihrem IdP**84**1. Registrieren Sie einen OAuth-Client in Ihrem IdP**

Details

16 16 

17## Dateistruktur17## Dateistruktur

18 18 

19Fünf Abschnitte sind [erforderlich](#required-sections). Jeder andere Abschnitt ist [optional](#optional-sections), und ein fehlender Abschnitt nimmt seine Standardwerte an. Unbekannte Schlüssel führen zum Fehlschlag beim Start, sodass ein Tippfehler als benannter Fehler anstelle einer stillschweigend ignorierten Einstellung auftaucht.19Fünf Abschnitte sind [erforderlich](#required-sections). Jeder andere Abschnitt ist [optional](#optional-sections), und ein fehlender Abschnitt nimmt seine Standardwerte an.

20 20 

21**Erforderliche Abschnitte:**21**Erforderliche Abschnitte:**

22 22 


519 519 

520Erfordert ein Gateway, das Claude Code v2.1.281 oder später ausführt. [Kostenzuordnung auf AWS](https://code.claude.com/docs/de/claude-apps-gateway-on-aws.md#cost-attribution) behandelt die IAM-Rolle und wo die AWS-Abrechnung die Sitzungen anzeigt.520Erfordert ein Gateway, das Claude Code v2.1.281 oder später ausführt. [Kostenzuordnung auf AWS](https://code.claude.com/docs/de/claude-apps-gateway-on-aws.md#cost-attribution) behandelt die IAM-Rolle und wo die AWS-Abrechnung die Sitzungen anzeigt.

521 521 

522> [!NOTE]

523>

524> Für die Zuordnung pro Entwickler setzen Sie `assume_role` mit `session_name` bei jedem `bedrock`- und [`mantle`](#amazon-bedrock-mantle-endpoint)-Upstream, ausgenommen diejenigen, die `aws_bearer_token` verwenden. Diese [können `assume_role` nicht verwenden](#bedrock-in-another-aws-account), sodass ihre Anfragen unter einem einzigen Principal bleiben.

525 

522```yaml theme={null}526```yaml theme={null}

523upstreams:527upstreams:

524 - provider: bedrock528 - provider: bedrock


535 539 

536Das Gateway führt mit dieser Rolle auch einen eigenen Aufruf aus: die Token-Zählung für eine Anfrage, die der Client abgebrochen hat, damit [Ausgabenlimits](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md) genau bleiben. Diese Zählung und ihre [Ein-Token-Fallback-Anfrage](#amazon-bedrock) werden von der gemeinsamen `claude-apps-gateway`-Sitzung signiert, daher ordnet AWS den Fallback `claude-apps-gateway` statt dem Entwickler zu.540Das Gateway führt mit dieser Rolle auch einen eigenen Aufruf aus: die Token-Zählung für eine Anfrage, die der Client abgebrochen hat, damit [Ausgabenlimits](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md) genau bleiben. Diese Zählung und ihre [Ein-Token-Fallback-Anfrage](#amazon-bedrock) werden von der gemeinsamen `claude-apps-gateway`-Sitzung signiert, daher ordnet AWS den Fallback `claude-apps-gateway` statt dem Entwickler zu.

537 541 

538Für eine strikte Zuordnung pro Entwickler setzen Sie `assume_role` mit `session_name` auf jedem aufgelisteten Bedrock-Upstream. Ein Upstream ohne diese Einstellung signiert die Anfragen, die er bedient, mit seinen eigenen Anmeldedaten.

539 

540#### Amazon Bedrock Mantle-Endpunkt542#### Amazon Bedrock Mantle-Endpunkt

541 543 

542Der `mantle`-Provider sendet Inference an den [Mantle-Endpunkt](https://code.claude.com/docs/de/amazon-bedrock.md#use-the-mantle-endpoint) von Amazon Bedrock. Er erfordert Claude Code v2.1.283 oder später auf dem Gateway-Server. Frühere Gateway-Versionen lehnen ihn beim Start ab, aktualisieren Sie also jedes Replikat, bevor Sie ihn hinzufügen.544Der `mantle`-Provider sendet Inference an den [Mantle-Endpunkt](https://code.claude.com/docs/de/amazon-bedrock.md#use-the-mantle-endpoint) von Amazon Bedrock. Er erfordert Claude Code v2.1.283 oder später auf dem Gateway-Server. Frühere Gateway-Versionen lehnen ihn beim Start ab, aktualisieren Sie also jedes Replikat, bevor Sie ihn hinzufügen.


656 658 

657| Setup | Wie |659| Setup | Wie |

658| - | - |660| - | - |

659| RBAC | Gewähren Sie der Identität des Gateways `Azure AI User` oder `Cognitive Services User` auf der Microsoft Foundry-Ressource |661| RBAC | Gewähren Sie der Identität des Gateways die Rolle `Foundry User` oder `Cognitive Services User` für die Microsoft-Foundry-Ressource |

660| Deployments | Microsoft Foundry verwendet von Administratoren gewählte Deployment-Namen, nicht kanonische Modell-IDs. Fügen Sie einen [`models:`](#models)-Block hinzu, der jede kanonische ID Ihrem Deployment-Namen zuordnet. |662| Deployments | Microsoft Foundry verwendet von Administratoren gewählte Deployment-Namen, nicht kanonische Modell-IDs. Fügen Sie einen [`models:`](#models)-Block hinzu, der jede kanonische ID Ihrem Deployment-Namen zuordnet. |

661| AKS (Workload Identity) | Verknüpfen Sie eine User-Assigned Managed Identity per Federation mit dem OIDC-Aussteller des Clusters und binden Sie sie an den Service-Account des Gateways. `use_azure_ad: true` übernimmt sie über `WorkloadIdentityCredential`. |663| AKS (Workload Identity) | Verknüpfen Sie eine User-Assigned Managed Identity per Federation mit dem OIDC-Aussteller des Clusters und binden Sie sie an den Service-Account des Gateways. `use_azure_ad: true` übernimmt sie über `WorkloadIdentityCredential`. |

662| ACI / App Service | Aktivieren Sie eine system- oder benutzerzugewiesene Managed Identity auf der Ressource. `use_azure_ad: true` übernimmt sie. |664| ACI / App Service | Aktivieren Sie eine system- oder benutzerzugewiesene Managed Identity auf der Ressource. `use_azure_ad: true` übernimmt sie. |


1001 1003 

1002Jeder Schlüssel unter `upstream_model` muss dem `name` eines konfigurierten Upstream entsprechen, der standardmäßig auf den Anbieternamen gesetzt ist. Ein Schlüssel, der keinem Upstream entspricht, schlägt beim Start fehl, daher lassen Sie die Zeilen für Anbieter weg, die Sie nicht verwenden.1004Jeder Schlüssel unter `upstream_model` muss dem `name` eines konfigurierten Upstream entsprechen, der standardmäßig auf den Anbieternamen gesetzt ist. Ein Schlüssel, der keinem Upstream entspricht, schlägt beim Start fehl, daher lassen Sie die Zeilen für Anbieter weg, die Sie nicht verwenden.

1003 1005 

1006Damit Entwickler den Alias `fable` mit `auto_include_builtin_models: false` verwenden können, fügen Sie `models` einen Eintrag `claude-fable-5` hinzu. Das ist die ID, zu der der [Alias `fable`](https://code.claude.com/docs/de/model-config#fable-alias-resolution) für am Gateway angemeldete Entwickler aufgelöst wird. Ohne diesen Eintrag schlagen ihre Nachrichten mit einem Fehler fehl, der mit `API Error: 400 model claude-fable-5 is not in the operator's model allowlist` beginnt.

1007 

1004### `managed`1008### `managed`

1005 1009 

1006Der Block `managed` definiert rollenbasierte Zugriffsrichtlinien, die an IdP-Gruppen oder E-Mail-Domains geknüpft sind. Richtlinien werden der Reihe nach ausgewertet; standardmäßig wird die erste Übereinstimmung ausgewählt und dann mit der Basis des Catch-all `match: {}` zusammengeführt. Ein Benutzer, auf den zwei Rollenrichtlinien zutreffen, erhält nur die erste, sodass die deny-Regeln der zweiten Richtlinie nicht gelten, es sei denn, Sie [wenden jede zutreffende Richtlinie an](#apply-every-matching-policy). Richtlinien werden pro Benutzer unter `GET /managed/settings` mit ETag/304-Caching ausgeliefert.1010Der Block `managed` definiert rollenbasierte Zugriffsrichtlinien, die an IdP-Gruppen oder E-Mail-Domains geknüpft sind. Richtlinien werden der Reihe nach ausgewertet; standardmäßig wird die erste Übereinstimmung ausgewählt und dann mit der Basis des Catch-all `match: {}` zusammengeführt. Ein Benutzer, auf den zwei Rollenrichtlinien zutreffen, erhält nur die erste, sodass die deny-Regeln der zweiten Richtlinie nicht gelten, es sei denn, Sie [wenden jede zutreffende Richtlinie an](#apply-every-matching-policy). Richtlinien werden pro Benutzer unter `GET /managed/settings` mit ETag/304-Caching ausgeliefert.


1025Eine `match: {}`-Catch-All, üblicherweise zuletzt aufgelistet, wird als Basisschicht behandelt. Jede andere Richtlinie erbt jeden Schlüssel, den sie nicht setzt, von der Catch-All, sodass Pro-Rollen-Einträge nur auflisten müssen, was sich vom Organisationsstandardwert unterscheidet. Die Zusammenführungsregeln hängen vom Schlüsseltyp ab:1029Eine `match: {}`-Catch-All, üblicherweise zuletzt aufgelistet, wird als Basisschicht behandelt. Jede andere Richtlinie erbt jeden Schlüssel, den sie nicht setzt, von der Catch-All, sodass Pro-Rollen-Einträge nur auflisten müssen, was sich vom Organisationsstandardwert unterscheidet. Die Zusammenführungsregeln hängen vom Schlüsseltyp ab:

1026 1030 

1027* **Zulassungslisten**: `availableModels` und `permissions.allow`. Die Liste einer bestimmten Richtlinie ersetzt die Basis vollständig.1031* **Zulassungslisten**: `availableModels` und `permissions.allow`. Die Liste einer bestimmten Richtlinie ersetzt die Basis vollständig.

1028* **Denylists und Hook-Arrays**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces`, `deniedModels` und jedes `hooks`-Array pro Ereignistyp. Diese bilden die Vereinigung aus Basis und Richtlinie, sodass eine organisationsweite Ablehnung oder ein Audit-Hook nicht versehentlich durch eine rollenspezifische Überschreibung entfallen kann.1032* **Denylists und Hook-Arrays**: Diese bilden die Vereinigung aus Basis und Richtlinie:

1033 * `permissions.deny` und `permissions.ask`

1034 * `disabledMcpjsonServers` und `deniedMcpServers`

1035 * `blockedMarketplaces` und `deniedModels`

1036 * Die Event-Typ-Arrays von `hooks`

1029* **Datensatz-typisierte Schlüssel**: `env`, `modelOverrides` und `skillOverrides`. Diese werden flach zusammengeführt, sodass ein Pro-Rollen-`env`-Block Schlüssel überschreibt, die er setzt, und den Rest von der Basis erbt.1037* **Datensatz-typisierte Schlüssel**: `env`, `modelOverrides` und `skillOverrides`. Diese werden flach zusammengeführt, sodass ein Pro-Rollen-`env`-Block Schlüssel überschreibt, die er setzt, und den Rest von der Basis erbt.

1030 1038 

1031`availableModels` wird auch serverseitig unter `/v1/messages` erzwungen, sodass ein abgelehntes Modell `400` zurückgibt, unabhängig davon, was der Client sendet. Eine leere Liste lehnt jedes Modell ab. Die Prüfung umfasst auch das Modell, mit dem eine Sitzung startet, bevor der Entwickler eines auswählt, daher [starten Sie Sitzungen mit einem Modell, das die Richtlinie zulässt](#start-sessions-on-a-model-the-policy-allows).1039`availableModels` wird auch serverseitig unter `/v1/messages` erzwungen, sodass ein abgelehntes Modell `400` zurückgibt, unabhängig davon, was der Client sendet. Eine leere Liste lehnt jedes Modell ab. Die Prüfung umfasst auch das Modell, mit dem eine Sitzung startet, bevor der Entwickler eines auswählt, daher [starten Sie Sitzungen mit einem Modell, das die Richtlinie zulässt](#start-sessions-on-a-model-the-policy-allows).


1277 1285 

1278Um den 1M-Kontext stattdessen auszuschalten, setzen Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT: "1"`](https://code.claude.com/docs/de/model-config#extended-context) im selben `env`-Block. Claude Code behandelt dann jedes Modell so, als hätte es ein 200K-Fenster. In interaktiven Sitzungen genehmigt jeder Entwickler diese Variable im [Genehmigungsdialog](#what-goes-in-cli), bevor sie wirksam wird.1286Um den 1M-Kontext stattdessen auszuschalten, setzen Sie [`CLAUDE_CODE_DISABLE_1M_CONTEXT: "1"`](https://code.claude.com/docs/de/model-config#extended-context) im selben `env`-Block. Claude Code behandelt dann jedes Modell so, als hätte es ein 200K-Fenster. In interaktiven Sitzungen genehmigt jeder Entwickler diese Variable im [Genehmigungsdialog](#what-goes-in-cli), bevor sie wirksam wird.

1279 1287 

1288> [!NOTE]

1289>

1290> Claude Code liest das `upstream_model` eines Alias nicht, um die Größe seines Kontextfensters zu bestimmen. Wie Sie einem Alias in `models`, den Claude Code nicht erkennt, das Fenster seines Modells geben, erfahren Sie unter [Das Fenster für ein Gateway oder eine benutzerdefinierte Modell-ID korrigieren](https://code.claude.com/docs/de/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id).

1291 

1280#### Einstündiger Prompt-Cache1292#### Einstündiger Prompt-Cache

1281 1293 

1282Um die einstündige [Prompt-Cache-TTL](https://code.claude.com/docs/de/prompt-caching.md#cache-lifetime) statt der standardmäßigen fünf Minuten anzufordern, fügen Sie diese Schlüssel zum vorhandenen [`code`-, `cli`- oder `settings`-Block](#choose-cli-or-code) einer Richtlinie hinzu und starten das Gateway neu. Die Schlüssel erfordern Claude Code v2.1.242 oder höher auf dem Gateway-Server und auf den Clients.1294Um die einstündige [Prompt-Cache-TTL](https://code.claude.com/docs/de/prompt-caching.md#cache-lifetime) statt der standardmäßigen fünf Minuten anzufordern, fügen Sie diese Schlüssel zum vorhandenen [`code`-, `cli`- oder `settings`-Block](#choose-cli-or-code) einer Richtlinie hinzu und starten das Gateway neu. Die Schlüssel erfordern Claude Code v2.1.242 oder höher auf dem Gateway-Server und auf den Clients.


1379 1391 

1380##### Was das Gateway beim Start ablehnt1392##### Was das Gateway beim Start ablehnt

1381 1393 

1382Das Gateway validiert jeden `desktop`-Block beim Start gegen das Konfigurationsschema, das Claude Desktop selbst verwendet, sodass ein Fehler beim Gateway-Start als Fehler auftaucht, der den Schlüssel benennt, statt jeden verbundenen Desktop zu erreichen. Das Gateway schlägt beim Start fehl, wenn ein Block Folgendes enthält:1394Das Gateway schlägt beim Start fehl, wenn ein `desktop`-Block Folgendes enthält:

1383 1395 

1384* Einen unbekannten Schlüssel1396* Einen erkannten Schlüssel, dessen Wert Claude Desktop ablehnen oder stillschweigend verwerfen würde, etwa einen leeren Wert.

1385* Einen erkannten Schlüssel, dessen Wert Claude Desktop ablehnen oder stillschweigend verwerfen würde, wie einen leeren Wert oder einen falsch geschriebenen Unterschlüssel in einem verschachtelten Eintrag. Vor v2.1.260 ließ das Gateway ein falsch geschriebenes Feld in einem verschachtelten Objekt eines `managedMcpServers`- oder `orgPluginSettings`-Eintrags stillschweigend fallen, anstatt beim Start fehlzuschlagen.

1386* Einen Schlüssel, den das Gateway selbst berechnet: die Inferenzverbindung, die Modellliste und das OTLP-Relay. Konfigurieren Sie diese durch [`upstreams`](#upstreams), [`models`](#models) und `forward_to` im Abschnitt [`telemetry`](#telemetry).1397* Einen Schlüssel, den das Gateway selbst berechnet: die Inferenzverbindung, die Modellliste und das OTLP-Relay. Konfigurieren Sie diese durch [`upstreams`](#upstreams), [`models`](#models) und `forward_to` im Abschnitt [`telemetry`](#telemetry).

1387* Einen Legacy-Alias eines aktuellen Schlüssels. Im Boot-Fehler benennt das Gateway den kanonischen Schlüssel, den Sie schreiben sollten.1398* Einen Legacy-Alias eines aktuellen Schlüssels. Im Boot-Fehler benennt das Gateway den kanonischen Schlüssel, den Sie schreiben sollten.

1399* Ab v2.1.300 jeden Schlüssel, dessen Name mit `selfHosted` beginnt, etwa die Schlüssel für einen selbst gehosteten Sitzungshost. Entfernen Sie diese Schlüssel, bevor Sie das Gateway auf v2.1.300 oder höher aktualisieren.

1388 1400 

1389Wenn Sie einen veralteten Wert oder eine veraltete Eintragsform verwenden, wie einen `managedMcpServers`-Eintrag ohne `transport`, startet das Gateway und protokolliert eine Warnung, die den Ersatz benennt.1401Wenn Sie einen veralteten Wert oder eine veraltete Eintragsform verwenden, wie einen `managedMcpServers`-Eintrag ohne `transport`, startet das Gateway und protokolliert eine Warnung, die den Ersatz benennt.

1390 1402 

1391Vor v2.1.232 akzeptierte das Gateway eine feste Liste von 11 Feature-Gate-Schlüsseln, wie `chatTabEnabled` und `disableAutoUpdates`, und lehnte jeden anderen Schlüssel beim Start ab. Vor v2.1.227 lehnte das Gateway auch `chatTabEnabled` und `chatAdvancedFileAnalysisEnabled` beim Start ab.1403Vor v2.1.232 akzeptierte das Gateway eine feste Liste von 11 Feature-Gate-Schlüsseln, wie `chatTabEnabled` und `disableAutoUpdates`, und lehnte jeden anderen Schlüssel beim Start ab. Vor v2.1.227 lehnte das Gateway auch `chatTabEnabled` und `chatAdvancedFileAnalysisEnabled` beim Start ab.

1392 1404 

1405##### Schlüssel, die das Gateway nicht kennt

1406 

1407Auf einem Gateway mit Claude Code v2.1.295 oder höher benötigen die meisten Schlüssel aus einem neueren Claude-Desktop-Release kein Gateway-Upgrade. Ab v2.1.321 gilt das auch für die meisten neuen Unterschlüssel innerhalb eines bekannten Schlüssels.

1408 

1409Einige Schlüssel und Werte schlagen beim Start weiterhin fehl, etwa diese:

1410 

1411* Eine neue Auswahlmöglichkeit in der festen Werteliste eines bekannten Schlüssels.

1412* Ein wahrscheinlicher Tippfehler eines Schlüssels, den Sie in einem `desktop`-Block setzen können, etwa `disable_auto_updates` für `disableAutoUpdates`. Der Fehler schlägt einen Namen vor.

1413 

1414Wenn der Name oder Wert in einem neueren Claude-Desktop-Release tatsächlich existiert, [aktualisieren Sie das Gateway](https://code.claude.com/docs/de/claude-apps-gateway-deploy.md#upgrades) jeweils auf das neueste Release. Andernfalls korrigieren oder entfernen Sie ihn. Um dies vor dem Deployment herauszufinden, [testen Sie die Richtlinie](#test-a-policy-before-deployment).

1415 

1393##### Schlüssel, die eine neuere Gateway- oder Claude-Desktop-Version erfordern1416##### Schlüssel, die eine neuere Gateway- oder Claude-Desktop-Version erfordern

1394 1417 

1395Das Gateway validiert einen `desktop`-Block gegen das Schema, das mit seiner installierten Version gebündelt ist, wie es den `cli`-Block tut. Um eine Einstellung bereitzustellen, die von einer neueren Claude-Desktop-Version eingeführt wurde, aktualisieren Sie das Gateway zuerst. Zum Beispiel benötigen `userPluginMarketplacesEnabled` und `userPluginUploadsEnabled` Claude Code v2.1.260 oder später auf dem Gateway-Server und Claude Desktop 1.37937.0 oder später auf den Maschinen der Mitglieder.1418`userPluginMarketplacesEnabled` und `userPluginUploadsEnabled` benötigen Claude Code v2.1.260 oder höher auf dem Gateway-Server und Claude Desktop 1.37937.0 oder höher auf den Rechnern der Mitglieder.

1396 1419 

1397`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` und `sshClientPath` benötigen Claude Code v2.1.281 oder später auf dem Gateway-Server. Dasselbe gilt für den Wert `required` von `microsoftAuthBroker` und das Feld `continuousAccessEvaluation` eines Microsoft-365-`managedMcpServers`-Eintrags. Claude-Desktop-Versionen, die älter als der Wert `required` sind, lesen ihn als `disabled`, setzen Sie `required` daher erst, wenn das Claude Desktop jedes Mitglieds ihn unterstützt. Claude Desktops [verwaltete Konfigurationsreferenz](https://claude.com/docs/third-party/claude-desktop/configuration) listet die Version auf, die jeden Schlüssel zuerst liest.1420`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` und `sshClientPath` benötigen Claude Code v2.1.281 oder später auf dem Gateway-Server. Dasselbe gilt für den Wert `required` von `microsoftAuthBroker` und das Feld `continuousAccessEvaluation` eines Microsoft-365-`managedMcpServers`-Eintrags. Claude-Desktop-Versionen, die älter als der Wert `required` sind, lesen ihn als `disabled`, setzen Sie `required` daher erst, wenn das Claude Desktop jedes Mitglieds ihn unterstützt. Claude Desktops [verwaltete Konfigurationsreferenz](https://claude.com/docs/third-party/claude-desktop/configuration) listet die Version auf, die jeden Schlüssel zuerst liest.

1398 1421 

Details

92 92 

93Über die Binärdatei hinaus benötigt das Image:93Über die Binärdatei hinaus benötigt das Image:

94 94 

95* **Ein glibc-basiertes Image**: Die einzigen dynamischen Abhängigkeiten des glibc-Builds sind glibc-Bibliotheken. Musl-basierte Images benötigen den `linux-x64-musl`- oder `linux-arm64-musl`-Build plus zusätzliche Pakete; siehe [Alpine-Linux-Setup](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions).95* **Ein glibc-basiertes Image**: Die einzigen dynamischen Abhängigkeiten des glibc-Builds sind glibc-Bibliotheken. Musl-basierte Images benötigen den `linux-x64-musl`- oder `linux-arm64-musl`-Build, dessen einzige dynamische Abhängigkeit musl ist.

96* **Ein beschreibbares Zustandsverzeichnis**: Das Gateway läuft als jeder Benutzer, aber minimale Images haben kein beschreibbares Home. Setzen Sie `CLAUDE_CONFIG_DIR` auf einen beschreibbaren Pfad wie `/tmp/.claude`.96* **Ein beschreibbares Zustandsverzeichnis**: Das Gateway läuft als jeder Benutzer, aber minimale Images haben kein beschreibbares Home. Setzen Sie `CLAUDE_CONFIG_DIR` auf einen beschreibbaren Pfad wie `/tmp/.claude`.

97* **Der Container-Befehl**: `claude gateway --config /etc/claude/gateway.yaml`, mit der Konfigurationsdatei schreibgeschützt eingebunden und Geheimnissen als Umgebungsvariablen bereitgestellt; das Gateway lauscht auf `listen.port`, Standard `8080`.97* **Der Container-Befehl**: `claude gateway --config /etc/claude/gateway.yaml`, mit der Konfigurationsdatei schreibgeschützt eingebunden und Geheimnissen als Umgebungsvariablen bereitgestellt; das Gateway lauscht auf `listen.port`, Standard `8080`.

98 98 

Details

189 189 

190```190```

191Sent to cloud session.191Sent to cloud session.

192Session ID: session_01DiUkqY2kzbUbDmW1w96rfi192Session ID: session_01HJKLMNOPQRSTUVWXYZ

193View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0193View: https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ?from=cli&m=0

194```194```

195 195 

196Übergeben Sie `--output-format json` für ein maschinenlesbares Ergebnis: `{ok, session_id, url}` bei Erfolg oder `{ok: false, session_id, error}`, wenn der Send fehlschlägt, beispielsweise wenn die Sitzung fehlt oder archiviert ist. Konfigurationsfehler, wie ein nicht unterstützter Anbieter oder eine deaktivierte Organisationsrichtlinie, werden ohne JSON auf stderr gedruckt. `--output-format stream-json` wird nicht mit `--cloud <session-id>` unterstützt.196Übergeben Sie `--output-format json` für ein maschinenlesbares Ergebnis: `{ok, session_id, url}` bei Erfolg oder `{ok: false, session_id, error}`, wenn der Send fehlschlägt, beispielsweise wenn die Sitzung fehlt oder archiviert ist. Konfigurationsfehler, wie ein nicht unterstützter Anbieter oder eine deaktivierte Organisationsrichtlinie, werden ohne JSON auf stderr gedruckt. `--output-format stream-json` wird nicht mit `--cloud <session-id>` unterstützt.

Details

274 274 

275Der Thread läuft im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode), sodass Claude Befehle ausführt und Dateien in diesem Ordner bearbeitet, ohne Sie jedes Mal zu fragen. Wenn Auto-Modus auf diesem Computer nicht verfügbar oder deaktiviert ist, läuft der Thread ohne ihn, und jede Berechtigungsaufforderung, die er auslöst, wartet auf Ihre Antwort im Thread, wie [Entsperren Sie einen Thread, der auf Genehmigung wartet](#unblock-a-thread-waiting-on-approval) beschreibt.275Der Thread läuft im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode), sodass Claude Befehle ausführt und Dateien in diesem Ordner bearbeitet, ohne Sie jedes Mal zu fragen. Wenn Auto-Modus auf diesem Computer nicht verfügbar oder deaktiviert ist, läuft der Thread ohne ihn, und jede Berechtigungsaufforderung, die er auslöst, wartet auf Ihre Antwort im Thread, wie [Entsperren Sie einen Thread, der auf Genehmigung wartet](#unblock-a-thread-waiting-on-approval) beschreibt.

276 276 

277Um den Thread in einem anderen Modus auszuführen, starten Sie `claude remote-control` mit [`--settings`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session). Dann kann [`permissions.defaultMode`](https://code.claude.com/docs/de/permission-modes#start-in-a-different-mode) in dieser Datei oder in den Einstellungen dieses Computers einen anderen Modus auswählen.

278 

277Während der Thread läuft, zeigt ein Laptop-Symbol in seiner Kopfzeile, ob Ihr Computer verbunden ist. Klicken Sie darauf, um zu sehen, welchen Ordner der Thread verwendet, oder um die Verbindung auszuschalten. Der Thread wird unterbrochen, während dieser Computer schläft, und stoppt, wenn die Desktop-App oder `claude remote-control` beendet wird.279Während der Thread läuft, zeigt ein Laptop-Symbol in seiner Kopfzeile, ob Ihr Computer verbunden ist. Klicken Sie darauf, um zu sehen, welchen Ordner der Thread verwendet, oder um die Verbindung auszuschalten. Der Thread wird unterbrochen, während dieser Computer schläft, und stoppt, wenn die Desktop-App oder `claude remote-control` beendet wird.

278 280 

279* **Um den Thread wieder zum Laufen zu bringen**: siehe [Lost contact with your folder](#lost-contact-with-your-folder)281* **Um den Thread wieder zum Laufen zu bringen**: siehe [Lost contact with your folder](#lost-contact-with-your-folder)

code-mode.md +224 −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# Tool-Aufrufe aus Code mit Code Mode ausführen

6 

7> Probieren Sie Code Mode aus, eine experimentelle Funktion, bei der Claude JavaScript schreibt, das mehrere Tool-Aufrufe in einem Schritt ausführt.

8 

9Code Mode ändert, wie Claude seine [Tools](https://code.claude.com/docs/de/tools-reference.md) verwendet. Ohne Code Mode fordert Claude Tool-Aufrufe wie Bash, Read oder Edit direkt an und liest jedes Ergebnis, bevor es entscheidet, was als Nächstes zu tun ist. Mit Code Mode schreibt Claude ein Stück JavaScript, das die Tool-Aufrufe ausführt, und Claude Code führt diesen Code in Ihrer Sitzung aus.

10 

11> [!NOTE]

12>

13> Code Mode ist experimentell und standardmäßig ausgeschaltet. Die Funktion kann sich in jeder Version ändern oder entfernt werden. Um Feedback zu geben, führen Sie `/feedback` aus.

14 

15## So funktioniert Code Mode

16 

17In einer Code-Mode-Sitzung beschreiben Sie Ihre Aufgabe weiterhin in einem Prompt, und Claude schreibt JavaScript, um sie auszuführen. Ein Stück Code kann Befehle parallel ausführen, ein Ergebnis im nächsten Aufruf verwenden und den Teil der Ausgabe zurückgeben, den Claude lesen muss.

18 

19Wenn Sie Claude beispielsweise bitten, ein Limit für Wiederholungsversuche zu erhöhen, schreibt Claude möglicherweise diesen Code, um die Datei zu finden, sie zu bearbeiten und die Tests auszuführen. Die letzte Zeile gibt den Pfad der Datei und die Testausgabe an Claude zurück:

20 

21```javascript theme={null}

22const files = await $`rg -l "function retryPolicy" src`.text();

23const target = files.trim().split("\n")[0];

24await edit(target, "maxAttempts: 3", "maxAttempts: 5");

25({ edited: target, tests: $`npm test -- retryPolicy`.nothrow() });

26```

27 

28In der Konversation sehen Sie die Tool-Aufrufe, etwa den Diff der Bearbeitung, aber nicht den Code. Um den Code zu lesen, drücken Sie `Ctrl+O`, um den [Transkript-Viewer](https://code.claude.com/docs/de/interactive-mode.md#transcript-viewer) zu öffnen. Jedes Stück Code erscheint dort als eingeklappte **Code**-Zeile mit einem Hinweis, wie Sie sie ausklappen.

29 

30### Wann Sie Code Mode verwenden sollten

31 

32Probieren Sie Code Mode bei Aufgaben aus, die viele zusammenhängende Tool-Aufrufe erfordern, etwa:

33 

34* Eine Änderung, die sich über viele Dateien wiederholt

35* Eine Suche, deren Ergebnisse gefiltert werden müssen, bevor Claude sie liest

36* Mehrere unabhängige Befehle, die gleichzeitig laufen können

37 

38### Einschränkungen von Code Mode

39 

40Bevor Sie Code Mode einschalten, prüfen Sie, ob Sie diese Einschränkungen akzeptieren können:

41 

42* **Fortsetzen**: Sie können eine Code-Mode-Sitzung nur im Terminal fortsetzen, und nur mit eingeschaltetem Code Mode

43* **Auto-Modus**: Der Klassifikator des Auto-Modus [prüft den Code, nicht jeden einzelnen Tool-Aufruf](#permission-checks)

44* **Lang laufender Code**: Außer wenn [Code im Hintergrund laufen kann](#long-running-code), warten Sie, bis er fertig ist, und er wird nach zehn Minuten beendet

45* **Hooks**: Sie sehen möglicherweise [abgelehnte Tool-Aufrufe](#tool-call-refused-by-a-hook), wenn ein `PreToolUse`-Hook nicht ausgeführt werden kann oder in einen Timeout läuft, und [blockierte Code-Ausgaben](#code-output-withheld-by-a-hook) durch einen `UserPromptSubmit`-Hook

46* **Nicht verfügbare Funktionen**: Sie können [Remote Control](https://code.claude.com/docs/de/remote-control.md), [Claude in Chrome](https://code.claude.com/docs/de/chrome.md) und [Computer Use](https://code.claude.com/docs/de/computer-use.md) nicht verwenden

47* **Verschieben der Sitzung**: Sie können die Sitzung nicht in die Desktop-App verschieben oder in eine [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) umwandeln, und `/fork` kann keine Hintergrundkopie starten

48 

49## Voraussetzungen

50 

51* **Version**: Claude Code v2.1.323 oder neuer, auf einem der beiden [Release-Kanäle](https://code.claude.com/docs/de/setup.md#configure-release-channel). Eine ältere Version startet ohne Code Mode, mit oder ohne den Grund `it isn't open to your account yet`

52* **Konto**: ein Claude-Abonnement oder ein Console-Konto. Sie können Code Mode nicht über ein Gateway, Amazon Bedrock, Claude Platform on AWS, Google Clouds Agent Platform oder Microsoft Foundry verwenden

53* **Organisation**: Ihre Organisation verwendet weder die [HIPAA-Konfiguration](https://code.claude.com/docs/de/hipaa-setup.md) noch [Zero Data Retention](https://code.claude.com/docs/de/zero-data-retention.md)

54* **Modell**: Claude Opus 5.5, Sonnet 5.5, Haiku 5.5 oder Fable 5.2

55* **Oberfläche**: eine interaktive `claude`-Sitzung in einem Terminal. Code Mode funktioniert nicht mit `-p`, dem Agent SDK, dem VS Code-Panel, der Desktop-App oder Cloud-Sitzungen

56* **Installation**: der [native Build](https://code.claude.com/docs/de/setup.md) von Claude Code

57* **Windows**: [Git for Windows](https://git-scm.com/downloads/win) ist installiert

58 

59Sie können Code Mode außerdem nicht starten, wenn bestimmte Einstellungen aktiv sind, etwa ein API-Key-Helper, Agent-Teams, OpenTelemetry-Export oder `DISABLE_TELEMETRY`. Die jeweilige Lösung finden Sie unter [Code Mode startet nicht](#code-mode-doesnt-start).

60 

61## Code Mode ausprobieren

62 

63Schalten Sie Code Mode ein, geben Sie Claude eine Aufgabe und sehen Sie sich den Code an, den Claude geschrieben hat.

64 

65**1. Version prüfen**

66 

67Führen Sie `claude --version` aus. Wenn die Version älter als v2.1.323 ist, führen Sie `claude update` aus. Wenn Sie auf dem Kanal `stable` sind und das Update v2.1.323 nicht erreicht, warten Sie, bis `stable` aufholt, oder [wechseln Sie zu `latest`](https://code.claude.com/docs/de/setup#configure-release-channel).

68 

69**2. Claude Code mit eingeschaltetem Code Mode starten**

70 

71Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_EXPERIMENTAL_CODE_MODE`](https://code.claude.com/docs/de/env-vars#variables) auf `1`. Um Code Mode auszuprobieren, setzen Sie sie in Ihrer Shell. Um Code Mode für jede neue Sitzung einzuschalten, setzen Sie sie in Ihren Benutzereinstellungen.

72 

73> [tab] macOS, Linux, WSL

74>

75> ```bash theme={null}

76> CLAUDE_CODE_EXPERIMENTAL_CODE_MODE=1 claude

77> ```

78 

79> [tab] Windows PowerShell

80>

81> ```powershell theme={null}

82> $env:CLAUDE_CODE_EXPERIMENTAL_CODE_MODE = "1"

83> claude

84> ```

85 

86> [tab] settings.json

87>

88> Speichern Sie diesen `env`-Block in `~/.claude/settings.json` und starten Sie `claude`:

89>

90> ```json theme={null}

91> {

92> "env": {

93> "CLAUDE_CODE_EXPERIMENTAL_CODE_MODE": "1"

94> }

95> }

96> ```

97>

98> Claude Code [ignoriert diese Variable in den Einstellungsdateien eines Projekts](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env), sodass ein Repository, das Sie klonen, Code Mode nicht für Sie einschalten kann.

99 

100**3. Bestätigen, dass Sie Code Mode verwenden möchten**

101 

102Claude Code bittet Sie vor Ihrer ersten Code-Mode-Sitzung um Bestätigung. Wählen Sie **Yes, turn on Code Mode**. Claude Code startet neu und zeigt diese Zeile im oberen Bereich der Sitzung an:

103 

104```text theme={null}

105Code Mode (experimental) is on · this session can be resumed only with Code Mode on

106```

107 

108Wenn Sie eine andere Zeile oder gar keine sehen, lesen Sie [Code Mode startet nicht](#code-mode-doesnt-start).

109 

110**4. Claude eine Aufgabe mit vielen Tool-Aufrufen geben**

111 

112Senden Sie in einem Projekt, das Sie kennen, einen Prompt wie diesen:

113 

114```text theme={null}

115Read every Markdown file in this project and list the links that point to local files that don't exist.

116```

117 

118**5. Den von Claude geschriebenen Code lesen**

119 

120Drücken Sie `Ctrl+O` und klappen Sie eine **Code**-Zeile aus, um das JavaScript hinter den Tool-Aufrufen zu sehen. Drücken Sie erneut `Ctrl+O`, um zur Konversation zurückzukehren.

121 

122> [!WARNING]

123>

124> Um eine Code-Mode-Sitzung später fortzusetzen, lassen Sie `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` auf `1` gesetzt, wenn Sie `claude --continue` oder `claude --resume` ausführen. Bei ausgeschaltetem Code Mode verweigert Claude Code das Fortsetzen der Sitzung. Sitzungen, die Sie ohne Code Mode gestartet haben, werden ohne Code Mode fortgesetzt, auch wenn die Variable gesetzt ist.

125 

126### Code Mode ausschalten

127 

128Entfernen Sie `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` aus Ihrer Shell und aus `~/.claude/settings.json` und starten Sie dann eine neue Sitzung. Sie können die Variable auch beibehalten und ihren Wert an einer der beiden Stellen auf `0` ändern. Mit einer `0` an einer Stelle bleibt Code Mode ausgeschaltet, auch wenn Sie an der anderen `1` setzen.

129 

130### Code Mode für Ihre Organisation blockieren

131 

132Fügen Sie `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` mit dem Wert `0` zu Ihren [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) hinzu, damit niemand in Ihrer Organisation Code Mode verwenden kann:

133 

134```json theme={null}

135{

136 "env": {

137 "CLAUDE_CODE_EXPERIMENTAL_CODE_MODE": "0"

138 }

139}

140```

141 

142Benutzer, die sich in einer Code-Mode-Sitzung befinden, bleiben darin, bis sie Claude Code beenden oder neu starten. Danach starten Ihre Benutzer ohne Code Mode und können ihre Code-Mode-Sitzungen nicht fortsetzen, solange die `0` gesetzt ist. Sie können Code Mode für Ihre Benutzer nicht über verwaltete Einstellungen einschalten.

143 

144## Berechtigungen und lang laufender Code

145 

146Ihr Berechtigungsmodus bestimmt, wie Claudes Code geprüft wird und ob Sie mit Claude sprechen können, während der Code läuft.

147 

148### Berechtigungsprüfungen

149 

150Jeder Tool-Aufruf, den Claudes Code ausführt, durchläuft Ihre `deny`- und `ask`-[Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md) sowie Ihre [`PreToolUse`-Hooks](https://code.claude.com/docs/de/hooks#pretooluse). Sie müssen keine Regel und keinen Matcher für ein Tool wie `Bash` ändern. Über Regeln und Hooks hinaus prüft im Auto-Modus ein Klassifikator den Code, und in den Modi, die nachfragen, beantworten Sie Berechtigungsabfragen:

151 

152* **[Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode)**: Der Klassifikator prüft jedes Stück Code, bevor es ausgeführt wird, nicht jeden einzelnen Tool-Aufruf. Er sieht keine zur Laufzeit berechneten Werte, etwa einen Pfad aus einer Suchausgabe. Behalten Sie daher Regeln oder Hooks für Aufrufe bei, die Sie kontrollieren müssen. Sie können weiterhin [Abfragen erhalten, wenn neuer Code startet, während früherer Code läuft](#permission-prompt-with-a-countdown)

153* **Andere [Berechtigungsmodi](https://code.claude.com/docs/de/permission-modes.md)**: Der Code startet ohne Prüfung, und Sie werden bei jedem Tool-Aufruf gefragt, bei dem Sie in diesem Modus gefragt würden

154 

155Um den Code selbst zu prüfen, schreiben Sie einen `PreToolUse`-Hook, der auf `REPL` passt, das Tool, das Claudes Code ausführt, und lesen Sie das JavaScript aus `tool_input.code`.

156 

157> [!WARNING]

158>

159> Bash-Regeln gleichen Befehlstext ab, sodass Claude einen abgelehnten Befehl [in einer Form ausführen kann, auf die die Regel nicht passt](https://code.claude.com/docs/de/permissions.md#bash-rule-limits), mit oder ohne Code Mode. Für Einschränkungen, die nicht vom Befehlstext abhängen, siehe [Sandboxing](https://code.claude.com/docs/de/sandboxing.md).

160 

161### Lang laufender Code

162 

163Während Code einen langen Build oder Test ausführt, wartet Claude entweder darauf oder lässt ihn im Hintergrund weiterlaufen:

164 

165* **Warten**: Claude antwortet, nachdem der Code fertig ist, und der Code wird nach zehn Minuten beendet, einschließlich der Zeit, die Sie bei Berechtigungsabfragen verbringen

166* **Hintergrund**: Sie können weiter mit Claude sprechen, und der Code kann bis zu zwei Stunden laufen

167 

168Für Code im Hintergrund starten Sie Ihre Sitzung im Auto-Modus oder im `bypassPermissions`-Modus. Wenn Claude trotzdem wartet, prüfen Sie Ihren aktuellen Modus und wie Sie die Sitzung gestartet haben:

169 

170* **Sie haben in einen anderen Modus gewechselt**: Drücken Sie `Shift+Tab`, bis Sie wieder in dem Modus sind, in dem Sie gestartet haben

171* **Sie haben in einem anderen Modus gestartet oder die Sitzung aus der Liste von `claude --resume` ausgewählt**: Wenn [der Auto-Modus für Sie verfügbar ist](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode), beenden Sie die Sitzung und führen Sie dann `claude --continue --permission-mode auto` mit eingeschaltetem Code Mode aus

172* **Sie haben Tool-Namen an `--tools` übergeben**: Starten Sie erneut im Auto-Modus ohne dieses Flag

173 

174## Fehlerbehebung

175 

176### Code Mode startet nicht

177 

178`Code Mode (experimental) isn't available` im oberen Bereich der Sitzung bedeutet, dass Claude Code ohne Code Mode gestartet ist. Der Grund folgt in derselben Zeile, und `/status` zeigt ihn ebenfalls an. Suchen Sie den Grund in dieser Tabelle, nehmen Sie die Änderung vor und starten Sie eine neue Sitzung. Bei einem Grund, der nicht aufgeführt ist, prüfen Sie die [Voraussetzungen](#requirements).

179 

180| Grund enthält | Vorgehen |

181| :- | :- |

182| `it isn't open to your account yet` | Wenn Ihre Version älter als v2.1.323 ist, [aktualisieren Sie](#try-code-mode). Andernfalls prüfen Sie Ihre Netzwerkverbindung und starten Sie erneut. Wenn der Grund bestehen bleibt, versuchen Sie es an einem anderen Tag erneut |

183| `it only works with the Anthropic API` | Entfernen Sie die Einstellungen, die Anfragen über einen Cloud-Anbieter, ein Gateway oder eine benutzerdefinierte `ANTHROPIC_BASE_URL` leiten |

184| `it doesn't work with an API key helper` | Entfernen Sie `apiKeyHelper`, `ANTHROPIC_AUTH_TOKEN` sowie jeden `Authorization`- oder `X-Api-Key`-Header in `ANTHROPIC_CUSTOM_HEADERS`. Melden Sie sich dann an oder setzen Sie `ANTHROPIC_API_KEY` |

185| `it only works with Opus 5.5, Sonnet 5.5 and later models` | Starten Sie mit einem [unterstützten Modell](#requirements), zum Beispiel mit `--model opus`. Haiku 5.5 und Fable 5.2 funktionieren ebenfalls |

186| `it doesn't work in background jobs` | Starten Sie im Vordergrund, ohne `--remote-control` |

187| `it needs settings that Claude Code downloads from Anthropic` | Entfernen Sie die Variable, die [das Abrufen von Feature-Flags ausschaltet](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), etwa `DISABLE_TELEMETRY` |

188| `OpenTelemetry is on` | Entfernen Sie `CLAUDE_CODE_ENABLE_TELEMETRY` und `ENABLE_BETA_TRACING_DETAILED`, wenn Sie ohne [OpenTelemetry-Export](https://code.claude.com/docs/de/monitoring-usage.md) arbeiten können |

189| `it doesn't yet work with an installed mod` | Schalten Sie den [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) aus, der Tool-Aufrufe prüft |

190| `it can't be used together with agent teams yet` | Entfernen Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` |

191| `this launch's tool options` | Starten Sie ohne `--restricted`, fügen Sie `REPL` zu `--tools` hinzu und entfernen Sie `REPL` aus `--disallowedTools` und Ihren `deny`-Regeln |

192| `couldn't save your answer` | Machen Sie `~/.claude.json` beschreibbar |

193| `your organization's settings don't allow it` | Fragen Sie Ihren Administrator nach der [verwalteten Einstellung](#block-code-mode-for-your-organization) |

194 

195Wenn Sie keine Zeile zu Code Mode sehen, führen Sie `claude --version` aus. Wenn Ihre Version älter als v2.1.323 ist, aktualisieren Sie. Prüfen Sie dann, ob `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` in Ihrer Shell oder Ihren Benutzereinstellungen auf `1` gesetzt ist, und entfernen Sie jede `0` daraus sowie aus jeder `--settings`-Datei.

196 

197### Berechtigungsabfrage mit Countdown

198 

199Wenn Claude im Auto-Modus weiteren Code startet, während früherer Code noch läuft, verliert der frühere Code seine Prüfung durch den Klassifikator. Claude Code fragt Sie dann nach den verbleibenden Aufrufen des früheren Codes, die eine Prüfung benötigen würden. Wenn keine IDE verbunden ist, zeigt die Abfrage einen Countdown an:

200 

201```text theme={null}

202Claude Code will automatically block this request in 1:59, to avoid holding up an unattended session

203```

204 

205Antworten Sie, bevor der Countdown abläuft. Andernfalls wird dieser Aufruf abgelehnt, und spätere Aufrufe, die einen Countdown anzeigen würden, werden ohne Abfrage abgelehnt. Um die Abfragen wieder zu sehen, senden Sie Claude eine Nachricht.

206 

207### Tool-Aufruf durch einen Hook abgelehnt

208 

209Wenn Claude einen abgelehnten Tool-Aufruf meldet, fragen Sie nach dem Fehlertext. Diese Fehler bedeuten, dass ein `PreToolUse`-Hook keine Entscheidung geliefert hat, wodurch der Aufruf abgelehnt wird, auch wenn [`onFailure`](https://code.claude.com/docs/de/hooks#block-the-action-when-a-hook-fails) nicht gesetzt ist:

210 

211* **`the hook failed`**: Bei einem Aufruf aus Claudes Code konnte Ihr Hook nicht starten, wurde beendet, endete mit 126, 127 oder einem Code über 128 oder gab einen HTTP-Fehler oder eine ungültige Ausgabe zurück. Beheben Sie den Fehler im Hook

212* **`the hook did not finish`**: Ihr Hook ist bei einem Aufruf aus Claudes Code in einen Timeout gelaufen, oder bei einem beliebigen anderen Tool-Aufruf, nachdem Claude in der Sitzung Code ausgeführt hat. Erhöhen Sie den [`timeout`](https://code.claude.com/docs/de/hooks#common-fields) des Hooks

213 

214Damit Aufrufe ausgeführt werden, wenn ein `command`- oder `http`-Hook fehlschlägt oder in einen Timeout läuft, setzen Sie `"onFailure": "continue"` für diesen Hook. Wenn ein `command`-Hook mit einem gewöhnlichen Code wie 1 endet, wird der Aufruf ausgeführt, außer Sie setzen `"onFailure": "block"`.

215 

216### Code-Ausgabe durch einen Hook zurückgehalten

217 

218Wenn Claude den Blockierungsgrund eines Hooks meldet, wo Sie eine Ausgabe von Claudes Code erwartet haben, prüfen Sie Ihre [`UserPromptSubmit`](https://code.claude.com/docs/de/hooks#userpromptsubmit)-Hooks. Wenn [Code im Hintergrund laufen kann](#long-running-code), werden `command`-, `http`- und `mcp_tool`-Hooks für dieses Ereignis auch bei Code-Ausgaben ausgeführt. Um die Ausgabe durchzulassen, ändern Sie den Hook so, dass er nicht blockiert, wenn `source` in seiner Eingabe `poll_event` ist.

219 

220## Verwandte Ressourcen

221 

222* [Berechtigungsmodi](https://code.claude.com/docs/de/permission-modes.md): Vergleichen Sie den Auto-Modus mit den Modi, die nachfragen

223* [Hooks-Referenz](https://code.claude.com/docs/de/hooks.md): Schreiben Sie `PreToolUse`- und `UserPromptSubmit`-Hooks

224* [Verwaltete Einstellungen](https://code.claude.com/docs/de/managed-settings.md): Wenden Sie eine Konfiguration in einer ganzen Organisation an

commands.md +3 −5

Details

35Die folgende Tabelle listet alle in Claude Code enthaltenen Befehle auf. Die meisten sind integrierte Befehle, deren Verhalten in der CLI implementiert ist. Zwei Arten von Einträgen sind gekennzeichnet:35Die folgende Tabelle listet alle in Claude Code enthaltenen Befehle auf. Die meisten sind integrierte Befehle, deren Verhalten in der CLI implementiert ist. Zwei Arten von Einträgen sind gekennzeichnet:

36 36 

37* **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills)**: ein mitgelieferter Skill. Er funktioniert wie Skills, die Sie selbst schreiben: ein Prompt, der an Claude übergeben wird.37* **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills)**: ein mitgelieferter Skill. Er funktioniert wie Skills, die Sie selbst schreiben: ein Prompt, der an Claude übergeben wird.

38 * `/verify` wird nur ausgeführt, wenn Sie ihn aufrufen.

39* **[Workflow](https://code.claude.com/docs/de/workflows.md#bundled-workflows)**: ein mitgelieferter [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md), der Arbeit auf viele Subagenten verteilt und im Hintergrund läuft.38* **[Workflow](https://code.claude.com/docs/de/workflows.md#bundled-workflows)**: ein mitgelieferter [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md), der Arbeit auf viele Subagenten verteilt und im Hintergrund läuft.

40 * `/deep-research` wird nur ausgeführt, wenn Sie ihn aufrufen.

41 39 

42Um eigene Befehle hinzuzufügen, siehe [Skills](https://code.claude.com/docs/de/skills.md).40Um eigene Befehle hinzuzufügen, siehe [Skills](https://code.claude.com/docs/de/skills.md).

43 41 


149| `/stats` | Alias für `/usage`. Öffnet sich auf dem Tab Stats |147| `/stats` | Alias für `/usage`. Öffnet sich auf dem Tab Stats |

150| `/status` | Öffnet die Einstellungsoberfläche auf dem Tab Status und zeigt Version, Modell, Konto und Konnektivität. Eine Zeile `Session kind` lautet in einer [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) `background job · attached` oder `background job · unattended`, je nachdem, ob ein Terminal angehängt ist, und in jeder anderen Sitzung `interactive`. Vor v2.1.221 zeigte `/status` diese Zeile nicht an. Funktioniert, während Claude antwortet |148| `/status` | Öffnet die Einstellungsoberfläche auf dem Tab Status und zeigt Version, Modell, Konto und Konnektivität. Eine Zeile `Session kind` lautet in einer [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) `background job · attached` oder `background job · unattended`, je nachdem, ob ein Terminal angehängt ist, und in jeder anderen Sitzung `interactive`. Vor v2.1.221 zeigte `/status` diese Zeile nicht an. Funktioniert, während Claude antwortet |

151| `/statusline` | Konfiguriert die [Statuszeile](https://code.claude.com/docs/de/statusline.md) von Claude Code. Beschreiben Sie, was Sie möchten, oder führen Sie den Befehl ohne Argumente aus, um sie automatisch anhand Ihres Shell-Prompts zu konfigurieren |149| `/statusline` | Konfiguriert die [Statuszeile](https://code.claude.com/docs/de/statusline.md) von Claude Code. Beschreiben Sie, was Sie möchten, oder führen Sie den Befehl ohne Argumente aus, um sie automatisch anhand Ihres Shell-Prompts zu konfigurieren |

152| `/stickers` | Bestellen Sie Claude Code-Sticker |150| `/stickers` | Prüft die Verfügbarkeit von Claude Code-Stickern |

153| `/stop` | Stoppt die [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md), an die Sie angehängt sind, oder diejenige, an die Sie den Befehl als [Peek-Antwort](https://code.claude.com/docs/de/agent-view.md#peek-and-reply) senden; das Transkript und ein eventueller Worktree bleiben erhalten. Um die Verbindung zu trennen, ohne zu stoppen, verwenden Sie `/exit` oder drücken Sie `←` |151| `/stop` | Stoppt die [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md), an die Sie angehängt sind, oder diejenige, an die Sie den Befehl als [Peek-Antwort](https://code.claude.com/docs/de/agent-view.md#peek-and-reply) senden; das Transkript und ein eventueller Worktree bleiben erhalten. Um die Verbindung zu trennen, ohne zu stoppen, verwenden Sie `/exit` oder drücken Sie `←` |

154| `/subtask <task>` | Startet einen [geforkten Subagenten](https://code.claude.com/docs/de/sub-agents.md#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 in diese Konversation zurück, wenn er fertig ist. Um die Konversation stattdessen in eine separate Hintergrundsitzung zu kopieren, verwenden Sie `/fork`. Wenn [die Agent-Ansicht deaktiviert ist](https://code.claude.com/docs/de/agent-view.md#turn-off-agent-view), ist `/subtask` nicht verfügbar, und `/fork` startet stattdessen den geforkten Subagenten |152| `/subtask <task>` | Startet einen [geforkten Subagenten](https://code.claude.com/docs/de/sub-agents.md#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 in diese Konversation zurück, wenn er fertig ist. Um die Konversation stattdessen in eine separate Hintergrundsitzung zu kopieren, verwenden Sie `/fork`. Wenn [die Agent-Ansicht deaktiviert ist](https://code.claude.com/docs/de/agent-view.md#turn-off-agent-view), ist `/subtask` nicht verfügbar, und `/fork` startet stattdessen den geforkten Subagenten |

155| `/tasks` | Zeigt Hintergrundarbeit in der aktuellen Sitzung an und verwaltet sie, einschließlich bereits abgeschlossener Subagenten. Auch als `/bashes` verfügbar |153| `/tasks` | Zeigt Hintergrundarbeit in der aktuellen Sitzung an und verwaltet sie, einschließlich bereits abgeschlossener Subagenten. Auch als `/bashes` verfügbar |


161| `/ultraplan <prompt>` | Entfernt. Verwenden Sie stattdessen den [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode). Sendete zuvor eine Planungsaufgabe an eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) zur Prüfung in Ihrem Browser |159| `/ultraplan <prompt>` | Entfernt. Verwenden Sie stattdessen den [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode). Sendete zuvor eine Planungsaufgabe an eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) zur Prüfung in Ihrem Browser |

162| `/ultrareview [PR or branch]` | Führt mit [ultrareview](https://code.claude.com/docs/de/ultrareview.md) ein tiefgehendes Multi-Agenten-Code-Review in einer Cloud-Sandbox aus. Übergeben Sie eine PR-Referenz, um diesen Pull Request zu prüfen, oder einen Basis-Branch oder Commit, um die Vergleichsbasis zu ändern. Der bevorzugte Aufruf ist `/code-review ultra`, und `/ultrareview` ist ein Alias. Enthält 3 kostenlose Durchläufe bei Pro, Max und Ultra, danach ist [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) erforderlich |160| `/ultrareview [PR or branch]` | Führt mit [ultrareview](https://code.claude.com/docs/de/ultrareview.md) ein tiefgehendes Multi-Agenten-Code-Review in einer Cloud-Sandbox aus. Übergeben Sie eine PR-Referenz, um diesen Pull Request zu prüfen, oder einen Basis-Branch oder Commit, um die Vergleichsbasis zu ändern. Der bevorzugte Aufruf ist `/code-review ultra`, und `/ultrareview` ist ein Alias. Enthält 3 kostenlose Durchläufe bei Pro, Max und Ultra, danach ist [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) erforderlich |

163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Beschreiben Sie eine Einstellungsänderung, etwa das Erlauben eines Befehls, das Setzen einer Umgebungsvariable oder das Hinzufügen eines [Hooks](https://code.claude.com/docs/de/hooks.md), und Claude bearbeitet die passende [`settings.json`](https://code.claude.com/docs/de/settings)-Datei. Für Optionen wie Theme und Modell verwenden Sie stattdessen `/config` |161| `/update-config [request]` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Beschreiben Sie eine Einstellungsänderung, etwa das Erlauben eines Befehls, das Setzen einer Umgebungsvariable oder das Hinzufügen eines [Hooks](https://code.claude.com/docs/de/hooks.md), und Claude bearbeitet die passende [`settings.json`](https://code.claude.com/docs/de/settings)-Datei. Für Optionen wie Theme und Modell verwenden Sie stattdessen `/config` |

164| `/upgrade` | Öffnet die Upgrade-Seite in Ihrem Browser, um zu einem höheren Plan zu wechseln. Wenn sich der Browser nicht öffnen lässt, zeigt der Befehl eine Anmeldeaufforderung an, ohne die URL auszugeben |162| `/upgrade` | Öffnet die Upgrade-Seite in Ihrem Browser, um zu einem höheren Plan zu wechseln. Wenn kein Browser die Seite öffnen kann, zum Beispiel über SSH, gibt der Befehl die URL der Seite oberhalb seiner Anmeldeaufforderung aus. Die Ausgabe der URL erfordert Claude Code v2.1.323 oder höher |

165| `/usage` | Zeigt Sitzungskosten, Nutzungslimits des Plans und Aktivitätsstatistiken an. Bei einem Pro-, Max-, Ultra-, Team- oder Enterprise-Plan ist eine [Aufschlüsselung dessen enthalten, was auf Ihre Planlimits angerechnet wird](https://code.claude.com/docs/de/costs.md#plan-usage-breakdown). Hinter einem Claude-Apps-Gateway, das Ausgaben erfasst, wird [Ihr Verbrauch über das Gateway](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code) angezeigt. `/cost` und `/stats` sind Aliase |163| `/usage` | Zeigt Sitzungskosten, Nutzungslimits des Plans und Aktivitätsstatistiken an. Bei einem Pro-, Max-, Ultra-, Team- oder Enterprise-Plan ist eine [Aufschlüsselung dessen enthalten, was auf Ihre Planlimits angerechnet wird](https://code.claude.com/docs/de/costs.md#plan-usage-breakdown). Hinter einem Claude-Apps-Gateway, das Ausgaben erfasst, wird [Ihr Verbrauch über das Gateway](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code) angezeigt. `/cost` und `/stats` sind Aliase |

166| `/usage-credits` | Konfiguriert Nutzungsguthaben oder fordert es bei Ihrem Admin an, wenn Sie ein Limit erreichen. Öffnet Ihre [Abrechnungseinstellungen für Nutzungsguthaben](https://code.claude.com/docs/de/costs.md#add-usage-credits-to-your-subscription) im Browser; Team- und Enterprise-Mitglieder ohne Abrechnungszugriff senden stattdessen über die CLI eine Anfrage für Nutzungsguthaben an ihren Admin, nachdem sie in einem Dialog bestätigt haben, dass die Anfrage ihre Admins benachrichtigt. Wenn kein Browser die Abrechnungsseite öffnen kann, zum Beispiel über SSH, gibt der Befehl stattdessen die aufzurufende URL aus; dies erfordert Claude Code v2.1.205 oder höher, und frühere Versionen zeigten in diesem Fall nichts an. Früher `/extra-usage` |164| `/usage-credits` | Konfiguriert Nutzungsguthaben oder fordert es bei Ihrem Admin an, wenn Sie ein Limit erreichen. Öffnet Ihre [Abrechnungseinstellungen für Nutzungsguthaben](https://code.claude.com/docs/de/costs.md#add-usage-credits-to-your-subscription) im Browser. Team- und Enterprise-Mitglieder ohne Abrechnungszugriff senden stattdessen über die CLI eine Anfrage für Nutzungsguthaben an ihren Admin. An einem Terminal, an dem kein Browser die Seite öffnen kann, zum Beispiel über SSH, gibt der Befehl die URL aus. Die Ausgabe erfordert Claude Code v2.1.205 oder höher. Früher `/extra-usage` |

167| `/verify` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Bestätigt, dass eine Codeänderung das tut, was sie soll, indem die App Ihres Projekts gebaut und ausgeführt und das Ergebnis beobachtet wird, statt sich auf Tests oder Typprüfungen zu verlassen. Siehe [App ausführen und verifizieren](https://code.claude.com/docs/de/skills.md#run-and-verify-your-app) |165| `/verify` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Bestätigt, dass eine Codeänderung das tut, was sie soll, indem die App Ihres Projekts gebaut und ausgeführt und das Ergebnis beobachtet wird, statt sich auf Tests oder Typprüfungen zu verlassen. Siehe [App ausführen und verifizieren](https://code.claude.com/docs/de/skills.md#run-and-verify-your-app) |

168| `/vim` | In v2.1.92 entfernt. Um zwischen den Bearbeitungsmodi Vim und Normal umzuschalten, verwenden Sie `/config` → Editor mode |166| `/vim` | In v2.1.92 entfernt. Um zwischen den Bearbeitungsmodi Vim und Normal umzuschalten, verwenden Sie `/config` → Editor mode |

169| `/voice [hold\|tap\|off]` | Schaltet das [Sprachdiktat](https://code.claude.com/docs/de/voice-dictation.md) um oder aktiviert es in einem bestimmten Modus. Erfordert ein Claude.ai-Konto |167| `/voice [hold\|tap\|off]` | Schaltet das [Sprachdiktat](https://code.claude.com/docs/de/voice-dictation.md) um oder aktiviert es in einem bestimmten Modus. Erfordert ein Claude.ai-Konto |

desktop.md +0 −4

Details

2261 2261 

2262Die Desktop-App lädt MCP-Server aus `claude_desktop_config.json` in lokale Code-Tab-Sitzungen, zusammen mit Servern aus `~/.claude.json` und `.mcp.json`. Ein Server, der in `claude_desktop_config.json` definiert ist, ist sowohl auf der Desktop-Chat-Oberfläche als auch auf lokalen Code-Tab-Sitzungen verfügbar.2262Die Desktop-App lädt MCP-Server aus `claude_desktop_config.json` in lokale Code-Tab-Sitzungen, zusammen mit Servern aus `~/.claude.json` und `.mcp.json`. Ein Server, der in `claude_desktop_config.json` definiert ist, ist sowohl auf der Desktop-Chat-Oberfläche als auch auf lokalen Code-Tab-Sitzungen verfügbar.

2263 2263 

2264Wenn Sie denselben Servernamen in `claude_desktop_config.json` und in `~/.claude.json` oder `.mcp.json` definieren, verbindet sich die Code-Registerkarte in lokalen Sitzungen einmal und verwendet die `claude_desktop_config.json`-Definition.

2265 

2266Die App liefert auch stdio-Server aus `~/.claude.json` an die eingebettete CLI in lokalen Sitzungen erneut. Wenn die oberste Ebene von `~/.claude.json` (Benutzerbereich) und `.mcp.json` denselben stdio-Servernamen definieren, verwendet die Code-Registerkarte die `~/.claude.json`-Definition und weicht von der CLI [Bereichshierarchie](https://code.claude.com/docs/de/mcp.md#scope-hierarchy-and-precedence) ab.

2267 

2268> [!NOTE]2264> [!NOTE]

2269>2265>

2270> Die eigenständige CLI liest `claude_desktop_config.json` nicht. Führen Sie auf macOS und WSL `claude mcp add-from-claude-desktop` aus, um diese Server in `~/.claude.json` zu kopieren. Siehe [MCP-Server aus Claude Desktop importieren](https://code.claude.com/docs/de/mcp.md#import-mcp-servers-from-claude-desktop) für den Importablauf und Bereichsoptionen.2266> Die eigenständige CLI liest `claude_desktop_config.json` nicht. Führen Sie auf macOS und WSL `claude mcp add-from-claude-desktop` aus, um diese Server in `~/.claude.json` zu kopieren. Siehe [MCP-Server aus Claude Desktop importieren](https://code.claude.com/docs/de/mcp.md#import-mcp-servers-from-claude-desktop) für den Importablauf und Bereichsoptionen.

Details

71 71 

72Starten Sie **Claude** über Ihren Anwendungsstarter oder führen Sie `claude-desktop` von einem Terminal aus aus und melden Sie sich mit Ihrem Anthropic-Konto an.72Starten Sie **Claude** über Ihren Anwendungsstarter oder führen Sie `claude-desktop` von einem Terminal aus aus und melden Sie sich mit Ihrem Anthropic-Konto an.

73 73 

74Die Linux-App meldet sich auf die gleiche Weise an wie auf macOS und Windows: mit einem claude.ai-Abonnement oder über das SSO Ihrer Organisation. Verwenden Sie für die API-Schlüssel-Authentifizierung die [CLI](https://code.claude.com/docs/de/quickstart.md). Um Desktop stattdessen mit Amazon Bedrock, der Agent Platform von Google Cloud, Microsoft Foundry oder einem LLM-Gateway zu verwenden, siehe [Claude Desktop auf 3P](https://claude.com/docs/third-party/claude-desktop/overview). Informationen zu Proxyservern und benutzerdefinierten Zertifizierungsstellen in diesen Bereitstellungen finden Sie unter [Netzwerkkonfiguration](https://code.claude.com/docs/de/network-config.md).74Die Linux-App meldet sich auf die gleiche Weise an wie auf macOS und Windows: mit einem claude.ai-Abonnement oder über das SSO Ihrer Organisation. Um Desktop stattdessen mit einem Claude-API-Schlüssel, Amazon Bedrock, der Agent Platform von Google Cloud, Microsoft Foundry oder einem LLM-Gateway zu verwenden, siehe [Claude Desktop auf 3P](https://claude.com/docs/third-party/claude-desktop/overview). Informationen zu Proxyservern und benutzerdefinierten Zertifizierungsstellen in diesen Bereitstellungen finden Sie unter [Netzwerkkonfiguration](https://code.claude.com/docs/de/network-config.md).

75 75 

76### Installation aus einer heruntergeladenen Datei76### Installation aus einer heruntergeladenen Datei

77 77 

Details

83 83 

84**8. Berechtigungsmodus und Modell auswählen**84**8. Berechtigungsmodus und Modell auswählen**

85 85 

86Wählen Sie in der Symbolleiste des Anweisungsfelds einen [Berechtigungsmodus](#permissions-for-scheduled-tasks) und ein Modell aus. Wenn Sie diese unverändert lassen, verwenden Ausführungen Ihre Claude Code-Einstellungen und das Standardmodell.86Wählen Sie in der Symbolleiste des Anweisungsfelds einen [Berechtigungsmodus](#permissions-for-scheduled-tasks) und ein Modell aus.

87 

88* **Berechtigungsmodus**: Wenn Sie ihn unverändert lassen, verwenden Ausführungen Ihre Claude Code-Einstellungen.

89* **Modell**: Wenn im Modellmenü **Standard · Vom Admin festgelegt** steht und Sie kein anderes Modell auswählen, verwenden Ausführungen das Modell, das Ihre Organisation in den [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) festgelegt hat. Eine [Nachholausführung](#missed-runs), die beim Öffnen der App startet, kann stattdessen den [Laufzeitstandard für Ihr Konto](https://code.claude.com/docs/de/model-config.md#default-model-setting) verwenden.

87 90 

88**9. Aufgabe erstellen**91**9. Aufgabe erstellen**

89 92 

90Klicken Sie auf **Erstellen**. Wenn Sie dem Ordner noch nicht vertraut haben, fordert Desktop Sie an dieser Stelle auf, ihm zu vertrauen. Die Detailseite der Aufgabe wird geöffnet.93Klicken Sie auf **Erstellen**. Wenn Sie dem Ordner noch nicht vertraut haben, fordert Desktop Sie an dieser Stelle auf, ihm zu vertrauen. Die Detailseite der Aufgabe wird geöffnet.

91 94 

95Um zu sehen, für welches Modell **Standard · Vom Admin festgelegt** steht, klicken Sie auf der Detailseite auf **Jetzt ausführen**, um die Aufgabe sofort auszuführen. [Öffnen Sie dann die Sitzung der Ausführung](#find-a-runs-session), in der die Zeile unter dem Eingabefeld den Namen des Modells anzeigt.

96 

92Klicken Sie auf der Detailseite auf das Stiftsymbol, um das [**Bearbeiten**-Formular](#manage-scheduled-tasks) zu öffnen. Dort können Sie die **Beschreibung** ändern, die Desktop aus Ihren Anweisungen ausgefüllt hat, **Worktree** auswählen oder den Zeitplan auf **Manuell** oder **Benutzerdefiniert** umstellen.97Klicken Sie auf der Detailseite auf das Stiftsymbol, um das [**Bearbeiten**-Formular](#manage-scheduled-tasks) zu öffnen. Dort können Sie die **Beschreibung** ändern, die Desktop aus Ihren Anweisungen ausgefüllt hat, **Worktree** auswählen oder den Zeitplan auf **Manuell** oder **Benutzerdefiniert** umstellen.

93 98 

94Sie können auch eine Aufgabe erstellen, indem Sie in einer beliebigen Sitzung beschreiben, was Sie möchten. Zum Beispiel erstellt „Richten Sie ein tägliches Code-Review ein, das jeden Morgen um 9 Uhr ausgeführt wird“ eine wiederkehrende Aufgabe. Eine Anfrage wie „Erinnern Sie mich morgen um 15 Uhr, die Bereitstellung zu überprüfen“ erstellt eine einmalige Aufgabe, die sich nach der Ausführung selbst deaktiviert.99Sie können auch eine Aufgabe erstellen, indem Sie in einer beliebigen Sitzung beschreiben, was Sie möchten. Zum Beispiel erstellt „Richten Sie ein tägliches Code-Review ein, das jeden Morgen um 9 Uhr ausgeführt wird“ eine wiederkehrende Aufgabe. Eine Anfrage wie „Erinnern Sie mich morgen um 15 Uhr, die Bereitstellung zu überprüfen“ erstellt eine einmalige Aufgabe, die sich nach der Ausführung selbst deaktiviert.


181 186 

182Damit eine Aufgabe ihren eigenen Zeitplan oder Prompt mit dem MCP-Tool `update_scheduled_task` ändern kann, klicken Sie auf **Jetzt ausführen** und genehmigen Sie den Aufruf jedes Mal.187Damit eine Aufgabe ihren eigenen Zeitplan oder Prompt mit dem MCP-Tool `update_scheduled_task` ändern kann, klicken Sie auf **Jetzt ausführen** und genehmigen Sie den Aufruf jedes Mal.

183 188 

184Um die Eingabeaufforderung einer Aufgabe auf der Festplatte zu bearbeiten, öffnen Sie `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (oder unter [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars), falls gesetzt). Die Datei verwendet YAML-Frontmatter für `name` und `description`, mit der Eingabeaufforderung als Text. Änderungen werden bei der nächsten Ausführung wirksam. Zeitplan, Ordner, Modell und aktivierter Status befinden sich nicht in dieser Datei: Ändern Sie sie über das Bearbeitungsformular oder bitten Sie Claude.189Um den Prompt einer Aufgabe auf der Festplatte zu bearbeiten, öffnen Sie `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (oder unter [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars), falls gesetzt). Die Datei verwendet YAML-Frontmatter für `name` und `description`, mit dem Prompt als Text. Änderungen werden bei der nächsten Ausführung wirksam. Zeitplan, Ordner und aktivierter Status befinden sich nicht in dieser Datei: Ändern Sie sie über das Bearbeitungsformular oder bitten Sie Claude.

185 190 

186## Verwandte Ressourcen191## Verwandte Ressourcen

187 192 

env-vars.md +7 −3

Details

211| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreibt die automatische [IDE-Verbindung](https://code.claude.com/docs/de/vs-code.md). Standardmäßig verbindet sich Claude Code automatisch, wenn es im integrierten Terminal einer unterstützten IDE gestartet wird. Setzen Sie `false`, um dies zu verhindern. Setzen Sie `true`, um einen Verbindungsversuch zu erzwingen, wenn die automatische Erkennung fehlschlägt, etwa wenn tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der globalen Konfigurationseinstellung [`autoConnectIde`](https://code.claude.com/docs/de/settings-reference#autoconnectide) |211| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreibt die automatische [IDE-Verbindung](https://code.claude.com/docs/de/vs-code.md). Standardmäßig verbindet sich Claude Code automatisch, wenn es im integrierten Terminal einer unterstützten IDE gestartet wird. Setzen Sie `false`, um dies zu verhindern. Setzen Sie `true`, um einen Verbindungsversuch zu erzwingen, wenn die automatische Erkennung fehlschlägt, etwa wenn tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der globalen Konfigurationseinstellung [`autoConnectIde`](https://code.claude.com/docs/de/settings-reference#autoconnectide) |

212| `CLAUDE_CODE_AUTO_MODE_MODEL` | Legt das Modell für die Klassifikator-Anfragen fest, die Claude Code im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) sendet. Verwenden Sie eine vollständige Modell-ID wie `claude-sonnet-4-6`. Für die Fälle, in denen Claude Code sie ignoriert, siehe [Klassifikatormodell auswählen](https://code.claude.com/docs/de/permission-modes.md#choose-the-classifier-model). Erfordert Claude Code v2.1.302 oder höher |212| `CLAUDE_CODE_AUTO_MODE_MODEL` | Legt das Modell für die Klassifikator-Anfragen fest, die Claude Code im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) sendet. Verwenden Sie eine vollständige Modell-ID wie `claude-sonnet-4-6`. Für die Fälle, in denen Claude Code sie ignoriert, siehe [Klassifikatormodell auswählen](https://code.claude.com/docs/de/permission-modes.md#choose-the-classifier-model). Erfordert Claude Code v2.1.302 oder höher |

213| `CLAUDE_CODE_AUTO_MODE_SERVER` | Steuert, ob Claude Code den Server bittet, [Aktionen im Auto-Modus zu prüfen](https://code.claude.com/docs/de/permission-modes.md#server-side-classifier-review). Setzen Sie `0`, um stattdessen die eigenen Klassifikator-Anfragen von Claude Code zu verwenden. Erfordert bei einer direkten Verbindung zur Anthropic-API v2.1.281 oder höher. Der verlinkte Abschnitt listet auf, welche Sitzungen den Server anfragen, wenn die Variable nicht gesetzt ist, und ab welcher Version. Erfordert Claude Code v2.1.271 oder höher |213| `CLAUDE_CODE_AUTO_MODE_SERVER` | Steuert, ob Claude Code den Server bittet, [Aktionen im Auto-Modus zu prüfen](https://code.claude.com/docs/de/permission-modes.md#server-side-classifier-review). Setzen Sie `0`, um stattdessen die eigenen Klassifikator-Anfragen von Claude Code zu verwenden. Erfordert bei einer direkten Verbindung zur Anthropic-API v2.1.281 oder höher. Der verlinkte Abschnitt listet auf, welche Sitzungen den Server anfragen, wenn die Variable nicht gesetzt ist, und ab welcher Version. Erfordert Claude Code v2.1.271 oder höher |

214| `CLAUDE_CODE_AUTOMOUNT_ROOTS` | Automount-Stammordner, die Claude Code überspringen soll, wenn es in den Ordnern oberhalb Ihres Arbeitsverzeichnisses nach Dateien wie `CLAUDE.md`, Skills und `.mcp.json` sucht. Setzen Sie diese Variable, wenn diese Suchvorgänge auf Ihren Automounter warten. Trennen Sie mehrere Pfade unter Unix mit `:` oder unter Windows mit `;` und geben Sie jeden als absoluten Pfad ohne Symlink an. Erfordert Claude Code v2.1.323 oder höher |

214| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Zeit in Millisekunden, die Claude Code darauf wartet, dass die AWS-Standardkette der Anmeldedatenanbieter Anmeldedaten liefert, bevor die Anfrage mit [`AWS default-chain credential resolve timed out`](https://code.claude.com/docs/de/errors#aws-default-chain-credential-resolve-timed-out) fehlschlägt (Standard: `60000`). Erhöhen Sie den Wert, wenn ein Schritt in Ihrer Kette berechtigterweise länger braucht, etwa eine browserbasierte SSO-Anmeldung mit MFA über einen Wrapper wie `aws-vault`. Gilt für Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/de/claude-platform-on-aws.md) und den [Mantle-Endpunkt](https://code.claude.com/docs/de/amazon-bedrock.md#use-the-mantle-endpoint). Siehe [Zwischenspeicherung von Anmeldedaten und Timeout für die Auflösung](https://code.claude.com/docs/de/amazon-bedrock.md#credential-caching-and-resolution-timeout). Erfordert Claude Code v2.1.207 oder höher |215| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Zeit in Millisekunden, die Claude Code darauf wartet, dass die AWS-Standardkette der Anmeldedatenanbieter Anmeldedaten liefert, bevor die Anfrage mit [`AWS default-chain credential resolve timed out`](https://code.claude.com/docs/de/errors#aws-default-chain-credential-resolve-timed-out) fehlschlägt (Standard: `60000`). Erhöhen Sie den Wert, wenn ein Schritt in Ihrer Kette berechtigterweise länger braucht, etwa eine browserbasierte SSO-Anmeldung mit MFA über einen Wrapper wie `aws-vault`. Gilt für Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/de/claude-platform-on-aws.md) und den [Mantle-Endpunkt](https://code.claude.com/docs/de/amazon-bedrock.md#use-the-mantle-endpoint). Siehe [Zwischenspeicherung von Anmeldedaten und Timeout für die Auflösung](https://code.claude.com/docs/de/amazon-bedrock.md#credential-caching-and-resolution-timeout). Erfordert Claude Code v2.1.207 oder höher |

215| `CLAUDE_CODE_BASH_EDIT_DIFF` | Setzen Sie `0`, um den [Diff der Dateien, die sich während der Ausführung eines Bash-Befehls geändert haben](https://code.claude.com/docs/de/hooks.md#bash), auszuschalten, oder `1`, um ihn in jedem Berechtigungsmodus aufzuzeichnen. Hat Vorrang vor der Einstellung [`bashEditDiffEnabled`](https://code.claude.com/docs/de/settings-reference#basheditdiffenabled). Erfordert Claude Code v2.1.269 oder höher |216| `CLAUDE_CODE_BASH_EDIT_DIFF` | Setzen Sie `0`, um den [Diff der Dateien, die sich während der Ausführung eines Bash-Befehls geändert haben](https://code.claude.com/docs/de/hooks.md#bash), auszuschalten, oder `1`, um ihn in jedem Berechtigungsmodus aufzuzeichnen. Hat Vorrang vor der Einstellung [`bashEditDiffEnabled`](https://code.claude.com/docs/de/settings-reference#basheditdiffenabled). Erfordert Claude Code v2.1.269 oder höher |

216| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Setzen Sie `0`, damit eine nicht interaktive Sitzung ihrem Host am Ende jedes Turns einen Leerlaufstatus meldet, selbst während noch Hintergrundarbeit läuft. Standardmäßig meldet die Sitzung über das Ende des Turns hinaus weiterhin einen laufenden Status, solange Hintergrundarbeit wie ein Hintergrundagent oder ein [Workflow](https://code.claude.com/docs/de/workflows.md)-Lauf noch aktiv ist. Dadurch kündigt ein Host, der den Status beobachtet, etwa eine Liste von Remote-Sitzungen, nicht mitten in der Arbeit an, dass Claude auf Ihre Eingabe wartet. Hintergrund-Shell-Befehle, etwa ein Entwicklungsserver, halten den laufenden Status nicht aufrecht. Der Standard für den laufenden Status und die Deaktivierung per `0` erfordern Claude Code v2.1.269 oder höher; setzen Sie bei früheren Versionen `1`, um den laufenden Status beizubehalten |217| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Setzen Sie `0`, damit eine nicht interaktive Sitzung ihrem Host am Ende jedes Turns einen Leerlaufstatus meldet, selbst während noch Hintergrundarbeit läuft. Standardmäßig meldet die Sitzung über das Ende des Turns hinaus weiterhin einen laufenden Status, solange Hintergrundarbeit wie ein Hintergrundagent oder ein [Workflow](https://code.claude.com/docs/de/workflows.md)-Lauf noch aktiv ist. Dadurch kündigt ein Host, der den Status beobachtet, etwa eine Liste von Remote-Sitzungen, nicht mitten in der Arbeit an, dass Claude auf Ihre Eingabe wartet. Hintergrund-Shell-Befehle, etwa ein Entwicklungsserver, halten den laufenden Status nicht aufrecht. Der Standard für den laufenden Status und die Deaktivierung per `0` erfordern Claude Code v2.1.269 oder höher; setzen Sie bei früheren Versionen `1`, um den laufenden Status beizubehalten |


298| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | Auf `1` setzen, um [gefährliche `rm`-Befehle ohne Nachfrage auszuführen](https://code.claude.com/docs/de/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode), wenn der Modus `bypassPermissions` aktiv ist; dadurch entfällt eine Sicherheitsabfrage vor destruktiven Löschvorgängen. Im verlinkten Abschnitt ist aufgeführt, wo die Variable keine Wirkung hat. [Setzen Sie sie in der Umgebung, aus der Claude Code gestartet wird](#set-variables-in-your-shell), da Claude Code sie [in einem `env`-Block von Einstellungen ignoriert](https://code.claude.com/docs/de/settings-reference#variables-claude-code-ignores-in-env). Erfordert Claude Code v2.1.311 oder höher |299| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | Auf `1` setzen, um [gefährliche `rm`-Befehle ohne Nachfrage auszuführen](https://code.claude.com/docs/de/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode), wenn der Modus `bypassPermissions` aktiv ist; dadurch entfällt eine Sicherheitsabfrage vor destruktiven Löschvorgängen. Im verlinkten Abschnitt ist aufgeführt, wo die Variable keine Wirkung hat. [Setzen Sie sie in der Umgebung, aus der Claude Code gestartet wird](#set-variables-in-your-shell), da Claude Code sie [in einem `env`-Block von Einstellungen ignoriert](https://code.claude.com/docs/de/settings-reference#variables-claude-code-ignores-in-env). Erfordert Claude Code v2.1.311 oder höher |

299| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Zeit in Millisekunden, die nach dem Übergang der Abfrageschleife in den Leerlauf gewartet wird, bevor automatisch beendet wird. Nützlich für automatisierte Workflows und Skripte, die den SDK-Modus verwenden |300| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Zeit in Millisekunden, die nach dem Übergang der Abfrageschleife in den Leerlauf gewartet wird, bevor automatisch beendet wird. Nützlich für automatisierte Workflows und Skripte, die den SDK-Modus verwenden |

300| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Auf `1` setzen, um [Agent Teams](https://code.claude.com/docs/de/agent-teams.md) zu aktivieren. Agent Teams sind experimentell und standardmäßig deaktiviert |301| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Auf `1` setzen, um [Agent Teams](https://code.claude.com/docs/de/agent-teams.md) zu aktivieren. Agent Teams sind experimentell und standardmäßig deaktiviert |

302| `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` | Auf `1` setzen, um Sitzungen im [Code Mode](https://code.claude.com/docs/de/code-mode.md) zu starten, einer experimentellen Funktion. Auf `0` setzen, um ihn ausgeschaltet zu lassen, oder in verwalteten Einstellungen, um [ihn für eine Organisation zu blockieren](https://code.claude.com/docs/de/code-mode.md#block-code-mode-for-your-organization). Die Variable [zählt nicht in jeder Einstellungsdatei](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env). Siehe die [Versions- und Kontoanforderungen](https://code.claude.com/docs/de/code-mode.md#requirements) |

301| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene der Request-Bodys von Modellanfragen zusammengeführt wird, außer bei einigen Anfragen außerhalb der Konversation, etwa `/model`-Prüfungen. Nützlich, um anbieterspezifische Parameter zu übergeben, die Claude Code nicht direkt bereitstellt. Ein in Ihrer Shell exportierter Wert gilt auch für die [Hintergrundsitzungen](https://code.claude.com/docs/de/agent-view.md), die Sie mit `claude agents` oder `--bg` starten. Vor v2.1.206 ignorierten Hintergrundsitzungen einen in der Shell exportierten Wert und verwendeten die Kopie, die der Supervisor-Prozess im Hintergrund geerbt hatte |303| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene der Request-Bodys von Modellanfragen zusammengeführt wird, außer bei einigen Anfragen außerhalb der Konversation, etwa `/model`-Prüfungen. Nützlich, um anbieterspezifische Parameter zu übergeben, die Claude Code nicht direkt bereitstellt. Ein in Ihrer Shell exportierter Wert gilt auch für die [Hintergrundsitzungen](https://code.claude.com/docs/de/agent-view.md), die Sie mit `claude agents` oder `--bg` starten. Vor v2.1.206 ignorierten Hintergrundsitzungen einen in der Shell exportierten Wert und verwendeten die Kopie, die der Supervisor-Prozess im Hintergrund geerbt hatte |

302| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreibt das standardmäßige Token-Limit für [Dateilesevorgänge](https://code.claude.com/docs/de/tools-reference.md#large-files), das 25.000 Token beträgt. Nützlich, wenn Sie größere Dateien vollständig lesen müssen. Ein Lesevorgang, den Claude mit dem Parameter `allow_large` ausführt, kann dieses Limit überschreiten, wenn im Kontextfenster Platz ist |304| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreibt das standardmäßige Token-Limit für [Dateilesevorgänge](https://code.claude.com/docs/de/tools-reference.md#large-files), das 25.000 Token beträgt. Nützlich, wenn Sie größere Dateien vollständig lesen müssen. Ein Lesevorgang, den Claude mit dem Parameter `allow_large` ausführt, kann dieses Limit überschreiten, wenn im Kontextfenster Platz ist |

303| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Auf `1` setzen, um die Persistenz von Transkripten, den Prompt-Verlauf und die Registrierung bei `claude agents` zu erzwingen, selbst wenn dieses `claude` aus einer anderen Claude Code-Sitzung heraus gestartet wurde. Verwenden Sie dies, wenn ein geerbter `CLAUDE_CODE_CHILD_SESSION`-Wert, etwa aus einer `screen`-Sitzung oder einem Hintergrund-Launcher, der zuerst vom Bash-Tool von Claude Code gestartet wurde, dazu führt, dass eine echte Sitzung der obersten Ebene fälschlich als verschachtelt eingestuft wird. Ab v2.1.178 erkennt Claude Code den tmux-Fall automatisch und ignoriert die geerbte Markierung, sodass tmux diese Variable nicht mehr benötigt. Wird auch in v2.1.169 und früher berücksichtigt; hat in v2.1.170 und v2.1.171 keine Wirkung, da dort die Erkennung verschachtelter Sitzungen, die sie überschreibt, entfernt war |305| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Auf `1` setzen, um die Persistenz von Transkripten, den Prompt-Verlauf und die Registrierung bei `claude agents` zu erzwingen, selbst wenn dieses `claude` aus einer anderen Claude Code-Sitzung heraus gestartet wurde. Verwenden Sie dies, wenn ein geerbter `CLAUDE_CODE_CHILD_SESSION`-Wert, etwa aus einer `screen`-Sitzung oder einem Hintergrund-Launcher, der zuerst vom Bash-Tool von Claude Code gestartet wurde, dazu führt, dass eine echte Sitzung der obersten Ebene fälschlich als verschachtelt eingestuft wird. Ab v2.1.178 erkennt Claude Code den tmux-Fall automatisch und ignoriert die geerbte Markierung, sodass tmux diese Variable nicht mehr benötigt. Wird auch in v2.1.169 und früher berücksichtigt; hat in v2.1.170 und v2.1.171 keine Wirkung, da dort die Erkennung verschachtelter Sitzungen, die sie überschreibt, entfernt war |


348| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden für das Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Überwachung](https://code.claude.com/docs/de/monitoring-usage.md) |350| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden für das Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Überwachung](https://code.claude.com/docs/de/monitoring-usage.md) |

349| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall in Millisekunden für die Aktualisierung dynamischer OpenTelemetry-Header (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](https://code.claude.com/docs/de/monitoring-usage.md#dynamic-headers) |351| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall in Millisekunden für die Aktualisierung dynamischer OpenTelemetry-Header (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](https://code.claude.com/docs/de/monitoring-usage.md#dynamic-headers) |

350| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in Millisekunden, innerhalb dessen der OpenTelemetry-Exporter beim Herunterfahren abschließen muss (Standard: 2000). Erhöhen Sie den Wert, wenn Metriken beim Beenden verloren gehen. Siehe [Überwachung](https://code.claude.com/docs/de/monitoring-usage.md) |352| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in Millisekunden, innerhalb dessen der OpenTelemetry-Exporter beim Herunterfahren abschließen muss (Standard: 2000). Erhöhen Sie den Wert, wenn Metriken beim Beenden verloren gehen. Siehe [Überwachung](https://code.claude.com/docs/de/monitoring-usage.md) |

351| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Anfängliche Verzögerung in Millisekunden, anstelle der standardmäßigen 500, für den exponentiellen Backoff zwischen [automatischen Wiederholungsversuchen](https://code.claude.com/docs/de/errors.md#tune-retry-behavior) einer Anfrage, die die API mit einem `529`-Überlastungsfehler ablehnt. Erhöhen Sie den Wert, um die Wiederholungsversuche über ein längeres Zeitfenster zu verteilen, wenn die API ausgelastet ist. Geben Sie ganze Millisekunden von 500 bis 32000 in reinen Ziffern an; Claude Code behandelt jeden anderen Wert als nicht gesetzt. Hat keine Wirkung, wenn `CLAUDE_CODE_RETRY_WATCHDOG` auf `1` gesetzt ist oder wenn die abgelehnte Anfrage im [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits) gesendet wurde. Erfordert Claude Code v2.1.292 oder höher |353| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Anfangsverzögerung in Millisekunden des Backoffs zwischen Wiederholungsversuchen einer Anfrage, die die API mit einem `529`-Überlastungsfehler ablehnt (Standard: 500). Erhöhen Sie den Wert, um die Wiederholungsversuche über ein längeres Zeitfenster zu verteilen, wenn die API ausgelastet ist. Geben Sie ganze Millisekunden von 500 bis 32000 als reine Ziffern an; Claude Code behandelt jeden anderen Wert als nicht gesetzt. Siehe [wann die Variable keine Wirkung hat](https://code.claude.com/docs/de/errors.md#tune-retry-behavior). Erfordert Claude Code v2.1.292 oder höher |

352| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | Obergrenze in Millisekunden, anstelle der standardmäßigen 32000, für den exponentiellen Backoff zwischen [automatischen Wiederholungsversuchen](https://code.claude.com/docs/de/errors.md#tune-retry-behavior) einer Anfrage, die die API mit einem `529`-Überlastungsfehler ablehnt. Erhöhen Sie den Wert, damit spätere Wiederholungsversuche weiter auseinanderrücken, wenn die API ausgelastet ist. Geben Sie ganze Millisekunden von 32000 bis 64000 in reinen Ziffern an; Claude Code behandelt jeden anderen Wert als nicht gesetzt. Hat keine Wirkung, wenn `CLAUDE_CODE_RETRY_WATCHDOG` auf `1` gesetzt ist oder wenn die abgelehnte Anfrage im [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits) gesendet wurde. Erfordert Claude Code v2.1.296 oder höher |354| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | Obergrenze in Millisekunden für den Backoff zwischen Wiederholungsversuchen einer Anfrage, die die API mit einem `529`-Überlastungsfehler ablehnt (Standard: 32000). Erhöhen Sie den Wert, damit spätere Wiederholungsversuche weiter auseinanderrücken. Geben Sie ganze Millisekunden von 32000 bis 300000 als reine Ziffern an; Claude Code behandelt jeden anderen Wert als nicht gesetzt. Werte über 64000 erfordern v2.1.323 oder höher. Siehe [wann die Variable keine Wirkung hat](https://code.claude.com/docs/de/errors.md#tune-retry-behavior). Erfordert Claude Code v2.1.296 oder höher |

353| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Auf `1` setzen, damit Claude Code den Upgrade-Befehl Ihres Paketmanagers im Hintergrund ausführt, wenn eine neue Version verfügbar ist. Gilt für Homebrew- und WinGet-Installationen. Andere Paketmanager zeigen weiterhin den Upgrade-Befehl an, ohne ihn auszuführen. Siehe [Automatische Updates](https://code.claude.com/docs/de/setup.md#auto-updates) |355| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Auf `1` setzen, damit Claude Code den Upgrade-Befehl Ihres Paketmanagers im Hintergrund ausführt, wenn eine neue Version verfügbar ist. Gilt für Homebrew- und WinGet-Installationen. Andere Paketmanager zeigen weiterhin den Upgrade-Befehl an, ohne ihn auszuführen. Siehe [Automatische Updates](https://code.claude.com/docs/de/setup.md#auto-updates) |

354| `CLAUDE_CODE_PERFORCE_MODE` | Auf `1` setzen, um einen Perforce-bewussten Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit mit einem Hinweis auf `p4 edit <file>` fehl, wenn der Zieldatei das Schreibrecht für den Besitzer fehlt, das Perforce bei synchronisierten Dateien entfernt, bis `p4 edit` sie öffnet. Dies verhindert, dass Claude Code die Änderungsverfolgung von Perforce umgeht |356| `CLAUDE_CODE_PERFORCE_MODE` | Auf `1` setzen, um einen Perforce-bewussten Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit mit einem Hinweis auf `p4 edit <file>` fehl, wenn der Zieldatei das Schreibrecht für den Besitzer fehlt, das Perforce bei synchronisierten Dateien entfernt, bis `p4 edit` sie öffnet. Dies verhindert, dass Claude Code die Änderungsverfolgung von Perforce umgeht |

355| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreibt das Stammverzeichnis für Plugins. Trotz des Namens legt dies das übergeordnete Verzeichnis fest, nicht den Cache selbst: Marketplaces und der Plugin-Cache befinden sich in Unterverzeichnissen unter diesem Pfad. Standardmäßig `~/.claude/plugins` |357| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreibt das Stammverzeichnis für Plugins. Trotz des Namens legt dies das übergeordnete Verzeichnis fest, nicht den Cache selbst: Marketplaces und der Plugin-Cache befinden sich in Unterverzeichnissen unter diesem Pfad. Standardmäßig `~/.claude/plugins` |


370| `CLAUDE_CODE_REMOTE` | Wird automatisch auf `true` gesetzt, wenn Claude Code als [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) läuft. Lesen Sie die Variable in einem Hook oder Setup-Skript aus, um zu erkennen, ob Sie sich in einer Cloud-Sitzung befinden |372| `CLAUDE_CODE_REMOTE` | Wird automatisch auf `true` gesetzt, wenn Claude Code als [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) läuft. Lesen Sie die Variable in einem Hook oder Setup-Skript aus, um zu erkennen, ob Sie sich in einer Cloud-Sitzung befinden |

371| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird in [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) automatisch auf die ID der aktuellen Sitzung gesetzt. Lesen Sie die Variable aus, um einen Link zurück zum Sitzungstranskript zu erstellen. Siehe [Ausgabe mit der Sitzung verknüpfen](https://code.claude.com/docs/de/cloud-environments.md#link-output-back-to-the-session) |373| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird in [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) automatisch auf die ID der aktuellen Sitzung gesetzt. Lesen Sie die Variable aus, um einen Link zurück zum Sitzungstranskript zu erstellen. Siehe [Ausgabe mit der Sitzung verknüpfen](https://code.claude.com/docs/de/cloud-environments.md#link-output-back-to-the-session) |

372| `CLAUDE_CODE_RESTRICTED` | Auf `1` setzen, um die Sitzung im eingeschränkten Modus zu starten, genau wie bei Übergabe von [`--restricted`](https://code.claude.com/docs/de/cli-reference#cli-flags). Claude Code ignoriert diese Variable im `env`-Block einer Einstellungsdatei. Erfordert Claude Code v2.1.248 oder höher |374| `CLAUDE_CODE_RESTRICTED` | Auf `1` setzen, um die Sitzung im eingeschränkten Modus zu starten, genau wie bei Übergabe von [`--restricted`](https://code.claude.com/docs/de/cli-reference#cli-flags). Claude Code ignoriert diese Variable im `env`-Block einer Einstellungsdatei. Erfordert Claude Code v2.1.248 oder höher |

375| `CLAUDE_CODE_RESUME_HINT_COMMAND` | Setzen Sie dies in einem Wrapper-Skript, das Claude Code startet, auf den Namen, den Sie eingeben, um den Wrapper auszuführen, etwa `mytool`. Eine lokale Sitzung gibt dann beim Beenden `mytool --resume <session-id>` anstelle von `claude --resume <session-id>` aus. Claude Code ignoriert einen Namen, der nicht `^\w[\w-]*$` entspricht. Es ignoriert die Variable außerdem im `env`-Block einer Einstellungsdatei. Erfordert Claude Code v2.1.323 oder höher |

373| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Auf `1` setzen, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn beendet wurde. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss. Um dies auszuschalten, entfernen Sie die Variable oder setzen Sie sie auf `0`. Für das Chat-Panel in VS Code siehe [Konversationen nach einem Neuladen fortsetzen](https://code.claude.com/docs/de/vs-code.md#continue-conversations-after-a-reload) |376| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Auf `1` setzen, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn beendet wurde. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss. Um dies auszuschalten, entfernen Sie die Variable oder setzen Sie sie auf `0`. Für das Chat-Panel in VS Code siehe [Konversationen nach einem Neuladen fortsetzen](https://code.claude.com/docs/de/vs-code.md#continue-conversations-after-a-reload) |

374| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Maximales Alter der letzten Transkriptnachricht in Millisekunden, bis zu dem eine Sitzung, die mitten in einem Turn endete, beim Fortsetzen automatisch weiterläuft. Ist die letzte Nachricht älter als diese Grenze, überspringt Claude Code die automatische Fortsetzung über `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` und deren Fortsetzungsnachricht `CLAUDE_CODE_RESUME_PROMPT`, und die Sitzung startet im Leerlauf, sodass Sie explizit fortfahren. Nicht gesetzt oder `0` legt keine Grenze fest, mit der Ausnahme, dass einige Turns nur innerhalb von sechs Stunden nach ihrer letzten Nachricht fortgesetzt werden, etwa einer, der mit einem API-Fehler endete. Ein positiver Wert begrenzt jeden Turn, einschließlich dieser; ein negativer oder nicht numerischer Wert wendet eine Grenze von einer Stunde an. Startskripte für lang laufende Agenten können dies setzen, damit ein Neustart mit einem alten Transkript keinen veralteten Prompt erneut ausführt. Claude Code setzt selbst eine Grenze von einer Stunde, wenn es eine abgestürzte Sitzung der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) neu startet, die ihre Konversation von einer interaktiven Sitzung geerbt hat. Erfordert Claude Code v2.1.211 oder höher |377| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Maximales Alter der letzten Transkriptnachricht in Millisekunden, bis zu dem eine Sitzung, die mitten in einem Turn endete, beim Fortsetzen automatisch weiterläuft. Ist die letzte Nachricht älter als diese Grenze, überspringt Claude Code die automatische Fortsetzung über `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` und deren Fortsetzungsnachricht `CLAUDE_CODE_RESUME_PROMPT`, und die Sitzung startet im Leerlauf, sodass Sie explizit fortfahren. Nicht gesetzt oder `0` legt keine Grenze fest, mit der Ausnahme, dass einige Turns nur innerhalb von sechs Stunden nach ihrer letzten Nachricht fortgesetzt werden, etwa einer, der mit einem API-Fehler endete. Ein positiver Wert begrenzt jeden Turn, einschließlich dieser; ein negativer oder nicht numerischer Wert wendet eine Grenze von einer Stunde an. Startskripte für lang laufende Agenten können dies setzen, damit ein Neustart mit einem alten Transkript keinen veralteten Prompt erneut ausführt. Claude Code setzt selbst eine Grenze von einer Stunde, wenn es eine abgestürzte Sitzung der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) neu startet, die ihre Konversation von einer interaktiven Sitzung geerbt hat. Erfordert Claude Code v2.1.211 oder höher |

375| `CLAUDE_CODE_RESUME_PROMPT` | Überschreibt die Fortsetzungsnachricht, die Claude Code an Claude sendet, wenn `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` einen unterbrochenen Turn fortsetzt, statt dessen Prompt erneut zu senden, oder wenn Sie einen [zurückgestellten Tool-Aufruf](https://code.claude.com/docs/de/hooks.md#defer-a-tool-call-for-later) mit `-p` fortsetzen. Standardmäßig `Continue from where you left off.`. Eine leere Zeichenfolge verwendet den Standard |378| `CLAUDE_CODE_RESUME_PROMPT` | Überschreibt die Fortsetzungsnachricht, die Claude Code an Claude sendet, wenn `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` einen unterbrochenen Turn fortsetzt, statt dessen Prompt erneut zu senden, oder wenn Sie einen [zurückgestellten Tool-Aufruf](https://code.claude.com/docs/de/hooks.md#defer-a-tool-call-for-later) mit `-p` fortsetzen. Standardmäßig `Continue from where you left off.`. Eine leere Zeichenfolge verwendet den Standard |


405| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Auf `1` setzen, um Anmeldedaten aus den Umgebungen der Unterprozesse zu entfernen, die Claude Code startet, etwa Bash-Befehle, Hooks und stdio-MCP-Server. Die Bereinigung erkennt Anmeldedaten am Variablennamen oder am Wert und lässt GitHub-Token und Proxy-Einstellungen unverändert. Siehe [Was die Bereinigung der Unterprozessumgebung entfernt](#what-the-subprocess-environment-scrub-removes). `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |408| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Auf `1` setzen, um Anmeldedaten aus den Umgebungen der Unterprozesse zu entfernen, die Claude Code startet, etwa Bash-Befehle, Hooks und stdio-MCP-Server. Die Bereinigung erkennt Anmeldedaten am Variablennamen oder am Wert und lässt GitHub-Token und Proxy-Einstellungen unverändert. Siehe [Was die Bereinigung der Unterprozessumgebung entfernt](#what-the-subprocess-environment-scrub-removes). `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |

406| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Im nicht interaktiven Modus (Flag `-p`) auf `1` setzen, um vor der ersten Abfrage auf den Abschluss der Plugin-Installation zu warten. Ohne diese Variable werden Plugins im Hintergrund installiert und sind beim ersten Turn möglicherweise nicht verfügbar. Kombinieren Sie dies mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um die Wartezeit zu begrenzen |409| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Im nicht interaktiven Modus (Flag `-p`) auf `1` setzen, um vor der ersten Abfrage auf den Abschluss der Plugin-Installation zu warten. Ohne diese Variable werden Plugins im Hintergrund installiert und sind beim ersten Turn möglicherweise nicht verfügbar. Kombinieren Sie dies mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um die Wartezeit zu begrenzen |

407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für die synchrone Plugin-Installation. Bei Überschreitung fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: Ohne diese Variable wartet die synchrone Installation bis zum Abschluss |410| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für die synchrone Plugin-Installation. Bei Überschreitung fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: Ohne diese Variable wartet die synchrone Installation bis zum Abschluss |

408| `CLAUDE_CODE_SYNC_SKILLS` | Im nicht interaktiven Modus mit dem Flag `-p` auf `1` setzen, damit Claude Code in diesem Lauf die für Ihr claude.ai-Konto aktivierten Skills herunterlädt und bis zu `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` auf deren Liste wartet, bevor es die erste Abfrage ausführt. Erfordert claude.ai-Authentifizierung. Terminal-Sitzungen, in denen Sie sich mit Ihrem claude.ai-Konto anmelden, [synchronisieren diese Skills](https://code.claude.com/docs/de/skills.md#where-synced-skills-load) auch ohne diese Variable; setzen Sie sie daher nur, wenn ein `-p`-Lauf Ihre aktuellen Skills bei der ersten Abfrage benötigt |411| `CLAUDE_CODE_SYNC_SKILLS` | Setzen Sie den Wert auf `1`, damit Claude Code die für Ihr claude.ai-Konto aktivierten Skills herunterlädt. Im nicht interaktiven Modus mit dem Flag `-p` wartet Claude Code außerdem bis zu `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` auf die Liste der Skills, bevor es die erste Abfrage ausführt. Erfordert eine claude.ai-Authentifizierung. Terminal-Sitzungen, in denen Sie sich mit Ihrem claude.ai-Konto anmelden, [synchronisieren diese Skills](https://code.claude.com/docs/de/skills.md#where-synced-skills-load) auch ohne diese Variable. In einer interaktiven Sitzung erfordert die Variable v2.1.323 oder höher |

409| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für die Neusynchronisierung der Skills, die mitten in der Sitzung ausgeführt wird, wenn eine auf dem [Agent SDK](https://code.claude.com/docs/de/agent-sdk/typescript.md#query-object) aufgebaute App Skills neu lädt (Standard: 30000). Bei Überschreitung wird das Neuladen mit den bereits eingetroffenen Skills fortgesetzt, und die verbleibenden Downloads werden im Hintergrund abgeschlossen |412| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für die Neusynchronisierung der Skills, die mitten in der Sitzung ausgeführt wird, wenn eine auf dem [Agent SDK](https://code.claude.com/docs/de/agent-sdk/typescript.md#query-object) aufgebaute App Skills neu lädt (Standard: 30000). Bei Überschreitung wird das Neuladen mit den bereits eingetroffenen Skills fortgesetzt, und die verbleibenden Downloads werden im Hintergrund abgeschlossen |

410| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in Millisekunden, wie lange die erste Abfrage auf die anfängliche Skill-Liste wartet, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 5000). Bei Überschreitung läuft die erste Abfrage mit den bereits eingetroffenen Skills. Die Downloads werden in jedem Fall im Hintergrund abgeschlossen, und Claude wartet auf den Download eines Skills, wenn es diesen Skill aufruft |413| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in Millisekunden, wie lange die erste Abfrage auf die anfängliche Skill-Liste wartet, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 5000). Bei Überschreitung läuft die erste Abfrage mit den bereits eingetroffenen Skills. Die Downloads werden in jedem Fall im Hintergrund abgeschlossen, und Claude wartet auf den Download eines Skills, wenn es diesen Skill aufruft |

411| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Auf `false` setzen, um die Syntaxhervorhebung in der Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihre Terminal-Einrichtung stören. Um die Hervorhebung auch in Codeblöcken und Dateivorschauen zu deaktivieren, verwenden Sie die Einstellung [`syntaxHighlightingDisabled`](https://code.claude.com/docs/de/settings-reference#syntaxhighlightingdisabled) |414| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Auf `false` setzen, um die Syntaxhervorhebung in der Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihre Terminal-Einrichtung stören. Um die Hervorhebung auch in Codeblöcken und Dateivorschauen zu deaktivieren, verwenden Sie die Einstellung [`syntaxHighlightingDisabled`](https://code.claude.com/docs/de/settings-reference#syntaxhighlightingdisabled) |


585* Den [You-should-know-Mod](https://code.claude.com/docs/de/interactive-mode.md#you-should-know-suggestions) aktivieren588* Den [You-should-know-Mod](https://code.claude.com/docs/de/interactive-mode.md#you-should-know-suggestions) aktivieren

586* [Das Advisor-Tool](https://code.claude.com/docs/de/advisor.md#requirements) verwenden, außer bei Claude Platform on AWS mit Claude Code v2.1.300 oder neuer589* [Das Advisor-Tool](https://code.claude.com/docs/de/advisor.md#requirements) verwenden, außer bei Claude Platform on AWS mit Claude Code v2.1.300 oder neuer

587* [MCP-Tasks](https://code.claude.com/docs/de/mcp.md#mcp-tasks-that-run-on-the-server) verwenden590* [MCP-Tasks](https://code.claude.com/docs/de/mcp.md#mcp-tasks-that-run-on-the-server) verwenden

591* [Code Mode](https://code.claude.com/docs/de/code-mode.md#requirements) aktivieren

588* [Kommentare zu einem Artefakt](https://code.claude.com/docs/de/artifacts.md#collect-comments-on-an-artifact) lesen oder beantworten592* [Kommentare zu einem Artefakt](https://code.claude.com/docs/de/artifacts.md#collect-comments-on-an-artifact) lesen oder beantworten

589* Claude [das öffentliche Artefakt einer anderen Organisation](https://code.claude.com/docs/de/artifacts.md#read-an-artifact-shared-with-you) lesen lassen593* Claude [das öffentliche Artefakt einer anderen Organisation](https://code.claude.com/docs/de/artifacts.md#read-an-artifact-shared-with-you) lesen lassen

590* Das [PowerShell-Tool](https://code.claude.com/docs/de/tools-reference.md#powershell-tool) standardmäßig für claude.ai- und Console-Konten unter Windows mit installiertem Git Bash erhalten; Claude Code leitet Shell-Befehle über Git Bash, es sei denn, Sie setzen `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Unter Windows ohne Git Bash bleibt das Tool aktiviert594* Das [PowerShell-Tool](https://code.claude.com/docs/de/tools-reference.md#powershell-tool) standardmäßig für claude.ai- und Console-Konten unter Windows mit installiertem Git Bash erhalten; Claude Code leitet Shell-Befehle über Git Bash, es sei denn, Sie setzen `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Unter Windows ohne Git Bash bleibt das Tool aktiviert

errors.md +99 −14

Details

122| `A request to MCP server "<name>" was sent without your stored credentials` | [Authentifizierung](#couldnt-read-the-stored-credentials-for-mcp-server) |122| `A request to MCP server "<name>" was sent without your stored credentials` | [Authentifizierung](#couldnt-read-the-stored-credentials-for-mcp-server) |

123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Authentifizierung](#mcp-server-url-is-missing-or-not-a-valid-url) |123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Authentifizierung](#mcp-server-url-is-missing-or-not-a-valid-url) |

124| `Issuer mismatch in authorization response (RFC 9207)` | [Authentifizierung](#issuer-mismatch-in-authorization-response) |124| `Issuer mismatch in authorization response (RFC 9207)` | [Authentifizierung](#issuer-mismatch-in-authorization-response) |

125| `Stopped an OAuth request` | [Authentifizierung](#stopped-an-oauth-request) |

125| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [Authentifizierung](#refusing-to-send-credentials-to-non-https-token-endpoint) |126| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [Authentifizierung](#refusing-to-send-credentials-to-non-https-token-endpoint) |

126| `Cloud gateway session expired — run /login to reconnect.` | [Authentifizierung](#cloud-gateway-session-expired) |127| `Cloud gateway session expired — run /login to reconnect.` | [Authentifizierung](#cloud-gateway-session-expired) |

127| `Cloud gateway <url> no longer accepts this session` | [Authentifizierung](#cloud-gateway-session-expired) |128| `Cloud gateway <url> no longer accepts this session` | [Authentifizierung](#cloud-gateway-session-expired) |


153| `403` mit `GitHub GraphQL is not available from Claude Code sessions` in einer Cloud-Sitzung | [GitHub-Proxy](https://code.claude.com/docs/de/cloud-environments.md#github-proxy) |154| `403` mit `GitHub GraphQL is not available from Claude Code sessions` in einer Cloud-Sitzung | [GitHub-Proxy](https://code.claude.com/docs/de/cloud-environments.md#github-proxy) |

154| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Netzwerk](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |155| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Netzwerk](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |

155| `Failed to fetch session from Sessions API: Failed to fetch session logs` | [Netzwerk](#failed-to-fetch-session-from-sessions-api) |156| `Failed to fetch session from Sessions API: Failed to fetch session logs` | [Netzwerk](#failed-to-fetch-session-from-sessions-api) |

157| `Couldn't load the history of cloud session` | [Netzwerk](#couldnt-load-the-history-of-cloud-session) |

156| `Couldn't reconnect to your Remote Control session` | [Netzwerk](#couldnt-reconnect-to-your-remote-control-session) |158| `Couldn't reconnect to your Remote Control session` | [Netzwerk](#couldnt-reconnect-to-your-remote-control-session) |

157| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Netzwerk](#sessions-ended-while-this-machine-was-offline) |159| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Netzwerk](#sessions-ended-while-this-machine-was-offline) |

158| `Couldn't share the transcript.` | [Netzwerk](#couldnt-share-the-transcript) |160| `Couldn't share the transcript.` | [Netzwerk](#couldnt-share-the-transcript) |


180| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Anfragefehler](#pdf-errors) |182| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Anfragefehler](#pdf-errors) |

181| `Extra inputs are not permitted` | [Anfragefehler](#extra-inputs-are-not-permitted) |183| `Extra inputs are not permitted` | [Anfragefehler](#extra-inputs-are-not-permitted) |

182| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Anfragefehler](#tool-input-schema-is-invalid) |184| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Anfragefehler](#tool-input-schema-is-invalid) |

185| `N tools left out` neben einem Server in `/mcp` / `Claude wasn't given N tools because the Anthropic API would reject their input schemas` | [Tools mit ungültigen Eingabeschemas](https://code.claude.com/docs/de/mcp.md#tools-with-invalid-input-schemas) |

183| `Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128` | [Anfragefehler](#mcp-tool-name-over-128-characters) |186| `Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128` | [Anfragefehler](#mcp-tool-name-over-128-characters) |

184| `tools.N.custom.name: String should have at most 128 characters` | [Anfragefehler](#mcp-tool-name-over-128-characters) |187| `tools.N.custom.name: String should have at most 128 characters` | [Anfragefehler](#mcp-tool-name-over-128-characters) |

185| `tool_use.name: String should have at most 200 characters` | [Anfragefehler](#tool-use-name-over-200-characters) |188| `tool_use.name: String should have at most 200 characters` | [Anfragefehler](#tool-use-name-over-200-characters) |


251| `Ultrareview did not start` | [Befehlszeilenfehler](#ultrareview-did-not-start) |254| `Ultrareview did not start` | [Befehlszeilenfehler](#ultrareview-did-not-start) |

252| `Remote Control did not start: "<question>" got no answer` | [Befehlszeilenfehler](#remote-control-did-not-start-got-no-answer) |255| `Remote Control did not start: "<question>" got no answer` | [Befehlszeilenfehler](#remote-control-did-not-start-got-no-answer) |

253| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Befehlszeilenfehler](#not-carried-over-to-the-sessions-remote-control-starts) |256| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Befehlszeilenfehler](#not-carried-over-to-the-sessions-remote-control-starts) |

257| `Remote Control did not start, because sessions would skip part or all of the --settings file` | [Befehlszeilenfehler](#remote-control-did-not-start-because-of-the-settings-file) |

258| `The settings file <file> has changed since Remote Control started, so this session did not start` | [Befehlszeilenfehler](#settings-file-changed-since-remote-control-started) |

254| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Befehlszeilenfehler](#sandbox-is-not-supported-by-claude-remote-control) |259| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Befehlszeilenfehler](#sandbox-is-not-supported-by-claude-remote-control) |

255| `` `claude import` is not yet available in this build `` | [Befehlszeilenfehler](#claude-import-is-not-yet-available-in-this-build) |260| `` `claude import` is not yet available in this build `` | [Befehlszeilenfehler](#claude-import-is-not-yet-available-in-this-build) |

256| `Could not read Claude Code config` | [Befehlszeilenfehler](#could-not-read-claude-code-config) |261| `Could not read Claude Code config` | [Befehlszeilenfehler](#could-not-read-claude-code-config) |


268| `No available ports for OAuth redirect` | [Befehlszeilenfehler](#no-available-ports-for-oauth-redirect) |273| `No available ports for OAuth redirect` | [Befehlszeilenfehler](#no-available-ports-for-oauth-redirect) |

269| `Shell command failed for pattern "..."`, von `/security-review` oder einem beliebigen Skill, der dynamischen Kontext einfügt | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |274| `Shell command failed for pattern "..."`, von `/security-review` oder einem beliebigen Skill, der dynamischen Kontext einfügt | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |

270| `Shell command permission check failed for pattern "..."`, von einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |275| `Shell command permission check failed for pattern "..."`, von einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |

276| ``Couldn't run `<command>` for <name>. A file named HEAD or .git in this folder or one above it may not be yours``, aus einem Skill, der dynamischen Kontext einfügt | [Berechtigungsprüfungen für eingefügte Befehle](https://code.claude.com/docs/de/skills.md#permission-checks-on-injected-commands) |

271| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |277| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |

272| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Befehlszeilenfehler](#no-shell-command-was-run) |278| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Befehlszeilenfehler](#no-shell-command-was-run) |

273| `Input must be provided either through stdin or as a prompt argument when using --print` | [Befehlszeilenfehler](#input-must-be-provided-when-using-print) |279| `Input must be provided either through stdin or as a prompt argument when using --print` | [Befehlszeilenfehler](#input-must-be-provided-when-using-print) |


425| `Workspace not trusted.` beim Starten oder Neustarten einer Hintergrund-Sitzung | [Fehler in Hintergrund-Sitzungen](#workspace-not-trusted-when-dispatching-a-background-session) |431| `Workspace not trusted.` beim Starten oder Neustarten einer Hintergrund-Sitzung | [Fehler in Hintergrund-Sitzungen](#workspace-not-trusted-when-dispatching-a-background-session) |

426| `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) |432| `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) |

427| `Claude Code process exited with code N` | [Wrapper- und IDE-Fehler](#claude-code-process-exited-with-code-n) |433| `Claude Code process exited with code N` | [Wrapper- und IDE-Fehler](#claude-code-process-exited-with-code-n) |

434| `Subprocess initialization did not complete within 60000ms` | [Wrapper- und IDE-Fehler](#subprocess-initialization-did-not-complete-within-60000ms) |

435| `Claude Code did not finish starting` | [Wrapper- und IDE-Fehler](#subprocess-initialization-did-not-complete-within-60000ms) |

428| `The connection to Claude Code ended before this message completed` | [Wrapper- und IDE-Fehler](#the-connection-to-claude-code-ended-before-this-message-completed) |436| `The connection to Claude Code ended before this message completed` | [Wrapper- und IDE-Fehler](#the-connection-to-claude-code-ended-before-this-message-completed) |

429| `Could not locate the Claude CLI on PATH` | [Wrapper- und IDE-Fehler](#could-not-locate-the-claude-cli-on-path) |437| `Could not locate the Claude CLI on PATH` | [Wrapper- und IDE-Fehler](#could-not-locate-the-claude-cli-on-path) |

430| `The Claude Code program for this computer, the <build> build, could not be found` | [Wrapper- und IDE-Fehler](#the-claude-code-program-for-this-computer-could-not-be-found) |438| `The Claude Code program for this computer, the <build> build, could not be found` | [Wrapper- und IDE-Fehler](#the-claude-code-program-for-this-computer-could-not-be-found) |


560| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS` | keine Obergrenze | Bei gesetztem `CLAUDE_CODE_RETRY_WATCHDOG` die längste Zeit in Millisekunden, die eine Anfrage darauf wartet, dass das [Nutzungslimit](#youve-hit-your-session-limit) Ihres Plans, etwa das Sitzungs- oder Wochenlimit, zurückgesetzt wird. Liegt das Zurücksetzen weiter entfernt als diese Obergrenze, schlägt die Anfrage sofort fehl, es sei denn, das Nutzungsguthaben bietet noch Spielraum oder die API konnte es nicht prüfen. In diesen Fällen wird die Anfrage erneut versucht und schlägt fehl, wenn die Obergrenze verstreicht, bevor sie erfolgreich ist. Erfordert Claude Code v2.1.301 oder höher. |568| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS` | keine Obergrenze | Bei gesetztem `CLAUDE_CODE_RETRY_WATCHDOG` die längste Zeit in Millisekunden, die eine Anfrage darauf wartet, dass das [Nutzungslimit](#youve-hit-your-session-limit) Ihres Plans, etwa das Sitzungs- oder Wochenlimit, zurückgesetzt wird. Liegt das Zurücksetzen weiter entfernt als diese Obergrenze, schlägt die Anfrage sofort fehl, es sei denn, das Nutzungsguthaben bietet noch Spielraum oder die API konnte es nicht prüfen. In diesen Fällen wird die Anfrage erneut versucht und schlägt fehl, wenn die Obergrenze verstreicht, bevor sie erfolgreich ist. Erfordert Claude Code v2.1.301 oder höher. |

561| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](https://code.claude.com/docs/de/env-vars) | nicht gesetzt | Mindestabstand in Millisekunden zwischen Prüfungen, ob ein [Nutzungslimit](#youve-hit-your-session-limit) bereits aufgehoben wurde, während eine Anfrage bei gesetztem `CLAUDE_CODE_RETRY_WATCHDOG` auf das Zurücksetzen dieses Limits wartet. Stellt eine Prüfung fest, dass das Limit aufgehoben ist, wird die Anfrage sofort gesendet. Geben Sie nur Ziffern von `60000` bis `10800000` an. Ist die Variable nicht gesetzt oder liegt der Wert außerhalb dieses Bereichs, finden keine Prüfungen statt. Wann Claude Code diese Prüfungen überspringt, erfahren Sie in der [Referenz der Umgebungsvariablen](https://code.claude.com/docs/de/env-vars.md). Erfordert Claude Code v2.1.305 oder höher. |569| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](https://code.claude.com/docs/de/env-vars) | nicht gesetzt | Mindestabstand in Millisekunden zwischen Prüfungen, ob ein [Nutzungslimit](#youve-hit-your-session-limit) bereits aufgehoben wurde, während eine Anfrage bei gesetztem `CLAUDE_CODE_RETRY_WATCHDOG` auf das Zurücksetzen dieses Limits wartet. Stellt eine Prüfung fest, dass das Limit aufgehoben ist, wird die Anfrage sofort gesendet. Geben Sie nur Ziffern von `60000` bis `10800000` an. Ist die Variable nicht gesetzt oder liegt der Wert außerhalb dieses Bereichs, finden keine Prüfungen statt. Wann Claude Code diese Prüfungen überspringt, erfahren Sie in der [Referenz der Umgebungsvariablen](https://code.claude.com/docs/de/env-vars.md). Erfordert Claude Code v2.1.305 oder höher. |

562| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](https://code.claude.com/docs/de/env-vars) | 500 | Anfängliche Verzögerung des Backoffs in Millisekunden zwischen Wiederholungsversuchen einer Anfrage, die die API mit einem `529`-Überlastungsfehler ablehnt. Erhöhen Sie den Wert auf bis zu 32000, um die Wiederholungsversuche über einen längeren Zeitraum zu verteilen, wenn die API ausgelastet ist. Hat keine Wirkung, wenn `CLAUDE_CODE_RETRY_WATCHDOG` auf `1` gesetzt ist oder wenn die abgelehnte Anfrage im [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits) gesendet wurde. Erfordert Claude Code v2.1.292 oder höher. |570| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](https://code.claude.com/docs/de/env-vars) | 500 | Anfängliche Verzögerung des Backoffs in Millisekunden zwischen Wiederholungsversuchen einer Anfrage, die die API mit einem `529`-Überlastungsfehler ablehnt. Erhöhen Sie den Wert auf bis zu 32000, um die Wiederholungsversuche über einen längeren Zeitraum zu verteilen, wenn die API ausgelastet ist. Hat keine Wirkung, wenn `CLAUDE_CODE_RETRY_WATCHDOG` auf `1` gesetzt ist oder wenn die abgelehnte Anfrage im [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits) gesendet wurde. Erfordert Claude Code v2.1.292 oder höher. |

563| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](https://code.claude.com/docs/de/env-vars) | 32000 | Obergrenze des Backoffs in Millisekunden zwischen Wiederholungsversuchen einer Anfrage, die die API mit einem `529`-Überlastungsfehler ablehnt. Erhöhen Sie den Wert auf bis zu 64000, damit spätere Wiederholungsversuche zeitlich weiter auseinanderliegen, wenn die API ausgelastet ist. Hat keine Wirkung, wenn `CLAUDE_CODE_RETRY_WATCHDOG` auf `1` gesetzt ist oder wenn die abgelehnte Anfrage im [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits) gesendet wurde. Erfordert Claude Code v2.1.296 oder höher. |571| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](https://code.claude.com/docs/de/env-vars) | 32000 | Obergrenze des Backoffs in Millisekunden zwischen Wiederholungsversuchen einer Anfrage, die die API mit einem `529`-Überlastungsfehler ablehnt. Erhöhen Sie den Wert auf bis zu 300000, damit spätere Wiederholungsversuche zeitlich weiter auseinanderliegen, wenn die API ausgelastet ist. Werte über 64000 erfordern v2.1.323 oder höher. Hat in denselben Fällen keine Wirkung wie `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`. Erfordert Claude Code v2.1.296 oder höher. |

564| [`API_TIMEOUT_MS`](https://code.claude.com/docs/de/env-vars) | 600000 | Zeit in Millisekunden, die jeder Anfrageversuch hat, um seine Response-Header zu empfangen. Sie begrenzt nicht, wie lange eine Streaming-Antwort danach läuft. Erhöhen Sie den Wert bei langsamen Netzwerken oder Proxys. Wie der Wert die First-Byte-Deadline begrenzt, erfahren Sie unter [No response from API](#no-response-from-api). |572| [`API_TIMEOUT_MS`](https://code.claude.com/docs/de/env-vars) | 600000 | Zeit in Millisekunden, die jeder Anfrageversuch hat, um seine Response-Header zu empfangen. Sie begrenzt nicht, wie lange eine Streaming-Antwort danach läuft. Erhöhen Sie den Wert bei langsamen Netzwerken oder Proxys. Wie der Wert die First-Byte-Deadline begrenzt, erfahren Sie unter [No response from API](#no-response-from-api). |

565| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](https://code.claude.com/docs/de/env-vars) | nicht gesetzt | Begrenzung für das erneute Senden einer [Anfrage ohne Streaming](#streaming-response-ended-before-any-complete-data-was-received), bei der eine Zeitüberschreitung auftritt. Ist die Grenze erreicht, schlägt die Anfrage fehl. Eine Antwort von Claude, deren Generierung länger als der Timeout dauert, läuft bei jedem erneuten Senden wieder in eine Zeitüberschreitung; setzen Sie daher einen niedrigen Wert wie `0`, damit die Anfrage schneller fehlschlägt. Den Timeout jedes Versuchs finden Sie unter [Wie lange ein Versuch ohne Streaming wartet](#how-long-a-non-streaming-attempt-waits). Erfordert Claude Code v2.1.285 oder höher. |573| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](https://code.claude.com/docs/de/env-vars) | nicht gesetzt | Begrenzung für das erneute Senden einer [Anfrage ohne Streaming](#streaming-response-ended-before-any-complete-data-was-received), bei der eine Zeitüberschreitung auftritt. Ist die Grenze erreicht, schlägt die Anfrage fehl. Eine Antwort von Claude, deren Generierung länger als der Timeout dauert, läuft bei jedem erneuten Senden wieder in eine Zeitüberschreitung; setzen Sie daher einen niedrigen Wert wie `0`, damit die Anfrage schneller fehlschlägt. Den Timeout jedes Versuchs finden Sie unter [Wie lange ein Versuch ohne Streaming wartet](#how-long-a-non-streaming-attempt-waits). Erfordert Claude Code v2.1.285 oder höher. |

566| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](https://code.claude.com/docs/de/env-vars) | nicht gesetzt | Deadline in Millisekunden für das erste Antwort-Byte einer Streaming-Anfrage. Erfordert Claude Code v2.1.242 oder höher. Wie Claude Code die Deadline wählt, wenn diese Variable nicht gesetzt ist, erfahren Sie unter [No response from API](#no-response-from-api). |574| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](https://code.claude.com/docs/de/env-vars) | nicht gesetzt | Deadline in Millisekunden für das erste Antwort-Byte einer Streaming-Anfrage. Erfordert Claude Code v2.1.242 oder höher. Wie Claude Code die Deadline wählt, wenn diese Variable nicht gesetzt ist, erfahren Sie unter [No response from API](#no-response-from-api). |


825Spätere Aufrufe in derselben Antwort von Claude können mit dieser Begründung verweigert werden:833Spätere Aufrufe in derselben Antwort von Claude können mit dieser Begründung verweigert werden:

826 834 

827```text theme={null}835```text theme={null}

828another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged836another call in this response was changed after auto mode reviewed it, or could not be confirmed unchanged

829```837```

830 838 

831Claude kann dann jeden verweigerten Aufruf erneut absetzen, damit der Server ihn prüft. Wenn sich eine Berechtigungsabfrage öffnet, beantworten Sie sie. Sie müssen nichts weiter tun, es sei denn, Claude gibt in seiner Antwort an, dass der Auto-Modus den Aufruf nicht prüfen konnte. Stoppen Sie dann die Änderung oder genehmigen Sie den Aufruf selbst, und bitten Sie Claude, den Aufruf erneut zu versuchen:839Claude kann dann jeden verweigerten Aufruf erneut absetzen, damit der Server ihn prüft. Wenn sich eine Berechtigungsabfrage öffnet, beantworten Sie sie. Sie müssen nichts weiter tun, es sei denn, Claude gibt in seiner Antwort an, dass der Auto-Modus den Aufruf nicht prüfen konnte. Stoppen Sie dann die Änderung oder genehmigen Sie den Aufruf selbst, und bitten Sie Claude, den Aufruf erneut zu versuchen:


978 986 

979### You've hit your monthly spend limit987### You've hit your monthly spend limit

980 988 

981Das in Ihrem Plan enthaltene Nutzungskontingent kann diese Anfrage nicht abdecken, und das [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), das sie sonst bezahlen würde, hat eine Ausgabenbegrenzung erreicht. Dies geschieht, wenn eines der Nutzungsfenster Ihres Plans aufgebraucht ist, oder wenn die Anfrage eine ist, die nur über Nutzungsguthaben bezahlt wird, wie z. B. eine Anfrage an ein Modell, das [über Nutzungsguthaben abgerechnet wird](https://code.claude.com/docs/de/model-config.md#fable-and-usage-credits). Die Meldung nennt, wessen Limit Sie blockiert hat. Der Text nach dem `·` sagt, wie Sie dieses Limit erhöhen lassen können, und variiert je nach Ihrem Plan und ob Sie die Abrechnung verwalten:989Das in Ihrem Plan enthaltene Nutzungskontingent kann diese Anfrage nicht abdecken, und das [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), das sie sonst bezahlen würde, hat eine Ausgabenbegrenzung erreicht. Ihr Plan kann eine Anfrage nicht abdecken, wenn eines seiner Nutzungsfenster aufgebraucht ist oder wenn die Anfrage nur über Nutzungsguthaben bezahlt wird. Ein Beispiel ist eine Anfrage an ein Modell, das [über Nutzungsguthaben abgerechnet wird](https://code.claude.com/docs/de/model-config.md#fable-and-usage-credits).

990 

991Die Wörter vor dem `·` nennen das Limit, das Sie blockiert hat, z. B. die monatliche Ausgabenbegrenzung Ihrer Organisation, und der Text danach sagt, wie Sie dieses Limit erhöhen lassen können. In einer Cloud-Sitzung oder unter [Remote Control](https://code.claude.com/docs/de/remote-control.md) enthält dieser Text keine URL, und eine Meldung über Ihre eigene `monthly spend limit` sagt nicht, wie Sie sie erhöhen können. Andere Sitzungen zeigen Formen wie diese:

982 992 

983```text theme={null}993```text theme={null}

984You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message994You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message


1822 1832 

1823Vor v2.1.232 hat Claude Code die v2-Runtime nur im Rahmen einer schrittweisen Einführung oder dann verwendet, wenn Sie `MCP_SDK_GENERATION=v2` gesetzt hatten.1833Vor v2.1.232 hat Claude Code die v2-Runtime nur im Rahmen einer schrittweisen Einführung oder dann verwendet, wenn Sie `MCP_SDK_GENERATION=v2` gesetzt hatten.

1824 1834 

1835### Stopped an OAuth request

1836 

1837Diese Meldung bedeutet, dass Claude Code eine [OAuth-Anfrage für einen MCP-Server](https://code.claude.com/docs/de/mcp.md#authenticate-with-remote-mcp-servers) gestoppt hat, weil ein OAuth-Endpunkt sie weitergeleitet hat. In beiden Formen der Meldung ist die erste Adresse diejenige, die die Weiterleitung gesendet hat:

1838 

1839```text theme={null}

1840Stopped an OAuth request, which can hold secrets: https://auth.example.com redirected it to https://other.example.com. Ask the owner of https://auth.example.com to remove that redirect.

1841Stopped an OAuth request: https://auth.example.com redirected it more than 5 times. Ask the owner of https://auth.example.com to fix those redirects.

1842```

1843 

1844**Was zu tun ist:**

1845 

1846* Bitten Sie den Betreiber der ersten Adresse, etwa den Betreiber des MCP-Servers, die Weiterleitung zu entfernen oder zu korrigieren. Versuchen Sie es dann über `/mcp` erneut.

1847 

1825### Anmeldedaten werden nicht an einen Token-Endpunkt ohne HTTPS gesendet1848### Anmeldedaten werden nicht an einen Token-Endpunkt ohne HTTPS gesendet

1826 1849 

1827In der [v2-Runtime](https://code.claude.com/docs/de/mcp.md#mcp-client-runtimes) sendet Claude Code eine [MCP-OAuth](https://code.claude.com/docs/de/mcp.md#authenticate-with-remote-mcp-servers)-Token-Anfrage nur an einen Token-Endpunkt, der über HTTPS oder unter `localhost`, `127.0.0.1` oder `::1` bereitgestellt wird. Diese Meldung bedeutet, dass der Token-Endpunkt des Servers keines von beidem ist, sodass Claude Code vor dem Senden der Anfrage gestoppt hat. Das geschieht nach der Browser-Anmeldung, sodass der Browserschritt zunächst erfolgreich ist, und erneut jedes Mal, wenn Claude Code das Token des Servers aktualisiert.1850In der [v2-Runtime](https://code.claude.com/docs/de/mcp.md#mcp-client-runtimes) sendet Claude Code eine [MCP-OAuth](https://code.claude.com/docs/de/mcp.md#authenticate-with-remote-mcp-servers)-Token-Anfrage nur an einen Token-Endpunkt, der über HTTPS oder unter `localhost`, `127.0.0.1` oder `::1` bereitgestellt wird. Diese Meldung bedeutet, dass der Token-Endpunkt des Servers keines von beidem ist, sodass Claude Code vor dem Senden der Anfrage gestoppt hat. Das geschieht nach der Browser-Anmeldung, sodass der Browserschritt zunächst erfolgreich ist, und erneut jedes Mal, wenn Claude Code das Token des Servers aktualisiert.


2207 2230 

2208### Host not allowed in a cloud session2231### Host not allowed in a cloud session

2209 2232 

2210Eine ausgehende HTTP-Anfrage aus einer Cloud-Sitzung oder einer geplanten Cloud-Aufgabe wurde durch die Netzwerkrichtlinie der Umgebung blockiert.2233In einer Cloud-Sitzung oder einer geplanten Cloud-Aufgabe kann ein `403` oder ein DNS-Fehler wie `ENOTFOUND` bedeuten, dass der angefragte Host nicht auf der [Allowlist der Cloud-Umgebung](https://code.claude.com/docs/de/cloud-environments.md#access-levels) steht. Gleichen Sie den Host zur Bestätigung mit dieser Liste ab. Ein `403` mit diesem Header bestätigt die Blockierung, aber nicht jeder `403` einer blockierten Anfrage enthält ihn:

2211 2234 

2212```text theme={null}2235```text theme={null}

2213HTTP 4032236HTTP 403


2290 2313 

2291Vor v2.1.296 versuchte Claude Code einen fehlgeschlagenen Lesevorgang nicht erneut, und danach konnte es die Sitzung mit einer leeren Konversation öffnen und einen Erfolg melden, anstatt diese Meldung auszugeben.2314Vor v2.1.296 versuchte Claude Code einen fehlgeschlagenen Lesevorgang nicht erneut, und danach konnte es die Sitzung mit einer leeren Konversation öffnen und einen Erfolg melden, anstatt diese Meldung auszugeben.

2292 2315 

2316### Couldn't load the history of cloud session

2317 

2318Diese Meldung bedeutet, dass Claude Code die [Cloud-Sitzung, die Sie in Ihr Terminal holen wollten](https://code.claude.com/docs/de/claude-code-on-the-web.md#from-cloud-to-terminal), gefunden hat, die Anfrage nach ihrem Konversationsverlauf aber mit „nicht gefunden“ beantwortet wurde:

2319 

2320```text theme={null}

2321Couldn't load the history of cloud session session_01HJKLMNOPQRSTUVWXYZ. Check it at https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ?from=cli

2322```

2323 

2324**Was zu tun ist:**

2325 

2326* Öffnen Sie den Link in der Meldung, um die Sitzung in Ihrem Browser zu prüfen. Wenn sie sich dort öffnet und derselbe Teleport erneut auf diese Weise fehlschlägt, [melden Sie das Problem](#report-an-error).

2327 

2293### Couldn't reconnect to your Remote Control session2328### Couldn't reconnect to your Remote Control session

2294 2329 

2295```text theme={null}2330```text theme={null}


2565 2600 

2566Claude Code ändert die Größe großer Bilder normalerweise automatisch. Diese Fehler bedeuten, dass das Bild nicht dekodiert oder nicht so angepasst werden konnte, dass es in die API-Limits passt.2601Claude Code ändert die Größe großer Bilder normalerweise automatisch. Diese Fehler bedeuten, dass das Bild nicht dekodiert oder nicht so angepasst werden konnte, dass es in die API-Limits passt.

2567 2602 

2603Der angezeigte Fehler kann ein anderes Pixellimit nennen, etwa `2576x2576px`, wo diese Beispiele `2000x2000px` angeben.

2604 

2568**Was zu tun ist:**2605**Was zu tun ist:**

2569 2606 

2570* Wenn die Nachricht Sie auffordert, das Bild zu konvertieren, konvertieren Sie es in PNG, JPEG, GIF oder WebP und hängen Sie es erneut an. Claude Code kann die Dimensionen für diese Formate aus dem Datei-Header überprüfen, ohne das Bild zu dekodieren.2607* Wenn die Nachricht Sie auffordert, das Bild zu konvertieren, konvertieren Sie es in PNG, JPEG, GIF oder WebP und hängen Sie es erneut an. Claude Code kann die Dimensionen für diese Formate aus dem Datei-Header überprüfen, ohne das Bild zu dekodieren.


2873* **Ein Grund, den ein Hook geschrieben hat**: Ein PreModelSwitch-Hook hat diesen Grund angegeben, als er [den Wechsel verweigert oder um Bestätigung gebeten hat](https://code.claude.com/docs/de/hooks.md#premodelswitch-decision-control). Kümmern Sie sich um das, was er verlangt, oder wählen Sie ein Modell, das Ihre Hooks zulassen.2910* **Ein Grund, den ein Hook geschrieben hat**: Ein PreModelSwitch-Hook hat diesen Grund angegeben, als er [den Wechsel verweigert oder um Bestätigung gebeten hat](https://code.claude.com/docs/de/hooks.md#premodelswitch-decision-control). Kümmern Sie sich um das, was er verlangt, oder wählen Sie ein Modell, das Ihre Hooks zulassen.

2874* **`PreModelSwitch hook <name> did not respond before its timeout`**: Ein Hook, der nicht vor seinem [Timeout](https://code.claude.com/docs/de/hooks.md#timeouts) antwortet, blockiert den Wechsel. Beheben Sie den hängenden Befehl oder erhöhen Sie den `timeout` dieses Hooks und wechseln Sie dann erneut.2911* **`PreModelSwitch hook <name> did not respond before its timeout`**: Ein Hook, der nicht vor seinem [Timeout](https://code.claude.com/docs/de/hooks.md#timeouts) antwortet, blockiert den Wechsel. Beheben Sie den hängenden Befehl oder erhöhen Sie den `timeout` dieses Hooks und wechseln Sie dann erneut.

2875* **`confirmation required, and this session cannot ask`**: Ein Hook antwortete `ask` ohne Grund, und eine Steuerungsanfrage hat keine Möglichkeit, die Bestätigungsabfrage anzuzeigen. Ein `/model`-Befehl in einem [`-p`-Lauf](https://code.claude.com/docs/de/headless) meldet dieselbe Bedingung mit `(run /model interactively to confirm)` nach dem Grund. Führen Sie den Wechsel in einer interaktiven Sitzung durch, oder ändern Sie die Entscheidung des Hooks für dieses Modell.2912* **`confirmation required, and this session cannot ask`**: Ein Hook antwortete `ask` ohne Grund, und eine Steuerungsanfrage hat keine Möglichkeit, die Bestätigungsabfrage anzuzeigen. Ein `/model`-Befehl in einem [`-p`-Lauf](https://code.claude.com/docs/de/headless) meldet dieselbe Bedingung mit `(run /model interactively to confirm)` nach dem Grund. Führen Sie den Wechsel in einer interaktiven Sitzung durch, oder ändern Sie die Entscheidung des Hooks für dieses Modell.

2876* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code konnte nicht feststellen, welche PreModelSwitch-Hooks die [verwalteten Plugins](https://code.claude.com/docs/de/settings-reference.md#enabledplugins) Ihrer Organisation bereitstellen, zum Beispiel weil ein verwaltetes Plugin nicht geladen werden konnte. Einer dieser Hooks könnte den Wechsel blockieren, daher lehnt Claude Code ab, anstatt den Wechsel ungeprüft anzuwenden. Der Anfang des Grundes nennt, was fehlgeschlagen ist. Claude Code prüft bei jedem Wechselversuch erneut, daher blockiert ein inzwischen behobener Fehler nicht mehr; wenn es weiterhin fehlschlägt, führen Sie `claude --debug` aus und wechseln Sie erneut, um die Details zu erfassen, und beheben Sie dann das Plugin oder bitten Sie Ihren Admin, es zu beheben.2913* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code vor v2.1.323 lehnt ab, wenn es nicht feststellen kann, welche PreModelSwitch-Hooks Ihre [verwalteten Plugins](https://code.claude.com/docs/de/settings-reference.md#enabledplugins) mitliefern. Der Text vor dieser Formulierung nennt, was fehlgeschlagen ist. Um die Ablehnung zu beenden, aktualisieren Sie Claude Code. Damit auch die Hooks eines fehlgeschlagenen Plugins ausgeführt werden, beheben Sie das Plugin oder wenden Sie sich an Ihren Admin. Für Details starten Sie `claude --debug` in Ihrer Shell, wechseln Sie das Modell und lesen Sie dann das [Debug-Log](https://code.claude.com/docs/de/hooks.md#debug-hooks).

2877* **`a PreModelSwitch hook failed before answering`** oder **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: Der Hook-Lauf endete ohne Entscheidung, und Claude Code wertet das nicht als Genehmigung. Führen Sie `claude --debug` aus, um zu sehen, was fehlgeschlagen ist, und wechseln Sie dann erneut.2914* **`a PreModelSwitch hook failed before answering`** oder **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: Der Hook-Lauf endete ohne Entscheidung, und Claude Code wertet das nicht als Genehmigung. Führen Sie `claude --debug` aus, um zu sehen, was fehlgeschlagen ist, und wechseln Sie dann erneut.

2878 2915 

2879Vor v2.1.260 lautete die Ablehnung für verwaltete Plugins `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code versuchte das Laden der Plugins einmal erneut und lehnte dann spätere Wechsel in der Sitzung ab, auch wenn Ihre Organisation keine Plugins verwaltete. Starten Sie die Sitzung in diesen Versionen neu, um das Laden der Plugins erneut auszuführen.2916Vor v2.1.260 lautete die Ablehnung für verwaltete Plugins `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code versuchte das Laden der Plugins einmal erneut und lehnte dann spätere Wechsel in der Sitzung ab, auch wenn Ihre Organisation keine Plugins verwaltete. Starten Sie die Sitzung in diesen Versionen neu, um das Laden der Plugins erneut auszuführen.


3522Sie haben [Remote Control](https://code.claude.com/docs/de/remote-control.md) mit einem globalen `claude`-Flag vor dem Verb `remote-control` gestartet, das die von Remote Control gestarteten Sitzungen einschränken oder konfigurieren würde, etwa `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` oder `--mcp-config`. Ein vor dem Verb platziertes Flag erreicht diese Sitzungen nie. Claude Code verweigert stattdessen den Start und nennt das Flag:3559Sie haben [Remote Control](https://code.claude.com/docs/de/remote-control.md) mit einem globalen `claude`-Flag vor dem Verb `remote-control` gestartet, das die von Remote Control gestarteten Sitzungen einschränken oder konfigurieren würde, etwa `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` oder `--mcp-config`. Ein vor dem Verb platziertes Flag erreicht diese Sitzungen nie. Claude Code verweigert stattdessen den Start und nennt das Flag:

3523 3560 

3524```text theme={null}3561```text theme={null}

3525Error: `--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`).3562Error: `--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`). Pass settings with `claude remote-control --settings <file>`.

3526```3563```

3527 3564 

3528Globale Flags, deren Wegfall unbedenklich ist, etwa `--verbose`, `--model` oder ein von einem Wrapper eingefügtes `--session-id` oder `--plugin-dir`, lehnt Claude Code nicht ab: Es ignoriert sie, und Remote Control startet.3565Globale Flags, deren Wegfall unbedenklich ist, etwa `--verbose`, `--model` oder ein von einem Wrapper eingefügtes `--session-id` oder `--plugin-dir`, lehnt Claude Code nicht ab: Es ignoriert sie, und Remote Control startet.


3536 3573 

3537Vor v2.1.248 akzeptierte `claude remote-control` seine eigenen Flags nicht, wenn zuerst ein globales Flag kam, und der Befehl schlug mit einem `unknown option`-Fehler fehl.3574Vor v2.1.248 akzeptierte `claude remote-control` seine eigenen Flags nicht, wenn zuerst ein globales Flag kam, und der Befehl schlug mit einem `unknown option`-Fehler fehl.

3538 3575 

3576### Remote Control wurde wegen der `--settings`-Datei nicht gestartet

3577 

3578Die Datei, die Sie an [`claude remote-control --settings`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session) übergeben haben, hat ein Problem:

3579 

3580```text theme={null}

3581Error: Remote Control did not start, because sessions would skip part or all of the --settings file ./rc-settings.json: Invalid or malformed JSON

3582```

3583 

3584**Was Sie tun können:**

3585 

3586* Beheben Sie das Problem, das die Meldung nennt, und führen Sie Ihren `claude remote-control`-Befehl dann erneut aus

3587 

3588### The settings file has changed since Remote Control started

3589 

3590Diese Meldung im Terminal, in dem `claude remote-control` läuft, bedeutet, dass Sitzungen nicht mit der Datei in ihrem jetzigen Zustand starten, die Sie an [`--settings`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session) übergeben haben:

3591 

3592```text theme={null}

3593Session failed: Error: The settings file /path/to/settings.json has changed since Remote Control started, so this session did not start. Restart `claude remote-control` to use it as it is now.

3594```

3595 

3596**Was Sie tun können:**

3597 

3598* Um die Datei in ihrem jetzigen Zustand zu verwenden, stoppen Sie `claude remote-control` und führen Sie denselben Befehl erneut aus. Um die Sitzungen zurückzuholen, die es bedient hat, siehe [Sitzungen nach dem Stoppen des Servers fortsetzen](https://code.claude.com/docs/de/remote-control.md#resume-sessions-after-stopping-the-server).

3599* Um die Einstellungen beizubehalten, mit denen Remote Control gestartet wurde, stellen Sie den Inhalt der Datei wieder so her, wie er war, und führen Sie den Befehl dann erneut aus, falls sich `claude remote-control` beendet hat

3600 

3539### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3601### `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3540 3602 

3541Dieser Fehler bedeutet, dass der Befehl, der Ihren [Remote Control](https://code.claude.com/docs/de/remote-control.md)-Server startet, `--sandbox` oder `--no-sandbox` nach `remote-control` übergibt, und `claude remote-control` akzeptiert keines der beiden Flags. Der Server beendet sich mit Exit-Code 1, anstatt zu starten:3603Dieser Fehler bedeutet, dass der Befehl, der Ihren [Remote Control](https://code.claude.com/docs/de/remote-control.md)-Server startet, `--sandbox` oder `--no-sandbox` nach `remote-control` übergibt, und `claude remote-control` akzeptiert keines der beiden Flags. Der Server beendet sich mit Exit-Code 1, anstatt zu starten:


3806 3868 

3807Verwandte Meldungen treten auf, bevor der Befehl überhaupt ausgeführt wird:3869Verwandte Meldungen treten auf, bevor der Befehl überhaupt ausgeführt wird:

3808 3870 

3809* `Shell command permission check failed for pattern "..."`: Die Berechtigungsprüfung des Befehls hat ihn nicht zugelassen. [Berechtigungsprüfungen für eingefügte Befehle](https://code.claude.com/docs/de/skills.md#permission-checks-on-injected-commands) beschreibt, welche Ergebnisse in jedem Berechtigungsmodus abbrechen und wie Sie einen Befehl mit `allowed-tools` vorab genehmigen3871* `Shell command permission check failed for pattern "..."`: Die Berechtigungsprüfung des Befehls hat ihn nicht erlaubt. Siehe [Berechtigungsprüfungen für eingefügte Befehle](https://code.claude.com/docs/de/skills.md#permission-checks-on-injected-commands) dazu, welche Ergebnisse in jedem Berechtigungsmodus zum Abbruch führen und wann `allowed-tools` einen Befehl vorab genehmigt

3810* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: Das Frontmatter des Skills verlangt bash auf einem Rechner ohne bash. Installieren Sie Git for Windows oder ändern Sie das Frontmatter zu `shell: powershell`. Siehe [Wie eingefügte Befehle ausgeführt werden](https://code.claude.com/docs/de/skills.md#how-injected-commands-run)3872* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: Das Frontmatter des Skills verlangt Bash auf einem Rechner, auf dem es nicht vorhanden ist. Installieren Sie Git for Windows oder ändern Sie das Frontmatter in `shell: powershell`. Siehe [Wie eingefügte Befehle ausgeführt werden](https://code.claude.com/docs/de/skills.md#how-injected-commands-run)

3811 3873 

3812**Vorgehensweise:**3874**Vorgehensweise:**

3813 3875 


3960 4022 

3961* **Sie haben keinen Basis-Branch übergeben**: Claude Code hat mit dem Standard-Branch des Repositorys verglichen und schlägt vor, Ihre Basis explizit zu übergeben, wie im obigen Beispiel4023* **Sie haben keinen Basis-Branch übergeben**: Claude Code hat mit dem Standard-Branch des Repositorys verglichen und schlägt vor, Ihre Basis explizit zu übergeben, wie im obigen Beispiel

3962* **Sie haben einen Basis-Branch übergeben, der bereits in Ihrem Klon vorhanden war**: Der Hinweis lautet ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``4024* **Sie haben einen Basis-Branch übergeben, der bereits in Ihrem Klon vorhanden war**: Der Hinweis lautet ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3963* **Sie haben einen Basis-Branch übergeben, der nicht in Ihrem Klon vorhanden 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 feststellen kann, ob Ihr Klon flach ist, schlägt es stattdessen `git fetch --unshallow origin` vor. Vor v2.1.221 schlug der Hinweis für jeden abgerufenen Basis-Branch `git fetch --unshallow origin` vor, und bei einem vollständigen Klon schlägt dieser Befehl mit `fatal: --unshallow on a complete repository does not make sense` fehl.4025* **Sie haben einen Basis-Branch übergeben, der nicht in Ihrem Klon vorhanden 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 erkennen kann, ob Ihr Klon flach (shallow) ist, schlägt es stattdessen `git fetch --unshallow origin` vor. Vor v2.1.221 schlug der Hinweis für jeden abgerufenen Basis-Branch `git fetch --unshallow origin` vor, und bei einem vollständigen Klon schlägt dieser Befehl mit `fatal: --unshallow on a complete repository does not make sense` fehl.

3964 4026 

3965**Vorgehensweise:**4027**Vorgehensweise:**

3966 4028 


4490commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4552commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

4491```4553```

4492 4554 

4493Eine Meldung, die den vollständigen Pfad einer der eigenen Dateien eines Marketplace-Plugins angibt, etwa `hooks/hooks.json`, bedeutet, dass Claude Code diese Datei übersprungen hat. Das geschieht, wenn Claude Code nicht bestätigen kann, dass die Datei innerhalb des Plugins liegt, oder, bei einem Plugin in einem [lokalen Marketplace](https://code.claude.com/docs/de/plugins/loading.md#in-place-and-copied-plugins), innerhalb dieses Marketplace. Die Meldung führt jede dieser Dateien unter dem angezeigten Komponentennamen:4555Eine Meldung, die den vollständigen Pfad einer der eigenen Dateien eines Marketplace-Plugins angibt, etwa `hooks/hooks.json`, bedeutet, dass Claude Code diese Datei übersprungen hat. Wenn Claude Code nicht bestätigen kann, dass sich die Datei innerhalb des Plugins befindet – oder bei einem Plugin in einem [lokalen Marketplace](https://code.claude.com/docs/de/plugins/loading.md#in-place-and-copied-plugins) innerhalb seines Marketplace –, überspringt es die Datei. Die Meldung führt diese Dateien unter dem angezeigten Komponentennamen auf:

4494 4556 

4495* `hooks/hooks.json`: `hooks`4557* `hooks/hooks.json`: `hooks`

4496* `monitors/monitors.json`: `monitors`4558* `monitors/monitors.json`: `monitors`

4497* `settings.json`: `settings`

4498* `SKILL.md` im Plugin-Stammverzeichnis: `skills`4559* `SKILL.md` im Plugin-Stammverzeichnis: `skills`

4499 4560 

4500Diese Meldung betrifft beispielsweise eine `hooks/hooks.json`, die sowohl außerhalb des Plugins als auch außerhalb seines lokalen Marketplace aufgelöst wird:4561Diese Meldung betrifft beispielsweise eine `hooks/hooks.json`, die sowohl außerhalb des Plugins als auch außerhalb seines lokalen Marketplace aufgelöst wird:


5481Sie haben eine [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md) geöffnet, die endete, während der Hintergrund-Service aus war, und die [Transkript-Bereinigung](https://code.claude.com/docs/de/settings-reference.md#cleanupperioddays) hat seitdem ihre gespeicherte Konversation entfernt, zum Beispiel nachdem der Computer für Wochen aus war. Das Öffnen einer solchen Zeile [setzt normalerweise ihre gespeicherte Konversation fort](https://code.claude.com/docs/de/agent-view.md#sessions-show-as-failed-after-shutdown). Da nichts zum Fortsetzen übrig ist, lehnt Claude Code ab, anstatt den ursprünglichen Prompt der Sitzung ohne Nachfrage erneut auszuführen:5542Sie haben eine [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md) geöffnet, die endete, während der Hintergrund-Service aus war, und die [Transkript-Bereinigung](https://code.claude.com/docs/de/settings-reference.md#cleanupperioddays) hat seitdem ihre gespeicherte Konversation entfernt, zum Beispiel nachdem der Computer für Wochen aus war. Das Öffnen einer solchen Zeile [setzt normalerweise ihre gespeicherte Konversation fort](https://code.claude.com/docs/de/agent-view.md#sessions-show-as-failed-after-shutdown). Da nichts zum Fortsetzen übrig ist, lehnt Claude Code ab, anstatt den ursprünglichen Prompt der Sitzung ohne Nachfrage erneut auszuführen:

5482 5543 

5483```text theme={null}5544```text theme={null}

5484This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.5545This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` removes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.

5485```5546```

5486 5547 

5487`claude attach <id>` gibt diesen Text aus. In der Agent-Ansicht ist die Fußzeile kürzer und endet mit `ctrl+x deletes the row`.5548`claude attach <id>` gibt diesen Text aus. In der Agent-Ansicht ist die Fußzeile kürzer und endet mit `ctrl+x removes the row`.

5488 5549 

5489**Was zu tun ist:**5550**Was zu tun ist:**

5490 5551 


5503 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef5564 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

5504```5565```

5505 5566 

5506Wenn Claude Code die Commits nicht zusammenfassen kann, lautet die Detailzeile stattdessen `The worktree has unpushed commits`. In der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) zeigt die Sitzungszeile `not deleted` mit dem gleichen Grund.5567Wenn Claude Code die Commits nicht zusammenfassen kann, lautet die Detailzeile stattdessen `The worktree has unpushed commits`. In der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) zeigt die Sitzungszeile `not removed` mit dem gleichen Grund.

5507 5568 

5508Commits 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.5569Commits 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.

5509 5570 


5780 5841 

5781Diese Fehler stammen von dem Programm, das Claude Code für Sie gestartet hat, z. B. eine IDE-Erweiterung oder eine [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Anwendung, und nicht von Claude Code selbst.5842Diese Fehler stammen von dem Programm, das Claude Code für Sie gestartet hat, z. B. eine IDE-Erweiterung oder eine [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Anwendung, und nicht von Claude Code selbst.

5782 5843 

5844### Subprocess initialization did not complete within 60000ms

5845 

5846Dieser Fehler bedeutet, dass ein Claude Code-Prozess, den die [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) oder eine Agent SDK-Anwendung gestartet hat, nicht rechtzeitig gemeldet hat, dass er bereit ist. Die Erweiterung bzw. Anwendung hat ihn daraufhin beendet. In einer VS Code-Konversation beginnt der Fehler mit `Claude Code did not finish starting`, zum Beispiel:

5847 

5848```text theme={null}

5849Claude Code did not finish starting: it did not answer in time. The output logs ("View output logs") show how far it got. Slow plugins, MCP servers, hooks, disks or network can each cause this.

5850```

5851 

5852In den Ausgabe-Logs der Erweiterung, auf ihrem Anmeldebildschirm und in einer Agent SDK-Anwendung lautet der Fehler anders. Er beginnt mit `Subprocess initialization did not complete within` und dem Zeitlimit und gibt dann an, was Claude Code gemeldet hat, zum Beispiel:

5853 

5854```text theme={null}

5855Subprocess initialization did not complete within 60000ms. Claude Code did not answer the initialize request and reported no SessionStart or Setup hook running. Slow plugins, MCP servers, hooks that Claude Code does not report, disks or network can each cause this.

5856```

5857 

5858**Was zu tun ist:**

5859 

5860* Um es in VS Code erneut zu versuchen, senden Sie eine Nachricht. Wenn der Fehler während der Anmeldung aufgetreten ist, wählen Sie stattdessen die Anmeldemethode erneut aus.

5861* Um zu sehen, wie weit Claude Code gekommen ist, klicken Sie unter dem Fehler einer Konversation auf **View output logs**, oder führen Sie **Claude Code: Show Logs** über die Befehlspalette aus. Fügen Sie die Einträge rund um die Zeile `Subprocess initialization` bei, wenn Sie [das Problem melden](https://github.com/anthropics/claude-code/issues).

5862* Informationen zur Überprüfung Ihres Netzwerks finden Sie unter [Netzwerkkonfiguration](https://code.claude.com/docs/de/network-config.md). Wenn die Meldung Sie auffordert, Ihre Anmeldung oder Authentifizierung zu überprüfen, lesen Sie [Anmeldung und Authentifizierung](https://code.claude.com/docs/de/troubleshoot-install.md#login-and-authentication).

5863* Wenn die Meldung besagt, dass [SessionStart](https://code.claude.com/docs/de/hooks.md#sessionstart)- oder [Setup](https://code.claude.com/docs/de/hooks.md#setup)-Hooks noch nicht abgeschlossen waren, [prüfen Sie, wie lange Ihre Hooks laufen](https://code.claude.com/docs/de/hooks.md#debug-hooks). In VS Code zählen die ersten 10 Minuten, in denen Claude Code meldet, dass diese Hooks laufen, nicht zum 60-Sekunden-Limit. Sorgen Sie dafür, dass ein langsamer Hook früher fertig wird, senken Sie den [`timeout`](https://code.claude.com/docs/de/hooks#common-fields) eines nicht asynchronen Hooks, oder [entfernen Sie den Hook](https://code.claude.com/docs/de/hooks.md#disable-or-remove-hooks).

5864* Wenn Ihre Agent SDK-Anwendung [`startup()`](https://code.claude.com/docs/de/agent-sdk/typescript#startup) aufruft, setzen Sie `initializeTimeoutMs` lang genug für den gesamten Start, oder lassen Sie es ungesetzt, damit bis zu 10 Minuten gemeldeter Hook-Zeit nicht mitzählen.

5865 

5866Vor der VS Code-Erweiterung v2.1.304 und dem TypeScript Agent SDK v0.3.304 zählte die gesamte Hook-Zeit zum Limit. Mit dem Standardlimit enthielt die Meldung `Subprocess initialization did not complete within 60000ms — check authentication and network connectivity`. Wenn Sie diesen Wortlaut sehen, aktualisieren Sie die Erweiterung oder das SDK.

5867 

5783### Claude Code-Prozess mit Code N beendet5868### Claude Code-Prozess mit Code N beendet

5784 5869 

5785Der zugrunde liegende `claude`-Prozess wurde mit einem Nicht-Null-Code beendet. Der Exit-Code allein sagt nicht, was fehlgeschlagen ist: Der eigentliche Fehler befindet sich in der eigenen Ausgabe des Prozesses, die der Wrapper anfügt, wenn er etwas erfasst hat, und ansonsten in seinen Protokollen behält.5870Der zugrunde liegende `claude`-Prozess wurde mit einem Nicht-Null-Code beendet. Der Exit-Code allein sagt nicht, was fehlgeschlagen ist: Der eigentliche Fehler befindet sich in der eigenen Ausgabe des Prozesses, die der Wrapper anfügt, wenn er etwas erfasst hat, und ansonsten in seinen Protokollen behält.

Details

117 <td>✗</td>117 <td>✗</td>

118 </tr>118 </tr>

119 119 

120 <tr>

121 <td>[Code Mode](https://code.claude.com/docs/de/code-mode.md)</td>

122 <td>✓ (experimentell, [Anforderungen gelten](https://code.claude.com/docs/de/code-mode.md#requirements))</td>

123 <td>✓ (experimentell, [Anforderungen gelten](https://code.claude.com/docs/de/code-mode.md#requirements))</td>

124 <td>✗</td>

125 <td>✗</td>

126 <td>✗</td>

127 <td>✗</td>

128 </tr>

129 

120 <tr>130 <tr>

121 <td>[Sitzungsübergreifendes Messaging](https://code.claude.com/docs/de/cross-session-messaging.md)</td>131 <td>[Sitzungsübergreifendes Messaging](https://code.claude.com/docs/de/cross-session-messaging.md)</td>

122 <td>✓ <sup>[5](#fn5)</sup></td>132 <td>✓ <sup>[5](#fn5)</sup></td>


231 241 

232> [tab] Amazon Bedrock242> [tab] Amazon Bedrock

233>243>

234> **Nicht verfügbar:** alle [Funktionen, die ein Claude-Abonnement erfordern](#features-that-require-a-claude-subscription), plus [Web search](https://code.claude.com/docs/de/tools-reference.md#websearch-tool-behavior), [fast mode](https://code.claude.com/docs/de/fast-mode.md), [Advisor](https://code.claude.com/docs/de/advisor.md), [Channels](https://code.claude.com/docs/de/channels.md), das [analytics dashboard](https://code.claude.com/docs/de/analytics.md), [server-managed settings](https://code.claude.com/docs/de/server-managed-settings.md) und die [`/design-sync` und `/import` commands](https://code.claude.com/docs/de/commands#all-commands).244> **Nicht verfügbar:** alle [Funktionen, die ein Claude-Abonnement erfordern](#features-that-require-a-claude-subscription), plus [Web search](https://code.claude.com/docs/de/tools-reference.md#websearch-tool-behavior), [fast mode](https://code.claude.com/docs/de/fast-mode.md), [Advisor](https://code.claude.com/docs/de/advisor.md), [Channels](https://code.claude.com/docs/de/channels.md), [Code Mode](https://code.claude.com/docs/de/code-mode.md), das [analytics dashboard](https://code.claude.com/docs/de/analytics.md), [server-managed settings](https://code.claude.com/docs/de/server-managed-settings.md) und die [`/design-sync` und `/import` commands](https://code.claude.com/docs/de/commands#all-commands).

235>245>

236> **Teilweise Unterstützung:**246> **Teilweise Unterstützung:**

237>247>


244 254 

245> [tab] Claude Platform on AWS255> [tab] Claude Platform on AWS

246>256>

247> **Nicht verfügbar:** alle [Funktionen, die ein Claude-Abonnement erfordern](#features-that-require-a-claude-subscription), plus [fast mode](https://code.claude.com/docs/de/fast-mode.md), [Channels](https://code.claude.com/docs/de/channels.md), [GitHub Actions](https://code.claude.com/docs/de/github-actions.md), das [analytics dashboard](https://code.claude.com/docs/de/analytics.md), [server-managed settings](https://code.claude.com/docs/de/server-managed-settings.md) und die [`/design-sync` und `/import` commands](https://code.claude.com/docs/de/commands#all-commands).257> **Nicht verfügbar:** alle [Funktionen, die ein Claude-Abonnement erfordern](#features-that-require-a-claude-subscription), plus [fast mode](https://code.claude.com/docs/de/fast-mode.md), [Channels](https://code.claude.com/docs/de/channels.md), [GitHub Actions](https://code.claude.com/docs/de/github-actions.md), [Code Mode](https://code.claude.com/docs/de/code-mode.md), das [analytics dashboard](https://code.claude.com/docs/de/analytics.md), [server-managed settings](https://code.claude.com/docs/de/server-managed-settings.md) und die [`/design-sync` und `/import` commands](https://code.claude.com/docs/de/commands#all-commands).

248>258>

249> **Hier verfügbar, nicht auf Amazon Bedrock:** [Web search](https://code.claude.com/docs/de/tools-reference.md#websearch-tool-behavior) sowie der [Advisor](https://code.claude.com/docs/de/advisor.md) in Claude Code v2.1.300 oder später.259> **Hier verfügbar, nicht auf Amazon Bedrock:** [Web search](https://code.claude.com/docs/de/tools-reference.md#websearch-tool-behavior) sowie der [Advisor](https://code.claude.com/docs/de/advisor.md) in Claude Code v2.1.300 oder später.

250>260>


256 266 

257> [tab] Google Cloud's Agent Platform267> [tab] Google Cloud's Agent Platform

258>268>

259> **Nicht verfügbar:** alle [Funktionen, die ein Claude-Abonnement erfordern](#features-that-require-a-claude-subscription), plus [Advisor](https://code.claude.com/docs/de/advisor.md), [Channels](https://code.claude.com/docs/de/channels.md), das [analytics dashboard](https://code.claude.com/docs/de/analytics.md), [server-managed settings](https://code.claude.com/docs/de/server-managed-settings.md) und die [`/design-sync` und `/import` commands](https://code.claude.com/docs/de/commands#all-commands).269> **Nicht verfügbar:** alle [Funktionen, die ein Claude-Abonnement erfordern](#features-that-require-a-claude-subscription), plus [Advisor](https://code.claude.com/docs/de/advisor.md), [Channels](https://code.claude.com/docs/de/channels.md), [Code Mode](https://code.claude.com/docs/de/code-mode.md), das [analytics dashboard](https://code.claude.com/docs/de/analytics.md), [server-managed settings](https://code.claude.com/docs/de/server-managed-settings.md) und die [`/design-sync` und `/import` commands](https://code.claude.com/docs/de/commands#all-commands).

260>270>

261> **Teilweise Unterstützung:**271> **Teilweise Unterstützung:**

262>272>


271 281 

272> [tab] Microsoft Foundry282> [tab] Microsoft Foundry

273>283>

274> **Nicht verfügbar:** alle [Funktionen, die ein Claude-Abonnement erfordern](#features-that-require-a-claude-subscription), plus [fast mode](https://code.claude.com/docs/de/fast-mode.md), [Advisor](https://code.claude.com/docs/de/advisor.md), [Channels](https://code.claude.com/docs/de/channels.md), [GitLab CI/CD](https://code.claude.com/docs/de/gitlab-ci-cd.md), das [analytics dashboard](https://code.claude.com/docs/de/analytics.md), [server-managed settings](https://code.claude.com/docs/de/server-managed-settings.md) und die [`/design-sync` und `/import` commands](https://code.claude.com/docs/de/commands#all-commands).284> **Nicht verfügbar:** alle [Funktionen, die ein Claude-Abonnement erfordern](#features-that-require-a-claude-subscription), plus [fast mode](https://code.claude.com/docs/de/fast-mode.md), [Advisor](https://code.claude.com/docs/de/advisor.md), [Channels](https://code.claude.com/docs/de/channels.md), [GitLab CI/CD](https://code.claude.com/docs/de/gitlab-ci-cd.md), [Code Mode](https://code.claude.com/docs/de/code-mode.md), das [analytics dashboard](https://code.claude.com/docs/de/analytics.md), [server-managed settings](https://code.claude.com/docs/de/server-managed-settings.md) und die [`/design-sync` und `/import` commands](https://code.claude.com/docs/de/commands#all-commands).

275>285>

276> **Teilweise Unterstützung:**286> **Teilweise Unterstützung:**

277>287>

gateways.md +1 −1

Details

63* **Client-Telemetrie**: Claude Code deaktiviert seine Anthropic-gebundene Client-Analytik, wenn sich eine Sitzung bei einem Claude apps Gateway anmeldet. Um auch die Telemetrie vor der Anmeldung beim Startup auszuschalten, liefern Sie [`DISABLE_TELEMETRY`](https://code.claude.com/docs/de/managed-settings#turn-telemetry-off-for-your-organization) in den [clientseitigen verwalteten Einstellungen](https://code.claude.com/docs/de/claude-apps-gateway-config.md#client-side-managed-settings) auf jedem Gerät.63* **Client-Telemetrie**: Claude Code deaktiviert seine Anthropic-gebundene Client-Analytik, wenn sich eine Sitzung bei einem Claude apps Gateway anmeldet. Um auch die Telemetrie vor der Anmeldung beim Startup auszuschalten, liefern Sie [`DISABLE_TELEMETRY`](https://code.claude.com/docs/de/managed-settings#turn-telemetry-off-for-your-organization) in den [clientseitigen verwalteten Einstellungen](https://code.claude.com/docs/de/claude-apps-gateway-config.md#client-side-managed-settings) auf jedem Gerät.

64* **Client-Telemetrie auf anderen Gateways**: Ob Claude Code den optionalen Client-Telemetrie-Stream sendet, hängt von Ihrem Anbieter ab, und die [Telemetrie-Standardtabelle](https://code.claude.com/docs/de/data-usage.md#default-behaviors-by-api-provider) behandelt jeden Fall.64* **Client-Telemetrie auf anderen Gateways**: Ob Claude Code den optionalen Client-Telemetrie-Stream sendet, hängt von Ihrem Anbieter ab, und die [Telemetrie-Standardtabelle](https://code.claude.com/docs/de/data-usage.md#default-behaviors-by-api-provider) behandelt jeden Fall.

65* **Telemetrie-Ziele**: Wohin Claude Code die Telemetrie einer Gateway-Sitzung sendet, hängt davon ab, wie sich die Sitzung angemeldet hat, und [Was wird bei Entwicklern durchgesetzt](https://code.claude.com/docs/de/claude-apps-gateway#whats-enforced-on-developers) sagt, wohin die Exporte jeder Art von Sitzung gehen.65* **Telemetrie-Ziele**: Wohin Claude Code die Telemetrie einer Gateway-Sitzung sendet, hängt davon ab, wie sich die Sitzung angemeldet hat, und [Was wird bei Entwicklern durchgesetzt](https://code.claude.com/docs/de/claude-apps-gateway#whats-enforced-on-developers) sagt, wohin die Exporte jeder Art von Sitzung gehen.

66* **Unternehmens-HTTP-Proxies**: Ein `HTTPS_PROXY` sitzt zwischen Claude Code und jedem Server, mit dem es spricht, einschließlich des Gateways. Wenn Ihr Netzwerk einen benötigt, [konfigurieren Sie den Proxy](https://code.claude.com/docs/de/network-config.md) zusätzlich zum Gateway. Für ein Claude apps Gateway, das Sie hosten, [überprüft die Anmeldung, dass der Proxy-Host auch in einem privaten Netzwerk ist](https://code.claude.com/docs/de/claude-apps-gateway#prerequisites); wenn nicht, fügen Sie den Gateway-Host zu `NO_PROXY` hinzu, damit die CLI sich direkt mit ihm verbindet.66* **Unternehmens-HTTP-Proxys**: Claude Code sendet seine Anfragen, einschließlich derer an das Gateway, über den Proxy in `HTTPS_PROXY`. Wenn Ihr Netzwerk einen Proxy erfordert, [konfigurieren Sie ihn](https://code.claude.com/docs/de/network-config.md). Wenn der Proxy für ein Claude apps Gateway gilt, das Sie hosten, erfordert die [Anmeldung](https://code.claude.com/docs/de/claude-apps-gateway#prerequisites), dass der Hostname des Proxys in private Adressen aufgelöst wird oder dass der Gateway-Host in `NO_PROXY` steht.

67 67 

68## Nächste Schritte68## Nächste Schritte

69 69 

Details

129| Administration | Lesen |129| Administration | Lesen |

130| Checks | Lesen und Schreiben |130| Checks | Lesen und Schreiben |

131| Contents | Lesen und Schreiben |131| Contents | Lesen und Schreiben |

132| Dependabot alerts | Lesen |

132| Discussions | Lesen und Schreiben |133| Discussions | Lesen und Schreiben |

133| Issues | Lesen und Schreiben |134| Issues | Lesen und Schreiben |

134| Members | Lesen |135| Members | Lesen |

Details

84> Erstellen Sie eine Microsoft Entra-Anwendung mit einer Verbundberechtigung für Ihr Repository, indem Sie [Microsofts Anleitung zur Authentifizierung von GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect) befolgen:84> Erstellen Sie eine Microsoft Entra-Anwendung mit einer Verbundberechtigung für Ihr Repository, indem Sie [Microsofts Anleitung zur Authentifizierung von GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect) befolgen:

85>85>

86> * Registrieren Sie eine Microsoft Entra-Anwendung und fügen Sie eine Verbundidentitätsberechtigung hinzu, die Tokens vertraut, die GitHub für Ihr Repository ausstellt. Eine benutzerzugewiesene verwaltete Identität funktioniert anstelle einer Anwendung. Beide haben die Client-ID, die Sie unten notieren86> * Registrieren Sie eine Microsoft Entra-Anwendung und fügen Sie eine Verbundidentitätsberechtigung hinzu, die Tokens vertraut, die GitHub für Ihr Repository ausstellt. Eine benutzerzugewiesene verwaltete Identität funktioniert anstelle einer Anwendung. Beide haben die Client-ID, die Sie unten notieren

87> * Weisen Sie der Anwendung die Rolle `Azure AI User` auf Ihrer Foundry-Ressource zu. Siehe [Azure RBAC-Konfiguration](https://code.claude.com/docs/de/microsoft-foundry.md#azure-rbac-configuration) für eine engere benutzerdefinierte Rolle87> * Weisen Sie der Anwendung die Rolle `Foundry User` auf Ihrer Foundry-Ressource zu. Siehe [Azure RBAC-Konfiguration](https://code.claude.com/docs/de/microsoft-foundry.md#azure-rbac-configuration) für die andere integrierte Rolle und benutzerdefinierte Rollen

88>88>

89> Notieren Sie sich die Client-ID der Anwendung, Ihre Mandanten-ID und Ihre Abonnement-ID. Sie fügen sie als Geheimnisse im nächsten Schritt hinzu.89> Notieren Sie sich die Client-ID der Anwendung, Ihre Mandanten-ID und Ihre Abonnement-ID. Sie fügen sie als Geheimnisse im nächsten Schritt hinzu.

90 90 


109 109 

110Wenn Sie im ersten Schritt eine andere GitHub-Identität gewählt haben, passen Sie das Beispiel an:110Wenn Sie im ersten Schritt eine andere GitHub-Identität gewählt haben, passen Sie das Beispiel an:

111 111 

112* **Offizielle Claude GitHub App**: löschen Sie den Schritt „Generate GitHub App token" und die Zeile `github_token`112* **Offizielle Claude GitHub App**: löschen Sie den Schritt „Generate GitHub App token“ und die Zeile `github_token`

113* **GitHub's automatisches Token**: löschen Sie den Token-Generierungsschritt und ändern Sie die Zeile `github_token` in `github_token: ${{ secrets.GITHUB_TOKEN }}`113* **GitHub's automatisches Token**: löschen Sie den Token-Generierungsschritt und ändern Sie die Zeile `github_token` in `github_token: ${{ secrets.GITHUB_TOKEN }}`

114 114 

115> [!WARNING]115> [!WARNING]


291 291 

292**5. Testen Sie die Einrichtung**292**5. Testen Sie die Einrichtung**

293 293 

294Erwähnen Sie `@claude` in einem Issue- oder PR-Kommentar, und beobachten Sie dann die Ausführung auf der Registerkarte „Actions" des Repositories. Claude antwortet in einem Kommentar zum gleichen Issue oder PR.294Erwähnen Sie `@claude` in einem Issue- oder PR-Kommentar, und beobachten Sie dann die Ausführung auf der Registerkarte „Actions“ des Repositories. Claude antwortet in einem Kommentar zum gleichen Issue oder PR.

295 295 

296## Fehlerbehebung296## Fehlerbehebung

297 297 

Details

228 228 

229### Wenn ein Modell während der Sitzung deaktiviert wird229### Wenn ein Modell während der Sitzung deaktiviert wird

230 230 

231Wenn Ihr Projekt den Zugriff auf das Modell verliert, auf dem Ihre Sitzung läuft, beispielsweise weil ein Administrator es im [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) deaktiviert, wechselt Claude Code die Sitzung zu einem anderen Modell, anstatt jede Anfrage fehlschlagen zu lassen, und zeigt `Switched to <fallback> because <model> is not available` an. Es versucht die gleichen Modelle wie das Startup-Fallback: frühere Versionen der gleichen Stufe zuerst und für eine Opus-Sitzung ohne verfügbare Opus-Version das Standard-Sonnet-Modell.231Wenn Agent Platform das Modell Ihrer Sitzung als in Ihrem Projekt oder Ihrer Region nicht verfügbar ablehnt, wechselt Claude Code Ihre Sitzung zu einem anderen Modell, und Sie können weiterarbeiten. Sie sehen eine Meldung, die mit `Switched to <fallback> because <model> is not available` beginnt. Dies geschieht beispielsweise, wenn ein Administrator das Modell im [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) deaktiviert oder es in Ihrer Region nicht bereitgestellt wird.

232 232 

233Der Wechsel gilt nur für eine Stufe, die Sie nicht fixiert haben, die gleiche Bedingung wie das Startup-Fallback. Eine Sitzung auf einer bestimmten Version, die Sie ausgewählt haben, behält ihr Modell bei und ohne eine Fallback-Modellkette schlägt die Anfrage stattdessen fehl. Im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry) wechselt Claude Code nur zu einem Modell, das der Auto-Modus auf Agent Platform unterstützt. Wenn auch keines dieser Modelle verfügbar ist, schlägt die Anfrage fehl.233Wenn Sie eine [Fallback-Modellkette](https://code.claude.com/docs/de/model-config.md#fallback-model-chains) konfiguriert haben, wechselt Claude Code stattdessen zu Ihrem konfigurierten Fallback. Ohne eine Kette schlägt die Anfrage beispielsweise in diesen Fällen fehl:

234 234 

235Eine [Fallback-Modellkette](https://code.claude.com/docs/de/model-config.md#fallback-model-chains), die Sie konfigurieren, ersetzt den Stufenwechsel: Bei diesen Ablehnungen wechselt Claude Code stattdessen zu Ihrem konfigurierten Fallback. Um abgelehnte Anfragen fehlschlagen zu lassen, anstatt zu wechseln, setzen Sie [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/de/env-vars). Eine Fallback-Kette, die Sie konfiguriert haben, wechselt immer noch bei diesen Ablehnungen; entfernen Sie auch die Kette, wenn Sie möchten, dass jede abgelehnte Anfrage fehlschlägt.235* Ihre Sitzung läuft auf einem fixierten Modell oder einer bestimmten Version, die Sie ausgewählt haben

236* Keines der [Modelle, die Claude Code versucht](#startup-model-checks), ist verfügbar. Im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry) wechselt Claude Code nur zu einem Modell, das der Auto-Modus auf Agent Platform unterstützt.

237 

238Um weiterzuarbeiten, führen Sie `/model` in der Sitzung aus und drücken Sie `s` bei einem Modell, das in Ihrem Projekt und Ihrer Region verfügbar ist. Ihr Standard bleibt dabei unverändert.

239 

240Um abgelehnte Anfragen fehlschlagen zu lassen, anstatt zu wechseln, setzen Sie [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/de/env-vars). Wenn Sie eine Fallback-Modellkette konfiguriert haben, entfernen Sie diese ebenfalls, da Claude Code sonst weiterhin zu diesem Fallback wechselt.

236 241 

237## IAM-Konfiguration242## IAM-Konfiguration

238 243 

hooks.md +22 −7

Details

257Unternehmensadministratoren können [`allowManagedHooksOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedhooksonly) in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) verwenden, um einzuschränken, welche Hooks ausgeführt werden:257Unternehmensadministratoren können [`allowManagedHooksOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedhooksonly) in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) verwenden, um einzuschränken, welche Hooks ausgeführt werden:

258 258 

259* Ihre Benutzer-, Projekt-, lokalen und Plugin-Hooks werden blockiert. Hooks aus Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, sind ausgenommen259* Ihre Benutzer-, Projekt-, lokalen und Plugin-Hooks werden blockiert. Hooks aus Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, sind ausgenommen

260* Claude Code schränkt auch Ihre [`statusLine`](https://code.claude.com/docs/de/statusline), [`fileSuggestion`](https://code.claude.com/docs/de/settings-reference#filesuggestion) und [`subagentStatusLine`](https://code.claude.com/docs/de/statusline#subagent-status-lines) Einstellungen auf verwaltete Einstellungen ein260* Claude Code schränkt auch Ihre Einstellungen [`statusLine`](https://code.claude.com/docs/de/statusline) und [`fileSuggestion`](https://code.claude.com/docs/de/settings-reference#filesuggestion) auf verwaltete Einstellungen ein

261* Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](https://code.claude.com/docs/de/plugins/marketplace-reference#command-plugin-source), einschließlich Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, es sei denn, [`disableCommandPluginSources`](https://code.claude.com/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt. `command`-Quellen erfordern Claude Code v2.1.229 oder später261* Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](https://code.claude.com/docs/de/plugins/marketplace-reference#command-plugin-source), einschließlich Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, es sei denn, [`disableCommandPluginSources`](https://code.claude.com/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt. `command`-Quellen erfordern Claude Code v2.1.229 oder später

262* Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](https://code.claude.com/docs/de/plugins/host-marketplace#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](https://code.claude.com/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den verwaltete Einstellungen selbst deklarieren262* Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](https://code.claude.com/docs/de/plugins/host-marketplace#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](https://code.claude.com/docs/de/settings-reference#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den verwaltete Einstellungen selbst deklarieren

263 263 


505| `url` | ja | URL zum Senden der POST-Anfrage an |505| `url` | ja | URL zum Senden der POST-Anfrage an |

506| `headers` | nein | Zusätzliche HTTP-Header als Schlüssel-Wert-Paare. Werte unterstützen Umgebungsvariablen-Interpolation mit `$VAR_NAME` oder `${VAR_NAME}`-Syntax. Nur Variablen in `allowedEnvVars` werden aufgelöst |506| `headers` | nein | Zusätzliche HTTP-Header als Schlüssel-Wert-Paare. Werte unterstützen Umgebungsvariablen-Interpolation mit `$VAR_NAME` oder `${VAR_NAME}`-Syntax. Nur Variablen in `allowedEnvVars` werden aufgelöst |

507| `allowedEnvVars` | nein | Liste von Umgebungsvariablennamen, die in Header-Werte interpoliert werden dürfen. Verweise auf nicht aufgelistete Variablen werden durch leere Zeichenketten ersetzt. Erforderlich für jede Umgebungsvariablen-Interpolation |507| `allowedEnvVars` | nein | Liste von Umgebungsvariablennamen, die in Header-Werte interpoliert werden dürfen. Verweise auf nicht aufgelistete Variablen werden durch leere Zeichenketten ersetzt. Erforderlich für jede Umgebungsvariablen-Interpolation |

508| `onFailure` | nein | Was mit der Aktion geschieht, wenn der Hook fehlschlägt: `"continue"`, der Standardwert, oder `"block"`. Siehe [Aktion blockieren, wenn ein Hook fehlschlägt](#block-the-action-when-a-hook-fails). Erfordert Claude Code v2.1.295 oder später |508| `onFailure` | nein | Ob die Aktion, die den Hook ausgelöst hat, fortgesetzt wird, wenn der Hook fehlschlägt: `"continue"` oder `"block"`. Siehe [Aktion blockieren, wenn ein Hook fehlschlägt](#block-the-action-when-a-hook-fails) für `"block"` und für den Fall, dass das Feld nicht gesetzt ist. Erfordert Claude Code v2.1.295 oder später |

509 509 

510Claude Code sendet die [JSON-Eingabe](#hook-input-and-output) des Hooks als POST-Anfragekörper mit `Content-Type: application/json`. Der Antwortkörper verwendet das gleiche [JSON-Ausgabeformat](#json-output) wie Command-Hooks.510Claude Code sendet die [JSON-Eingabe](#hook-input-and-output) des Hooks als POST-Anfragekörper mit `Content-Type: application/json`. Der Antwortkörper verwendet das gleiche [JSON-Ausgabeformat](#json-output) wie Command-Hooks.

511 511 


901 901 

902Bei `PreToolUse` blockiert ein abgelaufener `command`-, `http`- oder `mcp_tool`-Hook den Tool-Aufruf nicht, außer bei Hooks, [deren Fehlschlag die Aktion blockiert](#block-the-action-when-a-hook-fails). Der Aufruf wird durch den normalen [Berechtigungsfluss](https://code.claude.com/docs/de/permissions.md) fortgesetzt, verlassen Sie sich also nicht auf einen steckengebliebenen Hook, um als Gate zu fungieren. Um den Aufruf zu blockieren, wenn ein `command`- oder `http`-Hook in ein Timeout läuft, setzen Sie [`onFailure: "block"`](#block-the-action-when-a-hook-fails). Ein [Agent SDK Callback Hook](https://code.claude.com/docs/de/agent-sdk/hooks.md), der sein Timeout überschreitet, [blockiert den Tool-Aufruf](#pretooluse).902Bei `PreToolUse` blockiert ein abgelaufener `command`-, `http`- oder `mcp_tool`-Hook den Tool-Aufruf nicht, außer bei Hooks, [deren Fehlschlag die Aktion blockiert](#block-the-action-when-a-hook-fails). Der Aufruf wird durch den normalen [Berechtigungsfluss](https://code.claude.com/docs/de/permissions.md) fortgesetzt, verlassen Sie sich also nicht auf einen steckengebliebenen Hook, um als Gate zu fungieren. Um den Aufruf zu blockieren, wenn ein `command`- oder `http`-Hook in ein Timeout läuft, setzen Sie [`onFailure: "block"`](#block-the-action-when-a-hook-fails). Ein [Agent SDK Callback Hook](https://code.claude.com/docs/de/agent-sdk/hooks.md), der sein Timeout überschreitet, [blockiert den Tool-Aufruf](#pretooluse).

903 903 

904> [!NOTE]

905>

906> Wenn Sie Code Mode verwenden, funktionieren Timeouts bei `PreToolUse` anders. Siehe [Tool-Aufruf von einem Hook abgelehnt](https://code.claude.com/docs/de/code-mode.md#tool-call-refused-by-a-hook).

907 

904#### Hooks, die einen Hintergrundprozess starten908#### Hooks, die einen Hintergrundprozess starten

905 909 

906Ein Hook kann ein lang laufendes Programm starten, etwa einen Dev-Server, und es weiterlaufen lassen, während die Sitzung fortgesetzt wird. Im Skript des Hooks oder im Befehl in [Shell-Form](#exec-form-and-shell-form):910Ein Hook kann ein lang laufendes Programm starten, etwa einen Dev-Server, und es weiterlaufen lassen, während die Sitzung fortgesetzt wird. Im Skript des Hooks oder im Befehl in [Shell-Form](#exec-form-and-shell-form):


981* **`Stop`-, `SubagentStop`-, `TaskCompleted`- und `TeammateIdle`-Hooks**: Exit-Code 2 schickt Claude bei diesen Events zurück an die Arbeit, und Claude kann einen Hook, der nicht läuft, nicht reparieren985* **`Stop`-, `SubagentStop`-, `TaskCompleted`- und `TeammateIdle`-Hooks**: Exit-Code 2 schickt Claude bei diesen Events zurück an die Arbeit, und Claude kann einen Hook, der nicht läuft, nicht reparieren

982* **Hintergrund-Command-Hooks**: Command Hooks, die [`async` oder `asyncRewake`](#run-hooks-in-the-background) setzen986* **Hintergrund-Command-Hooks**: Command Hooks, die [`async` oder `asyncRewake`](#run-hooks-in-the-background) setzen

983 987 

988> [!NOTE]

989>

990> Wenn Sie Code Mode verwenden, funktionieren Fehlschläge bei `PreToolUse` anders. Siehe [Tool-Aufruf von einem Hook abgelehnt](https://code.claude.com/docs/de/code-mode.md#tool-call-refused-by-a-hook).

991 

984#### Fehlgeschlagene Hooks unter Windows ohne Git Bash992#### Fehlgeschlagene Hooks unter Windows ohne Git Bash

985 993 

986Wenn der Fehler bei einem blockierten Tool-Aufruf diesen Text enthält, ist ein `PreToolUse`- oder `PermissionRequest`-Command-Hook fehlgeschlagen oder in ein Timeout gelaufen und hat den Aufruf blockiert:994Wenn der Fehler bei einem blockierten Tool-Aufruf diesen Text enthält, ist ein `PreToolUse`- oder `PermissionRequest`-Command-Hook fehlgeschlagen oder in ein Timeout gelaufen und hat den Aufruf blockiert:


1512* Eine [sitzungsbezogene geplante Aufgabe](https://code.claude.com/docs/de/scheduled-tasks.md) wird ausgelöst, einschließlich einer `/loop`-Iteration1520* Eine [sitzungsbezogene geplante Aufgabe](https://code.claude.com/docs/de/scheduled-tasks.md) wird ausgelöst, einschließlich einer `/loop`-Iteration

1513* ein [Subagent im Hintergrund](https://code.claude.com/docs/de/sub-agents.md#run-subagents-in-foreground-or-background) an die Sitzung zurückmeldet, die ihn gestartet hat1521* ein [Subagent im Hintergrund](https://code.claude.com/docs/de/sub-agents.md#run-subagents-in-foreground-or-background) an die Sitzung zurückmeldet, die ihn gestartet hat

1514* eine [andere Sitzung eine Nachricht](https://code.claude.com/docs/de/cross-session-messaging.md) an Ihre Hauptkonversation sendet1522* eine [andere Sitzung eine Nachricht](https://code.claude.com/docs/de/cross-session-messaging.md) an Ihre Hauptkonversation sendet

1523* Der Ausgabe von Claudes Code in einer [Code Mode](https://code.claude.com/docs/de/code-mode.md#code-output-withheld-by-a-hook)-Sitzung, für `command`-, `http`- und `mcp_tool`-Hooks, wenn Code im Hintergrund laufen kann

1515 1524 

1516`UserPromptSubmit`-Hooks haben für die Typen `command`, `http` und `mcp_tool` einen Standard-Timeout von 30 Sekunden, kürzer als der Standard von 600 Sekunden für diese Typen bei den meisten anderen Events. Da dieser Hook vor jedem Prompt läuft und die Modellverarbeitung blockiert, bis er abgeschlossen ist, bringt ein hängender Hook die Sitzung zum Stillstand. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.1525`UserPromptSubmit`-Hooks haben für die Typen `command`, `http` und `mcp_tool` einen Standard-Timeout von 30 Sekunden, kürzer als der Standard von 600 Sekunden für diese Typen bei den meisten anderen Events. Da dieser Hook vor jedem Prompt läuft und die Modellverarbeitung blockiert, bis er abgeschlossen ist, bringt ein hängender Hook die Sitzung zum Stillstand. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.

1517 1526 


1560| Feld | Beschreibung |1569| Feld | Beschreibung |

1561| :- | :- |1570| :- | :- |

1562| `decision` | `"block"` stoppt den Prompt, bevor er Claude erreicht. Lassen Sie es weg, damit der Prompt fortgesetzt wird |1571| `decision` | `"block"` stoppt den Prompt, bevor er Claude erreicht. Lassen Sie es weg, damit der Prompt fortgesetzt wird |

1563| `reason` | Wird dem Benutzer angezeigt, wenn `decision` den Wert `"block"` hat. Wird nicht zum Kontext hinzugefügt |1572| `reason` | Wird dem Benutzer angezeigt, wenn `decision` den Wert `"block"` hat. Wird nicht zum Kontext hinzugefügt, außer wenn der Hook eine [Code-Mode-Ausgabe](https://code.claude.com/docs/de/code-mode.md#code-output-withheld-by-a-hook) blockiert |

1564| `additionalContext` | String, der zusammen mit dem abgesendeten Prompt zum Kontext von Claude hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1573| `additionalContext` | String, der zusammen mit dem abgesendeten Prompt zum Kontext von Claude hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1565| `sessionTitle` | Setzt den Sitzungstitel. Verwenden Sie es, um Sitzungen automatisch anhand des Prompt-Inhalts zu benennen |1574| `sessionTitle` | Setzt den Sitzungstitel. Verwenden Sie es, um Sitzungen automatisch anhand des Prompt-Inhalts zu benennen |

1566| `suppressOriginalPrompt` | Bei `true` lässt es den Prompt-Text aus der Blockierungsmeldung weg, wenn der Hook den Prompt blockiert. Siehe [Was ein blockierter Prompt hinterlässt](#what-a-blocked-prompt-leaves-behind) |1575| `suppressOriginalPrompt` | Bei `true` lässt es den Prompt-Text aus der Blockierungsmeldung weg, wenn der Hook den Prompt blockiert. Siehe [Was ein blockierter Prompt hinterlässt](#what-a-blocked-prompt-leaves-behind) |

1567 1576 

1568Ein Hook, der durch Beenden mit Exit-Code 2 blockiert, wird genauso behandelt wie `reason`: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text, und dieser wird nicht zum Kontext hinzugefügt.1577Wenn Ihr Hook durch Beenden mit Exit-Code 2 blockiert, wird sein stderr-Text genauso behandelt wie `reason`.

1569 1578 

1570```json theme={null}1579```json theme={null}

1571{1580{


3000 3009 

3001Läuft, wenn sich während einer Sitzung eine Konfigurationsdatei ändert. Verwenden Sie dies, um Änderungen an Einstellungen zu prüfen, Sicherheitsrichtlinien durchzusetzen oder nicht autorisierte Änderungen an Konfigurationsdateien zu blockieren.3010Läuft, wenn sich während einer Sitzung eine Konfigurationsdatei ändert. Verwenden Sie dies, um Änderungen an Einstellungen zu prüfen, Sicherheitsrichtlinien durchzusetzen oder nicht autorisierte Änderungen an Konfigurationsdateien zu blockieren.

3002 3011 

3003Claude Code führt ConfigChange-Hooks aus, wenn sich eine Einstellungsdatei, eine verwaltete Richtliniendatei oder eine Skill-Datei ändert. Bei verwalteten Richtlinien führt es sie nur aus, wenn sich `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert. [Servergesteuerte Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md) sowie Änderungen an verwalteten macOS-Einstellungen oder Windows-Registry-Richtlinien übernimmt es, ohne die Hooks auszuführen. Unter WSL mit [`wslInheritsWindowsSettings`](https://code.claude.com/docs/de/settings-reference#wslinheritswindowssettings) übernimmt es außerdem eine geänderte Windows-seitige verwaltete Einstellungsdatei bei seiner Richtlinienabfrage, ohne die Hooks auszuführen.3012Claude Code führt ConfigChange-Hooks aus, wenn sich eine Einstellungsdatei, eine verwaltete Richtliniendatei oder eine Skill-Datei ändert. Bei verwalteten Richtlinien führt es sie nur aus, wenn sich `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert.

3004 3013 

3005Der Matcher filtert nach der Konfigurationsquelle:3014Der Matcher filtert nach der Konfigurationsquelle:

3006 3015 


3012| `policy_settings` | `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert sich |3021| `policy_settings` | `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert sich |

3013| `skills` | Eine Skill-Datei in `.claude/skills/` ändert sich |3022| `skills` | Eine Skill-Datei in `.claude/skills/` ändert sich |

3014 3023 

3015Dieses Beispiel protokolliert alle Konfigurationsänderungen für Sicherheitsaudits:3024Änderungen wie diese werden wirksam, ohne dass die Hooks ausgeführt werden:

3025 

3026* Regeln und Einstellungen, die Sie mit **Yes, and don't ask again**, `/permissions` oder `/model` speichern, in der Sitzung, aus der Sie sie gespeichert haben. Wenn eine andere geöffnete Sitzung dieselbe Datei lädt, werden die Hooks dort ausgeführt.

3027* Aktualisierungen von [serververwalteten Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md), verwalteten macOS-Einstellungen oder Windows-Registry-Richtlinien

3028* Unter WSL mit [`wslInheritsWindowsSettings`](https://code.claude.com/docs/de/settings-reference#wslinheritswindowssettings) eine geänderte Datei mit verwalteten Einstellungen auf der Windows-Seite, die Claude Code bei seiner Richtlinienabfrage übernimmt

3029 

3030Dieses Beispiel protokolliert Konfigurationsänderungen für Sicherheitsaudits:

3016 3031 

3017```json theme={null}3032```json theme={null}

3018{3033{


3335 "hooks": [3350 "hooks": [

3336 {3351 {

3337 "type": "command",3352 "type": "command",

3338 "command": "bash -c 'jq -r .worktree_path | xargs rm -rf'"3353 "command": "bash -c 'p=$(jq -er .worktree_path) && rm -rf -- \"$p\"'"

3339 }3354 }

3340 ]3355 ]

3341 }3356 }

hooks-guide.md +4 −4

Details

50 "PostToolUse": [50 "PostToolUse": [

51 {51 {

52 "matcher": "Edit|Write",52 "matcher": "Edit|Write",

53 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]53 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }]

54 }54 }

55 ],55 ],

56 "Notification": [56 "Notification": [


221 "hooks": [221 "hooks": [

222 {222 {

223 "type": "command",223 "type": "command",

224 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"224 "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\""

225 }225 }

226 ]226 ]

227 }227 }


336 336 

337Verfolgen Sie, wann sich Einstellungs- oder Skill-Dateien während einer Sitzung ändern. Das Event `ConfigChange` wird ausgelöst, wenn ein externer Prozess oder Editor eine Konfigurationsdatei ändert, sodass Sie Änderungen für Compliance-Zwecke protokollieren oder nicht autorisierte Änderungen blockieren können.337Verfolgen Sie, wann sich Einstellungs- oder Skill-Dateien während einer Sitzung ändern. Das Event `ConfigChange` wird ausgelöst, wenn ein externer Prozess oder Editor eine Konfigurationsdatei ändert, sodass Sie Änderungen für Compliance-Zwecke protokollieren oder nicht autorisierte Änderungen blockieren können.

338 338 

339Dieses Beispiel hängt jede Änderung an ein Audit-Log an. Fügen Sie Folgendes zu `~/.claude/settings.json` hinzu:339Dieses Beispiel hängt jedes Event an ein Audit-Log an. Fügen Sie Folgendes zu `~/.claude/settings.json` hinzu:

340 340 

341```json theme={null}341```json theme={null}

342{342{


925Ihr Endpunkt antwortet mit einem JSON-Body im gleichen [Ausgabeformat](https://code.claude.com/docs/de/hooks.md#json-output) wie Command-Hooks, und Claude Code prüft außerdem den Antwortstatus:925Ihr Endpunkt antwortet mit einem JSON-Body im gleichen [Ausgabeformat](https://code.claude.com/docs/de/hooks.md#json-output) wie Command-Hooks, und Claude Code prüft außerdem den Antwortstatus:

926 926 

927* **2xx-Status**: Um einen Tool-Aufruf zu blockieren, geben Sie die entsprechenden `hookSpecificOutput`-Felder im Body zurück.927* **2xx-Status**: Um einen Tool-Aufruf zu blockieren, geben Sie die entsprechenden `hookSpecificOutput`-Felder im Body zurück.

928* **Jeder andere Status oder eine fehlgeschlagene Anfrage**: Claude Code meldet einen [nicht blockierenden Fehler](https://code.claude.com/docs/de/hooks.md#exit-code-output) und lässt die Aktion fortfahren. Damit ein fehlgeschlagener Endpunkt die Aktion blockiert, setzen Sie [`onFailure: "block"`](https://code.claude.com/docs/de/hooks#block-the-action-when-a-hook-fails) für den Hook.928* **Jeder andere Status oder eine fehlgeschlagene Anfrage**: Claude Code meldet einen [nicht blockierenden Fehler](https://code.claude.com/docs/de/hooks.md#exit-code-output) und lässt die Aktion fortfahren, es sei denn, es handelt sich um einen Hook, [dessen Fehlschlagen die Aktion blockiert](https://code.claude.com/docs/de/hooks.md#block-the-action-when-a-hook-fails). Damit ein fehlgeschlagener Endpunkt die Aktion blockiert, setzen Sie [`onFailure: "block"`](https://code.claude.com/docs/de/hooks#block-the-action-when-a-hook-fails) für den Hook.

929 929 

930Header-Werte unterstützen Umgebungsvariablen-Interpolation mit `$VAR_NAME` oder `${VAR_NAME}`-Syntax. Nur Variablen, die im Array `allowedEnvVars` aufgelistet sind, werden aufgelöst; alle anderen `$VAR`-Referenzen bleiben leer.930Header-Werte unterstützen Umgebungsvariablen-Interpolation mit `$VAR_NAME` oder `${VAR_NAME}`-Syntax. Nur Variablen, die im Array `allowedEnvVars` aufgelistet sind, werden aufgelöst; alle anderen `$VAR`-Referenzen bleiben leer.

931 931 

Details

36| `Esc` | Claude unterbrechen oder einen Dialog schließen | Stoppen Sie die aktuelle Antwort oder den Werkzeugaufruf in der Mitte des Zuges, damit Sie umleiten können. Claude behält die bisherige Arbeit bei. Wenn Sie [Nachrichten in der Warteschlange haben](#queue-messages-while-claude-works), sendet Claude Code diese als nächstes. Wenn ein Dialog offen ist, schließt `Esc` den Dialog. Während ein Fußzeilenelement ausgewählt ist, wie eine Zeile im [Subagenten-Panel](https://code.claude.com/docs/de/sub-agents.md#run-subagents-in-foreground-or-background) unter der Eingabeaufforderung, [hebt `Esc` die Auswahl auf](https://code.claude.com/docs/de/keybindings#footer-actions), anstatt zu unterbrechen. Bei einer Berechtigungsaufforderung lehnt `Esc` die Aktion ab, genauso wie [**Nein** ohne Kommentar](https://code.claude.com/docs/de/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |36| `Esc` | Claude unterbrechen oder einen Dialog schließen | Stoppen Sie die aktuelle Antwort oder den Werkzeugaufruf in der Mitte des Zuges, damit Sie umleiten können. Claude behält die bisherige Arbeit bei. Wenn Sie [Nachrichten in der Warteschlange haben](#queue-messages-while-claude-works), sendet Claude Code diese als nächstes. Wenn ein Dialog offen ist, schließt `Esc` den Dialog. Während ein Fußzeilenelement ausgewählt ist, wie eine Zeile im [Subagenten-Panel](https://code.claude.com/docs/de/sub-agents.md#run-subagents-in-foreground-or-background) unter der Eingabeaufforderung, [hebt `Esc` die Auswahl auf](https://code.claude.com/docs/de/keybindings#footer-actions), anstatt zu unterbrechen. Bei einer Berechtigungsaufforderung lehnt `Esc` die Aktion ab, genauso wie [**Nein** ohne Kommentar](https://code.claude.com/docs/de/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |

37| `Esc` + `Esc` | Eingabeentwurf löschen oder zurückspulen | Wenn die Prompt-Eingabe Text enthält, löscht doppeltes `Esc` diesen und speichert den Entwurf im Verlauf, damit `Up` ihn abruft. Wenn die Eingabe leer ist, öffnet doppeltes `Esc` das [Zurückspul-Menü](https://code.claude.com/docs/de/checkpointing.md), um Code und Konversation von einem früheren Punkt wiederherzustellen oder zusammenzufassen |37| `Esc` + `Esc` | Eingabeentwurf löschen oder zurückspulen | Wenn die Prompt-Eingabe Text enthält, löscht doppeltes `Esc` diesen und speichert den Entwurf im Verlauf, damit `Up` ihn abruft. Wenn die Eingabe leer ist, öffnet doppeltes `Esc` das [Zurückspul-Menü](https://code.claude.com/docs/de/checkpointing.md), um Code und Konversation von einem früheren Punkt wiederherzustellen oder zusammenzufassen |

38| `Ctrl+Enter` oder `Ctrl+X Ctrl+S` | Warteschlangen-Nachrichten jetzt senden | Sendet Ihre [Nachrichten in der Warteschlange](#queue-messages-while-claude-works) und Ihren Entwurf mit ihnen sofort. [Wenn Claude Code das sendet, das Sie in die Warteschlange eingereiht haben](#when-claude-code-sends-what-you-queued) behandelt, was mit dem Zug passiert, an dem Claude arbeitet. Im [Shell-Modus](#shell-mode-with-prefix) reiht der Schlüssel Ihren Befehl nur in die Warteschlange ein. In Terminals, die erweiterte Tasten nicht melden, kommt `Ctrl+Enter` als einfaches `Enter` an; `Ctrl+X Ctrl+S` funktioniert in jedem Terminal. Erfordert Claude Code v2.1.275 oder später |38| `Ctrl+Enter` oder `Ctrl+X Ctrl+S` | Warteschlangen-Nachrichten jetzt senden | Sendet Ihre [Nachrichten in der Warteschlange](#queue-messages-while-claude-works) und Ihren Entwurf mit ihnen sofort. [Wenn Claude Code das sendet, das Sie in die Warteschlange eingereiht haben](#when-claude-code-sends-what-you-queued) behandelt, was mit dem Zug passiert, an dem Claude arbeitet. Im [Shell-Modus](#shell-mode-with-prefix) reiht der Schlüssel Ihren Befehl nur in die Warteschlange ein. In Terminals, die erweiterte Tasten nicht melden, kommt `Ctrl+Enter` als einfaches `Enter` an; `Ctrl+X Ctrl+S` funktioniert in jedem Terminal. Erfordert Claude Code v2.1.275 oder später |

39| `Shift+Tab` oder `Alt+M` unter Windows, wenn die Node- oder Bun-Laufzeit den VT-Eingabemodus nicht aktiviert | Berechtigungsmodi durchlaufen | Durchlaufen Sie `default` (im Modusindikator als Manuell gekennzeichnet), `acceptEdits`, `plan` und, falls verfügbar, `bypassPermissions` und dann `auto`. Von `auto` wechselt der erste Druck zu `default`. Siehe [Berechtigungsmodi](https://code.claude.com/docs/de/permission-modes.md). Bei einer Dateiberechtigungsaufforderung schließt dieselbe Taste ein offenes [Kommentarfeld](https://code.claude.com/docs/de/permissions.md#add-a-comment-when-you-answer-a-permission-prompt). Ohne offenes Feld wählt es die Option aus, die die Aktion für den Rest der Sitzung ermöglicht, wenn die Aufforderung diese Option anbietet |39| `Shift+Tab` oder `Alt+M` unter Windows, wenn die Node- oder Bun-Laufzeit den VT-Eingabemodus nicht aktiviert | Berechtigungsmodi durchlaufen | Durchlaufen Sie `default` (im Modusindikator als Manual gekennzeichnet), `acceptEdits` und `plan`, dann, sofern verfügbar, `bypassPermissions` und `auto`. Siehe [Berechtigungsmodi](https://code.claude.com/docs/de/permission-modes.md). Bei einer Dateiberechtigungsabfrage schließt dieselbe Taste ein offenes [Kommentarfeld](https://code.claude.com/docs/de/permissions.md#add-a-comment-when-you-answer-a-permission-prompt). Ohne offenes Feld wählt sie die Option aus, die die Aktion für den Rest der Sitzung erlaubt, sofern die Abfrage diese Option anbietet. Bei der Abfrage zur Plan-Genehmigung genehmigt sie den Plan |

40| `Option+P` (macOS) oder `Alt+P` (Windows/Linux) | Modell wechseln | Wechseln Sie Modelle, ohne Ihre Eingabeaufforderung zu löschen |40| `Option+P` (macOS) oder `Alt+P` (Windows/Linux) | Modell wechseln | Wechseln Sie Modelle, ohne Ihre Eingabeaufforderung zu löschen |

41| `Option+T` (macOS) oder `Alt+T` (Windows/Linux) | Extended Thinking umschalten | Aktivieren oder deaktivieren Sie den Thinking-Modus. Hat keine Auswirkung auf Opus 5.5, Sonnet 5.5, Haiku 5.5 oder die Fable-Modelle, die immer Extended Thinking verwenden. Funktioniert auf macOS ohne Konfiguration von Option als Meta |41| `Option+T` (macOS) oder `Alt+T` (Windows/Linux) | Extended Thinking umschalten | Aktivieren oder deaktivieren Sie den Thinking-Modus. Hat keine Auswirkung auf Opus 5.5, Sonnet 5.5, Haiku 5.5 oder die Fable-Modelle, die immer Extended Thinking verwenden. Funktioniert auf macOS ohne Konfiguration von Option als Meta |

42| `Option+O` (macOS) oder `Alt+O` (Windows/Linux) | Schnellmodus umschalten | Aktivieren oder deaktivieren Sie den [Schnellmodus](https://code.claude.com/docs/de/fast-mode.md) |42| `Option+O` (macOS) oder `Alt+O` (Windows/Linux) | Schnellmodus umschalten | Aktivieren oder deaktivieren Sie den [Schnellmodus](https://code.claude.com/docs/de/fast-mode.md) |


81| :- | :- | :- |81| :- | :- | :- |

82| Schneller Ausgang | `\` + `Enter` | Funktioniert in allen Terminals |82| Schneller Ausgang | `\` + `Enter` | Funktioniert in allen Terminals |

83| Option-Taste | `Option+Enter` | Nach Aktivierung von [Option als Meta](https://code.claude.com/docs/de/terminal-config.md#enable-option-key-shortcuts-on-macos) auf macOS |83| Option-Taste | `Option+Enter` | Nach Aktivierung von [Option als Meta](https://code.claude.com/docs/de/terminal-config.md#enable-option-key-shortcuts-on-macos) auf macOS |

84| Shift+Enter | `Shift+Enter` | Nativ in iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal. Für andere Terminals siehe [Mehrzeilige Eingabeaufforderungen eingeben](https://code.claude.com/docs/de/terminal-config.md#enter-multiline-prompts) |84| Shift+Enter | `Shift+Enter` | Nativ in iTerm2, WezTerm, Ghostty, Kitty, Warp, Windows Terminal. Für andere Terminals siehe [Mehrzeilige Eingabeaufforderungen eingeben](https://code.claude.com/docs/de/terminal-config.md#enter-multiline-prompts) |

85| Steuersequenz | `Ctrl+J` | Funktioniert in jedem Terminal ohne Konfiguration |85| Steuersequenz | `Ctrl+J` | Funktioniert in jedem Terminal ohne Konfiguration |

86| Einfügemodus | Direkt einfügen | Für Codeblöcke, Protokolle |86| Einfügemodus | Direkt einfügen | Für Codeblöcke, Protokolle |

87 87 


137 137 

138Aktivieren Sie Vim-ähnliche Bearbeitung über `/config` → Editor mode.138Aktivieren Sie Vim-ähnliche Bearbeitung über `/config` → Editor mode.

139 139 

140Claude Code behält Ihren Vim-Modus und die Cursorposition bei, wenn Sie den [Transcript Viewer](#transcript-viewer) mit `Ctrl+O` umschalten oder ein Panel wie `/config` öffnen und schließen. Wenn Sie die Eingabeaufforderung im NORMAL-Modus verlassen, ist sie immer noch im NORMAL-Modus, wenn Sie zurückkehren, mit dem Cursor dort, wo Sie ihn verlassen haben.

141 

142### Moduswechsel140### Moduswechsel

143 141 

144| Befehl | Aktion | Aus Modus |142| Befehl | Aktion | Aus Modus |


302 * Drücken Sie `Ctrl+C`, um abzubrechen und Ihre ursprüngliche Eingabe wiederherzustellen300 * Drücken Sie `Ctrl+C`, um abzubrechen und Ihre ursprüngliche Eingabe wiederherzustellen

303 * Drücken Sie `Backspace` bei leerer Suche, um abzubrechen301 * Drücken Sie `Backspace` bei leerer Suche, um abzubrechen

304 302 

305Das Übernehmen eines Treffers oder das Abbrechen der Suche wird sofort wirksam, auch wenn Claude Code den Verlauf noch lädt.

306 

307Um einen früheren Prompt zu finden, wenn Sie sich nur noch an einen langen eingefügten Inhalt darin erinnern, etwa ein Fehler-Log, drücken Sie `Ctrl+R` und geben Sie ein Wort aus dem eingefügten Inhalt ein. Erfordert Claude Code v2.1.314 oder höher.303Um einen früheren Prompt zu finden, wenn Sie sich nur noch an einen langen eingefügten Inhalt darin erinnern, etwa ein Fehler-Log, drücken Sie `Ctrl+R` und geben Sie ein Wort aus dem eingefügten Inhalt ein. Erfordert Claude Code v2.1.314 oder höher.

308 304 

309## Bash-Befehle im Hintergrund305## Bash-Befehle im Hintergrund


600 596 

601### Was Claude Code unterstreicht597### Was Claude Code unterstreicht

602 598 

603Kurz nachdem Sie mit der Eingabe pausieren, unterstreicht Claude Code die Wörter, die das Wörterbuch nicht kennt. Es lässt das Wort, das Sie noch eingeben, allein, bis Sie es verlassen, und es ändert niemals Ihren Text. Es überspringt auch Text, der wie Code aussieht:599Kurz nachdem Sie mit der Eingabe pausieren, unterstreicht Claude Code die Wörter, die das Wörterbuch nicht kennt. Es lässt das Wort, das Sie noch eingeben, unberührt, bis Sie es verlassen. Es überspringt auch Text, der wie Code aussieht:

604 600 

605* Befehle wie `/help`, `@`-Erwähnungen, URLs, Dateipfade und Flags wie `--verbose`601* Befehle wie `/help`, `@`-Erwähnungen, URLs, Dateipfade und Flags wie `--verbose`

606* Wörter mit Ziffern, Unterstrichen oder einem Großbuchstaben nach dem ersten, und Text in Backticks602* Wörter mit Ziffern, Unterstrichen oder einem Großbuchstaben nach dem ersten, und Text in Backticks

keybindings.md +7 −2

Details

581 581 

582Claude Code bindet diese Standard-Akkorde auf dem `ctrl+x`-Präfix, nach Kontext:582Claude Code bindet diese Standard-Akkorde auf dem `ctrl+x`-Präfix, nach Kontext:

583 583 

584* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s` und `ctrl+x tab`584* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s`, `ctrl+x tab`, `ctrl+x ctrl+=`, `ctrl+x ctrl+-`, `ctrl+x ctrl+_`, `ctrl+x =` und `ctrl+x -`

585* `Task`: `ctrl+x ctrl+b`585* `Task`: `ctrl+x ctrl+b`

586* `DiffPanel`: `ctrl+x b`586* `DiffPanel`: `ctrl+x b`

587* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down` und `ctrl+x x`587* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down` und `ctrl+x x`


631 "ctrl+x ctrl+a": null,631 "ctrl+x ctrl+a": null,

632 "ctrl+x ctrl+s": null,632 "ctrl+x ctrl+s": null,

633 "ctrl+x tab": null,633 "ctrl+x tab": null,

634 "ctrl+x ctrl+=": null,

635 "ctrl+x ctrl+-": null,

636 "ctrl+x ctrl+_": null,

637 "ctrl+x =": null,

638 "ctrl+x -": null,

634 "ctrl+x": "chat:newline"639 "ctrl+x": "chat:newline"

635 }640 }

636 }641 }


716Claude Code validiert Ihre Keybindings und schreibt eine Warnung in das Debug-Protokoll für:721Claude Code validiert Ihre Keybindings und schreibt eine Warnung in das Debug-Protokoll für:

717 722 

718* Parse-Fehler (ungültiges JSON oder Struktur)723* Parse-Fehler (ungültiges JSON oder Struktur)

719* Falsch geschriebene Modifizierer, wie `ctl+k`. Claude Code verwirft den Teil, den es nicht erkennt, und wendet die Bindung auf den verbleibenden Tastendruck an, `k` in diesem Beispiel.724* Falsch geschriebene Modifizierer, wie `ctl+k`. Claude Code ignoriert die gesamte Bindung. Korrigieren Sie den Modifizierer, in diesem Beispiel zu `ctrl+k`.

720* Ein Leerzeichen neben `+` in einer Tastenzeichenfolge, wie `ctrl+ k`. Claude Code liest die Zeichenfolge als [Akkord](#chords) aus `ctrl+` gefolgt von `k`. Kein Tastendruck entspricht `ctrl+` allein, daher wird die Bindung nie ausgelöst. Entfernen Sie das Leerzeichen.725* Ein Leerzeichen neben `+` in einer Tastenzeichenfolge, wie `ctrl+ k`. Claude Code liest die Zeichenfolge als [Akkord](#chords) aus `ctrl+` gefolgt von `k`. Kein Tastendruck entspricht `ctrl+` allein, daher wird die Bindung nie ausgelöst. Entfernen Sie das Leerzeichen.

721* Ungültige Kontextnamen726* Ungültige Kontextnamen

722* Ungültige Aktionswerte, wie eine Aktion, die keine Zeichenkette oder `null` ist727* Ungültige Aktionswerte, wie eine Aktion, die keine Zeichenkette oder `null` ist

llm-gateway.md +4 −0

Details

43 43 

44Um ein Gateway, das über `ANTHROPIC_BASE_URL` erreichbar ist, zum einzigen Ziel zu machen, das eine verwaltete Maschine verwenden darf, setzen Sie [`allowedProviders`](https://code.claude.com/docs/de/settings-reference#allowedproviders) auf `["customEndpoint"]` in derselben verwalteten Einstellungsdatei und geben Sie die `ANTHROPIC_BASE_URL` des Gateways in den `env`-Block dieser Datei ein. Claude Code lehnt dann eine Sitzung ab, die auf etwas anderes verweist, einschließlich direkt auf Anthropic oder auf den eigenen Proxy eines Entwicklers, und akzeptiert `ANTHROPIC_BASE_URL` nur mit dem Wert, den Sie dort festgelegt haben. Für ein Gateway, das über eine anbieterspezifische Endpunkt-Variable wie `ANTHROPIC_BEDROCK_BASE_URL` erreichbar ist, gibt der `allowedProviders`-Eintrag an, welche Variable zu fixieren ist. Erfordert Claude Code v2.1.285 oder später.44Um ein Gateway, das über `ANTHROPIC_BASE_URL` erreichbar ist, zum einzigen Ziel zu machen, das eine verwaltete Maschine verwenden darf, setzen Sie [`allowedProviders`](https://code.claude.com/docs/de/settings-reference#allowedproviders) auf `["customEndpoint"]` in derselben verwalteten Einstellungsdatei und geben Sie die `ANTHROPIC_BASE_URL` des Gateways in den `env`-Block dieser Datei ein. Claude Code lehnt dann eine Sitzung ab, die auf etwas anderes verweist, einschließlich direkt auf Anthropic oder auf den eigenen Proxy eines Entwicklers, und akzeptiert `ANTHROPIC_BASE_URL` nur mit dem Wert, den Sie dort festgelegt haben. Für ein Gateway, das über eine anbieterspezifische Endpunkt-Variable wie `ANTHROPIC_BEDROCK_BASE_URL` erreichbar ist, gibt der `allowedProviders`-Eintrag an, welche Variable zu fixieren ist. Erfordert Claude Code v2.1.285 oder später.

45 45 

46> [!NOTE]

47>

48> Wenn Desktop bei claude.ai angemeldet ist, zählt eine Cowork-Sitzung auf dem Rechner des Benutzers als [`"anthropic"`](https://code.claude.com/docs/de/settings-reference#allowedproviders). Wenn Sie diesen Wert in einer MDM-Richtlinie oder verwalteten Einstellungsdatei aus dieser Liste weglassen, wird diese Sitzung abgelehnt. Wenn er enthalten ist, passieren auch Sitzungen, die direkt an Anthropic gesendet werden, diese Liste.

49 

46## Abonnements und Gateways50## Abonnements und Gateways

47 51 

48Während eine [Gateway-Anmeldedaten-Variable](https://code.claude.com/docs/de/llm-gateway-connect.md#set-the-credential-variable) oder `apiKeyHelper` aktiv ist, werden Anfragen mit dieser Anmeldedaten anstelle der claude.ai-Abonnement-Anmeldung eines Entwicklers übermittelt, und die Nutzungslimits des Abonnements gelten nicht für sie. Claude Code speichert eine claude.ai-Anmeldung auf dem Computer, sendet sie aber nicht mit diesen Anfragen. Dieser Datenverkehr wird pro Token dem Besitzer der Anmeldedaten, die das Gateway weiterleitet, wie Ihr Anthropic Console-Konto der Organisation oder Ihr Amazon Bedrock-, Google Cloud Agent Platform- oder Microsoft Foundry-Konto, wenn das Gateway dorthin leitet, in Rechnung gestellt.52Während eine [Gateway-Anmeldedaten-Variable](https://code.claude.com/docs/de/llm-gateway-connect.md#set-the-credential-variable) oder `apiKeyHelper` aktiv ist, werden Anfragen mit dieser Anmeldedaten anstelle der claude.ai-Abonnement-Anmeldung eines Entwicklers übermittelt, und die Nutzungslimits des Abonnements gelten nicht für sie. Claude Code speichert eine claude.ai-Anmeldung auf dem Computer, sendet sie aber nicht mit diesen Anfragen. Dieser Datenverkehr wird pro Token dem Besitzer der Anmeldedaten, die das Gateway weiterleitet, wie Ihr Anthropic Console-Konto der Organisation oder Ihr Amazon Bedrock-, Google Cloud Agent Platform- oder Microsoft Foundry-Konto, wenn das Gateway dorthin leitet, in Rechnung gestellt.

Details

156 156 

157### Konflikte mit einem vorhandenen Login157### Konflikte mit einem vorhandenen Login

158 158 

159Eine Gateway-Anmeldedaten-Variable hat Vorrang vor einem gespeicherten claude.ai-Login oder Console-Schlüssel. Mit `ANTHROPIC_AUTH_TOKEN` hat die Variable sofort Vorrang. Mit `ANTHROPIC_API_KEY` werden Sie einmal im interaktiven Modus aufgefordert, den Schlüssel zu genehmigen, bevor er übernimmt.159Ihre Anfragen verwenden eine Gateway-Anmeldedaten-Variable statt eines gespeicherten claude.ai-Logins. Mit `ANTHROPIC_AUTH_TOKEN` hat die Variable sofort Vorrang. Mit `ANTHROPIC_API_KEY` werden Sie einmal im interaktiven Modus aufgefordert, den Schlüssel zu genehmigen, bevor er übernimmt.

160 160 

161Führen Sie `/status` aus, um zu bestätigen, welche Anmeldedaten-Quelle aktiv ist. Wenn der Start eine Auth-Konflikt-Warnung anzeigt, die zwei Quellen benennt, siehe die erste Zeile der [Fehlerbehebungstabelle](#troubleshoot-gateway-errors), um zu sehen, welche zu löschen ist. Um einen gespeicherten Login zu löschen, damit nur die Gateway-Anmeldedaten verbleiben, führen Sie `/logout` aus.161Führen Sie `/status` aus, um zu bestätigen, welche Anmeldedaten-Quelle aktiv ist. Wenn der Start eine Auth-Konflikt-Warnung anzeigt, die zwei Quellen benennt, siehe die erste Zeile der [Fehlerbehebungstabelle](#troubleshoot-gateway-errors), um zu sehen, welche zu löschen ist. Um einen gespeicherten Login zu löschen, damit nur die Gateway-Anmeldedaten verbleiben, führen Sie `/logout` aus.

162 162 


506 506 

507| Fehler | Ursache | Behebung |507| Fehler | Ursache | Behebung |

508| :- | :- | :- |508| :- | :- | :- |

509| Eine Start-Warnung, die zwei Anmeldedaten-Quellen benennt und mit `auth may not work as expected` endet. Ältere Versionen zeigen stattdessen `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` an. | Eine Gateway-Anmeldedaten und ein gespeicherter Login sind beide aktiv; die Variable wird für Anfragen verwendet, aber der veraltete Login kann zu unerwartetem Auth-Verhalten führen | Heben Sie die Festlegung der Variable auf, um den gespeicherten Login zu verwenden, oder führen Sie `/logout` aus, um die Gateway-Anmeldedaten zu verwenden |509| Eine Start-Warnung, die zwei Anmeldedaten-Quellen benennt und mit `auth may not work as expected` endet. Ältere Versionen zeigen stattdessen `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` an. | Gateway-Anmeldedaten und ein gespeicherter Login sind beide aktiv | Heben Sie die Festlegung der Variable auf, um den gespeicherten Login zu verwenden, oder führen Sie `/logout` aus, um die Gateway-Anmeldedaten zu verwenden |

510| `401`-Fehler, die ein ungültiges oder nicht erkanntes Token benennen | Die Anmeldedaten sind nicht eine, die das Gateway ausgestellt hat, oder sie sind in einem Header, den das Gateway nicht liest | Bestätigen Sie, dass die Variable Ihrer Anmeldedaten-Art in der [Anmeldedaten-Tabelle](#set-the-credential-variable) entspricht, und generieren Sie den Schlüssel beim Gateway neu, wenn er widerrufen wurde |510| `401`-Fehler, die ein ungültiges oder nicht erkanntes Token benennen | Die Anmeldedaten sind nicht eine, die das Gateway ausgestellt hat, oder sie sind in einem Header, den das Gateway nicht liest | Bestätigen Sie, dass die Variable Ihrer Anmeldedaten-Art in der [Anmeldedaten-Tabelle](#set-the-credential-variable) entspricht, und generieren Sie den Schlüssel beim Gateway neu, wenn er widerrufen wurde |

511| `Your apiKeyHelper script is failing`, oder `apiKeyHelper failed:` auf stderr im nicht-interaktiven Modus | Der Befehl in der [`apiKeyHelper`](https://code.claude.com/docs/de/settings-reference#apikeyhelper)-Einstellung hat keinen verwendbaren Schlüssel erzeugt, daher enthalten Anfragen einen Platzhalter-Schlüssel | Führen Sie den Befehl direkt aus, um zu sehen, warum er fehlschlägt, und authentifizieren Sie sich erneut bei Ihrem Anmeldedaten-Anbieter, wenn dieser eine abgelaufene Sitzung meldet; siehe [die Fehlerreferenz](https://code.claude.com/docs/de/errors.md#your-apikeyhelper-script-is-failing) |511| `Your apiKeyHelper script is failing`, oder `apiKeyHelper failed:` auf stderr im nicht-interaktiven Modus | Der Befehl in der [`apiKeyHelper`](https://code.claude.com/docs/de/settings-reference#apikeyhelper)-Einstellung hat keinen verwendbaren Schlüssel erzeugt, daher enthalten Anfragen einen Platzhalter-Schlüssel | Führen Sie den Befehl direkt aus, um zu sehen, warum er fehlschlägt, und authentifizieren Sie sich erneut bei Ihrem Anmeldedaten-Anbieter, wenn dieser eine abgelaufene Sitzung meldet; siehe [die Fehlerreferenz](https://code.claude.com/docs/de/errors.md#your-apikeyhelper-script-is-failing) |

512| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` wenn nichts unter der Adresse antwortet, oder `Can't reach the API server — check your internet or DNS (ENOTFOUND)` wenn der Hostname nicht aufgelöst wird, oft nach einer stillen Pause, während Claude Code [mit Backoff erneut versucht](https://code.claude.com/docs/de/errors.md#automatic-retries). Der Code in Klammern variiert; [Unable to connect to API](https://code.claude.com/docs/de/errors.md#unable-to-connect-to-api) behandelt die Code-Schreibweisen und die frühere Formulierung | Nichts antwortete unter der Basis-URL: Die Adresse ist falsch, oder ein VPN oder eine Firewall blockiert den Pfad zum Gateway | Führen Sie den [curl-Test oben](#verify-the-connection) aus, der sofort mit der gleichen Ursache fehlschlägt, und bestätigen Sie die URL und den Netzwerkpfad mit Ihrem Gateway-Team |512| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` wenn nichts unter der Adresse antwortet, oder `Can't reach the API server — check your internet or DNS (ENOTFOUND)` wenn der Hostname nicht aufgelöst wird, oft nach einer stillen Pause, während Claude Code [mit Backoff erneut versucht](https://code.claude.com/docs/de/errors.md#automatic-retries). Der Code in Klammern variiert; [Unable to connect to API](https://code.claude.com/docs/de/errors.md#unable-to-connect-to-api) behandelt die Code-Schreibweisen und die frühere Formulierung | Nichts antwortete unter der Basis-URL: Die Adresse ist falsch, oder ein VPN oder eine Firewall blockiert den Pfad zum Gateway | Führen Sie den [curl-Test oben](#verify-the-connection) aus, der sofort mit der gleichen Ursache fehlschlägt, und bestätigen Sie die URL und den Netzwerkpfad mit Ihrem Gateway-Team |


520| `/fast` meldet `Fast mode unavailable due to network connectivity issues` während Inferenz-Anfragen funktionieren | Die Verfügbarkeitsprüfung für den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) geht direkt zu `api.anthropic.com` und folgt nicht `ANTHROPIC_BASE_URL`, daher schlägt blockierter direkter Ausgang die Prüfung fehl | Nehmen Sie `api.anthropic.com` in die Allowlist auf, wenn Ausgang blockiert ist, oder legen Sie eine Skip-Variable fest. Siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |520| `/fast` meldet `Fast mode unavailable due to network connectivity issues` während Inferenz-Anfragen funktionieren | Die Verfügbarkeitsprüfung für den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) geht direkt zu `api.anthropic.com` und folgt nicht `ANTHROPIC_BASE_URL`, daher schlägt blockierter direkter Ausgang die Prüfung fehl | Nehmen Sie `api.anthropic.com` in die Allowlist auf, wenn Ausgang blockiert ist, oder legen Sie eine Skip-Variable fest. Siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

521| `/fast` meldet `Fast mode is currently unavailable` in einer Sitzung, die sich mit einem vom Gateway ausgestellten Schlüssel in `ANTHROPIC_API_KEY` authentifiziert | Solange `ANTHROPIC_BASE_URL` auf Ihr Gateway zeigt und der Schlüssel nicht im Format eines Anthropic-API-Schlüssels vorliegt, sendet Claude Code die Verfügbarkeitsprüfung für den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) nicht. Ohne eine zwischengespeicherte frühere erfolgreiche Prüfung behandelt es den Fast-Modus als nicht verfügbar | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` fest; siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |521| `/fast` meldet `Fast mode is currently unavailable` in einer Sitzung, die sich mit einem vom Gateway ausgestellten Schlüssel in `ANTHROPIC_API_KEY` authentifiziert | Solange `ANTHROPIC_BASE_URL` auf Ihr Gateway zeigt und der Schlüssel nicht im Format eines Anthropic-API-Schlüssels vorliegt, sendet Claude Code die Verfügbarkeitsprüfung für den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) nicht. Ohne eine zwischengespeicherte frühere erfolgreiche Prüfung behandelt es den Fast-Modus als nicht verfügbar | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` fest; siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

522| `/fast` meldet `Fast mode has been disabled by your organization` in einer Sitzung, die mit `ANTHROPIC_AUTH_TOKEN` authentifiziert ist, obwohl die Organisation den Fast-Modus aktiviert hat | Die Verfügbarkeitsprüfung erfordert einen claude.ai-Login oder einen API-Schlüssel; mit nur einem Bearer-Token behandelt Claude Code den Fast-Modus als deaktiviert, ohne die Prüfung zu senden | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` fest; siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |522| `/fast` meldet `Fast mode has been disabled by your organization` in einer Sitzung, die mit `ANTHROPIC_AUTH_TOKEN` authentifiziert ist, obwohl die Organisation den Fast-Modus aktiviert hat | Die Verfügbarkeitsprüfung erfordert einen claude.ai-Login oder einen API-Schlüssel; mit nur einem Bearer-Token behandelt Claude Code den Fast-Modus als deaktiviert, ohne die Prüfung zu senden | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` fest; siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

523| `/feedback` speichert eine lokale Datei in einer Sitzung, die `ANTHROPIC_BASE_URL` verwendet | Hinter einem Gateway sind `ANTHROPIC_AUTH_TOKEN` und ein Schlüssel, der nicht im Format eines Anthropic-API-Schlüssels vorliegt, keine Anthropic-Anmeldedaten. Ohne solche Anmeldedaten schreibt Claude Code den Bericht in ein lokales Archiv unter `~/.claude/feedback-bundles/`, anstatt ihn zu senden | Senden Sie die Datei an Ihren Anthropic-Account-Ansprechpartner oder hängen Sie sie an eine Support-Anfrage an. Siehe [Telemetriedienste](https://code.claude.com/docs/de/data-usage.md#telemetry-services) |

523| Claude Code fordert Sie auf, sich anzumelden, obwohl der [curl-Test](#verify-the-connection) erfolgreich ist | Die CLI hat keine eigene Anmeldedaten: Eine erreichbare Basis-URL ist keine, und in einer interaktiven Sitzung gilt ein `env`-Block in einer Projekt-`.claude/settings.json` oder `.claude/settings.local.json` nur nach dem First-Run-Wizard und der [Vertrauensaufforderung](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) | Legen Sie `ANTHROPIC_AUTH_TOKEN` irgendwo fest, wo Claude Code vor dem First-Run-Setup liest: ein Shell-Export, der `env`-Block in `~/.claude/settings.json` oder verwaltete Einstellungen |524| Claude Code fordert Sie auf, sich anzumelden, obwohl der [curl-Test](#verify-the-connection) erfolgreich ist | Die CLI hat keine eigene Anmeldedaten: Eine erreichbare Basis-URL ist keine, und in einer interaktiven Sitzung gilt ein `env`-Block in einer Projekt-`.claude/settings.json` oder `.claude/settings.local.json` nur nach dem First-Run-Wizard und der [Vertrauensaufforderung](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) | Legen Sie `ANTHROPIC_AUTH_TOKEN` irgendwo fest, wo Claude Code vor dem First-Run-Setup liest: ein Shell-Export, der `env`-Block in `~/.claude/settings.json` oder verwaltete Einstellungen |

524| `ANTHROPIC_API_KEY` ist festgelegt, wird aber ignoriert, ohne Aufforderung | Der Schlüssel benötigt eine einmalige Genehmigung in interaktiven Sitzungen, und ein zuvor abgelehnter Schlüssel wird ohne erneute Frage ignoriert | Aktivieren Sie ihn unter `/config` mit der Option `Use custom API key` |525| `ANTHROPIC_API_KEY` ist festgelegt, wird aber ignoriert, ohne Aufforderung | Der Schlüssel benötigt eine einmalige Genehmigung in interaktiven Sitzungen, und ein zuvor abgelehnter Schlüssel wird ohne erneute Frage ignoriert | Aktivieren Sie ihn unter `/config` mit der Option `Use custom API key` |

525| `This machine's managed settings require a first-party login`, oder [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in) wenn verwaltete Einstellungen `forceLoginMethod` auf `"gateway"` setzen oder auch `forceLoginGatewayUrl` setzen | Verwaltete Einstellungen enthalten `forceLoginMethod` oder `forceLoginOrgUUID`, die nicht mit `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` koexistieren können | Ihr Administrator muss `forceLoginMethod`, `forceLoginOrgUUID` und `forceLoginGatewayUrl` aus verwalteten Einstellungen entfernen, um Gateway-Anmeldedaten zu verwenden, oder die Gateway-Anmeldedaten entfernen und die Anmeldung verwenden, die die verwalteten Einstellungen erfordern. Die beiden können nicht kombiniert werden |526| `This machine's managed settings require a first-party login`, oder [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in) wenn verwaltete Einstellungen `forceLoginMethod` auf `"gateway"` setzen oder auch `forceLoginGatewayUrl` setzen | Verwaltete Einstellungen enthalten `forceLoginMethod` oder `forceLoginOrgUUID`, die nicht mit `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` koexistieren können | Ihr Administrator muss `forceLoginMethod`, `forceLoginOrgUUID` und `forceLoginGatewayUrl` aus verwalteten Einstellungen entfernen, um Gateway-Anmeldedaten zu verwenden, oder die Gateway-Anmeldedaten entfernen und die Anmeldung verwenden, die die verwalteten Einstellungen erfordern. Die beiden können nicht kombiniert werden |

Details

142claude -p "Reply with one word: connected"142claude -p "Reply with one word: connected"

143```143```

144 144 

145**Checkpoint**: der Prompt gibt eine Antwort zurück, und die Anfrage erscheint im Gateway-Log als `POST` zum `/v1/messages`-Pfad mit Status `200`. Claude Code hängt eine Query-Zeichenkette wie `?beta=true` an, daher stimmen Sie mit dem Pfad überein, nicht mit der vollständigen URL. Zwei Fehlermeldungen weisen in verschiedene Richtungen:145**Checkpoint**: der Prompt gibt eine Antwort zurück, und die Anfrage erscheint im Gateway-Log als `POST` zum `/v1/messages`-Pfad mit Status `200`. Claude Code hängt eine Query-Zeichenkette wie `?beta=true` an, gleichen Sie daher mit dem Pfad ab, nicht mit der vollständigen URL. Prüfen Sie die Fehlermeldung:

146 146 

147* `Not logged in`: überprüfen Sie das Gateway-Log, um die beiden Ursachen auseinanderzuhalten. Wenn es leer ist, hat keine Anmeldedaten die Sitzung erreicht und keine Anfrage hat die Maschine verlassen; führen Sie die Exporte in der Shell aus, die Sie testen. Wenn es eine abgelehnte Anfrage mit `x-api-key` im `401`-Body zeigt, erwartet das Gateway Schlüssel in diesem Header stattdessen; wechseln Sie zu `ANTHROPIC_API_KEY`147* `Not logged in`: überprüfen Sie das Gateway-Log. Wenn es leer ist, haben keine Anmeldedaten die Sitzung erreicht und keine Anfrage hat die Maschine verlassen; führen Sie die Exporte in der Shell, aus der Sie testen, erneut aus. Wenn es ein `401` vom Gateway zeigt, das `x-api-key` benennt, erwartet das Gateway Schlüssel stattdessen in diesem Header; wechseln Sie zu `ANTHROPIC_API_KEY`. Wenn es ein `401` von `api.anthropic.com` oder dem Endpunkt Ihres Anbieters zeigt, korrigieren Sie die Anbieteranmeldedaten, die das Gateway hält

148* `Failed to authenticate. API Error: 401` bedeutet, dass eine Anmeldedaten gesendet und abgelehnt wurde, und das Gateway-Log sagt, wo: ein `401`, das `api.anthropic.com` oder Ihren Anbieter-Endpunkt benennt, bedeutet, dass das Gateway den Upstream erreicht hat, aber seine Anbieteranmeldedaten, die es hält, abgelehnt wurden, daher funktionierte der Entwicklerschlüssel und die Anbieteranmeldedaten, die das Gateway hält, sind falsch oder ein Platzhalter148* `Failed to authenticate. API Error: 401` bedeutet, dass eine Anmeldedaten gesendet und abgelehnt wurde, und das Gateway-Log sagt, wo: ein `401`, das `api.anthropic.com` oder Ihren Anbieter-Endpunkt benennt, bedeutet, dass das Gateway den Upstream erreicht hat, aber seine Anbieteranmeldedaten, die es hält, abgelehnt wurden, daher funktionierte der Entwicklerschlüssel und die Anbieteranmeldedaten, die das Gateway hält, sind falsch oder ein Platzhalter

149 149 

150Eine falsche oder unerreichbare Basis-URL erzeugt ein anderes Symptom: Claude Code [versucht die Verbindung mit Backoff erneut](https://code.claude.com/docs/de/errors.md#automatic-retries) und kann mehrere Minuten ohne Ausgabe sitzen, bevor es einen Fehler meldet. Wenn der Befehl zu hängen scheint, überprüfen Sie stattdessen das Gateway-Log, anstatt zu warten; keine ankommende Anfrage bedeutet, dass `ANTHROPIC_BASE_URL` nicht auf das Gateway zeigt.150Eine falsche oder unerreichbare Basis-URL erzeugt ein anderes Symptom: Claude Code [versucht die Verbindung mit Backoff erneut](https://code.claude.com/docs/de/errors.md#automatic-retries) und kann mehrere Minuten ohne Ausgabe sitzen, bevor es einen Fehler meldet. Wenn der Befehl zu hängen scheint, überprüfen Sie stattdessen das Gateway-Log, anstatt zu warten; keine ankommende Anfrage bedeutet, dass `ANTHROPIC_BASE_URL` nicht auf das Gateway zeigt.


247 247 

248Sie sollten `data:`-Zeilen inkrementell ankommen sehen. Die gesamte Antwort, die auf einmal nach einer Pause ankommt, bedeutet, dass das Gateway puffert, was Claude Code staut; ein `404` bedeutet, dass der Modellname nicht weitergeleitet wird. Wiederholen Sie pro Modellname.248Sie sollten `data:`-Zeilen inkrementell ankommen sehen. Die gesamte Antwort, die auf einmal nach einer Pause ankommt, bedeutet, dass das Gateway puffert, was Claude Code staut; ein `404` bedeutet, dass der Modellname nicht weitergeleitet wird. Wiederholen Sie pro Modellname.

249 249 

250Starten Sie dann `claude` und senden Sie eine Nachricht. Jedes Symptom in diesem Schritt hat eine Ursache:250Starten Sie dann `claude`, senden Sie eine Nachricht und gleichen Sie ab, was Sie sehen:

251 251 

252* Eine Login-Aufforderung bedeutet eine Anmeldedaten-Lücke. Führen Sie `/status` aus und öffnen Sie die **Status**-Registerkarte: wenn die `Setting sources`-Zeile verwaltete Einstellungen nicht enthält, hat die Verteilung die Maschine nicht erreicht; wenn sie es tut, wurde die Entwickleranmeldedaten nicht bereitgestellt, daher setzen Sie `ANTHROPIC_AUTH_TOKEN` oder den `apiKeyHelper`252* Ein Login-Bildschirm oder `Not logged in` ohne neuen Eintrag im Gateway-Log bedeutet eine Lücke bei den Anmeldedaten. Führen Sie `/status` aus und öffnen Sie die Registerkarte **Status**: wenn die Zeile `Setting sources` keine verwalteten Einstellungen enthält, hat die Verteilung die Maschine nicht erreicht; wenn sie sie enthält, wurden die Entwickleranmeldedaten nicht bereitgestellt, setzen Sie daher `ANTHROPIC_AUTH_TOKEN` oder den `apiKeyHelper`

253* `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 wurden253* `Please run /login · API Error: 401`, `Not logged in` oder `Invalid API key` mit einem `401` im Gateway-Log: Prüfen Sie, wer das `401` ausgegeben hat. Korrigieren Sie den Entwicklerschlüssel oder seinen Header, wenn das Gateway es ausgegeben hat, oder die Anbieteranmeldedaten, die das Gateway hält, wenn es von `api.anthropic.com` oder dem Endpunkt Ihres Anbieters kam

254* Eine einmalige Genehmigungsabfrage für den Schlüssel ist bei der ersten Verwendung zu erwarten, wenn das Gateway Schlüssel im `x-api-key`-Header erwartet, gesetzt als `ANTHROPIC_API_KEY`254* Eine einmalige Genehmigungsabfrage für den Schlüssel ist bei der ersten Verwendung zu erwarten, wenn das Gateway Schlüssel im `x-api-key`-Header erwartet, gesetzt als `ANTHROPIC_API_KEY`

255 255 

256Wenn Ihre Organisation [Schnellmodus](https://code.claude.com/docs/de/fast-mode.md) 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](https://code.claude.com/docs/de/fast-mode.md#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).256Wenn Ihre Organisation [Schnellmodus](https://code.claude.com/docs/de/fast-mode.md) 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](https://code.claude.com/docs/de/fast-mode.md#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).

mcp.md +0 −2

Details

835 835 

836Ein Server, den Ihre Organisation über die verwaltete Einstellung [`managedMcpServers`](https://code.claude.com/docs/de/managed-mcp#provide-servers-through-managed-settings) bereitstellt, hat Vorrang vor all diesen, daher verbindet sich Claude Code mit der Definition der Organisation, wenn einer von ihnen ihn dupliziert. Erfordert Claude Code v2.1.259 oder später.836Ein Server, den Ihre Organisation über die verwaltete Einstellung [`managedMcpServers`](https://code.claude.com/docs/de/managed-mcp#provide-servers-through-managed-settings) bereitstellt, hat Vorrang vor all diesen, daher verbindet sich Claude Code mit der Definition der Organisation, wenn einer von ihnen ihn dupliziert. Erfordert Claude Code v2.1.259 oder später.

837 837 

838Wenn Sie eine lokale Sitzung in der [Code-Registerkarte der Desktop-App](https://code.claude.com/docs/de/desktop.md#mcp-servers-from-the-claude-desktop-chat-app) mit dem gleichen stdio-Servernamen auf der obersten Ebene von `~/.claude.json` (Benutzerbereich) und in `.mcp.json` öffnen, verwendet die Code-Registerkarte die `~/.claude.json`-Definition.

839 

840### Umgebungsvariablen-Erweiterung in `.mcp.json`838### Umgebungsvariablen-Erweiterung in `.mcp.json`

841 839 

842Claude 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.840Claude 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.

Details

147 147 

148## Azure RBAC-Konfiguration148## Azure RBAC-Konfiguration

149 149 

150Die Standardrollen `Azure AI User` und `Cognitive Services User` enthalten alle erforderlichen Berechtigungen zum Aufrufen von Claude-Modellen.150Wenn Sie sich mit Microsoft Entra ID oder einem von Microsoft Entra ID ausgestellten Bearer-Token authentifizieren, weisen Sie Ihrer Identität die Rolle `Foundry User` oder `Cognitive Services User` für Ihre Foundry-Ressource zu. Möglicherweise sehen Sie `Foundry User` noch unter seinem früheren Namen `Azure AI User`.

151 151 

152Für restriktivere Berechtigungen erstellen Sie eine benutzerdefinierte Rolle mit Folgendem:152Wenn diese Rollen Ihre Anforderungen nicht erfüllen, finden Sie Informationen zu benutzerdefinierten Rollen in der [Microsoft Foundry RBAC-Dokumentation](https://learn.microsoft.com/en-us/azure/foundry/concepts/rbac-foundry).

153 

154```json theme={null}

155{

156 "permissions": [

157 {

158 "dataActions": [

159 "Microsoft.CognitiveServices/accounts/providers/*"

160 ]

161 }

162 ]

163}

164```

165 

166Weitere Informationen finden Sie in der [Microsoft Foundry RBAC-Dokumentation](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).

167 153 

168## 1M-Token-Kontextfenster154## 1M-Token-Kontextfenster

169 155 

model-config.md +5 −3

Details

157 157 

158Wenn das aktive Modell beim Start aus Projekt- oder verwalteten Einstellungen statt aus Ihrer eigenen Auswahl stammt, zeigt der Startheader, welche Einstellungsdatei es festgelegt hat. Führen Sie `/model` aus, um zu überschreiben; die Projekt- oder verwaltete Einstellung wird beim nächsten Start erneut angewendet. Auf Plattformen, die Claude Code einbetten und [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/de/env-vars) festlegen, hat die Modellkonfiguration des Hosts Vorrang vor verwalteten Modelleinstellungen, während eine verwaltete `availableModels`-Allowlist in Kraft bleibt, sofern der Host nicht seine eigene bereitstellt; [Exceptions to managed settings precedence](https://code.claude.com/docs/de/settings.md#exceptions-to-managed-settings-precedence) gibt an, welche Schlüssel und Variablen der Host überschreibt.158Wenn das aktive Modell beim Start aus Projekt- oder verwalteten Einstellungen statt aus Ihrer eigenen Auswahl stammt, zeigt der Startheader, welche Einstellungsdatei es festgelegt hat. Führen Sie `/model` aus, um zu überschreiben; die Projekt- oder verwaltete Einstellung wird beim nächsten Start erneut angewendet. Auf Plattformen, die Claude Code einbetten und [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/de/env-vars) festlegen, hat die Modellkonfiguration des Hosts Vorrang vor verwalteten Modelleinstellungen, während eine verwaltete `availableModels`-Allowlist in Kraft bleibt, sofern der Host nicht seine eigene bereitstellt; [Exceptions to managed settings precedence](https://code.claude.com/docs/de/settings.md#exceptions-to-managed-settings-precedence) gibt an, welche Schlüssel und Variablen der Host überschreibt.

159 159 

160Wenn Sie oder Ihre Organisation [PreModelSwitch-Hooks](https://code.claude.com/docs/de/hooks.md#premodelswitch) konfigurieren, werden sie vor einem angeforderten Wechsel ausgeführt und können ihn blockieren oder Sie bitten, ihn zu bestätigen.160Wenn Sie oder Ihre Organisation [PreModelSwitch-Hooks](https://code.claude.com/docs/de/hooks.md#premodelswitch) konfigurieren, werden sie vor einem angeforderten Wechsel ausgeführt und können ihn blockieren oder Sie bitten, ihn zu bestätigen. Wie Sie herausfinden, warum ein Hook einen Wechsel blockiert hat, und was Sie tun können, erfahren Sie unter [Model switch was blocked by a PreModelSwitch hook](https://code.claude.com/docs/de/errors.md#model-switch-was-blocked-by-a-premodelswitch-hook).

161 161 

162Wenn Claude Code nicht feststellen kann, welche PreModelSwitch-Hooks die [verwalteten Plugins](https://code.claude.com/docs/de/settings-reference.md#enabledplugins) Ihrer Organisation bereitstellen, z. B. weil ein verwaltetes Plugin nicht geladen werden konnte, lehnt es den Wechsel ab, anstatt ihn ungeprüft anzuwenden, und prüft bei jedem neuen Versuch erneut. Siehe [Model switch was blocked by a PreModelSwitch hook](https://code.claude.com/docs/de/errors.md#model-switch-was-blocked-by-a-premodelswitch-hook) für die Meldung und die Behebung.162Wenn ein [verwaltetes Plugin](https://code.claude.com/docs/de/settings-reference.md#enabledplugins) oder seine Hooks nicht geladen werden können, können Sie trotzdem Modelle wechseln. Die PreModelSwitch-Hooks des Plugins werden nicht ausgeführt, sodass ein Wechsel, den einer von ihnen blockiert hätte, stattfinden kann. Andere PreModelSwitch-Hooks, die geladen wurden, werden weiterhin ausgeführt und können ihn blockieren. Wenn Claude Code vor v2.1.323 den Wechsel mit `so organization-managed PreModelSwitch hooks could not be checked` ablehnt, aktualisieren Sie Claude Code.

163 

164Um zu sehen, was fehlgeschlagen ist, führen Sie `/plugin` in Ihrer Sitzung aus und öffnen Sie den [Tab **Errors**](https://code.claude.com/docs/de/plugins/troubleshooting.md#failed-to-load-hooks-from-and-hooks-that-dont-fire). Wenn dort nichts aufgeführt ist, starten Sie über Ihre Shell eine neue Sitzung mit `claude --debug`, wechseln Sie zu einem anderen Modell und lesen Sie dann das [Debug-Log](https://code.claude.com/docs/de/hooks.md#debug-hooks). Nachdem Sie das Plugin korrigiert haben oder ein [Plugin-Update](https://code.claude.com/docs/de/plugins/install.md#keep-plugins-updated) die Korrektur Ihres Admins auf Ihren Rechner gebracht hat, führen Sie `/reload-plugins` in Ihrer Sitzung aus, damit seine Hooks ausgeführt werden.

163 165 

164Wenn Sie Modelle über die `setModel()`-Methode des [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md), über eine App wie die [Desktop-App](https://code.claude.com/docs/de/desktop.md) oder von einem Gerät, das über [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist, wechseln, prüft Claude Code den Wert beim Wechsel:166Wenn Sie Modelle über die `setModel()`-Methode des [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md), über eine App wie die [Desktop-App](https://code.claude.com/docs/de/desktop.md) oder von einem Gerät, das über [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist, wechseln, prüft Claude Code den Wert beim Wechsel:

165 167 


903 905 

904### Fenster für ein Gateway oder eine benutzerdefinierte Modell-ID korrigieren906### Fenster für ein Gateway oder eine benutzerdefinierte Modell-ID korrigieren

905 907 

906Jede dieser beiden Startwarnungen bedeutet, dass Claude Code die Modell-ID Ihrer Sitzung nicht erkennt. Daher kann es das Kontextfenster des Modells nicht bestimmen und nimmt 200K Token an:908Jede dieser beiden Warnungen bedeutet, dass Claude Code die Modell-ID Ihrer Sitzung nicht erkennt. Daher kann es das Kontextfenster des Modells nicht bestimmen und nimmt 200K Token an:

907 909 

908```text theme={null}910```text theme={null}

909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...911⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...

Details

110| `CLAUDE_CODE_ENABLE_TELEMETRY` | Aktiviert die Erfassung von Telemetriedaten (erforderlich) | `1` |110| `CLAUDE_CODE_ENABLE_TELEMETRY` | Aktiviert die Erfassung von Telemetriedaten (erforderlich) | `1` |

111| `OTEL_METRICS_EXPORTER` | Metrik-Exporter-Typen, durch Kommas getrennt. Verwenden Sie `none` zum Deaktivieren | `console`, `otlp`, `prometheus`, `none` |111| `OTEL_METRICS_EXPORTER` | Metrik-Exporter-Typen, durch Kommas getrennt. Verwenden Sie `none` zum Deaktivieren | `console`, `otlp`, `prometheus`, `none` |

112| `OTEL_LOGS_EXPORTER` | Exporter-Typen für Logs/Events, durch Kommas getrennt. Verwenden Sie `none` zum Deaktivieren | `console`, `otlp`, `none` |112| `OTEL_LOGS_EXPORTER` | Exporter-Typen für Logs/Events, durch Kommas getrennt. Verwenden Sie `none` zum Deaktivieren | `console`, `otlp`, `none` |

113| `OTEL_EXPORTER_OTLP_PROTOCOL` | Protokoll für den OTLP-Exporter, gilt für alle Signale. Claude Code hat kein Standardprotokoll; setzen Sie daher diese oder die signalspezifische Protokollvariable für jeden `otlp`-Exporter, den Sie aktivieren | `grpc`, `http/json`, `http/protobuf` |113| `OTEL_EXPORTER_OTLP_PROTOCOL` | Protokoll für den OTLP-Exporter, gilt für alle Signale. Standardmäßig `http/protobuf` bei einem gültigen `http://`- oder `https://`-Endpunkt. Setzen Sie den Wert bei einem gRPC-Endpunkt wie `http://localhost:4317` auf `grpc`. Der Standardwert erfordert Claude Code v2.1.323 oder höher | `grpc`, `http/json`, `http/protobuf` |

114| `OTEL_EXPORTER_OTLP_ENDPOINT` | OTLP-Collector-Endpunkt für alle Signale | `http://localhost:4317` |114| `OTEL_EXPORTER_OTLP_ENDPOINT` | OTLP-Collector-Endpunkt für alle Signale | `http://localhost:4317` |

115| `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | Protokoll für Metriken, überschreibt die allgemeine Einstellung | `grpc`, `http/json`, `http/protobuf` |115| `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | Protokoll für Metriken, überschreibt die allgemeine Einstellung | `grpc`, `http/json`, `http/protobuf` |

116| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | OTLP-Endpunkt für Metriken, überschreibt die allgemeine Einstellung | `http://localhost:4318/v1/metrics` |116| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | OTLP-Endpunkt für Metriken, überschreibt die allgemeine Einstellung | `http://localhost:4318/v1/metrics` |


431> * **Keine Leerzeichen erlaubt**: Werte dürfen keine Leerzeichen enthalten. Zum Beispiel ist `user.organizationName=My Company` ungültig431> * **Keine Leerzeichen erlaubt**: Werte dürfen keine Leerzeichen enthalten. Zum Beispiel ist `user.organizationName=My Company` ungültig

432> * **Format**: Es müssen durch Kommas getrennte key=value-Paare sein: `key1=value1,key2=value2`432> * **Format**: Es müssen durch Kommas getrennte key=value-Paare sein: `key1=value1,key2=value2`

433> * **Erlaubte Zeichen**: Nur US-ASCII-Zeichen mit Ausnahme von Steuerzeichen, Leerraum, doppelten Anführungszeichen, Kommas, Semikolons und Backslashes433> * **Erlaubte Zeichen**: Nur US-ASCII-Zeichen mit Ausnahme von Steuerzeichen, Leerraum, doppelten Anführungszeichen, Kommas, Semikolons und Backslashes

434> * **Sonderzeichen**: Zeichen außerhalb des erlaubten Bereichs müssen prozentkodiert werden434> * **Sonderzeichen**: Zeichen außerhalb des erlaubten Bereichs müssen prozentkodiert werden, und ein `=` innerhalb eines Werts muss als `%3D` geschrieben werden

435>435>

436> Verwenden Sie für einen Wert, der ein Leerzeichen benötigen würde, stattdessen Unterstriche oder camelCase. Die folgenden Beispiele setzen `org.name` in jeder der beiden Formen:436> Verwenden Sie für einen Wert, der ein Leerzeichen benötigen würde, stattdessen Unterstriche oder camelCase. Die folgenden Beispiele setzen `org.name` in jeder der beiden Formen:

437>437>


475 475 

476* **Sie haben ihn auf dem Computer gesetzt, auf dem Desktop läuft**: Desktop gibt einen dort gesetzten Wert nicht an die SSH-Sitzung weiter476* **Sie haben ihn auf dem Computer gesetzt, auf dem Desktop läuft**: Desktop gibt einen dort gesetzten Wert nicht an die SSH-Sitzung weiter

477* **Sie haben ihn in `/etc/profile` oder einer anderen Datei exportiert, die nur Login-Shells lesen**: Der Name kommt an, wenn Sie `claude` aus einer Login-Shell ausführen, aber nicht in einer Desktop-SSH-Sitzung. Desktop startet Claude Code nicht über eine Login-Shell. Setzen Sie die Variable stattdessen unter `env` in der [Datei mit verwalteten Einstellungen](https://code.claude.com/docs/de/desktop.md#managed-settings) auf dem entfernten Rechner.477* **Sie haben ihn in `/etc/profile` oder einer anderen Datei exportiert, die nur Login-Shells lesen**: Der Name kommt an, wenn Sie `claude` aus einer Login-Shell ausführen, aber nicht in einer Desktop-SSH-Sitzung. Desktop startet Claude Code nicht über eine Login-Shell. Setzen Sie die Variable stattdessen unter `env` in der [Datei mit verwalteten Einstellungen](https://code.claude.com/docs/de/desktop.md#managed-settings) auf dem entfernten Rechner.

478* **Ein Wert enthält ein Leerzeichen**: Claude Code kopiert dann keinen der Schlüssel auf Events oder Datenpunkte und meldet keinen Fehler. [Entfernen Sie das Leerzeichen aus dem Wert](#multi-team-organization-support).478* **Ein Wert enthält ein Leerzeichen**: Claude Code kopiert dann keinen der Schlüssel auf Events oder Datenpunkte. Um zu sehen, welcher Wert das Leerzeichen enthält, führen Sie `/status` in einer Sitzung auf dem entfernten Rechner aus. [Entfernen Sie das Leerzeichen aus dem Wert](#multi-team-organization-support).

479* **Etwas anderes setzt die Variable bereits**: In einer Sitzung, die die Desktop-App startet, hat eine bereits in der Startumgebung gesetzte Variable [Vorrang vor Einstellungsdateien](https://code.claude.com/docs/de/settings-reference.md#how-env-values-interact-with-your-shell). Das [Debug-Log](https://code.claude.com/docs/de/debug-your-config.md) nennt jede ignorierte Variable. Wenn eine Desktop-Bereitstellung eines Drittanbieters [einen OTLP-Endpunkt](#how-managed-settings-lock-the-otlp-destination) in der von ihr bereitgestellten Umgebung angibt, enthält diese Umgebung die eigene `OTEL_RESOURCE_ATTRIBUTES` von Desktop.479* **Etwas anderes setzt die Variable bereits**: In einer Sitzung, die die Desktop-App startet, hat eine bereits in der Startumgebung gesetzte Variable [Vorrang vor Einstellungsdateien](https://code.claude.com/docs/de/settings-reference.md#how-env-values-interact-with-your-shell). Das [Debug-Log](https://code.claude.com/docs/de/debug-your-config.md) nennt jede ignorierte Variable. Wenn eine Desktop-Bereitstellung eines Drittanbieters [einen OTLP-Endpunkt](#how-managed-settings-lock-the-otlp-destination) in der von ihr bereitgestellten Umgebung angibt, enthält diese Umgebung die eigene `OTEL_RESOURCE_ATTRIBUTES` von Desktop.

480 480 

481### Beispielkonfigurationen481### Beispielkonfigurationen

Details

304claude --permission-mode plan304claude --permission-mode plan

305```305```

306 306 

307Drücken Sie erneut `Shift+Tab`, um den Plan-Modus zu verlassen, ohne einen Plan zu genehmigen.307Wenn keine Genehmigungsabfrage geöffnet ist, drücken Sie erneut `Shift+Tab`, um den Plan-Modus zu verlassen. Drücken Sie in der Genehmigungsabfrage zuerst `Esc`, da `Shift+Tab` dort den Plan genehmigt.

308 308 

309### Einen Plan prüfen und genehmigen309### Einen Plan prüfen und genehmigen

310 310 


593> * Wenn Claude ein [von jemand anderem erstelltes Artefakt](https://code.claude.com/docs/de/artifacts.md#read-an-artifact-shared-with-you) liest, gelten die in diesem Abschnitt aufgeführten Genehmigungsfälle593> * Wenn Claude ein [von jemand anderem erstelltes Artefakt](https://code.claude.com/docs/de/artifacts.md#read-an-artifact-shared-with-you) liest, gelten die in diesem Abschnitt aufgeführten Genehmigungsfälle

594> * Ein Lesevorgang von einem [Netzwerkpfad](https://code.claude.com/docs/de/permissions.md#network-paths) fragt bei Ihnen nach594> * Ein Lesevorgang von einem [Netzwerkpfad](https://code.claude.com/docs/de/permissions.md#network-paths) fragt bei Ihnen nach

595> 3. Alles andere geht an den Klassifikator, abgesehen von [Löschvorgängen in kritischen Pfaden](#critical-paths) bei deren Standardbehandlung. Die Konnektor-Tools und `requiresUserInteraction`-MCP-Tools, die in Schritt 1 direkt bei Ihnen nachfragen, erreichen den Klassifikator ebenfalls nie, sodass weder eine von der Organisation geforderte Genehmigung noch ein Zustimmungsschritt automatisch genehmigt wird595> 3. Alles andere geht an den Klassifikator, abgesehen von [Löschvorgängen in kritischen Pfaden](#critical-paths) bei deren Standardbehandlung. Die Konnektor-Tools und `requiresUserInteraction`-MCP-Tools, die in Schritt 1 direkt bei Ihnen nachfragen, erreichen den Klassifikator ebenfalls nie, sodass weder eine von der Organisation geforderte Genehmigung noch ein Zustimmungsschritt automatisch genehmigt wird

596> * Bei aktiviertem [Code Mode](https://code.claude.com/docs/de/code-mode.md#permission-checks) geht Claudes Code einmal an den Klassifikator, bevor er ausgeführt wird, die Tool-Aufrufe darin jedoch nicht. Sie können einen Aufruf weiterhin mit einer `deny`-Regel blockieren oder mit einer `ask`-Regel eine Abfrage verlangen, aber Claude kann Bash-Befehle in [Formen ausführen, auf die die Regeln nicht zutreffen](https://code.claude.com/docs/de/permissions.md#bash-rule-limits)

596> 4. Wenn der Klassifikator blockiert, erhält Claude den Grund. In den meisten Sitzungen nennt der Grund die Regel, die der Klassifikator zugeordnet hat, wie z. B. `[Data Exfiltration]`, statt eine schriftliche Erklärung zu liefern; siehe [Ablehnungen überprüfen](https://code.claude.com/docs/de/auto-mode-config.md#review-denials)597> 4. Wenn der Klassifikator blockiert, erhält Claude den Grund. In den meisten Sitzungen nennt der Grund die Regel, die der Klassifikator zugeordnet hat, wie z. B. `[Data Exfiltration]`, statt eine schriftliche Erklärung zu liefern; siehe [Ablehnungen überprüfen](https://code.claude.com/docs/de/auto-mode-config.md#review-denials)

597>598>

598> Ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md), der `tool.check` verarbeitet, kann ebenfalls eine Aktion genehmigen. Für die Fälle, in denen seine Genehmigung nicht an Ihren Regeln und Hooks vorbeikommt, siehe [Berechtigungen mit Hooks erweitern](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods).599> Ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md), der `tool.check` verarbeitet, kann ebenfalls eine Aktion genehmigen. Für die Fälle, in denen seine Genehmigung nicht an Ihren Regeln und Hooks vorbeikommt, siehe [Berechtigungen mit Hooks erweitern](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods).

permissions.md +1 −1

Details

784* Außerhalb eines Repositorys speichert Claude Code das Vertrauen auf dem Verzeichnis, von dem aus Sie es gestartet haben, und das Vertrauen deckt alle Unterverzeichnisse dieses Verzeichnisses ab, mit Ausnahme von verschachtelten Git-Repositorys darin, wie z. B. Klone. Jedes abgedeckte Unterverzeichnis zählt dann als ein Ordner, dessen übergeordnetem Verzeichnis Sie vertraut haben.784* Außerhalb eines Repositorys speichert Claude Code das Vertrauen auf dem Verzeichnis, von dem aus Sie es gestartet haben, und das Vertrauen deckt alle Unterverzeichnisse dieses Verzeichnisses ab, mit Ausnahme von verschachtelten Git-Repositorys darin, wie z. B. Klone. Jedes abgedeckte Unterverzeichnis zählt dann als ein Ordner, dessen übergeordnetem Verzeichnis Sie vertraut haben.

785* Wenn Sie in Ihrem Home-Verzeichnis starten, speichert Claude Code das Vertrauen nur für die aktuelle Sitzung und schreibt es nicht auf die Festplatte; siehe die Notiz zu [zusätzlichen Schutzmaßnahmen](https://code.claude.com/docs/de/security.md#additional-safeguards).785* Wenn Sie in Ihrem Home-Verzeichnis starten, speichert Claude Code das Vertrauen nur für die aktuelle Sitzung und schreibt es nicht auf die Festplatte; siehe die Notiz zu [zusätzlichen Schutzmaßnahmen](https://code.claude.com/docs/de/security.md#additional-safeguards).

786 786 

787Claude Code zeigt den Vertrauensdialog nur in interaktiven Sitzungen an. Ein `claude -p`-Lauf oder eine SDK-Sitzung zeigt ihn nie an, und das Vertrauen in ein übergeordnetes Verzeichnis zählt nicht für diese Regeln, daher sagt [Was läuft ab, bevor Sie einem Ordner vertrauen](#what-runs-before-you-trust-a-folder), welche Repository-Inhalte Claude Code in jeder dieser beiden Situationen noch verwendet.787Die VS Code-Erweiterung fragt nach demselben Vertrauen in einem Dialog mit dem Titel `Trust this folder in Claude Code?`, bevor sie eine Sitzung startet. Claude Code zeigt den Vertrauensdialog in interaktiven Terminal-Sitzungen an, aber nicht in `claude -p`- oder SDK-Sitzungen. Das Vertrauen in einen übergeordneten Ordner zählt nicht für diese Regeln. [Was läuft ab, bevor Sie einem Ordner vertrauen](#what-runs-before-you-trust-a-folder) beschreibt, welche Repository-Inhalte Claude Code in jedem Fall noch verwendet.

788 788 

789Bevor Claude Code eine [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md) startet oder neu startet, prüft Claude Code auch das Workspace-Vertrauen für das Verzeichnis, in dem die Sitzung läuft. Wenn Sie `claude --bg` von einem Terminal in einem Verzeichnis ausführen, dem Sie nicht vertraut haben, wird der Vertrauensdialog zuerst angezeigt und die Sitzung startet, sobald Sie ihn akzeptieren. Wo kein Dialog angezeigt werden kann, z. B. in einem Skript, beendet sich der Befehl stattdessen mit einem [`Workspace not trusted`](https://code.claude.com/docs/de/errors#workspace-not-trusted-when-dispatching-a-background-session)-Fehler.789Bevor Claude Code eine [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md) startet oder neu startet, prüft Claude Code auch das Workspace-Vertrauen für das Verzeichnis, in dem die Sitzung läuft. Wenn Sie `claude --bg` von einem Terminal in einem Verzeichnis ausführen, dem Sie nicht vertraut haben, wird der Vertrauensdialog zuerst angezeigt und die Sitzung startet, sobald Sie ihn akzeptieren. Wo kein Dialog angezeigt werden kann, z. B. in einem Skript, beendet sich der Befehl stattdessen mit einem [`Workspace not trusted`](https://code.claude.com/docs/de/errors#workspace-not-trusted-when-dispatching-a-background-session)-Fehler.

790 790 

Details

4 4 

5# Komponenten zu einem Plugin hinzufügen5# Komponenten zu einem Plugin hinzufügen

6 6 

7> Fügen Sie Skills, Hooks, MCP-Server und alle anderen Komponententypen zu einem Claude Code-Plugin hinzu, mit einem Beispiel, das für jeden validiert.7> Fügen Sie Skills, Hooks, MCP-Server und andere Komponententypen zu einem Claude Code-Plugin hinzu, jeweils mit einem Beispiel, das die Validierung besteht.

8 8 

9Ein Claude Code-Plugin wird aus Komponenten erstellt, wie Skills, Agents, Hooks und MCP-Servern. Jede Komponente hat einen Standard-Ordner im Plugin, einen optionalen Manifest-Schlüssel in `.claude-plugin/plugin.json`, der diesen Ordner ersetzt oder ergänzt, und einen Namen, den der Benutzer sieht. Für jede Schlüssels vollständige Feldtabelle siehe die [Manifest-Referenz](https://code.claude.com/docs/de/plugins/manifest-reference.md#fields).9Ein Claude Code-Plugin wird aus Komponenten erstellt, wie Skills, Agents, Hooks und MCP-Servern. Jede Komponente hat einen Standard-Ordner im Plugin, einen optionalen Manifest-Schlüssel in `.claude-plugin/plugin.json`, der diesen Ordner ersetzt oder ergänzt, und einen Namen, den der Benutzer sieht. Für jede Schlüssels vollständige Feldtabelle siehe die [Manifest-Referenz](https://code.claude.com/docs/de/plugins/manifest-reference.md#fields).

10 10 


22 22 

23## Plugin-Verzeichnis erkunden23## Plugin-Verzeichnis erkunden

24 24 

25Der Explorer zeigt ein Beispiel-Plugin, `my-plugin`, das an seinem Standard-Speicherort eine von jeder Art von Komponente hat:25Der Explorer zeigt ein Beispiel-Plugin, `my-plugin`, das diese Komponenten an ihren Standard-Speicherorten enthält:

26 26 

27* Ein Review-Skill und einen `about`-Befehl27* Ein Review-Skill und einen `about`-Befehl

28* Einen Security-Review-Subagenten28* Einen Security-Review-Subagenten


31* Einen Output-Stil und ein Farbschema31* Einen Output-Stil und ein Farbschema

32* Einen Route-Audit-Workflow32* Einen Route-Audit-Workflow

33* Eine `hello-plugin`-Ausführungsdatei33* Eine `hello-plugin`-Ausführungsdatei

34* Standard-Einstellungen

35* Einen lokalen MCP-Server und einen Go-Sprachserver34* Einen lokalen MCP-Server und einen Go-Sprachserver

36 35 

37Jede Datei ist das kleinste gültige Beispiel ihres Formats, um die Form zu zeigen, nicht um nützlich zu sein: Ein echter Skill oder Agent trägt vollständige Anweisungen und oft unterstützende Dateien, und ein echter Hook oder Monitor führt echte Arbeit aus. Die Abschnitte nach dem Explorer verwenden die gleichen Dateien als ihre Beispiele und verlinken auf vollständigere. Wählen Sie eine Datei oder einen Ordner aus, um zu lesen, wofür sie gedacht ist, zu sehen, was darin geht, und den Abschnitt zu finden, der sie behandelt.36Jede Datei ist das kleinste gültige Beispiel ihres Formats, um die Form zu zeigen, nicht um nützlich zu sein: Ein echter Skill oder Agent trägt vollständige Anweisungen und oft unterstützende Dateien, und ein echter Hook oder Monitor führt echte Arbeit aus. Die Abschnitte nach dem Explorer verwenden die gleichen Dateien als ihre Beispiele und verlinken auf vollständigere. Wählen Sie eine Datei oder einen Ordner aus, um zu lesen, wofür sie gedacht ist, zu sehen, was darin geht, und den Abschnitt zu finden, der sie behandelt.

38 37 

39What goes in a plugin38What goes in a plugin

40 39 

41This example plugin, `my-plugin`, has one of every kind of component, each in its default location. Select a file or folder to read what it’s for and see what goes in it.40This example plugin, `my-plugin`, has the components listed here, each in its default location. Select a file or folder to read what it’s for and see what goes in it.

42 41 

43Plugin directory42Plugin directory

44 43 


178npx prettier --write .177npx prettier --write .

179```178```

180 179 

181Eine `settings.json` im Plugin-Root hält [Einstellungen](https://code.claude.com/docs/de/settings-reference.md), die gelten, während das Plugin aktiviert ist, damit ein Plugin ändern kann, wie sich die Sitzung verhält, und nicht nur Komponenten hinzufügt. Nur zwei Schlüssel wirken sich von einem Plugin aus, [`agent`](https://code.claude.com/docs/de/settings-reference#agent) und [`subagentStatusLine`](https://code.claude.com/docs/de/settings-reference#subagentstatusline); jeder andere Schlüssel wird gelöscht. Siehe [Standard-Einstellungen](#default-settings).

182 

183Dieser setzt `agent`, der die Haupt-Thread-Sitzung als den eigenen `security-reviewer`-Agent des Plugins ausführt, damit der System-Prompt, die Tool-Einschränkungen und das Modell dieses Agenten auf die ganze Sitzung angewendet werden:

184 

185```json theme={null}

186{

187 "agent": "security-reviewer"

188}

189```

190 

191Ein [MCP-Server](https://code.claude.com/docs/de/mcp.md) gibt Claude Tools von einem externen System. Deklarieren Sie ihn in `.mcp.json` im Plugin-Root. Dieser startet einen lokalen Server aus einem Script im Plugin und erscheint in `/mcp` als `plugin:my-plugin:db`:180Ein [MCP-Server](https://code.claude.com/docs/de/mcp.md) gibt Claude Tools von einem externen System. Deklarieren Sie ihn in `.mcp.json` im Plugin-Root. Dieser startet einen lokalen Server aus einem Script im Plugin und erscheint in `/mcp` als `plugin:my-plugin:db`:

192 181 

193```json theme={null}182```json theme={null}


484 473 

485claude.ai und Cowork installieren kein Plugin mit einem `bin/`-Verzeichnis auf oberster Ebene, auch keines, das Sie [über die Organisationseinstellungen von claude.ai verteilen](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory).474claude.ai und Cowork installieren kein Plugin mit einem `bin/`-Verzeichnis auf oberster Ebene, auch keines, das Sie [über die Organisationseinstellungen von claude.ai verteilen](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory).

486 475 

487### Standardeinstellungen

488 

489Um Standardwerte festzulegen, die gelten, solange das Plugin aktiviert ist, fügen Sie eine `settings.json` im Plugin-Stammverzeichnis hinzu oder setzen Sie dasselbe Objekt inline in den Manifest-Schlüssel `settings`. Zwei Schlüssel werden wirksam, `agent` und `subagentStatusLine`, und alle anderen Schlüssel werden verworfen.

490 

491Legen Sie `agent` fest, um einen der eigenen Agenten des Plugins als Hauptthread auszuführen:

492 

493```json settings.json theme={null}

494{

495 "agent": "security-reviewer"

496}

497```

498 

499Laden Sie das Plugin und starten Sie eine Sitzung. Claude antwortet dann in der Hauptkonversation mit dem System-Prompt und dem Modell des Agenten `security-reviewer`.

500 

501Alles, was der Schlüssel steuert, finden Sie unter der [Einstellung `agent`](https://code.claude.com/docs/de/settings-reference#agent).

502 

503Wenn derselbe Schlüssel an mehr als einer Stelle festgelegt ist, entscheiden diese Regeln, welcher Wert gilt:

504 

505* **Datei vor Manifest**: Wenn beide vorhanden sind und `settings.json` mindestens einen unterstützten Schlüssel festlegt, gilt `settings.json`, und `settings` im Manifest wird ignoriert

506* **Benutzereinstellungen vor Plugin-Standardwerten**: Über alle Einstellungsquellen hinweg bilden Plugin-Standardwerte die unterste Ebene, sodass ein eigenes `agent` des Benutzers in `~/.claude/settings.json` Ihres überschreibt

507* **Zwei Plugins legen denselben Schlüssel fest**: Es gilt der Wert des zuletzt geladenen Plugins, und `claude --debug` protokolliert `overrides setting`

508 

509Die Form von `subagentStatusLine` finden Sie unter [Statuszeilen für Subagenten](https://code.claude.com/docs/de/statusline.md#subagent-status-lines).

510 

511### Themes und Ausgabestile476### Themes und Ausgabestile

512 477 

513Ein Plugin kann Farbthemes und Ausgabestile enthalten. Beide erscheinen in denselben Auswahlmenüs wie die eigenen des Benutzers. Für beide gilt: Wenn Sie den Manifest-Schlüssel festlegen, ersetzt dieser den Ordner-Scan.478Ein Plugin kann Farbthemes und Ausgabestile enthalten. Beide erscheinen in denselben Auswahlmenüs wie die eigenen des Benutzers. Für beide gilt: Wenn Sie den Manifest-Schlüssel festlegen, ersetzt dieser den Ordner-Scan.

Details

72* **`version`**: optional. Das Setzen hält Benutzer auf dieser Version, bis Sie es ändern; [Veröffentlichen Sie eine neue Version](https://code.claude.com/docs/de/plugins/host-marketplace.md#release-a-new-version) sagt, wann Sie es setzen oder weglassen sollten.72* **`version`**: optional. Das Setzen hält Benutzer auf dieser Version, bis Sie es ändern; [Veröffentlichen Sie eine neue Version](https://code.claude.com/docs/de/plugins/host-marketplace.md#release-a-new-version) sagt, wann Sie es setzen oder weglassen sollten.

73* **`author`**: wem Anerkennung gebührt. `name` ist erforderlich darin; `email` und `url` sind optional.73* **`author`**: wem Anerkennung gebührt. `name` ist erforderlich darin; `email` und `url` sind optional.

74 74 

75Jedes andere Feld ist in der [Manifest-Referenz](https://code.claude.com/docs/de/plugins/manifest-reference.md#fields).75Weitere Felder finden Sie in der [Manifest-Referenz](https://code.claude.com/docs/de/plugins/manifest-reference.md#fields).

76 76 

77Nur `plugin.json` geht in `.claude-plugin/`. Der Skill, den Sie als nächstes hinzufügen, geht direkt unter `my-first-plugin/`, neben diesem Ordner.77Nur `plugin.json` geht in `.claude-plugin/`. Der Skill, den Sie als nächstes hinzufügen, geht direkt unter `my-first-plugin/`, neben diesem Ordner.

78 78 


344 "PostToolUse": [344 "PostToolUse": [

345 {345 {

346 "matcher": "Write|Edit",346 "matcher": "Write|Edit",

347 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]347 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npm run lint:fix -- \"$f\"" }]

348 }348 }

349 ]349 ]

350 }350 }

Details

4 4 

5# Plugin-Manifest-Referenz5# Plugin-Manifest-Referenz

6 6 

7> Vollständige Referenz für plugin.json: jedes Feld mit seinem Typ und Standard, akzeptierte Pfadformen und die userConfig- und Umgebungsvariablenschemas.7> Vollständige Referenz für plugin.json: Felder mit Typen und Standardwerten, akzeptierte Pfadformen sowie die Schemas für userConfig und Umgebungsvariablen.

8 8 

9Ein Plugin-Manifest ist die Datei `plugin.json` im Verzeichnis `.claude-plugin/` eines Plugins. Sie enthält die Metadaten des Plugins und die [`userConfig`](#user-configuration)-Werte, die Claude Code den Benutzer auffordert einzugeben. Sie deklariert auch alle Komponenten, die Sie inline definieren oder außerhalb ihres [Standardorts](#standard-layout) speichern.9Ein Plugin-Manifest ist die Datei `plugin.json` im Verzeichnis `.claude-plugin/` eines Plugins. Sie enthält die Metadaten des Plugins und die [`userConfig`](#user-configuration)-Werte, die Claude Code den Benutzer auffordert einzugeben. Sie deklariert auch alle Komponenten, die Sie inline definieren oder außerhalb ihres [Standardorts](#standard-layout) speichern.

10 10 


117 117 

118## Felder118## Felder

119 119 

120Die Tabelle listet die Top-Level-Schlüssel in `plugin.json` auf. `name` ist der einzige erforderliche Schlüssel. Wenn ein Feldname ein Link ist, hat der verlinkte Abschnitt seine vollständigen Regeln.120Die Tabelle listet die Schlüssel der obersten Ebene in `plugin.json` auf. `name` ist der einzige erforderliche Schlüssel. Wenn ein Feldname ein Link ist, enthält der verlinkte Abschnitt die vollständigen Regeln.

121 121 

122Für Komponentenschlüssel wie `commands` und `hooks` zeigt [Komponentenpfadformen](#component-path-forms) jede akzeptierte Form mit einem Beispiel, und jeder Pfad folgt den [Pfadregeln](#path-rules) für das `./`-Präfix, Erweiterungen und Eindämmung.122Für Komponentenschlüssel wie `commands` und `hooks` zeigt [Komponentenpfadformen](#component-path-forms) jede akzeptierte Form mit einem Beispiel, und jeder Pfad folgt den [Pfadregeln](#path-rules) für das `./`-Präfix, Erweiterungen und Eindämmung.

123 123 


141| [`termsOfServiceUrl`](#directory-listing-fields) | String | Link zu den Nutzungsbedingungen für den Eintrag des Plugins in Anthropics Verzeichnis. Claude Code liest es nicht |141| [`termsOfServiceUrl`](#directory-listing-fields) | String | Link zu den Nutzungsbedingungen für den Eintrag des Plugins in Anthropics Verzeichnis. Claude Code liest es nicht |

142| [`defaultEnabled`](#defaultenabled) | Boolean | Ob das Plugin aktiviert startet, wenn der Benutzer es nicht gesetzt hat. Standard ist `true` |142| [`defaultEnabled`](#defaultenabled) | Boolean | Ob das Plugin aktiviert startet, wenn der Benutzer es nicht gesetzt hat. Standard ist `true` |

143| [`dependencies`](#dependencies) | Array von Strings oder Objekten | Plugins, die aktiviert sein müssen, damit dieses funktioniert |143| [`dependencies`](#dependencies) | Array von Strings oder Objekten | Plugins, die aktiviert sein müssen, damit dieses funktioniert |

144| [`settings`](#settings) | Object | Einstellungen, die Claude Code anwendet, während das Plugin aktiviert ist. Nur `agent` und `subagentStatusLine` wirken sich aus |

145| [`userConfig`](#user-configuration) | Object | Werte, die Claude Code den Benutzer auffordert einzugeben, wenn das Plugin aktiviert ist |144| [`userConfig`](#user-configuration) | Object | Werte, die Claude Code den Benutzer auffordert einzugeben, wenn das Plugin aktiviert ist |

146| `types` | Pfad | Eine `.d.ts`-Datei, die die `$.state`-Werte und `$`-Nomen eines [mod](https://code.claude.com/docs/de/plugins/mods/reference.md#files) deklariert |145| `types` | Pfad | Eine `.d.ts`-Datei, die die `$.state`-Werte und `$`-Nomen eines [mod](https://code.claude.com/docs/de/plugins/mods/reference.md#files) deklariert |

147| [`channels`](#channels) | Array von Objekten | Nachrichtenkanäle, die das Plugin bereitstellt, jeweils an einen seiner MCP-Server gebunden |146| [`channels`](#channels) | Array von Objekten | Nachrichtenkanäle, die das Plugin bereitstellt, jeweils an einen seiner MCP-Server gebunden |


211 210 

212Plugins, die aktiviert sein müssen, damit dieses funktioniert. Jeder Eintrag ist `"name"`, `"name@marketplace"` oder `{ "name": "...", "marketplace": "...", "version": "..." }`. Bare Namen werden gegen diesen Plugin-eigenen Marketplace aufgelöst. Siehe [Abhängigkeitsbeschränkungen](https://code.claude.com/docs/de/plugins/dependencies.md).211Plugins, die aktiviert sein müssen, damit dieses funktioniert. Jeder Eintrag ist `"name"`, `"name@marketplace"` oder `{ "name": "...", "marketplace": "...", "version": "..." }`. Bare Namen werden gegen diesen Plugin-eigenen Marketplace aufgelöst. Siehe [Abhängigkeitsbeschränkungen](https://code.claude.com/docs/de/plugins/dependencies.md).

213 212 

214### `settings`

215 

216Einstellungen, die Claude Code anwendet, während das Plugin aktiviert ist. Nur `agent` und `subagentStatusLine` wirken sich aus; andere Schlüssel werden beim Laden gelöscht. Eine `settings.json` im Plugin-Root hat Vorrang vor diesem Schlüssel. Siehe [Standardeinstellungen](https://code.claude.com/docs/de/plugins/components.md#default-settings).

217 

218## Komponentenpfadformen213## Komponentenpfadformen

219 214 

220Jeder Komponentenschlüssel akzeptiert einen Pfad relativ zum Plugin-Root. `hooks`, `mcpServers`, `lspServers` und `experimental.monitors` akzeptieren auch inline Konfiguration, `commands` akzeptiert auch eine Objektzuordnung, und `mcpServers` akzeptiert auch MCP-Bundle-Pfade und URLs. Die folgenden Beispiele zeigen jede akzeptierte Form einmal. Für das, was jede Komponente zur Laufzeit tut, siehe [Plugin-Komponenten](https://code.claude.com/docs/de/plugins/components.md).215Jeder Komponentenschlüssel akzeptiert einen Pfad relativ zum Plugin-Root. `hooks`, `mcpServers`, `lspServers` und `experimental.monitors` akzeptieren auch inline Konfiguration, `commands` akzeptiert auch eine Objektzuordnung, und `mcpServers` akzeptiert auch MCP-Bundle-Pfade und URLs. Die folgenden Beispiele zeigen jede akzeptierte Form einmal. Für das, was jede Komponente zur Laufzeit tut, siehe [Plugin-Komponenten](https://code.claude.com/docs/de/plugins/components.md).


626| Themes | `themes/` | Theme-JSON-Dateien |621| Themes | `themes/` | Theme-JSON-Dateien |

627| Monitore | `monitors/monitors.json` | Das Monitors-Array |622| Monitore | `monitors/monitors.json` | Das Monitors-Array |

628| Ausführbare Dateien | `bin/` | Dateien hier sind auf dem Bash-Tool's `PATH`, während das Plugin aktiviert ist, daher führt Claude sie als bloße Befehle aus. claude.ai und Cowork installieren kein Plugin, das dieses Verzeichnis hat, einschließlich eines, das Sie [durch claude.ai-Organisationseinstellungen verteilen](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory) |623| Ausführbare Dateien | `bin/` | Dateien hier sind auf dem Bash-Tool's `PATH`, während das Plugin aktiviert ist, daher führt Claude sie als bloße Befehle aus. claude.ai und Cowork installieren kein Plugin, das dieses Verzeichnis hat, einschließlich eines, das Sie [durch claude.ai-Organisationseinstellungen verteilen](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory) |

629| Einstellungen | `settings.json` | `agent`- und `subagentStatusLine`-Standards, die angewendet werden, während das Plugin aktiviert ist |

630 624 

631Ein Plugin, das jeden Standardort verwendet, plus einen `scripts/`-Ordner, den seine Hooks aufrufen, ist wie folgt angeordnet:625Ein Plugin, das Standardorte verwendet, plus einen `scripts/`-Ordner, den seine Hooks aufrufen, ist wie folgt angeordnet:

632 626 

633```text theme={null}627```text theme={null}

634deploy-tools/628deploy-tools/


655│ └── deploy-tool649│ └── deploy-tool

656├── scripts/650├── scripts/

657│ └── format.sh651│ └── format.sh

658├── settings.json

659├── .mcp.json652├── .mcp.json

660└── .lsp.json653└── .lsp.json

661```654```

Details

61 * Die Sitzung läuft mit [`/login`-Anmeldedaten](https://code.claude.com/docs/de/authentication#authentication-precedence) für einen Team- oder Enterprise-Plan61 * Die Sitzung läuft mit [`/login`-Anmeldedaten](https://code.claude.com/docs/de/authentication#authentication-precedence) für einen Team- oder Enterprise-Plan

62 62 

63 Ein Benutzer, der sich mit einem API-Schlüssel oder über Amazon Bedrock, die Agent Platform von Google Cloud oder Microsoft Foundry authentifiziert, erhält den Wächter nur auf einem Rechner mit verwalteten Einstellungen oder `managed-mcp.json`. Auch eine Sitzung, die mit einem langlebigen [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/de/authentication#generate-a-long-lived-token) läuft, zählt nicht als diese Anmeldung, selbst wenn auf dem Rechner eine Team- oder Enterprise-Anmeldung gespeichert ist.63 Ein Benutzer, der sich mit einem API-Schlüssel oder über Amazon Bedrock, die Agent Platform von Google Cloud oder Microsoft Foundry authentifiziert, erhält den Wächter nur auf einem Rechner mit verwalteten Einstellungen oder `managed-mcp.json`. Auch eine Sitzung, die mit einem langlebigen [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/de/authentication#generate-a-long-lived-token) läuft, zählt nicht als diese Anmeldung, selbst wenn auf dem Rechner eine Team- oder Enterprise-Anmeldung gespeichert ist.

64* **Der Wächter schützt, was Sie verwalten.** Der Mod eines Benutzers kann nicht ändern, was Ihre verwalteten Hooks erhalten oder entscheiden, den System-Prompt, Ihre verwaltete `CLAUDE.md` und andere verwaltete Anweisungen, was ein Mod als Einstellungen liest, oder die Tools und Beschreibungen Ihrer verwalteten MCP-Server.64* **Der Wächter schützt, was Sie verwalten.** Der Mod eines Benutzers kann nicht ändern, was Ihre verwalteten Hooks erhalten oder entscheiden, und auch nicht den System-Prompt oder Ihre verwaltete `CLAUDE.md` und andere verwaltete Anweisungen. Er kann außerdem nicht ändern, was ein Mod als Einstellungen liest, oder die Tools und Beschreibungen Ihrer verwalteten MCP-Server, sobald diese verbunden sind.

65* **Außerhalb dessen, was Sie verwalten, handelt der Mod eines Benutzers als dieser Benutzer.** Der Mod behält die Berechtigungen dieses Benutzers: Er kann weiterhin Dateien lesen und schreiben, Prozesse starten und Netzwerkanfragen stellen. Er kann außerdem Tool-Aufrufe und Prompts umschreiben, einen Tool-Aufruf ablehnen und in der Oberfläche zeichnen.65* **Ab v2.1.323 kann der Mod eines Benutzers verhindern, dass ein verwalteter MCP-Server eine Verbindung herstellt.** In der Sitzung dieses Benutzers führt `/mcp` den Server als von diesem Mod zurückgehalten auf. Um das zu unterbinden, [verhindern Sie, dass von Benutzern installierte Mods geladen werden](#stop-user-installed-mods-from-loading).

66* **Außerhalb dessen, was Sie verwalten, handelt der Mod eines Benutzers als dieser Benutzer.** Der Mod behält die Berechtigungen dieses Benutzers: Er kann weiterhin Dateien lesen und schreiben, Prozesse starten und Netzwerkanfragen stellen. Er kann außerdem Tool-Aufrufe und Prompts umschreiben, einen Tool-Aufruf ablehnen, Tools hinzufügen oder entfernen und in der Oberfläche zeichnen.

66* **Berechtigungsregeln und `PreToolUse`-Hooks haben Vorrang vor dem Mod eines Benutzers.** Wenn der Wächter geladen ist, kann der Mod eines Benutzers standardmäßig keinen Aufruf genehmigen, den eine `deny`-Regel ablehnt oder für den eine `ask`-Regel nachfragt, unabhängig davon, in welcher Einstellungsdatei die Regel steht. Der Mod kann auch keinen Aufruf genehmigen, den ein `PreToolUse`-Hook blockiert hat.67* **Berechtigungsregeln und `PreToolUse`-Hooks haben Vorrang vor dem Mod eines Benutzers.** Wenn der Wächter geladen ist, kann der Mod eines Benutzers standardmäßig keinen Aufruf genehmigen, den eine `deny`-Regel ablehnt oder für den eine `ask`-Regel nachfragt, unabhängig davon, in welcher Einstellungsdatei die Regel steht. Der Mod kann auch keinen Aufruf genehmigen, den ein `PreToolUse`-Hook blockiert hat.

67 68 

68 Berechtigungsregeln und `PreToolUse`-Hooks gelten für die Tool-Aufrufe von Claude, nicht für die [`$.fs`- und `$.process`-Aufrufe](https://code.claude.com/docs/de/plugins/mods/api#reach-files-processes-and-the-network) eines Mods. Wenn `Read(.env)` abgelehnt ist, kann ein Mod diese Datei trotzdem mit `$.fs.read` lesen oder ein Programm starten, das dies tut. Um die eigenen `$.fs`- und `$.process`-Aufrufe eines Mods einzuschränken, [verhindern Sie, dass der Mod geladen wird](#stop-user-installed-mods-from-loading), oder behandeln Sie sie in einem [Richtlinien-Mod](#enforce-a-policy-with-a-mod-of-your-own).69 Berechtigungsregeln und `PreToolUse`-Hooks gelten für die Tool-Aufrufe von Claude, nicht für die [`$.fs`- und `$.process`-Aufrufe](https://code.claude.com/docs/de/plugins/mods/api#reach-files-processes-and-the-network) eines Mods. Wenn `Read(.env)` abgelehnt ist, kann ein Mod diese Datei trotzdem mit `$.fs.read` lesen oder ein Programm starten, das dies tut. Um die eigenen `$.fs`- und `$.process`-Aufrufe eines Mods einzuschränken, [verhindern Sie, dass der Mod geladen wird](#stop-user-installed-mods-from-loading), oder behandeln Sie sie in einem [Richtlinien-Mod](#enforce-a-policy-with-a-mod-of-your-own).


159Die Zeilen `hooks:` und `calls:` in der Ausgabe beschreiben den Code des Mods:160Die Zeilen `hooks:` und `calls:` in der Ausgabe beschreiben den Code des Mods:

160 161 

161```text theme={null}162```text theme={null}

162 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}163 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane} (default matcher key: plugin)

163 ❯ ./register.js calls: $.fs.read, $.http.fetch, $.store.set, $.ui.open164 ❯ ./register.js calls: $.fs.read, $.http.fetch, $.store.set, $.ui.open

164```165```

165 166 

166Die Zeile `hooks:` listet die Events auf, die der Mod empfängt. Die Zeile `calls:` listet die Methoden der Mods-API auf, die sein Code aufruft. Über die [Mods-API](https://code.claude.com/docs/de/plugins/mods/api.md), im Code eines Mods als `$` geschrieben, greift ein Mod auf Dateien, Prozesse und das Netzwerk zu. Claude Code verweigert das Laden eines Mods, der die Mods-API auf eine Weise verwendet, die dieser Befehl nicht auslesen kann.167* **`hooks:`**: die Events, die der Mod empfängt. Ein Hinweis `default matcher key: plugin` bedeutet, dass der Hook davor [die Steuerelemente und Zeichnungen anderer Mods überspringt](https://code.claude.com/docs/de/plugins/mods/events.md#hook-other-mods-drawings-and-controls).

168* **`calls:`**: die Methoden der Mods-API, die sein Code aufruft

167 169 

168Achten Sie in der Zeile `calls:` auf Folgendes:170Über die [Mods-API](https://code.claude.com/docs/de/plugins/mods/api.md), im Code eines Mods als `$` geschrieben, greift ein Mod auf Dateien, Prozesse und das Netzwerk zu. Claude Code verweigert das Laden eines Mods, der die Mods-API auf eine Weise verwendet, die dieser Befehl nicht auslesen kann.

171 

172Genehmigen Sie keinen Mod, bei dem dieser Befehl fehlschlägt, denn manche Fehler verhindern nicht, dass er geladen wird. Führen Sie den Befehl mit Claude Code v2.1.323 oder neuer aus, wo eine lange Liste in weiteren Zeilen mit derselben Bezeichnung fortgesetzt wird, und lesen Sie jede Zeile `hooks:` und `calls:`. Achten Sie in den Zeilen `calls:` auf Folgendes:

169 173 

170| Aufruf | Bedeutung |174| Aufruf | Bedeutung |

171| :- | :- |175| :- | :- |


174| `$.http.fetch` | Stellt Netzwerkanfragen |178| `$.http.fetch` | Stellt Netzwerkanfragen |

175| `$.env.get`, `$.settings.read` | Liest Umgebungsvariablen und Einstellungen, die API-Schlüssel enthalten können. Eine Zeile `env reads:` in der Ausgabe nennt jede Variable. |179| `$.env.get`, `$.settings.read` | Liest Umgebungsvariablen und Einstellungen, die API-Schlüssel enthalten können. Eine Zeile `env reads:` in der Ausgabe nennt jede Variable. |

176| `$.env.set` | Setzt eine Umgebungsvariable für Claude Code und für jeden Befehl und jeden MCP-Server, den es danach startet, was ändern kann, was diese Programme ausführen. Eine Zeile `env writes:` nennt jede Variable. |180| `$.env.set` | Setzt eine Umgebungsvariable für Claude Code und für jeden Befehl und jeden MCP-Server, den es danach startet, was ändern kann, was diese Programme ausführen. Eine Zeile `env writes:` nennt jede Variable. |

177| `$.mcp.call` | Ruft ein Tool auf einem verbundenen MCP-Server auf, gemäß den Berechtigungsregeln der Sitzung |181| `$.mcp.call` | Ruft ein Tool auf einem verbundenen MCP-Server auf, ohne Berechtigungsabfrage. Claude Code verweigert den Aufruf bei einer Deny-Regel oder einer verwalteten Ask-Regel. Es verweigert außerdem einen Aufruf eines Tools, das mit [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) markiert ist, oder eines Tools, das Ihre Organisation [auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), sofern diese Einstellung Claude Code erreicht. |

178| `$.model.complete` | Verwendet den Plan oder API-Schlüssel des Benutzers für Modellaufrufe |182| `$.model.complete` | Verwendet den Plan oder API-Schlüssel des Benutzers für Modellaufrufe |

179| `$.prompt.submit` | Sendet einen Prompt ab und kann ihn als eigene Worte des Benutzers senden |183| `$.prompt.submit` | Sendet einen Prompt ab und kann ihn als eigene Worte des Benutzers senden |

180| `$.session.send` | Sendet eine Nachricht, die Claude in einer anderen Sitzung, in einem Subagenten oder bei einem [Teammitglied](https://code.claude.com/docs/de/agent-teams.md) liest |184| `$.session.send` | Sendet eine Nachricht, die Claude in einer anderen Sitzung, in einem Subagenten oder bei einem [Teammitglied](https://code.claude.com/docs/de/agent-teams.md) liest |


316 320 

317Claude Code löst jedes Mal ein Ereignis aus, wenn es im Begriff ist, eine Aktion auszuführen, etwa ein Tool auszuführen, und übergibt es nacheinander an jeden Mod. Ein Mod, der als Ihrer gilt, [wird vor den Mods der Benutzer ausgeführt](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in), auch wenn Sie ihn nirgends aufführen. Um seine Position festzulegen, führen Sie seine ID in einer von zwei Einstellungen auf. Die ID besteht aus dem Namen des Plugins, `@` und dem Namen des Marketplace, etwa `acme-guard@acme-tools`.321Claude Code löst jedes Mal ein Ereignis aus, wenn es im Begriff ist, eine Aktion auszuführen, etwa ein Tool auszuführen, und übergibt es nacheinander an jeden Mod. Ein Mod, der als Ihrer gilt, [wird vor den Mods der Benutzer ausgeführt](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in), auch wenn Sie ihn nirgends aufführen. Um seine Position festzulegen, führen Sie seine ID in einer von zwei Einstellungen auf. Die ID besteht aus dem Namen des Plugins, `@` und dem Namen des Marketplace, etwa `acme-guard@acme-tools`.

318 322 

319* **`prependPlugins`**: Ihr Mod sieht jedes Ereignis vor jedem Mod eines Benutzers und jedes Ergebnis danach. Er kann das Ereignis ändern, es ablehnen oder die Mods der Benutzer überspringen.323* **`prependPlugins`**: Ihr Mod sieht jedes Ereignis vor jedem Mod eines Benutzers und jedes Ergebnis danach. Er kann das Ereignis ändern, es ablehnen oder die Mods der Benutzer überspringen. Prüfen Sie ab v2.1.323, ob Ihre Hooks weiterhin [die Steuerelemente und Zeichnungen anderer Mods erreichen](https://code.claude.com/docs/de/plugins/mods/events.md#hook-other-mods-drawings-and-controls).

320* **`appendPlugins`**: Ihr Mod wird nach jedem Mod eines Benutzers ausgeführt und sieht daher nur die Ereignisse, die diese Mods weitergeben, und zwar in der Form, in der sie sie weitergeben324* **`appendPlugins`**: Ihr Mod wird nach jedem Mod eines Benutzers ausgeführt und sieht daher nur die Ereignisse, die diese Mods weitergeben, und zwar in der Form, in der sie sie weitergeben

321 325 

322Dieses Beispiel deklariert den Marketplace `acme-tools` unter `/opt/acme/claude-plugins`, aktiviert daraus `acme-guard` und führt diesen Mod zuerst aus, gefolgt vom integrierten Wächter:326Dieses Beispiel deklariert den Marketplace `acme-tools` unter `/opt/acme/claude-plugins`, aktiviert daraus `acme-guard` und führt diesen Mod zuerst aus, gefolgt vom integrierten Wächter:


359 363 

360Jedes Mal, wenn ein anderer Mod geladen werden soll, erhält Ihr Mod die Liste, die `claude plugin validate` ausgibt, in einem Ereignis namens [`plugin.register`](https://code.claude.com/docs/de/plugins/mods/reference#other-mods). Ein Mod in `prependPlugins` kann diese Liste lesen und den Mod ablehnen. Er kann außerdem [jeden Aufruf der Mods-API über ihren Namen behandeln](https://code.claude.com/docs/de/plugins/mods/api.md#reach-files-processes-and-the-network), um diesen Aufruf für jeden anderen Mod zu protokollieren oder abzulehnen. Der Name ist die Methode ohne `$.`, sodass ein Hook auf `fs.write` jeden Aufruf von `$.fs.write` sieht.364Jedes Mal, wenn ein anderer Mod geladen werden soll, erhält Ihr Mod die Liste, die `claude plugin validate` ausgibt, in einem Ereignis namens [`plugin.register`](https://code.claude.com/docs/de/plugins/mods/reference#other-mods). Ein Mod in `prependPlugins` kann diese Liste lesen und den Mod ablehnen. Er kann außerdem [jeden Aufruf der Mods-API über ihren Namen behandeln](https://code.claude.com/docs/de/plugins/mods/api.md#reach-files-processes-and-the-network), um diesen Aufruf für jeden anderen Mod zu protokollieren oder abzulehnen. Der Name ist die Methode ohne `$.`, sodass ein Hook auf `fs.write` jeden Aufruf von `$.fs.write` sieht.

361 365 

366> [!NOTE]

367>

368> Ab v2.1.323 benötigt ein `ui.focus`-Hook einen breiteren Matcher, um die `$.ui.focus`-Aufrufe anderer Mods zu empfangen. Siehe [Zeichnungen und Steuerelemente anderer Mods hooken](https://code.claude.com/docs/de/plugins/mods/events.md#hook-other-mods-drawings-and-controls).

369 

362Dieser Richtlinien-Mod lehnt jeden Mod eines Benutzers ab, dessen eigener Code `$.process.run` oder `$.process.spawn` aufruft. Außerdem führt er ein Audit-Log, indem er jeden Tool-Aufruf und jede Datei, die ein Mod schreibt, in das Debug-Log schreibt. Da er zuerst ausgeführt wird, hält das Log fest, was angefordert wurde, bevor ein Mod eines Benutzers es ändert. Speichern Sie ihn als `acme-guard/hooks/register.js`:370Dieser Richtlinien-Mod lehnt jeden Mod eines Benutzers ab, dessen eigener Code `$.process.run` oder `$.process.spawn` aufruft. Außerdem führt er ein Audit-Log, indem er jeden Tool-Aufruf und jede Datei, die ein Mod schreibt, in das Debug-Log schreibt. Da er zuerst ausgeführt wird, hält das Log fest, was angefordert wurde, bevor ein Mod eines Benutzers es ändert. Speichern Sie ihn als `acme-guard/hooks/register.js`:

363 371 

364```javascript acme-guard/hooks/register.js theme={null}372```javascript acme-guard/hooks/register.js theme={null}


403* **`e.tier`**: wo der Mod ausgeführt würde, einer der Werte `prepend`, `user`, `append` oder `builtin`. Jeder Mod, den eine Person installiert, ist `user`.411* **`e.tier`**: wo der Mod ausgeführt würde, einer der Werte `prepend`, `user`, `append` oder `builtin`. Jeder Mod, den eine Person installiert, ist `user`.

404* **`e.uses.calls`**: die Methoden der Mods-API, die der Mod aufruft, jeweils als `namespace.method` geschrieben, etwa `process.run`, ohne das `$.`, das `claude plugin validate` ausgibt412* **`e.uses.calls`**: die Methoden der Mods-API, die der Mod aufruft, jeweils als `namespace.method` geschrieben, etwa `process.run`, ohne das `$.`, das `claude plugin validate` ausgibt

405 413 

406Wenn ein Benutzer einen Mod installiert, der `$.process.run` aufruft, wird der Mod nicht geladen, und sein Debug-Log enthält eine Zeile, die mit `refused by acme-guard:` und Ihrer Begründung endet. Die Ablehnung erscheint außerdem im Transkript einer [Sitzung, die ein Plugin-Verzeichnis per Hot-Reload neu lädt](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing). Um einen Aufruf zu blockieren, ohne den gesamten Mod abzulehnen, geben Sie `{ deny: 'your reason' }` aus einem Hook auf den Namen dieses Aufrufs zurück.414Wenn ein Benutzer einen Mod installiert, der `$.process.run` aufruft, wird der Mod nicht geladen, und sein Debug-Log enthält eine Zeile, die mit `refused by acme-guard:` und Ihrer Begründung endet. Die Ablehnung erscheint außerdem im Transkript einer [Sitzung, die ein Plugin-Verzeichnis per Hot-Reload neu lädt](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).

415 

416Um einen Aufruf zu blockieren, ohne den gesamten Mod abzulehnen, geben Sie `{ deny: 'your reason' }` aus einem Hook auf den Namen dieses Aufrufs zurück, nachdem Sie [geprüft haben, wer den Aufruf ausgeführt hat](https://code.claude.com/docs/de/plugins/mods/reference.md#mods-api-calls).

407 417 

408Um die Audit-Zeilen an ein anderes Ziel als das Debug-Log zu senden, rufen Sie `$.http.fetch` aus denselben Hooks auf.418Um die Audit-Zeilen an ein anderes Ziel als das Debug-Log zu senden, rufen Sie `$.http.fetch` aus denselben Hooks auf.

409 419 

Details

21 21 

22Beschreiben Sie den gewünschten Mod in einer interaktiven Claude Code-Sitzung, und Claude schreibt ihn. Claude arbeitet dabei mit einem integrierten [Skill](https://code.claude.com/docs/de/skills.md) namens `plugin-authoring`, der festlegt, wo der Mod geschrieben wird, welche Events und Methoden Ihre Version bietet und wie der Mod geladen wird. Claude kann den Skill laden, wenn Sie um einen Mod bitten, oder Sie laden ihn selbst, indem Sie `/plugin-authoring` in der Claude Code-Eingabeaufforderung ausführen.22Beschreiben Sie den gewünschten Mod in einer interaktiven Claude Code-Sitzung, und Claude schreibt ihn. Claude arbeitet dabei mit einem integrierten [Skill](https://code.claude.com/docs/de/skills.md) namens `plugin-authoring`, der festlegt, wo der Mod geschrieben wird, welche Events und Methoden Ihre Version bietet und wie der Mod geladen wird. Claude kann den Skill laden, wenn Sie um einen Mod bitten, oder Sie laden ihn selbst, indem Sie `/plugin-authoring` in der Claude Code-Eingabeaufforderung ausführen.

23 23 

24In den [Berechtigungsmodi](https://code.claude.com/docs/de/permission-modes.md) `auto` und `bypassPermissions` kann der Mod ausgeführt werden, sobald der Turn endet. Andernfalls wird er ausgeführt, sobald Sie ihn genehmigen, außer in [Sitzungen, in denen ein von Claude geschriebener Mod nicht geladen werden kann](#sessions-that-skip-the-approval).24In den [Berechtigungsmodi](https://code.claude.com/docs/de/permission-modes.md) `auto` und `bypassPermissions` [kann Claude Code den Mod laden, ohne Sie zu fragen](#sessions-that-skip-the-approval). Wenn Sie zuerst gefragt werden möchten, starten Sie eine neue Sitzung im Modus `default` oder `acceptEdits` oder [wechseln](https://code.claude.com/docs/de/permission-modes.md#switch-permission-modes) Sie in einen dieser Modi, bevor Sie um den ersten Mod der Sitzung bitten. In [manchen Sitzungen](#sessions-that-cant-load) kann der Mod nicht geladen werden.

25 25 

26**1. Den Mod beschreiben**26**1. Den Mod beschreiben**

27 27 


33 33 

34**2. Den Mod genehmigen**34**2. Den Mod genehmigen**

35 35 

36Wenn Claude die erste Datei speichert, fragt Claude Code, ob Hot Reloading für die Sitzung aktiviert werden soll. Hot Reloading führt die Mods aus, die Claude in dieser Sitzung schreibt, und übernimmt jede spätere Änderung. Wenn keine Frage erscheint, überspringen Sie diesen Schritt.36Wenn Claude die erste Datei speichert, fragt Claude Code, ob Hot Reloading für die Sitzung aktiviert werden soll. Hot Reloading führt die Mods aus, die Claude in dieser Sitzung schreibt, und übernimmt jede spätere Änderung. Diese Frage sehen Sie nicht in einer Sitzung, die [neue Mods ohne Nachfrage lädt](#sessions-that-skip-the-approval) oder [sie nicht laden kann](#sessions-that-cant-load).

37 37 

38Wählen Sie eine dieser Antworten:38Wählen Sie eine dieser Antworten:

39 39 


57* **In einer Sitzung, die Sie starten**: Führen Sie in Ihrer Shell `claude --plugin-dir ~/mods/git-branch` aus57* **In einer Sitzung, die Sie starten**: Führen Sie in Ihrer Shell `claude --plugin-dir ~/mods/git-branch` aus

58* **Für andere Personen**: [Fügen Sie ihn einem Marketplace hinzu](#share-your-mod), damit andere ihn installieren können58* **Für andere Personen**: [Fügen Sie ihn einem Marketplace hinzu](#share-your-mod), damit andere ihn installieren können

59 59 

60### Sitzungen, die einen Mod ohne Nachfrage laden

61 

62In den Modi `auto` und `bypassPermissions` kann Claude Code Hot Reloading ohne Nachfrage aktivieren, und die Mods werden geladen, wenn der Turn endet.

63 

64Wenn Sie eine Sitzung fortsetzen, interaktiv oder mit `claude -p`, [können](#sessions-that-cant-load) die Mods, die sich bereits in ihrem Mods-Ordner befinden, ohne Nachfrage geladen werden. Um zu verhindern, dass ein Mod beim Fortsetzen geladen wird, löschen Sie sein Verzeichnis.

65 

60### Sitzungen, in denen ein von Claude geschriebener Mod nicht geladen werden kann66### Sitzungen, in denen ein von Claude geschriebener Mod nicht geladen werden kann

61 67 

62Ein von Claude geschriebener Mod wird in einem vertrauenswürdigen Workspace geladen, in dem Mods ausgeführt werden dürfen, nachdem Sie ihn in den Modi, die nachfragen, genehmigt haben. In diesen Sitzungen wird er nicht geladen:68In diesen Fällen wird ein von Claude geschriebener Mod nicht geladen, und Claude Code fragt nicht, ob er geladen werden soll:

63 69 

64* **Niemand ist da, um zu genehmigen**: Die Sitzung kann Ihnen keine Abfrage anzeigen, etwa bei einer Ausführung mit `claude -p` außerhalb der Modi `auto` und `bypassPermissions` oder im [`dontAsk`-Modus](https://code.claude.com/docs/de/permission-modes)70* **Niemand ist da, um zu genehmigen**: Die Sitzung befindet sich im [`dontAsk`-Modus](https://code.claude.com/docs/de/permission-modes), oder es handelt sich um die Ausführung mit `claude -p`, die den Mod schreibt, im Modus `default` oder `acceptEdits`, die Ihnen die Frage zum Hot Reloading nicht anzeigen kann.

65* **Der Workspace ist nicht vertrauenswürdig**: Sie haben die Vertrauensabfrage für das Verzeichnis nicht akzeptiert71* **Eine interaktive Sitzung, in der der Workspace nicht vertrauenswürdig ist**: Sie haben die Vertrauensabfrage für das Verzeichnis nicht akzeptiert

66* **Mods sind deaktiviert**: Sie haben mit `--safe-mode` oder `--bare` gestartet, Sie haben `disableAllHooks` gesetzt, oder die [verwalteten Einstellungen Ihrer Organisation blockieren sie](https://code.claude.com/docs/de/plugins/mods/admin.md#choose-how-much-to-allow)72* **Mods sind deaktiviert**: Sie haben mit `--safe-mode` oder `--bare` gestartet, Sie haben `disableAllHooks` gesetzt, oder die [verwalteten Einstellungen Ihrer Organisation blockieren sie](https://code.claude.com/docs/de/plugins/mods/admin.md#choose-how-much-to-allow)

67 73 

68## Einen Mod selbst schreiben74## Einen Mod selbst schreiben


292 298 

293Prüfen Sie in der Zeile `hooks:` die Events, an die sich Ihr Modul hängt, jeweils mit seinem Filter in geschweiften Klammern, und in der Zeile `calls:` jede Methode der Mods-API, die es aufruft. Wenn Ihr Modul Umgebungsvariablen liest oder setzt, achten Sie außerdem auf die Zeilen `env reads:` und `env writes:`, und auf `state reads:` und `state writes:`, wenn es [`$.state`](https://code.claude.com/docs/de/plugins/mods/interface#keep-state) verwendet. Außerdem sehen Sie für jeden Hook, der eine Aktion ablehnen kann, eine Zeile wie `gating hook without .catch: tool.call`, die angibt, ob dieser Hook einen [`.catch`-Handler](https://code.claude.com/docs/de/plugins/mods/events#handle-a-hook-that-fails) hat.299Prüfen Sie in der Zeile `hooks:` die Events, an die sich Ihr Modul hängt, jeweils mit seinem Filter in geschweiften Klammern, und in der Zeile `calls:` jede Methode der Mods-API, die es aufruft. Wenn Ihr Modul Umgebungsvariablen liest oder setzt, achten Sie außerdem auf die Zeilen `env reads:` und `env writes:`, und auf `state reads:` und `state writes:`, wenn es [`$.state`](https://code.claude.com/docs/de/plugins/mods/interface#keep-state) verwendet. Außerdem sehen Sie für jeden Hook, der eine Aktion ablehnen kann, eine Zeile wie `gating hook without .catch: tool.call`, die angibt, ob dieser Hook einen [`.catch`-Handler](https://code.claude.com/docs/de/plugins/mods/events#handle-a-hook-that-fails) hat.

294 300 

295Wenn ein Event, das Sie behandeln wollten, in der ersten Zeile fehlt, ruft Claude Code diesen Hook ebenfalls nicht auf. Die übliche Ursache ist ein falsch geschriebener Event-Name, den der Befehl als Fehler meldet, etwa `"tool.calls" is not an event`.301Wenn ein Event, das Sie behandeln wollten, in den Zeilen `hooks:` fehlt, ruft Claude Code diesen Hook ebenfalls nicht auf. Die übliche Ursache ist ein falsch geschriebener Event-Name, den der Befehl als Fehler meldet, etwa `"tool.calls" is not an event`.

296 302 

297Befolgen Sie diese Regeln, damit die statische Analyse jeden Hook und jeden Aufruf finden kann:303Befolgen Sie diese Regeln, damit die statische Analyse jeden Hook und jeden Aufruf finden kann:

298 304 

Details

91 91 

92Registrieren Sie jedes Ereignis nur einmal pro Matcher. Wenn Sie `on` zweimal für `session.start` ohne Matcher aufrufen, kann das Modul nicht geladen werden und meldet `on("session.start") is registered twice without a matcher`. Fassen Sie alles, was Ihr Mod beim Sitzungsstart tut, in einem Hook zusammen.92Registrieren Sie jedes Ereignis nur einmal pro Matcher. Wenn Sie `on` zweimal für `session.start` ohne Matcher aufrufen, kann das Modul nicht geladen werden und meldet `on("session.start") is registered twice without a matcher`. Fassen Sie alles, was Ihr Mod beim Sitzungsstart tut, in einem Hook zusammen.

93 93 

94#### Steuerelemente und Zeichnungen anderer Mods abfangen

95 

96Um die Steuerelemente, Bereiche oder die Zeile oberhalb des Prompts eines anderen Mods abzufangen, übergeben Sie einen Matcher mit `plugin`. Verwenden Sie den Namen des Mods ohne seinen Marketplace, etwa `{ plugin: 'other-mod' }`, oder `{ plugin: '*' }` für jeden Mod. Ohne `plugin` wird ein Hook auf `ui.press`, `ui.input`, `ui.select` oder `ui.focus` nicht für die Steuerelemente anderer Mods ausgeführt, und ein `ui.render`-Hook überspringt deren Bereiche und deren Zeilen oberhalb des Prompts.

97 

98Ein Hook auf einen Platzhalter ohne Matcher, etwa `on('*', hook)` oder `on('ui.*', hook)`, wird weiterhin für jeden Mod ausgeführt. Ein Platzhalter mit Matcher benötigt ebenfalls `plugin`.

99 

100> [!NOTE]

101>

102> `{ plugin: '*' }` erfordert Claude Code v2.1.323 oder höher. Vor v2.1.323 wurde ein Hook ohne `plugin` für jeden Mod ausgeführt, und ein Hook mit `{ plugin: '*' }` wurde nicht ausgeführt. Um in beiden Versionen jeden Mod abzudecken, verwenden Sie `{ plugin: /./ }` für `ui.press`, `ui.input` und `ui.select`. Für `ui.focus` und `ui.render` verwenden Sie `on('ui.*', hook)` und prüfen den Namen des Ereignisses in `next.event`, etwa mit `if (next.event !== 'ui.focus') return next(e)`.

103 

94## Auf das reagieren, was Claude tut104## Auf das reagieren, was Claude tut

95 105 

96Behandeln Sie diese Events, um einen Tool-Aufruf, einen Prompt, einen Turn oder einen Lesevorgang der Einstellungen zu sehen oder zu ändern, während er stattfindet. Alle Events und was ein Hook jeweils zurückgeben kann, finden Sie in der [Event-Referenz](https://code.claude.com/docs/de/plugins/mods/reference.md#events).106Behandeln Sie diese Events, um einen Tool-Aufruf, einen Prompt, einen Turn oder einen Lesevorgang der Einstellungen zu sehen oder zu ändern, während er stattfindet. Alle Events und was ein Hook jeweils zurückgeben kann, finden Sie in der [Event-Referenz](https://code.claude.com/docs/de/plugins/mods/reference.md#events).

Details

177 177 

178## Wählen Sie, wo gezeichnet wird178## Wählen Sie, wo gezeichnet wird

179 179 

180Ein `ui.render`-Hook wird für jede Render-Stelle ausgeführt, sofern Sie ihn nicht auf die Stelle eingrenzen, an der Sie zeichnen möchten. Um die Render-Stelle auszuwählen, übergeben Sie einen Filter, einen sogenannten [Matcher](https://code.claude.com/docs/de/plugins/mods/events.md#filter-which-events-a-hook-handles), als zweites Argument an `on`. `{ component: 'Pane' }` führt den Hook nur für Panes aus. Im Hook benennt `e.component` die Stelle, `e.surface` gibt an, welche App zeichnet, und `e.props` enthält die eigenen Daten der Stelle. Bei einem Pane ist `e.requestId` die `id`, mit der Sie es geöffnet haben.180Um die Render-Stelle auszuwählen, an der ein `ui.render`-Hook zeichnet, übergeben Sie einen Filter, einen sogenannten [Matcher](https://code.claude.com/docs/de/plugins/mods/events.md#filter-which-events-a-hook-handles), als zweites Argument an `on`. `{ component: 'Pane' }` führt den Hook nur für Panes aus. Im Hook benennt `e.component` die Stelle, `e.surface` gibt an, welche App zeichnet, und `e.props` enthält die eigenen Daten der Stelle. Bei einem Pane ist `e.requestId` die `id`, mit der Sie es geöffnet haben.

181 181 

182Das Pane und das Band sind leer, bis ein Mod sie füllt. Wählen Sie einen Tab aus, um zu sehen, was jedes davon ist und wie Sie darin zeichnen:182Das Pane und das Band sind leer, bis ein Mod sie füllt. Wählen Sie einen Tab aus, um zu sehen, was jedes davon ist und wie Sie darin zeichnen:

183 183 


191 191 

192> [tab] Band über dem Prompt192> [tab] Band über dem Prompt

193>193>

194> Das Band ist ein Streifen direkt über dem Prompt-Eingabefeld. Es ist immer vorhanden, und alle Mods teilen es sich.194> Das Band ist ein Streifen direkt über dem Prompt-Eingabefeld. Jeder Mod, der dort zeichnet, erhält eine eigene Zeile, und die Zeilen werden von oben in der [Reihenfolge, in der Mods ausgeführt werden](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in), gestapelt.

195>195>

196> Ihr Hook gibt einen Baum zurück, um etwas im Band anzuzeigen, oder `next(e)`, um nichts anzuzeigen. Ein Baum ersetzt, was die Mods [nach Ihrem](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in) dort zeichnen. Um deren Inhalte zu behalten, fügen Sie das Ergebnis von `await next(e)` unter die Kinder einer [`Box`](#build-a-tree-from-elements) in Ihrem Baum ein.196> Um die Zeile Ihres Mods zu zeichnen, filtern Sie auf `{ component: 'AbovePrompt' }` und geben einen [Baum](#build-a-tree-from-elements) zurück. Um nichts zu zeichnen, geben Sie `next(e)` zurück.

197>197>

198> Um im Band zu zeichnen, filtern Sie auf `{ component: 'AbovePrompt' }`.198> Vor v2.1.323 teilten sich alle Mods eine gemeinsame Darstellung im Band, und Ihr Baum ersetzte, was die Mods nach Ihrem zeichneten. Um auch diese Releases zu unterstützen, fügen Sie das Ergebnis von `await next(e)` unter die Kinder einer [`Box`, die gültig bleibt](https://code.claude.com/docs/de/plugins/mods/troubleshoot#another-mods-band-shows-and-yours-doesnt), ein. Ab v2.1.323 zeichnet dieses Kind die Zeilen anderer Mods nicht.

199 199 

200Ein Mod kann außerdem [eine eigene Zeile im Transkript platzieren](#place-a-row-in-the-transcript).200Ein Mod kann außerdem [eine eigene Zeile im Transkript platzieren](#place-a-row-in-the-transcript).

201 201 


281 281 

282Während Claude arbeitet, wird der Spinner wie zuvor animiert, und `under the spinner` erscheint darunter.282Während Claude arbeitet, wird der Spinner wie zuvor animiert, und `under the spinner` erscheint darunter.

283 283 

284Die Berechtigungsabfrage ist keine Render-Stelle, daher kann ein Mod nicht ändern, was sie anzeigt. Der Fragedialog `AskUserQuestion` ist eine, sodass ein Mod ihn ändern kann. Ein Baum für den Dialog muss die Referenz genau einmal enthalten, mit Ihren Elementen darüber. Andernfalls zeichnet Claude Code seinen eigenen Dialog.284Die Berechtigungsabfrage ist keine Render-Stelle, daher kann ein Mod nicht ändern, was sie anzeigt. Der Fragedialog `AskUserQuestion` ist eine, sodass ein Mod diesen Dialog ändern kann, wenn Claude eine Frage stellt. Ein Baum für den Dialog muss die Referenz genau einmal enthalten, mit Ihren Elementen darüber. Andernfalls zeichnet Claude Code seinen eigenen Dialog.

285 285 

286### Ein Pane zum richtigen Zeitpunkt öffnen286### Ein Pane zum richtigen Zeitpunkt öffnen

287 287 

288Ein Pane erscheint nur, wenn Ihr Mod es öffnet. Wie und wann Sie es öffnen, entscheidet darüber, ob es den Tastaturfokus übernimmt, wie viel Platz es beansprucht und ob es in einem schmalen Terminal überhaupt angezeigt wird.288Ein Pane erscheint nur, wenn Ihr Mod es öffnet. Wie und wann Sie es öffnen, entscheidet darüber, ob es den Tastaturfokus übernimmt, wie viel Platz es beansprucht und ob es in einem schmalen Terminal überhaupt angezeigt wird.

289 289 

290Um ein Pane zu öffnen, rufen Sie [`$.ui.open`](https://code.claude.com/docs/de/plugins/mods/reference#mods-api-methods) mit einer von Ihnen gewählten `id` auf. Die `id` ist der Name des Panes: Ihr `ui.render`-Hook prüft darauf, und Sie übergeben sie erneut, um das Pane zu schließen.290Um ein Pane zu öffnen, rufen Sie [`$.ui.open`](https://code.claude.com/docs/de/plugins/mods/reference#mods-api-methods) mit einer von Ihnen gewählten `id` auf. Die `id` ist der Name des Panes: Ihr `ui.render`-Hook prüft darauf, und Sie übergeben sie erneut, um das Pane zu schließen. Wenn ein anderer Mod bereits ein Pane mit dieser `id` geöffnet hat, wird der Aufruf abgelehnt.

291 291 

292```javascript theme={null}292```javascript theme={null}

293await $.ui.open({ id: 'hello-tabs', title: 'Hello tabs', focus: true })293await $.ui.open({ id: 'hello-tabs', title: 'Hello tabs', focus: true })


399 399 

400> [!NOTE]400> [!NOTE]

401>401>

402> `$.theme.set` und `$.theme.clear` ersetzen `$.ui.backdrop`, das in Claude Code v2.1.319 entfernt wurde. Ändern Sie `$.ui.backdrop({ id: 'your-backdrop' })` in `$.theme.set({ backdrop: { id: 'your-backdrop' } })` und `$.ui.backdrop(undefined)` in `$.theme.clear()`, das den Hintergrund jedes Mods entfernt.402> `$.theme.set` und `$.theme.clear` ersetzen `$.ui.backdrop`, das in Claude Code v2.1.319 entfernt wurde. Ändern Sie `$.ui.backdrop({ id: 'your-backdrop' })` in einen `$.theme.set`-Aufruf wie den im Beispiel dieses Abschnitts und `$.ui.backdrop(undefined)` in `$.theme.clear()`, das den Hintergrund jedes Mods entfernt.

403 403 

404Um in der Desktop-App oder der mobilen App einen Hintergrund hinter die Konversation zu legen, rufen Sie [`$.theme.set`](https://code.claude.com/docs/de/plugins/mods/reference#mods-api-methods) mit einem `backdrop` auf und zeichnen Sie den Hintergrund dann an der Render-Stelle [`Backdrop`](https://code.claude.com/docs/de/plugins/mods/reference#render-sites). Um den Hintergrund zu entfernen, rufen Sie `$.theme.clear()` auf. Das Terminal zeichnet keinen Hintergrund. `$.theme.set` und `$.theme.clear` erfordern Claude Code v2.1.319 oder höher.404Um in der Desktop-App oder der mobilen App einen Hintergrund hinter die Konversation zu legen, rufen Sie [`$.theme.set`](https://code.claude.com/docs/de/plugins/mods/reference#mods-api-methods) mit einem `backdrop` auf und zeichnen Sie den Hintergrund dann an der Render-Stelle [`Backdrop`](https://code.claude.com/docs/de/plugins/mods/reference#render-sites). Um den Hintergrund zu entfernen, rufen Sie `$.theme.clear()` auf. Das Terminal zeichnet keinen Hintergrund. `$.theme.set` und `$.theme.clear` erfordern Claude Code v2.1.319 oder höher.

405 405 

406Dieser Mod setzt beim Start der Sitzung einen Hintergrund, zeichnet den Hintergrund und fügt einen Befehl `/plain` hinzu, der den Hintergrund entfernt:406Dieses Beispiel erfordert Claude Code v2.1.323 oder höher, daher sollten Sie zuerst [Ihre Version prüfen](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off). Der Mod setzt beim Start der Sitzung einen Hintergrund, zeichnet den Hintergrund und fügt einen Befehl `/plain` hinzu, der den Hintergrund entfernt:

407 407 

408```javascript theme={null}408```javascript theme={null}

409export function register(on) {409export function register(on) {

410 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here410 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here

411 on('session.start', async ($, e, next) => {411 on('session.start', async ($, e, next) => {

412 await $.theme.set({ backdrop: { id: 'night-sky', colorScheme: 'dark' } })412 await $.theme.set({ backdrop: { scene: 'night-sky' }, overrideColorScheme: 'dark' })

413 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })413 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })

414 return next(e)414 return next(e)

415 })415 })

416 416 

417 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {417 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {

418 // This hook runs for every mod's backdrop, and another mod can use the same id418 // This hook runs for every mod's backdrop, and another mod can use the same scene

419 if (e.props.plugin !== $.plugin.name || e.props.id !== 'night-sky') return next(e)419 if (e.props.plugin !== $.plugin.name || e.props.scene !== 'night-sky') return next(e)

420 const { Box, Text } = $.ui.resolve(e)420 const { Box, Text } = $.ui.resolve(e)

421 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })421 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })

422 })422 })


428}428}

429```429```

430 430 

431> [!NOTE]

432>

433> Schreiben Sie vor v2.1.323 `id` anstelle von `scene` im `$.theme.set`-Aufruf und in `e.props`, und verschieben Sie `overrideColorScheme` als `colorScheme` in `backdrop`.

434 

431Um das Beispiel auszuprobieren, fügen Sie diesen Code in einen [Mod](https://code.claude.com/docs/de/plugins/mods/create.md) ein und starten Sie eine Sitzung in der Desktop-App oder der mobilen App. Um den Hintergrund zu entfernen, führen Sie `/plain` am Claude Code-Prompt aus. Das Transkript zeigt `the theme is cleared` nach dem Namen des Mods an, etwa `night-sky: the theme is cleared` für einen Mod namens `night-sky`.435Um das Beispiel auszuprobieren, fügen Sie diesen Code in einen [Mod](https://code.claude.com/docs/de/plugins/mods/create.md) ein und starten Sie eine Sitzung in der Desktop-App oder der mobilen App. Um den Hintergrund zu entfernen, führen Sie `/plain` am Claude Code-Prompt aus. Das Transkript zeigt `the theme is cleared` nach dem Namen des Mods an, etwa `night-sky: the theme is cleared` für einen Mod namens `night-sky`.

432 436 

433Prüfen Sie, was `backdrop` akzeptiert, was Ihnen das Ergebnis des Aufrufs mitteilt und was andere Mods ändern können:437Prüfen Sie, was `backdrop` akzeptiert, was Ihnen das Ergebnis des Aufrufs mitteilt und was andere Mods ändern können:

434 438 

435* **Die Felder von `backdrop`**: `id`, ein von Ihnen gewählter [Name](https://code.claude.com/docs/de/plugins/mods/reference.md#limits), ist erforderlich, die übrigen Felder sind optional. `colorScheme` ist `'light'` oder `'dark'` und gibt an, ob Ihre Darstellung hell oder dunkel ist. Zu `glass` siehe [die Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build).439* **Die Felder von `backdrop`**: `scene` ist ein von Ihnen gewählter [Name](https://code.claude.com/docs/de/plugins/mods/reference.md#limits) für einen Hintergrund, den Ihr Hook zeichnet. Zu den übrigen Feldern und zu `overrideColorScheme` siehe [die Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build).

436* **Ob der Hintergrund gezeichnet wird**: `$.theme.set` wird mit `isDrawn: true` aufgelöst, wenn eine mit der Sitzung verbundene Desktop- oder mobile App meldet, dass sie Hintergründe zeichnet. Andernfalls ist `isDrawn` `false`, und `reason` gibt den Grund an.440* **Ob der Hintergrund gezeichnet wird**: `$.theme.set` wird mit `isDrawn: true` aufgelöst, wenn eine mit der Sitzung verbundene Desktop- oder mobile App meldet, dass sie Hintergründe zeichnet. Andernfalls ist `isDrawn` `false`, und `reason` gibt den Grund an.

437* **Ein Hintergrund pro Sitzung**: Ein Aufruf von `$.theme.set` ersetzt den Hintergrund der Sitzung, und `$.theme.clear()` entfernt diesen Hintergrund, unabhängig davon, welcher Mod ihn gesetzt hat. Rufen Sie `$.theme.clear()` nur auf, wenn der Benutzer dies verlangt.441* **Ein Hintergrund pro Sitzung**: Ein Aufruf von `$.theme.set` ersetzt den Hintergrund der Sitzung, und `$.theme.clear()` entfernt diesen Hintergrund, unabhängig davon, welcher Mod ihn gesetzt hat. Rufen Sie `$.theme.clear()` nur auf, wenn der Benutzer dies verlangt.

438 442 


510>514>

511> Setzen Sie `rows` auf 2 oder mehr, um [ein Feld zu erhalten, das mehrere Zeilen aufnimmt](https://code.claude.com/docs/de/plugins/mods/gallery.md#input).515> Setzen Sie `rows` auf 2 oder mehr, um [ein Feld zu erhalten, das mehrere Zeilen aufnimmt](https://code.claude.com/docs/de/plugins/mods/gallery.md#input).

512 516 

513Die [Oberflächengalerie](https://code.claude.com/docs/de/plugins/mods/gallery.md) enthält Beispiele und Screenshots der meisten Elemente. Diese Tabelle listet alle Elemente auf:517Die [Oberflächengalerie](https://code.claude.com/docs/de/plugins/mods/gallery.md) enthält Beispiele und Screenshots der meisten Elemente. Diese Tabelle listet die wichtigsten Elemente auf:

514 518 

515| Element | Was es zeichnet | Wo |519| Element | Was es zeichnet | Wo |

516| :- | :- | :- |520| :- | :- | :- |


606Tests und andere Mods identifizieren ein Steuerelement über seinen Key:610Tests und andere Mods identifizieren ein Steuerelement über seinen Key:

607 611 

608* **Tests**: Ein [Test](https://code.claude.com/docs/de/plugins/mods/test.md#test-a-drawing) drückt ein Steuerelement oder tippt in es hinein, indem er es über seinen Key anspricht.612* **Tests**: Ein [Test](https://code.claude.com/docs/de/plugins/mods/test.md#test-a-drawing) drückt ein Steuerelement oder tippt in es hinein, indem er es über seinen Key anspricht.

609* **Andere Mods**: Claude Code löst [`ui.press`, `ui.input` oder `ui.select`](https://code.claude.com/docs/de/plugins/mods/reference#interface) mit dem Key des Steuerelements in `e.element` aus, bevor es den Callback des Steuerelements ausführt. Der Hook eines anderen Mods für dieses Ereignis sieht, was der Benutzer in Ihr `Input` eingegeben hat, und kann diesen Text ändern oder verhindern, dass Ihr Callback ausgeführt wird. Die Mods-API gibt diesem Mod keine Methode, mit der er Ihre Schaltflächen drücken kann.613* **Andere Mods**: Claude Code löst [`ui.press`, `ui.input` oder `ui.select`](https://code.claude.com/docs/de/plugins/mods/reference#interface) mit dem Key des Steuerelements in `e.element` aus, bevor es den Callback des Steuerelements ausführt. Der Hook eines anderen Mods kann ebenfalls [für dieses Ereignis ausgeführt werden](https://code.claude.com/docs/de/plugins/mods/events.md#hook-other-mods-drawings-and-controls). Dieser Hook sieht, was der Benutzer in Ihr `Input` eingegeben hat, und kann diesen Text ändern oder verhindern, dass Ihr Callback ausgeführt wird. Die Mods-API gibt diesem Mod keine Methode, mit der er Ihre Schaltflächen drücken kann.

610 614 

611Wenn eine Meldung `needs a key` oder `is drawn twice` lautet, [finden Sie die Ursache anhand dieser Meldung](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#needs-a-key).615Wenn eine Meldung `needs a key` oder `is drawn twice` lautet, [finden Sie die Ursache anhand dieser Meldung](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#needs-a-key).

612 616 

Details

208 208 

209### Mods-API-Aufrufe209### Mods-API-Aufrufe

210 210 

211Jede [Mods-API-Methode](#mods-api-methods) ist auch ein Event, benannt nach ihrem Namespace und ihrer Methode, etwa `fs.read`, `model.complete` oder `ui.open`. Ein Hook darauf fängt Aufrufe der Mods ab, die nach ihm ausgeführt werden, und kann `next(e)`, `{ deny: reason }` oder `{ value }` zurückgeben.211Jede [Mods-API-Methode](#mods-api-methods) ist auch ein Event, benannt nach ihrem Namespace und ihrer Methode, etwa `fs.read`, `model.complete` oder `ui.open`. Ein Hook darauf kann `next(e)`, `{ deny: reason }` oder `{ value }` zurückgeben.

212 

213Einige dieser Events werden auch für die eigenen Aktionen von Claude Code ausgelöst. Prüfen Sie daher, ob `next.origin.plugin` gleich `engine` ist, bevor Sie eines ablehnen.

212 214 

213## Methoden der Mods-API215## Methoden der Mods-API

214 216 


249| :- | :- | :- | :- |251| :- | :- | :- | :- |

250| [`Pane`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | Die `id` des Bereichs | Terminal, Desktop, VS Code |252| [`Pane`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | Die `id` des Bereichs | Terminal, Desktop, VS Code |

251| [`AbovePrompt`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Eine Instanz | Terminal, Desktop |253| [`AbovePrompt`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Eine Instanz | Terminal, Desktop |

254| `AbovePromptList`, der Stapel der `AbovePrompt`-Zeilen | `rows`, eine Liste mit einem `{ plugin, tree }` für die Zeile jedes Mods, sowie die `AbovePrompt`-Props | Eine Instanz | Terminal, Desktop. Erfordert Claude Code v2.1.323 oder höher. |

252| [`Placed`](https://code.claude.com/docs/de/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | Die `requestId`, die `$.ui.place` zurückgegeben hat | Terminal |255| [`Placed`](https://code.claude.com/docs/de/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | Die `requestId`, die `$.ui.place` zurückgegeben hat | Terminal |

253| [`Backdrop`](https://code.claude.com/docs/de/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `id`, `plugin`, `glass`, `colorScheme` | `backdrop` | Oberflächen `desktop` und `mobile`. Ihr Hook wird ausgeführt, wenn die Desktop- oder die mobile App das Zeichnen eines Hintergrunds anfordert. |256| [`Backdrop`](https://code.claude.com/docs/de/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `scene`, `plugin`, `glass`, `overrideColorScheme`. Vor v2.1.323 hieß `scene` noch `id` und `overrideColorScheme` noch `colorScheme`. | `backdrop` | Oberflächen `desktop` und `mobile`. Ihr Hook wird ausgeführt, wenn die Desktop- oder die mobile App das Zeichnen eines Hintergrunds anfordert. |

254| `UserMessage` | `text`, `origin`, `isExpanded` sowie je nach Herkunft `task` oder `from` | Die ID der gezeichneten Zeile | Terminal, Desktop, VS Code |257| `UserMessage` | `text`, `origin`, `isExpanded` sowie je nach Herkunft `task` oder `from` | Die ID der gezeichneten Zeile | Terminal, Desktop, VS Code |

255| `AssistantMessage` | Der Text der Antwort | Die ID der gezeichneten Zeile | Terminal, Desktop, VS Code |258| `AssistantMessage` | Der Text der Antwort | Die ID der gezeichneten Zeile | Terminal, Desktop, VS Code |

256| `ToolUse`, `ToolResult`, `ToolGroup` | Name, Eingabe und Ergebnis des Tools | Die ID des Tool-Aufrufs | Terminal, Desktop, VS Code |259| `ToolUse`, `ToolResult`, `ToolGroup` | Name, Eingabe und Ergebnis des Tools | Die ID des Tool-Aufrufs | Terminal, Desktop, VS Code |


297* **`action`**: benennt eine der eigenen [Tastenkombinations-Aktionen](https://code.claude.com/docs/de/keybindings.md) von Claude Code, und die Tastenkombination des Benutzers dafür drückt die Schaltfläche, wenn diese Tastenkombination ein Akkord oder eine Taste mit Modifikator ist300* **`action`**: benennt eine der eigenen [Tastenkombinations-Aktionen](https://code.claude.com/docs/de/keybindings.md) von Claude Code, und die Tastenkombination des Benutzers dafür drückt die Schaltfläche, wenn diese Tastenkombination ein Akkord oder eine Taste mit Modifikator ist

298* **Ziffern-Hotkeys im Band**: Ein Ziffern-`hotkey` auf einer Schaltfläche im Band wird auch ausgelöst, wenn der Benutzer nur diese Ziffer in einen leeren Prompt eingibt und innehält301* **Ziffern-Hotkeys im Band**: Ein Ziffern-`hotkey` auf einer Schaltfläche im Band wird auch ausgelöst, wenn der Benutzer nur diese Ziffer in einen leeren Prompt eingibt und innehält

299* **Ein eingeklapptes Band**: Solange das Band [eingeklappt](https://code.claude.com/docs/de/plugins/mods/interface.md#when-the-user-collapses-the-band) ist, drückt weder eine `action`-Tastenkombination noch ein Hotkey eine Schaltfläche darin302* **Ein eingeklapptes Band**: Solange das Band [eingeklappt](https://code.claude.com/docs/de/plugins/mods/interface.md#when-the-user-collapses-the-band) ist, drückt weder eine `action`-Tastenkombination noch ein Hotkey eine Schaltfläche darin

300* **Zwei Schaltflächen mit demselben Hotkey**: Wenn zwei Schaltflächen in einer Zeichnung denselben `hotkey` angeben, erhält ihn die spätere303* **Zwei Schaltflächen mit demselben Hotkey**: Wenn zwei Ihrer Schaltflächen in einer Zeichnung denselben `hotkey` angeben, erhält ihn die spätere. Zur Schaltfläche eines anderen Mods auf derselben Taste siehe [Hotkeys do nothing](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#hotkeys-do-nothing).

301* **`variant`**: `primary` oder `secondary`; jeder andere Wert löst einen Fehler aus. Im Terminal wird eine `primary`-Schaltfläche in der Akzentfarbe gezeichnet, sofern sie nicht `plain` ist.304* **`variant`**: `primary` oder `secondary`; jeder andere Wert löst einen Fehler aus. Im Terminal wird eine `primary`-Schaltfläche in der Akzentfarbe gezeichnet, sofern sie nicht `plain` ist.

302* **`role`**: `dismiss` kennzeichnet eine Schließen-Schaltfläche; jeder andere Wert löst einen Fehler aus. Führen Sie das Schließen in Ihrem `onPress` aus. In einem Band mit Text und einer Reihe von Schaltflächen kann die Desktop-App die erste `dismiss`-Schaltfläche der Reihe als eigenes Schließen-Steuerelement zeichnen. Das Terminal zeichnet die Schaltfläche so, wie es sie ohne `role` zeichnen würde.305* **`role`**: `dismiss` kennzeichnet eine Schließen-Schaltfläche; jeder andere Wert löst einen Fehler aus. Führen Sie das Schließen in Ihrem `onPress` aus. In einem Band mit Text und einer Reihe von Schaltflächen kann die Desktop-App die erste `dismiss`-Schaltfläche der Reihe als eigenes Schließen-Steuerelement zeichnen. Das Terminal zeichnet die Schaltfläche so, wie es sie ohne `role` zeichnen würde.

303 306 


401| Verschachtelungstiefe eines Baums | 32 Ebenen unterhalb des Wurzelelements |404| Verschachtelungstiefe eines Baums | 32 Ebenen unterhalb des Wurzelelements |

402| Elemente und Text-Kindelemente in einem Baum | 20.000 |405| Elemente und Text-Kindelemente in einem Baum | 20.000 |

403| `Raster`-Zellen in einem Baum, jeweils `columns` mal `rows` jedes `Raster` | 262.144 |406| `Raster`-Zellen in einem Baum, jeweils `columns` mal `rows` jedes `Raster` | 262.144 |

407| Die Zeilen über dem Eingabefeld, übereinander gestapelt | Elemente, `Raster`-Zellen und `Image`-Bytes werden über alle Zeilen hinweg addiert und an den Limits für einen Baum gemessen |

404| PNG- oder RGBA-Bytes aller `Image`-Elemente in einem Baum | 2 MiB |408| PNG- oder RGBA-Bytes aller `Image`-Elemente in einem Baum | 2 MiB |

405| `$.store` | Insgesamt 4 MiB JSON |409| `$.store` | Insgesamt 4 MiB JSON |

406| `$.session.messages()` | Die neuesten 4.096 Einträge |410| `$.session.messages()` | Die neuesten 4.096 Einträge |


412| Verschachtelungstiefe eines geänderten Ereignisses, das an `next` übergeben wird, außerhalb von [asynchronen Generator-Hooks](#events) wie einem Hook auf `turn.step` | 28.000 Ebenen. Darüber hinaus wird `next` mit einer Meldung abgelehnt, die auf `nesting deeper than 28000 levels is not supported` endet. Erfordert Claude Code v2.1.299 oder höher. |416| Verschachtelungstiefe eines geänderten Ereignisses, das an `next` übergeben wird, außerhalb von [asynchronen Generator-Hooks](#events) wie einem Hook auf `turn.step` | 28.000 Ebenen. Darüber hinaus wird `next` mit einer Meldung abgelehnt, die auf `nesting deeper than 28000 levels is not supported` endet. Erfordert Claude Code v2.1.299 oder höher. |

413| Verschachtelungstiefe des Rückgabewerts eines Hooks, außerhalb von `ui.render`, `ui.resolve` und asynchronen Generator-Hooks | 28.000 Ebenen. Darüber hinaus wird das Ergebnis des Hooks zurückgewiesen, und [der Hinweis, der dies meldet](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing), enthält `nesting deeper than 28000 levels is not supported`. Erfordert Claude Code v2.1.299 oder höher. |417| Verschachtelungstiefe des Rückgabewerts eines Hooks, außerhalb von `ui.render`, `ui.resolve` und asynchronen Generator-Hooks | 28.000 Ebenen. Darüber hinaus wird das Ergebnis des Hooks zurückgewiesen, und [der Hinweis, der dies meldet](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing), enthält `nesting deeper than 28000 levels is not supported`. Erfordert Claude Code v2.1.299 oder höher. |

414| Geltungsbereiche wie Funktionen, Blöcke und Schleifen, die in einer Datei eines Hooks-Moduls ineinander verschachtelt sind | 2.000 |418| Geltungsbereiche wie Funktionen, Blöcke und Schleifen, die in einer Datei eines Hooks-Moduls ineinander verschachtelt sind | 2.000 |

415| Namen von Befehlen, Tools, Subagent-Typen und Bereichen sowie die `id` einer platzierten Zeile oder eines Backdrops | Buchstaben, Ziffern, `_` und `-`, bis zu 64 Zeichen |419| Namen von Befehlen, Tools, Subagent-Typen und Bereichen, die `id` einer platzierten Zeile sowie die `scene` eines Backdrops | Buchstaben, Ziffern, `_` und `-`, bis zu 64 Zeichen |

416| Ein Test von `claude plugin test` | 5 Sekunden, sofern der Test nicht `timeoutMs` festlegt |420| Ein Test von `claude plugin test` | 5 Sekunden, sofern der Test nicht `timeoutMs` festlegt |

417 421 

418## Einstellungen und Umgebungsvariablen422## Einstellungen und Umgebungsvariablen

Details

139 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))139 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))

140 ```140 ```

141 141 

142 Mit registriertem Stub gelingt das Mounten, und `ui.find({ type: 'Text' })` gibt dieses Element zurück, wann immer Ihr Hook `next(e)` zurückgegeben hat.142 Mit registriertem Stub gelingt das Mounten, und `ui.find({ type: 'Text' })` gibt dieses Element zurück, wann immer Ihr Hook `next(e)` zurückgegeben hat. Ab v2.1.323 übergeben Sie für das Band den Namen Ihres Mods als zweites Argument an `on`, etwa `{ plugin: 'my-mod' }`. Ohne ihn beantwortet der Stub Ihr `next(e)` nicht.

143 143 

144* **Ein Stub für `turn.step` ist ein asynchroner Generator**, und der Test liest den Stream bis zum Ende, um das Ergebnis zu erhalten:144* **Ein Stub für `turn.step` ist ein asynchroner Generator**, und der Test liest den Stream bis zum Ende, um das Ergebnis zu erhalten:

145 145 


192| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |192| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |

193| `session.send` | `() => ({ isDelivered: true })`. `e.to` kommt als String an, auch wenn Ihr Mod `{ sessionId }` übergeben hat. |193| `session.send` | `() => ({ isDelivered: true })`. `e.to` kommt als String an, auch wenn Ihr Mod `{ sessionId }` übergeben hat. |

194| `session.receive` | `($, e) => ({ text: e.text })`. Lösen Sie es mit `$.session.receive({ origin: { kind: 'peer-send-message' }, text })` aus. |194| `session.receive` | `($, e) => ({ text: e.text })`. Lösen Sie es mit `$.session.receive({ origin: { kind: 'peer-send-message' }, text })` aus. |

195| `ui.render` | `() => ({ type: 'Text', props: {}, children: ['...'] })` |195| `ui.render` | `() => ({ type: 'Text', props: {}, children: ['...'] })`. Für das Band siehe den Matcher unter [Die Regeln des Test-Kits befolgen](#follow-the-test-kit’s-rules). |

196 196 

197### Ein Ergebnis mit `expect` prüfen197### Ein Ergebnis mit `expect` prüfen

198 198 

199Das Kit bietet die folgenden Assertions, und die gewählte steht hinter dem Wert, den Sie prüfen, wie in `expect(answer.text).toBe('ok')`:199`expect` hat einen eigenen Satz von Assertions, etwa `toEqual` und `toHaveLength`, die hinter dem Wert stehen, den Sie prüfen, wie in `expect(answer.text).toBe('ok')`. Die vollständige Liste finden Sie, indem Sie in `claude-code/index.d.ts` in [den Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build) nach `type Matchers` suchen. Setzen Sie `.not` vor die Assertion, um das Gegenteil zu prüfen. Um zu prüfen, womit ein Promise abgeschlossen wird, setzen Sie `.resolves` oder `.rejects` direkt hinter `expect(...)` und versehen die Zeile mit `await`, wie in `await expect(promise).rejects.toThrow()`.

200 

201* **Gleichheit**: `toBe` für denselben Wert oder dasselbe Objekt, `toEqual` für die Struktur, `toStrictEqual` für die Struktur einschließlich `undefined`-Feldern und des Prototyps, und `toMatchObject` für die Felder, die Sie angeben

202* **Text**: `toMatch`, das einen regulären Ausdruck oder einen Teilstring akzeptiert, `toStartWith` und `toEndWith`

203* **Zahlen**: `toBeGreaterThan`, `toBeGreaterThanOrEqual`, `toBeLessThan`, `toBeLessThanOrEqual`

204* **Inhalte**: `toContain` für einen Teilstring oder ein Element, `toContainEqual` für ein nach Struktur verglichenes Element, `toHaveLength` und `toHaveProperty`

205* **Vorhandensein und Typ**: `toBeDefined`, `toBeUndefined`, `toBeNull`, `toBeTruthy`, `toBeFalsy`, `toBeNaN`, `toBeInstanceOf`

206* **Ausnahmen**: `toThrow` für eine Funktion, die `expect` aufruft, oder für ein Promise, das Sie mit `.rejects` prüfen

207 

208Setzen Sie `.not` vor eine Assertion, um das Gegenteil zu prüfen, und `.resolves` oder `.rejects`, um zu prüfen, womit ein Promise abgeschlossen wird.

209 200 

210Wenn ein `expect` in einem Stub oder Hook fehlschlägt, den Sie `on` als einfache Funktion statt als asynchronen Generator übergeben haben, schlägt der Test fehl. Die Engine überspringt diesen Hook, und die Fehlerausgabe nennt ihn, etwa `in the test's store.set hook`.201Wenn ein `expect` in einem Stub oder Hook fehlschlägt, den Sie `on` als einfache Funktion statt als asynchronen Generator übergeben haben, schlägt der Test fehl. Die Engine überspringt diesen Hook, und die Fehlerausgabe nennt ihn, etwa `in the test's store.set hook`.

211 202 

Details

223 223 

224### Das Band eines anderen Mods wird angezeigt und Ihres nicht224### Das Band eines anderen Mods wird angezeigt und Ihres nicht

225 225 

226Es gibt ein Band über dem Prompt, und alle Mods teilen es sich. Ein Mod, der [vor Ihrem](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in) ausgeführt wird, ersetzt Ihr Band, wenn er einen Baum zurückgibt, der das Ergebnis von `next(e)` nicht enthält. Um beide Bänder anzuzeigen, ändern Sie den Hook dieses Mods oder bitten Sie dessen Autor darum:226Jeder Mod, der über dem Prompt zeichnet, erhält eine eigene Zeile. Wenn Ihre fehlt, während die eines anderen angezeigt wird, prüfen Sie daher diese Ursachen:

227 227 

228* **Die Bänder danach beibehalten**: Setzen Sie das Ergebnis von `await next(e)` unter die Kinder einer `Box` in seinem Baum, wie im Tab „Band über dem Prompt“ unter [Festlegen, wo gezeichnet wird](https://code.claude.com/docs/de/plugins/mods/interface.md#pick-where-to-draw)228* **Ihr Baum wird nicht validiert**: [Schreiben Sie ein Debug-Log](#read-the-debug-log), durchsuchen Sie es nach [`ui.render hook skipped`](#a-pane-or-band-is-empty) oder [`does not validate`](#ui-render-refused) und beheben Sie, was die Zeile nennt.

229* **Den Baum gültig halten**: Geben Sie dieser `Box` oder einer `Box` um sie herum keine der Props `width`, `height`, `minWidth`, `minHeight`, `position`, `top`, `left`, `right`, `bottom`, `display` oder `overflow`229* **Die Zeilen überschreiten zusammen eine Beschränkung**: [Schreiben Sie ein Debug-Log](#read-the-debug-log) und durchsuchen Sie es nach `past the limits of the band`. Die Zeilen [teilen sich die Beschränkungen eines Baums](https://code.claude.com/docs/de/plugins/mods/reference.md#limits), zeichnen Sie daher einen kleineren Baum oder bitten Sie die Autoren der anderen Mods darum.

230* **Ein anderer Mod blendet Ihre Zeile aus oder zeichnet darüber**: Wenn das Log keine dieser Zeilen enthält, [schalten Sie](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off) die anderen Mods nacheinander aus. Wenn Ihre Zeile wieder erscheint, bitten Sie den Autor dieses Mods, ihn zu ändern.

230 231 

231Um diesen Mod zu finden, [schreiben Sie ein Debug-Log](#read-the-debug-log) und durchsuchen Sie es nach `answered ui.render without next()`. Eine Zeile wie `other-mod (user) answered ui.render without next()` nennt einen Mod, der seinen Baum zurückgegeben hat, ohne `next(e)` aufzurufen. Sie nennt nicht die [Render-Stelle](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites), daher kann auch ein Mod erscheinen, der nur einen Bereich zeichnet. Ein Mod, der `next(e)` aufruft und das Ergebnis verwirft, erzeugt keine Zeile, prüfen Sie daher auch die Hooks vor Ihrem.232Vor v2.1.323 teilten sich alle Mods eine Zeichnung im Band. Ein Mod, der [vor Ihrem](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in) ausgeführt wurde, ersetzte Ihre Zeichnung, wenn er einen Baum zurückgab, der das Ergebnis von `next(e)` nicht enthielt. Aktualisieren Sie Claude Code oder bitten Sie den Autor dieses Mods, diese Änderungen vorzunehmen:

232 233 

233Das Band eines Mods fehlt auch, wenn der Baum, den sein eigener Hook zurückgegeben hat, nicht validiert wird; die Bänder der anderen Mods bleiben dann erhalten. Um herauszufinden, welcher Mod betroffen ist und warum, [schreiben Sie ein Debug-Log](#read-the-debug-log) und durchsuchen Sie es nach [`ui.render hook skipped`](#a-pane-or-band-is-empty).234* **Die Zeichnungen späterer Mods beibehalten**: Setzen Sie das Ergebnis von `await next(e)` unter die Kinder einer `Box` in seinem Baum

235* **Den Baum gültig halten**: Geben Sie dieser `Box` oder einer `Box` um sie herum keine der Props `width`, `height`, `minWidth`, `minHeight`, `position`, `top`, `left`, `right`, `bottom`, `display` oder `overflow`

234 236 

235### Ein Bereich oder Band ist leer oder zeigt den üblichen Inhalt von Claude Code237### Ein Bereich oder Band ist leer oder zeigt den üblichen Inhalt von Claude Code

236 238 


246 248 

247### Eine `ui.render`-Zeile enthält `refused`249### Eine `ui.render`-Zeile enthält `refused`

248 250 

249`ui.render (<site>) refused:` oder `ui.render (<site>): the chain settled on a tree that does not validate` im [Debug-Log](#read-the-debug-log) bedeutet, dass der [Baum](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements) an dieser Stelle eine [Größenbeschränkung](https://code.claude.com/docs/de/plugins/mods/reference.md#limits) überschreitet. Beide Zeilen nennen die [Render-Stelle](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites) und dann den Grund, und der Grund nennt die Beschränkung.251`ui.render (<site>) refused:` oder `ui.render (<site>): the chain settled on a tree that does not validate` im [Debug-Log](#read-the-debug-log) bedeutet, dass der [Baum](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements) an dieser Stelle eine [Größenbeschränkung](https://code.claude.com/docs/de/plugins/mods/reference.md#limits) überschreitet. Beide Zeilen nennen die [Render-Stelle](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites) und dann den Grund.

250 252 

251Ändern Sie die Mods, die an dieser Stelle zeichnen, sodass ihre [`ui.render`](https://code.claude.com/docs/de/plugins/mods/reference#interface)-Hooks kleinere Bäume zurückgeben, oder bitten Sie deren Autoren darum. Wenn die Zeile im Transkript mit `hooks` beginnt, hat mehr als ein geladener Mod einen `ui.render`-Hook für diese Stelle, prüfen Sie daher die Bäume jedes dieser Mods. Bei mehreren Mods, deren Bänder über dem Prompt zu einem Baum mit mehr als 32 Ebenen verschachtelt sind, lautet die Zeile:253Ändern Sie die Mods, die an dieser Stelle zeichnen, sodass ihre [`ui.render`](https://code.claude.com/docs/de/plugins/mods/reference#interface)-Hooks kleinere Bäume zurückgeben, oder bitten Sie deren Autoren darum. Wenn die Zeile im Transkript mit `hooks` beginnt, hat mehr als ein geladener Mod einen `ui.render`-Hook für diese Stelle, prüfen Sie daher die Bäume jedes dieser Mods. Für Zeilen über dem Prompt, die zusammen nicht in die Beschränkungen des Bands passen, lautet die Zeile:

252 254 

253```text theme={null}255```text theme={null}

254hooks: ui.render (AbovePrompt) refused: deeper than 32; nothing was drawn256hooks: ui.render (AbovePrompt) refused: a row past the limits of the band; nothing was drawn

255```257```

256 258 

259Trotz dieses Endes werden die Zeilen, die passen, weiterhin gezeichnet.

260 

257Vor v2.1.307 meldete eine `refused:`-Zeile für jede Stelle jeden Baum, der nicht validiert wurde, und für `Pane` und `AbovePrompt` endete sie mit `; the engine drew its own`. Beheben Sie bei diesen Versionen, was der Grund nennt.261Vor v2.1.307 meldete eine `refused:`-Zeile für jede Stelle jeden Baum, der nicht validiert wurde, und für `Pane` und `AbovePrompt` endete sie mit `; the engine drew its own`. Beheben Sie bei diesen Versionen, was der Grund nennt.

258 262 

259### `needs a key`, `is drawn twice` oder `key each once`263### `needs a key`, `is drawn twice` oder `key each once`


307 311 

308### Hotkeys bewirken nichts312### Hotkeys bewirken nichts

309 313 

310Ihr Bereich oder Band hat keinen Tastaturfokus, Ihre Schaltfläche befindet sich in einem eingeklappten Band, oder die Zeichnung befindet sich in der VS Code-Erweiterung, in der Schaltflächen keine Hotkeys haben. Gehen Sie je nach Fall so vor:314Ihr Bereich oder Band hat keinen Tastaturfokus, Ihre Schaltfläche befindet sich in einem eingeklappten Band, ein anderer Mod verwendet dieselbe Taste, oder die Zeichnung befindet sich in der VS Code-Erweiterung.

311 315 

312* **Kein Tastaturfokus**: Drücken Sie Ctrl+X und dann Tab oder klicken Sie im [Vollbild-Rendering](https://code.claude.com/docs/de/fullscreen.md) auf den Bereich oder das Band. Damit der Bereich beim Öffnen den Fokus erhält, öffnen Sie ihn mit `focus: true` über einen Befehl.316* **Kein Tastaturfokus**: Drücken Sie Ctrl+X und dann Tab oder klicken Sie im [Vollbild-Rendering](https://code.claude.com/docs/de/fullscreen.md) auf den Bereich oder das Band. Damit der Bereich beim Öffnen den Fokus erhält, öffnen Sie ihn mit `focus: true` über einen Befehl.

313* **Die Schaltfläche befindet sich in einem eingeklappten Band**: Das Band zeigt eine abgeblendete Zeile, die mit `▸ plugin panel hidden` beginnt. Drücken Sie die Tasten, die die Zeile nennt, standardmäßig Ctrl+X und dann Ctrl+A, um [es auszuklappen](#plugin-panel-hidden).317* **Die Schaltfläche befindet sich in einem eingeklappten Band**: Das Band zeigt eine abgeblendete Zeile, die mit `▸ plugin panel hidden` beginnt. Drücken Sie die Tasten, die die Zeile nennt, standardmäßig Ctrl+X und dann Ctrl+A, um [es auszuklappen](#plugin-panel-hidden).

314* **In der VS Code-Erweiterung**: Klicken Sie auf die Schaltfläche oder drücken Sie Enter darauf, sobald sie den Fokus hat318* **Die Zeile eines anderen Mods im Band verwendet denselben Hotkey**: Im Terminal drückt die Taste keine der beiden Schaltflächen. Um dies zu prüfen, [schalten Sie](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off) die anderen Mods, die Zeilen zeichnen, nacheinander aus, bis die Taste funktioniert. Ändern Sie den `hotkey` Ihrer Schaltfläche oder bitten Sie den Autor dieses Mods, seinen zu ändern.

319* **In der VS Code-Erweiterung, in der Schaltflächen keine Hotkeys haben**: Klicken Sie auf die Schaltfläche oder drücken Sie Enter darauf, sobald sie den Fokus hat

315 320 

316### Eine Zeichnung funktioniert im Terminal, aber nicht in der Desktop-App oder in VS Code321### Eine Zeichnung funktioniert im Terminal, aber nicht in der Desktop-App oder in VS Code

317 322 

Details

36 36 

37![Diagramm in zwei Spalten, verbunden durch fünf gerade Pfeile. Links das Verzeichnis eines Plugins namens my-plugin mit einem Manifest unter .claude-plugin/plugin.json, skills/review/SKILL.md, agents/reviewer.md, hooks/hooks.json, .mcp.json und anderen Komponenten. Rechts das, was jede Datei in Ihrer Sitzung gibt: Das Manifest setzt den Plugin-Namen, my-plugin; die Skill läuft als /my-plugin:review; die Agent-Datei ist ein Subagent, an den Claude delegieren kann; die Hooks-Datei enthält Hooks, die bei Lebenszyklusereignissen ausgeführt werden; und .mcp.json fügt einen MCP-Server hinzu, der Claude Tools gibt.](https://mintcdn.com/claude-code/2Q_GtOEovg5qaBem/images/plugin-directory.svg?fit=max\&auto=format\&n=2Q_GtOEovg5qaBem\&q=85\&s=f623b64e82713b830e48174f0a922888)37![Diagramm in zwei Spalten, verbunden durch fünf gerade Pfeile. Links das Verzeichnis eines Plugins namens my-plugin mit einem Manifest unter .claude-plugin/plugin.json, skills/review/SKILL.md, agents/reviewer.md, hooks/hooks.json, .mcp.json und anderen Komponenten. Rechts das, was jede Datei in Ihrer Sitzung gibt: Das Manifest setzt den Plugin-Namen, my-plugin; die Skill läuft als /my-plugin:review; die Agent-Datei ist ein Subagent, an den Claude delegieren kann; die Hooks-Datei enthält Hooks, die bei Lebenszyklusereignissen ausgeführt werden; und .mcp.json fügt einen MCP-Server hinzu, der Claude Tools gibt.](https://mintcdn.com/claude-code/2Q_GtOEovg5qaBem/images/plugin-directory.svg?fit=max\&auto=format\&n=2Q_GtOEovg5qaBem\&q=85\&s=f623b64e82713b830e48174f0a922888)

38 38 

39Für jeden Komponententyp, den ein Plugin enthalten kann, mit einem Beispiel für jeden, siehe [Plugin-Komponenten](https://code.claude.com/docs/de/plugins/components.md). Um zu sehen, wo sich jedes Teil im Verzeichnis eines Plugins befindet, verwenden Sie den [Plugin-Explorer](https://code.claude.com/docs/de/plugins/components.md#explore-the-plugin-directory) auf dieser Seite.39Informationen zu den Komponententypen, die ein Plugin enthalten kann, mit jeweils einem Beispiel finden Sie unter [Plugin-Komponenten](https://code.claude.com/docs/de/plugins/components.md). Um zu sehen, wo sich die einzelnen Bestandteile im Verzeichnis eines Plugins befinden, verwenden Sie den [Plugin-Explorer](https://code.claude.com/docs/de/plugins/components.md#explore-the-plugin-directory) auf dieser Seite.

40 40 

41### Entscheiden Sie, ob Sie ein Plugin benötigen41### Entscheiden Sie, ob Sie ein Plugin benötigen

42 42 

Details

59 59 

60**5. Füllen Sie die Metadaten aus, die Benutzer sehen**60**5. Füllen Sie die Metadaten aus, die Benutzer sehen**

61 61 

62Setzen Sie `description`, `author`, `homepage` und `repository` in `plugin.json`, und fügen Sie eine `README.md` im Plugin-Root hinzu. `homepage` muss als URL analysierbar sein. Die [Manifest-Referenz](https://code.claude.com/docs/de/plugins/manifest-reference.md#fields) listet jedes Feld auf.62Setzen Sie `description`, `author`, `homepage` und `repository` in `plugin.json`, und fügen Sie eine `README.md` im Plugin-Root hinzu. `homepage` muss als URL analysierbar sein. Welche Werte jedes Feld akzeptiert, finden Sie in der [Manifest-Referenz](https://code.claude.com/docs/de/plugins/manifest-reference.md#fields).

63 63 

64**6. Führen Sie Ihre Eval-Suite aus**64**6. Führen Sie Ihre Eval-Suite aus**

65 65 

Details

67> | `--capacity <N>` | Maximale Anzahl gleichzeitiger Sitzungen. Standard ist 32. Kann nicht mit `--spawn=session` verwendet werden. |67> | `--capacity <N>` | Maximale Anzahl gleichzeitiger Sitzungen. Standard ist 32. Kann nicht mit `--spawn=session` verwendet werden. |

68> | `--[no-]create-session-in-dir` | Erstellt beim Start des Servers vorab eine Sitzung im aktuellen Verzeichnis, sodass Sie sofort etwas eingeben können. Im `worktree`-Modus bleibt diese Sitzung im aktuellen Verzeichnis, während On-Demand-Sitzungen isolierte Worktrees erhalten. Standardmäßig aktiviert. Wenn Sie `--no-create-session-in-dir` übergeben, um ohne Sitzung zu starten, archiviert Claude Code die Sitzungen des Servers, wenn Sie ihn beenden, sodass es nichts [fortzusetzen](#resume-sessions-after-stopping-the-server) gibt. |68> | `--[no-]create-session-in-dir` | Erstellt beim Start des Servers vorab eine Sitzung im aktuellen Verzeichnis, sodass Sie sofort etwas eingeben können. Im `worktree`-Modus bleibt diese Sitzung im aktuellen Verzeichnis, während On-Demand-Sitzungen isolierte Worktrees erhalten. Standardmäßig aktiviert. Wenn Sie `--no-create-session-in-dir` übergeben, um ohne Sitzung zu starten, archiviert Claude Code die Sitzungen des Servers, wenn Sie ihn beenden, sodass es nichts [fortzusetzen](#resume-sessions-after-stopping-the-server) gibt. |

69> | `--permission-mode <mode>` | Legt den anfänglichen [Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md) für die Sitzungen des Servers fest, z. B. `acceptEdits`. Akzeptiert `manual` als Alias für `default`; ein nicht erkannter Modus stoppt den Server beim Start und listet die gültigen Modi auf. |69> | `--permission-mode <mode>` | Legt den anfänglichen [Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md) für die Sitzungen des Servers fest, z. B. `acceptEdits`. Akzeptiert `manual` als Alias für `default`; ein nicht erkannter Modus stoppt den Server beim Start und listet die gültigen Modi auf. |

70> | `--settings <file>` | Wendet eine JSON-Einstellungsdatei auf die Sitzungen des Servers an, mit demselben [Vorrang](https://code.claude.com/docs/de/settings.md#settings-precedence) wie `claude --settings`. Geben Sie einen Dateipfad an, keinen JSON-String. Erfordert Claude Code v2.1.321 oder höher. |

70> | `--chrome` / `--no-chrome` | Schaltet die [Chrome-Integration](https://code.claude.com/docs/de/chrome.md) in den vom Server erstellten Sitzungen ein oder aus, sodass Claude Chrome auf Ihrem Rechner verwenden kann, während Sie von einem anderen Gerät aus arbeiten. Ohne eines der beiden Flags starten die vom Server vorab erstellte Sitzung und jede Sitzung, die Sie selbst über claude.ai/code oder die Claude-App starten, mit deaktiviertem Chrome, selbst wenn Sie [Chrome standardmäßig aktiviert](https://code.claude.com/docs/de/chrome.md#enable-chrome-by-default) haben. Eine Sitzung, die der Server für einen Ihrer [Projekt](https://code.claude.com/docs/de/claude-projects.md)-Threads startet, folgt stattdessen dieser Einstellung, außer im Modus `bypassPermissions`. Erfordert Claude Code v2.1.273 oder höher. |71> | `--chrome` / `--no-chrome` | Schaltet die [Chrome-Integration](https://code.claude.com/docs/de/chrome.md) in den vom Server erstellten Sitzungen ein oder aus, sodass Claude Chrome auf Ihrem Rechner verwenden kann, während Sie von einem anderen Gerät aus arbeiten. Ohne eines der beiden Flags starten die vom Server vorab erstellte Sitzung und jede Sitzung, die Sie selbst über claude.ai/code oder die Claude-App starten, mit deaktiviertem Chrome, selbst wenn Sie [Chrome standardmäßig aktiviert](https://code.claude.com/docs/de/chrome.md#enable-chrome-by-default) haben. Eine Sitzung, die der Server für einen Ihrer [Projekt](https://code.claude.com/docs/de/claude-projects.md)-Threads startet, folgt stattdessen dieser Einstellung, außer im Modus `bypassPermissions`. Erfordert Claude Code v2.1.273 oder höher. |

71> | `-d`, `--debug[=<filter>]` | Aktiviert das Debug-Logging für den Server, optional nach Kategorie gefiltert. Übergeben Sie einen Filter nur in der `=`-Form, z. B. `--debug=api,hooks`. Erfordert Claude Code v2.1.282 oder höher. |72> | `-d`, `--debug[=<filter>]` | Aktiviert das Debug-Logging für den Server, optional nach Kategorie gefiltert. Übergeben Sie einen Filter nur in der `=`-Form, z. B. `--debug=api,hooks`. Erfordert Claude Code v2.1.282 oder höher. |

72> | `--debug-file <path>` | Schreibt Debug-Logs in die angegebene Datei. |73> | `--debug-file <path>` | Schreibt Debug-Logs in die angegebene Datei. |

73> | `--verbose` | Zeigt detaillierte Verbindungs- und Sitzungslogs an. |74> | `--verbose` | Zeigt detaillierte Verbindungs- und Sitzungslogs an. |

74> | `--sandbox`, `--no-sandbox` | In v2.1.300 entfernt. Wenn Sie eines der beiden Flags übergeben, [beendet sich der Server mit einem Fehler](https://code.claude.com/docs/de/errors.md#sandbox-is-not-supported-by-claude-remote-control), anstatt zu starten. |75> | `--sandbox`, `--no-sandbox` | In v2.1.300 entfernt. Wenn Sie eines der beiden Flags übergeben, [beendet sich der Server mit einem Fehler](https://code.claude.com/docs/de/errors.md#sandbox-is-not-supported-by-claude-remote-control), anstatt zu starten. |

75>76>

76> Wenn Sie ein globales `claude`-Flag vor `remote-control` übergeben oder ein Wrapper-Skript eines hinzufügt, überträgt Claude Code das Flag nicht auf die Sitzungen, die der Server erstellt. Claude Code lässt das Flag nur durch, wenn bekannt ist, dass sein Weglassen nichts daran ändert, was diese Sitzungen tun können, wie etwa bei `--verbose` oder `--model`. Bei jedem anderen Flag, wie etwa `--settings`, [verweigert Claude Code den Start](https://code.claude.com/docs/de/errors.md#not-carried-over-to-the-sessions-remote-control-starts) und nennt das zu entfernende Flag.77> Wenn Sie ein globales `claude`-Flag vor `remote-control` übergeben oder ein Wrapper-Skript eines hinzufügt, überträgt Claude Code das Flag nicht auf die Sitzungen, die der Server erstellt. Bei einigen Flags, wie etwa `--verbose` oder `--model`, startet der Server trotzdem. Bei jedem anderen Flag [startet der Server nicht](https://code.claude.com/docs/de/errors.md#not-carried-over-to-the-sessions-remote-control-starts). Um eine Einstellungsdatei zu übergeben, setzen Sie `--settings` hinter `remote-control`.

77>78>

78> Um die vom Server gestarteten Sitzungen in einer Sandbox auszuführen, aktivieren Sie [Sandboxing](https://code.claude.com/docs/de/sandboxing.md) in einer Einstellungsdatei.79> Um die vom Server gestarteten Sitzungen in einer Sandbox auszuführen, aktivieren Sie [Sandboxing](https://code.claude.com/docs/de/sandboxing.md) in einer Einstellungsdatei.

79>80>


375* **Weitergeleitete Dialoge laufen ab**: Claude Code hält Berechtigungsabfragen und `AskUserQuestion`-Fragen offen, bis Sie sie beantworten. Wenn Claude Code eine andere Art von Dialog an die Remote-Sitzung weiterleitet, etwa die Modellauswahl, die nach einer sicherheitsbedingten Ablehnung angezeigt wird, wartet es standardmäßig fünf Minuten, schließt dann den Dialog und fährt mit der Standardoption des Dialogs ohne Aktion fort. Legen Sie [`dialogExpiry`](https://code.claude.com/docs/de/settings-reference#dialogexpiry) fest, um die Frist anzupassen oder zu deaktivieren. Erfordert Claude Code v2.1.224 oder höher.376* **Weitergeleitete Dialoge laufen ab**: Claude Code hält Berechtigungsabfragen und `AskUserQuestion`-Fragen offen, bis Sie sie beantworten. Wenn Claude Code eine andere Art von Dialog an die Remote-Sitzung weiterleitet, etwa die Modellauswahl, die nach einer sicherheitsbedingten Ablehnung angezeigt wird, wartet es standardmäßig fünf Minuten, schließt dann den Dialog und fährt mit der Standardoption des Dialogs ohne Aktion fort. Legen Sie [`dialogExpiry`](https://code.claude.com/docs/de/settings-reference#dialogexpiry) fest, um die Frist anzupassen oder zu deaktivieren. Erfordert Claude Code v2.1.224 oder höher.

376* **Die Zustimmungsabfrage für Fable-Nutzungsguthaben wird nicht weitergeleitet**: Claude Code zeigt die während der Sitzung erscheinende [Zustimmungsabfrage für Fable-Nutzungsguthaben](https://code.claude.com/docs/de/model-config.md#fable-and-usage-credits) nur dort an, wo die Sitzung läuft, nicht auf Ihrem Gerät. Wenn die Sitzung in einem Terminal läuft und dort niemand antwortet, bevor Claude Code die Abfrage schließt, endet der Turn, ohne die Anfrage zu senden; siehe [The prompt to confirm went unanswered](https://code.claude.com/docs/de/errors.md#the-prompt-to-confirm-went-unanswered).377* **Die Zustimmungsabfrage für Fable-Nutzungsguthaben wird nicht weitergeleitet**: Claude Code zeigt die während der Sitzung erscheinende [Zustimmungsabfrage für Fable-Nutzungsguthaben](https://code.claude.com/docs/de/model-config.md#fable-and-usage-credits) nur dort an, wo die Sitzung läuft, nicht auf Ihrem Gerät. Wenn die Sitzung in einem Terminal läuft und dort niemand antwortet, bevor Claude Code die Abfrage schließt, endet der Turn, ohne die Anfrage zu senden; siehe [The prompt to confirm went unanswered](https://code.claude.com/docs/de/errors.md#the-prompt-to-confirm-went-unanswered).

377* **Einige Befehle sind nur lokal verfügbar**: Befehle, die nur in der Terminal-Oberfläche ausgeführt werden, etwa `/plugin` oder `/resume`, funktionieren nur über die lokale CLI, unabhängig davon, ob Sie ein Argument übergeben. `/claude-api` ist ebenfalls nicht verfügbar, wenn Sie es über Mobilgeräte oder das Web eingeben. Claude kann [diesen Skill dort dennoch selbst laden](https://code.claude.com/docs/de/skills.md#work-on-claude-api-projects). Folgendes funktioniert über Mobilgeräte und das Web:378* **Einige Befehle sind nur lokal verfügbar**: Befehle, die nur in der Terminal-Oberfläche ausgeführt werden, etwa `/plugin` oder `/resume`, funktionieren nur über die lokale CLI, unabhängig davon, ob Sie ein Argument übergeben. `/claude-api` ist ebenfalls nicht verfügbar, wenn Sie es über Mobilgeräte oder das Web eingeben. Claude kann [diesen Skill dort dennoch selbst laden](https://code.claude.com/docs/de/skills.md#work-on-claude-api-projects). Folgendes funktioniert über Mobilgeräte und das Web:

378 * Befehle mit Textausgabe: `/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 läuft; eine Sitzung ohne Terminal lehnt den Befehl ab.379 * Befehle mit Textausgabe: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` und `/reload-plugins`. `/usage-credits` antwortet mit Text, etwa mit dem Hinweis, wo Sie Ihr Nutzungsguthaben verwalten können. `/reload-plugins` funktioniert nur, wenn die Sitzung in einem interaktiven Terminal läuft; eine Sitzung ohne Terminal lehnt den Befehl ab.

379 * `/model`, `/effort`, `/fast`, `/color` und `/rename`: Übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet` oder `/effort high`. Über Mobilgeräte und das Web nehmen `/model` und `/effort` das Argument anstelle der Auswahl oder des Schiebereglers im Terminal entgegen.380 * `/model`, `/effort`, `/fast`, `/color` und `/rename`: Übergeben Sie den Wert als Argument, zum Beispiel `/model sonnet` oder `/effort high`. Über Mobilgeräte und das Web nehmen `/model` und `/effort` das Argument anstelle der Auswahl oder des Schiebereglers im Terminal entgegen.

380 * `/mcp`: Gibt in der mobilen App eine Textzusammenfassung des Serverstatus zurück, anstatt die Auswahl zu öffnen. Im Web öffnet `/mcp` ohne Zusatz ein Verzeichnis der [claude.ai-Konnektoren](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai), anstatt die Zusammenfassung zurückzugeben. Die [Unterbefehle](https://code.claude.com/docs/de/commands.md#all-commands) `reconnect`, `enable` und `disable` funktionieren in beiden, wenn die Sitzung in einem interaktiven Terminal läuft. `/mcp reconnect` ohne Servernamen versucht es bei jedem Server erneut, der fehlgeschlagen ist oder eine Authentifizierung benötigt. Um einen claude.ai-Konnektor ohne die Auswahl zu autorisieren, siehe [Einen Konnektor erneut über Ihre Shell autorisieren](#authorize-a-connector-again-from-your-shell).381 * `/mcp`: Gibt in der mobilen App eine Textzusammenfassung des Serverstatus zurück, anstatt die Auswahl zu öffnen. Im Web öffnet `/mcp` ohne Zusatz ein Verzeichnis der [claude.ai-Konnektoren](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai), anstatt die Zusammenfassung zurückzugeben. Die [Unterbefehle](https://code.claude.com/docs/de/commands.md#all-commands) `reconnect`, `enable` und `disable` funktionieren in beiden, wenn die Sitzung in einem interaktiven Terminal läuft. `/mcp reconnect` ohne Servernamen versucht es bei jedem Server erneut, der fehlgeschlagen ist oder eine Authentifizierung benötigt. Um einen claude.ai-Konnektor ohne die Auswahl zu autorisieren, siehe [Einen Konnektor erneut über Ihre Shell autorisieren](#authorize-a-connector-again-from-your-shell).

381 * `/config`: Übergeben Sie in der mobilen App `key=value`, um eine Einstellung zu setzen, oder führen Sie den Befehl ohne Argument aus, um die Schlüssel aufzulisten, die Sie setzen können. Im Web öffnet `/config` stattdessen **Settings > Code** oder **Settings > Claude Code**.382 * `/config`: Übergeben Sie in der mobilen App `key=value`, um eine Einstellung zu setzen, oder führen Sie den Befehl ohne Argument aus, um die Schlüssel aufzulisten, die Sie setzen können. Im Web öffnet `/config` stattdessen **Settings > Code** oder **Settings > Claude Code**.

routines.md +1 −1

Details

431 431 

432Jede geplante Aufgabe verwendet eine [Cloud-Umgebung](https://code.claude.com/docs/de/cloud-environments.md), die Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte steuert. Die Aufgabe übernimmt bei jeder Ausführung die Netzwerkrichtlinie der Umgebung.432Jede geplante Aufgabe verwendet eine [Cloud-Umgebung](https://code.claude.com/docs/de/cloud-environments.md), die Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte steuert. Die Aufgabe übernimmt bei jeder Ausführung die Netzwerkrichtlinie der Umgebung.

433 433 

434Die **Standard**-Umgebung verwendet **Eingeschränkten** Zugriff mit aktivierter Option **Paketmanager zulassen**, sodass ihre Ausführungen die [Standard-Allowlist](https://code.claude.com/docs/de/cloud-environments.md#default-allowed-domains) erreichen. Eine Anfrage an einen blockierten Host schlägt mit `403` und `x-deny-reason: host_not_allowed` fehl. Der Datenverkehr von MCP-Konnektoren wird über die Server von Anthropic geleitet, daher funktionieren die Konnektoren, die Sie der Aufgabe hinzufügen, ohne dass Sie ihre Hosts zu **Zulässige Domains** hinzufügen müssen. Entfernen Sie alle Konnektoren, die Sie nicht benötigen, unter [Konnektoren](#connectors).434Die **Standard**-Umgebung verwendet **Eingeschränkten** Zugriff mit aktivierter Option **Paketmanager zulassen**, sodass ihre Ausführungen die [Standard-Allowlist](https://code.claude.com/docs/de/cloud-environments.md#default-allowed-domains) erreichen. Eine Anfrage an einen blockierten Host schlägt mit [einem Fehler wie `403` oder `ENOTFOUND`](https://code.claude.com/docs/de/errors#host-not-allowed-in-a-cloud-session) fehl. Der Datenverkehr von MCP-Konnektoren wird über die Server von Anthropic geleitet, daher funktionieren die Konnektoren, die Sie der Aufgabe hinzufügen, ohne dass Sie ihre Hosts zu **Zulässige Domains** hinzufügen müssen. Entfernen Sie alle Konnektoren, die Sie nicht benötigen, unter [Konnektoren](#connectors).

435 435 

436Um zusätzliche Domains in einer Ihrer eigenen Umgebungen zuzulassen, führen Sie diese Schritte aus. Eine [organisationsweit geteilte Umgebung](https://code.claude.com/docs/de/cloud-environments.md#organization-shared-environments) wird hier schreibgeschützt geöffnet, daher ändert ein Owner ihren Netzwerkzugriff stattdessen auf der Seite **Cloud-Umgebungen** in den [Admin-Einstellungen](https://claude.ai/admin-settings).436Um zusätzliche Domains in einer Ihrer eigenen Umgebungen zuzulassen, führen Sie diese Schritte aus. Eine [organisationsweit geteilte Umgebung](https://code.claude.com/docs/de/cloud-environments.md#organization-shared-environments) wird hier schreibgeschützt geöffnet, daher ändert ein Owner ihren Netzwerkzugriff stattdessen auf der Seite **Cloud-Umgebungen** in den [Admin-Einstellungen](https://claude.ai/admin-settings).

437 437 

sandboxing.md +5 −3

Details

276 276 

277Diese Pfade werden auf Betriebssystemebene durchgesetzt, sodass alle in der Sandbox ausgeführten Befehle einschließlich ihrer Kindprozesse sie beachten. Dies ist der empfohlene Ansatz, wenn ein Tool Schreibzugriff auf einen bestimmten Ort benötigt, anstatt das Tool mit `excludedCommands` vollständig von der Sandbox auszunehmen.277Diese Pfade werden auf Betriebssystemebene durchgesetzt, sodass alle in der Sandbox ausgeführten Befehle einschließlich ihrer Kindprozesse sie beachten. Dies ist der empfohlene Ansatz, wenn ein Tool Schreibzugriff auf einen bestimmten Ort benötigt, anstatt das Tool mit `excludedCommands` vollständig von der Sandbox auszunehmen.

278 278 

279Unter Linux und WSL2 hat ein Eintrag für einen Pfad, der noch nicht existiert, keine Wirkung. Legen Sie den Pfad daher zuerst an.

280 

279Wenn Sie dasselbe Dateisystem-Array in mehreren [Einstellungs-Geltungsbereichen](https://code.claude.com/docs/de/settings.md#settings-precedence) definieren, führt Claude Code diese zusammen und kombiniert die Pfade, anstatt das Array eines Geltungsbereichs durch das eines anderen zu ersetzen. Claude Code lässt einen Eintrag beim Zusammenführen aus, wenn eine Sperre unter [Entwickler daran hindern, die Richtlinie zu erweitern](#keep-developers-from-widening-the-policy) ihn abdeckt.281Wenn Sie dasselbe Dateisystem-Array in mehreren [Einstellungs-Geltungsbereichen](https://code.claude.com/docs/de/settings.md#settings-precedence) definieren, führt Claude Code diese zusammen und kombiniert die Pfade, anstatt das Array eines Geltungsbereichs durch das eines anderen zu ersetzen. Claude Code lässt einen Eintrag beim Zusammenführen aus, wenn eine Sperre unter [Entwickler daran hindern, die Richtlinie zu erweitern](#keep-developers-from-widening-the-policy) ihn abdeckt.

280 282 

281Wenn Sie eine Quelle mit [`--setting-sources`](https://code.claude.com/docs/de/cli-reference) in der CLI oder mit [`settingSources`](https://code.claude.com/docs/de/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) im Agent SDK ausschließen, ignoriert Claude Code beim Erstellen der Sandbox-Konfiguration deren `sandbox.filesystem`-Einträge, deren `Edit`-Berechtigungsregeln und deren `Read`-deny-Regeln. Erfordert Claude Code v2.1.246 oder höher.283Wenn Sie eine Quelle mit [`--setting-sources`](https://code.claude.com/docs/de/cli-reference) in der CLI oder mit [`settingSources`](https://code.claude.com/docs/de/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) im Agent SDK ausschließen, ignoriert Claude Code beim Erstellen der Sandbox-Konfiguration deren `sandbox.filesystem`-Einträge, deren `Edit`-Berechtigungsregeln und deren `Read`-deny-Regeln. Erfordert Claude Code v2.1.246 oder höher.


376 378 

377Da das Ausschalten der Dateisystem-Isolation erweitert, was Befehle in der Sandbox tun können, berücksichtigt Claude Code `filesystem.disabled` nur aus diesen Einstellungsquellen:379Da das Ausschalten der Dateisystem-Isolation erweitert, was Befehle in der Sandbox tun können, berücksichtigt Claude Code `filesystem.disabled` nur aus diesen Einstellungsquellen:

378 380 

379* Benutzereinstellungen, verwaltete Einstellungen und das CLI-Flag `--settings` können sie setzen. Projekteinstellungen in `.claude/settings.json` und `.claude/settings.local.json` können das nicht, sodass ein ausgechecktes Projekt die Dateisystem-Isolation nicht ausschalten kann.381* Benutzereinstellungen, verwaltete Einstellungen und das CLI-Flag `--settings` können sie setzen. Projekteinstellungen in `.claude/settings.json` und `.claude/settings.local.json` können sie nicht setzen.

380* Wenn verwaltete Einstellungen `sandbox.filesystem` überhaupt konfigurieren oder einen `sandbox.credentials.files`-Eintrag mit `"mode": "deny"` enthalten, können nur verwaltete Einstellungen den Schlüssel setzen. So können Entwickler die Dateisystem-Isolation in einer solchen Bereitstellung nicht ausschalten; um sie für alle auszuschalten, setzen Sie `"disabled": true` in den verwalteten Einstellungen.382* Wenn verwaltete Einstellungen `sandbox.filesystem` überhaupt konfigurieren oder einen `sandbox.credentials.files`-Eintrag mit `"mode": "deny"` enthalten, können nur verwaltete Einstellungen den Schlüssel setzen. Um die Dateisystem-Isolation für alle auszuschalten, setzen Sie `"disabled": true` in den verwalteten Einstellungen.

381* Wenn [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/de/env-vars) gesetzt ist, ignoriert Claude Code `filesystem.disabled` aus jeder Quelle, einschließlich der verwalteten Einstellungen, und lässt die Dateisystem-Isolation eingeschaltet.383* Wenn [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/de/env-vars) gesetzt ist, ignoriert Claude Code `filesystem.disabled` aus jeder Quelle, einschließlich der verwalteten Einstellungen.

382 384 

383Ein [gültiger](https://code.claude.com/docs/de/settings-reference.md#invalid-credential-entries-in-managed-settings) `mask`-Eintrag legt den Schlüssel nicht fest, auch dann nicht, wenn Claude Code beim Start für ihn [auf `deny` zurückfällt](#mask-credential-files). Tragen Sie einen Pfad, der nicht maskiert werden kann, etwa ein Verzeichnis mit Anmeldedaten, als expliziten `deny`-Eintrag in den verwalteten Einstellungen ein, der den Schlüssel festlegt.385Ein [gültiger](https://code.claude.com/docs/de/settings-reference.md#invalid-credential-entries-in-managed-settings) `mask`-Eintrag legt den Schlüssel nicht fest, auch dann nicht, wenn Claude Code beim Start für ihn [auf `deny` zurückfällt](#mask-credential-files). Tragen Sie einen Pfad, der nicht maskiert werden kann, etwa ein Verzeichnis mit Anmeldedaten, als expliziten `deny`-Eintrag in den verwalteten Einstellungen ein, der den Schlüssel festlegt.

384 386 

Details

117 117 

118* **Listener**: Der Listener ist ein Forward-Proxy auf `127.0.0.1`. Der Runner startet den Listener vor der Registrierung bei der Kontrollebene und beendet sich beim Start, wenn der Listener nicht starten kann.118* **Listener**: Der Listener ist ein Forward-Proxy auf `127.0.0.1`. Der Runner startet den Listener vor der Registrierung bei der Kontrollebene und beendet sich beim Start, wenn der Listener nicht starten kann.

119* **Proxy-Variablen**: Der Runner schreibt whichever von `HTTPS_PROXY` und `HTTP_PROXY` um, die Sie setzen, damit es auf den Listener zeigt. Dieser umgeschriebene Wert erreicht den Runner selbst, seine Lebenszyklus-Hooks und jede Sitzung, die er ausführt.119* **Proxy-Variablen**: Der Runner schreibt whichever von `HTTPS_PROXY` und `HTTP_PROXY` um, die Sie setzen, damit es auf den Listener zeigt. Dieser umgeschriebene Wert erreicht den Runner selbst, seine Lebenszyklus-Hooks und jede Sitzung, die er ausführt.

120* **Token-Rotation**: Ein rotiertes Token wird ohne Neustart wirksam. Für jede Verbindung, die der Listener zu Ihrem Proxy öffnet, führt der Runner Ihren Befehl aus oder liest Ihre Datei erneut und fügt das Ergebnis als Header hinzu.120* **Token-Rotation**: Wenn Sie das Token rotieren, verwenden neue Verbindungen das neue Token, ohne dass der Runner neu gestartet werden muss. Für jede Verbindung, die der Listener zu Ihrem Proxy öffnet, führt der Runner Ihren Befehl aus oder liest Ihre Datei erneut und fügt das Ergebnis als Header hinzu. Eine bereits geöffnete Verbindung bleibt mit dem alten Token nutzbar, bis Ihr Proxy sie schließt oder der Runner beendet wird.

121* **Sitzungs-Umgebung**: Eine Sitzung erreicht Ihren Proxy nur durch den Listener. In der Umgebung jeder Sitzung entfernt der Runner `ALL_PROXY`, entfernt jede Schreibweise von `HTTPS_PROXY` oder `HTTP_PROXY`, die Sie nicht gesetzt haben, und pinnt `NO_PROXY` auf den Wert des Runners.121* **Sitzungs-Umgebung**: Eine Sitzung erreicht Ihren Proxy nur durch den Listener. In der Umgebung jeder Sitzung entfernt der Runner `ALL_PROXY`, entfernt jede Schreibweise von `HTTPS_PROXY` oder `HTTP_PROXY`, die Sie nicht gesetzt haben, und pinnt `NO_PROXY` auf den Wert des Runners.

122* **Logs**: Der Runner protokolliert niemals den Header-Wert.122* **Logs**: Der Runner protokolliert niemals den Header-Wert.

123 123 


840 840 

841### Einige Sitzungen zählen nicht als untätig841### Einige Sitzungen zählen nicht als untätig

842 842 

843Eine Sitzung, die eine Hintergrundaufgabe hält, die weiterläuft, zählt nicht als untätig, daher wird `--release-idle-session-min` den Slot dieser Sitzung nicht freigeben. Eine Sitzung, die auf eine Genehmigung wartet, die von innerhalb eines laufenden Tool-Aufrufs angefordert wird, zählt auch nicht als untätig. Setzen Sie `--kill-session-after-min` daneben als harten Backstop.843Solange eine Sitzung nicht als untätig zählt, behält sie ihren Slot über das Limit von `--release-idle-session-min` hinaus; setzen Sie daher zusätzlich `--kill-session-after-min`.

844 

845Eine Sitzung zählt als untätig, nachdem ihr Turn beendet ist oder während ihr Turn auf ihren Benutzer wartet, jedoch nicht in Fällen wie diesen:

846 

847* Ihr Turn ist beendet und sie wartet nicht auf ihren Benutzer, aber eine Hintergrundaufgabe läuft weiter

848* Ihr Turn wartet auf eine Genehmigung, die ein Nicht-MCP-Tool anfordert, während dieses Tool läuft

849* Ihr Turn wartet auf eine [`elicitation/create`-Anfrage](https://code.claude.com/docs/de/mcp#respond-to-mcp-elicitation-requests) eines MCP-Servers

844 850 

845`--kill-session-after-min` ist ein Backstop für Runaway-Sitzungen. Auf einem Runner mit v2.1.260 oder später wird eine Sitzung, die das Limit erreicht, nicht sofort beendet. Der Runner gibt ihr ein Kulanzfenster, standardmäßig 15 Minuten, das Sie mit [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](https://code.claude.com/docs/de/self-hosted-environments-reference#environment-variable-only-settings) ändern können:851`--kill-session-after-min` ist ein Backstop für Runaway-Sitzungen. Auf einem Runner mit v2.1.260 oder später wird eine Sitzung, die das Limit erreicht, nicht sofort beendet. Der Runner gibt ihr ein Kulanzfenster, standardmäßig 15 Minuten, das Sie mit [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](https://code.claude.com/docs/de/self-hosted-environments-reference#environment-variable-only-settings) ändern können:

846 852 

847* Wenn die Sitzung auf ihren Benutzer wartet, gibt der Runner sie frei. Wenn ihr Zug beendet ist und sie hält nur Hintergrund-Tasks, wartet der Runner bis zu 60 Sekunden, damit diese Tasks fertig werden, und gibt sie dann frei. Die Sitzung wird fortgesetzt, wenn ihr Benutzer ihre nächste Nachricht sendet.853* Wenn die Sitzung auf ihren Benutzer wartet, gibt der Runner sie frei. Wenn ihr Zug beendet ist und sie hält nur Hintergrund-Tasks, wartet der Runner bis zu 60 Sekunden, damit diese Tasks fertig werden, und gibt sie dann frei. Die Sitzung wird fortgesetzt, wenn ihr Benutzer ihre nächste Nachricht sendet.

848* Wenn ein Zug noch läuft, wartet der Runner darauf, dass der Zug fertig wird, oder dass die Sitzung das nächste Mal auf ihren Benutzer wartet, und gibt sie dann frei.854* Wenn ein Zug noch läuft, wartet der Runner darauf, dass der Zug fertig wird, oder dass die Sitzung das nächste Mal auf ihren Benutzer wartet, und gibt sie dann frei.

849* Wenn die Sitzung noch auf dem Runner ist, wenn das Kulanzfenster endet, beendet der Runner sie, und jede laufende Zug-Arbeit geht verloren. Ein Zug, der auf eine Genehmigung wartet, die von innerhalb eines laufenden Tool-Aufrufs angefordert wird, ist eine Möglichkeit, wie eine Sitzung das Fenster überlebt.855* Wenn die Sitzung noch auf dem Runner ist, wenn das Kulanzfenster endet, beendet der Runner sie, und die Arbeit eines laufenden Turns geht verloren. Eine Sitzung kann beispielsweise bis dahin auf dem Runner bleiben, wenn ihr Turn auf eine Genehmigung wartet, die ein Nicht-MCP-Tool anfordert, während dieses Tool läuft. Eine Sitzung kann auch dort bleiben, während ihr Turn auf eine `elicitation/create`-Anfrage eines MCP-Servers wartet.

850 856 

851Eine freigegebene Sitzung wird von einem frischen Klon fortgesetzt, daher ist Arbeit, die sie nicht gepusht hat, in jedem Fall weg; siehe [Fortgesetzte Sitzungen verlieren nicht gepushte Arbeit](#resumed-sessions-lose-unpushed-work). Vor v2.1.260 beendete der Runner jede Sitzung beim Limit, nachdem er höchstens das Kulanzfenster gewartet hatte, damit ein laufender Turn fertig wird.857Eine freigegebene Sitzung wird von einem frischen Klon fortgesetzt, daher ist Arbeit, die sie nicht gepusht hat, in jedem Fall weg; siehe [Fortgesetzte Sitzungen verlieren nicht gepushte Arbeit](#resumed-sessions-lose-unpushed-work). Vor v2.1.260 beendete der Runner jede Sitzung beim Limit, nachdem er höchstens das Kulanzfenster gewartet hatte, damit ein laufender Turn fertig wird.

852 858 

Details

252 252 

253Alle anderen Schlüssel im zwischengespeicherten `env`-Block gelten beim Start. Sobald der Server die Payload bestätigt und Sie sie genehmigt haben, falls sie eine [Sicherheitsgenehmigung](#security-approval-dialogs) benötigt, gelten die zurückgehaltenen Variablen für den Rest der Sitzung.253Alle anderen Schlüssel im zwischengespeicherten `env`-Block gelten beim Start. Sobald der Server die Payload bestätigt und Sie sie genehmigt haben, falls sie eine [Sicherheitsgenehmigung](#security-approval-dialogs) benötigt, gelten die zurückgehaltenen Variablen für den Rest der Sitzung.

254 254 

255Wenn Ihre Organisation einen Proxy benötigt, um `api.anthropic.com` zu erreichen, betrifft das Zurückhalten nur den vom Server gelieferten `env`-Block selbst: Ein Proxy, der in einem [endpunktgesteuerten](https://code.claude.com/docs/de/managed-settings.md#delivery-mechanisms) `env`-Block über MDM oder `managed-settings.json`, in der Shell-Umgebung oder in den [Benutzereinstellungen](https://code.claude.com/docs/de/settings.md#where-settings-live) gesetzt ist, erreicht den Einstellungsabruf. Die endpunktgesteuerte Quelle erfordert Claude Code v2.1.223 oder höher: Der zwischengespeicherte servergesteuerte Proxy-Wert wird zurückgehalten, bis der Abruf ihn bestätigt, sodass der endpunktgesteuerte Wert pro Schlüssel ergänzt wird und den Abruf selbst erreicht. Verwenden Sie vor v2.1.223 die Shell-Umgebung oder die Benutzereinstellungen, damit der Proxy zusammen mit einer zwischengespeicherten Server-Payload gilt. Beim ersten Start gibt es keinen Cache, daher ist für den ersten Abruf weiterhin eine endpunktgesteuerte Quelle, die Shell-Umgebung oder die Benutzereinstellungen erforderlich.255Wenn der Abruf einen Proxy benötigt, setzen Sie `HTTPS_PROXY` an einer der folgenden Stellen:

256 

257* In einem [endpunktgesteuerten](https://code.claude.com/docs/de/managed-settings.md#delivery-mechanisms) `env`-Block über MDM oder `managed-settings.json`. Diese Quelle erfordert Claude Code v2.1.223 oder höher. Verwenden Sie vor v2.1.223 die Shell-Umgebung oder die Benutzereinstellungen, damit der Proxy [zusammen mit einer zwischengespeicherten Server-Payload gilt](#per-key-exceptions-across-managed-sources).

258* In der Shell-Umgebung

259* In den [Benutzereinstellungen](https://code.claude.com/docs/de/settings.md#where-settings-live)

260 

261Setzen Sie `HTTPS_PROXY` auch dann, wenn `ALL_PROXY` den Proxy bereits angibt.

256 262 

257Claude Code wendet die meisten Aktualisierungen der Einstellungen ohne Neustart auf laufende Sitzungen an. Einige Aktualisierungen gelten erst beim nächsten Start, darunter die Konfiguration des OpenTelemetry-Exporters, der Schlüssel `model` und das Entfernen einer Variablen aus dem `env`-Block.263Claude Code wendet die meisten Aktualisierungen der Einstellungen ohne Neustart auf laufende Sitzungen an. Einige Aktualisierungen gelten erst beim nächsten Start, darunter die Konfiguration des OpenTelemetry-Exporters, der Schlüssel `model` und das Entfernen einer Variablen aus dem `env`-Block.

258 264 

settings.md +1 −1

Details

177 177 

178Claude Code überwacht Ihre Einstellungsdateien und lädt sie neu, wenn sie sich ändern, sodass es die meisten Änderungen auf die laufende Sitzung ohne Neustart anwendet, einschließlich Änderungen an `permissions`, `hooks` und Anmeldedaten-Helfern wie `apiKeyHelper`. Claude Code lädt auch eine Einstellungsdatei, die Sie mid-Sitzung erstellen, wenn ihr Ordner existierte, als die Sitzung begann. Für den `.claude/` Ordner des Projekts lädt es die Datei auch, wenn Sie den Ordner in der gleichen Sitzung erstellen.178Claude Code überwacht Ihre Einstellungsdateien und lädt sie neu, wenn sie sich ändern, sodass es die meisten Änderungen auf die laufende Sitzung ohne Neustart anwendet, einschließlich Änderungen an `permissions`, `hooks` und Anmeldedaten-Helfern wie `apiKeyHelper`. Claude Code lädt auch eine Einstellungsdatei, die Sie mid-Sitzung erstellen, wenn ihr Ordner existierte, als die Sitzung begann. Für den `.claude/` Ordner des Projekts lädt es die Datei auch, wenn Sie den Ordner in der gleichen Sitzung erstellen.

179 179 

180Das Neuladen behandelt Benutzer-, Projekt-, lokale und verwaltete Einstellungen, und Claude Code führt den [`ConfigChange` Hook](https://code.claude.com/docs/de/hooks#configchange) für jede erkannte Einstellungsdatei-Änderung aus, nicht für verwaltete Einstellungen, die von MDM oder der claude.ai-Konsole ankommen. Verwaltete Einstellungen, die von MDM oder der claude.ai-Konsole ankommen, erreichen eine laufende Sitzung nach einem Zeitplan statt sofort; die [Bereitstellungstabelle](https://code.claude.com/docs/de/managed-settings.md#choose-a-delivery-mechanism) gibt ihn pro Quelle an.180Das Neuladen umfasst Benutzer-, Projekt-, lokale und verwaltete Einstellungen. Claude Code führt den [`ConfigChange` Hook](https://code.claude.com/docs/de/hooks#configchange) bei direkten Änderungen an Einstellungsdateien aus, nicht für verwaltete Einstellungen, die von MDM oder der claude.ai-Konsole ankommen. Verwaltete Einstellungen, die über MDM oder von der claude.ai-Konsole ankommen, erreichen eine laufende Sitzung nach einem Zeitplan statt beim Speichern; die [Bereitstellungstabelle](https://code.claude.com/docs/de/managed-settings.md#choose-a-delivery-mechanism) gibt ihn pro Quelle an.

181 181 

182Claude Code liest einige Schlüssel nur einmal, beim Sitzungsstart, sodass eine Änderung an einem von ihnen die laufende Sitzung nicht erreicht. Admin-seitige Schlüssel, die auch auf einen Neustart warten, wie `requiredMinimumVersion`, sind unter [wo und wann eine Richtlinie angewendet wird](https://code.claude.com/docs/de/managed-settings.md#where-and-when-a-policy-applies) aufgelistet. Die, die Sie am ehesten mid-Sitzung bearbeiten:182Claude Code liest einige Schlüssel nur einmal, beim Sitzungsstart, sodass eine Änderung an einem von ihnen die laufende Sitzung nicht erreicht. Admin-seitige Schlüssel, die auch auf einen Neustart warten, wie `requiredMinimumVersion`, sind unter [wo und wann eine Richtlinie angewendet wird](https://code.claude.com/docs/de/managed-settings.md#where-and-when-a-policy-applies) aufgelistet. Die, die Sie am ehesten mid-Sitzung bearbeiten:

183 183 

Details

235| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Blockiert [MCP-Server](https://code.claude.com/docs/de/mcp.md) aus Benutzer- und Projektquellen | Plugins und Skills | Verwaltet |235| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Blockiert [MCP-Server](https://code.claude.com/docs/de/mcp.md) aus Benutzer- und Projektquellen | Plugins und Skills | Verwaltet |

236| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Blockiert [Skills](https://code.claude.com/docs/de/skills.md) aus Benutzer- und Projektquellen | Plugins und Skills | Verwaltet |236| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Blockiert [Skills](https://code.claude.com/docs/de/skills.md) aus Benutzer- und Projektquellen | Plugins und Skills | Verwaltet |

237| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Legt die [Lebensdauer des Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md#cache-lifetime) für Subagenten und andere Anfragen außerhalb der Hauptkonversation fest | Modell und Antworten | Jede Datei |237| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Legt die [Lebensdauer des Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md#cache-lifetime) für Subagenten und andere Anfragen außerhalb der Hauptkonversation fest | Modell und Antworten | Jede Datei |

238| [`subagentStatusLine`](#subagentstatusline) | Schreibt Zeilen in der Aufgabenanzeige von [Subagenten](https://code.claude.com/docs/de/sub-agents.md) mit Ihrem eigenen Befehl um | Oberfläche und Terminal | Jede Datei |

239| [`switchModelsOnFlag`](#switchmodelsonflag) | Wechselt automatisch das Modell oder pausiert, wenn ein [Sicherheitsklassifikator](https://code.claude.com/docs/de/model-config.md#ask-before-switching) eine Anfrage kennzeichnet | Modell und Antworten | Jede Datei |238| [`switchModelsOnFlag`](#switchmodelsonflag) | Wechselt automatisch das Modell oder pausiert, wenn ein [Sicherheitsklassifikator](https://code.claude.com/docs/de/model-config.md#ask-before-switching) eine Anfrage kennzeichnet | Modell und Antworten | Jede Datei |

240| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Beendet das Laden der [in Ihrem claude.ai-Konto aktivierten Plugins](https://code.claude.com/docs/de/plugins/loading.md#synced-plugins) und das Herunterladen neuer Plugins | Plugins und Skills | Benutzer, lokal oder verwaltet |239| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Beendet das Laden der [in Ihrem claude.ai-Konto aktivierten Plugins](https://code.claude.com/docs/de/plugins/loading.md#synced-plugins) und das Herunterladen neuer Plugins | Plugins und Skills | Benutzer, lokal oder verwaltet |

241| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Beendet das Laden der [in Ihrem claude.ai-Konto aktivierten Skills](https://code.claude.com/docs/de/skills.md#how-synced-skills-behave) und das Herunterladen neuer Skills | Plugins und Skills | Benutzer, lokal oder verwaltet |240| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Beendet das Laden der [in Ihrem claude.ai-Konto aktivierten Skills](https://code.claude.com/docs/de/skills.md#how-synced-skills-behave) und das Herunterladen neuer Skills | Plugins und Skills | Benutzer, lokal oder verwaltet |


885}884}

886```885```

887 886 

888Siehe [Alle Shell-Befehle durch den Klassifikator leiten](https://code.claude.com/docs/de/auto-mode-config.md#route-all-shell-commands-through-the-classifier).887In einer Code-Mode-Sitzung funktioniert dieser Schlüssel anders. Siehe [Alle Shell-Befehle durch den Klassifikator leiten](https://code.claude.com/docs/de/auto-mode-config.md#route-all-shell-commands-through-the-classifier).

889 888 

890### `disableAutoMode`889### `disableAutoMode`

891 890 


1533}1532}

1534```1533```

1535 1534 

1535Unter Linux und WSL2 hat ein Eintrag für einen Pfad, der noch nicht existiert, keine Wirkung; legen Sie den Pfad also zuerst an.

1536 

1536Claude Code führt `allowWrite`-Einträge und die Pfade aus Ihren `Edit(...)`-allow-Berechtigungsregeln über die Einstellungsbereiche zusammen, die die Sitzung lädt, und lässt dabei die aus Repository-Einstellungen weg, solange [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) aktiviert ist. [Repository-Sperren](https://code.claude.com/docs/de/sandboxing.md#repository-settings-under-an-admin-required-sandbox) können die Einträge eines Repositorys ebenfalls weglassen. Ein `allowWrite`-Eintrag kann einen [geschützten Pfad](https://code.claude.com/docs/de/sandboxing.md#protected-paths) nicht freigeben.1537Claude Code führt `allowWrite`-Einträge und die Pfade aus Ihren `Edit(...)`-allow-Berechtigungsregeln über die Einstellungsbereiche zusammen, die die Sitzung lädt, und lässt dabei die aus Repository-Einstellungen weg, solange [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) aktiviert ist. [Repository-Sperren](https://code.claude.com/docs/de/sandboxing.md#repository-settings-under-an-admin-required-sandbox) können die Einträge eines Repositorys ebenfalls weglassen. Ein `allowWrite`-Eintrag kann einen [geschützten Pfad](https://code.claude.com/docs/de/sandboxing.md#protected-paths) nicht freigeben.

1537 1538 

1538### `sandbox.filesystem.denyWrite`1539### `sandbox.filesystem.denyWrite`


2453 2454 

2454#### Wie `env`-Werte mit Ihrer Shell interagieren2455#### Wie `env`-Werte mit Ihrer Shell interagieren

2455 2456 

2456* Ein Wert hier überschreibt dieselbe Variable, die in Ihrer Shell exportiert wird, und wenn mehr als eine Einstellungsdatei eine Variable setzt, gilt die mit dem [höchsten Vorrang](https://code.claude.com/docs/de/settings.md#settings-precedence). [Variablen, die Claude Code in `env` ignoriert](#variables-claude-code-ignores-in-env) listet die Ausnahmen für Projekt- und lokale Einstellungen auf.2457* Ein Wert hier überschreibt dieselbe Variable, die in Ihrer Shell exportiert wird, und wenn mehr als eine Einstellungsdatei eine Variable setzt, gilt die mit dem [höchsten Vorrang](https://code.claude.com/docs/de/settings.md#settings-precedence). [Variablen, die Claude Code in `env` ignoriert](#variables-claude-code-ignores-in-env) listet die Ausnahmen auf.

2457* Wenn die Claude Desktop-App oder ein Runner einer [selbst gehosteten Umgebung](https://code.claude.com/docs/de/self-hosted-environments) die Sitzung startet, hat stattdessen die von ihr bzw. ihm erstellte Start-Umgebung Vorrang: Claude Code ignoriert einen `env`-Wert aus jeder Einstellungsdatei für eine Variable, die die Start-Umgebung bereits setzt. Das [Debug-Log](https://code.claude.com/docs/de/debug-your-config.md) nennt jede ignorierte Variable.2458* Wenn die Claude Desktop-App oder ein Runner einer [selbst gehosteten Umgebung](https://code.claude.com/docs/de/self-hosted-environments) die Sitzung startet, hat stattdessen die von ihr bzw. ihm erstellte Start-Umgebung Vorrang: Claude Code ignoriert einen `env`-Wert aus jeder Einstellungsdatei für eine Variable, die die Start-Umgebung bereits setzt. Das [Debug-Log](https://code.claude.com/docs/de/debug-your-config.md) nennt jede ignorierte Variable.

2458* Um einen Shell-Export aufzuheben, setzen Sie die Variable auf `""`. Claude Code behandelt einen leeren Wert bei der Anbieterauswahl als nicht gesetzt, und Unterprozesse erben den leeren Wert.2459* Um einen Shell-Export aufzuheben, setzen Sie die Variable auf `""`. Claude Code behandelt einen leeren Wert bei der Anbieterauswahl als nicht gesetzt, und Unterprozesse erben den leeren Wert.

2459* `NO_COLOR` und `FORCE_COLOR`, die hier gesetzt sind, erreichen nur Unterprozesse. Um die Farben der Claude Code-Oberfläche selbst zu ändern, setzen Sie sie in Ihrer Shell, bevor Sie `claude` starten.2460* `NO_COLOR` und `FORCE_COLOR`, die hier gesetzt sind, erreichen nur Unterprozesse. Um die Farben der Claude Code-Oberfläche selbst zu ändern, setzen Sie sie in Ihrer Shell, bevor Sie `claude` starten.


2494 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/de/env-vars#variables), das verhindert, dass Claude Code `@`-Erwähnungen von Dateien und Verzeichnissen auflöst.2495 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/de/env-vars#variables), das verhindert, dass Claude Code `@`-Erwähnungen von Dateien und Verzeichnissen auflöst.

2495 2496 

2496 Vor v2.1.251 konnten Projekt- und lokale Einstellungen auch die Variablen in dieser Liste setzen, die festlegen, wo Claude Code seine Dateien schreibt, oder die Sitzungsinhalte exportieren, außer `HOME` und `XDG_CONFIG_HOME`. Vor v2.1.290 konnten sie auch die Variablen für die Dialog-Timer und `CLAUDE_CODE_DISABLE_ATTACHMENTS` setzen.2497 Vor v2.1.251 konnten Projekt- und lokale Einstellungen auch die Variablen in dieser Liste setzen, die festlegen, wo Claude Code seine Dateien schreibt, oder die Sitzungsinhalte exportieren, außer `HOME` und `XDG_CONFIG_HOME`. Vor v2.1.290 konnten sie auch die Variablen für die Dialog-Timer und `CLAUDE_CODE_DISABLE_ATTACHMENTS` setzen.

2498* Sie können [Code Mode](https://code.claude.com/docs/de/code-mode.md) mit [`CLAUDE_CODE_EXPERIMENTAL_CODE_MODE`](https://code.claude.com/docs/de/env-vars#variables) über Ihre Shell, Ihre Benutzereinstellungen oder eine `--settings`-Datei aktivieren, nicht jedoch über verwaltete, Projekt- oder lokale Einstellungen. Mit einer `0` in einer der ersten drei Quellen oder in verwalteten Einstellungen bleibt Code Mode deaktiviert, unabhängig davon, was Sie anderswo festlegen. Wenn verwaltete Einstellungen eine `1` enthalten, setzen Sie Ihre eigene `1` in den Benutzereinstellungen, da eine `1` in Ihrer Shell ignoriert wird

2497* Identitätsvariablen, die den Hosting-Umgebungen von Claude Code gehören, wie `CLAUDE_CODE_REMOTE` und `CLAUDE_CODE_ACCOUNT_UUID`, werden aus jeder Datei ignoriert.2499* Identitätsvariablen, die den Hosting-Umgebungen von Claude Code gehören, wie `CLAUDE_CODE_REMOTE` und `CLAUDE_CODE_ACCOUNT_UUID`, werden aus jeder Datei ignoriert.

2498* [`CLAUDE_CODE_MESSAGING_SOCKET` und `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/de/env-vars#variables), die Claude Code selbst exportiert, werden aus jeder Datei ignoriert. Das Ignorieren der Socket-Variable erfordert Claude Code v2.1.224 oder später, und das Ignorieren des Tokens erfordert v2.1.228 oder später.2500* [`CLAUDE_CODE_MESSAGING_SOCKET` und `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/de/env-vars#variables), die Claude Code selbst exportiert, werden aus jeder Datei ignoriert. Das Ignorieren der Socket-Variable erfordert Claude Code v2.1.224 oder später, und das Ignorieren des Tokens erfordert v2.1.228 oder später.

2499* [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/de/sessions#name-the-project-directory-yourself), das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert; erfordert v2.1.234 oder später.2501* [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/de/sessions#name-the-project-directory-yourself), das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert; erfordert v2.1.234 oder später.


3173 3175 

3174Das Beispiel erfordert ein installiertes [`jq`](https://jqlang.org/) und läuft in einer Shell. Entsprechungen für PowerShell und Git Bash finden Sie unter [Windows-Konfiguration](https://code.claude.com/docs/de/statusline.md#windows-configuration); die vollständige Einrichtung finden Sie unter [Eine Statuszeile manuell konfigurieren](https://code.claude.com/docs/de/statusline.md#manually-configure-a-status-line).3176Das Beispiel erfordert ein installiertes [`jq`](https://jqlang.org/) und läuft in einer Shell. Entsprechungen für PowerShell und Git Bash finden Sie unter [Windows-Konfiguration](https://code.claude.com/docs/de/statusline.md#windows-configuration); die vollständige Einrichtung finden Sie unter [Eine Statuszeile manuell konfigurieren](https://code.claude.com/docs/de/statusline.md#manually-configure-a-status-line).

3175 3177 

3176### `subagentStatusLine`

3177 

3178Wenn Claude [Subagenten](https://code.claude.com/docs/de/sub-agents.md) ausführt, listet Claude Code sie in einer Aufgabenanzeige unterhalb des Prompts auf, eine Zeile pro Subagent mit `name · description · token count`. Mit diesem Schlüssel können Sie einen eigenen Befehl ausführen, um diese Zeilen umzuschreiben, zum Beispiel um die Kontextnutzung jedes Subagenten als Prozentsatz anzuzeigen. Bei jeder Aktualisierung sendet Claude Code die sichtbaren Zeilen als ein JSON-Objekt auf stdin, mit einem Array `tasks`, das für jeden Subagenten `id`, `name`, `status`, `model`, `tokenCount` und mehr enthält, und ersetzt die Zeile für jede `id`, die Sie als `{"id", "content"}`-Zeile zurückschreiben. Zeilen, die Sie nicht zurückschreiben, behalten die Standarddarstellung.

3179 

3180* **Geltungsbereich**: [`Any file`](#scopes). Wenn [`allowManagedHooksOnly`](#allowmanagedhooksonly) eingeschaltet ist oder [`disableAllHooks`](#disableallhooks) außerhalb verwalteter Einstellungen gesetzt ist, wird nur der Wert aus den verwalteten Einstellungen ausgeführt.

3181* **Typ**: Objekt mit `type` auf `"command"` gesetzt und einem String `command`

3182* **Standard**: nicht gesetzt, daher rendert Claude Code die Standardzeilen

3183 

3184```json settings.json theme={null}

3185{

3186 "subagentStatusLine": {

3187 "type": "command",

3188 "command": "jq -c '.tasks[] | {id, content: \"\\(.name): \\(.tokenCount) tokens\"}'"

3189 }

3190}

3191```

3192 

3193Siehe [Statuszeilen für Subagenten](https://code.claude.com/docs/de/statusline.md#subagent-status-lines).

3194 

3195### `syntaxHighlightingDisabled`3178### `syntaxHighlightingDisabled`

3196 3179 

3197Claude Code färbt Code in den Diffs, Codeblöcken und Dateivorschauen, die es im Terminal anzeigt, mit seinem integrierten Highlighter sprachabhängig ein. Setzen Sie diesen Schlüssel auf `true`, um sie stattdessen als einfachen Text anzuzeigen, zum Beispiel wenn die Farben nicht zu Ihrem Terminal-Theme passen oder einen Screenreader verlangsamen.3180Claude Code färbt Code in den Diffs, Codeblöcken und Dateivorschauen, die es im Terminal anzeigt, mit seinem integrierten Highlighter sprachabhängig ein. Setzen Sie diesen Schlüssel auf `true`, um sie stattdessen als einfachen Text anzuzeigen, zum Beispiel wenn die Farben nicht zu Ihrem Terminal-Theme passen oder einen Screenreader verlangsamen.


3648* **Alles andere wird blockiert**: Benutzer-, Projekt- und lokale Hooks, Hooks und Mods aus anderen installierten Plugins sowie Hooks, die im Agent-Frontmatter deklariert sind. [In Claude Code integrierte Mods](https://code.claude.com/docs/de/plugins/mods/overview.md#mods-built-into-claude-code) werden weiterhin ausgeführt. Um nur die Mods der Benutzer zu blockieren, setzen Sie stattdessen [`allowManagedModsOnly`](https://code.claude.com/docs/de/plugins/mods/admin#set-options-on-the-built-in-guard).3631* **Alles andere wird blockiert**: Benutzer-, Projekt- und lokale Hooks, Hooks und Mods aus anderen installierten Plugins sowie Hooks, die im Agent-Frontmatter deklariert sind. [In Claude Code integrierte Mods](https://code.claude.com/docs/de/plugins/mods/overview.md#mods-built-into-claude-code) werden weiterhin ausgeführt. Um nur die Mods der Benutzer zu blockieren, setzen Sie stattdessen [`allowManagedModsOnly`](https://code.claude.com/docs/de/plugins/mods/admin#set-options-on-the-built-in-guard).

3649* **Command-sourced Plugins sind deaktiviert**: Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](https://code.claude.com/docs/de/plugins/marketplace-reference#command-plugin-source), einschließlich Plugins, die in verwalteten `enabledPlugins` erzwungen werden, es sei denn, Sie setzen [`disableCommandPluginSources`](#disablecommandpluginsources) explizit auf `false`3632* **Command-sourced Plugins sind deaktiviert**: Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](https://code.claude.com/docs/de/plugins/marketplace-reference#command-plugin-source), einschließlich Plugins, die in verwalteten `enabledPlugins` erzwungen werden, es sei denn, Sie setzen [`disableCommandPluginSources`](#disablecommandpluginsources) explizit auf `false`

3650* **Marketplace `headersHelper`-Befehle werden blockiert**: Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](https://code.claude.com/docs/de/plugins/host-marketplace#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den die verwalteten Einstellungen selbst deklarieren. Erfordert Claude Code v2.1.238 oder später3633* **Marketplace `headersHelper`-Befehle werden blockiert**: Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](https://code.claude.com/docs/de/plugins/host-marketplace#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den die verwalteten Einstellungen selbst deklarieren. Erfordert Claude Code v2.1.238 oder später

3651* **Statuszeile und Dateivorschlag werden auf verwaltete Einstellungen beschränkt**: Claude Code liest [`statusLine`](https://code.claude.com/docs/de/statusline), [`fileSuggestion`](#filesuggestion) und [`subagentStatusLine`](https://code.claude.com/docs/de/statusline#subagent-status-lines) nur aus verwalteten Einstellungen, gemäß den [Statuszeilen- und Dateivorschlag-Gates](#status-line-and-file-suggestion-gates)3634* **Statuszeile und Dateivorschlag werden auf verwaltete Einstellungen beschränkt**: Claude Code liest [`statusLine`](https://code.claude.com/docs/de/statusline) und [`fileSuggestion`](#filesuggestion) nur aus verwalteten Einstellungen, gemäß den [Statuszeilen- und Dateivorschlag-Gates](#status-line-and-file-suggestion-gates)

3652 3635 

3653Der [`/goal`](https://code.claude.com/docs/de/goal)-Befehl kann nicht ausgeführt werden, während dieser Schlüssel gesetzt ist, da er von Hooks abhängt.3636Der [`/goal`](https://code.claude.com/docs/de/goal)-Befehl kann nicht ausgeführt werden, während dieser Schlüssel gesetzt ist, da er von Hooks abhängt.

3654 3637 


3687 3670 

3688#### Statuszeilen- und Dateivorschlag-Gates3671#### Statuszeilen- und Dateivorschlag-Gates

3689 3672 

3690Claude Code trifft zwei Entscheidungen für `statusLine`, `fileSuggestion` und `subagentStatusLine` in dieser Reihenfolge:3673Claude Code trifft zwei Entscheidungen für `statusLine` und `fileSuggestion` in dieser Reihenfolge:

3691 3674 

3692* **Vollständig ausgeschaltet**: wenn verwaltete Einstellungen `disableAllHooks` setzen, oder wenn der Ordner nicht vertraut wird gemäß der gleichen [Workspace-Vertrauensregel wie Hooks in Einstellungsdateien](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder)3675* **Vollständig ausgeschaltet**: wenn verwaltete Einstellungen `disableAllHooks` setzen, oder wenn der Ordner nicht vertraut wird gemäß der gleichen [Workspace-Vertrauensregel wie Hooks in Einstellungsdateien](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder)

3693* **Auf verwaltete Einstellungen beschränkt**: wenn [`allowManagedHooksOnly`](#allowmanagedhooksonly) gesetzt ist, wenn `disableAllHooks` außerhalb verwalteter Einstellungen nach Anwendung der [Einstellungspriorität](https://code.claude.com/docs/de/hooks.md#disable-or-remove-hooks) `true` ist, oder wenn Sie Claude Code mit `--safe-mode` starten3676* **Auf verwaltete Einstellungen beschränkt**: wenn [`allowManagedHooksOnly`](#allowmanagedhooksonly) gesetzt ist, wenn `disableAllHooks` außerhalb verwalteter Einstellungen nach Anwendung der [Einstellungspriorität](https://code.claude.com/docs/de/hooks.md#disable-or-remove-hooks) `true` ist, oder wenn Sie Claude Code mit `--safe-mode` starten


4659 4642 

4660* **Geltungsbereich**: [`Any file`](#scopes)4643* **Geltungsbereich**: [`Any file`](#scopes)

4661* **Typ**: String, der Name eines integrierten oder benutzerdefinierten Agenten4644* **Typ**: String, der Name eines integrierten oder benutzerdefinierten Agenten

4662* **Standard**: nicht gesetzt, daher wird der Haupt-Thread als Standard-Agent von Claude Code ausgeführt4645* **Standard**: nicht gesetzt

4663* **Sitzungsspezifische Überschreibungen**: `--agent` hat Vorrang vor diesem Schlüssel für eine Sitzung4646* **Sitzungsspezifische Überschreibungen**: `--agent` hat Vorrang vor diesem Schlüssel für eine Sitzung

4664 4647 

4665```json settings.json theme={null}4648```json settings.json theme={null}


4668}4651}

4669```4652```

4670 4653 

4671Die eigene `settings.json` eines Plugins kann diesen Schlüssel auch bereitstellen; siehe [Versenden Sie Standard-Einstellungen mit Ihrem Plugin](https://code.claude.com/docs/de/plugins/components.md#default-settings).

4672 

4673### `crossSessionInbound`4654### `crossSessionInbound`

4674 4655 

4675Wählen Sie, was diese Sitzung mit [Nachrichten tut, die von Ihren anderen Claude Code-Sitzungen ankommen](https://code.claude.com/docs/de/cross-session-messaging.md#control-inbound-messages). Wenn kein Wert zutrifft, entscheidet Claude Code pro Nachricht anhand der Berechtigungsmodus-Klassen der beiden Sitzungen.4656Wählen Sie, was diese Sitzung mit [Nachrichten tut, die von Ihren anderen Claude Code-Sitzungen ankommen](https://code.claude.com/docs/de/cross-session-messaging.md#control-inbound-messages). Wenn kein Wert zutrifft, entscheidet Claude Code pro Nachricht anhand der Berechtigungsmodus-Klassen der beiden Sitzungen.


5207 5188 

5208* **Geltungsbereich**: [`Managed`](#scopes). Eine Liste, die die eigenen Admin-Quellen des Rechners festlegen, also MDM-Richtlinien und verwaltete Einstellungsdateien, gilt weiterhin, wenn auch serververwaltete Einstellungen eine liefern: Eine Sitzung darf dann nur die Anbieter verwenden, die auf beiden Listen stehen, sodass eine serververwaltete Liste das, was der Rechner erlaubt, einschränken, aber nie erweitern kann. Welches `allowedProviders` einer Rechnerquelle zählt, richtet sich danach, [wie Claude Code verwaltete Quellen kombiniert](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources). Eine Liste, die nur über serververwaltete Einstellungen geliefert wird, erreicht nur die Sitzungen, die [serververwaltete Einstellungen abrufen](https://code.claude.com/docs/de/server-managed-settings.md#platform-availability).5189* **Geltungsbereich**: [`Managed`](#scopes). Eine Liste, die die eigenen Admin-Quellen des Rechners festlegen, also MDM-Richtlinien und verwaltete Einstellungsdateien, gilt weiterhin, wenn auch serververwaltete Einstellungen eine liefern: Eine Sitzung darf dann nur die Anbieter verwenden, die auf beiden Listen stehen, sodass eine serververwaltete Liste das, was der Rechner erlaubt, einschränken, aber nie erweitern kann. Welches `allowedProviders` einer Rechnerquelle zählt, richtet sich danach, [wie Claude Code verwaltete Quellen kombiniert](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources). Eine Liste, die nur über serververwaltete Einstellungen geliefert wird, erreicht nur die Sitzungen, die [serververwaltete Einstellungen abrufen](https://code.claude.com/docs/de/server-managed-settings.md#platform-availability).

5209* **Typ**: Array von Strings, jeweils einer der folgenden Werte:5190* **Typ**: Array von Strings, jeweils einer der folgenden Werte:

5210 * `"anthropic"`: die Anthropic API auf Anthropics eigenem Host, über eine Anmeldung bei claude.ai oder der Console oder über einen API-Schlüssel. Kombinieren Sie ihn mit [`forceLoginMethod`](#forceloginmethod) oder [`forceLoginOrgUUID`](#forceloginorguuid), um auch die Anmeldung einzuschränken5191 * `"anthropic"`: die Anthropic API auf Anthropics eigenem Host, über eine Anmeldung bei claude.ai oder der Console oder über einen API-Schlüssel. Kombinieren Sie ihn mit [`forceLoginMethod`](#forceloginmethod) oder [`forceLoginOrgUUID`](#forceloginorguuid), um auch die Anmeldung einzuschränken. Cowork in Desktop [auf dem Rechner des Benutzers](https://code.claude.com/docs/de/managed-settings.md#where-and-when-a-policy-applies) zählt als `"anthropic"`, wenn es bei claude.ai angemeldet ist; fehlt dieser Eintrag in der Liste des Rechners, wird Cowork daher [beim Start abgelehnt](https://code.claude.com/docs/de/errors.md#managed-settings-dont-allow-this-api-provider). Damit Cowork starten kann, fügen Sie ihn hinzu; dadurch wird diese Liste auch für direkte Anthropic-Sitzungen geöffnet.

5211 * `"bedrock"`: [Amazon Bedrock](https://code.claude.com/docs/de/amazon-bedrock.md)5192 * `"bedrock"`: [Amazon Bedrock](https://code.claude.com/docs/de/amazon-bedrock.md)

5212 * `"vertex"`: [Google Clouds Agent Platform](https://code.claude.com/docs/de/google-vertex-ai.md), früher Vertex AI5193 * `"vertex"`: [Google Clouds Agent Platform](https://code.claude.com/docs/de/google-vertex-ai.md), früher Vertex AI

5213 * `"foundry"`: [Microsoft Foundry](https://code.claude.com/docs/de/microsoft-foundry.md)5194 * `"foundry"`: [Microsoft Foundry](https://code.claude.com/docs/de/microsoft-foundry.md)

setup.md +5 −23

Details

141 141 

142### Alpine Linux und musl-basierte Distributionen142### Alpine Linux und musl-basierte Distributionen

143 143 

144Die Installation von Claude Code auf Alpine und anderen musl/uClibc-basierten Distributionen erfordert `bash` und `curl` für den Installationsbefehl sowie `libgcc`, `libstdc++` und `ripgrep` zur Laufzeit. Alpine enthält `bash` und `curl` nicht standardmäßig, daher schlägt der dokumentierte Installationsbefehl mit einem `not found`-Fehler fehl, bis Sie diese installieren. Installieren Sie diese Pakete mit dem Paketmanager Ihrer Distribution, und setzen Sie dann `USE_BUILTIN_RIPGREP=0`.144Auf Alpine und anderen musl-basierten Distributionen erfordert der [Installationsbefehl](#install-claude-code) `bash` und `curl`, und Claude Code selbst erfordert `bash` oder `zsh`. Alpine enthält `bash` und `curl` nicht standardmäßig, daher schlägt der dokumentierte Installationsbefehl mit einem `not found`-Fehler fehl, bis Sie diese installieren.

145 145 

146Dieses Beispiel installiert die erforderlichen Pakete auf Alpine:146Dieses Beispiel installiert die erforderlichen Pakete auf Alpine:

147 147 

148```bash theme={null}148```bash theme={null}

149apk add bash curl libgcc libstdc++ ripgrep149apk add bash curl

150```

151 

152Auf Alpine befindet sich `ripgrep` im Community-Repository. Wenn `apk` meldet, dass das Paket fehlt, fügen Sie das Community-Repository zu `/etc/apk/repositories` hinzu, wobei Sie Ihre Alpine-Version verwenden:

153 

154```bash theme={null}

155echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories

156```

157 

158Führen Sie `apk update` aus, um den Paketindex zu aktualisieren, und versuchen Sie den `apk add`-Befehl erneut.

159 

160Setzen Sie dann `USE_BUILTIN_RIPGREP` auf `0` in Ihrer [`settings.json`](https://code.claude.com/docs/de/settings-reference#all-settings)-Datei:

161 

162```json theme={null}

163{

164 "env": {

165 "USE_BUILTIN_RIPGREP": "0"

166 }

167}

168```150```

169 151 

170## Installation überprüfen152## Installation überprüfen


443> wget -O /etc/apk/keys/claude-code.rsa.pub \425> wget -O /etc/apk/keys/claude-code.rsa.pub \

444> https://downloads.claude.ai/keys/claude-code.rsa.pub426> https://downloads.claude.ai/keys/claude-code.rsa.pub

445> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories427> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

446> apk add claude-code428> apk add bash claude-code

447> ```429> ```

448>430>

449> Um zum `latest`-Kanal zu wechseln, entfernen Sie die `stable`-Repository-Zeile und fügen Sie das `latest`-Repository hinzu:431> Um zum `latest`-Kanal zu wechseln, entfernen Sie die `stable`-Repository-Zeile und fügen Sie das `latest`-Repository hinzu:


463>445>

464> Wenn `npm --version` in Ihrer Shell eine Version ausgibt, die mit `12` beginnt, folgen Sie stattdessen [npm-12-Installation reparieren](https://code.claude.com/docs/de/troubleshoot-install.md#fix-an-npm-12-install). Installieren Sie nicht mit `sudo`. Claude Code führt npm ohne `sudo` aus, wenn es sich selbst aktualisiert, daher kann eine Installation, die `sudo` benötigt, nicht automatisch aktualisiert werden.446> Wenn `npm --version` in Ihrer Shell eine Version ausgibt, die mit `12` beginnt, folgen Sie stattdessen [npm-12-Installation reparieren](https://code.claude.com/docs/de/troubleshoot-install.md#fix-an-npm-12-install). Installieren Sie nicht mit `sudo`. Claude Code führt npm ohne `sudo` aus, wenn es sich selbst aktualisiert, daher kann eine Installation, die `sudo` benötigt, nicht automatisch aktualisiert werden.

465 447 

466Sie können Claude Code auch als globales npm-Paket installieren. Das npm-Paket erfordert [Node.js 22 oder später](https://nodejs.org/en/download). Bei einer älteren Node.js-Version gibt npm während der Installation eine `EBADENGINE`-Warnung aus, anstatt fehlzuschlagen; die Installation wird abgeschlossen und `claude` läuft weiterhin, da das Paket eine native Binärdatei herunterlädt, die Ihr Node.js zur Laufzeit nicht verwendet.448Sie können Claude Code auch als globales npm-Paket installieren. Das npm-Paket erfordert [Node.js 22 oder später](https://nodejs.org/en/download). Bei einer älteren Node.js-Version gibt npm standardmäßig eine `EBADENGINE`-Warnung aus und schließt die Installation ab, anstatt fehlzuschlagen. Das installierte `claude` läuft trotzdem, da das Paket eine native Binärdatei herunterlädt, die Ihr Node.js zur Laufzeit nicht verwendet.

467 449 

468```bash theme={null}450```bash theme={null}

469npm install -g @anthropic-ai/claude-code451npm install -g @anthropic-ai/claude-code@latest

470```452```

471 453 

472Das npm-Paket installiert die gleiche native Binärdatei wie das eigenständige Installationsprogramm. npm zieht die Binärdatei durch eine plattformspezifische optionale Abhängigkeit wie `@anthropic-ai/claude-code-darwin-arm64` ein, und ein Postinstall-Schritt verknüpft sie. Die installierte `claude`-Binärdatei ruft selbst nicht Node auf.454Das npm-Paket installiert die gleiche native Binärdatei wie das eigenständige Installationsprogramm. npm zieht die Binärdatei durch eine plattformspezifische optionale Abhängigkeit wie `@anthropic-ai/claude-code-darwin-arm64` ein, und ein Postinstall-Schritt verknüpft sie. Die installierte `claude`-Binärdatei ruft selbst nicht Node auf.

skills.md +5 −1

Details

787 787 

788Eingefügte Befehle lösen nie eine Berechtigungsabfrage aus, während der Skill gerendert wird. Claude Code prüft jeden zunächst anhand Ihrer [Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md). Ein Befehl, auf den eine deny-Regel zutrifft, bricht den Aufruf mit `Shell command permission check failed for pattern "..."` ab.788Eingefügte Befehle lösen nie eine Berechtigungsabfrage aus, während der Skill gerendert wird. Claude Code prüft jeden zunächst anhand Ihrer [Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md). Ein Befehl, auf den eine deny-Regel zutrifft, bricht den Aufruf mit `Shell command permission check failed for pattern "..."` ab.

789 789 

790Außerhalb des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) bricht Claude Code den Aufruf mit demselben Fehler ab, wenn die Berechtigungsprüfung eines Befehls etwas anderes als allow ergibt. Dazu gehört auch eine Regel, die Sie normalerweise fragen würde. Damit ein nicht erfasster Befehl hier nicht zum Abbruch führt, genehmigen Sie ihn vorab mit [`allowed-tools`](#pre-approve-tools-for-a-skill). Wenn Ihre Organisation Berechtigungsregeln auf verwaltete Einstellungen beschränkt, siehe [Wenn nur verwaltete Berechtigungsregeln gelten](#when-only-managed-permission-rules-apply). deny- und ask-Regeln überschreiben `allowed-tools` weiterhin. Siehe [Berechtigungen verwalten](https://code.claude.com/docs/de/permissions.md#manage-permissions).790Außerhalb des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) bricht Claude Code den Aufruf ab, wenn die Berechtigungsprüfung eines Befehls etwas anderes als allow ergibt. Damit ein nicht erfasster Befehl nicht zum Abbruch führt, genehmigen Sie ihn vorab mit [`allowed-tools`](#pre-approve-tools-for-a-skill), und zwar innerhalb dieser Grenzen:

791 

792* **deny- und ask-Regeln**: Ein Befehl, auf den eine dieser Regeln zutrifft, führt weiterhin zum Abbruch. Wie Sie die Regel finden, erfahren Sie unter [Berechtigungen verwalten](https://code.claude.com/docs/de/permissions.md#manage-permissions).

793* **Ausschließlich verwaltete Regeln**: Wenn `/status` in der Sitzung den Skill unter `allowed-tools ignored this session` aufführt, siehe [Wenn nur verwaltete Berechtigungsregeln gelten](#when-only-managed-permission-rules-apply).

794* **Nicht verifizierte Git-Ordner**: Wo eine `HEAD`- oder `.git`-Datei möglicherweise nicht von Ihnen stammt, ignoriert Claude Code `allowed-tools` für einen Bash-Befehl, der `git` enthält oder den Claude Code nicht parsen kann. Wenn Sie dem Ordner vertrauen, etwa dem Worktree Ihres eigenen Bare-Repositorys, erlauben Sie den Befehl mit [`/permissions`](https://code.claude.com/docs/de/permissions#manage-permissions) in der Sitzung.

791 795 

792Im Auto-Modus bricht ein Befehl, der sonst Ihre Genehmigung erfordern würde, den Aufruf nicht ab. Der Skill wird mit einer Anweisung geladen, die Claude auffordert, den Befehl zuerst auszuführen, und Claudes eigener Aufruf durchläuft dann die [üblichen Prüfungen des Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#how-the-classifier-evaluates-actions). Der Aufruf wird dennoch abgebrochen in einem [geforkten Skill](#run-skills-in-a-subagent), der `agent` setzt, sowie in einer Sitzung, in der Claude nicht über das [Shell-Tool verfügt, das eingefügte Befehle ausführt](#how-injected-commands-run).796Im Auto-Modus bricht ein Befehl, der sonst Ihre Genehmigung erfordern würde, den Aufruf nicht ab. Der Skill wird mit einer Anweisung geladen, die Claude auffordert, den Befehl zuerst auszuführen, und Claudes eigener Aufruf durchläuft dann die [üblichen Prüfungen des Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#how-the-classifier-evaluates-actions). Der Aufruf wird dennoch abgebrochen in einem [geforkten Skill](#run-skills-in-a-subagent), der `agent` setzt, sowie in einer Sitzung, in der Claude nicht über das [Shell-Tool verfügt, das eingefügte Befehle ausführt](#how-injected-commands-run).

793 797 

statusline.md +0 −40

Details

1085echo "$dirname [$model]"1085echo "$dirname [$model]"

1086```1086```

1087 1087 

1088## Subagent-Statuszeilen

1089 

1090Die `subagentStatusLine` Einstellung rendert einen benutzerdefinierten Zeilenkörper für jeden [Subagenten](https://code.claude.com/docs/de/sub-agents.md), der im Agent-Panel unterhalb der Eingabeaufforderung angezeigt wird. Verwenden Sie sie, um die Standard-`name · description · token count` Zeile durch Ihre eigene Formatierung zu ersetzen.

1091 

1092```json theme={null}

1093{

1094 "subagentStatusLine": {

1095 "type": "command",

1096 "command": "~/.claude/subagent-statusline.sh"

1097 }

1098}

1099```

1100 

1101Der Befehl wird einmal pro Aktualisierungstick ausgeführt und erhält alle sichtbaren Subagenten-Zeilen als einzelnes JSON-Objekt auf stdin. Die Eingabe enthält die [Basis-Hook-Felder](https://code.claude.com/docs/de/hooks.md#common-input-fields), ein `columns` Feld mit der nutzbaren Zeilenbreite und ein `tasks` Array mit einem Eintrag pro Zeile, beschrieben unter [Aufgabenfelder](#task-fields).

1102 

1103Schreiben Sie eine JSON-Zeile auf stdout pro Zeile, die Sie überschreiben möchten, in der Form `{"id": "<task id>", "content": "<row body>"}`. Der `content` String wird wie vorhanden gerendert, einschließlich ANSI-Farben und OSC 8 Hyperlinks. Lassen Sie die `id` einer Aufgabe weg, um die Standard-Rendering für diese Zeile zu behalten; geben Sie einen leeren `content` String aus, um sie auszublenden.

1104 

1105Die gleichen Vertrauens-, `disableAllHooks`- und [`allowManagedHooksOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedhooksonly) Gates, die für `statusLine` gelten, gelten auch hier. Plugins können eine Standard-`subagentStatusLine` in ihrer [`settings.json`](https://code.claude.com/docs/de/plugins/manifest-reference#standard-layout) versenden, aber im Gegensatz zu Hooks werden Plugin-Werte nicht unter `allowManagedHooksOnly` ausgeführt, auch wenn das Plugin in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert ist.

1106 

1107### Aufgabenfelder

1108 

1109Jeder Eintrag im `tasks` Array beschreibt eine Subagenten-Zeile mit den unten aufgeführten Feldern. Als optional gekennzeichnete Felder werden weggelassen, wenn sie keinen Wert haben. Berücksichtigen Sie daher in Ihrem Skript, dass sie fehlen können.

1110 

1111| Feld | Typ | Beschreibung |

1112| :- | :- | :- |

1113| `id` | string | Bezeichner der Aufgabe. Geben Sie ihn als `id` in der Zeile zurück, die Sie für diese Zeile schreiben |

1114| `name` | string, optional | Name, unter dem der Subagent [angesprochen wird](https://code.claude.com/docs/de/sub-agents.md#subagent-names), sofern er einen hat |

1115| `type` | string | Art der Aufgabe: `local_agent` |

1116| `agentType` | string | Subagenten-Typ, als der die Aufgabe ausgeführt wird, etwa der integrierte [`Explore`](https://code.claude.com/docs/de/sub-agents#built-in-subagents) oder ein benutzerdefinierter `code-reviewer`. Enthält denselben Wert, den Hooks als [`agent_type`](https://code.claude.com/docs/de/hooks#subagentstart) erhalten. Erfordert Claude Code v2.1.293 oder später |

1117| `status` | string | Zustand der Aufgabe, etwa `running`, `completed`, `failed` oder `killed` |

1118| `description` | string | Kurzbeschreibung der Aufgabe, etwa diejenige, die Claude beim Starten des Subagenten angegeben hat |

1119| `label` | string | Kurze Fortschrittszusammenfassung der Aufgabe, sofern Claude Code eine hat, andernfalls derselbe Text wie `description` |

1120| `startTime` | number | Startzeitpunkt der Aufgabe in Millisekunden seit der Unix-Epoche |

1121| `model` | string, optional | ID des aufgelösten Modells, auf dem die Aufgabe ausgeführt wird. Wird weggelassen, bis das Modell aufgelöst ist |

1122| `effort` | string or number, optional | Reasoning-Aufwand, der für den Subagenten in seinem [Definitions-Frontmatter](https://code.claude.com/docs/de/sub-agents.md#supported-frontmatter-fields) oder beim einzelnen Aufruf festgelegt ist: `low`, `medium`, `high`, `xhigh`, `max` oder ein numerisches Token-Budget. Dies ist der konfigurierte Wert; der Aufwand, den Claude Code anwendet, kann sich unterscheiden, wenn das Modell diese Stufe nicht unterstützt. Wird weggelassen, wenn kein Aufwand festgelegt ist |

1123| `contextWindowSize` | number, optional | Kontextfenster von `model` in Token, berechnet auf die gleiche Weise wie das [`context_window.context_window_size`](#context-window-fields) der Hauptstatuszeile, sodass Sie einen Prozentsatz pro Zeile aus `tokenCount` rendern können. Wird weggelassen, wenn `model` weggelassen wird |

1124| `tokenCount` | number | Laufende Token-Anzahl des Subagenten, der Wert, den die Standardzeile anzeigt |

1125| `tokenSamples` | array of numbers | Bis zu 16 der letzten `tokenCount` Messwerte, einer pro Aktualisierungstick, älteste zuerst und endend mit dem aktuellen |

1126| `cwd` | string | Arbeitsverzeichnis des Subagenten: sein eigenes Verzeichnis, wenn er in einem solchen ausgeführt wird, etwa einem isolierten Worktree, andernfalls das Arbeitsverzeichnis der Sitzung |

1127 

1128## Tipps1088## Tipps

1129 1089 

1130* **Mit Mock-Eingabe testen**: `echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`1090* **Mit Mock-Eingabe testen**: `echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`

Details

26 26 

27| Terminal | Shift+Enter für Zeilenumbruch |27| Terminal | Shift+Enter für Zeilenumbruch |

28| :- | :- |28| :- | :- |

29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funktioniert ohne Einrichtung |29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Windows Terminal | Funktioniert ohne Einrichtung |

30| Andere Terminals, die das Kitty-Tastaturprotokoll unterstützen, wie foot und Alacritty 0.16 oder neuer | Funktioniert ohne Einrichtung. Erfordert Claude Code v2.1.269 oder neuer |30| Andere Terminals, die das Kitty-Tastaturprotokoll unterstützen, wie foot und Alacritty 0.16 oder neuer | Funktioniert ohne Einrichtung. Erfordert Claude Code v2.1.269 oder neuer |

31| VS Code, Cursor, Devin Desktop, Alacritty vor 0.16, Zed | Führen Sie einmalig `/terminal-setup` aus |31| VS Code, Cursor, Devin Desktop, Alacritty vor 0.16, Zed | Führen Sie einmalig `/terminal-setup` aus |

32| gnome-terminal, JetBrains-IDEs wie PyCharm und Android Studio | Nicht verfügbar; verwenden Sie Ctrl+J oder `\` und dann Enter |32| gnome-terminal, JetBrains-IDEs wie PyCharm und Android Studio | Nicht verfügbar; verwenden Sie Ctrl+J oder `\` und dann Enter |

Details

173 173 

174Um einzuschränken, welche dieser Bereitstellungsoptionen ein verwalteter Computer verwenden darf, setzen Sie [`allowedProviders`](https://code.claude.com/docs/de/settings-reference#allowedproviders) in verwalteten Einstellungen. Zum Beispiel erlaubt `["bedrock"]` Amazon Bedrock und nichts anderes; eine Bedrock-Flotte, die auch den Mantle-Endpunkt aktiviert, listet auch `"mantle"` auf. Der Eintrag gibt an, welche Endpunktvariablen auch einen verwalteten `env`-Pin benötigen. Erfordert Claude Code v2.1.285 oder später.174Um einzuschränken, welche dieser Bereitstellungsoptionen ein verwalteter Computer verwenden darf, setzen Sie [`allowedProviders`](https://code.claude.com/docs/de/settings-reference#allowedproviders) in verwalteten Einstellungen. Zum Beispiel erlaubt `["bedrock"]` Amazon Bedrock und nichts anderes; eine Bedrock-Flotte, die auch den Mantle-Endpunkt aktiviert, listet auch `"mantle"` auf. Der Eintrag gibt an, welche Endpunktvariablen auch einen verwalteten `env`-Pin benötigen. Erfordert Claude Code v2.1.285 oder später.

175 175 

176> [!NOTE]

177>

178> Wenn Desktop bei claude.ai angemeldet ist, zählt eine Cowork-Sitzung auf dem Computer des Benutzers als [`"anthropic"`](https://code.claude.com/docs/de/settings-reference#allowedproviders). Wenn Sie diesen Eintrag in einer MDM-Richtlinie oder einer Datei für verwaltete Einstellungen nicht in diese Liste aufnehmen, wird diese Sitzung abgelehnt. Ist er enthalten, passieren auch Sitzungen, die direkt an Anthropic gesendet werden, diese Liste.

179 

176### Nutzen Sie MCP für Integrationen180### Nutzen Sie MCP für Integrationen

177 181 

178MCP ist eine großartige Möglichkeit, Claude Code mehr Informationen zu geben, z. B. die Verbindung mit Ticketverwaltungssystemen oder Fehler-Logs. Lassen Sie ein zentrales Team MCP-Server konfigurieren und eine `.mcp.json`-Konfiguration in die Codebasis einchecken, damit alle Benutzer davon profitieren. [Erfahren Sie mehr](https://code.claude.com/docs/de/mcp.md).182MCP ist eine großartige Möglichkeit, Claude Code mehr Informationen zu geben, z. B. die Verbindung mit Ticketverwaltungssystemen oder Fehler-Logs. Lassen Sie ein zentrales Team MCP-Server konfigurieren und eine `.mcp.json`-Konfiguration in die Codebasis einchecken, damit alle Benutzer davon profitieren. [Erfahren Sie mehr](https://code.claude.com/docs/de/mcp.md).

Details

127 127 

128Claude verwendet `AskUserQuestion`, um Ihnen Multiple-Choice-Fragen zu stellen, wenn eine Entscheidung oder Klärung erforderlich ist. Antworten Sie, indem Sie eine Option auswählen, oder geben Sie Ihren eigenen Text über die Zeile `Other` oder das Notizfeld ein.128Claude verwendet `AskUserQuestion`, um Ihnen Multiple-Choice-Fragen zu stellen, wenn eine Entscheidung oder Klärung erforderlich ist. Antworten Sie, indem Sie eine Option auswählen, oder geben Sie Ihren eigenen Text über die Zeile `Other` oder das Notizfeld ein.

129 129 

130Wenn Sie durch Eingabe Ihres eigenen Textes antworten, leitet Claude Code die Antwort mit neutraler Formulierung weiter, damit Claude das befolgt, was Sie geschrieben haben, einschließlich einer Anfrage, zu warten oder zunächst zu erklären.

131 

132### Timeout für automatische Fortsetzung von Fragen130### Timeout für automatische Fortsetzung von Fragen

133 131 

134Fragen bleiben offen, bis Sie sie beantworten. Wenn Sie möchten, dass eine unbeantwortete Frage irgendwann von selbst geschlossen wird und Claude ohne Sie fortfahren kann, stellen Sie die Einstellung [`askUserQuestionTimeout`](https://code.claude.com/docs/de/settings-reference#askuserquestiontimeout) auf `60s`, `5m` oder `10m` ein, entweder in Ihrer Benutzerdatei `settings.json` oder in der Zeile **Question auto-continue timeout** in `/config`.132Fragen bleiben offen, bis Sie sie beantworten. Wenn Sie möchten, dass eine unbeantwortete Frage irgendwann von selbst geschlossen wird und Claude ohne Sie fortfahren kann, stellen Sie die Einstellung [`askUserQuestionTimeout`](https://code.claude.com/docs/de/settings-reference#askuserquestiontimeout) auf `60s`, `5m` oder `10m` ein, entweder in Ihrer Benutzerdatei `settings.json` oder in der Zeile **Question auto-continue timeout** in `/config`.


525 523 

526## Verhalten des Read-Tools524## Verhalten des Read-Tools

527 525 

528Das Read-Tool nimmt einen Dateipfad und gibt den Inhalt mit Zeilennummern zurück. Claude ist angewiesen, immer absolute Pfade zu übergeben.526Das Read-Tool nimmt einen Dateipfad und gibt den Inhalt mit Zeilennummern zurück.

529 527 

530Das Lesen einer leeren Datei gibt eine Benachrichtigung zurück, dass die Datei existiert, aber ihr Inhalt leer ist, und ein `offset` nach der letzten Zeile gibt eine Benachrichtigung zurück, die die Zeilenanzahl der Datei angibt.528Das Lesen einer leeren Datei gibt eine Benachrichtigung zurück, dass die Datei existiert, aber ihr Inhalt leer ist, und ein `offset` nach der letzten Zeile gibt eine Benachrichtigung zurück, die die Zeilenanzahl der Datei angibt.

531 529 

Details

388> Get-Command claude | Select-Object Source388> Get-Command claude | Select-Object Source

389> ```389> ```

390 390 

391Prüfen Sie unter Linux auf fehlende gemeinsam genutzte Bibliotheken. Wenn `ldd` fehlende Bibliotheken anzeigt, müssen Sie möglicherweise Systempakete installieren. Unter Alpine Linux und anderen musl-basierten Distributionen siehe [Einrichtung unter Alpine Linux](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions).391Prüfen Sie unter Linux auf fehlende gemeinsam genutzte Bibliotheken. Wenn `ldd` fehlende Bibliotheken anzeigt, müssen Sie möglicherweise Systempakete installieren. Unter Alpine Linux und anderen musl-basierten Distributionen siehe [Nicht passende musl- oder glibc-Binärdatei unter Linux](#linux-musl-or-glibc-binary-mismatch).

392 392 

393```bash theme={null}393```bash theme={null}

394ldd "$(command -v claude)" | grep "not found"394ldd "$(command -v claude)" | grep "not found"


402 402 

403## Häufige Installationsprobleme403## Häufige Installationsprobleme

404 404 

405Dies sind die am häufigsten auftretenden Installationsprobleme und deren Lösungen.405Dies sind die am häufigsten auftretenden Installationsprobleme und ihre Lösungen.

406 406 

407### Installationsskript gibt HTML statt eines Shell-Skripts zurück407### Installationsskript gibt HTML statt eines Shell-Skripts zurück

408 408 


415bash: line 1: `<!DOCTYPE html>'415bash: line 1: `<!DOCTYPE html>'

416```416```

417 417 

418**PowerShell, Parse-Fehler**: Die Fehler verweisen auf die zurückgegebene Seite, wobei `iex` versucht, HTML und CSS als PowerShell auszuführen.418**PowerShell, Parse-Fehler**: Die Fehler verweisen auf Stellen in der zurückgegebenen Seite, wobei `iex` versucht, HTML und CSS als PowerShell auszuführen.

419 419 

420```text theme={null}420```text theme={null}

421iex : At line:1 char:2310421iex : At line:1 char:2310


424...424...

425```425```

426 426 

427Die Formulierung variiert je nach PowerShell-Version und Systemsprache: Sie können `Missing expression after unary operator '--'` oder einen `ParserError` mit `ParseException` sehen. HTML-Tags oder CSS im angeführten Text identifizieren diesen Fehler. Wenn Sie stattdessen mit `-OutFile install.ps1` herunterladen, ist die gespeicherte Datei die gleiche Webseite, daher hilft das auch nicht.427Der Wortlaut variiert je nach PowerShell-Version und Systemsprache: Möglicherweise sehen Sie stattdessen `Missing expression after unary operator '--'` oder einen `ParserError` mit `ParseException`. HTML-Tags oder CSS im zitierten Text kennzeichnen diesen Fehler. Wenn Sie stattdessen mit `-OutFile install.ps1` herunterladen, ist die gespeicherte Datei dieselbe Webseite, das hilft also ebenfalls nicht.

428 428 

429**PowerShell, `System.Xml.XmlDocument`**: Der Fehler nennt diesen Typ, statt die Seite zu zitieren.429**PowerShell, `System.Xml.XmlDocument`**: Der Fehler nennt diesen Typ, anstatt die Seite zu zitieren.

430 430 

431```text theme={null}431```text theme={null}

432System.Xml.XmlDocument : The term 'System.Xml.XmlDocument' is not recognized as the name of a cmdlet, function, script432System.Xml.XmlDocument : The term 'System.Xml.XmlDocument' is not recognized as the name of a cmdlet, function, script

433file, or operable program.433file, or operable program.

434```434```

435 435 

436Wenn `irm` die Antwort als XML parsen kann, gibt es statt Text ein XML-Objekt zurück, und `iex` versucht dann, den Typnamen dieses Objekts als Befehl auszuführen. Das Installationsskript ist PowerShell-Code und lässt sich nicht als XML parsen, daher bedeutet auch dieser Fehler, dass die Antwort etwas anderes als das Skript war. Die Formulierung rund um den Typnamen variiert je nach PowerShell-Version und Systemsprache, aber `System.Xml.XmlDocument` selbst bleibt gleich, also orientieren Sie sich am Typnamen.436Wenn `irm` die Antwort als XML parsen kann, gibt es ein XML-Objekt statt Text zurück, und `iex` versucht dann, den Typnamen dieses Objekts als Befehl auszuführen. Das Installationsskript ist PowerShell-Code und lässt sich nicht als XML parsen, daher bedeutet auch dieser Fehler, dass die Antwort etwas anderes als das Skript war. Der Wortlaut um den Typnamen herum variiert je nach PowerShell-Version und Systemsprache, aber `System.Xml.XmlDocument` selbst bleibt gleich, orientieren Sie sich also am Typnamen.

437 437 

438**CMD**: Sie sehen diesen Fehler, gefolgt vom HTML der zurückgegebenen Seite.438**CMD**: Sie sehen diesen Fehler, gefolgt vom HTML der zurückgegebenen Seite.

439 439 


443C:\Users\you><!DOCTYPE html>...443C:\Users\you><!DOCTYPE html>...

444```444```

445 445 

446Die erste Zeile erscheint in Ihrer Systemsprache, achten Sie daher auf das HTML, das darauf folgt.446Die erste Zeile erscheint in Ihrer Systemsprache, achten Sie also auf das darauf folgende HTML.

447 447 

448**Ein 403 ohne Seite**: Je nachdem, wie die Anfrage weitergeleitet wurde, meldet curl einen 403-Status ohne HTML-Text.448**Ein 403 ohne Seite**: Je nachdem, wie die Anfrage geroutet wurde, meldet curl einen 403-Status ohne HTML-Body.

449 449 

450```text theme={null}450```text theme={null}

451curl: (22) The requested URL returned error: 403451curl: (22) The requested URL returned error: 403

452```452```

453 453 

454Dies alles bedeutet, dass die Installations-URL eine Webseite, ein XML-Dokument oder einen Fehlerstatus statt des Installationsskripts zurückgegeben hat. Wenn die Fehlerausgabe „App unavailable in region“ zitiert, ist Claude Code in Ihrem Land nicht verfügbar. Siehe [unterstützte Länder](https://www.anthropic.com/supported-countries).454All dies bedeutet, dass die Installations-URL eine Webseite, ein XML-Dokument oder einen Fehlerstatus statt des Installationsskripts zurückgegeben hat. Wenn die Fehlerausgabe „App unavailable in region“ zitiert, ist Claude Code in Ihrem Land nicht verfügbar. Siehe [unterstützte Länder](https://www.anthropic.com/supported-countries).

455 455 

456Ein bloßer 403 ohne Text hat oft die gleiche Ursache, kann aber auch von einem Unternehmens-Proxy oder einer Firewall stammen, die den Download blockiert. Wenn Sie sich in einem unterstützten Land befinden und immer noch den 403-Fehler sehen, arbeiten Sie sich durch [Überprüfen Sie die Netzwerkverbindung](#check-network-connectivity) durch, bevor Sie die alternativen Installationsprogramme unten versuchen, da diese die gleichen Hosts erreichen.456Ein bloßer 403 ohne Body hat oft dieselbe Ursache, kann aber auch von einem Unternehmens-Proxy oder einer Firewall stammen, die den Download blockiert. Wenn Sie sich in einem unterstützten Land befinden und dennoch den 403 sehen, arbeiten Sie [Netzwerkkonnektivität prüfen](#check-network-connectivity) durch, bevor Sie die unten aufgeführten alternativen Installationsprogramme ausprobieren, da diese dieselben Hosts erreichen.

457 457 

458Andernfalls kann dies aufgrund von Netzwerkproblemen, regionalen Routing-Problemen oder einer vorübergehenden Dienstunterbrechung geschehen.458Andernfalls kann dies durch Netzwerkprobleme, regionales Routing oder eine vorübergehende Dienststörung verursacht werden.

459 459 

460**Lösungen:**460**Lösungen:**

461 461 

4621. **Versuchen Sie es nach einigen Minuten erneut**: Das Problem ist oft vorübergehend. Warten Sie und versuchen Sie den ursprünglichen Befehl erneut.4621. **Nach einigen Minuten erneut versuchen**: Das Problem ist oft vorübergehend. Warten Sie und versuchen Sie den ursprünglichen Befehl erneut.

463 463 

4642. **Verwenden Sie eine alternative Installationsmethode**: Anders als eine native Installation [aktualisiert sich eine Installation über Homebrew oder WinGet standardmäßig nicht selbst](https://code.claude.com/docs/de/setup.md#auto-updates).4642. **Eine alternative Installationsmethode verwenden**: Anders als eine native Installation [aktualisiert sich eine Homebrew- oder WinGet-Installation standardmäßig nicht selbst](https://code.claude.com/docs/de/setup.md#auto-updates).

465 465 

466 Auf macOS installieren Sie über Homebrew:466 Installieren Sie unter macOS über Homebrew:

467 467 

468 ```bash theme={null}468 ```bash theme={null}

469 brew install --cask claude-code469 brew install --cask claude-code

470 ```470 ```

471 471 

472 Unter Windows installieren Sie über WinGet:472 Installieren Sie unter Windows über WinGet:

473 473 

474 ```powershell theme={null}474 ```powershell theme={null}

475 winget install Anthropic.ClaudeCode475 winget install Anthropic.ClaudeCode

476 ```476 ```

477 477 

478 Führen Sie dann `claude --version` aus, um zu bestätigen: Der Befehl gibt eine Versionsnummer wie `2.1.211 (Claude Code)` aus. Wenn die Shell meldet, dass `claude` nicht gefunden wird, öffnen Sie ein neues Terminal-Fenster und versuchen Sie es erneut: Die Sitzung, von der aus Sie installiert haben, behält ihren alten `PATH`.478 Führen Sie dann zur Bestätigung `claude --version` aus: Der Befehl gibt eine Versionsnummer wie `2.1.211 (Claude Code)` aus. Wenn die Shell meldet, dass `claude` nicht gefunden wird, öffnen Sie ein neues Terminalfenster und versuchen Sie es erneut: Die Sitzung, aus der Sie installiert haben, behält ihren alten `PATH`.

479 479 

480### `command not found: claude` nach der Installation480### `command not found: claude` nach der Installation

481 481 

482Die Installation ist abgeschlossen, aber `claude` funktioniert nicht. Die genaue Fehlermeldung variiert je nach Plattform:482Die Installation wurde abgeschlossen, aber `claude` funktioniert nicht. Die genaue Fehlermeldung variiert je nach Plattform:

483 483 

484| Plattform | Fehlermeldung |484| Plattform | Fehlermeldung |

485| :- | :- |485| :- | :- |


488| Windows CMD | `'claude' is not recognized as an internal or external command` |488| Windows CMD | `'claude' is not recognized as an internal or external command` |

489| PowerShell | `claude : The term 'claude' is not recognized as the name of a cmdlet` |489| PowerShell | `claude : The term 'claude' is not recognized as the name of a cmdlet` |

490 490 

491Wenn der Fehler unter Windows direkt nach einem Update von Claude Code aufgetreten ist, siehe [`claude.exe` aus der Sicherung wiederherstellen](#claude-exe-missing-after-an-update-on-windows).491Wenn der Fehler unter Windows direkt nach einem Update von Claude Code auftrat, siehe [`claude.exe` aus seiner Sicherung wiederherstellen](#claude-exe-missing-after-an-update-on-windows).

492 492 

493Andernfalls siehe [Überprüfen Sie Ihren PATH](#verify-your-path) für die Behebung auf jeder Plattform.493Andernfalls finden Sie unter [Ihren PATH überprüfen](#verify-your-path) die Lösung für jede Plattform.

494 494 

495### `permission denied` beim Hinzufügen zu Ihrem PATH495### `permission denied` beim Hinzufügen zu Ihrem PATH

496 496 

497Wenn der `echo`-Befehl, der `~/.local/bin` zu Ihrem PATH hinzufügt, `zsh: permission denied: /Users/you/.zshrc` oder `bash: /home/you/.bashrc: Permission denied` ausgibt, kann Ihr Benutzer nicht in diese Datei schreiben, und es wurde nichts gespeichert. Prüfen Sie in Ihrem Terminal, wem die Datei gehört, und verwenden Sie dabei anstelle von `~/.zshrc` den Dateinamen Ihrer Shell:497Wenn der `echo`-Befehl, der `~/.local/bin` zu Ihrem PATH hinzufügt, `zsh: permission denied: /Users/you/.zshrc` oder `bash: /home/you/.bashrc: Permission denied` ausgibt, kann Ihr Benutzer nicht in diese Datei schreiben, und es wurde nichts gespeichert. Prüfen Sie in Ihrem Terminal, wem die Datei gehört, und verwenden Sie dabei den Dateinamen Ihrer Shell anstelle von `~/.zshrc`:

498 498 

499```bash theme={null}499```bash theme={null}

500ls -l ~/.zshrc500ls -l ~/.zshrc


502 502 

503Das dritte Feld der Ausgabe ist der Eigentümer.503Das dritte Feld der Ausgabe ist der Eigentümer.

504 504 

505* **Der Eigentümer ist ein anderer Benutzer, etwa `root`**: Übernehmen Sie den Besitz mit `sudo chown $(whoami) ~/.zshrc`, was Administratorrechte erfordert.505* **Der Eigentümer ist ein anderer Benutzer, etwa `root`**: Übernehmen Sie die Eigentümerschaft mit `sudo chown $(whoami) ~/.zshrc`, wofür Administratorrechte erforderlich sind.

506* **Der Eigentümer sind Sie**: Die Datei ist schreibgeschützt. Machen Sie sie mit `chmod u+w ~/.zshrc` beschreibbar.506* **Der Eigentümer sind Sie**: Die Datei ist schreibgeschützt. Machen Sie sie mit `chmod u+w ~/.zshrc` beschreibbar.

507 507 

508Führen Sie dann die beiden PATH-Befehle für Ihre Shell in [Überprüfen Sie Ihren PATH](#verify-your-path) erneut aus.508Führen Sie dann die beiden PATH-Befehle für Ihre Shell unter [Ihren PATH überprüfen](#verify-your-path) erneut aus.

509 509 

510### `curl: (56) Failure writing output to destination`510### `curl: (56) Failure writing output to destination`

511 511 

512Der Befehl `curl ... | bash` lädt das Skript herunter und leitet es an Bash zur Ausführung weiter. Dieser Fehler und der verwandte `curl: (23) Failure writing output to destination` bedeuten, dass Bash das vollständige Skript nicht erhalten hat. Exit-Code 56 zeigt an, dass der Download selbst unterbrochen wurde, und Exit-Code 23 zeigt an, dass curl nicht schreiben konnte, was es erhielt, in die Pipe, normalerweise weil Bash vorzeitig beendet wurde.512Der Befehl `curl ... | bash` lädt das Skript herunter und leitet es zur Ausführung per Pipe an Bash weiter. Dieser Fehler und der verwandte `curl: (23) Failure writing output to destination` bedeuten, dass Bash das vollständige Skript nicht erhalten hat. Exit-Code 56 gibt an, dass der Download selbst unterbrochen wurde, und Exit-Code 23 gibt an, dass curl das Empfangene nicht in die Pipe schreiben konnte, meist weil Bash vorzeitig beendet wurde.

513 513 

514Testen Sie, dass Sie `downloads.claude.ai` mit der Überprüfung in [Überprüfen Sie die Netzwerkverbindung](#check-network-connectivity) erreichen können. Wenn Sie den Server erreicht haben, war der ursprüngliche Fehler wahrscheinlich vorübergehend; versuchen Sie den Installationsbefehl erneut. Sie können auch [eine alternative Installationsmethode versuchen](https://code.claude.com/docs/de/setup.md#install-claude-code).514Testen Sie mit der Prüfung unter [Netzwerkkonnektivität prüfen](#check-network-connectivity), ob Sie `downloads.claude.ai` erreichen können. Wenn Sie den Server erreicht haben, war der ursprüngliche Fehler wahrscheinlich sporadisch; führen Sie den Installationsbefehl erneut aus. Sie können auch [eine alternative Installationsmethode ausprobieren](https://code.claude.com/docs/de/setup.md#install-claude-code).

515 515 

516### Homebrew Cask nicht verfügbar oder veraltet516### Homebrew-Cask nicht verfügbar oder veraltet

517 517 

518Homebrew meldet `Error: Cask 'claude-code' is unavailable: No Cask with this name exists`, wenn Ihre lokale Kopie des Homebrew Cask-Index älter ist als die Veröffentlichung des Cask. Aktualisieren Sie den Index und versuchen Sie es erneut:518Homebrew meldet `Error: Cask 'claude-code' is unavailable: No Cask with this name exists`, wenn Ihre lokale Kopie des Homebrew-Cask-Index älter ist als die Veröffentlichung des Casks. Aktualisieren Sie den Index und versuchen Sie es erneut:

519 519 

520```bash theme={null}520```bash theme={null}

521brew update521brew update

522brew install --cask claude-code522brew install --cask claude-code

523```523```

524 524 

525Wenn Homebrew eine ältere Claude Code-Version installiert als erwartet, ist normalerweise der gleiche veraltete Index die Ursache. Der `claude-code` Cask verfolgt den stabilen Kanal und liegt normalerweise etwa eine Woche hinter der neuesten Version; für die neueste Version führen Sie stattdessen `brew install --cask claude-code@latest` aus. Siehe [Konfigurieren Sie den Release-Kanal](https://code.claude.com/docs/de/setup.md#configure-release-channel) für den Unterschied zwischen den beiden Casks.525Wenn Homebrew eine ältere Claude Code-Version installiert als erwartet, ist meist derselbe veraltete Index die Ursache. Der Cask `claude-code` folgt dem stabilen Kanal und liegt typischerweise etwa eine Woche hinter dem neuesten Release; für die neueste Version führen Sie stattdessen `brew install --cask claude-code@latest` aus. Siehe [Release-Kanal konfigurieren](https://code.claude.com/docs/de/setup.md#configure-release-channel) für den Unterschied zwischen den beiden Casks.

526 526 

527### `Cask 'claude-code@latest' is not installed`527### `Cask 'claude-code@latest' is not installed`

528 528 


536 536 

537### TLS- oder SSL-Verbindungsfehler537### TLS- oder SSL-Verbindungsfehler

538 538 

539Fehler wie diese deuten auf TLS-Handshake-Fehler hin:539Fehler wie diese bedeuten, dass der TLS-Handshake fehlgeschlagen ist:

540 540 

541* `curl: (35) TLS connect error`541* `curl: (35) TLS connect error`

542* `schannel: next InitializeSecurityContext failed`542* `schannel: next InitializeSecurityContext failed`


547 547 

548**Lösungen:**548**Lösungen:**

549 549 

5501. **Aktualisieren Sie Ihre System-CA-Zertifikate**:5501. **Aktualisieren Sie die CA-Zertifikate Ihres Systems**:

551 551 

552 Auf Ubuntu/Debian:552 Unter Ubuntu/Debian:

553 553 

554 ```bash theme={null}554 ```bash theme={null}

555 sudo apt-get update && sudo apt-get install ca-certificates555 sudo apt-get update && sudo apt-get install ca-certificates

556 ```556 ```

557 557 

558 Auf macOS verwendet das System-curl den Keychain-Vertrauensspeicher; das Aktualisieren von macOS selbst aktualisiert die Root-Zertifikate.558 Unter macOS verwendet das System-curl den Vertrauensspeicher des Schlüsselbunds; ein Update von macOS selbst aktualisiert die Stammzertifikate.

559 559 

5602. **Aktivieren Sie in Windows PowerShell 5.1 TLS 1.2**:5602. **Aktivieren Sie in Windows PowerShell 5.1 TLS 1.2**:

561 ```powershell theme={null}561 ```powershell theme={null}


566 irm https://claude.ai/install.ps1 | iex566 irm https://claude.ai/install.ps1 | iex

567 ```567 ```

568 568 

5693. **Überprüfen Sie auf Proxy- oder Firewall-Interferenz**: Unternehmens-Proxys, die TLS-Inspektion durchführen, können diese Fehler verursachen, einschließlich `unable to get local issuer certificate`, `unable to verify the first certificate` und `SELF_SIGNED_CERT_IN_CHAIN`. Sorgen Sie dafür, dass der Installations-Download der CA Ihres Unternehmens-Proxys vertraut:5693. **Prüfen Sie auf Störungen durch Proxy oder Firewall**: Unternehmens-Proxys, die TLS-Inspektion durchführen, können diese Fehler verursachen, einschließlich `unable to get local issuer certificate`, `unable to verify the first certificate` und `SELF_SIGNED_CERT_IN_CHAIN`. Sorgen Sie dafür, dass der Installations-Download der CA Ihres Unternehmens-Proxys vertraut:

570 570 

571 > [tab] macOS/Linux571 > [tab] macOS/Linux

572 >572 >

573 > Setzen Sie `CURL_CA_BUNDLE` für die `curl`-Downloads des Installationsskripts und [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/de/network-config#custom-ca-certificates) für den Befehl `claude install`, den das Skript anschließend ausführt. Bitten Sie Ihr IT-Team um eine PEM-Datei mit dem Root-CA-Zertifikat Ihres Proxys, falls Sie diese nicht haben. Dieses Beispiel setzt beide Variablen auf die CA-Datei Ihres Proxys und führt das Skript im selben Terminal aus:573 > Setzen Sie `CURL_CA_BUNDLE` für die `curl`-Downloads des Installationsskripts und [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/de/network-config#custom-ca-certificates) für den Befehl `claude install`, den das Skript anschließend ausführt. Bitten Sie Ihr IT-Team um eine PEM-Datei mit dem Stamm-CA-Zertifikat Ihres Proxys, falls Sie diese nicht haben. Dieses Beispiel setzt beide auf die CA-Datei Ihres Proxys und führt das Skript im selben Terminal aus:

574 >574 >

575 > ```bash theme={null}575 > ```bash theme={null}

576 > export CURL_CA_BUNDLE=/path/to/corporate-ca.pem576 > export CURL_CA_BUNDLE=/path/to/corporate-ca.pem


578 > curl -fsSL https://claude.ai/install.sh | bash578 > curl -fsSL https://claude.ai/install.sh | bash

579 > ```579 > ```

580 >580 >

581 > Wenn die Installation weiterhin mit einem dieser Zertifikatsfehler fehlschlägt, bitten Sie Ihr IT-Team um eine Datei, die sowohl die öffentlichen Root-Zertifikate als auch die vollständige CA-Kette Ihres Proxys enthält. Setzen Sie dann beide Variablen auf diese Datei.581 > Wenn die Installation weiterhin mit einem dieser Zertifikatsfehler fehlschlägt, bitten Sie Ihr IT-Team um eine Datei, die sowohl die öffentlichen Stammzertifikate als auch die vollständige CA-Kette Ihres Proxys enthält. Setzen Sie dann beide Variablen auf diese Datei.

582 582 

583 > [tab] Windows PowerShell583 > [tab] Windows PowerShell

584 >584 >

585 > Das PowerShell-Installationsprogramm lädt über .NET herunter, das TLS gegen den Windows-Zertifikatsspeicher validiert. Bitten Sie Ihr IT-Team, das CA-Zertifikat des Proxys zum Windows-Speicher hinzuzufügen, falls es nicht bereits vorhanden ist, und führen Sie dann das Installationsprogramm aus:585 > Das PowerShell-Installationsprogramm lädt über .NET herunter, das TLS gegen den Windows-Zertifikatspeicher validiert. Bitten Sie Ihr IT-Team, das CA-Zertifikat des Proxys zum Windows-Speicher hinzuzufügen, falls es dort noch nicht vorhanden ist, und führen Sie dann das Installationsprogramm aus:

586 >586 >

587 > ```powershell theme={null}587 > ```powershell theme={null}

588 > irm https://claude.ai/install.ps1 | iex588 > irm https://claude.ai/install.ps1 | iex

589 > ```589 > ```

590 590 

591 Für Claude Code selbst nach der Installation setzen Sie `NODE_EXTRA_CA_CERTS`, damit API-Anfragen dem gleichen Bundle vertrauen:591 Für Claude Code selbst setzen Sie nach der Installation `NODE_EXTRA_CA_CERTS`, damit API-Anfragen demselben Bundle vertrauen:

592 592 

593 > [tab] macOS/Linux593 > [tab] macOS/Linux

594 >594 >


602 > $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'602 > $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'

603 > ```603 > ```

604 604 

6054. **Unter Windows, Umgehung blockierter Sperrprüfungen**. Die Fehler `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` und `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` bedeuten, dass curl den Server erreicht hat, aber Ihr Netzwerk die Zertifikatssperrprüfung blockiert, was hinter Unternehmens-Firewalls häufig vorkommt. Wenn der fehlgeschlagene Befehl der `curl` ist, der `install.cmd` herunterlädt, führen Sie ihn von einer Eingabeaufforderung mit `--ssl-revoke-best-effort` hinzugefügt erneut aus:6054. **Umgehen Sie unter Windows blockierte Sperrprüfungen**. Die Fehler `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` und `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` bedeuten, dass curl den Server erreicht hat, Ihr Netzwerk aber die Abfrage der Zertifikatssperrung blockiert, was hinter Unternehmens-Firewalls häufig vorkommt. Wenn der fehlschlagende Befehl das `curl` ist, das `install.cmd` herunterlädt, führen Sie ihn in einer Eingabeaufforderung mit hinzugefügtem `--ssl-revoke-best-effort` erneut aus:

606 ```batch theme={null}606 ```batch theme={null}

607 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd607 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

608 ```608 ```

609 Wenn die eigenen Downloads des Skripts auf die gleichen Fehler treffen, versucht es sie automatisch mit Best-Effort-Sperrprüfung erneut, daher ist das Flag nur für den Befehl erforderlich, den Sie selbst ausführen. Best-Effort-Prüfung toleriert einen nicht erreichbaren Sperrserver, lehnt aber immer noch ein Zertifikat ab, das bekanntermaßen widerrufen ist, was dem Umgang von Browsern mit Sperrung entspricht. Sie können auch curls Sperrprüfung ganz vermeiden, indem Sie das PowerShell-Installationsprogramm von PowerShell aus ausführen, das über .NET herunterlädt und nicht fehlschlägt, wenn der Sperrserver nicht erreichbar ist:609 Wenn die eigenen Downloads des Skripts auf dieselben Fehler stoßen, versucht es diese automatisch erneut mit Best-Effort-Sperrprüfung, sodass das Flag nur bei dem Befehl nötig ist, den Sie selbst ausführen. Die Best-Effort-Prüfung toleriert einen nicht erreichbaren Sperrserver, lehnt aber weiterhin ein Zertifikat ab, das bekanntermaßen gesperrt ist, so wie Browser mit Sperrungen umgehen. Sie können die Sperrprüfung von curl auch vollständig vermeiden, indem Sie das PowerShell-Installationsprogramm in PowerShell ausführen, das über .NET herunterlädt und nicht fehlschlägt, wenn der Sperrserver nicht erreichbar ist:

610 ```powershell theme={null}610 ```powershell theme={null}

611 irm https://claude.ai/install.ps1 | iex611 irm https://claude.ai/install.ps1 | iex

612 ```612 ```

613 Sie können auch mit `winget install Anthropic.ClaudeCode` installieren, was curl ganz vermeidet.613 Sie können auch mit `winget install Anthropic.ClaudeCode` installieren, was curl vollständig umgeht.

614 614 

615### `Failed to fetch version from downloads.claude.ai`615### `Failed to fetch version from downloads.claude.ai`

616 616 

617Das Ende der Meldung nennt den Grund. Handelt es sich um einen Zertifikatsfehler wie `unable to verify the first certificate`, siehe [TLS- oder SSL-Verbindungsfehler](#tls-or-ssl-connection-errors). Bei jedem anderen Grund siehe [Überprüfen Sie die Netzwerkverbindung](#check-network-connectivity).617Das Ende der Meldung nennt den Grund. Wenn es sich um einen Zertifikatsfehler wie `unable to verify the first certificate` handelt, siehe [TLS- oder SSL-Verbindungsfehler](#tls-or-ssl-connection-errors). Bei jedem anderen Grund siehe [Netzwerkkonnektivität prüfen](#check-network-connectivity).

618 618 

619### The connection dropped while downloading the update619### Die Verbindung brach beim Herunterladen des Updates ab

620 620 

621Die Verbindung zum Download-Server wurde geschlossen, während `claude install` oder `claude update` die Claude Code-Binärdatei abrief, und die Wiederholungsversuche haben das Problem nicht behoben. Claude Code versucht den Download erneut, wenn die Verbindung abbricht, die Übertragung stockt oder die heruntergeladene Datei die Prüfsummenprüfung nicht besteht, insgesamt bis zu drei Versuche. Ein abgeschlossener HTTP-Fehler, etwa ein 404, wird nicht erneut versucht, da der Server bereits geantwortet hat. Vor v2.1.202 ließ eine einzige abgebrochene Verbindung den Download sofort mit dem bloßen Fehler `aborted` fehlschlagen, statt ihn erneut zu versuchen.621Die Verbindung zum Download-Server wurde geschlossen, während `claude install` oder `claude update` die Claude Code-Binärdatei abrief, und die Wiederholungsversuche konnten das nicht beheben. Claude Code wiederholt den Download, wenn die Verbindung abbricht, die Übertragung stockt oder die heruntergeladene Datei die Prüfsummenkontrolle nicht besteht, bis zu insgesamt drei Versuche. Ein abgeschlossener HTTP-Fehler wie ein 404 wird nicht wiederholt, da der Server bereits geantwortet hat. Vor v2.1.202 ließ eine einzige abgebrochene Verbindung den Download sofort mit dem bloßen Fehler `aborted` fehlschlagen, statt es erneut zu versuchen.

622 622 

623```text theme={null}623```text theme={null}

624The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.624The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

625```625```

626 626 

627Der Text in Klammern nennt, welcher Versuch fehlgeschlagen ist, und den zugrunde liegenden Netzwerkfehler. `claude update` stellt der Meldung auf stderr `Error: Failed to install native update` voran.627Der Text in Klammern nennt den fehlgeschlagenen Versuch und den zugrunde liegenden Netzwerkfehler. `claude update` stellt der Meldung auf stderr `Error: Failed to install native update` voran.

628 628 

629Ein Download, der verbunden bleibt, aber nicht innerhalb von 10 Minuten abgeschlossen wird, schlägt stattdessen mit `Download timed out: exceeded the total deadline` fehl. Claude Code versucht einen Download mit Zeitüberschreitung nicht erneut, da eine Verbindung, die zu langsam ist, um innerhalb der Frist fertig zu werden, auch bei einem sofortigen erneuten Versuch nicht fertig würde. Die folgenden Schritte gelten für beide Meldungen.629Ein Download, der verbunden bleibt, aber nicht innerhalb von 10 Minuten abgeschlossen wird, schlägt stattdessen mit `Download timed out: exceeded the total deadline` fehl. Claude Code wiederholt einen Download nach Zeitüberschreitung nicht, da eine Verbindung, die zu langsam ist, um innerhalb der Frist fertig zu werden, auch bei einem sofortigen erneuten Versuch nicht fertig würde. Die folgenden Schritte gelten für beide Meldungen.

630 630 

631Ein Proxy oder Gateway kann eine lange Übertragung schließen, bevor sie abgeschlossen ist, und die Claude Code-Binärdatei ist ein großer Download.631Ein Proxy oder Gateway kann eine lange Übertragung schließen, bevor sie abgeschlossen ist, und die Claude Code-Binärdatei ist ein großer Download.

632 632 

633**Vorgehensweise:**633**Vorgehensweise:**

634 634 

635* Führen Sie `claude update` erneut aus. In einem ansonsten funktionierenden Netzwerk gelingt der Download beim nächsten Durchlauf in der Regel. Bei der Zeitüberschreitungsmeldung führen Sie den Befehl erneut aus einem schnelleren oder weniger gedrosselten Netzwerk aus.635* Führen Sie `claude update` erneut aus. In einem ansonsten funktionierenden Netzwerk gelingt der Download beim nächsten Durchlauf meist. Bei der Zeitüberschreitungsmeldung führen Sie den Befehl erneut aus einem schnelleren oder weniger gedrosselten Netzwerk aus.

636* Wenn Ihr Netzwerk einen Proxy erfordert, setzen Sie `HTTPS_PROXY`, bevor Sie das Installationsprogramm oder `claude update` ausführen. Siehe [Überprüfen Sie die Netzwerkverbindung](#check-network-connectivity).636* Wenn Ihr Netzwerk einen Proxy erfordert, setzen Sie `HTTPS_PROXY`, bevor Sie das Installationsprogramm oder `claude update` ausführen. Siehe [Netzwerkkonnektivität prüfen](#check-network-connectivity).

637* Wenn ein Unternehmens-Proxy die Übertragung immer wieder schließt, bitten Sie Ihr Netzwerkteam, den vollständigen Download von `downloads.claude.ai` zuzulassen. Siehe [Anforderungen an den Netzwerkzugriff](https://code.claude.com/docs/de/network-config.md#network-access-requirements).637* Wenn ein Unternehmens-Proxy die Übertragung immer wieder schließt, bitten Sie Ihr Netzwerkteam, den vollständigen Download von `downloads.claude.ai` zuzulassen. Siehe [Anforderungen an den Netzwerkzugriff](https://code.claude.com/docs/de/network-config.md#network-access-requirements).

638* Führen Sie `claude doctor` in Ihrer Shell aus, um Installationsdiagnosen zu erhalten638* Führen Sie `claude doctor` in Ihrer Shell aus, um Installationsdiagnosen zu erhalten

639 639 

640### Release verification failed for Claude Code640### Release-Verifizierung für Claude Code fehlgeschlagen

641 641 

642Diese Meldung von `claude update` oder `claude install` bedeutet, dass Claude Code nicht bestätigen konnte, dass das Release, das installiert werden sollte, echt ist, und daher nichts installiert hat. Eine bereits vorhandene Version funktioniert weiterhin.642Diese Meldung von `claude update` oder `claude install` bedeutet, dass Claude Code nicht bestätigen konnte, dass das Release, das installiert werden sollte, echt ist, und daher nichts installiert hat. Jede bereits vorhandene Version funktioniert weiterhin.

643 643 

644```text theme={null}644```text theme={null}

645Release verification failed for Claude Code <version> (<reason>). The update was not installed.645Release verification failed for Claude Code <version> (<reason>). The update was not installed.


650* **Ein Wert, der mit `sidecar_fetch_` beginnt**: Führen Sie denselben Befehl erneut in Ihrer Shell aus. `claude update` war erfolgreich, wenn eine Zeile ausgegeben wird, die mit `Successfully updated from` beginnt, und `claude install` war erfolgreich, wenn `Claude Code successfully installed!` ausgegeben wird.650* **Ein Wert, der mit `sidecar_fetch_` beginnt**: Führen Sie denselben Befehl erneut in Ihrer Shell aus. `claude update` war erfolgreich, wenn eine Zeile ausgegeben wird, die mit `Successfully updated from` beginnt, und `claude install` war erfolgreich, wenn `Claude Code successfully installed!` ausgegeben wird.

651* **Jeder andere Wert**: Versuchen Sie denselben Befehl später erneut651* **Jeder andere Wert**: Versuchen Sie denselben Befehl später erneut

652 652 

653Bei jedem Wert gilt: Wenn die Meldung erneut erscheint, [melden Sie das Problem](#still-stuck) und fügen Sie die vollständige Meldung bei.653Wenn sich die Meldung wiederholt, [melden Sie das Problem](#still-stuck) unabhängig vom Wert und fügen Sie die vollständige Meldung bei.

654 654 

655### `Auto-update failed · Run claude doctor` in der Fußzeile der Sitzung655### `Auto-update failed · Run claude doctor` in der Fußzeile der Sitzung

656 656 

657Diese rote Zeile bedeutet, dass Claude Code versucht hat, sich im Hintergrund zu aktualisieren, und das Update nicht installiert wurde. Sie können weiterarbeiten, ohne etwas zu unternehmen.657Diese rote Zeile bedeutet, dass Claude Code versucht hat, sich im Hintergrund zu aktualisieren, und das Update nicht installiert wurde. Sie können ohne weiteres Zutun weiterarbeiten.

658 658 

659Die Zeile verweist Sie auf `claude doctor`, dessen Zeile `Last update attempt: failed (install_failed)` ein Datum, aber keine Ursache angibt. Um das Update abzuschließen oder zu sehen, warum es fehlgeschlagen ist, führen Sie stattdessen `claude update` in Ihrer Shell aus. Wenn auch diese Installation fehlschlägt, suchen Sie den Fehler, den `claude update` ausgibt, unter [Ihren Fehler finden](#find-your-error).659Die Zeile verweist Sie auf `claude doctor`, dessen Zeile `Last update attempt: failed (install_failed)` ein Datum, aber keine Ursache nennt. Um das Update abzuschließen oder herauszufinden, warum es fehlgeschlagen ist, führen Sie stattdessen `claude update` in Ihrer Shell aus. Wenn auch diese Installation fehlschlägt, suchen Sie den Fehler, den `claude update` ausgibt, unter [Ihren Fehler finden](#find-your-error).

660 660 

661### Falscher Installationsbefehl unter Windows661### Falscher Installationsbefehl unter Windows

662 662 

663Wenn Sie `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'` oder `'bash' is not recognized as the name of a cmdlet` sehen, haben Sie den Installationsbefehl für eine andere Shell oder ein anderes Betriebssystem kopiert. Wenn der Befehl den Text des Skripts ausgibt, statt etwas zu installieren, haben Sie nur einen Teil davon ausgeführt.663Wenn Sie `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'` oder `'bash' is not recognized as the name of a cmdlet` sehen, haben Sie den Installationsbefehl für eine andere Shell oder ein anderes Betriebssystem kopiert. Wenn der Befehl den Text des Skripts ausgibt, statt etwas zu installieren, haben Sie nur einen Teil davon ausgeführt.

664 664 

665* **`irm` nicht erkannt**: Sie befinden sich in CMD, nicht in PowerShell. Sie haben zwei Optionen:665* **`irm` nicht erkannt**: Sie befinden sich in CMD, nicht in PowerShell. Sie haben zwei Möglichkeiten:

666 666 

667 Öffnen Sie PowerShell, indem Sie im Startmenü nach „PowerShell“ suchen, und führen Sie dann den ursprünglichen Installationsbefehl aus:667 Öffnen Sie PowerShell, indem Sie im Startmenü nach „PowerShell“ suchen, und führen Sie dann den ursprünglichen Installationsbefehl aus:

668 668 


676 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd676 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

677 ```677 ```

678 678 

679* **`&&` nicht gültig**: Sie befinden sich in PowerShell, haben aber den CMD-Installationsbefehl ausgeführt. Verwenden Sie das PowerShell-Installationsprogramm:679* **`&&` kein gültiges Anweisungstrennzeichen**: Sie befinden sich in PowerShell, haben aber den Befehl des CMD-Installationsprogramms ausgeführt. Verwenden Sie das PowerShell-Installationsprogramm:

680 ```powershell theme={null}680 ```powershell theme={null}

681 irm https://claude.ai/install.ps1 | iex681 irm https://claude.ai/install.ps1 | iex

682 ```682 ```

683 683 

684* **`A parameter cannot be found that matches parameter name 'fsSL'`**: Sie haben das macOS/Linux `curl -fsSL ... | bash` Installationsprogramm in Windows PowerShell ausgeführt, wo `curl` ein Alias für `Invoke-WebRequest` ist und die `-fsSL` Flags ablehnt. Verwenden Sie stattdessen das PowerShell-Installationsprogramm:684* **`A parameter cannot be found that matches parameter name 'fsSL'`**: Sie haben das macOS/Linux-Installationsprogramm `curl -fsSL ... | bash` in Windows PowerShell ausgeführt, wo `curl` ein Alias für `Invoke-WebRequest` ist und die Flags `-fsSL` ablehnt. Verwenden Sie stattdessen das PowerShell-Installationsprogramm:

685 ```powershell theme={null}685 ```powershell theme={null}

686 irm https://claude.ai/install.ps1 | iex686 irm https://claude.ai/install.ps1 | iex

687 ```687 ```


691 irm https://claude.ai/install.ps1 | iex691 irm https://claude.ai/install.ps1 | iex

692 ```692 ```

693 693 

694* **Der Befehl gibt Skript-Text aus, statt zu installieren**: Sie haben die Download-Hälfte des Befehls ohne den Teil ausgeführt, der ihn ausführt. `irm https://claude.ai/install.ps1` allein gibt das heruntergeladene Skript auf dem Terminal aus. Leiten Sie es an `iex` weiter, um es auszuführen:694* **Der Befehl gibt Skripttext aus, statt zu installieren**: Sie haben die Download-Hälfte des Befehls ohne den Teil ausgeführt, der das Skript ausführt. `irm https://claude.ai/install.ps1` allein gibt das heruntergeladene Skript im Terminal aus. Leiten Sie es per Pipe an `iex` weiter, um es auszuführen:

695 695 

696 ```powershell theme={null}696 ```powershell theme={null}

697 irm https://claude.ai/install.ps1 | iex697 irm https://claude.ai/install.ps1 | iex


703 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd703 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

704 ```704 ```

705 705 

706Welches Installationsprogramm Sie auch verwenden, bestätigen Sie, dass es funktioniert hat: Öffnen Sie ein neues Terminal und führen Sie `claude --version` aus, das eine Versionsnummer wie `2.1.211 (Claude Code)` ausgibt.706Bestätigen Sie unabhängig vom verwendeten Installationsprogramm, dass es funktioniert hat: Öffnen Sie ein neues Terminal und führen Sie `claude --version` aus, das eine Versionsnummer wie `2.1.211 (Claude Code)` ausgibt.

707 707 

708### `running scripts is disabled on this system`708### `running scripts is disabled on this system`

709 709 

710Die Installation oder das Ausführen von Claude Code über npm unter Windows kann mit einem `SecurityError` fehlschlagen:710Das Installieren oder Ausführen von Claude Code über npm unter Windows kann mit einem `SecurityError` fehlschlagen:

711 711 

712```text theme={null}712```text theme={null}

713npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.713npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.


715 + CategoryInfo : SecurityError: (:) [], PSSecurityException715 + CategoryInfo : SecurityError: (:) [], PSSecurityException

716```716```

717 717 

718Der gleiche Fehler nennt `claude.ps1`, wenn Sie `claude` nach einer npm-Installation ausführen. Die Ausführungsrichtlinie von PowerShell blockiert die `.ps1` Launcher-Skripte, die npm für seine Befehle erstellt. Die Richtlinie gilt für Skriptdateien, daher beeinflusst sie nicht das PowerShell-Installationsprogramm `irm https://claude.ai/install.ps1 | iex`, das den heruntergeladenen Text direkt ausführt.718Derselbe Fehler nennt `claude.ps1`, wenn Sie `claude` nach einer npm-Installation ausführen. Die Ausführungsrichtlinie von PowerShell blockiert die `.ps1`-Startskripte, die npm für seine Befehle erstellt. Die Richtlinie gilt für Skriptdateien und betrifft daher nicht das PowerShell-Installationsprogramm `irm https://claude.ai/install.ps1 | iex`, das den heruntergeladenen Text direkt ausführt.

719 719 

720**Lösungen:**720**Lösungen:**

721 721 

7221. **Erlauben Sie lokal erstellte Skripte für Ihren Benutzer**, dann versuchen Sie es erneut:7221. **Lassen Sie lokal erstellte Skripte für Ihren Benutzer zu** und versuchen Sie es dann erneut:

723 ```powershell theme={null}723 ```powershell theme={null}

724 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser724 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

725 ```725 ```

7262. **Rufen Sie stattdessen den `.cmd` Launcher auf**: `npm.cmd` und `claude.cmd` machen das gleiche, und die Richtlinie deckt sie nicht ab.7262. **Rufen Sie stattdessen das `.cmd`-Startprogramm auf**: `npm.cmd` und `claude.cmd` erfüllen dieselbe Aufgabe, und die Richtlinie erfasst sie nicht.

7273. **Verwenden Sie das [PowerShell-Installationsprogramm](https://code.claude.com/docs/de/setup.md#install-claude-code)** statt npm. Es installiert eine Binärdatei statt eines `.ps1` Skripts.7273. **Verwenden Sie das [PowerShell-Installationsprogramm](https://code.claude.com/docs/de/setup.md#install-claude-code)** statt npm. Es installiert eine Binärdatei statt eines `.ps1`-Skripts.

728 728 

729### `The process cannot access the file` während der Windows-Installation729### `The process cannot access the file` während der Windows-Installation

730 730 

731Wenn das PowerShell-Installationsprogramm mit `Failed to download binary: The process cannot access the file ... because it is being used by another process` fehlschlägt, konnte das Installationsprogramm nicht in `%USERPROFILE%\.claude\downloads` schreiben. Dies bedeutet normalerweise, dass ein vorheriger Installationsversuch noch läuft, oder Antivirus-Software scannt eine teilweise heruntergeladene Binärdatei in diesem Ordner.731Wenn das PowerShell-Installationsprogramm mit `Failed to download binary: The process cannot access the file ... because it is being used by another process` fehlschlägt, konnte das Installationsprogramm nicht in `%USERPROFILE%\.claude\downloads` schreiben. Dies bedeutet meist, dass ein früherer Installationsversuch noch läuft oder dass Antivirensoftware eine teilweise heruntergeladene Binärdatei in diesem Ordner scannt.

732 732 

733Schließen Sie alle anderen PowerShell-Fenster, die das Installationsprogramm ausführen, und warten Sie, bis Antivirus-Scans die Datei freigeben. Löschen Sie dann den Downloads-Ordner und führen Sie das Installationsprogramm erneut aus:733Schließen Sie alle anderen PowerShell-Fenster, in denen das Installationsprogramm läuft, und warten Sie, bis Antivirenscans die Datei freigeben. Löschen Sie dann den Download-Ordner und führen Sie das Installationsprogramm erneut aus:

734 734 

735```powershell theme={null}735```powershell theme={null}

736Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"736Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"


739 739 

740### `claude.exe` fehlt nach einem Update unter Windows740### `claude.exe` fehlt nach einem Update unter Windows

741 741 

742Wenn Ihr Terminal direkt nach einem Claude Code-Update unter Windows `'claude' is not recognized` meldet, überprüfen Sie, ob `%USERPROFILE%\.local\bin` immer noch `claude.exe` enthält. Wenn sich dieses Verzeichnis überhaupt nicht auf Ihrem PATH befindet, siehe stattdessen [Überprüfen Sie Ihren PATH](#verify-your-path). Um unter Windows zu aktualisieren, benennt Claude Code die vorhandene `claude.exe` zur Seite in eine Sicherung um und verschiebt die neue Version an ihre Stelle. Wenn das Verschieben der neuen Version an ihre Stelle fehlschlägt und Claude Code die Sicherung auch nicht zurückbenennen kann, behält das Verzeichnis die Sicherung, hat aber keine `claude.exe`.742Wenn Ihr Terminal direkt nach einem Update von Claude Code unter Windows `'claude' is not recognized` meldet, prüfen Sie, ob `%USERPROFILE%\.local\bin` noch `claude.exe` enthält. Wenn sich dieses Verzeichnis überhaupt nicht in Ihrem PATH befindet, siehe stattdessen [Ihren PATH überprüfen](#verify-your-path). Für ein Update unter Windows benennt Claude Code die vorhandene `claude.exe` in eine Sicherung um und verschiebt die neue Version an ihre Stelle. Wenn das Verschieben der neuen Version fehlschlägt und Claude Code die Sicherung auch nicht zurückbenennen kann, enthält das Verzeichnis die Sicherung, aber keine `claude.exe`.

743 743 

744Die Sicherung ist eine Datei im gleichen Verzeichnis, deren Name mit `claude.exe.old.` beginnt, gefolgt von einem numerischen Zeitstempel. Führen Sie Folgendes in PowerShell aus, um die neueste Sicherung zurück zu `claude.exe` umzubenennen:744Die Sicherung ist eine Datei im selben Verzeichnis, deren Name mit `claude.exe.old.` beginnt, gefolgt von einem numerischen Zeitstempel. Führen Sie Folgendes in PowerShell aus, um die neueste Sicherung wieder in `claude.exe` umzubenennen:

745 745 

746```powershell theme={null}746```powershell theme={null}

747Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe747Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe


749 749 

750Führen Sie dann `claude --version` aus, um die Behebung zu bestätigen. Eine wiederhergestellte `claude.exe` gibt eine Versionsnummer aus.750Führen Sie dann `claude --version` aus, um die Behebung zu bestätigen. Eine wiederhergestellte `claude.exe` gibt eine Versionsnummer aus.

751 751 

752Wenn es keine `claude.exe.old.*` Datei gibt, oder `claude` schlägt immer noch nach der Umbenennung fehl, installieren Sie statt:752Wenn es keine `claude.exe.old.*`-Datei gibt oder `claude` nach dem Umbenennen weiterhin fehlschlägt, installieren Sie stattdessen neu:

753 753 

754```powershell theme={null}754```powershell theme={null}

755irm https://claude.ai/install.ps1 | iex755irm https://claude.ai/install.ps1 | iex

756```756```

757 757 

758Vor v2.1.281 konnte Claude Code die Sicherung löschen, während `claude.exe` immer noch fehlte.758Vor v2.1.281 konnte Claude Code die Sicherung löschen, während `claude.exe` noch fehlte.

759 759 

760### Installation auf Linux-Servern mit wenig Speicher beendet760### Installation auf Linux-Servern mit wenig Arbeitsspeicher abgebrochen

761 761 

762Eine `Killed` Meldung während der Installation bedeutet normalerweise, dass der Linux Out-of-Memory (OOM) Killer den `claude install` Schritt beendet hat, weil dem System der Speicher ausgegangen ist. Dies ist häufig auf kleinen VPS und Cloud-Instanzen der Fall. Das Installationsskript meldet die Ursache und beendet sich mit Exit-Code 137. In diesem Beispiel variieren die Zeilennummer und die Prozess-ID je nach Release und Ausführung:762Eine `Killed`-Meldung während der Installation bedeutet meist, dass der Linux-Out-of-Memory-Killer (OOM-Killer) den Schritt `claude install` beendet hat, weil dem System der freie Arbeitsspeicher ausging. Dies ist bei kleinen VPS- und Cloud-Instanzen häufig. Das Installationsskript meldet die Ursache und wird mit Code 137 beendet. In diesem Beispiel variieren Zeilennummer und Prozess-ID je nach Release und Durchlauf:

763 763 

764```text theme={null}764```text theme={null}

765Setting up Claude Code...765Setting up Claude Code...


768Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.768Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

769```769```

770 770 

771Die Installation benötigt ungefähr 512 MB freien Speicher, und das Ausführen von Claude Code benötigt mehr. Siehe die [Systemanforderungen](https://code.claude.com/docs/de/setup.md#system-requirements).771Die Installation benötigt etwa 512 MB freien Arbeitsspeicher, und die Ausführung von Claude Code benötigt mehr. Siehe die [Systemanforderungen](https://code.claude.com/docs/de/setup.md#system-requirements).

772 772 

773**Lösungen:**773**Lösungen:**

774 774 

7751. **Fügen Sie Swap-Speicher hinzu**, wenn Ihr Server über begrenzte RAM verfügt. Swap verwendet Festplattenspeicher als Überlauf-Speicher, sodass die Installation auch bei wenig physischem RAM abgeschlossen werden kann.7751. **Fügen Sie Swap-Speicher hinzu**, wenn Ihr Server über begrenzten RAM verfügt. Swap nutzt Festplattenspeicher als Überlaufspeicher, sodass die Installation auch bei wenig physischem RAM abgeschlossen werden kann.

776 776 

777 Erstellen Sie eine 2-GB-Swap-Datei und aktivieren Sie sie:777 Erstellen Sie eine 2-GB-Swap-Datei und aktivieren Sie sie:

778 778 


783 sudo swapon /swapfile783 sudo swapon /swapfile

784 ```784 ```

785 785 

786 Versuchen Sie dann die Installation erneut:786 Versuchen Sie die Installation dann erneut:

787 787 

788 ```bash theme={null}788 ```bash theme={null}

789 curl -fsSL https://claude.ai/install.sh | bash789 curl -fsSL https://claude.ai/install.sh | bash

790 ```790 ```

791 791 

7922. **Schließen Sie andere Prozesse**, um Speicher vor der Installation freizugeben.7922. **Schließen Sie andere Prozesse**, um vor der Installation Arbeitsspeicher freizugeben.

793 793 

7943. **Verwenden Sie eine größere Instanz**, wenn möglich. Claude Code benötigt mindestens 4 GB RAM.7943. **Verwenden Sie nach Möglichkeit eine größere Instanz**. Claude Code erfordert mindestens 4 GB RAM.

795 795 

796### Installation was killed before it could finish796### Installation was killed before it could finish

797 797 

798Das Installationsskript meldet, wenn der Schritt `claude install` durch ein Signal beendet wird. Unter Linux bedeutet Exit-Code 137, dass der Prozess SIGKILL erhalten hat, und auf einem Host mit wenig Speicher ist das in der Regel der Out-of-Memory (OOM) Killer des Kernels. Das Skript gibt diese Erklärung aus und beendet sich mit Exit-Code 137:798Das Installationsskript meldet, wenn der Schritt `claude install` durch ein Signal beendet wird. Unter Linux bedeutet Exit-Code 137, dass der Prozess SIGKILL erhalten hat, und auf einem Host mit wenig Arbeitsspeicher ist das meist der Out-of-Memory-Killer (OOM-Killer) des Kernels. Das Skript gibt diese Erklärung aus und wird mit Code 137 beendet:

799 799 

800```text theme={null}800```text theme={null}

801Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.801Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

802Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.802Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

803```803```

804 804 

805Bei jedem anderen fatalen Signal und bei Exit-Code 137 unter macOS gibt das Skript `Installation was killed before it could finish (exit code <N>)` mit dem tatsächlichen Exit-Code aus und lässt die Out-of-Memory-Erklärung weg. Die Meldung stammt aus dem Installationsskript, das macOS und Linux verwenden und das auch Installationen innerhalb von WSL abdeckt; die nativen Windows-Installationsskripte geben sie nie aus. Vor v2.1.200 beendete sich das Skript nur mit der bloßen `Killed`-Zeile der Shell.805Bei jedem anderen fatalen Signal und bei Exit-Code 137 unter macOS gibt das Skript `Installation was killed before it could finish (exit code <N>)` mit dem tatsächlichen Exit-Code aus und lässt die Erklärung zum Speichermangel weg. Die Meldung stammt aus dem Installationsskript, das macOS und Linux verwenden und das auch Installationen innerhalb von WSL abdeckt; die nativen Windows-Installationsskripte geben sie nie aus. Vor v2.1.200 wurde das Skript nur mit der bloßen `Killed`-Zeile der Shell beendet.

806 806 

807**Vorgehensweise:**807**Vorgehensweise:**

808 808 

809* Beenden Sie andere Prozesse, um Speicher freizugeben, und führen Sie dann das Installationsprogramm erneut aus809* Beenden Sie andere Prozesse, um Arbeitsspeicher freizugeben, und führen Sie das Installationsprogramm dann erneut aus

810* Fügen Sie Swap-Speicher hinzu oder wechseln Sie zu einer größeren Instanz. Die Befehle für die Swap-Datei finden Sie unter [Installation auf Linux-Servern mit wenig Speicher beendet](#install-killed-on-low-memory-linux-servers).810* Fügen Sie Swap-Speicher hinzu oder wechseln Sie zu einer größeren Instanz. Die Befehle für die Swap-Datei finden Sie unter [Installation auf Linux-Servern mit wenig Arbeitsspeicher abgebrochen](#install-killed-on-low-memory-linux-servers).

811 811 

812### Installation hängt in Docker812### Installation hängt in Docker

813 813 

814Beim Installieren von Claude Code in einem Docker-Container kann die Installation als Root in `/` zu Hängern führen.814Bei der Installation von Claude Code in einem Docker-Container kann eine Installation als root in `/` zu Hängern führen.

815 815 

816**Lösungen:**816**Lösungen:**

817 817 

8181. **Setzen Sie ein Arbeitsverzeichnis**, bevor Sie das Installationsprogramm ausführen. Wenn es von `/` aus ausgeführt wird, scannt das Installationsprogramm das gesamte Dateisystem, was zu übermäßiger Speichernutzung führt. Das Setzen von `WORKDIR` begrenzt den Scan auf ein kleines Verzeichnis:8181. **Legen Sie ein Arbeitsverzeichnis fest**, bevor Sie das Installationsprogramm ausführen. Bei Ausführung aus `/` durchsucht das Installationsprogramm das gesamte Dateisystem, was zu übermäßigem Speicherverbrauch führt. Das Setzen von `WORKDIR` beschränkt die Suche auf ein kleines Verzeichnis:

819 ```dockerfile theme={null}819 ```dockerfile theme={null}

820 WORKDIR /tmp820 WORKDIR /tmp

821 RUN curl -fsSL https://claude.ai/install.sh | bash821 RUN curl -fsSL https://claude.ai/install.sh | bash

822 ```822 ```

823 823 

8242. **Geben Sie Docker mehr Speicher**, wenn Sie Docker Desktop verwenden. Erstellen Sie Container, die den Speicher teilen, der der Docker Desktop Virtual Machine zugewiesen ist, daher öffnen Sie **Settings > Resources** in Docker Desktop, erhöhen Sie das Speicherlimit und führen Sie den Build erneut aus.8242. **Weisen Sie Docker mehr Arbeitsspeicher zu**, wenn Sie Docker Desktop verwenden. Build-Container teilen sich den Arbeitsspeicher, der der virtuellen Maschine von Docker Desktop zugewiesen ist. Öffnen Sie daher in Docker Desktop **Settings > Resources**, erhöhen Sie das Speicherlimit und führen Sie den Build erneut aus.

825 825 

826### `Raw mode is not supported` während der Installation826### `Raw mode is not supported` während der Installation

827 827 

828Wenn die [servergesteuerten Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md) Ihrer Organisation Änderungen enthalten, die [Sicherheitsgenehmigung](https://code.claude.com/docs/de/server-managed-settings.md#security-approval-dialogs) benötigen, versuchen Claude Code-Versionen vor 2.1.246, das Genehmigungsdialog während `claude install` anzuzeigen. Das Dialogfeld benötigt ein Terminal auf stdin. Wenn das Installationsprogramm `claude install` von einer Pipe aus ausführt, wie `curl -fsSL https://claude.ai/install.sh | bash` es tut, ist stdin die Pipe statt eines Terminals, daher schlägt die Installation mit einem Fehler fehl, der `Raw mode is not supported` enthält.828Wenn die [serververwalteten Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md) Ihrer Organisation Änderungen enthalten, die eine [Sicherheitsgenehmigung](https://code.claude.com/docs/de/server-managed-settings.md#security-approval-dialogs) erfordern, versuchen Claude Code-Versionen vor 2.1.246, den Genehmigungsdialog während `claude install` anzuzeigen. Der Dialog benötigt ein Terminal an stdin. Wenn das Installationsprogramm `claude install` aus einer Pipe ausführt, wie es `curl -fsSL https://claude.ai/install.sh | bash` tut, ist stdin die Pipe und kein Terminal, sodass die Installation mit einem Fehler fehlschlägt, der `Raw mode is not supported` enthält.

829 829 

830Claude Code v2.1.246 und später zeigen das Dialogfeld nicht während `claude install` oder `claude update` an. Der Befehl wird mit den Einstellungen ausgeführt, die Sie zuletzt genehmigt haben, und Claude Code zeigt das Dialogfeld in Ihrer nächsten interaktiven Sitzung an. Wenn die Startkonfiguration Ihrer Organisation [auf das Abrufen der Einstellungen wartet](https://code.claude.com/docs/de/server-managed-settings.md#enforce-fail-closed-startup), z. B. wenn sie `forceRemoteSettingsRefresh` setzt, erscheint das Dialogfeld immer noch während dieser Befehle, und eine Installation, die von einer Pipe aus ausgeführt wird, schlägt immer noch fehl.830Claude Code v2.1.246 und höher zeigen den Dialog während `claude install` oder `claude update` nicht an. Der Befehl läuft mit den zuletzt von Ihnen genehmigten Einstellungen, und Claude Code zeigt den Dialog in Ihrer nächsten interaktiven Sitzung an. Wenn die Startkonfiguration Ihrer Organisation [auf das Abrufen der Einstellungen wartet](https://code.claude.com/docs/de/server-managed-settings.md#enforce-fail-closed-startup), etwa wenn sie `forceRemoteSettingsRefresh` setzt, erscheint der Dialog während dieser Befehle weiterhin, und eine aus einer Pipe ausgeführte Installation schlägt weiterhin fehl.

831 831 

832In jeder anderen Konfiguration hilft das erneute Ausführen des Installationsprogramms, diesen Fehler zu beheben, da das Skript den `install`-Befehl der neuesten Version ausführt, auch wenn Sie um die Installation einer älteren Version bitten. Führen Sie den Befehl für Ihre Plattform erneut aus:832In jeder anderen Konfiguration kommen Sie durch erneutes Ausführen des Installationsprogramms über diesen Fehler hinweg, da das Skript den `install`-Befehl des neuesten Releases ausführt, selbst wenn Sie eine ältere Version installieren möchten. Führen Sie den Befehl für Ihre Plattform erneut aus:

833 833 

834> [tab] macOS/Linux834> [tab] macOS/Linux

835>835>


843> irm https://claude.ai/install.ps1 | iex843> irm https://claude.ai/install.ps1 | iex

844> ```844> ```

845 845 

846`claude --version` gibt die Version aus, die die Wiederholung installiert hat.846`claude --version` gibt die Version aus, die durch den erneuten Durchlauf installiert wurde.

847 847 

848### `claude update` oder `claude doctor` hängt848### `claude update` oder `claude doctor` hängt

849 849 

850`claude update` und `claude doctor` scannen Ihre Shell-Konfigurationsdateien nach einem veralteten `claude` Alias: `~/.zshrc`, `~/.bashrc` und `~/.config/fish/config.fish`, plus auf macOS die erste von `~/.bash_profile`, `~/.bash_login` oder `~/.profile`, die existiert. Wenn Sie `ZDOTDIR` setzen, ist die Zsh-Datei stattdessen `$ZDOTDIR/.zshrc`. Wenn einer dieser Pfade ein Verzeichnis ist, überspringt Claude Code ihn und beide Befehle werden normal abgeschlossen. Vor v2.1.214 ließ ein Verzeichnis an einem dieser Pfade beide Befehle hängen und ließ den Abschnitt „System diagnostics“ von `/status` leer. `claude doctor` hängte ohne Ausgabe; `claude update` hängte direkt nach dem Drucken von `Checking for updates`.850`claude update` und `claude doctor` durchsuchen Ihre Shell-Konfigurationsdateien nach einem veralteten `claude`-Alias: `~/.zshrc`, `~/.bashrc` und `~/.config/fish/config.fish` sowie unter macOS die erste vorhandene Datei von `~/.bash_profile`, `~/.bash_login` oder `~/.profile`. Wenn Sie `ZDOTDIR` setzen, ist die Zsh-Datei stattdessen `$ZDOTDIR/.zshrc`. Wenn einer dieser Pfade ein Verzeichnis ist, überspringt Claude Code ihn, und beide Befehle werden normal abgeschlossen. Vor v2.1.214 führte ein Verzeichnis an einem dieser Pfade dazu, dass beide Befehle hingen und der Abschnitt mit der Systemdiagnose von `/status` leer blieb. `claude doctor` hing ohne Ausgabe; `claude update` hing direkt nach der Ausgabe von `Checking for updates`.

851 851 

852Wenn Sie den Hänger auf einer früheren Version treffen, finden Sie das Verzeichnis. In der Ausgabe dieses Befehls markiert eine Zeile, die mit `d` beginnt, diesen Pfad als Verzeichnis. Eine `No such file or directory` Zeile bedeutet, dass an diesem Pfad nichts existiert und nicht die Ursache ist:852Wenn Sie den Hänger in einer früheren Version haben, suchen Sie das Verzeichnis. In der Ausgabe dieses Befehls kennzeichnet eine Zeile, die mit `d` beginnt, diesen Pfad als Verzeichnis. Eine Zeile `No such file or directory` bedeutet, dass an diesem Pfad nichts existiert, und ist nicht die Ursache:

853 853 

854```bash theme={null}854```bash theme={null}

855ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish855ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish

856```856```

857 857 

858Verschieben Sie das Verzeichnis zur Seite, oder aktualisieren Sie auf v2.1.214 oder später. Da `claude update` auf den betroffenen Versionen hängt, aktualisieren Sie stattdessen durch erneutes Ausführen des [Installationsskripts](https://code.claude.com/docs/de/setup.md#install-claude-code).858Verschieben Sie das Verzeichnis an eine andere Stelle oder aktualisieren Sie auf v2.1.214 oder höher. Da `claude update` in den betroffenen Versionen hängt, aktualisieren Sie stattdessen, indem Sie das [Installationsskript](https://code.claude.com/docs/de/setup.md#install-claude-code) erneut ausführen.

859 859 

860### Claude Desktop überschreibt den `claude` Befehl unter Windows860### Claude Desktop überschreibt den Befehl `claude` unter Windows

861 861 

862Wenn Sie eine ältere Version von Claude Desktop installiert haben, kann sie eine `Claude.exe` im `WindowsApps` Verzeichnis registrieren, die PATH-Priorität über Claude Code CLI hat. Das Ausführen von `claude` öffnet die Desktop-App statt der CLI.862Wenn Sie eine ältere Version von Claude Desktop installiert haben, registriert sie möglicherweise eine `Claude.exe` im Verzeichnis `WindowsApps`, die im PATH Vorrang vor der Claude Code CLI hat. Das Ausführen von `claude` öffnet dann die Desktop-App statt der CLI.

863 863 

864Aktualisieren Sie Claude Desktop auf die neueste Version, um dieses Problem zu beheben.864Aktualisieren Sie Claude Desktop auf die neueste Version, um dieses Problem zu beheben.

865 865 

866### Claude Code unter Windows benötigt entweder Git für Windows (für Bash) oder PowerShell866### Claude Code on Windows requires either Git for Windows (for bash) or PowerShell

867 867 

868Git für Windows ist optional. Claude Code verwendet das [PowerShell-Tool](https://code.claude.com/docs/de/tools-reference.md#powershell-tool), wenn Git Bash nicht vorhanden ist, daher bedeutet dieser Fehler, dass keine Shell gefunden wurde.868Git for Windows ist optional. Claude Code verwendet das [PowerShell-Tool](https://code.claude.com/docs/de/tools-reference.md#powershell-tool), wenn Git Bash fehlt, daher bedeutet dieser Fehler, dass keine der beiden Shells gefunden wurde.

869 869 

870**Wenn PowerShell in Ihrem PATH fehlt**, ist sein Standardort `C:\Windows\System32\WindowsPowerShell\v1.0\`. Fügen Sie dieses Verzeichnis zu Ihrem `PATH` hinzu, oder installieren Sie [PowerShell 7](https://aka.ms/powershell), das `pwsh` bereitstellt.870**Wenn PowerShell in Ihrem PATH fehlt**: Der Standardspeicherort ist `C:\Windows\System32\WindowsPowerShell\v1.0\`. Fügen Sie dieses Verzeichnis zu Ihrem `PATH` hinzu oder installieren Sie [PowerShell 7](https://aka.ms/powershell), das `pwsh` bereitstellt.

871 871 

872**Um Git für Windows stattdessen zu installieren**, laden Sie es von [git-scm.com/downloads/win](https://git-scm.com/downloads/win) herunter. Wählen Sie während der Einrichtung „Add to PATH“ aus. Starten Sie Ihr Terminal nach der Installation neu. Die Installation ermöglicht das Bash-Tool, das beim Arbeiten mit Bash-basierten Skripten und Tools nützlich ist.872**Um stattdessen Git for Windows zu installieren**, laden Sie es von [git-scm.com/downloads/win](https://git-scm.com/downloads/win) herunter. Wählen Sie während der Einrichtung „Add to PATH“. Starten Sie Ihr Terminal nach der Installation neu. Die Installation aktiviert das Bash-Tool, das bei der Arbeit mit Bash-basierten Skripten und Tools nützlich ist.

873 873 

874**Wenn Git bereits installiert ist**, aber Claude Code kann es nicht finden, vergleichen Sie seinen Speicherort mit den Stellen, an denen Claude Code sucht. Wenn `CLAUDE_CODE_GIT_BASH_PATH` nicht gesetzt ist, sucht Claude Code nach `bash.exe` in dieser Reihenfolge:874**Wenn Git bereits installiert ist**, Claude Code es aber nicht findet, vergleichen Sie seinen Speicherort mit den Orten, die Claude Code prüft. Wenn `CLAUDE_CODE_GIT_BASH_PATH` nicht gesetzt ist, sucht Claude Code in dieser Reihenfolge nach `bash.exe`:

875 875 

8761. Die Standard-Installationsorte `C:\Program Files\Git` und `C:\Program Files (x86)\Git`.8761. Die Standard-Installationsorte `C:\Program Files\Git` und `C:\Program Files (x86)\Git`.

8772. Das `git` auf Ihrem `PATH`, wobei `bin\bash.exe` aus dieser Git-Installation verwendet wird.8772. Das `git` in Ihrem `PATH`, wobei die `bin\bash.exe` dieser Git-Installation verwendet wird.

878 878 

879In Schritt 2 überspringt Claude Code ein `git`, das sich in dem Ordner befindet, von dem aus Sie Claude Code gestartet haben, oder darunter in einem Pfad, der `node_modules` oder einen Virtual-Environment-Ordner wie `.venv` oder `env` enthält, z. B. `C:\dev\env\myproject\Git`, wenn Sie von `C:\dev\env\myproject` aus gestartet haben. Dies verhindert, dass Claude Code eine ausführbare Datei ausführt, die ein Projekt dort platziert hat. Wenn sich Ihr Git an einem Ort wie diesem befindet, zeigen Sie `CLAUDE_CODE_GIT_BASH_PATH` darauf.879In Schritt 2 überspringt Claude Code ein `git`, das sich in dem Ordner befindet, aus dem Sie Claude Code gestartet haben, oder darunter in einem Pfad, der `node_modules` oder einen Ordner einer virtuellen Umgebung wie `.venv` oder `env` enthält, zum Beispiel `C:\dev\env\myproject\Git`, wenn Sie aus `C:\dev\env\myproject` gestartet haben. Dies verhindert, dass Claude Code eine ausführbare Datei ausführt, die ein Projekt dort abgelegt hat. Wenn sich Ihr Git an einem solchen Ort befindet, richten Sie `CLAUDE_CODE_GIT_BASH_PATH` darauf aus.

880 880 

881**Um Claude Code auf eine bestimmte Git-Installation zu verweisen**, finden Sie sie, indem Sie `where.exe git` in PowerShell ausführen, und setzen Sie dann den `bin\bash.exe` Pfad aus dieser Installation als `CLAUDE_CODE_GIT_BASH_PATH` in Ihrer [settings.json Datei](https://code.claude.com/docs/de/settings.md):881**Um Claude Code auf eine bestimmte Git-Installation zu verweisen**, ermitteln Sie diese, indem Sie `where.exe git` in PowerShell ausführen, und setzen Sie dann den `bin\bash.exe`-Pfad dieser Installation als `CLAUDE_CODE_GIT_BASH_PATH` in Ihrer [settings.json-Datei](https://code.claude.com/docs/de/settings.md):

882 882 

883```json theme={null}883```json theme={null}

884{884{


888}888}

889```889```

890 890 

891**Wenn `CLAUDE_CODE_GIT_BASH_PATH` auf den korrekten Pfad gesetzt ist und die Datei existiert**, aber Claude Code verwendet sie immer noch nicht, überprüfen Sie zuerst den Dateinamen. Claude Code akzeptiert nur eine Datei mit dem Namen `bash.exe`, `sh.exe`, `bash` oder `sh`; mit jedem anderen Namen, wie Git für Windows' `git-bash.exe` Launcher, ignoriert es die Variable und erkennt Git Bash automatisch, als wäre sie nicht gesetzt, und protokolliert eine Warnung, die mit `--debug` sichtbar ist. Ein Pfad, der nicht existiert, erhält die gleiche Fallback und Warnung. Vor v2.1.219 verwendete Claude Code jede existierende Datei als Shell, ohne ihren Namen zu überprüfen, und beendete sich beim Start mit `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path`, wenn der Pfad nicht existierte.891**Wenn `CLAUDE_CODE_GIT_BASH_PATH` auf den richtigen Pfad gesetzt ist und die Datei existiert**, Claude Code sie aber trotzdem nicht verwendet, prüfen Sie zuerst den Namen der Datei. Claude Code akzeptiert nur eine Datei mit dem Namen `bash.exe`, `sh.exe`, `bash` oder `sh`; bei jedem anderen Namen, etwa dem Startprogramm `git-bash.exe` von Git for Windows, ignoriert es die Variable und erkennt Git Bash automatisch, als wäre sie nicht gesetzt, wobei eine mit `--debug` sichtbare Warnung protokolliert wird. Ein Pfad, der nicht existiert, erhält denselben Fallback und dieselbe Warnung. Vor v2.1.219 verwendete Claude Code jede vorhandene Datei ohne Prüfung ihres Namens als Shell und wurde beim Start mit `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` beendet, wenn der Pfad nicht existierte.

892 892 

893Wenn der Dateiname richtig ist, kann Endpoint-Security-Software wie AppLocker, Group Policy-Softwarebeschränkungsrichtlinien oder EDR-Agenten interferieren. Bitten Sie Ihr IT-Team, `claude.exe` und die Prozesse, die es erzeugt, einschließlich `cmd.exe` und `bash.exe`, in Ihrer Endpoint-Protection-Richtlinie auf die Whitelist zu setzen.893Wenn der Dateiname stimmt, stört möglicherweise Endpoint-Sicherheitssoftware wie AppLocker, Softwareeinschränkungsrichtlinien per Gruppenrichtlinie oder EDR-Agenten. Bitten Sie Ihr IT-Team, `claude.exe` und die von ihr gestarteten Prozesse, einschließlich `cmd.exe` und `bash.exe`, in Ihrer Endpoint-Schutzrichtlinie auf die Allowlist zu setzen.

894 894 

895### Claude Code unterstützt 32-Bit Windows nicht895### Claude Code does not support 32-bit Windows

896 896 

897Windows enthält zwei PowerShell-Einträge im Startmenü: `Windows PowerShell` und `Windows PowerShell (x86)`. Der x86-Eintrag wird als 32-Bit-Prozess ausgeführt und löst diesen Fehler auch auf einer 64-Bit-Maschine aus. Um zu überprüfen, welcher Fall vorliegt, führen Sie dies im gleichen Fenster aus, das den Fehler verursacht hat:897Windows enthält zwei PowerShell-Einträge im Startmenü: `Windows PowerShell` und `Windows PowerShell (x86)`. Der x86-Eintrag läuft als 32-Bit-Prozess und löst diesen Fehler auch auf einem 64-Bit-Rechner aus. Um zu prüfen, welcher Fall vorliegt, führen Sie Folgendes in demselben Fenster aus, das den Fehler erzeugt hat:

898 898 

899```powershell theme={null}899```powershell theme={null}

900[Environment]::Is64BitOperatingSystem900[Environment]::Is64BitOperatingSystem

901```901```

902 902 

903Wenn dies `True` ausgibt, ist Ihr Betriebssystem in Ordnung. Schließen Sie das Fenster, öffnen Sie `Windows PowerShell` ohne das x86-Suffix und führen Sie den Installationsbefehl erneut aus.903Wenn `True` ausgegeben wird, ist Ihr Betriebssystem in Ordnung. Schließen Sie das Fenster, öffnen Sie `Windows PowerShell` ohne den Zusatz x86 und führen Sie den Installationsbefehl erneut aus.

904 904 

905Wenn dies `False` ausgibt, befinden Sie sich auf einer 32-Bit-Edition von Windows. Claude Code benötigt ein 64-Bit-Betriebssystem. Siehe die [Systemanforderungen](https://code.claude.com/docs/de/setup.md#system-requirements).905Wenn `False` ausgegeben wird, verwenden Sie eine 32-Bit-Edition von Windows. Claude Code erfordert ein 64-Bit-Betriebssystem. Siehe die [Systemanforderungen](https://code.claude.com/docs/de/setup.md#system-requirements).

906 906 

907### Linux musl oder glibc Binärvarianten-Nichtübereinstimmung907### Linux: musl- oder glibc-Binärdatei passt nicht

908 908 

909Wenn Sie nach der Installation Fehler über fehlende gemeinsame Bibliotheken wie `libstdc++.so.6` oder `libgcc_s.so.1` sehen, hat das Installationsprogramm möglicherweise die falsche Binärvariante für Ihr System heruntergeladen.909Wenn Sie nach der Installation Fehler zu fehlenden gemeinsam genutzten Bibliotheken wie `ld-linux-x86-64.so.2` oder `ld-linux-aarch64.so.1` sehen, hat das Installationsprogramm möglicherweise die falsche Binärvariante für Ihr System heruntergeladen.

910 910 

911```text theme={null}911```text theme={null}

912Error loading shared library libstdc++.so.6: No such file or directory912Error loading shared library ld-linux-x86-64.so.2: No such file or directory

913```913```

914 914 

915Dies kann auf glibc-basierten Systemen geschehen, auf denen musl-Cross-Compilation-Pakete installiert sind, was das Installationsprogramm dazu veranlasst, das System fälschlicherweise als musl zu erkennen.

916 

917**Lösungen:**915**Lösungen:**

918 916 

9191. **Überprüfen Sie, welche libc Ihr System verwendet**:9171. **Prüfen Sie, welche libc Ihr System verwendet**:

920 ```bash theme={null}918 ```bash theme={null}

921 ldd --version 2>&1 | head -1919 ldd --version 2>&1 | head -1

922 ```920 ```

923 Die Ausgabe, die `GNU libc` oder `GLIBC` erwähnt, bedeutet glibc. Die Ausgabe, die `musl` erwähnt, bedeutet musl.921 Eine Ausgabe, die `GNU libc` oder `GLIBC` erwähnt, bedeutet glibc. Eine Ausgabe, die `musl` erwähnt, bedeutet musl.

924 922 

9252. **Wenn Sie auf glibc sind, aber die musl-Binärdatei erhalten haben**, entfernen Sie die Installation und installieren Sie erneut. Sie können die richtige Binärdatei auch manuell mit dem Manifest unter `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json` herunterladen. Melden Sie ein [GitHub-Problem](https://github.com/anthropics/claude-code/issues) mit der Ausgabe von `ldd --version` und `ls /lib/libc.musl*`.9232. **Wenn Sie glibc verwenden, aber die musl-Binärdatei erhalten haben**, entfernen Sie die Installation und installieren Sie neu. Sie können die richtige Binärdatei auch manuell über das Manifest unter `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json` herunterladen. Erstellen Sie ein [GitHub-Issue](https://github.com/anthropics/claude-code/issues) mit der Ausgabe von `ldd --version` und `ls /lib/libc.musl*`.

926 924 

9273. **Wenn Sie sich tatsächlich auf musl befinden**, wie Alpine Linux, installieren Sie die erforderlichen Pakete:9253. **Wenn Sie musl verwenden, aber die glibc-Binärdatei erhalten haben**, [entfernen Sie die Installation](https://code.claude.com/docs/de/setup.md#uninstall-claude-code). Installieren Sie unter Alpine Linux zuerst die Pakete, die unter [Einrichtung für Alpine Linux](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions) genannt werden. Führen Sie dann den [Installationsbefehl](https://code.claude.com/docs/de/setup.md#install-claude-code) aus, der die musl-Binärdatei installiert.

928 ```bash theme={null}

929 apk add libgcc libstdc++ ripgrep

930 ```

931 Auf Alpine befindet sich `ripgrep` im Community-Repository. Wenn `apk` meldet, dass das Paket fehlt, siehe [Alpine Linux-Setup](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions).

932 926 

933### `Illegal instruction`927### `Illegal instruction`

934 928 

935Wenn das Ausführen von `claude` oder dem Installationsprogramm `Illegal instruction` ausgibt, verwendet die native Binärdatei CPU-Befehle, die Ihr Prozessor nicht unterstützt. Es gibt zwei unterschiedliche Ursachen.929Wenn beim Ausführen von `claude` oder des Installationsprogramms `Illegal instruction` ausgegeben wird, verwendet die native Binärdatei CPU-Befehle, die Ihr Prozessor nicht unterstützt. Es gibt zwei verschiedene Ursachen.

936 930 

937**Architektur-Nichtübereinstimmung.** Das Installationsprogramm hat die falsche Binärdatei heruntergeladen, zum Beispiel x86 auf einem ARM-Server. Überprüfen Sie mit `uname -m` auf macOS oder Linux oder `$env:PROCESSOR_ARCHITECTURE` in PowerShell. Wenn das Ergebnis nicht mit der Binärdatei übereinstimmt, die Sie erhalten haben, [melden Sie ein GitHub-Problem](https://github.com/anthropics/claude-code/issues) mit der Ausgabe.931**Architektur passt nicht.** Das Installationsprogramm hat die falsche Binärdatei heruntergeladen, zum Beispiel x86 auf einem ARM-Server. Prüfen Sie dies mit `uname -m` unter macOS oder Linux oder mit `$env:PROCESSOR_ARCHITECTURE` in PowerShell. Wenn das Ergebnis nicht zur erhaltenen Binärdatei passt, [erstellen Sie ein GitHub-Issue](https://github.com/anthropics/claude-code/issues) mit der Ausgabe.

938 932 

939**Fehlender AVX-Befehlssatz.** Wenn Ihre Architektur korrekt ist, aber Sie immer noch `Illegal instruction` sehen, fehlt Ihrer CPU wahrscheinlich AVX oder ein anderer Befehl, den die Binärdatei benötigt. Dies betrifft ungefähr Intel- und AMD-Prozessoren vor 2013 und virtuelle Maschinen, bei denen der Hypervisor AVX nicht an den Gast durchleitet.933**Fehlender AVX-Befehlssatz.** Wenn Ihre Architektur korrekt ist, Sie aber dennoch `Illegal instruction` sehen, fehlt Ihrer CPU wahrscheinlich AVX oder ein anderer Befehl, den die Binärdatei benötigt. Dies betrifft etwa Intel- und AMD-Prozessoren von vor 2013 sowie virtuelle Maschinen, bei denen der Hypervisor AVX nicht an das Gastsystem durchreicht.

940 934 

941Auf einem VPS oder einer VM führen Sie `grep -m1 -ow avx /proc/cpuinfo` aus; ein leeres Ergebnis bedeutet, dass AVX für den Gast nicht verfügbar ist.935Führen Sie auf einem VPS oder einer VM `grep -m1 -ow avx /proc/cpuinfo` aus; ein leeres Ergebnis bedeutet, dass AVX für das Gastsystem nicht verfügbar ist.

942 936 

943Es gibt keine native-binary Umgehung; verfolgen Sie [Problem #50384](https://github.com/anthropics/claude-code/issues/50384) für den Status und geben Sie Ihr CPU-Modell von `grep -m1 "model name" /proc/cpuinfo` unter Linux oder `sysctl -n machdep.cpu.brand_string` auf macOS an, wenn Sie es melden.937Es gibt keine Umgehung für die native Binärdatei; verfolgen Sie den Status in [Issue #50384](https://github.com/anthropics/claude-code/issues/50384) und geben Sie bei einer Meldung Ihr CPU-Modell aus `grep -m1 "model name" /proc/cpuinfo` unter Linux oder `sysctl -n machdep.cpu.brand_string` unter macOS an.

944 938 

945Alternative Installationsmethoden laden die gleiche native Binärdatei herunter und werden keine der beiden Ursachen beheben.939Alternative Installationsmethoden laden dieselbe native Binärdatei herunter und beheben keine der beiden Ursachen.

946 940 

947### `dyld: cannot load` auf macOS941### `dyld: cannot load` unter macOS

948 942 

949Wenn Sie während der Installation `dyld: Symbol not found`, `dyld: cannot load` oder `Abort trap: 6` sehen, ist die Binärdatei mit Ihrer macOS-Version oder Hardware nicht kompatibel.943Wenn Sie während der Installation `dyld: Symbol not found`, `dyld: cannot load` oder `Abort trap: 6` sehen, ist die Binärdatei mit Ihrer macOS-Version oder Hardware nicht kompatibel.

950 944 

951Ein `Symbol not found` Fehler, der auf `libicucore` verweist, bedeutet, dass Ihre macOS-Version älter ist als die Binärdatei unterstützt:945Ein `Symbol not found`-Fehler, der auf `libicucore` verweist, bedeutet, dass Ihre macOS-Version älter ist als die von der Binärdatei unterstützte:

952 946 

953```text theme={null}947```text theme={null}

954dyld: Symbol not found: _ubrk_clone948dyld: Symbol not found: _ubrk_clone


956 Expected in: /usr/lib/libicucore.A.dylib950 Expected in: /usr/lib/libicucore.A.dylib

957```951```

958 952 

959Der Loader kann stattdessen die Befehle zum Laden der Binärdatei ablehnen, was auch bedeutet, dass Ihre macOS-Version zu alt ist:953Der Loader kann stattdessen auch die Ladebefehle der Binärdatei ablehnen, was ebenfalls bedeutet, dass Ihre macOS-Version zu alt ist:

960 954 

961```text theme={null}955```text theme={null}

962dyld: cannot load 'claude-2.1.42-darwin-x64' (load command 0x80000034 is unknown)956dyld: cannot load 'claude-2.1.42-darwin-x64' (load command 0x80000034 is unknown)


965 959 

966**Lösungen:**960**Lösungen:**

967 961 

9681. **Überprüfen Sie Ihre macOS-Version**: Claude Code benötigt macOS 13.0 oder später. Öffnen Sie das Apple-Menü und wählen Sie „Über diesen Mac“, um Ihre Version zu überprüfen.9621. **Prüfen Sie Ihre macOS-Version**: Claude Code erfordert macOS 13.0 oder höher. Öffnen Sie das Apple-Menü und wählen Sie „Über diesen Mac“, um Ihre Version zu prüfen.

969 963 

9702. **Aktualisieren Sie macOS**, wenn Sie eine ältere Version verwenden. Die Binärdatei verwendet Befehle und Systembibliotheken, die ältere macOS-Versionen nicht unterstützen. Alternative Installationsmethoden wie Homebrew laden die gleiche Binärdatei herunter und werden diesen Fehler nicht beheben.9642. **Aktualisieren Sie macOS**, wenn Sie eine ältere Version verwenden. Die Binärdatei verwendet Ladebefehle und Systembibliotheken, die ältere macOS-Versionen nicht unterstützen. Alternative Installationsmethoden wie Homebrew laden dieselbe Binärdatei herunter und beheben diesen Fehler nicht.

971 965 

972### `Bus error` während einer laufenden Sitzung966### `Bus error` während einer laufenden Sitzung

973 967 

974Wenn eine laufende Sitzung beendet wird und Ihre Shell `Bus error` ausgibt, besteht eine mögliche Ursache darin, dass Claude Code seine eigene ausführbare Datei nicht mehr vom Datenträger lesen konnte. Beispielsweise wurde die Datei während der Sitzung gekürzt oder auf einem Netzwerkspeicher gelöscht.968Wenn eine laufende Sitzung beendet wird und Ihre Shell `Bus error` ausgibt, kann eine Ursache sein, dass Claude Code seine eigene ausführbare Datei nicht mehr von der Festplatte lesen konnte. Beispielsweise wurde die Datei abgeschnitten oder auf einem Netzwerkspeicher gelöscht, während die Sitzung lief.

975 969 

976Vor der Meldung der Shell kann die Laufzeitumgebung von Claude Code einen Absturzbericht ausgeben, der `panic(main thread): Bus error at address` und `oh no: Bun has crashed. This indicates a bug in Bun, not your code.` enthält. Wenn die ausführbare Datei unlesbar wurde, stammt der Absturz von der unlesbaren Datei, nicht von einem Fehler in Bun. Der Bericht kann auch fehlen, wenn die Laufzeitumgebung auch den Code, der ihn ausgibt, nicht lesen konnte.970Vor der Meldung der Shell kann die Laufzeitumgebung von Claude Code einen Absturzbericht ausgeben, der `panic(main thread): Bus error at address` und `oh no: Bun has crashed. This indicates a bug in Bun, not your code.` enthält. Wenn die ausführbare Datei unlesbar wurde, stammt der Absturz von der unlesbaren Datei, nicht von einem Fehler in Bun. Der Bericht kann auch fehlen, wenn die Laufzeitumgebung auch den Code, der ihn ausgibt, nicht lesen konnte.

977 971 

978Starten Sie eine neue Sitzung, um fortzufahren. Wenn Claude Code auf einem Netzwerkspeicher installiert ist, folgen Sie [Installation auf Netzwerkspeicher](https://code.claude.com/docs/de/setup.md#install-on-network-storage), damit Upgrades keine Binärdatei entfernen, die laufende Sitzungen noch benötigen.972Starten Sie eine neue Sitzung, um fortzufahren. Wenn Claude Code auf einem Netzwerkspeicher installiert ist, folgen Sie [Auf Netzwerkspeicher installieren](https://code.claude.com/docs/de/setup.md#install-on-network-storage), damit Upgrades keine Binärdatei entfernen, die laufende Sitzungen noch benötigen.

979 973 

980### `Exec format error` auf WSL1974### `Exec format error` unter WSL1

981 975 

982Wenn das Ausführen von `claude` in WSL `cannot execute binary file: Exec format error` ausgibt, befinden Sie sich auf WSL1 und treffen auf eine bekannte native-binary Regression, die in [Problem #38788](https://github.com/anthropics/claude-code/issues/38788) verfolgt wird. Die Programm-Header der Binärdatei haben sich auf eine Weise geändert, die der WSL1-Loader nicht verarbeiten kann.976Wenn beim Ausführen von `claude` in WSL `cannot execute binary file: Exec format error` ausgegeben wird, verwenden Sie WSL1 und stoßen auf eine bekannte Regression der nativen Binärdatei, die in [Issue #38788](https://github.com/anthropics/claude-code/issues/38788) verfolgt wird. Die Programm-Header der Binärdatei haben sich auf eine Weise geändert, mit der der Loader von WSL1 nicht umgehen kann.

983 977 

984Die sauberste Behebung ist die Konvertierung Ihrer Distribution zu WSL2 von PowerShell:978Die sauberste Lösung ist, Ihre Distribution in PowerShell auf WSL2 umzustellen:

985 979 

986```powershell theme={null}980```powershell theme={null}

987wsl --set-version <DistroName> 2981wsl --set-version <DistroName> 2

988```982```

989 983 

990Wenn Sie auf WSL1 bleiben müssen, rufen Sie die Binärdatei über den dynamischen Linker auf. Fügen Sie diese Funktion zu `~/.bashrc` in WSL hinzu, ersetzen Sie den Pfad, wenn sich Ihr Home-Verzeichnis unterscheidet:984Wenn Sie bei WSL1 bleiben müssen, rufen Sie die Binärdatei über den dynamischen Linker auf. Fügen Sie diese Funktion innerhalb von WSL zu `~/.bashrc` hinzu und ersetzen Sie den Pfad, falls Ihr Home-Verzeichnis abweicht:

991 985 

992```bash theme={null}986```bash theme={null}

993claude() {987claude() {


999 993 

1000### npm-Installationsfehler in WSL994### npm-Installationsfehler in WSL

1001 995 

1002Diese Probleme gelten, wenn Sie Claude Code mit `npm install -g` in WSL installiert haben. Wenn Sie das [native Installationsprogramm](https://code.claude.com/docs/de/setup.md) verwendet haben, überspringen Sie diesen Abschnitt. Unter npm 12 installieren Sie wie unter [Eine npm-12-Installation reparieren](#fix-an-npm-12-install) beschrieben.996Diese Probleme gelten, wenn Sie Claude Code mit `npm install -g` innerhalb von WSL installiert haben. Wenn Sie das [native Installationsprogramm](https://code.claude.com/docs/de/setup.md) verwendet haben, überspringen Sie diesen Abschnitt. Installieren Sie unter npm 12 wie unter [Eine npm-12-Installation reparieren](#fix-an-npm-12-install) beschrieben.

1003 997 

1004**Betriebssystem- oder Plattformerkennung Probleme.** Wenn npm während der Installation einen Plattform-Nichtübereinstimmung meldet, verwendet WSL wahrscheinlich das Windows `npm`. Führen Sie zuerst `npm config set os linux` aus, dann installieren Sie mit `npm install -g @anthropic-ai/claude-code --force`. Verwenden Sie nicht `sudo`.998**Probleme bei der Betriebssystem- oder Plattformerkennung.** Wenn npm während der Installation eine nicht passende Plattform meldet, führen Sie zuerst `npm config set os linux` aus und installieren Sie dann mit `npm install -g @anthropic-ai/claude-code@latest --force`. Verwenden Sie nicht `sudo`.

1005 999 

1006**`exec: node: not found` beim Ausführen von `claude`.** Ihre WSL-Umgebung verwendet wahrscheinlich die Windows-Installation von Node.js. Bestätigen Sie mit `which npm` und `which node`: Pfade, die mit `/mnt/c/` beginnen, sind Windows-Binärdateien, während Linux-Pfade mit `/usr/` beginnen. Um dies zu beheben, installieren Sie Node über den Paketmanager Ihrer Linux-Distribution oder über [`nvm`](https://github.com/nvm-sh/nvm).1000**`exec: node: not found` beim Ausführen von `claude`.** Ihre WSL-Umgebung verwendet wahrscheinlich die Windows-Installation von Node.js. Bestätigen Sie dies mit `which npm` und `which node`: Pfade, die mit `/mnt/c/` beginnen, sind Windows-Binärdateien, während Linux-Pfade mit `/usr/` beginnen. Um dies zu beheben, installieren Sie Node über den Paketmanager Ihrer Linux-Distribution oder über [`nvm`](https://github.com/nvm-sh/nvm).

1007 1001 

1008**nvm Versionskonflikte.** Wenn Sie nvm sowohl in WSL als auch in Windows installiert haben, kann das Wechseln von Node-Versionen in WSL fehlschlagen, da WSL standardmäßig den Windows-PATH importiert und das Windows-nvm Priorität hat. Die häufigste Ursache ist, dass nvm nicht in Ihrer Shell geladen wird. Fügen Sie den nvm-Loader zu `~/.bashrc` oder `~/.zshrc` hinzu:1002**nvm-Versionskonflikte.** Wenn Sie nvm sowohl in WSL als auch in Windows installiert haben, kann das Wechseln von Node-Versionen in WSL fehlschlagen, weil WSL standardmäßig den Windows-PATH importiert und das Windows-nvm Vorrang hat. Die häufigste Ursache ist, dass nvm in Ihrer Shell nicht geladen ist. Fügen Sie den nvm-Loader zu `~/.bashrc` oder `~/.zshrc` hinzu:

1009 1003 

1010```bash theme={null}1004```bash theme={null}

1011export NVM_DIR="$HOME/.nvm"1005export NVM_DIR="$HOME/.nvm"


1013[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"1007[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

1014```1008```

1015 1009 

1016Oder laden Sie es in Ihrer aktuellen Sitzung:1010Oder laden Sie ihn in Ihrer aktuellen Sitzung:

1017 1011 

1018```bash theme={null}1012```bash theme={null}

1019source ~/.nvm/nvm.sh1013source ~/.nvm/nvm.sh

1020```1014```

1021 1015 

1022Wenn nvm geladen ist, aber Windows-Pfade immer noch Priorität haben, stellen Sie Ihren Linux-Node-Pfad explizit voran:1016Wenn nvm geladen ist, Windows-Pfade aber weiterhin Vorrang haben, stellen Sie Ihren Linux-Node-Pfad explizit voran:

1023 1017 

1024```bash theme={null}1018```bash theme={null}

1025export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"1019export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"


1027 1021 

1028> [!WARNING]1022> [!WARNING]

1029>1023>

1030> Vermeiden Sie das Deaktivieren des Windows-PATH-Imports über `appendWindowsPath = false`, da dies die Möglichkeit bricht, Windows-Ausführbare aus WSL aufzurufen. Vermeiden Sie auch das Deinstallieren von Node.js von Windows, wenn Sie es für Windows-Entwicklung verwenden.1024> Vermeiden Sie es, den Import des Windows-PATH über `appendWindowsPath = false` zu deaktivieren, da dies die Möglichkeit unterbindet, Windows-Programme aus WSL aufzurufen. Vermeiden Sie ebenso, Node.js unter Windows zu deinstallieren, wenn Sie es für die Windows-Entwicklung verwenden.

1031 1025 

1032### Berechtigungsfehler während der Installation1026### Berechtigungsfehler während der Installation

1033 1027 

1034Wenn das native Installationsprogramm mit Berechtigungsfehlern fehlschlägt, ist das Zielverzeichnis möglicherweise nicht beschreibbar. Siehe [Überprüfen Sie Verzeichnisberechtigungen](#check-directory-permissions).1028Wenn das native Installationsprogramm mit Berechtigungsfehlern fehlschlägt, ist das Zielverzeichnis möglicherweise nicht beschreibbar. Siehe [Verzeichnisberechtigungen prüfen](#check-directory-permissions).

1035 1029 

1036Wenn Sie zuvor mit npm installiert haben und npm-spezifische Berechtigungsfehler erhalten, wechseln Sie zum nativen Installationsprogramm:1030Wenn Sie zuvor mit npm installiert haben und auf npm-spezifische Berechtigungsfehler stoßen, wechseln Sie zum nativen Installationsprogramm:

1037 1031 

1038```bash theme={null}1032```bash theme={null}

1039curl -fsSL https://claude.ai/install.sh | bash1033curl -fsSL https://claude.ai/install.sh | bash

1040```1034```

1041 1035 

1042### Native Binärdatei nicht gefunden nach npm-Installation1036### Native Binärdatei nach npm-Installation nicht gefunden

1043 1037 

1044Das `@anthropic-ai/claude-code` npm-Paket lädt die native Binärdatei als pro-Plattform optionale Abhängigkeit herunter, z. B. `@anthropic-ai/claude-code-darwin-arm64`. `claude` ist ein Platzhalter-Skript, bis der Postinstall-Schritt des Pakets `@anthropic-ai/claude-code` ausgeführt wird und den Platzhalter durch diese Binärdatei ersetzt. Wenn entweder der Download oder der Postinstall-Schritt übersprungen wird, bleibt der Platzhalter vorhanden, und das Ausführen von `claude` auf macOS und Linux gibt aus:1038Das npm-Paket `@anthropic-ai/claude-code` lädt die native Binärdatei als plattformspezifische optionale Abhängigkeit herunter, etwa `@anthropic-ai/claude-code-darwin-arm64`. `claude` ist ein Platzhalterskript, bis der Postinstall-Schritt des Pakets `@anthropic-ai/claude-code` ausgeführt wird und den Platzhalter durch diese Binärdatei ersetzt. Wenn entweder der Download oder der Postinstall-Schritt übersprungen wird, bleibt der Platzhalter bestehen, und das Ausführen von `claude` unter macOS und Linux gibt Folgendes aus:

1045 1039 

1046```text theme={null}1040```text theme={null}

1047Error: claude native binary not installed.1041Error: claude native binary not installed.


1056Or reinstall without --ignore-scripts / --omit=optional.1050Or reinstall without --ignore-scripts / --omit=optional.

1057```1051```

1058 1052 

1059Unter Windows ist `bin/claude.exe` dieser gleiche Shell-Skript-Platzhalter statt einer echten ausführbaren Datei, daher melden PowerShell und CMD, dass sie die Datei nicht ausführen können, statt diese Meldung auszugeben.1053Unter Windows ist `bin/claude.exe` derselbe Shell-Skript-Platzhalter und keine echte ausführbare Datei, daher melden PowerShell und CMD, dass sie die Datei nicht ausführen können, statt diese Meldung auszugeben.

1060 1054 

1061Überprüfen Sie die folgenden Ursachen:1055Prüfen Sie die folgenden Ursachen:

1062 1056 

1063* **npm 12 überspringt den Postinstall-Schritt standardmäßig.** Wenn Sie Claude Code mit npm 12 installieren oder aktualisieren, schließt npm die Installation trotzdem ab, ohne den Schritt auszuführen. Siehe [Eine npm-12-Installation reparieren](#fix-an-npm-12-install).1057* **npm 12 überspringt den Postinstall-Schritt standardmäßig.** Wenn Sie Claude Code mit npm 12 installieren oder aktualisieren, schließt npm die Installation trotzdem ab, ohne den Schritt auszuführen. Siehe [Eine npm-12-Installation reparieren](#fix-an-npm-12-install).

1064* **Optionale Abhängigkeiten sind deaktiviert.** Entfernen Sie `--omit=optional` aus Ihrem npm-Installationsbefehl, `--no-optional` von pnpm oder `--ignore-optional` von yarn, und überprüfen Sie, dass `.npmrc` nicht `optional=false` setzt. Dann installieren Sie erneut. Die native Binärdatei wird nur als optionale Abhängigkeit bereitgestellt, daher gibt es keinen JavaScript-Fallback, wenn sie übersprungen wird, und das erneute Ausführen von `install.cjs` kann keine Binärdatei verknüpfen, die nie heruntergeladen wurde.1058* **Optionale Abhängigkeiten sind deaktiviert.** Entfernen Sie `--omit=optional` aus Ihrem npm-Installationsbefehl, `--no-optional` bei pnpm oder `--ignore-optional` bei yarn, und prüfen Sie, dass `.npmrc` nicht `optional=false` setzt. Installieren Sie dann neu. Die native Binärdatei wird nur als optionale Abhängigkeit ausgeliefert, daher gibt es keinen JavaScript-Fallback, wenn sie übersprungen wird, und ein erneutes Ausführen von `install.cjs` kann keine Binärdatei platzieren, die nie heruntergeladen wurde.

1065* **Installationsskripte sind deaktiviert.** `--ignore-scripts` und einige pnpm-Konfigurationen überspringen den Postinstall-Schritt, laden aber immer noch das Plattform-Paket herunter. Führen Sie `node node_modules/@anthropic-ai/claude-code/install.cjs` wie in der Meldung vorgeschlagen aus, oder installieren Sie erneut ohne das Flag. Wenn Postinstall in Ihrer Umgebung überhaupt nicht ausgeführt werden kann, findet `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` das heruntergeladene Paket und startet es auf Kosten eines zusätzlichen Node-Prozesses bei jedem Start. Wenn der Wrapper stattdessen `Could not find native binary package` ausgibt, wurde das Plattform-Paket nie heruntergeladen, daher beheben Sie zuerst die Ursache der optionalen Abhängigkeiten oben.1059* **Installationsskripte sind deaktiviert.** `--ignore-scripts` und einige pnpm-Konfigurationen überspringen den Postinstall-Schritt, laden das Plattformpaket aber trotzdem herunter. Führen Sie `node node_modules/@anthropic-ai/claude-code/install.cjs` aus, wie die Meldung vorschlägt, oder installieren Sie ohne das Flag neu. Wenn Postinstall in Ihrer Umgebung überhaupt nicht ausgeführt werden kann, findet `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` das heruntergeladene Paket und startet es, auf Kosten eines zusätzlichen Node-Prozesses bei jedem Start. Wenn der Wrapper stattdessen `Could not find native binary package` ausgibt, wurde das Plattformpaket nie heruntergeladen; beheben Sie also zuerst die oben genannte Ursache mit den optionalen Abhängigkeiten.

1066* **Nicht unterstützte Plattform.** Vorkompilierte Binärdateien werden für `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` und `win32-arm64` veröffentlicht. Claude Code liefert keine Binärdatei für andere Plattformen; siehe die [Systemanforderungen](https://code.claude.com/docs/de/setup.md#system-requirements). Auf FreeBSD meldet das Installationsprogramm die Plattform als nicht unterstützt. Vor v2.1.205 behandelte es FreeBSD als Linux und lud eine Binärdatei herunter, die nicht ausgeführt werden konnte.1060* **Nicht unterstützte Plattform.** Vorkompilierte Binärdateien werden für `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` und `win32-arm64` veröffentlicht. Claude Code liefert keine Binärdatei für andere Plattformen aus; siehe die [Systemanforderungen](https://code.claude.com/docs/de/setup.md#system-requirements). Unter FreeBSD meldet das Installationsprogramm die Plattform als nicht unterstützt. Vor v2.1.205 behandelte es FreeBSD als Linux und lud eine Binärdatei herunter, die nicht ausgeführt werden konnte.

1067* **Unternehmens-npm-Spiegel fehlen die Plattform-Pakete.** Stellen Sie sicher, dass Ihr Registry alle acht `@anthropic-ai/claude-code-*` Plattform-Pakete zusätzlich zum Meta-Paket spiegelt.1061* **Dem npm-Mirror des Unternehmens fehlen die Plattformpakete.** Stellen Sie sicher, dass Ihre Registry zusätzlich zum Metapaket alle acht `@anthropic-ai/claude-code-*`-Plattformpakete spiegelt.

1068 1062 

1069#### Eine npm-12-Installation reparieren1063#### Eine npm-12-Installation reparieren

1070 1064 

1071Wenn `claude` nach einer npm-Installation oder einem Update `Error: claude native binary not installed.` ausgibt oder die Shell es unter Windows nicht ausführen kann, führen Sie `npm --version` aus. Eine Version, die mit `12` beginnt, bedeutet, dass npm den Postinstall-Schritt von Claude Code übersprungen hat, sofern Ihre npm-Konfiguration ihn nicht erlaubt; dieser Schritt platziert die Binärdatei. Bei jeder anderen Version prüfen Sie die [anderen Ursachen](#native-binary-not-found-after-npm-install).1065Wenn `claude` nach einer npm-Installation oder einem Update `Error: claude native binary not installed.` ausgibt oder die Shell es unter Windows nicht ausführen kann, führen Sie `npm --version` aus. Eine Version, die mit `12` beginnt, bedeutet, dass npm den Postinstall-Schritt von Claude Code, der die Binärdatei platziert, übersprungen hat, es sei denn, Ihre npm-Konfiguration lässt ihn zu. Bei jeder anderen Version prüfen Sie die [anderen Ursachen](#native-binary-not-found-after-npm-install).

1072 1066 

1073Um eine npm-12-Installation zu reparieren, wechseln Sie zum nativen Installationsprogramm oder erlauben Sie den Schritt:1067Um eine npm-12-Installation zu reparieren, wechseln Sie zum nativen Installationsprogramm oder lassen Sie den Schritt zu:

1074 1068 

1075* **Zum nativen Installationsprogramm wechseln**: [Installieren Sie mit dem nativen Installationsprogramm](https://code.claude.com/docs/de/setup.md#install-claude-code) und [deinstallieren Sie dann das npm-Paket](https://code.claude.com/docs/de/setup.md#uninstall-with-npm). Updates verwenden dann kein npm mehr, sodass der Fehler nicht zurückkehrt.1069* **Zum nativen Installationsprogramm wechseln**: [Installieren Sie mit dem nativen Installationsprogramm](https://code.claude.com/docs/de/setup.md#install-claude-code) und [deinstallieren Sie dann das npm-Paket](https://code.claude.com/docs/de/setup.md#uninstall-with-npm). Updates verwenden dann kein npm, sodass der Fehler nicht zurückkehrt.

1076* **Bei npm bleiben**: Fügen Sie für eine globale npm-Installation Claude Code zu `allow-scripts` in Ihrer npm-Benutzerkonfiguration hinzu. npm führt dann die Installationsskripte von Claude Code bei jeder späteren Installation und jedem späteren Update aus, ebenso bei Projektinstallationen, deren `package.json` kein `allowScripts` festlegt.1070* **Bei npm bleiben**: Fügen Sie bei einer globalen npm-Installation Claude Code zu `allow-scripts` in Ihrer Benutzer-npm-Konfiguration hinzu. npm führt dann die Installationsskripte von Claude Code bei jeder späteren Installation und jedem Update aus sowie bei Projektinstallationen, deren `package.json` kein `allowScripts` setzt.

1077 1071 

1078 Verwenden Sie das native Installationsprogramm für eine lokale Installation in `~/.claude/local`. Verwenden Sie es auch, wenn die Skripte in Ihrer `package.json` `npm install` aufrufen und Sie diese mit pnpm 9, pnpm 10, Yarn 1 oder einem anderen Tool ausführen, das ihnen diese Einstellung übergibt. Unter npm 12.1 und höher können diese Installationen mit `EALLOWSCRIPTS` fehlschlagen, sobald die Einstellung gespeichert ist.1072 Verwenden Sie für eine lokale Installation in `~/.claude/local` das native Installationsprogramm. Verwenden Sie es auch, wenn die Skripte in Ihrer `package.json` `npm install` aufrufen und Sie diese mit pnpm 9, pnpm 10, Yarn 1 oder einem anderen Tool ausführen, das ihnen diese Einstellung übergibt. Unter npm 12.1 und höher können diese Installationen mit `EALLOWSCRIPTS` fehlschlagen, sobald die Einstellung gespeichert ist.

1079 1073 

1080 1. Wenn `npm --version` 12.0.x ausgegeben hat, aktualisieren Sie npm auf 12.1 oder höher, z. B. mit `npm install -g npm@latest`. Unter 12.0.x können Projektinstallationen, die ein `npx`-Tool oder ein `npm run`-Skript startet, mit `EALLOWSCRIPTS` fehlschlagen, sobald die Einstellung gespeichert ist.1074 1. Wenn `npm --version` 12.0.x ausgegeben hat, aktualisieren Sie npm auf 12.1 oder höher, zum Beispiel mit `npm install -g npm@latest`. Unter 12.0.x können Projektinstallationen, die ein `npx`-Tool oder ein `npm run`-Skript startet, mit `EALLOWSCRIPTS` fehlschlagen, sobald die Einstellung gespeichert ist.

1081 1075 

1082 2. Führen Sie `npm config get allow-scripts` aus und notieren Sie alle aufgeführten Pakete, da der nächste Befehl den gesamten Wert ersetzt. Speichern Sie die Einstellung mit diesen Paketen innerhalb der Anführungszeichen, wie in `"allow-scripts=@anthropic-ai/claude-code,<package>"`:1076 2. Führen Sie `npm config get allow-scripts` aus und notieren Sie alle aufgeführten Pakete, da der nächste Befehl den gesamten Wert ersetzt. Speichern Sie die Einstellung mit diesen Paketen innerhalb der Anführungszeichen, wie in `"allow-scripts=@anthropic-ai/claude-code,<package>"`:

1083 1077 


1085 npm config set "allow-scripts=@anthropic-ai/claude-code" --location=user1079 npm config set "allow-scripts=@anthropic-ai/claude-code" --location=user

1086 ```1080 ```

1087 1081 

1088 3. Installieren Sie erneut:1082 3. Installieren Sie neu:

1089 1083 

1090 ```bash theme={null}1084 ```bash theme={null}

1091 npm install -g @anthropic-ai/claude-code1085 npm install -g @anthropic-ai/claude-code@latest

1092 ```1086 ```

1093 1087 

1094 Wenn dieser Schritt oder Schritt 1 mit `EACCES` fehlschlägt, wechseln Sie zum nativen Installationsprogramm, statt den Befehl mit `sudo` erneut auszuführen. Claude Code führt npm ohne `sudo` aus, wenn es sich selbst aktualisiert, daher würden automatische Updates auf die gleiche Weise fehlschlagen.1088 Wenn dieser Befehl oder Schritt 1 mit `EACCES` fehlschlägt, wechseln Sie zum nativen Installationsprogramm, statt den Befehl mit `sudo` erneut auszuführen. Claude Code führt npm ohne `sudo` aus, wenn es sich selbst aktualisiert, sodass automatische Updates auf dieselbe Weise fehlschlagen würden.

1095 1089 

1096 4. Wenn `claude --version` keine Versionsnummer ausgibt, prüfen Sie die [anderen Ursachen](#native-binary-not-found-after-npm-install).1090 4. Wenn `claude --version` keine Versionsnummer ausgibt, prüfen Sie die [anderen Ursachen](#native-binary-not-found-after-npm-install).

1097 1091 

1098 Zum Rückgängigmachen setzen Sie die Liste erneut ohne `@anthropic-ai/claude-code` oder entfernen die gesamte Liste mit `npm config delete allow-scripts --location=user`. Unter npm 12 tritt der Fehler dann nach Ihrem nächsten Update erneut auf.1092 Zum Rückgängigmachen setzen Sie die Liste erneut ohne `@anthropic-ai/claude-code` oder entfernen die gesamte Liste mit `npm config delete allow-scripts --location=user`. Unter npm 12 tritt der Fehler dann nach Ihrem nächsten Update wieder auf.

1099 1093 

1100### npm `ENOTEMPTY` Fehler während Update oder Neuinstallation1094### npm-Fehler `ENOTEMPTY` beim Update oder bei der Neuinstallation

1101 1095 

1102Wenn Sie `npm install -g @anthropic-ai/claude-code` über eine bestehende Installation ausführen, kann npm beim Verschieben des alten Paketverzeichnisses fehlschlagen:1096Wenn Sie `npm install -g @anthropic-ai/claude-code@latest` über eine bestehende Installation ausführen, kann npm beim Verschieben des alten Paketverzeichnisses fehlschlagen:

1103 1097 

1104```text theme={null}1098```text theme={null}

1105npm error code ENOTEMPTY1099npm error code ENOTEMPTY


1110npm error ENOTEMPTY: directory not empty, rename '...'1104npm error ENOTEMPTY: directory not empty, rename '...'

1111```1105```

1112 1106 

1113Die `npm error path` Zeile nennt das Verzeichnis, das npm nicht verschieben konnte. Löschen Sie dieses Verzeichnis und alle verbleibenden `.claude-code-*` Verzeichnisse daneben, die frühere unterbrochene Läufe hinterlassen können. Die folgenden Befehle finden Ihr globales Paketverzeichnis mit `npm root -g`; wenn das Verzeichnis, das die `npm error path` Zeile nennt, nicht unter dem Verzeichnis liegt, das `npm root -g` ausgibt, z. B. weil Sie Node-Versionen mit nvm gewechselt haben, löschen Sie stattdessen die Verzeichnisse, die der Fehler nennt:1107Die Zeile `npm error path` nennt das Verzeichnis, das npm nicht verschieben konnte. Löschen Sie dieses Verzeichnis sowie alle übrig gebliebenen `.claude-code-*`-Verzeichnisse daneben, die frühere unterbrochene Durchläufe hinterlassen können. Die folgenden Befehle ermitteln Ihr globales Paketverzeichnis mit `npm root -g`; wenn das Verzeichnis, das die Zeile `npm error path` nennt, nicht unter dem von `npm root -g` ausgegebenen Verzeichnis liegt, zum Beispiel weil Sie mit nvm die Node-Version gewechselt haben, löschen Sie stattdessen die Verzeichnisse, die der Fehler nennt:

1114 1108 

1115> [tab] macOS/Linux1109> [tab] macOS/Linux

1116>1110>


1118> rm -rf "$(npm root -g)/@anthropic-ai/claude-code"1112> rm -rf "$(npm root -g)/@anthropic-ai/claude-code"

1119> ```1113> ```

1120>1114>

1121> Löschen Sie dann alle verbleibenden Temp-Verzeichnisse. Wenn zsh `no matches found` ausgibt, gab es keine zu löschenden:1115> Entfernen Sie dann alle übrig gebliebenen temporären Verzeichnisse. Wenn Zsh `no matches found` ausgibt, gab es keine zu entfernen:

1122>1116>

1123> ```bash theme={null}1117> ```bash theme={null}

1124> rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*1118> rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*


1130> Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"1124> Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"

1131> ```1125> ```

1132 1126 

1133Installieren Sie dann erneut. Unter npm 12 folgen Sie [Eine npm-12-Installation reparieren](#fix-an-npm-12-install). Andernfalls führen Sie Folgendes aus:1127Installieren Sie dann neu. Folgen Sie unter npm 12 [Eine npm-12-Installation reparieren](#fix-an-npm-12-install). Führen Sie andernfalls Folgendes aus:

1134 1128 

1135```bash theme={null}1129```bash theme={null}

1136npm install -g @anthropic-ai/claude-code1130npm install -g @anthropic-ai/claude-code@latest

1137```1131```

1138 1132 

1139Bestätigen Sie mit `claude --version`, das eine Versionsnummer wie `2.1.211 (Claude Code)` ausgibt.1133Bestätigen Sie mit `claude --version`, das eine Versionsnummer wie `2.1.211 (Claude Code)` ausgibt.

Details

152> apk add ripgrep152> apk add ripgrep

153> ```153> ```

154>154>

155> `ripgrep` befindet sich im Community-Repository von Alpine. Wenn `apk` meldet, dass das Paket fehlt, siehe [Alpine Linux setup](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions).155> `ripgrep` befindet sich im Community-Repository von Alpine.

156 156 

157> [tab] Arch157> [tab] Arch

158>158>

vs-code.md +10 −0

Details

202 Bereits vorhandene Thinking-Blöcke bleiben leer. Klicken Sie in Antworten nach dem Neuladen auf einen Block oder drücken Sie `Ctrl+O`, um alle aufzuklappen.202 Bereits vorhandene Thinking-Blöcke bleiben leer. Klicken Sie in Antworten nach dem Neuladen auf einen Block oder drücken Sie `Ctrl+O`, um alle aufzuklappen.

203* **Mehrzeilige Eingabe**: Drücken Sie `Shift+Enter`, um eine neue Zeile hinzuzufügen, ohne zu senden. Dies funktioniert auch in der Freitexteingabe „Other“ von Fragedialogen.203* **Mehrzeilige Eingabe**: Drücken Sie `Shift+Enter`, um eine neue Zeile hinzuzufügen, ohne zu senden. Dies funktioniert auch in der Freitexteingabe „Other“ von Fragedialogen.

204 204 

205### Vorgeschlagene Prompts verwenden oder ausschalten

206 

207Nachdem Claude geantwortet hat, kann das Panel im leeren Eingabefeld einen vorgeschlagenen nächsten Prompt als graue, kursive Schrift anzeigen. Jeder Vorschlag nutzt eine [kurze Hintergrundanfrage](https://code.claude.com/docs/de/interactive-mode.md#prompt-suggestions), die auf die Nutzungslimits Ihres Plans oder Ihre API-Kosten angerechnet wird.

208 

209* **Den Vorschlag verwenden**: Drücken Sie `Tab`, um ihn in bearbeitbaren Text umzuwandeln, und senden Sie ihn dann. Wenn Sie `Enter` drücken, bevor Sie ihn übernehmen, wird der Vorschlag nicht gesendet.

210* **Einen eigenen Prompt schreiben**: Beginnen Sie zu tippen, wodurch der Vorschlag ausgeblendet wird.

211 

212Um Vorschläge auszuschalten, setzen Sie [`promptSuggestionEnabled`](https://code.claude.com/docs/de/settings-reference#promptsuggestionenabled) in `~/.claude/settings.json` auf `false`. In neuen Konversationen sehen Sie sie dann nicht mehr, in geöffneten erst, nachdem Sie **Developer: Reload Window** über die Befehlspalette ausgeführt haben. Wenn Sie [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/de/env-vars) auf `true` gesetzt haben, ändern Sie den Wert dort, wo Sie ihn gesetzt haben, auf `false`, da Sie sonst weiterhin Vorschläge sehen.

213 

205### Auf Dateien und Ordner verweisen214### Auf Dateien und Ordner verweisen

206 215 

207Verwenden Sie @-Erwähnungen, um Claude Kontext zu bestimmten Dateien oder Ordnern zu geben. Wenn Sie `@` gefolgt von einem Datei- oder Ordnernamen eingeben, liest Claude diesen Inhalt und kann Fragen dazu beantworten oder Änderungen daran vornehmen. Claude Code unterstützt unscharfe Suche (Fuzzy Matching), sodass Sie Teilnamen eingeben können, um das Gesuchte zu finden:216Verwenden Sie @-Erwähnungen, um Claude Kontext zu bestimmten Dateien oder Ordnern zu geben. Wenn Sie `@` gefolgt von einem Datei- oder Ordnernamen eingeben, liest Claude diesen Inhalt und kann Fragen dazu beantworten oder Änderungen daran vornehmen. Claude Code unterstützt unscharfe Suche (Fuzzy Matching), sodass Sie Teilnamen eingeben können, um das Gesuchte zu finden:


936| `SSL certificate verification failed` oder `Self-signed certificate detected` | [SSL-Zertifikatsfehler](https://code.claude.com/docs/de/errors.md#ssl-certificate-errors) |945| `SSL certificate verification failed` oder `Self-signed certificate detected` | [SSL-Zertifikatsfehler](https://code.claude.com/docs/de/errors.md#ssl-certificate-errors) |

937| `Dictation error: WebSocket error:`, gefolgt von einem Zertifikatsfehler wie `unable to get local issuer certificate`, oder `Remote server is not connected` auf dem Web-Tab | [Diktierfunktion oder Web-Tab schlägt hinter einem TLS-inspizierenden Proxy fehl](#dictation-or-the-web-tab-fails-behind-a-tls-inspecting-proxy) |946| `Dictation error: WebSocket error:`, gefolgt von einem Zertifikatsfehler wie `unable to get local issuer certificate`, oder `Remote server is not connected` auf dem Web-Tab | [Diktierfunktion oder Web-Tab schlägt hinter einem TLS-inspizierenden Proxy fehl](#dictation-or-the-web-tab-fails-behind-a-tls-inspecting-proxy) |

938| `Claude Code process exited with code 1` oder ein anderer Code | [Claude Code process exited with code N](https://code.claude.com/docs/de/errors.md#claude-code-process-exited-with-code-n) |947| `Claude Code process exited with code 1` oder ein anderer Code | [Claude Code process exited with code N](https://code.claude.com/docs/de/errors.md#claude-code-process-exited-with-code-n) |

948| `Claude Code did not finish starting` oder `Subprocess initialization did not complete within 60000ms` | [Subprocess initialization did not complete within 60000ms](https://code.claude.com/docs/de/errors.md#subprocess-initialization-did-not-complete-within-60000ms) |

939| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/de/errors.md#could-not-locate-the-claude-cli-on-path) |949| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/de/errors.md#could-not-locate-the-claude-cli-on-path) |

940| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/de/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |950| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/de/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |

941| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/de/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |951| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/de/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |

workflows.md +0 −2

Details

75| :- | :- |75| :- | :- |

76| `/deep-research <question>` | Verteilt Websuchen zu einer Frage auf mehrere Blickwinkel, ruft die gefundenen Quellen ab und gleicht sie miteinander ab, stimmt über jede Aussage ab und liefert einen Bericht mit Quellenangaben, aus dem Aussagen, die dem Abgleich nicht standgehalten haben, herausgefiltert sind. Setzt voraus, dass das [WebSearch-Tool](https://code.claude.com/docs/de/tools-reference.md#websearch-tool-behavior) verfügbar ist |76| `/deep-research <question>` | Verteilt Websuchen zu einer Frage auf mehrere Blickwinkel, ruft die gefundenen Quellen ab und gleicht sie miteinander ab, stimmt über jede Aussage ab und liefert einen Bericht mit Quellenangaben, aus dem Aussagen, die dem Abgleich nicht standgehalten haben, herausgefiltert sind. Setzt voraus, dass das [WebSearch-Tool](https://code.claude.com/docs/de/tools-reference.md#websearch-tool-behavior) verfügbar ist |

77 77 

78`/deep-research` wird nur ausgeführt, wenn Sie den Workflow aufrufen.

79 

80[Workflows, die Sie selbst speichern](#save-the-workflow-for-reuse), werden auf die gleiche Weise zu Befehlen und erscheinen in der `/`-Autovervollständigung neben den mitgelieferten.78[Workflows, die Sie selbst speichern](#save-the-workflow-for-reuse), werden auf die gleiche Weise zu Befehlen und erscheinen in der `/`-Autovervollständigung neben den mitgelieferten.

81 79 

82### Die Ausführung verfolgen80### Die Ausführung verfolgen