SpyBara
Go Premium

Documentation 2026-11-09 23:02 UTC to 2026-11-10 21:57 UTC

70 files changed +633 −541. View all changes and history on the product overview
2026
Thu 12 21:00 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

advisor.md +1 −1

Details

160* **API-Abrechnung**: Sie zahlen die Input- und Output-Sätze des Advisor-Modells für Advisor-Token160* **API-Abrechnung**: Sie zahlen die Input- und Output-Sätze des Advisor-Modells für Advisor-Token

161* **Abonnementpläne**: Die Advisor-Nutzung zählt zu den Nutzungsgrenzen Ihres Plans, mit Ausnahme, dass ein Fable-Advisor zu [Nutzungsguthaben](https://code.claude.com/docs/de/model-config.md#fable-and-usage-credits) bei Plänen abgerechnet wird, bei denen die Fable-Nutzung dies tut161* **Abonnementpläne**: Die Advisor-Nutzung zählt zu den Nutzungsgrenzen Ihres Plans, mit Ausnahme, dass ein Fable-Advisor zu [Nutzungsguthaben](https://code.claude.com/docs/de/model-config.md#fable-and-usage-credits) bei Plänen abgerechnet wird, bei denen die Fable-Nutzung dies tut

162 162 

163Wenn Ihr Konto die Zustimmung zu Nutzungsguthaben erfordert, wird ein Fable-Advisor vor der Zustimmung nicht abgerechnet, da Claude Code [die Auswahl nicht anwendet](#fable-advisor-and-usage-credits), bis Sie dies tun.163Wie ein Fable-Advisor mit Nutzungsguthaben funktioniert, erfahren Sie unter [Fable-Advisor und Nutzungsguthaben](#fable-advisor-and-usage-credits).

164 164 

165Claude ruft den Advisor an Entscheidungspunkten auf, nicht bei jedem Schritt, daher kostet die Kopplung eines schnelleren Hauptmodells mit einem stärkeren Advisor typischerweise weniger als das durchgehende Ausführen des stärkeren Modells. Die Advisor-Nutzung zählt zu den Sitzungssummen, die von [`/usage`](https://code.claude.com/docs/de/costs#track-your-costs) angezeigt werden.165Claude ruft den Advisor an Entscheidungspunkten auf, nicht bei jedem Schritt, daher kostet die Kopplung eines schnelleren Hauptmodells mit einem stärkeren Advisor typischerweise weniger als das durchgehende Ausführen des stärkeren Modells. Die Advisor-Nutzung zählt zu den Sitzungssummen, die von [`/usage`](https://code.claude.com/docs/de/costs#track-your-costs) angezeigt werden.

166 166 

Details

247* **Top-Level-Felder** werden bei jedem Ereignis akzeptiert: `systemMessage` zeigt eine Nachricht für den Benutzer an, und `continue` (`continue_` in Python) bestimmt, ob der Agent nach diesem Hook weiterläuft. Einige Ereignisse verwerfen sie oder liefern sie an anderer Stelle. Jeder [Abschnitt des Ereignisses](https://code.claude.com/docs/de/hooks.md#hook-events) auf der Hooks-Seite sagt, wo sie landen.247* **Top-Level-Felder** werden bei jedem Ereignis akzeptiert: `systemMessage` zeigt eine Nachricht für den Benutzer an, und `continue` (`continue_` in Python) bestimmt, ob der Agent nach diesem Hook weiterläuft. Einige Ereignisse verwerfen sie oder liefern sie an anderer Stelle. Jeder [Abschnitt des Ereignisses](https://code.claude.com/docs/de/hooks.md#hook-events) auf der Hooks-Seite sagt, wo sie landen.

248* **`hookSpecificOutput`** steuert die aktuelle Operation. Die Felder, die Sie darin setzen, hängen vom Hook-Ereignistyp ab:248* **`hookSpecificOutput`** steuert die aktuelle Operation. Die Felder, die Sie darin setzen, hängen vom Hook-Ereignistyp ab:

249 * Für `PreToolUse` Hooks ist dies der Ort, an dem Sie `permissionDecision` (`"allow"`, `"deny"`, `"ask"` oder `"defer"`), `permissionDecisionReason` und `updatedInput` setzen. Wenn Sie `"defer"` zurückgeben, endet der Turn mit einer Ergebnisnachricht, deren `stop_reason` `"tool_deferred"` ist, sodass Sie den Aufruf [später fortsetzen](https://code.claude.com/docs/de/hooks.md#defer-a-tool-call-for-later) können.249 * Für `PreToolUse` Hooks ist dies der Ort, an dem Sie `permissionDecision` (`"allow"`, `"deny"`, `"ask"` oder `"defer"`), `permissionDecisionReason` und `updatedInput` setzen. Wenn Sie `"defer"` zurückgeben, endet der Turn mit einer Ergebnisnachricht, deren `stop_reason` `"tool_deferred"` ist, sodass Sie den Aufruf [später fortsetzen](https://code.claude.com/docs/de/hooks.md#defer-a-tool-call-for-later) können.

250 * Für `PostToolUse` Hooks können Sie `additionalContext` setzen, um Informationen zum Tool-Ergebnis anzuhängen. Um die Ausgabe des Tools zu ersetzen, bevor Claude sie sieht, setzen Sie `updatedToolOutput`, das für jedes Tool in beiden SDKs funktioniert. Das ältere `updatedMCPToolOutput` Feld ersetzt nur MCP-Tool-Ausgabe.250 * Für `PostToolUse` Hooks können Sie `additionalContext` setzen, um Informationen zum Tool-Ergebnis anzuhängen. Um die Ausgabe des Tools zu ersetzen, bevor Claude sie sieht, setzen Sie `updatedToolOutput`, das für integrierte Tools und MCP-Tools in beiden SDKs funktioniert. Das ältere `updatedMCPToolOutput` Feld ersetzt nur MCP-Tool-Ausgabe.

251 * Im TypeScript SDK kann ein `PostToolUse` Callback auch `classifierContext` zurückgeben, eine kurze Notiz über das Ergebnis des Tool-Aufrufs für den Berechtigungsklassifikator des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode). Da Ihr Callback in Ihrem eigenen Anwendungsprozess ausgeführt wird, kann der Klassifikator eine Benutzeraussage, die Sie in der Notiz weitergeben, als Benutzerabsicht gewichten. Das Feld erfordert TypeScript Agent SDK v0.3.236 oder später. [Ein Ergebnis für den Auto-Modus-Klassifikator annotieren](https://code.claude.com/docs/de/hooks.md#annotate-a-result-for-the-auto-mode-classifier) behandelt die Längenbegrenzung, die Nur-Synchron-Regel und was nicht in die Notiz gehört.251 * Im TypeScript SDK kann ein `PostToolUse` Callback auch `classifierContext` zurückgeben, eine kurze Notiz über das Ergebnis des Tool-Aufrufs für den Berechtigungsklassifikator des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode). Da Ihr Callback in Ihrem eigenen Anwendungsprozess ausgeführt wird, kann der Klassifikator eine Benutzeraussage, die Sie in der Notiz weitergeben, als Benutzerabsicht gewichten. Das Feld erfordert TypeScript Agent SDK v0.3.236 oder später. [Ein Ergebnis für den Auto-Modus-Klassifikator annotieren](https://code.claude.com/docs/de/hooks.md#annotate-a-result-for-the-auto-mode-classifier) behandelt die Längenbegrenzung, die Nur-Synchron-Regel und was nicht in die Notiz gehört.

252 252 

253Geben Sie `{}` zurück, um die Operation ohne Änderungen zuzulassen. SDK-Callback-Hooks verwenden das gleiche JSON-Ausgabeformat wie [Claude Code Shell-Befehls-Hooks](https://code.claude.com/docs/de/hooks.md#json-output), das jedes Feld und ereignisspezifische Option dokumentiert. Für die SDK-Typdefinitionen siehe die [TypeScript](https://code.claude.com/docs/de/agent-sdk/typescript.md#synchookjsonoutput) und [Python](https://code.claude.com/docs/de/agent-sdk/python.md#synchookjsonoutput) SDK-Referenzen.253Geben Sie `{}` zurück, um die Operation ohne Änderungen zuzulassen. SDK-Callback-Hooks verwenden das gleiche JSON-Ausgabeformat wie [Claude Code Shell-Befehls-Hooks](https://code.claude.com/docs/de/hooks.md#json-output), das jedes Feld und ereignisspezifische Option dokumentiert. Für die SDK-Typdefinitionen siehe die [TypeScript](https://code.claude.com/docs/de/agent-sdk/typescript.md#synchookjsonoutput) und [Python](https://code.claude.com/docs/de/agent-sdk/python.md#synchookjsonoutput) SDK-Referenzen.

Details

1858 1858 

1859### `TaskStartedMessage`1859### `TaskStartedMessage`

1860 1860 

1861Wird ausgegeben, wenn eine Hintergrundaufgabe startet. Eine Hintergrundaufgabe ist alles, was außerhalb der Hauptumdrehung verfolgt wird: ein backgroundierter Bash-Befehl, eine [Monitor](#monitor)-Überwachung, ein Subagent, der über das Agent-Tool erzeugt wird, oder ein Remote-Agent. Das Feld `task_type` sagt Ihnen, welches. Diese Benennung ist nicht verwandt mit der `Task`-zu-`Agent`-Tool-Umbenennung.1861Wird ausgegeben, wenn eine Hintergrundaufgabe startet. Eine Hintergrundaufgabe ist alles, was außerhalb des Haupt-Turns verfolgt wird, etwa ein in den Hintergrund verschobener Bash-Befehl, eine [Monitor](#monitor)-Überwachung, ein Subagent, der über das Agent-Tool erzeugt wird, oder ein Remote-Agent. Diese Benennung ist nicht verwandt mit der `Task`-zu-`Agent`-Tool-Umbenennung.

1862 1862 

1863```python theme={null}1863```python theme={null}

1864@dataclass1864@dataclass


1878| `uuid` | `str` | Eindeutige Nachrichtenkennung |1878| `uuid` | `str` | Eindeutige Nachrichtenkennung |

1879| `session_id` | `str` | Sitzungskennung |1879| `session_id` | `str` | Sitzungskennung |

1880| `tool_use_id` | `str \| None` | Zugeordnete Tool-Use-ID |1880| `tool_use_id` | `str \| None` | Zugeordnete Tool-Use-ID |

1881| `task_type` | `str \| None` | Welche Art von Hintergrundaufgabe: `"local_bash"` für Background Bash und Monitor-Überwachungen, `"local_agent"` oder `"remote_agent"` |1881| `task_type` | `str \| None` | Welche Art von Hintergrundaufgabe, etwa `"local_bash"` für Background Bash und Monitor-Überwachungen, `"local_agent"` für Subagenten, `"mcp_task"` für [MCP-Tool-Aufrufe im Hintergrund](https://code.claude.com/docs/de/mcp.md#automatic-backgrounding-of-long-tool-calls) oder `"remote_agent"` |

1882 1882 

1883### `TaskUsage`1883### `TaskUsage`

1884 1884 

Details

12 12 

13## Warum strukturierte Ausgaben?13## Warum strukturierte Ausgaben?

14 14 

15Agenten geben standardmäßig freien Text zurück, was für Chat funktioniert, aber nicht, wenn Sie die Ausgabe programmgesteuert verwenden müssen. Strukturierte Ausgaben geben Ihnen typisierte Daten, die Sie direkt an Ihre Anwendungslogik, Datenbank oder UI-Komponenten übergeben können.15Agenten geben standardmäßig Freitext zurück. Das funktioniert für Chats, aber nicht, wenn Sie die Ausgabe programmatisch verwenden müssen. Strukturierte Ausgaben liefern Ihnen typisierte Daten, die Sie direkt an Ihre Anwendungslogik, Datenbank oder UI-Komponenten übergeben können.

16 16 

17Stellen Sie sich eine Rezept-App vor, bei der ein Agent das Web durchsucht und Rezepte zurückbringt. Ohne strukturierte Ausgaben erhalten Sie freien Text, den Sie selbst analysieren müssten. Mit strukturierten Ausgaben definieren Sie die gewünschte Form und erhalten typisierte Daten, die Sie direkt in Ihrer App verwenden können.17Nehmen Sie als Beispiel eine Rezept-App, in der ein Agent das Web durchsucht und Rezepte zurückliefert. Ohne strukturierte Ausgaben erhalten Sie Freitext, den Sie selbst parsen müssten. Mit strukturierten Ausgaben definieren Sie die gewünschte Form und erhalten typisierte Daten, die Sie direkt in Ihrer App verwenden können.

18 18 

19> [accordion] Ohne strukturierte Ausgaben19> [accordion] Ohne strukturierte Ausgaben

20>20>

21> ```text theme={null}21> ```text theme={null}

22> Hier ist ein klassisches Rezept für Schokoladenchip-Kekse!22> Here's a classic chocolate chip cookie recipe!

23>23>

24> **Schokoladenchip-Kekse**24> **Chocolate Chip Cookies**

25> Vorbereitungszeit: 15 Minuten | Backzeit: 10 Minuten25> Prep time: 15 minutes | Cook time: 10 minutes

26>26>

27> Zutaten:27> Ingredients:

28> - 2 1/4 Tassen Allzweckmehl28> - 2 1/4 cups all-purpose flour

29> - 1 Tasse Butter, erweicht29> - 1 cup butter, softened

30> ...30> ...

31> ```31> ```

32>32>

33> Um dies in Ihrer App zu verwenden, müssten Sie den Titel extrahieren, '15 Minuten" in eine Zahl umwandeln, Zutaten von Anweisungen trennen und mit inkonsistenter Formatierung über Antworten hinweg umgehen.33> Um dies in Ihrer App zu verwenden, müssten Sie den Titel herausparsen, „15 minutes“ in eine Zahl umwandeln, Zutaten von Anweisungen trennen und mit uneinheitlicher Formatierung zwischen verschiedenen Antworten umgehen.

34 34 

35> [accordion] Mit strukturierten Ausgaben35> [accordion] Mit strukturierten Ausgaben

36>36>

37> ```jsonc theme={null}37> ```jsonc theme={null}

38> {38> {

39> "name": "Schokoladenchip-Kekse",39> "name": "Chocolate Chip Cookies",

40> "prep_time_minutes": 15,40> "prep_time_minutes": 15,

41> "cook_time_minutes": 10,41> "cook_time_minutes": 10,

42> "ingredients": [42> "ingredients": [

43> { "item": "Allzweckmehl", "amount": 2.25, "unit": "Tassen" },43> { "item": "all-purpose flour", "amount": 2.25, "unit": "cups" },

44> { "item": "Butter, erweicht", "amount": 1, "unit": "Tasse" }44> { "item": "butter, softened", "amount": 1, "unit": "cup" }

45> // ...45> // ...

46> ],46> ],

47> "steps": ["Ofen auf 375°F vorheizen", "Butter und Zucker cremig rühren" /* ... */]47> "steps": ["Preheat oven to 375°F", "Cream butter and sugar" /* ... */]

48> }48> }

49> ```49> ```

50>50>


81 }81 }

82 })) {82 })) {

83 // Die Ergebnismeldung enthält structured_output mit validierten Daten83 // Die Ergebnismeldung enthält structured_output mit validierten Daten

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

85 console.log(message.structured_output);85 console.log(message.structured_output);

86 // { company_name: "Anthropic", founded_year: 2021, headquarters: "San Francisco, CA" }86 // { company_name: "Anthropic", founded_year: 2021, headquarters: "San Francisco, CA" }

87 }87 }


118 ),118 ),

119 ):119 ):

120 # Die Ergebnismeldung enthält structured_output mit validierten Daten120 # Die Ergebnismeldung enthält structured_output mit validierten Daten

121 if isinstance(message, ResultMessage) and message.structured_output:121 if (

122 isinstance(message, ResultMessage)

123 and not message.is_error

124 and message.structured_output

125 ):

122 print(message.structured_output)126 print(message.structured_output)

123 # {'company_name': 'Anthropic', 'founded_year': 2021, 'headquarters': 'San Francisco, CA'}127 # {'company_name': 'Anthropic', 'founded_year': 2021, 'headquarters': 'San Francisco, CA'}

124 except Exception as error:128 except Exception as error:


173 }177 }

174 }178 }

175 })) {179 })) {

176 if (message.type === "result" && message.subtype === "success" && message.structured_output) {180 if (message.type === "result" && message.subtype === "success" && !message.is_error && message.structured_output) {

177 // Validieren Sie und erhalten Sie ein vollständig typisiertes Ergebnis181 // Validieren Sie und erhalten Sie ein vollständig typisiertes Ergebnis

178 const parsed = FeaturePlan.safeParse(message.structured_output);182 const parsed = FeaturePlan.safeParse(message.structured_output);

179 if (parsed.success) {183 if (parsed.success) {


223 }227 }

224 ),228 ),

225 ):229 ):

226 if isinstance(message, ResultMessage) and message.structured_output:230 if (

231 isinstance(message, ResultMessage)

232 and not message.is_error

233 and message.structured_output

234 ):

227 # Validieren Sie und erhalten Sie ein vollständig typisiertes Ergebnis235 # Validieren Sie und erhalten Sie ein vollständig typisiertes Ergebnis

228 plan = FeaturePlan.model_validate(message.structured_output)236 plan = FeaturePlan.model_validate(message.structured_output)

229 print(f"Feature: {plan.feature_name}")237 print(f"Feature: {plan.feature_name}")


286 required: ["todos", "total_count"]294 required: ["todos", "total_count"]

287};295};

288 296 

289// Agent uses Grep to find TODOs, Bash to run git commands297// Agent uses Grep to find TODOs, Bash to get git blame info

290try {298try {

291 for await (const message of query({299 for await (const message of query({

292 prompt: "Find all TODO comments in this codebase and identify who added them",300 prompt: "Find all TODO comments in this codebase and identify who added them",


297 }305 }

298 }306 }

299 })) {307 })) {

300 if (message.type === "result" && message.subtype === "success" && message.structured_output) {308 if (message.type === "result" && message.subtype === "success" && !message.is_error && message.structured_output) {

301 const data = message.structured_output as { total_count: number; todos: Array<{ file: string; line: number; text: string; author?: string; date?: string }> };309 const data = message.structured_output as { total_count: number; todos: Array<{ file: string; line: number; text: string; author?: string; date?: string }> };

302 console.log(`Found ${data.total_count} TODOs`);310 console.log(`Found ${data.total_count} TODOs`);

303 data.todos.forEach((todo) => {311 data.todos.forEach((todo) => {


352 output_format={"type": "json_schema", "schema": todo_schema}360 output_format={"type": "json_schema", "schema": todo_schema}

353 ),361 ),

354 ):362 ):

355 if isinstance(message, ResultMessage) and message.structured_output:363 if (

364 isinstance(message, ResultMessage)

365 and not message.is_error

366 and message.structured_output

367 ):

356 data = message.structured_output368 data = message.structured_output

357 print(f"Found {data['total_count']} TODOs")369 print(f"Found {data['total_count']} TODOs")

358 for todo in data["todos"]:370 for todo in data["todos"]:


383 395 

384Die Generierung strukturierter Ausgaben kann fehlschlagen, wenn der Agent kein gültiges JSON erzeugen kann, das Ihrem Schema entspricht. Dies geschieht normalerweise, wenn das Schema für die Aufgabe zu komplex ist, die Aufgabe selbst mehrdeutig ist, oder der Agent sein Wiederholungslimit beim Versuch, Validierungsfehler zu beheben, erreicht. Es kann auch ohne Validierungsfehler geschehen: Ein [Modell-Fallback](https://code.claude.com/docs/de/model-config.md#automatic-model-fallback) kann eine bereits abgeschlossene Ausgabe mitten im Stream zurückziehen, und wenn kein erfolgreicher Wiederholungsversuch sie ersetzt, endet der Durchlauf mit demselben Fehler. Überprüfen Sie die `errors`-Liste der Fehler-Ergebnismeldung, um die beiden Ursachen auseinanderzuhalten, bevor Sie Ihr Schema debuggen.396Die Generierung strukturierter Ausgaben kann fehlschlagen, wenn der Agent kein gültiges JSON erzeugen kann, das Ihrem Schema entspricht. Dies geschieht normalerweise, wenn das Schema für die Aufgabe zu komplex ist, die Aufgabe selbst mehrdeutig ist, oder der Agent sein Wiederholungslimit beim Versuch, Validierungsfehler zu beheben, erreicht. Es kann auch ohne Validierungsfehler geschehen: Ein [Modell-Fallback](https://code.claude.com/docs/de/model-config.md#automatic-model-fallback) kann eine bereits abgeschlossene Ausgabe mitten im Stream zurückziehen, und wenn kein erfolgreicher Wiederholungsversuch sie ersetzt, endet der Durchlauf mit demselben Fehler. Überprüfen Sie die `errors`-Liste der Fehler-Ergebnismeldung, um die beiden Ursachen auseinanderzuhalten, bevor Sie Ihr Schema debuggen.

385 397 

386Wenn ein Fehler auftritt, hat die Ergebnismeldung einen `subtype`, der angibt, was schief gelaufen ist:398Überprüfen Sie den `subtype` der Ergebnismeldung:

387 399 

388| Subtype | Bedeutung |400| Subtype | Bedeutung |

389| - | - |401| - | - |

390| `success` | Ausgabe wurde erfolgreich generiert und validiert |402| `success` | Der Durchlauf endete ohne einen Fehler-Subtype |

391| `error_max_structured_output_retries` | Keine gültige Ausgabe überstand mehrere Versuche (Validierungsfehler oder ein Modell-Fallback-Rückzug ohne erfolgreichen Wiederholungsversuch) |403| `error_max_structured_output_retries` | Keine gültige Ausgabe überstand mehrere Versuche (Validierungsfehler oder ein Modell-Fallback-Rückzug ohne erfolgreichen Wiederholungsversuch) |

392 404 

393Ein Ergebnis kann auch mit dem Subtype `success` enden, aber ohne `structured_output`-Wert, beispielsweise wenn der Durchlauf endet, ohne dass der Agent eine strukturierte Ausgabe erzeugt. Behandeln Sie diesen Fall auch als Fehler. Der Eintrag zur Fehlerbehebung [structured\_output ist None, aber das Ergebnis sagt success](https://code.claude.com/docs/de/agent-sdk/troubleshooting.md#structured_output-is-none-but-the-result-says-success) behandelt diesen Fall. Das folgende Beispiel behandelt ein Ergebnis als erfolgreich nur, wenn der `subtype` `success` ist und `structured_output` vorhanden ist, und behandelt jedes andere Ergebnis als Fehler:405Ein `success`-Subtype allein bedeutet nicht, dass der Durchlauf eine Antwort erzeugt hat. Behandeln Sie ein Ergebnis als Fehler, wenn `is_error` des Ergebnisses `true` ist oder `structured_output` fehlt:

406 

407* **`is_error` des Ergebnisses ist `true`**: Beispielsweise endete die letzte Modellanfrage mit einem API-Fehler oder einer Ablehnung. Verwenden Sie bei einem solchen Ergebnis keinen `structured_output`-Wert.

408* **`structured_output` fehlt**: Um die Ursache zu finden, siehe [structured\_output ist None, aber das Ergebnis sagt success](https://code.claude.com/docs/de/agent-sdk/troubleshooting.md#structured_output-is-none-but-the-result-says-success)

409 

410Das folgende Beispiel wendet diese Prüfungen an:

394 411 

395```typescript TypeScript theme={null}412```typescript TypeScript theme={null}

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


415 }432 }

416 })) {433 })) {

417 if (msg.type === "result") {434 if (msg.type === "result") {

418 if (msg.subtype === "success" && msg.structured_output) {435 if (msg.subtype === "success" && !msg.is_error && msg.structured_output) {

419 // Use the validated output436 // Use the validated output

420 console.log(msg.structured_output);437 console.log(msg.structured_output);

421 } else if (msg.subtype === "error_max_structured_output_retries") {438 } else if (msg.subtype === "error_max_structured_output_retries") {

422 console.error("Could not produce valid output");439 console.error("Could not produce valid output");

423 } else {440 } else {

424 console.error("Run ended without a structured output");441 console.error("Run ended with an error or without a structured output");

425 }442 }

426 }443 }

427 }444 }


456 ),473 ),

457 ):474 ):

458 if isinstance(message, ResultMessage):475 if isinstance(message, ResultMessage):

459 if message.subtype == "success" and message.structured_output:476 if (

477 message.subtype == "success"

478 and not message.is_error

479 and message.structured_output

480 ):

460 # Use the validated output481 # Use the validated output

461 print(message.structured_output)482 print(message.structured_output)

462 elif message.subtype == "error_max_structured_output_retries":483 elif message.subtype == "error_max_structured_output_retries":

463 print("Could not produce valid output")484 print("Could not produce valid output")

464 else:485 else:

465 print("Run ended without a structured output")486 print("Run ended with an error or without a structured output")

466 except Exception as error:487 except Exception as error:

467 # A single-shot query() raises after yielding an error result. If the488 # A single-shot query() raises after yielding an error result. If the

468 # failure was an error result, the error subtype branches above have489 # failure was an error result, the error subtype branches above have

Details

142 142 

143Eine Ergebnismeldung kann mit `subtype: "success"` enden, während `structured_output` in Python `None` oder in TypeScript `undefined` ist. Der Lauf wird abgeschlossen, aber es existiert keine validierte Ausgabe.143Eine Ergebnismeldung kann mit `subtype: "success"` enden, während `structured_output` in Python `None` oder in TypeScript `undefined` ist. Der Lauf wird abgeschlossen, aber es existiert keine validierte Ausgabe.

144 144 

145Behandeln Sie dieses Ergebnis als Fehler im Anwendungscode. Überprüfen Sie sowohl, dass `subtype` `success` ist, als auch dass `structured_output` vorhanden ist, bevor Sie es verwenden. Der Abschnitt [Fehlerbehandlung](https://code.claude.com/docs/de/agent-sdk/structured-outputs.md#error-handling) zeigt dieses Muster für beide SDKs. Prüfen Sie dann die folgenden Ursachen:145Behandeln Sie dieses Ergebnis als Fehler im Anwendungscode. Der Abschnitt [Fehlerbehandlung](https://code.claude.com/docs/de/agent-sdk/structured-outputs.md#error-handling) zeigt dieses Muster für beide SDKs. Prüfen Sie dann die folgenden Ursachen:

146 146 

147* **Eine Anfrage, die Claude abgelehnt hat**: Um diesen Fall in Ihrem Code zu erkennen, prüfen Sie, ob `stop_reason` in der Ergebnismeldung `"refusal"` ist. Was Sie als Nächstes versuchen können, finden Sie unter [Ablehnung aufgrund der Nutzungsrichtlinie](https://code.claude.com/docs/de/errors.md#usage-policy-refusal).147* **Eine Anfrage, die Claude abgelehnt hat**: Um diesen Fall in Ihrem Code zu erkennen, prüfen Sie, ob `stop_reason` in der Ergebnismeldung `"refusal"` ist. Was Sie als Nächstes versuchen können, finden Sie unter [Ablehnung aufgrund der Nutzungsrichtlinie](https://code.claude.com/docs/de/errors.md#usage-policy-refusal).

148* **Ein Schema, das keine Ausgabe erfüllen kann**: zum Beispiel ein String, dessen `minLength` größer als seine `maxLength` ist. Wenn `structured_output` wiederholt bei einem Schema fehlt, das Sie für korrekt halten, suchen Sie nach Beschränkungen, die einander widersprechen. Wenn Sie keine finden, vereinfachen Sie das Schema, bis Ausgaben validieren, und führen Sie Ihre Beschränkungen dann nacheinander wieder ein.148* **Ein Schema, das keine Ausgabe erfüllen kann**: zum Beispiel ein String, dessen `minLength` größer als seine `maxLength` ist. Wenn `structured_output` wiederholt bei einem Schema fehlt, das Sie für korrekt halten, suchen Sie nach Beschränkungen, die einander widersprechen. Wenn Sie keine finden, vereinfachen Sie das Schema, bis Ausgaben validieren, und führen Sie Ihre Beschränkungen dann nacheinander wieder ein.

Details

5709 5709 

5710### `SDKTaskStartedMessage`5710### `SDKTaskStartedMessage`

5711 5711 

5712Wird ausgegeben, wenn eine Aufgabe beginnt. Das `task_type`-Feld ist `"local_bash"` für Bash-Befehle und [Monitor](#monitor)-Watches, `"local_agent"` für Subagenten oder `"remote_agent"`.5712Wird ausgegeben, wenn eine Aufgabe beginnt. `task_type` benennt die Art der Aufgabe, z. B. `"local_bash"` für Bash-Befehle und [Monitor](#monitor)-Watches, `"local_agent"` für Subagenten, `"mcp_task"` für [MCP-Tool-Aufrufe im Hintergrund](https://code.claude.com/docs/de/mcp.md#automatic-backgrounding-of-long-tool-calls) oder `"remote_agent"`.

5713 5713 

5714```typescript theme={null}5714```typescript theme={null}

5715type SDKTaskStartedMessage = {5715type SDKTaskStartedMessage = {

Details

647 647 

648 648 

649def parse_response(response: str, options: list) -> str:649def parse_response(response: str, options: list) -> str:

650 """Analysieren Sie Benutzereingaben als Optionsnummer(n) oder freien Text."""650 """Parse user input as option number(s) or free text."""

651 try:651 try:

652 indices = [int(s.strip()) - 1 for s in response.split(",")]652 indices = [int(s.strip()) - 1 for s in response.split(",")]

653 labels = [options[i]["label"] for i in indices if 0 <= i < len(options)]653 labels = [options[i]["label"] for i in indices if 0 <= i < len(options)]


657 657 

658 658 

659async def handle_ask_user_question(input_data: dict) -> PermissionResultAllow:659async def handle_ask_user_question(input_data: dict) -> PermissionResultAllow:

660 """Zeigen Sie Claudes Fragen an und sammeln Sie Benutzerantworten."""660 """Display Claude's questions and collect user answers."""

661 answers = {}661 answers = {}

662 662 

663 for q in input_data.get("questions", []):663 for q in input_data.get("questions", []):

agent-teams.md +8 −8

Details

8 8 

9> [!WARNING]9> [!WARNING]

10>10>

11> Agent-Teams sind experimentell und standardmäßig deaktiviert. Aktivieren Sie sie, indem Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in Ihrer [settings.json](https://code.claude.com/docs/de/settings.md) oder Umgebung setzen. Ohne diese Variable wird kein Team beim Sitzungsstart eingerichtet, keine Team-Verzeichnisse werden geschrieben, und Claude spawnt oder schlägt keine Teammates vor. Agent-Teams haben [bekannte Einschränkungen](#limitations) bezüglich Sitzungswiederaufnahme, Aufgabenkoordination und Abschaltungsverhalten.11> Agent-Teams sind experimentell und standardmäßig deaktiviert. Aktivieren Sie sie, indem Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in Ihrer [settings.json](https://code.claude.com/docs/de/settings.md) oder Umgebung setzen. Agent-Teams haben [bekannte Einschränkungen](#limitations) bezüglich Sitzungswiederaufnahme, Aufgabenkoordination und Abschaltungsverhalten.

12 12 

13Agent-Teams ermöglichen es Ihnen, mehrere Claude Code-Instanzen zu koordinieren, die zusammenarbeiten. Eine Sitzung fungiert als Team-Lead und koordiniert die Arbeit, weist Aufgaben zu und synthetisiert Ergebnisse. Teammates arbeiten unabhängig, jeder in seinem eigenen Kontextfenster, und kommunizieren direkt miteinander. Sie können auch direkt mit jedem Teammate sprechen, ohne den Lead einzubeziehen.13Agent-Teams ermöglichen es Ihnen, mehrere Claude Code-Instanzen zu koordinieren, die zusammenarbeiten. Eine Sitzung fungiert als Team-Lead und koordiniert die Arbeit, weist Aufgaben zu und synthetisiert Ergebnisse. Teammates arbeiten unabhängig, jeder in seinem eigenen Kontextfenster, und kommunizieren direkt miteinander. Sie können auch direkt mit jedem Teammate sprechen, ohne den Lead einzubeziehen.

14 14 


282* **`skills`**: Claude Code wendet die `skills` der Definition nicht auf einen Teammate in beiden Anzeigemodi an. Der Teammate lädt Skills aus Ihren Projekt- und Benutzereinstellungen.282* **`skills`**: Claude Code wendet die `skills` der Definition nicht auf einen Teammate in beiden Anzeigemodi an. Der Teammate lädt Skills aus Ihren Projekt- und Benutzereinstellungen.

283* **`mcpServers`**: Für einen Split-Pane-Teammate wendet Claude Code das `mcpServers` der Definition unter den [Regeln für dieses Feld](https://code.claude.com/docs/de/sub-agents.md#scope-mcp-servers-to-a-subagent) an, die auch eine Sitzung abdecken, die mit `--agent` gestartet wurde. Ein In-Process-Teammate ignoriert das Feld und lädt MCP-Server aus Ihren Projekt- und Benutzereinstellungen.283* **`mcpServers`**: Für einen Split-Pane-Teammate wendet Claude Code das `mcpServers` der Definition unter den [Regeln für dieses Feld](https://code.claude.com/docs/de/sub-agents.md#scope-mcp-servers-to-a-subagent) an, die auch eine Sitzung abdecken, die mit `--agent` gestartet wurde. Ein In-Process-Teammate ignoriert das Feld und lädt MCP-Server aus Ihren Projekt- und Benutzereinstellungen.

284 284 

285Wenn Claude einen In-Process-Teammate anschreibt, der nicht mehr läuft, bringt Claude Code ihn in der gleichen Sitzung zurück, stellt alle für ihn gespeicherten Gespräche wieder her und gibt ihm die Nachricht als seinen nächsten Prompt. Nachdem Sie eine Sitzung fortsetzen, werden Teammates auf diese Weise nicht zurückgebracht, gemäß [der Fortsetzen-Einschränkung](#limitations).285Wenn Claude einen In-Process-Teammate anschreibt, der nicht mehr läuft, bringt Claude Code ihn in der gleichen Sitzung zurück, stellt jede für ihn gespeicherte Konversation wieder her und gibt ihm die Nachricht als seinen nächsten Prompt. Nachdem Sie eine Sitzung fortsetzen, werden Teammates auf diese Weise nicht zurückgebracht, gemäß [der Fortsetzen-Einschränkung](#limitations).

286 286 

287Für einen Teammate, den es zurückbringt, wendet Claude Code eine Definition, die aus dem `.claude/agents/`-Verzeichnis eines Projekts oder einem `--add-dir`-Verzeichnis stammt, nur erneut an, wenn Sie [dem Ordner vertraut haben, in dem die Agent-Datei ist](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder). Einem übergeordneten Ordner zu vertrauen zählt nicht. Bis dahin kommt der Teammate zurück, ohne die Tools oder Anweisungen der Definition zu haben, und behält nur die Tools, die Claude Code jedem In-Process-Teammate hinzufügt. Siehe [die Agent-Definition des Teammates wurde nicht wiederhergestellt](https://code.claude.com/docs/de/errors.md#teammate-agent-definition-not-restored) für den Benachrichtigungstext.287Für einen Teammate, den es zurückbringt, wendet Claude Code eine Definition, die aus dem `.claude/agents/`-Verzeichnis eines Projekts oder einem `--add-dir`-Verzeichnis stammt, nur erneut an, wenn Sie [dem Ordner vertraut haben, in dem die Agent-Datei ist](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder). Einem übergeordneten Ordner zu vertrauen zählt nicht. Bis dahin kommt der Teammate zurück, ohne die Tools oder Anweisungen der Definition zu haben, und behält nur die Tools, die Claude Code jedem In-Process-Teammate hinzufügt. Siehe [die Agent-Definition des Teammates wurde nicht wiederhergestellt](https://code.claude.com/docs/de/errors.md#teammate-agent-definition-not-restored) für den Benachrichtigungstext.

288 288 


307 307 

308#### Nachrichten zwischen Agenten308#### Nachrichten zwischen Agenten

309 309 

310Wenn ein Agent einem anderen eine Nachricht über `SendMessage` sendet, wird dem empfangenden Agent mitgeteilt, dass sie von einer anderen Claude-Sitzung stammt, nicht von Ihnen. Ein Teammate kann eine Berechtigungsaufforderung nicht genehmigen oder Zustimmung in Ihrem Namen erteilen, und ein Teammate, dem eine Aktion verweigert wurde, kann sie nicht an einen anderen Teammate weitergeben, um die Überprüfung zu umgehen. Die gleichen Regeln gelten für eine Nachricht, die von [einer Ihrer anderen Claude Code-Sitzungen](https://code.claude.com/docs/de/cross-session-messaging.md#how-a-session-treats-an-incoming-message) ankommt, außerhalb des Teams ganz.310Wenn ein Agent einem anderen eine Nachricht über `SendMessage` sendet, wird dem empfangenden Agenten mitgeteilt, dass sie von einer anderen Claude-Sitzung stammt, nicht von Ihnen. Ein Teammate kann eine Berechtigungsabfrage nicht genehmigen oder Zustimmung in Ihrem Namen erteilen, und ein Teammate, dem eine Aktion verweigert wurde, kann sie nicht an einen anderen Teammate weitergeben, um die Überprüfung zu umgehen. Die gleichen Regeln gelten für eine Nachricht, die von [einer Ihrer anderen Claude Code-Sitzungen](https://code.claude.com/docs/de/cross-session-messaging.md#how-a-session-treats-an-incoming-message) ankommt, ganz außerhalb des Teams.

311 311 

312Im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) wendet der Klassifizierer zwei Überprüfungen auf Nachrichten zwischen Agenten an:312Im [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) wendet der Klassifikator zwei Überprüfungen auf Nachrichten zwischen Agenten an:

313 313 

314* Er behandelt einen Genehmigungsanspruch, der von einem anderen Agenten weitergeleitet wird, als nicht vertrauenswürdige Eingabe statt als Bestätigung von Ihnen.314* Er behandelt einen Genehmigungsanspruch, der von einem anderen Agenten weitergeleitet wird, als nicht vertrauenswürdige Eingabe statt als Bestätigung von Ihnen.

315* Er überprüft jede Nachricht, bevor Claude Code sie liefert, ob eine einfache Nachricht oder eine strukturierte Protokollnachricht wie eine Shutdown-Anfrage oder Plan-Genehmigungsantwort. Eine Nachricht, die er blockiert, erreicht den Empfänger nie.315* Er überprüft jede Nachricht, bevor Claude Code sie liefert, ob eine einfache Nachricht oder eine strukturierte Protokollnachricht wie eine Shutdown-Anfrage oder Plan-Genehmigungsantwort. Eine Nachricht, die er blockiert, erreicht den Empfänger nie.


318 318 

319Jeder Teammate hat sein eigenes Kontextfenster. Beim Erzeugen lädt ein Teammate denselben Projektkontext wie eine reguläre Sitzung: CLAUDE.md, MCP-Server und Skills. Wenn Sie den Lead mit [`--setting-sources`](https://code.claude.com/docs/de/cli-reference#cli-flags) starten, laden Teammates aus der gleichen eingeschränkten Liste von Quellen. Vor v2.1.281 luden [Split-Pane](#choose-a-display-mode)-Teammates jede Einstellungsquelle.319Jeder Teammate hat sein eigenes Kontextfenster. Beim Erzeugen lädt ein Teammate denselben Projektkontext wie eine reguläre Sitzung: CLAUDE.md, MCP-Server und Skills. Wenn Sie den Lead mit [`--setting-sources`](https://code.claude.com/docs/de/cli-reference#cli-flags) starten, laden Teammates aus der gleichen eingeschränkten Liste von Quellen. Vor v2.1.281 luden [Split-Pane](#choose-a-display-mode)-Teammates jede Einstellungsquelle.

320 320 

321Ein Teammate erhält auch den Spawn-Prompt vom Lead. Die Gesprächshistorie des Leads wird nicht übertragen.321Ein Teammate erhält auch den Spawn-Prompt vom Lead. Der Konversationsverlauf des Leads wird nicht übertragen.

322 322 

323**Wie Teammates Informationen teilen:**323**Wie Teammates Informationen teilen:**

324 324 

325* **Automatische Nachrichtenlieferung**: wenn Teammates Nachrichten senden, werden sie automatisch an Empfänger geliefert. Der Lead muss nicht auf Updates abfragen.325* **Automatische Nachrichtenlieferung**: wenn Teammates Nachrichten senden, werden sie automatisch an Empfänger geliefert. Der Lead muss nicht auf Updates abfragen.

326* **Untätigkeitsbenachrichtigungen**: wenn ein Teammate fertig ist und stoppt, benachrichtigt er automatisch den Lead und enthält seine endgültige Antwort in der Benachrichtigung. Ein Teammate, dessen Zug bei einem API-Fehler endet, benachrichtigt den Lead, dass er fehlgeschlagen ist, und enthält den Fehlertext.326* **Untätigkeitsbenachrichtigungen**: wenn ein Teammate fertig ist und stoppt, benachrichtigt er automatisch den Lead und enthält seine endgültige Antwort in der Benachrichtigung. Ein Teammate, dessen Turn bei einem API-Fehler endet, benachrichtigt den Lead, dass er fehlgeschlagen ist, und enthält den Fehlertext.

327* **Gemeinsame Aufgabenliste**: [Agenten, die die Task-Tools haben](https://code.claude.com/docs/de/tools-reference.md#task-tool-availability), können den Aufgabenstatus sehen und verfügbare Arbeit beanspruchen.327* **Gemeinsame Aufgabenliste**: [Agenten, die die Task-Tools haben](https://code.claude.com/docs/de/tools-reference.md#task-tool-availability), können den Aufgabenstatus sehen und verfügbare Arbeit beanspruchen.

328* **Teammate-Messaging**: senden Sie eine Nachricht an einen bestimmten Teammate nach Name. Um alle zu erreichen, senden Sie eine Nachricht pro Empfänger.328* **Teammate-Messaging**: senden Sie eine Nachricht an einen bestimmten Teammate nach Name. Um alle zu erreichen, senden Sie eine Nachricht pro Empfänger.

329 329 


331 331 

332### Token-Nutzung332### Token-Nutzung

333 333 

334Agent-Teams verwenden deutlich mehr Tokens als eine einzelne Sitzung. Jeder Teammate hat sein eigenes Kontextfenster, und die Token-Nutzung skaliert mit der Anzahl der aktiven Teammates. Für Recherche, Überprüfung und neue Feature-Arbeit sind die zusätzlichen Tokens normalerweise lohnenswert. Für Routineaufgaben ist eine einzelne Sitzung kostengünstiger. Siehe [Agent-Team-Token-Kosten](https://code.claude.com/docs/de/costs.md#agent-team-token-costs) für Nutzungsleitfäden.334Agent-Teams verwenden deutlich mehr Token als eine einzelne Sitzung. Jeder Teammate hat sein eigenes Kontextfenster, und die Token-Nutzung skaliert mit der Anzahl der aktiven Teammates. Für Recherche, Überprüfung und neue Feature-Arbeit sind die zusätzlichen Token normalerweise lohnenswert. Für alltägliche Aufgaben ist eine einzelne Sitzung kostengünstiger. Siehe [Agent-Team-Token-Kosten](https://code.claude.com/docs/de/costs.md#agent-team-token-costs) für Nutzungsleitfäden.

335 335 

336Die Anfragen eines In-Process-Teammates fallen außerhalb des [Cache-TTL-Buckets der Hauptkonversation](https://code.claude.com/docs/de/prompt-caching.md#which-ttl-each-request-gets), sodass sein Cache standardmäßig fünf Minuten hält, auch bei einem Claude-Abonnement. Um es für eine Stunde zu behalten, setzen Sie [`subagentPromptCacheTtl`](https://code.claude.com/docs/de/settings-reference#subagentpromptcachettl) auf `1h`. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einem höheren Satz.336Die Anfragen eines In-Process-Teammates fallen außerhalb des [Cache-TTL-Buckets der Hauptkonversation](https://code.claude.com/docs/de/prompt-caching.md#which-ttl-each-request-gets), sodass sein Cache standardmäßig fünf Minuten hält, auch bei einem Claude-Abonnement. Um ihn für eine Stunde zu behalten, setzen Sie [`subagentPromptCacheTtl`](https://code.claude.com/docs/de/settings-reference#subagentpromptcachettl) auf `1h`. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einem höheren Satz.

337 337 

338## Anwendungsbeispiele338## Anwendungsbeispiele

339 339 

agent-view.md +0 −2

Details

892 892 

893Der Befehl warnt auch, wenn der laufende Supervisor eine andere Version hat als der `claude`, den Sie aufgerufen haben, was nach einem Update geschieht, in das der Supervisor noch nicht neu gestartet hat. Die Warnung zeigt beide Versionen an und teilt Ihnen mit, dass Sie `claude daemon stop --any` ausführen sollen, um die neue Version zu übernehmen.893Der Befehl warnt auch, wenn der laufende Supervisor eine andere Version hat als der `claude`, den Sie aufgerufen haben, was nach einem Update geschieht, in das der Supervisor noch nicht neu gestartet hat. Die Warnung zeigt beide Versionen an und teilt Ihnen mit, dass Sie `claude daemon stop --any` ausführen sollen, um die neue Version zu übernehmen.

894 894 

895Sitzungen bleiben bei diesem Versionskonflikt intakt: Eine ältere Claude Code-Version, die die `state.json` einer Sitzung aktualisiert, behält Felder, die sie nicht erkennt, und behält die Sitzung in der Liste. Die Sitzungsliste in `roster.json` folgt derselben Regel, daher bleiben Sitzungen, die von der neueren Version gestartet wurden, erreichbar und akzeptieren weiterhin Eingaben, nachdem der Supervisor neu gestartet wird.

896 

897### Agenten-Ansicht ausschalten895### Agenten-Ansicht ausschalten

898 896 

899Um Hintergrund-Agenten und die Agenten-Ansicht vollständig auszuschalten, setzen Sie die [Einstellung](https://code.claude.com/docs/de/settings.md) `disableAgentView` auf `true` oder setzen Sie die Umgebungsvariable `CLAUDE_CODE_DISABLE_AGENT_VIEW`. Administratoren können dies durch [verwaltete Einstellungen](https://code.claude.com/docs/de/managed-settings.md) erzwingen.897Um Hintergrund-Agenten und die Agenten-Ansicht vollständig auszuschalten, setzen Sie die [Einstellung](https://code.claude.com/docs/de/settings.md) `disableAgentView` auf `true` oder setzen Sie die Umgebungsvariable `CLAUDE_CODE_DISABLE_AGENT_VIEW`. Administratoren können dies durch [verwaltete Einstellungen](https://code.claude.com/docs/de/managed-settings.md) erzwingen.

Details

367| `ap-*` | `apac.` |367| `ap-*` | `apac.` |

368| Alle anderen Regionen | `global.` |368| Alle anderen Regionen | `global.` |

369 369 

370Setzen Sie `ANTHROPIC_BEDROCK_REGION_PREFIX`, um das Präfix auszuwählen, das Claude Code zuerst versucht; wenn Claude Code die Verfügbarkeit des Profils überprüfen kann und kein passendes Profil für ein Modell findet, wird es wie in der unten beschriebenen Auflösungsreihenfolge zurückgestuft. Gültige Werte sind `us`, `eu`, `apac`, `jp`, `au` und `global`. Setzen Sie es beispielsweise auf `global`, wenn Ihr Konto `global.`-Profile aktiviert hat, Claude Code aber ein geografiespezifisches Profil von Ihrer AWS-Region ableiten würde. Erfordert Claude Code v2.1.224 oder später.370Setzen Sie `ANTHROPIC_BEDROCK_REGION_PREFIX`, um das Präfix auszuwählen, das Claude Code zuerst versucht. Gültige Werte sind `us`, `eu`, `apac`, `jp`, `au` und `global`. Setzen Sie es beispielsweise auf `global`, wenn Ihr Konto `global.`-Profile aktiviert hat, Claude Code aber ein geografiespezifisches Profil von Ihrer AWS-Region ableiten würde.

371 371 

372Dieses Beispiel leitet die Standardmodelle über `global.`-Profile:372Dieses Beispiel leitet die Standardmodelle über `global.`-Profile:

373 373 

artifacts.md +3 −2

Details

64| :- | :- |64| :- | :- |

65| Die Sitzung befindet sich im [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) | Fragt vor der ersten Veröffentlichung jedes Artefakts nach |65| Die Sitzung befindet sich im [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) | Fragt vor der ersten Veröffentlichung jedes Artefakts nach |

66| Die Veröffentlichung deklariert Laufzeitfähigkeiten für die Seite, wie [Konnektor-Aufrufe](#pull-live-data-with-mcp-connectors) oder [Datei-Downloads](#offer-a-file-download) | Fragt vor dieser Veröffentlichung nach |66| Die Veröffentlichung deklariert Laufzeitfähigkeiten für die Seite, wie [Konnektor-Aufrufe](#pull-live-data-with-mcp-connectors) oder [Datei-Downloads](#offer-a-file-download) | Fragt vor dieser Veröffentlichung nach |

67| Sie haben das Artefakt öffentlich freigegeben | Fragt einmal pro Konversation nach, bevor es geändert wird |67| Sie haben das Artefakt öffentlich freigegeben | Fragt einmal pro Konversation nach, bevor es geändert wird, sowie vor jeder Antwort auf einen Kommentar dazu |

68| Claude veröffentlicht in einem Turn, der durch eine in Ihrer Sitzung ausgelöste [sitzungsbezogene geplante Aufgabe](https://code.claude.com/docs/de/scheduled-tasks.md) gestartet wurde, statt durch einen von Ihnen eingegebenen Prompt | Fragt vor der ersten Veröffentlichung jedes Artefakts nach |68| Claude veröffentlicht in einem Turn, der durch eine in Ihrer Sitzung ausgelöste [sitzungsbezogene geplante Aufgabe](https://code.claude.com/docs/de/scheduled-tasks.md) gestartet wurde, statt durch einen von Ihnen eingegebenen Prompt | Fragt vor der ersten Veröffentlichung jedes Artefakts nach |

69| Claude kann die Datei nicht ohne Ihre Genehmigung lesen | Fragt vor der Veröffentlichung nach. Eine Allow-Regel für das `Artifact`-Tool überspringt diese Abfrage nicht |69| Claude kann die Datei nicht ohne Ihre Genehmigung lesen | Fragt vor der Veröffentlichung nach. Eine Allow-Regel für das `Artifact`-Tool überspringt diese Abfrage nicht |

70| Im [Manual](https://code.claude.com/docs/de/permission-modes.md)- oder `acceptEdits`-Modus nimmt Claude eine kleine Änderung an der Datei eines Artefakts vor, die es nicht ohne Ihre Genehmigung bearbeiten kann, etwa an einer Projektdatei im Manual-Modus | Fragt vor der Veröffentlichung der Änderung nach. Sie werden auch dann gefragt, wenn eine Allow-Regel das `Artifact`-Tool abdeckt, da die Bearbeitung der Datei Ihre Genehmigung erfordert |70| Im [Manual](https://code.claude.com/docs/de/permission-modes.md)- oder `acceptEdits`-Modus nimmt Claude eine kleine Änderung an der Datei eines Artefakts vor, die es nicht ohne Ihre Genehmigung bearbeiten kann, etwa an einer Projektdatei im Manual-Modus | Fragt vor der Veröffentlichung der Änderung nach. Sie werden auch dann gefragt, wenn eine Allow-Regel das `Artifact`-Tool abdeckt, da die Bearbeitung der Datei Ihre Genehmigung erfordert |


111Mit wem Sie teilen können, hängt von Ihrem Plan ab:111Mit wem Sie teilen können, hängt von Ihrem Plan ab:

112 112 

113* **Innerhalb Ihrer Organisation**: Bei Team- und Enterprise-Plänen können Sie Zugriff auf bestimmte Personen in Ihrer Organisation oder auf alle gewähren. Betrachter melden sich bei claude.ai als Mitglieder Ihrer Organisation an, um die Seite zu sehen.113* **Innerhalb Ihrer Organisation**: Bei Team- und Enterprise-Plänen können Sie Zugriff auf bestimmte Personen in Ihrer Organisation oder auf alle gewähren. Betrachter melden sich bei claude.ai als Mitglieder Ihrer Organisation an, um die Seite zu sehen.

114* **Personen mit Zugriff auf einen freigegebenen Ordner**: Bei Team- und Enterprise-Plänen können Sie das Artefakt in einen Ordner verschieben, dessen Eigentümer oder Bearbeiter Sie sind. Verschieben Sie es über die [Artefakte-Seite](https://claude.ai/artifacts), die verfügbar ist, wenn Sie den claude.ai-Chat verwenden können. Alle Personen mit Zugriff auf den Ordner können es dann öffnen, und die Eigentümer und Bearbeiter des Ordners können es ändern.

114* **Öffentlich**: Teilen Sie einen Link, den jeder im Internet öffnen kann, ohne sich bei claude.ai anmelden zu müssen. Bei Team- und Enterprise-Plänen ist die öffentliche Freigabe deaktiviert, bis ein Eigentümer [sie für die Organisation aktiviert](#control-public-sharing).115* **Öffentlich**: Teilen Sie einen Link, den jeder im Internet öffnen kann, ohne sich bei claude.ai anmelden zu müssen. Bei Team- und Enterprise-Plänen ist die öffentliche Freigabe deaktiviert, bis ein Eigentümer [sie für die Organisation aktiviert](#control-public-sharing).

115 116 

116### Auf eine bestimmte Ansicht verlinken117### Auf eine bestimmte Ansicht verlinken


178Ihr [Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md) entscheidet, was Claude tut, wenn ein gesendeter Kommentar ankommt:179Ihr [Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md) entscheidet, was Claude tut, wenn ein gesendeter Kommentar ankommt:

179 180 

180* **Claude antwortet von selbst**: Wenn Sie sich in einem Berechtigungsmodus befinden, der Claude ermöglicht, die Antwort zu posten, ohne Sie zu fragen, liest Claude den Thread und antwortet. Sie sehen `Auto-replied to comment thread on Artifact: <name>`.181* **Claude antwortet von selbst**: Wenn Sie sich in einem Berechtigungsmodus befinden, der Claude ermöglicht, die Antwort zu posten, ohne Sie zu fragen, liest Claude den Thread und antwortet. Sie sehen `Auto-replied to comment thread on Artifact: <name>`.

181* **Claude wartet auf Sie**: Außerhalb des Plan-Modus, wenn das Posten der Antwort Ihre Genehmigung benötigen würde, sehen Sie `Comments are waiting on Artifact: <name>`. Claude fragt Sie dann um Genehmigung, um den Thread zu lesen, und erneut, um die Antwort zu posten.182* **Claude wartet auf Sie**: Außerhalb des Plan-Modus, wenn das Posten der Antwort [Ihre Genehmigung benötigen würde](#when-claude-code-asks-before-publishing), sehen Sie `Comments are waiting on Artifact: <name>`. Claude fragt Sie dann um Genehmigung, um den Thread zu lesen, und erneut, um die Antwort zu posten.

182* **Claude pausiert im Plan-Modus**: Sie sehen `Comments are waiting on Artifact: <name>`, und Claude antwortet nicht, bis Sie den Plan-Modus verlassen und es bitten, zu lesen und zu antworten.183* **Claude pausiert im Plan-Modus**: Sie sehen `Comments are waiting on Artifact: <name>`, und Claude antwortet nicht, bis Sie den Plan-Modus verlassen und es bitten, zu lesen und zu antworten.

183 184 

184Claude stoppt auch das automatische Antworten auf ein Artefakt, nachdem es 60 gesendete Kommentare oder Thread-Aktivierungen auf diesem Artefakt innerhalb einer Stunde bearbeitet hat. Sie sehen `Comments are waiting on Artifact: <name>` einmal, und Claude nimmt wieder auf, wenn diese Stunde Kommentare veralten.185Claude stoppt auch das automatische Antworten auf ein Artefakt, nachdem es 60 gesendete Kommentare oder Thread-Aktivierungen auf diesem Artefakt innerhalb einer Stunde bearbeitet hat. Sie sehen `Comments are waiting on Artifact: <name>` einmal, und Claude nimmt wieder auf, wenn diese Stunde Kommentare veralten.

Details

34* **Anfragen**: Damit die Prüfungen durchgelassen werden, leitet das Gateway sowohl den `anthropic-beta`-Header als auch das Body-Feld `safeguards` unverändert weiter, da [die beiden als Paar übertragen werden](https://code.claude.com/docs/de/llm-gateway-protocol.md#beta-header-and-body-field-pairs). Beim [Amazon Bedrock InvokeModel-Format](https://code.claude.com/docs/de/llm-gateway-protocol.md#api-formats) leitet es anstelle des Headers das Body-Feld `anthropic_beta` weiter.34* **Anfragen**: Damit die Prüfungen durchgelassen werden, leitet das Gateway sowohl den `anthropic-beta`-Header als auch das Body-Feld `safeguards` unverändert weiter, da [die beiden als Paar übertragen werden](https://code.claude.com/docs/de/llm-gateway-protocol.md#beta-header-and-body-field-pairs). Beim [Amazon Bedrock InvokeModel-Format](https://code.claude.com/docs/de/llm-gateway-protocol.md#api-formats) leitet es anstelle des Headers das Body-Feld `anthropic_beta` weiter.

35* **Antworten**: Das Gateway gibt Antworten und Streaming-Events zurück, ohne Felder zu löschen oder Tool-Use-IDs umzuschreiben. Damit die Ergebnisse der Prüfungen durchgelassen werden, behält es das Feld `safeguard_results` bei.35* **Antworten**: Das Gateway gibt Antworten und Streaming-Events zurück, ohne Felder zu löschen oder Tool-Use-IDs umzuschreiben. Damit die Ergebnisse der Prüfungen durchgelassen werden, behält es das Feld `safeguard_results` bei.

36 36 

37Ein Gateway, das den Datenverkehr auf diese Weise weiterleitet, funktioniert weiterhin mit dieser Funktion und mit zukünftigen Funktionen. Neue Sitzungen verwenden dann die Prüfungen des Servers erneut.37Sobald Ihr Gateway dies tut, verwenden neue Sitzungen die Prüfungen des Servers erneut.

38 38 

39Wenn Sie bereits wissen, dass Ihr Gateway die Prüfungen des Servers nicht bereitstellen kann, teilen Sie Claude Code mit, dass es dort nicht danach fragen soll, indem Sie `CLAUDE_CODE_AUTO_MODE_SERVER` auf `0` setzen, bevor Sie die Sitzung starten, in Ihrer Shell oder im [`env`-Einstellungsschlüssel](https://code.claude.com/docs/de/settings-reference#env):39Wenn Sie bereits wissen, dass Ihr Gateway die Prüfungen des Servers nicht bereitstellen kann, teilen Sie Claude Code mit, dass es dort nicht danach fragen soll, indem Sie `CLAUDE_CODE_AUTO_MODE_SERVER` auf `0` setzen, bevor Sie die Sitzung starten, in Ihrer Shell oder im [`env`-Einstellungsschlüssel](https://code.claude.com/docs/de/settings-reference#env):

40 40 

Details

322 322 

323Hier ist die vollständige `webhook.ts` mit bidirektionaler Unterstützung. Ausgehende Antworten streamen über `GET /events` mit [Server-Sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) (SSE), daher kann `curl -N localhost:8788/events` sie live beobachten; eingehender Chat kommt auf `POST /` an:323Hier ist die vollständige `webhook.ts` mit bidirektionaler Unterstützung. Ausgehende Antworten streamen über `GET /events` mit [Server-Sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) (SSE), daher kann `curl -N localhost:8788/events` sie live beobachten; eingehender Chat kommt auf `POST /` an:

324 324 

325```ts title="Full webhook.ts with reply tool' expandable theme={null}325```ts title="Full webhook.ts with reply tool" expandable theme={null}

326#!/usr/bin/env bun326#!/usr/bin/env bun

327import { Server } from '@modelcontextprotocol/sdk/server/index.js'327import { Server } from '@modelcontextprotocol/sdk/server/index.js'

328import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'328import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'

Details

205* **Mit `/teleport`**: Führen Sie innerhalb einer vorhandenen CLI-Sitzung `/teleport` oder `/tp` aus, um die gleiche Sitzungsauswahl zu öffnen, ohne Claude Code neu zu starten.205* **Mit `/teleport`**: Führen Sie innerhalb einer vorhandenen CLI-Sitzung `/teleport` oder `/tp` aus, um die gleiche Sitzungsauswahl zu öffnen, ohne Claude Code neu zu starten.

206* **Von `/tasks`**: Führen Sie `/tasks` aus, um Ihre Hintergrund-Sitzungen zu sehen, drücken Sie dann `t`, um in eine zu teleportieren.206* **Von `/tasks`**: Führen Sie `/tasks` aus, um Ihre Hintergrund-Sitzungen zu sehen, drücken Sie dann `t`, um in eine zu teleportieren.

207* **Von claude.ai/code**: Wählen Sie **Open in > Terminal** aus dem Sitzungsmenü, um einen Befehl zu kopieren, den Sie in Ihr Terminal einfügen können.207* **Von claude.ai/code**: Wählen Sie **Open in > Terminal** aus dem Sitzungsmenü, um einen Befehl zu kopieren, den Sie in Ihr Terminal einfügen können.

208* **Von innerhalb der Cloud-Sitzung**: Geben Sie `/teleport` ein und Claude Code antwortet mit dem genauen `claude --teleport <session-id>`-Befehl für diese Sitzung, bereit zum Ausführen aus einem Checkout des Repositories. Erfordert Claude Code v2.1.223 oder später in der Umgebung der Sitzung.208* **Von innerhalb der Cloud-Sitzung**: Geben Sie `/teleport` ein und Claude Code antwortet mit dem genauen `claude --teleport <session-id>`-Befehl für diese Sitzung, bereit zum Ausführen aus einem Checkout des Repositorys.

209 209 

210Wenn Sie eine Sitzung teleportieren, überprüft Claude, dass Sie sich im richtigen Repository befinden, ruft den Branch aus der Cloud-Sitzung ab und checkt ihn aus, und lädt die Konversation in Ihr Terminal.210Wenn Sie eine Sitzung teleportieren, überprüft Claude, dass Sie sich im richtigen Repository befinden, ruft den Branch aus der Cloud-Sitzung ab und checkt ihn aus, und lädt die Konversation in Ihr Terminal.

211 211 


499* **Repository-Authentifizierung**: Sie können eine Cloud-Sitzung nur in Ihr Terminal ziehen, wenn Sie sich bei demselben Konto authentifizieren499* **Repository-Authentifizierung**: Sie können eine Cloud-Sitzung nur in Ihr Terminal ziehen, wenn Sie sich bei demselben Konto authentifizieren

500* **Plattformbeschränkungen**: Repository-Klonen in von Anthropic gehosteten Umgebungen und Pull-Request-Erstellung erfordern GitHub. Selbstgehostete [GitHub Enterprise Server](https://code.claude.com/docs/de/github-enterprise-server.md)-Instanzen werden für Team- und Enterprise-Pläne unterstützt. Sie können ein GitLab-, Bitbucket- oder anderes Nicht-GitHub-Repository als [lokales Bündel](#send-local-repositories-without-github) an eine Cloud-Sitzung senden, indem Sie `CCR_FORCE_BUNDLE=1` setzen, aber die Sitzung kann die Ergebnisse nicht zurück zu diesem Remote pushen500* **Plattformbeschränkungen**: Repository-Klonen in von Anthropic gehosteten Umgebungen und Pull-Request-Erstellung erfordern GitHub. Selbstgehostete [GitHub Enterprise Server](https://code.claude.com/docs/de/github-enterprise-server.md)-Instanzen werden für Team- und Enterprise-Pläne unterstützt. Sie können ein GitLab-, Bitbucket- oder anderes Nicht-GitHub-Repository als [lokales Bündel](#send-local-repositories-without-github) an eine Cloud-Sitzung senden, indem Sie `CCR_FORCE_BUNDLE=1` setzen, aber die Sitzung kann die Ergebnisse nicht zurück zu diesem Remote pushen

501 * **Selbstgehostete Umgebungen**: Für ein Repository auf einem anderen Git-Host siehe die [Anforderungen für das Starten einer Sitzung mit `--environment`](https://code.claude.com/docs/de/self-hosted-environments-deploy#start-a-session-on-a-repository-outside-github).501 * **Selbstgehostete Umgebungen**: Für ein Repository auf einem anderen Git-Host siehe die [Anforderungen für das Starten einer Sitzung mit `--environment`](https://code.claude.com/docs/de/self-hosted-environments-deploy#start-a-session-on-a-repository-outside-github).

502* **Organisations-IP-Allowlist**: Cloud-Sitzungen rufen die Anthropic API von von Anthropic verwalteter Infrastruktur auf, nicht von Ihrem Netzwerk, während Sitzungen in einer [selbstgehosteten Umgebung](https://code.claude.com/docs/de/self-hosted-environments) sie von Ihrem eigenen Netzwerk aufrufen. Wenn Ihre Organisation [IP-Allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) aktiviert hat, schlägt jede von Anthropic gehostete Cloud-Sitzung mit einem Authentifizierungsfehler fehl.

503 * **Code Review und geplante Aufgaben**: Das Gleiche gilt für [Code Review](https://code.claude.com/docs/de/code-review.md) und für [geplante Cloud-Aufgaben](https://code.claude.com/docs/de/routines.md), die auf von Anthropic gehosteten Umgebungen ausgeführt werden. Eine geplante Aufgabe, die zu einer selbstgehosteten Umgebung geleitet wird, ruft die API von Ihrem eigenen Netzwerk auf.

504 * **Ausnahme erhalten**: Kontaktieren Sie den [Anthropic Support](https://support.claude.com/), um von Anthropic gehostete Services von der IP-Allowlist Ihrer Organisation auszunehmen.

505 502 

506## Verwandte Ressourcen503## Verwandte Ressourcen

507 504 

claude-projects.md +24 −26

Details

20 20 

21* **Arbeiten an einen Ort senden**: Fügen Sie einen Fehlerbericht, eine Stack-Trace oder eine Liste von Aufgaben in das Gespräch ein, wann immer eine auftaucht. Claude startet einen Thread für jede Arbeit oder leitet sie an den Thread weiter, der bereits in diesem Bereich arbeitet, und beantwortet schnelle Fragen direkt.21* **Arbeiten an einen Ort senden**: Fügen Sie einen Fehlerbericht, eine Stack-Trace oder eine Liste von Aufgaben in das Gespräch ein, wann immer eine auftaucht. Claude startet einen Thread für jede Arbeit oder leitet sie an den Thread weiter, der bereits in diesem Bereich arbeitet, und beantwortet schnelle Fragen direkt.

22* **Kontext einmal festlegen**: Jeder neue Thread beginnt mit den Anweisungen des Projekts, sodass eine Regel, die Sie einmal angeben, wie z. B. welcher Branch angestrebt werden soll, alle erreicht.22* **Kontext einmal festlegen**: Jeder neue Thread beginnt mit den Anweisungen des Projekts, sodass eine Regel, die Sie einmal angeben, wie z. B. welcher Branch angestrebt werden soll, alle erreicht.

23* **Weggehen und zur abgeschlossenen Arbeit zurückkehren**: Wenn Sie eine Stunde später oder am nächsten Morgen zurückkommen, zeigt der Bereich **Übersicht** an, welche Threads abgeschlossen sind, welche Pull Requests zur Überprüfung bereit sind und welcher Thread auf Ihre Antwort wartet.23* **Weggehen und zur abgeschlossenen Arbeit zurückkehren**: Der Bereich „Übersicht“ zeigt an, welche Threads abgeschlossen sind, welche Pull Requests zur Überprüfung bereit sind und welcher Thread auf Ihre Antwort wartet.

24 24 

25Wenn Sie bereits wissen, welche Arbeiten ein Projekt ausführen soll, gehen Sie direkt zu [Projekt erstellen](#create-a-project).25Wenn Sie bereits wissen, welche Arbeiten ein Projekt ausführen soll, gehen Sie direkt zu [Projekt erstellen](#create-a-project).

26 26 


28 28 

29Ein Projekt lohnt sich, wenn die Arbeit ein Ziel hat, das eine Sitzung übersteigt und weiterhin Aufgaben erzeugt. Diese Arten von Arbeiten eignen sich gut für ein Projekt:29Ein Projekt lohnt sich, wenn die Arbeit ein Ziel hat, das eine Sitzung übersteigt und weiterhin Aufgaben erzeugt. Diese Arten von Arbeiten eignen sich gut für ein Projekt:

30 30 

31* **Ein Ziel über viele Repositories**: „Bringen Sie jeden Service auf die neue Lint-Konfiguration.“ Claude kann einen Thread pro Repository ausführen, jeder mit seinem eigenen Pull Request, und der [**Übersichts**-Bereich](#see-what-needs-you-in-overview) zeigt, welche zur Überprüfung bereit sind.31* **Ein Ziel über viele Repositorys**: „Bringen Sie jeden Service auf die neue Lint-Konfiguration.“ Claude kann einen Thread pro Repository ausführen, jeder mit seinem eigenen Pull Request, und der [Übersichtsbereich](#see-what-needs-you-in-overview) zeigt, welche zur Überprüfung bereit sind.

32* **Ein Bereich, den Sie ständig füttern**: Die Fehler, Stack-Traces und Überprüfungsanfragen für einen Service, die in das Gespräch eingefügt werden, wenn sie Sie erreichen. Eine Fallstricke, die Sie Claude nach einer Reparatur merken lassen, ist im [Projektgedächtnis](#give-a-project-standing-context) für die nächste.32* **Ein Bereich, den Sie ständig füttern**: Die Fehler, Stack-Traces und Überprüfungsanfragen für einen Service, die in das Gespräch eingefügt werden, wenn sie Sie erreichen. Eine Fallstricke, die Sie Claude nach einer Reparatur merken lassen, ist im [Projektgedächtnis](#give-a-project-standing-context) für die nächste.

33* **Ein Build oder eine Migration größer als eine Sitzung**: „Bauen Sie, was `docs/spec.md` beschreibt“ oder „Verschieben Sie die App weg vom veralteten ORM.“ Die Arbeit teilt sich in Threads auf, die jeweils einen Teil übernehmen, Entscheidungen, die Sie Claude früh merken lassen, erreichen die späteren Threads, und die Spec-Änderungen und Fehler, die Sie während des Builds finden, gehen in das gleiche Gespräch.33* **Ein Build oder eine Migration größer als eine Sitzung**: „Bauen Sie, was `docs/spec.md` beschreibt“ oder „Verschieben Sie die App weg vom veralteten ORM.“ Die Arbeit teilt sich in Threads auf, die jeweils einen Teil übernehmen, Entscheidungen, die Sie Claude früh merken lassen, erreichen die späteren Threads, und die Spec-Änderungen und Fehler, die Sie während des Builds finden, gehen in das gleiche Gespräch.

34* **Arbeit, die kein Code ist**: Ein Ordner mit Verträgen oder ein Support-Ticket-Export, zu dem Sie ständig mit neuen Fragen zurückkehren, wie z. B. „Finden Sie die zehn häufigsten Integrationsfehler in diesen Tickets.“ Laden Sie die Dokumente hoch, anstatt ein Repository hinzuzufügen, und Threads liefern jede Zusammenfassung als Datei auf der Registerkarte [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts.34* **Arbeit, die kein Code ist**: Ein Ordner mit Verträgen oder ein Support-Ticket-Export, zu dem Sie ständig mit neuen Fragen zurückkehren, wie z. B. „Finden Sie die zehn häufigsten Integrationsfehler in diesen Tickets.“ Laden Sie die Dokumente hoch, anstatt ein Repository hinzuzufügen, und Threads liefern jede Zusammenfassung als Datei in der [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts.

35 35 

36In jedem dieser Fälle können Sie einen Batch von Aufgaben senden, Claude anweisen, ohne Rückfrage zur Bestätigung zu starten, und weggehen. Wenn Sie zurück sind, finden Sie die Threads, die auf Sie warten, unter [**Warten auf Sie**](#see-what-needs-you-in-overview). Sie können Claude auch bitten, einen Teil der Arbeit als [geplante Aufgabe in der Cloud](https://code.claude.com/docs/de/routines.md) nach einem Zeitplan auszuführen. Wenn einer dieser Fälle Ihre Situation ist, [erstellen Sie ein Projekt](#create-a-project).36In jedem dieser Fälle können Sie einen Batch von Aufgaben senden, Claude anweisen, ohne Rückfrage zur Bestätigung zu starten, und weggehen. Wenn Sie zurück sind, finden Sie die Threads, die auf Sie warten, unter [**Warten auf Sie**](#see-what-needs-you-in-overview). Sie können Claude auch bitten, einen Teil der Arbeit als [geplante Aufgabe in der Cloud](https://code.claude.com/docs/de/routines.md) nach einem Zeitplan auszuführen. Wenn einer dieser Fälle Ihre Situation ist, [erstellen Sie ein Projekt](#create-a-project).

37 37 


57 * Die `CLAUDE.md` in [jedem Repository des Projekts](#what-threads-pick-up-from-your-repositories), jedoch nicht die Skills, `.claude/settings.json` oder `.mcp.json` der Repositorys57 * Die `CLAUDE.md` in [jedem Repository des Projekts](#what-threads-pick-up-from-your-repositories), jedoch nicht die Skills, `.claude/settings.json` oder `.mcp.json` der Repositorys

58 * Die [Konnektoren](#get-skills-plugins-connectors-and-tools-into-threads) in Ihrem claude.ai-Konto58 * Die [Konnektoren](#get-skills-plugins-connectors-and-tools-into-threads) in Ihrem claude.ai-Konto

59 * Eine [Cloud-Umgebung](#choose-an-environment-for-threads), die Netzwerkzugriff, Umgebungsvariablen, Netzwerk-Secrets und installierte Tools festlegt59 * Eine [Cloud-Umgebung](#choose-an-environment-for-threads), die Netzwerkzugriff, Umgebungsvariablen, Netzwerk-Secrets und installierte Tools festlegt

60* **Der Bereich Overview**: Hier [sehen Sie alle Threads auf einen Blick](#see-what-needs-you-in-overview) und welche davon auf Sie warten. Die weiteren Tabs sind **Library** für die von Ihnen hinzugefügten und die von Threads erzeugten Dateien, **Pull requests** für die von Threads geöffneten Pull Requests und **Scheduled tasks** für geplante Arbeit im Projekt.60* **Der Bereich Overview**: Hier [sehen Sie alle Threads auf einen Blick](#see-what-needs-you-in-overview) und welche davon auf Sie warten.

61 61 

62Cloud-Threads übernehmen nichts aus der Claude Code-Einrichtung auf Ihrem eigenen Rechner. Unter [Skills, Plugins, Konnektoren und Tools in Threads verfügbar machen](#get-skills-plugins-connectors-and-tools-into-threads) erfahren Sie, wie Sie ihnen bereitstellen, was ihnen sonst fehlen würde.62Cloud-Threads übernehmen nichts aus der Claude Code-Einrichtung auf Ihrem eigenen Rechner. Unter [Skills, Plugins, Konnektoren und Tools in Threads verfügbar machen](#get-skills-plugins-connectors-and-tools-into-threads) erfahren Sie, wie Sie ihnen bereitstellen, was ihnen sonst fehlen würde.

63 63 

64So hängen diese Bestandteile zusammen, von Ihnen über die Konversation bis zu den Threads, die die Arbeit erledigen, wobei **Overview** ihren Status verfolgt:64So hängen diese Teile zusammen, von Ihnen über die Konversation bis zu den Threads, die die Arbeit erledigen, während die Übersicht ihren Status verfolgt:

65 65 

66![Diagramm eines Projekts. Sie schreiben in der Projektkonversation, in der Claude antwortet oder einen Thread startet. Jeder Cloud-Thread arbeitet auf einem eigenen Branch und Pull Request. Der Bereich Overview listet Threads nach Status auf, etwa bereit zur Überprüfung, wartet auf Sie und in Arbeit.](https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max\&auto=format\&n=e8CLbxM17eD7cAiv\&q=85\&s=dbf446f69f0bbdb9961d21af207cb93b)66![Diagramm eines Projekts. Sie schreiben in der Projektkonversation, in der Claude antwortet oder einen Thread startet. Jeder Cloud-Thread arbeitet auf einem eigenen Branch und Pull Request. Der Bereich Overview listet Threads nach Status auf, etwa bereit zur Überprüfung, wartet auf Sie und in Arbeit.](https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max\&auto=format\&n=e8CLbxM17eD7cAiv\&q=85\&s=dbf446f69f0bbdb9961d21af207cb93b)

67 67 


96 96 

97* **Name**: Wie das Projekt in der Liste **Projekte** angezeigt wird.97* **Name**: Wie das Projekt in der Liste **Projekte** angezeigt wird.

98* **Woran möchten Sie arbeiten?** (optional): Eine Zeile, die zum Ziel des Projekts wird, wie z. B. „Halten Sie die p95-API-Latenz unter 200 ms“. Claude in der Konversation arbeitet darauf hin. Ohne ein Ziel arbeitet Claude aus den Aufgaben, die Sie senden, und Sie können später ein Ziel in **Projekteinstellungen > Allgemein** hinzufügen.98* **Woran möchten Sie arbeiten?** (optional): Eine Zeile, die zum Ziel des Projekts wird, wie z. B. „Halten Sie die p95-API-Latenz unter 200 ms“. Claude in der Konversation arbeitet darauf hin. Ohne ein Ziel arbeitet Claude aus den Aufgaben, die Sie senden, und Sie können später ein Ziel in **Projekteinstellungen > Allgemein** hinzufügen.

99* **Kontext** (optional): Die GitHub-Repositorys, an denen dieses Projekt arbeitet, plus alle Dateien, Ordner oder Google Drive-Ordner, die Threads lesen sollten. Klicken Sie für jeden auf **Hinzufügen**. Fügen Sie die Repositorys hinzu, die die meisten Aufgaben benötigen, anstatt jedes, das die Arbeit möglicherweise berührt; [Entscheiden Sie, welche Repositorys hinzugefügt werden sollen](#decide-which-repositories-to-add) behandelt die Wahl, und Sie können später mehr in **Projekteinstellungen > Umgebung** hinzufügen.99* **Kontext** (optional): Die GitHub-Repositorys, an denen dieses Projekt arbeitet, plus alle Dateien, Ordner oder Google Drive-Ordner, die Threads lesen sollten. Klicken Sie für jedes Element auf **+**. Fügen Sie die Repositorys hinzu, die die meisten Aufgaben benötigen, anstatt jedes, das die Arbeit möglicherweise berührt; [Entscheiden Sie, welche Repositorys hinzugefügt werden sollen](#decide-which-repositories-to-add) behandelt die Wahl, und Sie können später mehr in **Projekteinstellungen > Umgebung** hinzufügen.

100 100 

101Stehende Regeln für die Funktionsweise von Threads gehen in [Projektanweisungen](#give-a-project-standing-context), die Sie nach der Projekterstellung festlegen.101Stehende Regeln für die Funktionsweise von Threads gehen in [Projektanweisungen](#give-a-project-standing-context), die Sie nach der Projekterstellung festlegen.

102 102 


109* Einen Thread starten, der das Repository erkundet, ohne etwas zu ändern, und nächste Schritte vorschlägt, wenn das Projekt ein Repository hat, das es lesen kann.109* Einen Thread starten, der das Repository erkundet, ohne etwas zu ändern, und nächste Schritte vorschlägt, wenn das Projekt ein Repository hat, das es lesen kann.

110* **Setup-Empfehlungen** veröffentlichen, die aus Ihren letzten Cloud-Sitzungen stammen: Repositorys zum Hinzufügen, geplante Aufgaben zum Erstellen und Threads, die es starten könnte. Jedes empfohlene Repository und jede geplante Aufgabe ist standardmäßig aktiviert. Schalten Sie die aus, die Sie nicht möchten, klicken Sie dann auf **Setup aktualisieren**, um den Rest hinzuzufügen, oder ignorieren Sie die Empfehlungen und beschreiben Sie die Arbeit selbst.110* **Setup-Empfehlungen** veröffentlichen, die aus Ihren letzten Cloud-Sitzungen stammen: Repositorys zum Hinzufügen, geplante Aufgaben zum Erstellen und Threads, die es starten könnte. Jedes empfohlene Repository und jede geplante Aufgabe ist standardmäßig aktiviert. Schalten Sie die aus, die Sie nicht möchten, klicken Sie dann auf **Setup aktualisieren**, um den Rest hinzuzufügen, oder ignorieren Sie die Empfehlungen und beschreiben Sie die Arbeit selbst.

111 111 

112Das Projekt wird nun unter **Projekte** in der Seitenleiste aufgelistet, und sein Gespräch ist offen. [Ihr erster Batch](#your-first-batch) behandelt, was Sie einrichten müssen, bevor Sie ihm Arbeit senden.112Das Projekt befindet sich nun in der Seitenleiste, und seine Konversation ist geöffnet. [Ihr erster Batch](#your-first-batch) behandelt, was Sie einrichten müssen, bevor Sie ihm Arbeit senden.

113 113 

114### Von einer vorhandenen Sitzung starten114### Von einer vorhandenen Sitzung starten

115 115 


168 168 

169Wenn Claude etwas anders leitet als Sie wollten, sagen Sie es. [Tune how Claude runs a project](#tune-how-claude-runs-a-project) listet Dinge auf, die Sie ihm sagen können, wie z. B. die Wiederverwendung eines vorhandenen Threads für Folgefragen oder die Beantwortung an Ort und Stelle statt des Startens eines Threads.169Wenn Claude etwas anders leitet als Sie wollten, sagen Sie es. [Tune how Claude runs a project](#tune-how-claude-runs-a-project) listet Dinge auf, die Sie ihm sagen können, wie z. B. die Wiederverwendung eines vorhandenen Threads für Folgefragen oder die Beantwortung an Ort und Stelle statt des Startens eines Threads.

170 170 

171Die vollständigen Ergebnisse eines Threads bleiben im Thread, und Sie öffnen seine Karte in der Konversation, um sie zu lesen. Dateien, die ein Thread produziert hat, befinden sich auch auf der Registerkarte **Bibliothek** in **Übersicht**.171Die vollständigen Ergebnisse eines Threads bleiben im Thread, und Sie öffnen seine Karte in der Konversation, um sie zu lesen. Dateien, die ein Thread produziert hat, befinden sich auch in der [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts.

172 172 

173Manchmal schlägt Claude Threads vor, anstatt sie zu starten, in einer Liste **Vorgeschlagene Threads**. Klicken Sie auf den Pfeil bei einem Vorschlag, um diesen Thread zu starten. Wenn mehrere aufgelistet sind, startet ein Button unter der Liste alle.173Manchmal schlägt Claude Threads vor, anstatt sie zu starten, in einer Liste **Vorgeschlagene Threads**. Klicken Sie auf den Pfeil bei einem Vorschlag, um diesen Thread zu starten. Wenn mehrere aufgelistet sind, startet ein Button unter der Liste alle.

174 174 


190 190 

191### Sehen Sie in der Übersicht, was auf Sie wartet191### Sehen Sie in der Übersicht, was auf Sie wartet

192 192 

193Der Bereich **Übersicht** neben der Konversation verfolgt die Threads des Projekts. Er ist bereits geöffnet, wenn Sie ein neues Projekt zum ersten Mal öffnen. Der Button **Übersicht** in der Projekt-Kopfzeile schließt und öffnet ihn erneut und zeigt einen Punkt an, wenn ein Thread auf Sie wartet.193Der Bereich Übersicht neben der Konversation verfolgt die Threads des Projekts. Er ist bereits geöffnet, wenn Sie ein neues Projekt zum ersten Mal öffnen. Um ihn erneut zu öffnen, nachdem Sie ihn geschlossen haben, klicken Sie in der Projekt-Kopfzeile auf den Button **Threads**. Der Button zeigt einen Punkt an, wenn ein Thread auf Sie wartet.

194 194 

195In der Desktop-App erhalten Sie auch eine Desktop-Benachrichtigung, wenn Claude in der Konversation postet, ein Thread auf einen Fehler trifft oder ein Thread Ihre Eingabe benötigt, sodass Sie das Projekt nicht offen halten müssen, um es herauszufinden. Um auch eine zu erhalten, wenn ein Thread eine Runde beendet, oder um sie für ein Projekt auszuschalten, wählen Sie **Benachrichtigungen** im Seitenmenü des Projekts. Diese Benachrichtigungen sind nur für Desktop: Überprüfen Sie in einem Browser den Punkt auf dem Button **Übersicht**.195In der Desktop-App wird standardmäßig eine Benachrichtigung angezeigt, wenn Claude in der Konversation postet, ein Thread auf einen Fehler trifft oder ein Thread Ihre Eingabe benötigt. Während Sie das Projekt ansehen, wird keine angezeigt. Um auch jedes Mal eine zu erhalten, wenn ein Thread einen Turn beendet, oder um sie für ein Projekt auszuschalten, wählen Sie **Benachrichtigungen** im Seitenmenü des Projekts. Überprüfen Sie in einem Browser den Punkt auf dem Button **Threads**.

196 196 

197Die Registerkarte **Threads** des Bereichs gruppiert Threads nach Status:197Die Ansicht **Threads** des Bereichs gruppiert Threads nach Status:

198 198 

199| Gruppe | Was ist darin |199| Gruppe | Was ist darin |

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


205| **Untätig** | Threads, die fertig sind und nicht auf etwas warten |205| **Untätig** | Threads, die fertig sind und nicht auf etwas warten |

206| **Gelöst** | Threads, die als erledigt markiert sind: von Ihnen aus dem Menü des Threads, von Claude, sobald Sie den letzten Schritt ausgeführt haben, wie z. B. das Mergen des Pull Requests, oder automatisch nach einer Woche ohne Aktivität. Sie können einen aus demselben Menü erneut öffnen |206| **Gelöst** | Threads, die als erledigt markiert sind: von Ihnen aus dem Menü des Threads, von Claude, sobald Sie den letzten Schritt ausgeführt haben, wie z. B. das Mergen des Pull Requests, oder automatisch nach einer Woche ohne Aktivität. Sie können einen aus demselben Menü erneut öffnen |

207 207 

208Die anderen Registerkarten des Bereichs sind:208Öffnen Sie die Dateien und geplanten Aufgaben des Projekts über die Projekt-Kopfzeile im Bereich:

209 209 

210* **Bibliothek**: die Dateien und Ordner, die Sie hinzugefügt haben, und die Dateien, die Threads produziert haben210* **Bibliothek**: die Dateien und Ordner, die Sie hinzugefügt haben, und die Dateien, die Threads produziert haben. Klicken Sie auf den Button **Bibliothek** neben **Threads**.

211* **Pull Requests**: wird angezeigt, sobald Threads welche geöffnet haben211* **Geplante Aufgaben**: die [geplanten Cloud-Aufgaben](https://code.claude.com/docs/de/routines.md), die Claude aus diesem Projekt eingerichtet hat. Wählen Sie sie im Menü **⋯** der Kopfzeile aus.

212* **Geplante Aufgaben**: die [geplanten Cloud-Aufgaben](https://code.claude.com/docs/de/routines.md), die Claude aus diesem Projekt eingerichtet hat

213 212 

214### Öffnen Sie einen Thread, wenn Sie Kontrolle benötigen213### Öffnen Sie einen Thread, wenn Sie Kontrolle benötigen

215 214 

216Klicken Sie auf die Karte eines Threads in der Konversation oder seine Zeile in **Übersicht**, um sein Transkript im Bereich Übersicht zu öffnen. Von dort aus können Sie:215Klicken Sie auf die Karte eines Threads in der Konversation oder seine Zeile in der Übersicht, um sein Transkript im Bereich Übersicht zu öffnen. Von dort aus können Sie:

217 216 

218* Lesen Sie, was Claude Schritt für Schritt getan hat.217* Lesen Sie, was Claude Schritt für Schritt getan hat.

219* Lenken Sie die Aufgabe, indem Sie in das eigene Nachrichtenfeld des Threads schreiben. Eine Nachricht dort geht direkt an diesen Thread, während eine Folgefrage in der Projektkonversation ihn nur erreicht, wenn Claude die Folgefrage diesem Thread zuordnet.218* Lenken Sie die Aufgabe, indem Sie in das eigene Nachrichtenfeld des Threads schreiben. Eine Nachricht dort geht direkt an diesen Thread, während eine Folgefrage in der Projektkonversation ihn nur erreicht, wenn Claude die Folgefrage diesem Thread zuordnet.


290| :- | :- | :- |289| :- | :- | :- |

291| Projektgedächtnis | Notizen, die Claude über das Projekt führt, wie Anforderungen, Entscheidungen und Fallstricke, gespeichert als Dateien. Jeder Cloud-Thread liest die Indexdatei `MEMORY.md` beim Start und öffnet die anderen Dateien, wenn er sie benötigt | Bitten Sie Claude in der Projektkonversation oder in einem beliebigen Cloud-Thread, sich an eine Anforderung, eine Entscheidung oder einen Fallstrick zu erinnern oder einen zu vergessen. Lesen, bearbeiten und löschen Sie die Dateien in **Projekteinstellungen > Gedächtnis** |290| Projektgedächtnis | Notizen, die Claude über das Projekt führt, wie Anforderungen, Entscheidungen und Fallstricke, gespeichert als Dateien. Jeder Cloud-Thread liest die Indexdatei `MEMORY.md` beim Start und öffnet die anderen Dateien, wenn er sie benötigt | Bitten Sie Claude in der Projektkonversation oder in einem beliebigen Cloud-Thread, sich an eine Anforderung, eine Entscheidung oder einen Fallstrick zu erinnern oder einen zu vergessen. Lesen, bearbeiten und löschen Sie die Dateien in **Projekteinstellungen > Gedächtnis** |

292| Projektanweisungen | Text, der an jeden neuen Thread und an Claude in der Projektkonversation gesendet wird, bis zu 16.000 Zeichen. [Projektanweisungen schreiben](#write-project-instructions) behandelt, was Sie darin einfügen sollten | **Projekteinstellungen > Gedächtnis > Projektanweisungen**, oder bitten Sie Claude, die Anweisungen zu ändern |291| Projektanweisungen | Text, der an jeden neuen Thread und an Claude in der Projektkonversation gesendet wird, bis zu 16.000 Zeichen. [Projektanweisungen schreiben](#write-project-instructions) behandelt, was Sie darin einfügen sollten | **Projekteinstellungen > Gedächtnis > Projektanweisungen**, oder bitten Sie Claude, die Anweisungen zu ändern |

293| Repositories, Dateien und Umgebung | Die Repositories, die jeder Cloud-Thread klont, die Ordner und Dateien, die er unter `/mnt/project-files` lesen kann, und die Cloud-Umgebung, in der er ausgeführt wird | Repositories und Umgebung in **Projekteinstellungen > Umgebung**, oder bitten Sie Claude in der Konversation, ein Repository zum Projekt hinzuzufügen. [Dateien und Ordner](#add-files-and-folders) über **Hinzufügen** auf der Registerkarte **Bibliothek** in **Übersicht** |292| Repositories, Dateien und Umgebung | Die Repositories, die jeder Cloud-Thread klont, die Ordner und Dateien, die er unter `/mnt/project-files` lesen kann, und die Cloud-Umgebung, in der er ausgeführt wird | Repositories und Umgebung in **Projekteinstellungen > Umgebung**, oder bitten Sie Claude in der Konversation, ein Repository zum Projekt hinzuzufügen. [Dateien und Ordner](#add-files-and-folders) über **Hinzufügen** in der [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts |

294 293 

295**Projekteinstellungen > Gedächtnis** listet diese Dateien unter **Auto-Memory** auf, da Claude sie selbst schreibt, während es im Projekt arbeitet. Sie sind getrennt vom [Auto-Memory](https://code.claude.com/docs/de/memory.md), das Claude Code auf Ihrem Computer führt, obwohl beide einen `MEMORY.md`-Index verwenden. Projektgedächtnis ist auch getrennt von den `CLAUDE.md`-Dateien in den Repositories des Projekts. Jeder Cloud-Thread liest diese `CLAUDE.md`-Dateien immer noch aus seinem Klon beim Start, also fügen Sie Anweisungen zu einem Repository in seine `CLAUDE.md` ein und Notizen zum Projekt in das Projektgedächtnis.294**Projekteinstellungen > Gedächtnis** listet diese Dateien unter **Auto-Memory** auf, da Claude sie selbst schreibt, während es im Projekt arbeitet. Sie sind getrennt vom [Auto-Memory](https://code.claude.com/docs/de/memory.md), das Claude Code auf Ihrem Computer führt, obwohl beide einen `MEMORY.md`-Index verwenden. Projektgedächtnis ist auch getrennt von den `CLAUDE.md`-Dateien in den Repositories des Projekts. Jeder Cloud-Thread liest diese `CLAUDE.md`-Dateien immer noch aus seinem Klon beim Start, also fügen Sie Anweisungen zu einem Repository in seine `CLAUDE.md` ein und Notizen zum Projekt in das Projektgedächtnis.

296 295 

297### Projektanweisungen schreiben296### Projektanweisungen schreiben

298 297 

299Projektanweisungen sind das Briefing, mit dem jeder neue Thread beginnt. Klicken Sie auf das Zahnradsymbol in der Projektkopfzeile, um **Projekteinstellungen** zu öffnen, und gehen Sie dann zu **Gedächtnis > Projektanweisungen**. Ein nützliches Briefing behandelt:298Projektanweisungen sind das Briefing, mit dem jeder neue Thread beginnt. Wählen Sie **Einstellungen** im Menü **⋯** in der Projektkopfzeile, um **Projekteinstellungen** zu öffnen, und gehen Sie dann zu **Gedächtnis > Projektanweisungen**. Ein nützliches Briefing behandelt:

300 299 

301* Wofür das Projekt ist300* Wofür das Projekt ist

302* Wo die Arbeit stattfindet: welche Repositories, von welchem Branch aus zu starten, wie Pull Requests zu benennen sind301* Wo die Arbeit stattfindet: welche Repositories, von welchem Branch aus zu starten, wie Pull Requests zu benennen sind


324* **Fügen Sie es zum Projekt hinzu**, im Dialog **Neues Projekt**, in **Projekteinstellungen > Umgebung**, oder bitten Sie Claude in der Konversation, es zum Projekt hinzuzufügen. Jeder Cloud-Thread klont es von da an und startet mit seiner geladenen `CLAUDE.md`, unabhängig davon, ob die Aufgabe es berührt.323* **Fügen Sie es zum Projekt hinzu**, im Dialog **Neues Projekt**, in **Projekteinstellungen > Umgebung**, oder bitten Sie Claude in der Konversation, es zum Projekt hinzuzufügen. Jeder Cloud-Thread klont es von da an und startet mit seiner geladenen `CLAUDE.md`, unabhängig davon, ob die Aufgabe es berührt.

325* **Lassen Sie es weg und lassen Sie Threads es hinzufügen, wenn nötig.** Ein Cloud-Thread, dessen Aufgabe ein Repository benötigt, das das Projekt nicht hat, kann es zu sich selbst hinzufügen, und eine Notiz im Thread sagt, dass es nur zu diesem Thread hinzugefügt wurde. Der Klon findet mitten in der Aufgabe statt, also war die `CLAUDE.md` dieses Repositorys nicht vorhanden, als der Thread startete. Der nächste Thread startet ohne es. Ein auf diese Weise hinzugefügtes Repository benötigt dieselben [Voraussetzungen](#check-the-prerequisites) wie ein Projekt-Repository: die darauf installierte Claude GitHub App und Push-Zugriff über Ihr GitHub-Konto.324* **Lassen Sie es weg und lassen Sie Threads es hinzufügen, wenn nötig.** Ein Cloud-Thread, dessen Aufgabe ein Repository benötigt, das das Projekt nicht hat, kann es zu sich selbst hinzufügen, und eine Notiz im Thread sagt, dass es nur zu diesem Thread hinzugefügt wurde. Der Klon findet mitten in der Aufgabe statt, also war die `CLAUDE.md` dieses Repositorys nicht vorhanden, als der Thread startete. Der nächste Thread startet ohne es. Ein auf diese Weise hinzugefügtes Repository benötigt dieselben [Voraussetzungen](#check-the-prerequisites) wie ein Projekt-Repository: die darauf installierte Claude GitHub App und Push-Zugriff über Ihr GitHub-Konto.

326 325 

327Ein Projekt benötigt überhaupt kein Repository. Seine Cloud-Threads können immer noch recherchieren, Dokumente schreiben und Code in ihrer eigenen Sandbox schreiben und ausführen, und sie liefern Dateien auf der Registerkarte **Bibliothek** ab. Jeder seiner Cloud-Threads kann trotzdem ein Repository zu sich selbst hinzufügen, wenn eine Aufgabe eines erfordert.326Ein Projekt benötigt überhaupt kein Repository. Seine Cloud-Threads können immer noch recherchieren, Dokumente schreiben und Code in ihrer eigenen Sandbox schreiben und ausführen. Sie liefern Dateien in der **Bibliothek** des Projekts ab. Jeder seiner Cloud-Threads kann trotzdem ein Repository zu sich selbst hinzufügen, wenn eine Aufgabe eines erfordert.

328 327 

329Sobald das Projekt Repositories hat, kann Claude nur Repositories von einem GitHub-Besitzer hinzufügen, den das Projekt bereits verwendet, unabhängig davon, ob es eines zum Projekt hinzufügt oder ein Thread eines zu sich selbst hinzufügt. Um ein Repository von einem anderen Besitzer einzubringen, fügen Sie es selbst in **Projekteinstellungen > Umgebung** zum Projekt hinzu.328Sobald das Projekt Repositories hat, kann Claude nur Repositories von einem GitHub-Besitzer hinzufügen, den das Projekt bereits verwendet, unabhängig davon, ob es eines zum Projekt hinzufügt oder ein Thread eines zu sich selbst hinzufügt. Um ein Repository von einem anderen Besitzer einzubringen, fügen Sie es selbst in **Projekteinstellungen > Umgebung** zum Projekt hinzu.

330 329 


332 331 

333### Dateien und Ordner hinzufügen332### Dateien und Ordner hinzufügen

334 333 

335Fügen Sie die Dateien und Ordner, die Threads lesen sollen, im Feld **Kontext** des Dialogs **Neues Projekt** hinzu, oder danach mit **Hinzufügen** auf der Registerkarte **Bibliothek** in **Übersicht**. Diese Limits gelten für das, was Sie hinzufügen:334Fügen Sie die Dateien und Ordner, die Threads lesen sollen, im Feld **Kontext** des Dialogs **Neues Projekt** hinzu, oder danach mit **Hinzufügen** in der [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts. Diese Limits gelten für das, was Sie hinzufügen:

336 335 

337* **Registerkarte Bibliothek**: bis zu 100 Dateien und 2 GB in einer Auswahl, mit einer einzelnen Datei bis zu 480 MB.336* **Dateien, die Sie unter claude.ai/code oder in der Desktop-App hochladen**: bis zu 1.000 Dateien und 2 GB auf einmal, mit einer einzelnen Datei bis zu 480 MB.

338* **Dialog Neues Projekt**: Dateien über 30 MB werden übersprungen, also fügen Sie größere Dateien nach der Projekterstellung von der Registerkarte **Bibliothek** hinzu.337* **Ordner, die Sie hochladen**: Versteckte Dateien und `node_modules` werden nicht hinzugefügt. Ein Projekt hält bis zu 10 Ordner und Google Drive-Ordner kombiniert, und einzelne Dateien zählen nicht zu diesem Limit.

339* **Ordner**: Wenn Sie einen Ordner von einem der beiden Orte hinzufügen, erhält das Projekt eine Kopie seiner ersten 100 Dateien bis zu 200 MB, ohne Dateien über 30 MB, versteckte Dateien oder `node_modules`. Ein Projekt hält bis zu 10 Ordner und Google Drive-Ordner kombiniert, und einzelne Dateien zählen nicht zu diesem Limit.

340* **Änderungen nach dem Upload**: Uploads sind Kopien, also erreicht eine Änderung, die Sie danach auf Ihrem Computer vornehmen, das Projekt nicht, bis Sie die Datei erneut hochladen und **Ersetzen** wählen, wenn Sie nach dem vorhandenen Namen gefragt werden.338* **Änderungen nach dem Upload**: Uploads sind Kopien, also erreicht eine Änderung, die Sie danach auf Ihrem Computer vornehmen, das Projekt nicht, bis Sie die Datei erneut hochladen und **Ersetzen** wählen, wenn Sie nach dem vorhandenen Namen gefragt werden.

341 339 

342### Was Threads aus Ihren Repositories aufgreifen340### Was Threads aus Ihren Repositories aufgreifen


373 371 

374## Referenz für Projekteinstellungen372## Referenz für Projekteinstellungen

375 373 

376Sie ändern Projekteinstellungen unter claude.ai/code oder in der Desktop-App, nicht in `settings.json`. Öffnen Sie **Projekteinstellungen** über **Einstellungen** im Seitenmenü des Projekts oder über das Zahnradsymbol in der Projektkopfzeile.374Sie ändern Projekteinstellungen unter claude.ai/code oder in der Desktop-App, nicht in `settings.json`. Öffnen Sie **Projekteinstellungen** über **Einstellungen** im Seitenmenü des Projekts oder über das Menü **⋯** in der Projektkopfzeile.

377 375 

378Einstellungen werden gespeichert, während Sie sie ändern; ein Textfeld, das Sie bearbeiten, z. B. das Ziel oder die Anweisungen, zeigt **Änderungen speichern** und **Verwerfen** an, bis Sie es verlassen. Änderungen an Anweisungen, Repositories, Plugins und Umgebung in **Projekteinstellungen** erreichen neue Threads, nicht bereits laufende Threads.376Einstellungen werden gespeichert, während Sie sie ändern; ein Textfeld, das Sie bearbeiten, z. B. das Ziel oder die Anweisungen, zeigt **Änderungen speichern** und **Verwerfen** an, bis Sie es verlassen. Änderungen an Anweisungen, Repositories, Plugins und Umgebung in **Projekteinstellungen** erreichen neue Threads, nicht bereits laufende Threads.

379 377 


434 432 

435 Projekte sind auf Pro, Max und Ultra verfügbar. Ein Projekt gehört nur Ihnen: Sie sind der Einzige, der ihm Arbeit sendet oder seine Threads sieht, und es nutzt Ihren eigenen GitHub-Zugriff und Ihre Konnektoren. [Wie sich Claude Tag von Cowork und Claude Code unterscheidet](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) enthält den direkten Vergleich.433 Projekte sind auf Pro, Max und Ultra verfügbar. Ein Projekt gehört nur Ihnen: Sie sind der Einzige, der ihm Arbeit sendet oder seine Threads sieht, und es nutzt Ihren eigenen GitHub-Zugriff und Ihre Konnektoren. [Wie sich Claude Tag von Cowork und Claude Code unterscheidet](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) enthält den direkten Vergleich.

436* **Cloud-Sitzungen**: Jeder Thread ist eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md), es sei denn, Sie bitten Claude, ihn auf Ihrem Computer auszuführen. In beiden Fällen startet und verfolgt Claude ihn statt Ihnen. Sie können die Arbeit einer Cloud-Sitzung, die Sie selbst gestartet haben, auch in ein Projekt übernehmen: Wählen Sie [**Continue in project**](#start-from-an-existing-cloud-session) im Seitenleistenmenü dieser Sitzung.434* **Cloud-Sitzungen**: Jeder Thread ist eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md), es sei denn, Sie bitten Claude, ihn auf Ihrem Computer auszuführen. In beiden Fällen startet und verfolgt Claude ihn statt Ihnen. Sie können die Arbeit einer Cloud-Sitzung, die Sie selbst gestartet haben, auch in ein Projekt übernehmen: Wählen Sie [**Continue in project**](#start-from-an-existing-cloud-session) im Seitenleistenmenü dieser Sitzung.

437* **Geplante Aufgaben**: Wenn Sie geplante Arbeit in einem Projekt anfordern, erstellt Claude eine [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md), die als Threads in diesem Projekt läuft und auf seiner Registerkarte **Geplante Aufgaben** angezeigt wird. Geplante Aufgaben, die Sie außerhalb eines Projekts erstellen, funktionieren weiterhin eigenständig.435* **Geplante Aufgaben**: Wenn Sie geplante Arbeit in einem Projekt anfordern, erstellt Claude eine [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md), die als Threads in diesem Projekt läuft und in seiner Ansicht **Geplante Aufgaben** angezeigt wird. Geplante Aufgaben, die Sie außerhalb eines Projekts erstellen, funktionieren weiterhin eigenständig.

438* **Remote Control**: [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbindet claude.ai mit einer Claude Code-Sitzung, die auf Ihrem Computer läuft. Wenn Sie Claude in einem Projekt bitten, einen Thread auf Ihrem Computer auszuführen, nutzt das Projekt [Remote Control, um dies zu tun](#run-a-thread-on-your-own-computer).436* **Remote Control**: [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbindet claude.ai mit einer Claude Code-Sitzung, die auf Ihrem Computer läuft. Wenn Sie Claude in einem Projekt bitten, einen Thread auf Ihrem Computer auszuführen, nutzt das Projekt [Remote Control, um dies zu tun](#run-a-thread-on-your-own-computer).

439* **Lokale Sitzungen und Agent-Ansicht**: Eine Sitzung, die Sie selbst in Ihrem Terminal, Ihrer IDE oder der lokalen Umgebung der Desktop-App starten, bleibt außerhalb Ihrer Projekte, Sie können ihre Arbeit jedoch [in eines übernehmen](#start-from-an-existing-cloud-session). [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) ist ein Bildschirm zum Verfolgen mehrerer lokaler Sitzungen nebeneinander, und Sie starten immer noch jede selbst und geben ihr ihre Aufgabe selbst.437* **Lokale Sitzungen und Agent-Ansicht**: Eine Sitzung, die Sie selbst in Ihrem Terminal, Ihrer IDE oder der lokalen Umgebung der Desktop-App starten, bleibt außerhalb Ihrer Projekte, Sie können ihre Arbeit jedoch [in eines übernehmen](#start-from-an-existing-cloud-session). [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) ist ein Bildschirm zum Verfolgen mehrerer lokaler Sitzungen nebeneinander, und Sie starten immer noch jede selbst und geben ihr ihre Aufgabe selbst.

440* **Worktrees**: Ein [Worktree](https://code.claude.com/docs/de/worktrees.md) gibt jeder lokalen Sitzung ihre eigene Arbeitskopie eines Repositorys. Cloud-Threads benötigen sie nicht: Jeder klont seine Repositorys in seine eigene Cloud-Sandbox und arbeitet auf seinem eigenen Branch.438* **Worktrees**: Ein [Worktree](https://code.claude.com/docs/de/worktrees.md) gibt jeder lokalen Sitzung ihre eigene Arbeitskopie eines Repositorys. Cloud-Threads benötigen sie nicht: Jeder klont seine Repositorys in seine eigene Cloud-Sandbox und arbeitet auf seinem eigenen Branch.


466Wenn mehrere Threads zurückkommen und etwas Falsches angenommen haben, fehlenden Zugriff umgangen haben oder mit „blockiert“ gestoppt haben, ist die Ursache normalerweise die gleiche Lücke in der Einrichtung des Projekts statt eines Problems mit jeder Aufgabe. Sortieren Sie, welche Threads solide sind, bevor Sie etwas reparieren:464Wenn mehrere Threads zurückkommen und etwas Falsches angenommen haben, fehlenden Zugriff umgangen haben oder mit „blockiert“ gestoppt haben, ist die Ursache normalerweise die gleiche Lücke in der Einrichtung des Projekts statt eines Problems mit jeder Aufgabe. Sortieren Sie, welche Threads solide sind, bevor Sie etwas reparieren:

467 465 

4681. Bitten Sie Claude im Gespräch: „Für jeden offenen Thread, listen Sie auf, was Sie ihn zu tun aufgefordert haben, was er angenommen oder nicht erreichen konnte, und worauf es wartet.“ Claude liest jeden Thread und antwortet im Gespräch.4661. Bitten Sie Claude im Gespräch: „Für jeden offenen Thread, listen Sie auf, was Sie ihn zu tun aufgefordert haben, was er angenommen oder nicht erreichen konnte, und worauf es wartet.“ Claude liest jeden Thread und antwortet im Gespräch.

4692. Für Threads, die von einer falschen Annahme gestartet wurden, öffnen Sie den Thread von **Übersicht** und markieren Sie ihn als gelöst aus seinem Menü, oder sagen Sie ihm, was stattdessen zu tun ist, in seinem Nachrichtenfeld. Sein Branch und jeder Pull Request bleiben auf GitHub, bis Sie sie löschen.4672. Für Threads, die von einer falschen Annahme gestartet wurden, öffnen Sie den Thread über die Übersicht und markieren Sie ihn über sein Menü als gelöst, oder sagen Sie ihm, was er stattdessen tun soll. Sein Branch und jeder Pull Request bleiben auf GitHub, bis Sie sie löschen.

4703. Reparieren Sie die Lücke einmal, in [Projektanweisungen](#give-a-project-standing-context) oder der [Umgebung](#choose-an-environment-for-threads), dann senden Sie einen Thread, bevor Sie den Rest der Arbeit erneut als neue Threads senden.4683. Reparieren Sie die Lücke einmal, in [Projektanweisungen](#give-a-project-standing-context) oder der [Umgebung](#choose-an-environment-for-threads), dann senden Sie einen Thread, bevor Sie den Rest der Arbeit erneut als neue Threads senden.

471 469 

472### Claude hat nicht geantwortet470### Claude hat nicht geantwortet

Details

14>14>

15> Wenn jeder Pull Request in einem Repository auf GitHub automatisch geprüft werden soll, lesen Sie [Code Review](https://code.claude.com/docs/de/code-review.md), einen verwalteten Dienst, den ein Owner für Ihre Organisation aktiviert.15> Wenn jeder Pull Request in einem Repository auf GitHub automatisch geprüft werden soll, lesen Sie [Code Review](https://code.claude.com/docs/de/code-review.md), einen verwalteten Dienst, den ein Owner für Ihre Organisation aktiviert.

16 16 

17`/review` ist ein Alias von `/code-review`. Vor v2.1.223 war `/review` ein separater Befehl, der ein einstufiges, nur lesendes Review eines GitHub-Pull-Requests ausführte.17`/review` ist ein Alias von `/code-review`.

18 18 

19**1. /code-review ausführen**19**1. /code-review ausführen**

20 20 


91* **`ultra`**: Das Review verwendet die gespeicherte Stufe weder, noch aktualisiert es sie91* **`ultra`**: Das Review verwendet die gespeicherte Stufe weder, noch aktualisiert es sie

92* **Nie eine Stufe eingegeben**: Das Review verwendet den aktuellen Effort der Sitzung92* **Nie eine Stufe eingegeben**: Das Review verwendet den aktuellen Effort der Sitzung

93 93 

94Vor v2.1.223 verwendete ein `/code-review` ohne Stufe immer den aktuellen Effort der Sitzung.

95 

96### Ergebnisse in einem GitLab Merge Request veröffentlichen94### Ergebnisse in einem GitLab Merge Request veröffentlichen

97 95 

98Wenn Sie `--comment` für einen GitLab Merge Request übergeben, veröffentlicht Claude Code die Ergebnisse über die `glab`-CLI von GitLab. Erfordert Claude Code v2.1.257 oder höher. Wenn `glab` nicht installiert ist, gibt Claude die Ergebnisse stattdessen im Terminal aus.96Wenn Sie `--comment` für einen GitLab Merge Request übergeben, veröffentlicht Claude Code die Ergebnisse über die `glab`-CLI von GitLab. Erfordert Claude Code v2.1.257 oder höher. Wenn `glab` nicht installiert ist, gibt Claude die Ergebnisse stattdessen im Terminal aus.

commands.md +2 −2

Details

104| `/install-github-app` | Installiert die Claude GitHub App für ein Repository, mit einem optionalen Schritt zum Einrichten von [GitHub Actions](https://code.claude.com/docs/de/github-actions.md)-Workflows und -Secrets. Führt Sie durch die Auswahl eines Repositorys und die Konfiguration der Integration. Funktioniert nur mit github.com-Repositorys. Wenn das Git-Remote Ihres Repositorys auf gitlab.com oder bitbucket.org liegt, gibt der Befehl einen Hinweis aus und wird beendet, statt die Einrichtung zu starten. Um Claude Code aus GitLab-Pipelines auszuführen, siehe [GitLab CI/CD](https://code.claude.com/docs/de/gitlab-ci-cd.md) |104| `/install-github-app` | Installiert die Claude GitHub App für ein Repository, mit einem optionalen Schritt zum Einrichten von [GitHub Actions](https://code.claude.com/docs/de/github-actions.md)-Workflows und -Secrets. Führt Sie durch die Auswahl eines Repositorys und die Konfiguration der Integration. Funktioniert nur mit github.com-Repositorys. Wenn das Git-Remote Ihres Repositorys auf gitlab.com oder bitbucket.org liegt, gibt der Befehl einen Hinweis aus und wird beendet, statt die Einrichtung zu starten. Um Claude Code aus GitLab-Pipelines auszuführen, siehe [GitLab CI/CD](https://code.claude.com/docs/de/gitlab-ci-cd.md) |

105| `/install-slack-app` | Installiert die Claude Slack-App. Öffnet einen Browser, um den OAuth-Ablauf abzuschließen |105| `/install-slack-app` | Installiert die Claude Slack-App. Öffnet einen Browser, um den OAuth-Ablauf abzuschließen |

106| `/keybindings` | Öffnet Ihre Datei mit [Tastenkombinationen](https://code.claude.com/docs/de/keybindings.md) |106| `/keybindings` | Öffnet Ihre Datei mit [Tastenkombinationen](https://code.claude.com/docs/de/keybindings.md) |

107| `/list-agents` | Listet die Subagenten, Teammitglieder aus [Agent-Teams](https://code.claude.com/docs/de/agent-teams.md) und anderen Claude Code-Sitzungen auf, denen Claude Nachrichten senden kann, jeweils mit dem zu verwendenden Namen. Siehe [sitzungsübergreifende Nachrichten](https://code.claude.com/docs/de/cross-session-messaging.md). Auch als `/peers` verfügbar. Erfordert Claude Code v2.1.224 oder höher; frühere Versionen melden `Unknown command: /list-agents`. Zeilen für Teammitglieder und die erste Zeile mit dem eigenen Namen dieser Sitzung erfordern v2.1.239 oder höher. Nur in Sitzungen verfügbar, in denen [sitzungsübergreifende Nachrichten aktiviert sind](https://code.claude.com/docs/de/cross-session-messaging.md#availability) |107| `/list-agents` | Listet die Subagenten, Teammitglieder aus [Agent-Teams](https://code.claude.com/docs/de/agent-teams.md) und anderen Claude Code-Sitzungen auf, denen Claude Nachrichten senden kann, jeweils mit dem zu verwendenden Namen. Siehe [sitzungsübergreifende Nachrichten](https://code.claude.com/docs/de/cross-session-messaging.md). Auch als `/peers` verfügbar. Zeilen für Teammitglieder und die erste Zeile mit dem eigenen Namen dieser Sitzung erfordern v2.1.239 oder höher. Nur in Sitzungen verfügbar, in denen [sitzungsübergreifende Nachrichten aktiviert sind](https://code.claude.com/docs/de/cross-session-messaging.md#availability) |

108| `/login` | Meldet Sie bei Ihrem Anthropic-Konto an |108| `/login` | Meldet Sie bei Ihrem Anthropic-Konto an |

109| `/logout` | Meldet Sie von Ihrem Anthropic-Konto ab |109| `/logout` | Meldet Sie von Ihrem Anthropic-Konto ab |

110| `/loop [interval] [prompt]` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Führt einen Prompt wiederholt aus, solange die Sitzung geöffnet bleibt. Lassen Sie das Intervall weg, und Claude [bestimmt das Tempo zwischen den Iterationen selbst](https://code.claude.com/docs/de/scheduled-tasks.md#let-claude-choose-the-interval). Lassen Sie den Prompt weg, und Claude führt den [integrierten Wartungs-Prompt](https://code.claude.com/docs/de/scheduled-tasks.md#run-the-built-in-maintenance-prompt) oder Ihre [`loop.md`](https://code.claude.com/docs/de/scheduled-tasks#customize-the-default-prompt-with-loop-md) aus. Beispiel: `/loop 5m check if the deploy finished`. Siehe [Prompts nach Zeitplan ausführen](https://code.claude.com/docs/de/scheduled-tasks.md). Alias: `/proactive` |110| `/loop [interval] [prompt]` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Führt einen Prompt wiederholt aus, solange die Sitzung geöffnet bleibt. Lassen Sie das Intervall weg, und Claude [bestimmt das Tempo zwischen den Iterationen selbst](https://code.claude.com/docs/de/scheduled-tasks.md#let-claude-choose-the-interval). Lassen Sie den Prompt weg, und Claude führt den [integrierten Wartungs-Prompt](https://code.claude.com/docs/de/scheduled-tasks.md#run-the-built-in-maintenance-prompt) oder Ihre [`loop.md`](https://code.claude.com/docs/de/scheduled-tasks#customize-the-default-prompt-with-loop-md) aus. Beispiel: `/loop 5m check if the deploy finished`. Siehe [Prompts nach Zeitplan ausführen](https://code.claude.com/docs/de/scheduled-tasks.md). Alias: `/proactive` |


132| `/rename [name]` | Benennt die aktuelle Sitzung um und zeigt den Namen in der Prompt-Leiste an. Ohne Namen wird automatisch einer aus dem Konversationsverlauf erzeugt. Auch im nicht interaktiven Modus (`-p`) verfügbar. Auf jeder Oberfläche zum Umbenennen, einschließlich claude.ai und der Desktop-App, ersetzt Claude Code Steuer- und unsichtbare Zeichen im neuen Namen durch Leerzeichen und begrenzt den Namen auf 200 Zeichen. Wenn der Name nach dem Entfernen unsichtbarer Zeichen leer ist, lehnt Claude Code ihn ab und zeigt `That name is empty once invisible characters are removed. Usage: /rename <name>` an. Die Zeichenersetzung und die Längenbegrenzung erfordern Claude Code v2.1.221 oder höher |132| `/rename [name]` | Benennt die aktuelle Sitzung um und zeigt den Namen in der Prompt-Leiste an. Ohne Namen wird automatisch einer aus dem Konversationsverlauf erzeugt. Auch im nicht interaktiven Modus (`-p`) verfügbar. Auf jeder Oberfläche zum Umbenennen, einschließlich claude.ai und der Desktop-App, ersetzt Claude Code Steuer- und unsichtbare Zeichen im neuen Namen durch Leerzeichen und begrenzt den Namen auf 200 Zeichen. Wenn der Name nach dem Entfernen unsichtbarer Zeichen leer ist, lehnt Claude Code ihn ab und zeigt `That name is empty once invisible characters are removed. Usage: /rename <name>` an. Die Zeichenersetzung und die Längenbegrenzung erfordern Claude Code v2.1.221 oder höher |

133| `/restart` | Startet Claude Code neu und setzt diese Sitzung fort, wodurch ein installiertes Update angewendet wird. Führen Sie den Befehl aus, wenn die Fußzeile ihn nach der Installation eines Updates anbietet. Erfordert einen Pro-, Max- oder Ultra-Plan und eine native Installation unter macOS oder Linux, nicht WSL. Erfordert Claude Code v2.1.288 oder höher. Alias: `/update` |133| `/restart` | Startet Claude Code neu und setzt diese Sitzung fort, wodurch ein installiertes Update angewendet wird. Führen Sie den Befehl aus, wenn die Fußzeile ihn nach der Installation eines Updates anbietet. Erfordert einen Pro-, Max- oder Ultra-Plan und eine native Installation unter macOS oder Linux, nicht WSL. Erfordert Claude Code v2.1.288 oder höher. Alias: `/update` |

134| `/resume [session]` | Setzt eine Konversation anhand von ID oder Name fort oder öffnet die Sitzungsauswahl. [Hintergrundsitzungen](https://code.claude.com/docs/de/agent-view.md) erscheinen in der Auswahl mit `bg` markiert. Wenn Sie eine noch laufende Sitzung fortsetzen, aus der Auswahl oder per ID oder Name, wird [diese Sitzung geöffnet](https://code.claude.com/docs/de/sessions.md#resume-a-running-background-session): Ihre aktuelle Konversation wechselt in den Hintergrund, und dieses Terminal wird an die laufende Sitzung angehängt. Drücken Sie `←` bei leerem Prompt, um zur Agent-Ansicht zurückzukehren, die auch die Konversation auflistet, die Sie verlassen haben. Vor v2.1.285 lehnte Claude Code dies ab und forderte Sie auf, die Sitzung mit `claude attach` zu öffnen oder sie zuerst zu stoppen. Alias: `/continue` |134| `/resume [session]` | Setzt eine Konversation anhand von ID oder Name fort oder öffnet die Sitzungsauswahl. [Hintergrundsitzungen](https://code.claude.com/docs/de/agent-view.md) erscheinen in der Auswahl mit `bg` markiert. Wenn Sie eine noch laufende Sitzung fortsetzen, aus der Auswahl oder per ID oder Name, wird [diese Sitzung geöffnet](https://code.claude.com/docs/de/sessions.md#resume-a-running-background-session): Ihre aktuelle Konversation wechselt in den Hintergrund, und dieses Terminal wird an die laufende Sitzung angehängt. Drücken Sie `←` bei leerem Prompt, um zur Agent-Ansicht zurückzukehren, die auch die Konversation auflistet, die Sie verlassen haben. Vor v2.1.285 lehnte Claude Code dies ab und forderte Sie auf, die Sitzung mit `claude attach` zu öffnen oder sie zuerst zu stoppen. Alias: `/continue` |

135| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias von [`/code-review`](https://code.claude.com/docs/de/code-review-local): prüft den aktuellen Diff oder eine übergebene PR-Nummer, einen Branch oder einen Pfad, etwa `/review 1234`, und akzeptiert dieselben Effort-Stufen und Flags. Ohne angegebene Stufe verwendet das Review die zuletzt von Ihnen eingegebene Stufe von `low` bis `max` erneut; die genauen Regeln finden Sie unter [Lokal mit `/code-review` reviewen](https://code.claude.com/docs/de/code-review-local). Für ein tiefgehendes Cloud-Review verwenden Sie [`/code-review ultra`](https://code.claude.com/docs/de/ultrareview). Vor v2.1.223 war `/review` ein separater Befehl, der ein einstufiges, nur lesendes Review eines GitHub Pull Requests anhand der Nummer ausführte und bei Ausführung ohne Argument offene PRs zur Auswahl auflistete; von v2.1.186 bis v2.1.201 nutzte er dieselbe Multi-Agenten-Engine wie `/code-review medium` |135| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias von [`/code-review`](https://code.claude.com/docs/de/code-review-local): prüft den aktuellen Diff oder eine übergebene PR-Nummer, einen Branch oder einen Pfad, etwa `/review 1234`, und akzeptiert dieselben Effort-Stufen und Flags. Ohne angegebene Stufe verwendet das Review die zuletzt von Ihnen eingegebene Stufe von `low` bis `max` erneut; die genauen Regeln finden Sie unter [Lokal mit `/code-review` reviewen](https://code.claude.com/docs/de/code-review-local). Für ein tiefgehendes Cloud-Review verwenden Sie [`/code-review ultra`](https://code.claude.com/docs/de/ultrareview) |

136| `/rewind` | Setzt die Konversation und/oder den Code auf einen früheren Punkt zurück oder fasst ab einer ausgewählten Nachricht zusammen. Siehe [Checkpointing](https://code.claude.com/docs/de/checkpointing.md). Aliase: `/checkpoint`, `/undo` |136| `/rewind` | Setzt die Konversation und/oder den Code auf einen früheren Punkt zurück oder fasst ab einer ausgewählten Nachricht zusammen. Siehe [Checkpointing](https://code.claude.com/docs/de/checkpointing.md). Aliase: `/checkpoint`, `/undo` |

137| `/run` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Startet und bedient die App Ihres Projekts, um zu sehen, dass eine Änderung funktioniert und nicht nur Tests bestehen. Siehe [App ausführen und verifizieren](https://code.claude.com/docs/de/skills.md#run-and-verify-your-app) |137| `/run` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Startet und bedient die App Ihres Projekts, um zu sehen, dass eine Änderung funktioniert und nicht nur Tests bestehen. Siehe [App ausführen und verifizieren](https://code.claude.com/docs/de/skills.md#run-and-verify-your-app) |

138| `/run-skill-generator` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Bringt `/run` und `/verify` bei, wie die App Ihres Projekts aus einer sauberen Umgebung gebaut, gestartet und bedient wird, indem ein projektspezifischer [Skill](https://code.claude.com/docs/de/skills.md#run-and-verify-your-app) geschrieben wird |138| `/run-skill-generator` | **[Skill](https://code.claude.com/docs/de/skills.md#bundled-skills).** Bringt `/run` und `/verify` bei, wie die App Ihres Projekts aus einer sauberen Umgebung gebaut, gestartet und bedient wird, indem ein projektspezifischer [Skill](https://code.claude.com/docs/de/skills.md#run-and-verify-your-app) geschrieben wird |

costs.md +6 −6

Details

292 292 

293Benutzerdefinierte [Hooks](https://code.claude.com/docs/de/hooks.md) können Daten vorverarbeiten, bevor Claude sie sieht. Anstatt dass Claude eine 10.000-Zeilen-Logdatei liest, um Fehler zu finden, kann ein Hook nach `ERROR` suchen und nur übereinstimmende Zeilen zurückgeben, wodurch der Kontext von Zehntausenden Token auf Hunderte reduziert wird.293Benutzerdefinierte [Hooks](https://code.claude.com/docs/de/hooks.md) können Daten vorverarbeiten, bevor Claude sie sieht. Anstatt dass Claude eine 10.000-Zeilen-Logdatei liest, um Fehler zu finden, kann ein Hook nach `ERROR` suchen und nur übereinstimmende Zeilen zurückgeben, wodurch der Kontext von Zehntausenden Token auf Hunderte reduziert wird.

294 294 

295Ein [Skill](https://code.claude.com/docs/de/skills.md) kann Claude Domänenwissen geben, sodass es nicht erkunden muss. Beispielsweise könnte ein „codebase-overview“-Skill die Architektur Ihres Projekts, wichtige Verzeichnisse und Namenskonventionen beschreiben. Wenn Claude den Skill aufruft, erhält es diesen Kontext sofort, anstatt Token zu verschwenden, um mehrere Dateien zu lesen, um die Struktur zu verstehen.295Dieser PreToolUse-Hook kürzt die Testausgabe auf ihre letzten 100 Zeilen:

296 

297Beispielsweise filtert dieser PreToolUse-Hook die Testausgabe, um nur Fehler anzuzeigen:

298 296 

299> [tab] settings.json297> [tab] settings.json

300>298>


320 318 

321> [tab] filter-test-output.sh319> [tab] filter-test-output.sh

322>320>

323> Der Hook ruft dieses Skript auf. Erstellen Sie den Ordner mit `mkdir -p ~/.claude/hooks`, speichern Sie das Skript unten als `~/.claude/hooks/filter-test-output.sh` und machen Sie es ausführbar mit `chmod +x ~/.claude/hooks/filter-test-output.sh`. Es überprüft, ob der Befehl ein Test-Runner ist, und ändert ihn, um nur Fehler anzuzeigen:321> Der Hook ruft dieses Skript auf. Erstellen Sie den Ordner mit `mkdir -p ~/.claude/hooks`, speichern Sie das Skript unten als `~/.claude/hooks/filter-test-output.sh` und machen Sie es ausführbar mit `chmod +x ~/.claude/hooks/filter-test-output.sh`. Es überprüft, ob der Befehl ein Test-Runner ist, und behält in diesem Fall nur die letzten 100 Zeilen seiner Ausgabe:

324>322>

325> ```bash theme={null}323> ```bash theme={null}

326> #!/bin/bash324> #!/bin/bash

327> input=$(cat)325> input=$(cat)

328> cmd=$(echo "$input" | jq -r '.tool_input.command')326> cmd=$(echo "$input" | jq -r '.tool_input.command')

329>327>

330> # If running tests, filter to show only failures328> # If running tests, keep only the last 100 lines

331> pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'329> pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'

332> if [[ "$cmd" =~ $pattern ]]; then330> if [[ "$cmd" =~ $pattern ]]; then

333> filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"331> filtered_cmd="$cmd 2>&1 | tail -n 100"

334> echo "$input" | jq --arg filtered "$filtered_cmd" \332> echo "$input" | jq --arg filtered "$filtered_cmd" \

335> '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'333> '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'

336> else334> else


340 338 

341Um die Einrichtung zu überprüfen, führen Sie `/hooks` aus und überprüfen Sie, dass der Hook unter PreToolUse angezeigt wird. Sie können Claude Code auch mit `claude --debug-file ./claude-debug.txt` starten und Claude bitten, `npm test` auszuführen. Wenn der Hook den Befehl umschreibt, enthält diese Logdatei eine Zeile `modified tool input keys`, die `command` und die anderen Bash-Eingabefelder auflistet.339Um die Einrichtung zu überprüfen, führen Sie `/hooks` aus und überprüfen Sie, dass der Hook unter PreToolUse angezeigt wird. Sie können Claude Code auch mit `claude --debug-file ./claude-debug.txt` starten und Claude bitten, `npm test` auszuführen. Wenn der Hook den Befehl umschreibt, enthält diese Logdatei eine Zeile `modified tool input keys`, die `command` und die anderen Bash-Eingabefelder auflistet.

342 340 

341Ein [Skill](https://code.claude.com/docs/de/skills.md) kann Claude Domänenwissen geben, sodass es nicht erkunden muss. Beispielsweise könnte ein „codebase-overview“-Skill die Architektur Ihres Projekts, wichtige Verzeichnisse und Namenskonventionen beschreiben. Wenn Claude den Skill aufruft, erhält es diesen Kontext sofort, anstatt Token zu verschwenden, um mehrere Dateien zu lesen, um die Struktur zu verstehen.

342 

343### Verschieben Sie Anweisungen von CLAUDE.md zu Skills343### Verschieben Sie Anweisungen von CLAUDE.md zu Skills

344 344 

345Ihre [CLAUDE.md](https://code.claude.com/docs/de/memory.md)-Datei wird beim Sitzungsstart in den Kontext geladen. Wenn sie detaillierte Anweisungen für spezifische Workflows enthält (wie PR-Reviews oder Datenbankmigrationen), sind diese Token vorhanden, auch wenn Sie nicht verwandte Arbeit erledigen. [Skills](https://code.claude.com/docs/de/skills.md) werden bei Bedarf nur geladen, wenn sie aufgerufen werden, daher hält das Verschieben spezialisierter Anweisungen in Skills Ihren Basis-Kontext kleiner. Streben Sie danach, CLAUDE.md unter 200 Zeilen zu halten, indem Sie nur das Wesentliche einbeziehen.345Ihre [CLAUDE.md](https://code.claude.com/docs/de/memory.md)-Datei wird beim Sitzungsstart in den Kontext geladen. Wenn sie detaillierte Anweisungen für spezifische Workflows enthält (wie PR-Reviews oder Datenbankmigrationen), sind diese Token vorhanden, auch wenn Sie nicht verwandte Arbeit erledigen. [Skills](https://code.claude.com/docs/de/skills.md) werden bei Bedarf nur geladen, wenn sie aufgerufen werden, daher hält das Verschieben spezialisierter Anweisungen in Skills Ihren Basis-Kontext kleiner. Streben Sie danach, CLAUDE.md unter 200 Zeilen zu halten, indem Sie nur das Wesentliche einbeziehen.

Details

56 56 

57### Nachrichtenübermittlung57### Nachrichtenübermittlung

58 58 

59Die empfangende Claude liest die Nachricht zwischen Werkzeugaufrufen während eines aktiven Zugs, sodass ein laufendes Werkzeug nie unterbrochen wird. Wenn die empfangende Sitzung untätig ist, startet Claude Code einen neuen Zug mit der Nachricht.59Die empfangende Claude liest die Nachricht zwischen Tool-Aufrufen während eines aktiven Turns. Wenn die empfangende Sitzung untätig ist, startet Claude Code einen neuen Turn mit der Nachricht.

60 60 

61Eine Nachricht von einer anderen Sitzung kommt als Klartext an. Wenn sie eine Datei oder eine [MCP-Ressource](https://code.claude.com/docs/de/mcp.md#use-mcp-resources) mit `@` erwähnt, sieht Claude die Erwähnung wie geschrieben und Claude Code fügt nichts an, unabhängig davon, ob die Nachricht einen neuen Zug startet oder während eines ankommt. Claude kann einen erwähnten Pfad auf der empfangenden Maschine immer noch mit seinen eigenen Werkzeugen öffnen, vorbehaltlich der Berechtigungen dieser Sitzung.61Eine Nachricht von einer anderen Sitzung kommt als Klartext an. Wenn sie eine Datei oder eine [MCP-Ressource](https://code.claude.com/docs/de/mcp.md#use-mcp-resources) mit `@` erwähnt, sieht Claude die Erwähnung wie geschrieben und Claude Code fügt nichts an, unabhängig davon, ob die Nachricht einen neuen Zug startet oder während eines ankommt. Claude kann einen erwähnten Pfad auf der empfangenden Maschine immer noch mit seinen eigenen Werkzeugen öffnen, vorbehaltlich der Berechtigungen dieser Sitzung.

62 62 

desktop.md +4 −4

Details

256 256 

257### Pane minimieren257### Pane minimieren

258 258 

259Um das Terminal, den Browser oder den [iOS Simulator](https://code.claude.com/docs/de/desktop-ios-simulator.md) in kleiner Größe im Blick zu behalten, klicken Sie in der Kopfzeile des Panes auf **Minimieren**. Die Schaltfläche erfordert Claude Desktop v4.0.0 oder später sowie ein Claude-Konto anstelle eines [Drittanbieters](https://code.claude.com/docs/de/third-party-integrations.md). Das Browser-Pane bietet sie nur in lokalen Sitzungen.259Um das Terminal, den Browser, den [iOS Simulator](https://code.claude.com/docs/de/desktop-ios-simulator.md) oder einen [Seitenchat](#ask-a-side-question-without-derailing-the-session) in kleiner Größe im Blick zu behalten, klicken Sie in der Kopfzeile des Panes auf **Minimieren**. Die Schaltfläche erfordert Claude Desktop v4.0.0 oder später sowie ein Claude-Konto anstelle eines [Drittanbieters](https://code.claude.com/docs/de/third-party-integrations.md). Das Browser-Pane bietet sie nur in lokalen Sitzungen.

260 260 

261Das minimierte Pane befindet sich im [Sitzungsdetails-Panel](#see-session-details), solange dieses Panel auf dem Bildschirm angezeigt wird, und schwebt andernfalls in einer Ecke des Chats:261Das minimierte Pane befindet sich im [Sitzungsdetails-Panel](#see-session-details), solange dieses Panel auf dem Bildschirm angezeigt wird, und schwebt andernfalls in einer Ecke des Chats:

262 262 


1380* **Workflows**: Desktop prüft jeden neuen [Workflow](https://code.claude.com/docs/de/workflows.md), bevor er startet, daher wartet ein neuer Workflow, während Desktop nicht verbunden ist, bis zu 10 Minuten und schlägt dann fehl1380* **Workflows**: Desktop prüft jeden neuen [Workflow](https://code.claude.com/docs/de/workflows.md), bevor er startet, daher wartet ein neuer Workflow, während Desktop nicht verbunden ist, bis zu 10 Minuten und schlägt dann fehl

1381* **MCP-Server**: MCP-Server, die Claude Code auf dem Remote-Computer startet, laufen nicht über Desktop, sodass Claude ihre Tools weiterhin aufrufen kann. Server aus `claude_desktop_config.json` gehören nur dann dazu, wenn Desktop nicht seinen [integrierten SSH-Client](#worktree-edits-while-disconnected) verwendet. Andernfalls, und auf [einigen Windows-Remote-Computern](#windows-remote-machines), kann Claude ihre Tools nicht aufrufen, während Desktop nicht verbunden ist.1381* **MCP-Server**: MCP-Server, die Claude Code auf dem Remote-Computer startet, laufen nicht über Desktop, sodass Claude ihre Tools weiterhin aufrufen kann. Server aus `claude_desktop_config.json` gehören nur dann dazu, wenn Desktop nicht seinen [integrierten SSH-Client](#worktree-edits-while-disconnected) verwendet. Andernfalls, und auf [einigen Windows-Remote-Computern](#windows-remote-machines), kann Claude ihre Tools nicht aufrufen, während Desktop nicht verbunden ist.

1382 1382 

1383> [accordion] Wann Bearbeitungen in einem Worktree weiterhin funktionieren1383> [accordion] Wann Bearbeitungen in einem Worktree weiter funktionieren

1384>1384>

1385> Auf einem Linux- oder macOS-Remote-Computer läuft die Prüfung nicht über Desktop, sodass Bearbeitungen innerhalb des Worktrees weiterhin funktionieren, während Desktop nicht verbunden ist. Vor Claude Desktop v2.37337.0 gilt dies nur für einen Linux-Remote-Computer.1385> Auf einem Linux- oder macOS-Remote-Rechner können Bearbeitungen innerhalb des Worktrees weiter funktionieren, während Desktop getrennt ist, da die Prüfung jeder Bearbeitung ohne Desktop laufen kann. Vor [Claude Desktop v2.37337.0](#check-your-version) funktioniert dies nur auf einem Linux-Remote-Rechner.

1386>1386>

1387> Bearbeitungen schlagen in einigen Fällen dennoch fehl, darunter diese:1387> Bearbeitungen schlagen in einigen Fällen dennoch fehl, darunter diese:

1388>1388>


2050 2050 

2051* **Lokale Sitzungen auf diesem Computer**: Eine verwaltete Einstellungsdatei, die auf der Festplatte bereitgestellt wird, gilt. Verwaltete Einstellungen, die remote über die Admin-Konsole hochgeladen werden, erreichen diese Sitzungen auch auf Anthropics API, wenn sich die Sitzung mit einer [berechtigten Anmeldung](https://code.claude.com/docs/de/server-managed-settings.md#platform-availability) authentifiziert, und folgen dabei der gleichen [Rangfolge der Einstellungen](https://code.claude.com/docs/de/settings.md#settings-precedence) wie die Terminal-CLI.2051* **Lokale Sitzungen auf diesem Computer**: Eine verwaltete Einstellungsdatei, die auf der Festplatte bereitgestellt wird, gilt. Verwaltete Einstellungen, die remote über die Admin-Konsole hochgeladen werden, erreichen diese Sitzungen auch auf Anthropics API, wenn sich die Sitzung mit einer [berechtigten Anmeldung](https://code.claude.com/docs/de/server-managed-settings.md#platform-availability) authentifiziert, und folgen dabei der gleichen [Rangfolge der Einstellungen](https://code.claude.com/docs/de/settings.md#settings-precedence) wie die Terminal-CLI.

2052* **[Cloud-Sitzungen](#cloud-sessions)**: erhalten [Server-verwaltete Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md); Gerätedateien erreichen diese nicht, da sie auf von Anthropic verwalteten VMs ausgeführt werden. Sitzungen, die zu einer [selbstgehosteten Umgebung](https://code.claude.com/docs/de/self-hosted-environments) weitergeleitet werden, lesen auch die verwaltete Einstellungsdatei im Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources) gibt an, wann diese Datei gilt.2052* **[Cloud-Sitzungen](#cloud-sessions)**: erhalten [Server-verwaltete Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md); Gerätedateien erreichen diese nicht, da sie auf von Anthropic verwalteten VMs ausgeführt werden. Sitzungen, die zu einer [selbstgehosteten Umgebung](https://code.claude.com/docs/de/self-hosted-environments) weitergeleitet werden, lesen auch die verwaltete Einstellungsdatei im Runner-Image. [Wie Claude Code verwaltete Quellen kombiniert](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources) gibt an, wann diese Datei gilt.

2053* **[SSH-Sitzungen](#ssh-sessions)**: Die Sitzung liest die verwaltete Einstellungsdatei vom Remote-Host. Desktop selbst liest `sshConfigs`, `sshHostAllowlist`, `disableSshSavedPasswords` und `disableDesktopLocalSessions` auf dem lokalen Computer. Wenn Sie mehr als eine verwaltete Quelle bereitstellen, liest Desktop sie [standardmäßig aus einer](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources).2053* **[SSH-Sitzungen](#ssh-sessions)**: Die Sitzung liest die verwaltete Einstellungsdatei vom Remote-Host. Desktop selbst liest `sshConfigs`, `sshHostAllowlist`, `disableSshSavedPasswords` und `disableDesktopLocalSessions` auf dem lokalen Computer. Wenn Sie mehr als eine verwaltete Quelle bereitstellen, liest Desktop sie [standardmäßig aus einer](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources). Wenn Sie `permissions.disableBypassPermissionsMode` oder `disableAutoMode` in den verwalteten Einstellungen setzen, die auf dem lokalen Computer gelten, bietet der Moduswahlschalter einer SSH-Sitzung diesen Modus nicht an, unabhängig davon, was der Remote-Host festlegt.

2054* **[Cowork](https://claude.com/docs/cowork/overview)-Sitzungen**: In einer Cowork-Sitzung auf diesem Computer ruft Claude Code niemals Admin-Konsolen-Einstellungen ab, auch wenn sich der Benutzer mit einem Team- oder Enterprise-Konto anmeldet, und liest Richtlinien, die auf dem Computer bereitgestellt werden, es sei denn, Ihre Claude-Desktop-Konfiguration setzt `requireCoworkFullVmSandbox`. Remote-Cowork-Sitzungen erhalten keine. Siehe [wo und wann eine Richtlinie gilt](https://code.claude.com/docs/de/managed-settings.md#where-and-when-a-policy-applies), um zu erfahren, welche Gerätedateien Cowork erreichen, und [MCP-Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md#mcp), um zu erfahren, wie `Bash`- und `WebFetch`-Regeln auf Coworks Tools angewendet werden.2054* **[Cowork](https://claude.com/docs/cowork/overview)-Sitzungen**: In einer Cowork-Sitzung auf diesem Computer ruft Claude Code niemals Admin-Konsolen-Einstellungen ab, auch wenn sich der Benutzer mit einem Team- oder Enterprise-Konto anmeldet, und liest Richtlinien, die auf dem Computer bereitgestellt werden, es sei denn, Ihre Claude-Desktop-Konfiguration setzt `requireCoworkFullVmSandbox`. Remote-Cowork-Sitzungen erhalten keine. Siehe [wo und wann eine Richtlinie gilt](https://code.claude.com/docs/de/managed-settings.md#where-and-when-a-policy-applies), um zu erfahren, welche Gerätedateien Cowork erreichen, und [MCP-Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md#mcp), um zu erfahren, wie `Bash`- und `WebFetch`-Regeln auf Coworks Tools angewendet werden.

2055 2055 

2056In lokalen und SSH-Sitzungen stellt die Desktop-App die verbundenen claude.ai-Konnektoren jedes Benutzers direkt an Claude Code. Keine MCP-Einstellung oder `managed-mcp.json` erreicht diese Konnektoren, unabhängig davon, welche Einstellungsquelle oder Dateispeicherort Sie verwenden. Um die Tools eines Konnektors in diesen Sitzungen zu blockieren, verwenden Sie die [Konnektoren-Tool-Steuerelemente](https://code.claude.com/docs/de/mcp.md#organization-controls-on-connector-tools) Ihrer Organisation. [Wie Konnektoren Claude Code erreichen](https://code.claude.com/docs/de/mcp.md#how-connectors-reach-claude-code) zeigt, welche Einstellungen Konnektoren in jeder Art von Sitzung steuern.2056In lokalen und SSH-Sitzungen stellt die Desktop-App die verbundenen claude.ai-Konnektoren jedes Benutzers direkt an Claude Code. Keine MCP-Einstellung oder `managed-mcp.json` erreicht diese Konnektoren, unabhängig davon, welche Einstellungsquelle oder Dateispeicherort Sie verwenden. Um die Tools eines Konnektors in diesen Sitzungen zu blockieren, verwenden Sie die [Konnektoren-Tool-Steuerelemente](https://code.claude.com/docs/de/mcp.md#organization-controls-on-connector-tools) Ihrer Organisation. [Wie Konnektoren Claude Code erreichen](https://code.claude.com/docs/de/mcp.md#how-connectors-reach-claude-code) zeigt, welche Einstellungen Konnektoren in jeder Art von Sitzung steuern.

env-vars.md +4 −4

Details

502| `OTEL_LOG_TOOL_CONTENT` | Auf `1` setzen, um Tool-Inhalte in das OpenTelemetry-Span-Ereignis `tool.output` aufzunehmen. Span-Attribute enthalten Tool-Inhalte unter [eigenen Schaltern](https://code.claude.com/docs/de/monitoring-usage.md#new-context-gates). Erfordert [Tracing](https://code.claude.com/docs/de/monitoring-usage.md#traces-beta). Standardmäßig deaktiviert, um sensible Daten zu schützen. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den in diesem Abschnitt beschriebenen Aus-Werten. Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md#tool-output-span-event) |502| `OTEL_LOG_TOOL_CONTENT` | Auf `1` setzen, um Tool-Inhalte in das OpenTelemetry-Span-Ereignis `tool.output` aufzunehmen. Span-Attribute enthalten Tool-Inhalte unter [eigenen Schaltern](https://code.claude.com/docs/de/monitoring-usage.md#new-context-gates). Erfordert [Tracing](https://code.claude.com/docs/de/monitoring-usage.md#traces-beta). Standardmäßig deaktiviert, um sensible Daten zu schützen. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den in diesem Abschnitt beschriebenen Aus-Werten. Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md#tool-output-span-event) |

503| `OTEL_LOG_TOOL_DETAILS` | Auf `1` setzen, um Tool-Eingabeargumente, MCP-Servernamen, vom Benutzer verfasste Workflow-Namen, rohe Fehlerzeichenfolgen bei Tool-Fehlern, die Ablehnungs-`category` bei `api_refusal`-Ereignissen, echte Agenten-, Skill-, Plugin- und MCP-Servernamen in [Kosten- und Token-Metriken](https://code.claude.com/docs/de/monitoring-usage.md#cost-counter) sowie weitere Tool-Details in OpenTelemetry-Metriken, -Traces und -Logs aufzunehmen. Standardmäßig deaktiviert, um personenbezogene Daten zu schützen. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den in diesem Abschnitt beschriebenen Aus-Werten. Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |503| `OTEL_LOG_TOOL_DETAILS` | Auf `1` setzen, um Tool-Eingabeargumente, MCP-Servernamen, vom Benutzer verfasste Workflow-Namen, rohe Fehlerzeichenfolgen bei Tool-Fehlern, die Ablehnungs-`category` bei `api_refusal`-Ereignissen, echte Agenten-, Skill-, Plugin- und MCP-Servernamen in [Kosten- und Token-Metriken](https://code.claude.com/docs/de/monitoring-usage.md#cost-counter) sowie weitere Tool-Details in OpenTelemetry-Metriken, -Traces und -Logs aufzunehmen. Standardmäßig deaktiviert, um personenbezogene Daten zu schützen. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den in diesem Abschnitt beschriebenen Aus-Werten. Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |

504| `OTEL_LOG_USER_PROMPTS` | Auf `1` setzen, um den Text von Benutzer-Prompts in OpenTelemetry-Traces und -Logs aufzunehmen. Standardmäßig deaktiviert (Prompts werden geschwärzt). Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den in diesem Abschnitt beschriebenen Aus-Werten. Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |504| `OTEL_LOG_USER_PROMPTS` | Auf `1` setzen, um den Text von Benutzer-Prompts in OpenTelemetry-Traces und -Logs aufzunehmen. Standardmäßig deaktiviert (Prompts werden geschwärzt). Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](https://code.claude.com/docs/de/settings-reference.md#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den in diesem Abschnitt beschriebenen Aus-Werten. Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |

505| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Auf `false` setzen, um die Konto-UUID aus den Metrikattributen auszuschließen (Standard: enthalten). Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |505| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Auf `false` setzen, um die Konto-UUID aus Metrik- und Ereignisattributen auszuschließen (Standard: enthalten). Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |

506| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Auf `true` setzen, um den Einstiegspunkt der Sitzung in die Metrikattribute aufzunehmen (Standard: ausgeschlossen). Hinzugefügt in v2.1.152. Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |506| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Auf `true` setzen, um den Einstiegspunkt der Sitzung in Metrik- und Ereignisattribute aufzunehmen (Standard: ausgeschlossen). Hinzugefügt in v2.1.152. Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |

507| `OTEL_METRICS_INCLUDE_REPOSITORY` | Auf `true` setzen, um OpenTelemetry-Metriken und -Ereignisse mit `vcs.*`-Attributen zu versehen, die das Repository der Sitzung identifizieren (Standard: ausgeschlossen). Erfordert Claude Code v2.1.269 oder höher. Siehe [Repository-Attribute](https://code.claude.com/docs/de/monitoring-usage.md#repository-attributes) |507| `OTEL_METRICS_INCLUDE_REPOSITORY` | Auf `true` setzen, um OpenTelemetry-Metriken und -Ereignisse mit `vcs.*`-Attributen zu versehen, die das Repository der Sitzung identifizieren (Standard: ausgeschlossen). Erfordert Claude Code v2.1.269 oder höher. Siehe [Repository-Attribute](https://code.claude.com/docs/de/monitoring-usage.md#repository-attributes) |

508| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Ab v2.1.161 hängt Claude Code Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` an die Labels von Metrik-Datenpunkten an. Auf `false` setzen, um sie auszuschließen (Standard: enthalten). Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md#multi-team-organization-support) |508| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Ab v2.1.161 hängt Claude Code Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` an die Labels von Metrik-Datenpunkten an. Auf `false` setzen, um sie auszuschließen (Standard: enthalten). Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md#multi-team-organization-support) |

509| `OTEL_METRICS_INCLUDE_SESSION_ID` | Auf `false` setzen, um die Sitzungs-ID aus den Metrikattributen auszuschließen (Standard: enthalten). Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |509| `OTEL_METRICS_INCLUDE_SESSION_ID` | Auf `false` setzen, um die Sitzungs-ID aus Metrik- und Ereignisattributen auszuschließen (Standard: enthalten). Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |

510| `OTEL_METRICS_INCLUDE_VERSION` | Auf `true` setzen, um die Version von Claude Code in die Metrikattribute aufzunehmen (Standard: ausgeschlossen). Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |510| `OTEL_METRICS_INCLUDE_VERSION` | Auf `true` setzen, um die Claude-Code-Version in Metrik- und Ereignisattribute aufzunehmen (Standard: ausgeschlossen). Siehe [Monitoring](https://code.claude.com/docs/de/monitoring-usage.md) |

511| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreibt das Zeichenbudget für Skill-Metadaten, die dem [Skill-Tool](https://code.claude.com/docs/de/skills.md#control-who-invokes-a-skill) angezeigt werden. Das Budget skaliert dynamisch mit 1 % des Kontextfensters, mit einem Fallback von 8.000 Zeichen. Alter Name, der aus Gründen der Abwärtskompatibilität beibehalten wird |511| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreibt das Zeichenbudget für Skill-Metadaten, die dem [Skill-Tool](https://code.claude.com/docs/de/skills.md#control-who-invokes-a-skill) angezeigt werden. Das Budget skaliert dynamisch mit 1 % des Kontextfensters, mit einem Fallback von 8.000 Zeichen. Alter Name, der aus Gründen der Abwärtskompatibilität beibehalten wird |

512| `TASK_MAX_OUTPUT_LENGTH` | In v2.1.277 entfernt und jetzt wirkungslos, zusammen mit dem Tool `TaskOutput`, dessen Größe die Variable festlegte. Legte zuvor die maximale Anzahl von Zeichen der Ausgabe einer [Hintergrundaufgabe](https://code.claude.com/docs/de/tools-reference.md#background-commands) fest, die das Tool `TaskOutput` behielt. Claude liest die Ausgabedatei einer Hintergrundaufgabe stattdessen mit `Read` |512| `TASK_MAX_OUTPUT_LENGTH` | In v2.1.277 entfernt und jetzt wirkungslos, zusammen mit dem Tool `TaskOutput`, dessen Größe die Variable festlegte. Legte zuvor die maximale Anzahl von Zeichen der Ausgabe einer [Hintergrundaufgabe](https://code.claude.com/docs/de/tools-reference.md#background-commands) fest, die das Tool `TaskOutput` behielt. Claude liest die Ausgabedatei einer Hintergrundaufgabe stattdessen mit `Read` |

513| `USE_BUILTIN_RIPGREP` | Auf `0` setzen, um das systemweit installierte `rg` statt des in Claude Code enthaltenen `rg` zu verwenden |513| `USE_BUILTIN_RIPGREP` | Auf `0` setzen, um das systemweit installierte `rg` statt des in Claude Code enthaltenen `rg` zu verwenden |

fast-mode.md +1 −3

Details

67 67 

68Immer wenn ein Modellwechsel den Fast-Modus ein- oder ausschaltet, zeigt Claude Code eine Bestätigung `Fast mode ON` oder `Fast mode OFF` an, und das `↯`-Symbol erscheint, solange der Fast-Modus eingeschaltet ist. Dies gilt unabhängig davon, ob Sie mit `/model`, mit [`/config model=<model>`](https://code.claude.com/docs/de/settings) oder von einem über [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbundenen Gerät aus wechseln.68Immer wenn ein Modellwechsel den Fast-Modus ein- oder ausschaltet, zeigt Claude Code eine Bestätigung `Fast mode ON` oder `Fast mode OFF` an, und das `↯`-Symbol erscheint, solange der Fast-Modus eingeschaltet ist. Dies gilt unabhängig davon, ob Sie mit `/model`, mit [`/config model=<model>`](https://code.claude.com/docs/de/settings) oder von einem über [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbundenen Gerät aus wechseln.

69 69 

70Claude Code sendet den Fast-Modus-Status der Sitzung nach einem Modellwechsel, einer erneuten Verbindung oder einer fehlgeschlagenen [Verfügbarkeitsprüfung](#use-fast-mode-behind-proxies-and-llm-gateways) erneut an über Remote Control verbundene Geräte.

71 

72### Fast-Modus in Cloud-Sitzungen verwenden70### Fast-Modus in Cloud-Sitzungen verwenden

73 71 

74Der Fast-Modus funktioniert in [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md), wenn er für Ihr Konto verfügbar ist, unabhängig davon, ob die Sitzung auf von Anthropic verwalteter Infrastruktur oder auf einem [selbst gehosteten Runner](https://code.claude.com/docs/de/self-hosted-environments) läuft. Erfordert Claude Code v2.1.271 oder höher in der Umgebung der Sitzung.72Der Fast-Modus funktioniert in [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md), wenn er für Ihr Konto verfügbar ist, unabhängig davon, ob die Sitzung auf von Anthropic verwalteter Infrastruktur oder auf einem [selbst gehosteten Runner](https://code.claude.com/docs/de/self-hosted-environments) läuft. Erfordert Claude Code v2.1.271 oder höher in der Umgebung der Sitzung.


227Wenn Sie während einer Sitzung keine Nutzungsguthaben mehr haben, versucht Claude Code jeden abgelehnten Schnellmodus-Request mit Standard-Geschwindigkeit und -Preisen erneut, sodass Sie weiterarbeiten können und es keine Abkühlung gibt. Wie Sie die Ablehnung sehen, hängt vom Sitzungstyp ab:225Wenn Sie während einer Sitzung keine Nutzungsguthaben mehr haben, versucht Claude Code jeden abgelehnten Schnellmodus-Request mit Standard-Geschwindigkeit und -Preisen erneut, sodass Sie weiterarbeiten können und es keine Abkühlung gibt. Wie Sie die Ablehnung sehen, hängt vom Sitzungstyp ab:

228 226 

229* In einer interaktiven Sitzung zeigt Claude Code eine Benachrichtigung „Fast mode disabled · Out of usage credits“ an und schaltet den Fast-Modus aus. Ihre gespeicherte Fast-Modus-Einstellung ändert sich nicht; führen Sie `/fast` aus, um den Fast-Modus wieder einzuschalten.227* In einer interaktiven Sitzung zeigt Claude Code eine Benachrichtigung „Fast mode disabled · Out of usage credits“ an und schaltet den Fast-Modus aus. Ihre gespeicherte Fast-Modus-Einstellung ändert sich nicht; führen Sie `/fast` aus, um den Fast-Modus wieder einzuschalten.

230* Im [Headless-Modus](https://code.claude.com/docs/de/headless.md) mit `--output-format stream-json` und über das Agent SDK sendet Claude Code denselben Text im Message-Stream als `system`-Nachricht mit dem Subtyp `notification` einmal pro Turn, während Sie keine Nutzungsguthaben haben. Der Schnellmodus bleibt aktiviert. Erfordert Claude Code v2.1.221 oder später.228* Im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md) mit `--output-format stream-json` und über das Agent SDK sendet Claude Code denselben Text im Message-Stream als `system`-Nachricht mit dem Subtyp `notification`. Die Nachricht erscheint einmal pro Turn, solange Ihr Nutzungsguthaben aufgebraucht ist. Der Fast-Modus bleibt aktiviert.

231 229 

232## Forschungsvorschau230## Forschungsvorschau

233 231 

gateways.md +1 −1

Details

50 50 

51## Abonnements und Gateways51## Abonnements und Gateways

52 52 

53Wenn Entwickler sich über ein Gateway mit einem Gateway-Anmeldedatum verbinden, wird die Nutzung zu API-Raten auf das Anbieterkonto Ihrer Organisation abgerechnet, und ihre claude.ai-Abonnements werden nicht verwendet oder berechnet. Das Setzen von [`ANTHROPIC_AUTH_TOKEN`](https://code.claude.com/docs/de/env-vars) für ein Gateway, das Sie betreiben, oder die Anmeldung bei einem Claude-Apps-Gateway mit `/login` deaktiviert die Abonnement-Anmeldung für diese Sitzung. Jede Anfrage, die unter diesem Anmeldedatum weitergeleitet wird, wird dem Konto hinter dem Anmeldedatum des Gateway-Providers berechnet.53Wenn Entwickler sich über ein Gateway mit einem Gateway-Anmeldedatum verbinden, wird die Nutzung zu API-Raten auf das Anbieterkonto Ihrer Organisation abgerechnet, und ihre claude.ai-Abonnements werden nicht verwendet oder berechnet. Jede Anfrage, die unter diesem Anmeldedatum weitergeleitet wird, wird dem Konto hinter dem Anmeldedatum des Gateway-Providers berechnet.

54 54 

55Die Ausnahme ist das Setzen von nur `ANTHROPIC_BASE_URL`, ohne Gateway-Anmeldedatum. Anfragen werden immer noch über das Gateway weitergeleitet, aber eine gespeicherte claude.ai-Anmeldung bleibt das aktive Anmeldedatum, sodass die Nutzungslimits und Abrechnung des Abonnements gelten. [Andere LLM-Gateways](https://code.claude.com/docs/de/llm-gateway#subscriptions-and-gateways) behandelt diese Konfiguration und was das Gateway weiterleiten muss, damit es funktioniert.55Die Ausnahme ist das Setzen von nur `ANTHROPIC_BASE_URL`, ohne Gateway-Anmeldedatum. Anfragen werden immer noch über das Gateway weitergeleitet, aber eine gespeicherte claude.ai-Anmeldung bleibt das aktive Anmeldedatum, sodass die Nutzungslimits und Abrechnung des Abonnements gelten. [Andere LLM-Gateways](https://code.claude.com/docs/de/llm-gateway#subscriptions-and-gateways) behandelt diese Konfiguration und was das Gateway weiterleiten muss, damit es funktioniert.

56 56 

Details

135| Merge queues | Lesen |135| Merge queues | Lesen |

136| Metadata | Lesen |136| Metadata | Lesen |

137| Pull requests | Lesen und Schreiben |137| Pull requests | Lesen und Schreiben |

138| Repository creation | Lesen und Schreiben |

138| Repository hooks | Lesen und Schreiben |139| Repository hooks | Lesen und Schreiben |

139| Statuses | Lesen |140| Statuses | Lesen |

140| Workflows | Lesen und Schreiben |141| Workflows | Lesen und Schreiben |

Details

190Einige Funktionen verhalten sich auf GHES anders als auf github.com. Die [Funktionstabelle](#what-works-with-github-enterprise-server) fasst die Unterstützung zusammen; dieser Abschnitt behandelt die Workarounds.190Einige Funktionen verhalten sich auf GHES anders als auf github.com. Die [Funktionstabelle](#what-works-with-github-enterprise-server) fasst die Unterstützung zusammen; dieser Abschnitt behandelt die Workarounds.

191 191 

192* **`/install-github-app`-Befehl**: Folgen Sie stattdessen dem [Admin-Einrichtungs](#admin-setup)-Fluss auf claude.ai. Wenn Sie auch GitHub Actions-Workflows auf GHES möchten, passen Sie den [Beispiel-Workflow](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) manuell an.192* **`/install-github-app`-Befehl**: Folgen Sie stattdessen dem [Admin-Einrichtungs](#admin-setup)-Fluss auf claude.ai. Wenn Sie auch GitHub Actions-Workflows auf GHES möchten, passen Sie den [Beispiel-Workflow](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) manuell an.

193* **GitHub MCP-Server**: Verwenden Sie stattdessen die `gh` CLI, die für Ihren GHES-Host konfiguriert ist. Führen Sie `gh auth login --hostname github.example.com` aus, um sich zu authentifizieren, dann kann Claude `gh`-Befehle in Sitzungen verwenden.193* **GitHub MCP-Server**: Verwenden Sie in einer Sitzung auf Ihrem eigenen Rechner stattdessen die `gh` CLI, die für Ihren GHES-Host konfiguriert ist. Führen Sie `gh auth login --hostname github.example.com` aus, um sich zu authentifizieren, dann kann Claude dort `gh`-Befehle verwenden.

194 194 

195## Fehlerbehebung195## Fehlerbehebung

196 196 

goal.md +1 −1

Details

178 178 

179## Anforderungen179## Anforderungen

180 180 

181Claude Code stellt `/goal` unter der gleichen [Arbeitsbereichs-Vertrauensregel wie Hooks in Einstellungsdateien](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) zur Verfügung, da der Evaluator Teil des Hooks-Systems ist. `/goal` ist auch nicht verfügbar, wenn [`disableAllHooks`](https://code.claude.com/docs/de/hooks#disable-or-remove-hooks) nach Anwendung der Einstellungspriorität `true` ist, oder wenn [`allowManagedHooksOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedhooksonly) in verwalteten Einstellungen festgelegt ist. In jedem Fall teilt Ihnen der Befehl mit, warum, anstatt stillschweigend nichts zu tun.181Claude Code stellt `/goal` unter der gleichen [Arbeitsbereichs-Vertrauensregel wie Hooks in Einstellungsdateien](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) zur Verfügung, da der Evaluator Teil des Hooks-Systems ist. `/goal` ist auch nicht verfügbar, wenn [`disableAllHooks`](https://code.claude.com/docs/de/hooks#disable-or-remove-hooks) nach Anwendung des Einstellungsvorrangs `true` ist, oder wenn [`allowManagedHooksOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedhooksonly) in verwalteten Einstellungen festgelegt ist.

182 182 

183## Siehe auch183## Siehe auch

184 184 

Details

134 134 

135Um Ihre Ratenlimits zu erhöhen, wenden Sie sich an den Google Cloud-Support. Bei Verwendung von Google Cloud's Agent Platform ist der Befehl `/logout` nicht verfügbar, da die Authentifizierung über Google Cloud-Anmeldedaten erfolgt.135Um Ihre Ratenlimits zu erhöhen, wenden Sie sich an den Google Cloud-Support. Bei Verwendung von Google Cloud's Agent Platform ist der Befehl `/logout` nicht verfügbar, da die Authentifizierung über Google Cloud-Anmeldedaten erfolgt.

136 136 

137Claude Code entscheidet zwischen [MCP-Toolsuche](https://code.claude.com/docs/de/mcp.md#scale-with-mcp-tool-search) und vorausgehendem Laden nach Modellgeneration:137Claude Code entscheidet zwischen [MCP Tool Search](https://code.claude.com/docs/de/mcp.md#scale-with-mcp-tool-search) und vorausgehendem Laden nach Modellgeneration:

138 138 

139* **Claude Opus 4.5, Sonnet 4.5, Haiku 4.5 und später**: Claude Code aktiviert die Toolsuche standardmäßig.139* **Claude Opus 4.5, Sonnet 4.5, Haiku 4.5 und später**: Claude Code aktiviert die Toolsuche standardmäßig.

140* **Frühere Modelle**: Claude Code lädt MCP-Tool-Definitionen voraus, da ihre Agent Platform-Serving-Stacks den erforderlichen Beta-Header ablehnen. Das Festlegen von `ENABLE_TOOL_SEARCH=true` überschreibt dies nicht.140* **Frühere Modelle**: Claude Code lädt MCP-Tool-Definitionen voraus, da ihre Agent Platform-Serving-Stacks den erforderlichen Beta-Header ablehnen. Das Festlegen von `ENABLE_TOOL_SEARCH=true` überschreibt dies nicht.

141 141 

142Legen Sie `ENABLE_TOOL_SEARCH=false` fest, um die Toolsuche auf jedem Modell zu deaktivieren. Vor v2.1.221 deaktivierte Claude Code die Toolsuche für alle Modelle auf Google Cloud's Agent Platform, es sei denn, Sie legen `ENABLE_TOOL_SEARCH=true` fest.142Legen Sie `ENABLE_TOOL_SEARCH=false` fest, um die Toolsuche auf jedem Modell zu deaktivieren.

143 143 

144### Fixieren Sie Modellversionen144### Fixieren Sie Modellversionen

145 145 

hooks.md +28 −4

Details

572 572 

573Claude Code liest den Textinhalt des Tools auf die gleiche Weise wie Command-Hook-stdout und folgt der [Parsing-Regel unter Exit-Code 0](#exit-code-0). Wenn das Tool `isError: true` zurückgibt, erzeugt der Hook einen nicht blockierenden Fehler und die Ausführung wird fortgesetzt.573Claude Code liest den Textinhalt des Tools auf die gleiche Weise wie Command-Hook-stdout und folgt der [Parsing-Regel unter Exit-Code 0](#exit-code-0). Wenn das Tool `isError: true` zurückgibt, erzeugt der Hook einen nicht blockierenden Fehler und die Ausführung wird fortgesetzt.

574 574 

575Wenn ein Hook-Fehler eine dieser Meldungen enthält, konnte Claude Code die Antwort des Tools nicht lesen, sodass der Hook kein Urteil abgegeben hat:

576 

577```text theme={null}

578MCP tool "security_scan" on server "my_server" gave no answer that could be read, because a message from the server was too large, so this hook gave no verdict. If this keeps happening, the tool must send a smaller answer.

579MCP tool "security_scan" on server "my_server" answered without its text, which happens when a result is too large, so this hook gave no verdict. If this keeps happening, the tool must send a smaller answer.

580```

581 

582Bei `PreToolUse` lehnt Claude Code den Tool-Aufruf ab, den der Hook geprüft hat. Bei anderen Ereignissen wie `UserPromptSubmit`, `PostToolUse` und `Stop` ist der Fehler nicht blockierend.

583 

584Wenn der Fehler weiterhin auftritt, geben Sie weniger Daten vom Tool zurück oder ändern Sie [`tool` oder `input`](#mcp-tool-hook-fields) des Hooks, damit die Antwort kleiner ist.

585 

575##### Wenn der Server noch verbunden wird586##### Wenn der Server noch verbunden wird

576 587 

577Bei Ereignissen, bei denen ein Hook blockieren oder das Ergebnis ändern kann, z. B. `PreToolUse` oder `Stop`, wartet Claude Code auf einen verbindenden Server, bevor es das Tool aufruft, für höchstens [`MCP_TIMEOUT`](https://code.claude.com/docs/de/env-vars) und innerhalb des [`timeout`](#common-fields) des Hooks. Bei Beobachtungsereignissen, z. B. `Notification` oder `SessionEnd`, wartet es nicht.588Bei Ereignissen, bei denen ein Hook blockieren oder das Ergebnis ändern kann, z. B. `PreToolUse` oder `Stop`, wartet Claude Code auf einen verbindenden Server, bevor es das Tool aufruft, für höchstens [`MCP_TIMEOUT`](https://code.claude.com/docs/de/env-vars) und innerhalb des [`timeout`](#common-fields) des Hooks. Bei Beobachtungsereignissen, z. B. `Notification` oder `SessionEnd`, wartet es nicht.


892 903 

893#### Hooks, die einen Hintergrundprozess starten904#### Hooks, die einen Hintergrundprozess starten

894 905 

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):

907 

908* Führen Sie das Programm im Hintergrund aus

909* Leiten Sie seinen stdout und stderr um. Zum Beispiel sendet der Bash-Befehl `npm run dev > dev-server.log 2>&1 &` beides in eine Datei. Wenn Sie sie nicht umleiten, braucht ein Hook, der nicht [async](#run-hooks-in-the-background) ist, bis zu 10 Sekunden, bis er abgeschlossen ist, nachdem sein eigener Prozess beendet wurde.

910 

895Wenn Ihr Command Hook seine Entscheidung in einem Hintergrundprozess trifft und sich dann beendet, blockiert eine Verweigerung, die dieser Prozess ausgibt, nachdem Claude Code das Lesen beendet hat, den Tool-Aufruf nicht. Bei einem Hook, der nicht [async](#run-hooks-in-the-background) ist, beendet Claude Code das Lesen der Hook-Ausgabe kurz nachdem der eigene Prozess des Hooks beendet wurde.911Wenn Ihr Command Hook seine Entscheidung in einem Hintergrundprozess trifft und sich dann beendet, blockiert eine Verweigerung, die dieser Prozess ausgibt, nachdem Claude Code das Lesen beendet hat, den Tool-Aufruf nicht. Bei einem Hook, der nicht [async](#run-hooks-in-the-background) ist, beendet Claude Code das Lesen der Hook-Ausgabe kurz nachdem der eigene Prozess des Hooks beendet wurde.

896 912 

897Geben Sie die Entscheidung aus, bevor Sie einen Hintergrundprozess starten, und leiten Sie stdout und stderr dieses Prozesses um. Wenn Ihr Skript eine Erlaubnis ausgibt und dann einen Hintergrundprozess startet, ohne dessen stdout und stderr umzuleiten, blockiert Claude Code den Tool-Aufruf. Der Hook-Fehler enthält `refusing to honor the suspect capture`.913Geben Sie die Entscheidung aus, bevor Sie einen Hintergrundprozess starten, und leiten Sie stdout und stderr dieses Prozesses um. Wenn Ihr Skript eine Erlaubnis ausgibt und dann einen Hintergrundprozess startet, ohne dessen stdout und stderr umzuleiten, blockiert Claude Code den Tool-Aufruf. Der Hook-Fehler enthält `stdio went quiet` und `refusing to honor the suspect capture`.

898 914 

899Dieses `PreToolUse`-Hook-Skript gibt die Entscheidung mit `policy-check.sh` aus und lädt dann Metriken im Hintergrund hoch:915Dieses `PreToolUse`-Hook-Skript gibt die Entscheidung mit `policy-check.sh` aus und lädt dann Metriken im Hintergrund hoch:

900 916 


1193 1209 

1194* `PreToolUse`: `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control)1210* `PreToolUse`: `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control)

1195* `PermissionRequest`: `updatedInput` innerhalb des `decision`-Objekts. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control)1211* `PermissionRequest`: `updatedInput` innerhalb des `decision`-Objekts. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control)

1196* `PostToolUse`: `updatedToolOutput` ersetzt das Tool-Ergebnis. Siehe [PostToolUse-Entscheidungskontrolle](#posttooluse-decision-control)1212* `PostToolUse`: `updatedToolOutput` ersetzt das Tool-Ergebnis. In einer [Cowork](https://claude.com/docs/cowork/overview)-Cloud-Sitzung ignoriert Claude Code `updatedToolOutput`, wenn das Tool `AskUserQuestion` oder `ExitPlanMode` ist, und Claude liest die ursprüngliche Antwort bzw. den ursprünglichen Plan. Siehe [PostToolUse-Entscheidungskontrolle](#posttooluse-decision-control)

1197* `UserPromptSubmit`: kann den Prompt nicht ersetzen; es injiziert nur `additionalContext` daneben1213* `UserPromptSubmit`: kann den Prompt nicht ersetzen; es injiziert nur `additionalContext` daneben

1198 1214 

1199Für Redaktions- oder Transformationsfälle, fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.1215Für Redaktions- oder Transformationsfälle, fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.


2210| `addDirectories` | `directories`, `destination` | Fügt Arbeitsverzeichnisse hinzu. `directories` ist ein Array von Pfad-Strings |2226| `addDirectories` | `directories`, `destination` | Fügt Arbeitsverzeichnisse hinzu. `directories` ist ein Array von Pfad-Strings |

2211| `removeDirectories` | `directories`, `destination` | Entfernt Arbeitsverzeichnisse |2227| `removeDirectories` | `directories`, `destination` | Entfernt Arbeitsverzeichnisse |

2212 2228 

2229In `rules` ist für eine als `Tool(specifier)` geschriebene [Berechtigungsregel](https://code.claude.com/docs/de/permissions.md#permission-rule-syntax) `toolName` der Name des Tools und `ruleContent` der Specifier:

2230 

2231* `Bash(npm test)`: `{ "toolName": "Bash", "ruleContent": "npm test" }`

2232* `Bash` oder `Bash(*)`: `{ "toolName": "Bash" }`, da beide das gesamte Tool matchen

2233* `mcp__github__get_issue`: `{ "toolName": "mcp__github__get_issue" }`

2234 

2235Lassen Sie `ruleContent` bei einer allow-Regel für ein [MCP-Tool](https://code.claude.com/docs/de/permissions.md#mcp) weg. Wenn Sie es hinzufügen, matcht die Regel keinen Aufruf.

2236 

2213> [!NOTE]2237> [!NOTE]

2214>2238>

2215> `setMode` mit `bypassPermissions` wirkt nur, wenn Sie die Sitzung mit bereits verfügbarem Bypass-Modus gestartet haben: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` oder `permissions.defaultMode: "bypassPermissions"` in [Benutzereinstellungen, `--settings` oder verwalteten Einstellungen](https://code.claude.com/docs/de/settings-reference#permissions-defaultmode). Andernfalls hat die Aktualisierung keine Wirkung. Die Aktualisierung hat ebenfalls keine Wirkung, wenn [`permissions.disableBypassPermissionsMode`](https://code.claude.com/docs/de/permissions#managed-settings) den Modus deaktiviert oder die Sitzung im [eingeschränkten Modus](https://code.claude.com/docs/de/cli-reference.md#cli-flags) startet.2239> `setMode` mit `bypassPermissions` wirkt nur, wenn Sie die Sitzung mit bereits verfügbarem Bypass-Modus gestartet haben: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` oder `permissions.defaultMode: "bypassPermissions"` in [Benutzereinstellungen, `--settings` oder verwalteten Einstellungen](https://code.claude.com/docs/de/settings-reference#permissions-defaultmode). Andernfalls hat die Aktualisierung keine Wirkung. Die Aktualisierung hat ebenfalls keine Wirkung, wenn [`permissions.disableBypassPermissionsMode`](https://code.claude.com/docs/de/permissions#managed-settings) den Modus deaktiviert oder die Sitzung im [eingeschränkten Modus](https://code.claude.com/docs/de/cli-reference.md#cli-flags) startet.


2289| `reason` | Erklärung, die Claude angezeigt wird, wenn `decision` den Wert `"block"` hat |2313| `reason` | Erklärung, die Claude angezeigt wird, wenn `decision` den Wert `"block"` hat |

2290| `additionalContext` | String, der Claudes Kontext zusammen mit dem Tool-Ergebnis hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |2314| `additionalContext` | String, der Claudes Kontext zusammen mit dem Tool-Ergebnis hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

2291| `classifierContext` | Kurzer Hinweis zum Ergebnis dieses Aufrufs für den Klassifikator des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) statt für Claude. Siehe [Ein Ergebnis für den Klassifikator des Auto-Modus annotieren](#annotate-a-result-for-the-auto-mode-classifier). Erfordert Claude Code v2.1.236 oder höher |2315| `classifierContext` | Kurzer Hinweis zum Ergebnis dieses Aufrufs für den Klassifikator des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) statt für Claude. Siehe [Ein Ergebnis für den Klassifikator des Auto-Modus annotieren](#annotate-a-result-for-the-auto-mode-classifier). Erfordert Claude Code v2.1.236 oder höher |

2292| `updatedToolOutput` | Ersetzt die Ausgabe des Tools durch den angegebenen Wert, bevor sie an Claude gesendet wird. Der Wert muss der Ausgabestruktur des Tools entsprechen |2316| `updatedToolOutput` | Ersetzt die Ausgabe des Tools durch den angegebenen Wert, bevor sie an Claude gesendet wird. Der Wert muss der Ausgabestruktur des Tools entsprechen. In einer [Cowork](https://claude.com/docs/cowork/overview)-Cloud-Sitzung ignoriert Claude Code dieses Feld, wenn das Tool `AskUserQuestion` oder `ExitPlanMode` ist, und Claude liest die ursprüngliche Antwort bzw. den ursprünglichen Plan |

2293| `updatedMCPToolOutput` | Ersetzt die Ausgabe nur für [MCP-Tools](#match-mcp-tools). Verwenden Sie bevorzugt `updatedToolOutput`, das für alle Tools funktioniert |2317| `updatedMCPToolOutput` | Ersetzt die Ausgabe nur für [MCP-Tools](#match-mcp-tools). Verwenden Sie vorzugsweise `updatedToolOutput`, das auch für integrierte Tools funktioniert |

2294 2318 

2295Das folgende Beispiel ersetzt die Ausgabe eines `Bash`-Aufrufs. Der Ersatzwert entspricht der Ausgabestruktur des `Bash`-Tools:2319Das folgende Beispiel ersetzt die Ausgabe eines `Bash`-Aufrufs. Der Ersatzwert entspricht der Ausgabestruktur des `Bash`-Tools:

2296 2320 

hooks-guide.md +1 −1

Details

964 964 

965> [!NOTE]965> [!NOTE]

966>966>

967> Wenn auf Ihrem Rechner keine [verwalteten Einstellungen](https://code.claude.com/docs/de/settings.md#check-what-your-organization-enforces) vorhanden sind und Ihre Sitzung keine [`/login`-Anmeldedaten](https://code.claude.com/docs/de/authentication#authentication-precedence) für einen Team- oder Enterprise-Plan verwendet, kann ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) einen Aufruf genehmigen, den Ihr `PreToolUse`-Hook blockiert hat. Eine Sitzung, die stattdessen mit einem API-Schlüssel oder einem langlebigen [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/de/authentication#generate-a-long-lived-token) läuft, verwendet diese Anmeldung nicht, selbst wenn diese Anmeldung gespeichert ist.967> Auf Ihrem Rechner fehlen möglicherweise [verwaltete Einstellungen](https://code.claude.com/docs/de/settings.md#check-what-your-organization-enforces) und eine [`managed-mcp.json`-Datei](https://code.claude.com/docs/de/managed-mcp#deploy-managed-mcp-json), und Ihre Sitzung verwendet möglicherweise keine [`/login`-Anmeldedaten](https://code.claude.com/docs/de/authentication#authentication-precedence) für einen Team- oder Enterprise-Plan. In dieser Konstellation kann ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) einen Aufruf genehmigen, den Ihr `PreToolUse`-Hook blockiert hat. Eine Sitzung, die stattdessen mit einem API-Schlüssel oder einem langlebigen [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/de/authentication#generate-a-long-lived-token) läuft, verwendet diese Anmeldung nicht, selbst wenn diese Anmeldung gespeichert ist.

968>968>

969> Im Plan-Modus kann ein Mod einen solchen blockierten Aufruf nur genehmigen, wenn er nur lesend ist, also keine Dateibearbeitung. Für die Fälle, in denen die Genehmigung eines Mods nicht über Ihre Regeln und Hooks hinauskommt, siehe [Berechtigungen mit Hooks erweitern](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods).969> Im Plan-Modus kann ein Mod einen solchen blockierten Aufruf nur genehmigen, wenn er nur lesend ist, also keine Dateibearbeitung. Für die Fälle, in denen die Genehmigung eines Mods nicht über Ihre Regeln und Hooks hinauskommt, siehe [Berechtigungen mit Hooks erweitern](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods).

970 970 

keybindings.md +1 −1

Details

305 305 

306### Diff-Aktionen306### Diff-Aktionen

307 307 

308Diese Aktionen wirken nur im früheren Diff-Viewer von Claude Code, den `/diff` außerhalb des [Vollbild-Renderings](https://code.claude.com/docs/de/fullscreen.md) öffnet, nachdem Sie den [Mod `cc-plugin-diff`](https://code.claude.com/docs/de/plugins/mods/overview#mods-built-into-claude-code) in `/plugin` deaktiviert haben. Solange dieser Mod aktiviert ist, öffnet `/diff` stattdessen den [Diff-Dialog](https://code.claude.com/docs/de/interactive-mode.md#diff-dialog). Eine `keybindings.json`, die diese Aktionen nennt, wird in beiden Fällen fehlerfrei geladen.308Diese Aktionen wirken nur im früheren Diff-Viewer von Claude Code, den `/diff` außerhalb des [Vollbild-Renderings](https://code.claude.com/docs/de/fullscreen.md) öffnet, nachdem Sie den [Mod `cc-plugin-diff`](https://code.claude.com/docs/de/plugins/mods/overview#mods-built-into-claude-code) in `/plugin` deaktiviert haben. Solange dieser Mod aktiviert ist, öffnet `/diff` stattdessen den [Diff-Dialog](https://code.claude.com/docs/de/interactive-mode.md#diff-dialog).

309 309 

310Im Kontext `DiffDialog` verfügbare Aktionen:310Im Kontext `DiffDialog` verfügbare Aktionen:

311 311 

Details

197* `Marketplace "claude-plugins-official" not found`: Fügen Sie den Marketplace mit `/plugin marketplace add anthropics/claude-plugins-official` hinzu und versuchen Sie dann die Installation erneut.197* `Marketplace "claude-plugins-official" not found`: Fügen Sie den Marketplace mit `/plugin marketplace add anthropics/claude-plugins-official` hinzu und versuchen Sie dann die Installation erneut.

198* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: Ihre lokale Kopie des Marketplace-Katalogs ist möglicherweise veraltet. Aktualisieren Sie sie mit `/plugin marketplace update claude-plugins-official` und versuchen Sie dann die Installation erneut. Wenn der erneute Versuch dieselbe Meldung ausgibt, siehe [Plugin not found in marketplace](https://code.claude.com/docs/de/plugins/troubleshooting.md#plugin-not-found-in-marketplace).198* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: Ihre lokale Kopie des Marketplace-Katalogs ist möglicherweise veraltet. Aktualisieren Sie sie mit `/plugin marketplace update claude-plugins-official` und versuchen Sie dann die Installation erneut. Wenn der erneute Versuch dieselbe Meldung ausgibt, siehe [Plugin not found in marketplace](https://code.claude.com/docs/de/plugins/troubleshooting.md#plugin-not-found-in-marketplace).

199 199 

200Um ein Plugin für alle im Repository zu aktivieren, anstatt es selbst zu installieren, fügen Sie es zur [`enabledPlugins`-Projekteinstellung](https://code.claude.com/docs/de/settings-reference#plugin-settings) hinzu.200Um ein Plugin für alle im Repository zu aktivieren, fügen Sie es zur [`enabledPlugins`-Projekteinstellung](https://code.claude.com/docs/de/settings-reference#plugin-settings) hinzu. Jede Person [installiert es](https://code.claude.com/docs/de/plugins/loading.md#enabled-in-project-settings-but-not-installed) trotzdem selbst.

201 201 

202Code-Intelligence-Plugins erfordern die Language-Server-Binärdatei der Sprache auf jedem Entwickler-Computer. Siehe [welche Binärdatei jede Sprache erfordert](https://code.claude.com/docs/de/plugins/code-intelligence.md). Die Installation aus dem offiziellen Marketplace erfordert Netzwerkzugriff zu GitHub, wo der Marketplace gehostet wird. In einem eingeschränkten Netzwerk [fügen Sie den Marketplace stattdessen von einem internen Git-Host oder lokalen Pfad hinzu](https://code.claude.com/docs/de/plugins/install.md#add-a-marketplace).202Code-Intelligence-Plugins erfordern die Language-Server-Binärdatei der Sprache auf jedem Entwickler-Computer. Siehe [welche Binärdatei jede Sprache erfordert](https://code.claude.com/docs/de/plugins/code-intelligence.md). Die Installation aus dem offiziellen Marketplace erfordert Netzwerkzugriff zu GitHub, wo der Marketplace gehostet wird. In einem eingeschränkten Netzwerk [fügen Sie den Marketplace stattdessen von einem internen Git-Host oder lokalen Pfad hinzu](https://code.claude.com/docs/de/plugins/install.md#add-a-marketplace).

203 203 


235 235 

236Listen Sie Verzeichnisse in `sparsePaths` auf, nicht einzelne Dateien. Root-Level-Dateien wie `package.json`, `tsconfig.base.json` und Lock-Dateien werden immer neben den Verzeichnissen ausgecheckt, die Sie auflisten. Root-Level-Verzeichnisse sind nicht, daher schließen Sie `.claude` in die Liste ein, wenn Sie das Repository-Root's `.claude/settings.json` oder `.claude/rules/` im Worktree verfügbar haben möchten. Für Projekt-Skills, Agenten und Befehle siehe [Was Worktrees mit dem Haupt-Checkout teilen](https://code.claude.com/docs/de/worktrees.md#what-worktrees-share-with-the-main-checkout).236Listen Sie Verzeichnisse in `sparsePaths` auf, nicht einzelne Dateien. Root-Level-Dateien wie `package.json`, `tsconfig.base.json` und Lock-Dateien werden immer neben den Verzeichnissen ausgecheckt, die Sie auflisten. Root-Level-Verzeichnisse sind nicht, daher schließen Sie `.claude` in die Liste ein, wenn Sie das Repository-Root's `.claude/settings.json` oder `.claude/rules/` im Worktree verfügbar haben möchten. Für Projekt-Skills, Agenten und Befehle siehe [Was Worktrees mit dem Haupt-Checkout teilen](https://code.claude.com/docs/de/worktrees.md#what-worktrees-share-with-the-main-checkout).

237 237 

238Sparse Checkout erfordert, dass Git `extensions.worktreeConfig` in der gemeinsamen `.git/config` des Repositorys aktiviert, während ein Sparse-Worktree existiert. Claude Code entfernt diesen Eintrag nach dem Entfernen des letzten Worktrees, aber nur wenn Claude Code ihn hinzugefügt hat. Es entfernt niemals einen Wert, den Sie selbst gesetzt haben.238> [!NOTE]

239>

240> Sparse Checkout erfordert, dass Git `extensions.worktreeConfig` in der gemeinsamen `.git/config` des Repositorys aktiviert, während ein Sparse-Worktree existiert. Claude Code entfernt diesen Eintrag nach dem Entfernen des letzten Worktrees, aber nur wenn Claude Code ihn hinzugefügt hat.

239 241 

240Um zu vermeiden, dass große Verzeichnisse wie `node_modules` über Worktrees dupliziert werden, kombinieren Sie `sparsePaths` mit `symlinkDirectories` in der gleichen `.claude/settings.json`:242Um zu vermeiden, dass große Verzeichnisse wie `node_modules` über Worktrees dupliziert werden, kombinieren Sie `sparsePaths` mit `symlinkDirectories` in der gleichen `.claude/settings.json`:

241 243 

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. Ihr claude.ai-Login bleibt gespeichert und ungenutzt, während die Variable festgelegt ist; heben Sie die Festlegung der Variable auf und Claude Code kehrt zu ihr zurück. 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.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.

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 

Details

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* 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`

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* `Failed to authenticate`-Fehler bedeuten, dass das Gateway Anfragen ablehnt; sein Log sagt, welche Anmeldedaten fehlgeschlagen ist. Eine Ablehnung, die das Gateway selbst protokolliert, benennt den Entwicklerschlüssel, während ein `401` von `api.anthropic.com` oder Ihrem Anbieter-Endpunkt bedeutet, dass die Anbieteranmeldedaten, die das Gateway hält, abgelehnt wurden

254* Eine einmalige Genehmigungsaufforderung für den Schlüssel ist beim ersten Gebrauch erwartet, wenn das Gateway Schlüssel im `x-api-key`-Header erwartet, gesetzt als `ANTHROPIC_API_KEY`. Mit `ANTHROPIC_AUTH_TOKEN` erscheint keine Aufforderung und die Variable übernimmt stillschweigend; ein zuvor gespeicherter claude.ai-Login ist für diese Sitzung inaktiv254* 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).

257 257 

managed-mcp.md +1 −1

Details

187 187 

188* `type` ist `http` oder `sse`. Wie in `.mcp.json` wird `streamable-http` als Alias für `http` akzeptiert.188* `type` ist `http` oder `sse`. Wie in `.mcp.json` wird `streamable-http` als Alias für `http` akzeptiert.

189* `url` ist eine `https://`-URL. Claude Code lehnt eine einfache `http://`-URL ab, einschließlich einer, die auf `localhost` verweist.189* `url` ist eine `https://`-URL. Claude Code lehnt eine einfache `http://`-URL ab, einschließlich einer, die auf `localhost` verweist.

190* Der Eintrag hat keinen `command`-, `args`-, `env`- oder `headersHelper`-Member, daher nennt ein verwaltetes Einstellungsdokument niemals ein Programm, das auf dem Computer eines Benutzers ausgeführt werden soll.190* Der Eintrag hat keinen `command`-, `args`-, `env`- oder `headersHelper`-Member.

191* Kein Wert enthält einen `${VAR}`-Verweis. Claude Code erweitert Umgebungsvariablen in diesen Einträgen nicht, daher schreiben Sie Literalwerte.191* Kein Wert enthält einen `${VAR}`-Verweis. Claude Code erweitert Umgebungsvariablen in diesen Einträgen nicht, daher schreiben Sie Literalwerte.

192* Der Servername enthält nur Buchstaben, Zahlen, Bindestriche und Unterstriche, und kein Schlüssel oder Wert enthält Steuerzeichen oder unsichtbare Formatierungszeichen.192* Der Servername enthält nur Buchstaben, Zahlen, Bindestriche und Unterstriche, und kein Schlüssel oder Wert enthält Steuerzeichen oder unsichtbare Formatierungszeichen.

193 193 

mcp.md +253 −255

Details

64 64 

65### Option 1: Einen Remote-HTTP-Server hinzufügen65### Option 1: Einen Remote-HTTP-Server hinzufügen

66 66 

67HTTP-Server sind die empfohlene Option für die Verbindung mit Remote-MCP-Servern. Dies ist das am weitesten unterstützte Transportprotokoll für Cloud-basierte Dienste.67HTTP-Server sind die empfohlene Option, um sich mit Remote-MCP-Servern zu verbinden. Dies ist der am weitesten unterstützte Transport für cloudbasierte Dienste.

68 68 

69```bash theme={null}69```bash theme={null}

70# Grundlegende Syntax70# Basic syntax

71claude mcp add --transport http <name> <url>71claude mcp add --transport http <name> <url>

72 72 

73# Echtes Beispiel: Mit Notion verbinden73# Real example: Connect to Notion

74claude mcp add --transport http notion https://mcp.notion.com/mcp74claude mcp add --transport http notion https://mcp.notion.com/mcp

75 75 

76# Beispiel mit Bearer-Token76# Example with Bearer token

77claude mcp add --transport http secure-api https://api.example.com/mcp \77claude mcp add --transport http secure-api https://api.example.com/mcp \

78 --header "Authorization: Bearer your-token"78 --header "Authorization: Bearer your-token"

79```79```

80 80 

81Bei der Konfiguration von MCP-Servern über JSON in `.mcp.json`, `~/.claude.json` oder `claude mcp add-json` akzeptiert das Feld `type` `streamable-http` als Alias für `http`. Die MCP-Spezifikation verwendet den Namen `streamable-http` für dieses Transportprotokoll, sodass Konfigurationen, die aus der Serverdokumentation kopiert werden, ohne Änderungen funktionieren.81Wenn Sie MCP-Server über JSON in `.mcp.json`, `~/.claude.json` oder `claude mcp add-json` konfigurieren, akzeptiert das Feld `type` den Wert `streamable-http` als Alias für `http`. Die MCP-Spezifikation verwendet für diesen Transport den Namen `streamable-http`, sodass aus der Serverdokumentation kopierte Konfigurationen ohne Änderung funktionieren.

82 82 

83Ein JSON-Eintrag mit einer `url` aber ohne `type` ist ein Konfigurationsfehler, da Claude Code einen Eintrag ohne `type` als Stdio-Server liest. Claude Code überspringt diesen Server und meldet `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`.83Ein JSON-Eintrag, der eine `url`, aber keinen `type` hat, ist ein Konfigurationsfehler, weil Claude Code einen Eintrag ohne `type` als stdio-Server liest. Claude Code überspringt diesen Server und meldet `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`.

84 84 

85Nur eine SDK-Host-Anwendung, wie eine [Agent SDK](https://code.claude.com/docs/de/agent-sdk/mcp.md)-Anwendung oder die [Desktop-App](https://code.claude.com/docs/de/desktop.md), kann einen In-Process-Server vom Typ `"type": "sdk"` registrieren. Claude Code überspringt einen `"type": "sdk"`-Eintrag in `.mcp.json`, `~/.claude.json` oder Einstellungen und meldet `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.85Nur eine SDK-Host-Anwendung, etwa eine [Agent SDK](https://code.claude.com/docs/de/agent-sdk/mcp.md)-Anwendung oder die [Desktop-App](https://code.claude.com/docs/de/desktop.md), kann einen In-Process-Server mit `"type": "sdk"` registrieren. Claude Code überspringt einen `"type": "sdk"`-Eintrag in `.mcp.json`, `~/.claude.json` oder in den Einstellungen und meldet `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.

86 86 

87> [!NOTE]87> [!NOTE]

88>88>


92 92 

93> [!WARNING]93> [!WARNING]

94>94>

95> Das SSE-Transportprotokoll (Server-Sent Events) ist veraltet. Verwenden Sie stattdessen HTTP-Server, wo verfügbar.95> Der SSE-Transport (Server-Sent Events) ist veraltet. Verwenden Sie stattdessen HTTP-Server, sofern verfügbar.

96 96 

97Einige Dienste stellen weiterhin nur einen SSE-Endpunkt bereit. Fügen Sie diese mit demselben Befehl `claude mcp add --transport http <name> <url>` wie [einen HTTP-Server](#option-1-add-a-remote-http-server) hinzu. Claude Code versucht zuerst das HTTP-Transportprotokoll und wechselt zu SSE, wenn der Server es nicht akzeptiert. Der automatische Wechsel erfordert Claude Code v2.1.265 oder später.97Einige Dienste stellen weiterhin nur einen SSE-Endpunkt bereit. Fügen Sie diese mit demselben Befehl `claude mcp add --transport http <name> <url>` hinzu wie [einen HTTP-Server](#option-1-add-a-remote-http-server). Claude Code versucht zuerst den HTTP-Transport und wechselt zu SSE, wenn der Server ihn nicht akzeptiert. Der automatische Wechsel erfordert Claude Code v2.1.265 oder höher.

98 98 

99Bei einer früheren Version oder um direkt über SSE zu verbinden, übergeben Sie stattdessen `--transport sse`:99Verwenden Sie bei einer früheren Version, oder um direkt über SSE zu verbinden, stattdessen `--transport sse`:

100 100 

101```bash theme={null}101```bash theme={null}

102# Grundlegende Syntax102# Basic syntax

103claude mcp add --transport sse <name> <url>103claude mcp add --transport sse <name> <url>

104 104 

105# Echtes Beispiel: Mit Asana verbinden105# Real example: Connect to Asana

106claude mcp add --transport sse asana https://mcp.asana.com/sse106claude mcp add --transport sse asana https://mcp.asana.com/sse

107 107 

108# Beispiel mit Authentifizierungsheader108# Example with authentication header

109claude mcp add --transport sse private-api https://api.company.com/sse \109claude mcp add --transport sse private-api https://api.company.com/sse \

110 --header "X-API-Key: your-key-here"110 --header "X-API-Key: your-key-here"

111```111```

112 112 

113### Option 3: Einen lokalen Stdio-Server hinzufügen113### Option 3: Einen lokalen stdio-Server hinzufügen

114 114 

115Stdio-Server werden als lokale Prozesse auf Ihrem Computer ausgeführt. Sie sind ideal für Tools, die direkten Systemzugriff oder benutzerdefinierte Skripte benötigen.115Stdio-Server laufen als lokale Prozesse auf Ihrem Rechner. Sie eignen sich ideal für Tools, die direkten Systemzugriff benötigen, oder für eigene Skripte.

116 116 

117Claude Code setzt `CLAUDE_PROJECT_DIR` in der Umgebung des erzeugten Servers auf das Projektstammverzeichnis, sodass Ihr Server projektrelative Pfade auflösen kann, ohne vom Arbeitsverzeichnis abhängig zu sein. Dies ist dasselbe Verzeichnis, das Hooks in ihrer `CLAUDE_PROJECT_DIR`-Variable erhalten. Lesen Sie es aus Ihrem Serverprozess, zum Beispiel `process.env.CLAUDE_PROJECT_DIR` in Node oder `os.environ["CLAUDE_PROJECT_DIR"]` in Python.117Claude Code setzt `CLAUDE_PROJECT_DIR` in der Umgebung des gestarteten Servers auf das Projektstammverzeichnis, sodass Ihr Server projektrelative Pfade auflösen kann, ohne vom Arbeitsverzeichnis abzuhängen. Dies ist dasselbe Verzeichnis, das Hooks in ihrer Variable `CLAUDE_PROJECT_DIR` erhalten. Lesen Sie sie innerhalb Ihres Serverprozesses aus, zum Beispiel mit `process.env.CLAUDE_PROJECT_DIR` in Node oder `os.environ["CLAUDE_PROJECT_DIR"]` in Python.

118 118 

119`CLAUDE_PROJECT_DIR` ist das stabile Projektstammverzeichnis und ändert sich nicht, wenn Sie während einer Sitzung Arbeitsverzeichnisse hinzufügen oder entfernen. Ein Server, der seinen eigenen Dateisystemzugriff auf einen Satz zulässiger Verzeichnisse beschränkt, sollte stattdessen die MCP-Anfrage `roots/list` implementieren. Claude Code antwortet auf `roots/list` mit dem Startverzeichnis der Sitzung plus jedem [zusätzlichen Arbeitsverzeichnis](https://code.claude.com/docs/de/permissions.md#working-directories), das Sie mit `--add-dir`, `/add-dir` oder der Einstellung `additionalDirectories` gewährt haben. Claude Code sendet `notifications/roots/list_changed`, wenn sich dieser Satz ändert.119`CLAUDE_PROJECT_DIR` ist das stabile Projektstammverzeichnis und ändert sich nicht, wenn Sie während der Sitzung Arbeitsverzeichnisse hinzufügen oder entfernen. Ein Server, der seinen eigenen Dateisystemzugriff auf eine Menge erlaubter Verzeichnisse beschränkt, sollte stattdessen die MCP-Anfrage `roots/list` implementieren. Claude Code beantwortet `roots/list` mit dem Startverzeichnis der Sitzung sowie jedem [zusätzlichen Arbeitsverzeichnis](https://code.claude.com/docs/de/permissions.md#working-directories), das Sie mit `--add-dir`, `/add-dir` oder der Einstellung `additionalDirectories` freigegeben haben. Claude Code sendet `notifications/roots/list_changed`, wenn sich diese Menge ändert.

120 120 

121Diese Variable wird in der Umgebung des Servers gesetzt, nicht in der Umgebung von Claude Code selbst. Daher erfordert das Referenzieren über `${VAR}`-Expansion in `command` oder `args` eines projektgebundenen `.mcp.json`-Eintrags oder eines lokal- oder benutzergebundenen Servereintrags in `~/.claude.json` einen Standard wie `${CLAUDE_PROJECT_DIR:-.}`. Von Plugins bereitgestellte MCP-Konfigurationen ersetzen `${CLAUDE_PROJECT_DIR}` direkt und benötigen keinen Standard.121Diese Variable wird in der Umgebung des Servers gesetzt, nicht in der eigenen Umgebung von Claude Code. Wenn Sie sie daher per `${VAR}`-Expansion im `command` oder in den `args` eines projektbezogenen `.mcp.json`-Eintrags oder eines Servereintrags mit lokalem oder Benutzer-Geltungsbereich in `~/.claude.json` referenzieren, ist ein Standardwert wie `${CLAUDE_PROJECT_DIR:-.}` erforderlich. Von Plugins bereitgestellte MCP-Konfigurationen ersetzen `${CLAUDE_PROJECT_DIR}` direkt und benötigen keinen Standardwert.

122 122 

123```bash theme={null}123```bash theme={null}

124# Grundlegende Syntax124# Basic syntax

125claude mcp add [options] <name> -- <command> [args...]125claude mcp add [options] <name> -- <command> [args...]

126 126 

127# Echtes Beispiel: Airtable-Server hinzufügen127# Real example: Add Airtable server

128claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \128claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \

129 -- npx -y airtable-mcp-server129 -- npx -y airtable-mcp-server

130```130```

131 131 

132> [!NOTE]132> [!NOTE]

133>133>

134> Bei Stdio-Servern trennt `--` (Doppelstrich) Claudes eigene Optionen wie `--transport`, `--env` und `--scope` vom Befehl und den Argumenten, die den Server ausführen. Alles nach `--` wird unverändert an den Server übergeben.134> Bei stdio-Servern trennt `--` (doppelter Bindestrich) die eigenen Optionen von Claude, etwa `--transport`, `--env` und `--scope`, vom Befehl und den Argumenten, die den Server ausführen. Alles nach `--` wird unverändert an den Server übergeben.

135>135>

136> Zum Beispiel:136> Zum Beispiel:

137>137>

138> * `claude mcp add --transport stdio myserver -- npx server` → führt `npx server` aus138> * `claude mcp add --transport stdio myserver -- npx server` → führt `npx server` aus

139> * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → führt `python server.py --port 8080` mit `KEY=value` in der Umgebung aus139> * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → führt `python server.py --port 8080` mit `KEY=value` in der Umgebung aus

140>140>

141> Ohne `--` würde Claude Code versuchen, die Flags des Servers wie `--port` oben als seine eigenen Optionen zu analysieren.141> Ohne `--` würde Claude Code versuchen, die Flags des Servers, wie oben `--port`, als eigene Optionen zu parsen.

142>142>

143> `--env` akzeptiert mehrere `KEY=value`-Paare. Wenn der Servername direkt nach `--env` kommt, liest die CLI den Namen als ein weiteres Paar und lehnt ihn ab. Platzieren Sie daher mindestens eine andere Option wie `--transport stdio` zwischen `--env` und dem Servernamen.143> `--env` akzeptiert mehrere `KEY=value`-Paare. Folgt der Servername direkt auf `--env`, liest die CLI den Namen als weiteres Paar und lehnt ihn ab. Platzieren Sie daher mindestens eine andere Option, etwa `--transport stdio`, zwischen `--env` und dem Servernamen.

144 144 

145#### Wie Claude Code einen Stdio-Server stoppt145#### Wie Claude Code einen stdio-Server beendet

146 146 

147Wenn Claude Code die Verbindung zu einem Stdio-Server trennt, zum Beispiel wenn Ihre Sitzung endet, sendet es dem Serverprozess ein Signal und wartet kurz, bis er sich beendet, bevor es ihn zwangsweise stoppt. Wenn Ihr Server beim Herunterfahren seinen Zustand speichert oder Sperrdateien entfernt, behandeln Sie das Signal für Ihre Plattform und schließen Sie diese Arbeit innerhalb dieser Zeit ab:147Wenn Claude Code die Verbindung zu einem stdio-Server trennt, zum Beispiel wenn Ihre Sitzung endet, sendet es dem Serverprozess ein Signal und wartet kurz auf dessen Beendigung, bevor es ihn zwangsweise stoppt. Wenn Ihr Server beim Herunterfahren Zustand speichert oder Sperrdateien entfernt, behandeln Sie das Signal für Ihre Plattform und schließen Sie innerhalb dieser Zeit ab:

148 148 

149* **Unter macOS und Linux**: Claude Code sendet `SIGINT`, dann `SIGTERM`, wenn der Prozess 100 Millisekunden später noch läuft, und nach weiteren 400 Millisekunden `SIGKILL`.149* **Unter macOS und Linux**: Claude Code sendet `SIGINT`, dann `SIGTERM`, falls der Prozess 100 Millisekunden später noch läuft, und nach weiteren 400 Millisekunden `SIGKILL`.

150* **Unter Windows**: Claude Code schließt stdin des Servers und beendet dann den Prozessbaum des Servers, wenn der Prozess 300 Millisekunden später noch läuft.150* **Unter Windows**: Claude Code schließt stdin des Servers und beendet dann den Prozessbaum des Servers, falls der Prozess 300 Millisekunden später noch läuft.

151 151 

152Vor v2.1.296 beendete Claude Code unter Windows den Prozessbaum des Servers sofort, ohne zuerst stdin zu schließen oder zu warten.152Vor v2.1.296 beendete Claude Code unter Windows den Prozessbaum des Servers sofort, ohne zuvor stdin zu schließen oder zu warten.

153 153 

154### Option 4: Einen Remote-WebSocket-Server hinzufügen154### Option 4: Einen Remote-WebSocket-Server hinzufügen

155 155 

156WebSocket-Server halten eine persistente bidirektionale Verbindung, die sich für Remote-MCP-Server eignet, die Claude unaufgefordert Ereignisse übermitteln. Verwenden Sie HTTP, wenn Ihr Server nur auf Anfragen antwortet, da HTTP OAuth und das Flag `claude mcp add --transport` unterstützt, während WebSocket beides nicht unterstützt.156WebSocket-Server halten eine persistente bidirektionale Verbindung, was sich für Remote-MCP-Server eignet, die Ereignisse unaufgefordert an Claude senden. Verwenden Sie stattdessen HTTP, wenn Ihr Server nur auf Anfragen antwortet, da HTTP OAuth und das Flag `claude mcp add --transport` unterstützt, WebSocket hingegen keines von beiden.

157 157 

158Konfigurieren Sie WebSocket-Server in `.mcp.json` oder mit `claude mcp add-json`:158Konfigurieren Sie WebSocket-Server in `.mcp.json` oder mit `claude mcp add-json`:

159 159 


162 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'162 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'

163```163```

164 164 

165Der Eintrag `type: "ws"` akzeptiert dieselben Felder `url`, `headers`, `headersHelper`, `timeout` und `alwaysLoad` wie `http`. Die Authentifizierung erfolgt nur über Header. Übergeben Sie ein statisches Token in `headers` oder generieren Sie eines beim Verbinden mit [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Das Flag `claude mcp add --transport` akzeptiert `ws` nicht.165Der Eintrag `type: "ws"` akzeptiert dieselben Felder `url`, `headers`, `headersHelper`, `timeout` und `alwaysLoad` wie `http`. Die Authentifizierung erfolgt ausschließlich über Header. Übergeben Sie also ein statisches Token in `headers` oder erzeugen Sie eines beim Verbindungsaufbau mit [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Das Flag `claude mcp add --transport` akzeptiert `ws` nicht.

166 166 

167### Einen Server aus Setupanweisungen hinzufügen, die für einen anderen Client geschrieben wurden167### Einen Server aus Einrichtungsanleitungen für einen anderen Client hinzufügen

168 168 

169MCP-Server sind nicht spezifisch für Claude Code, daher können die Setupanweisungen eines Servers für Claude Desktop, Cursor oder einen anderen MCP-Client geschrieben sein und keinen `claude mcp add`-Befehl geben. Um den Server trotzdem hinzuzufügen, suchen Sie in diesen Anweisungen nach einer URL, einem Startbefehl oder einem JSON-Block:169MCP-Server sind nicht spezifisch für Claude Code. Die Einrichtungsanleitung eines Servers kann daher für Claude Desktop, Cursor oder einen anderen MCP-Client geschrieben sein und keinen `claude mcp add`-Befehl enthalten. Um den Server trotzdem hinzuzufügen, suchen Sie in dieser Anleitung nach einer URL, einem Startbefehl oder einem JSON-Block:

170 170 

171* **Eine URL** wie `https://mcp.example.com/mcp`: Der Server ist Remote.171* **Eine URL** wie `https://mcp.example.com/mcp`: Der Server ist remote.

172* **Ein Startbefehl** wie `npx -y @example/mcp-server`: Der Server wird auf Ihrem Computer ausgeführt.172* **Ein Startbefehl** wie `npx -y @example/mcp-server`: Der Server läuft auf Ihrem Rechner.

173* **Ein `mcpServers`-JSON-Block**: Konfiguration, die für die Einstellungsdatei eines anderen Clients geschrieben wurde.173* **Ein `mcpServers`-JSON-Block**: eine Konfiguration, die für die Einstellungsdatei eines anderen Clients geschrieben wurde.

174 174 

175Jede ist eine der Eingaben, die die vier Optionen in [MCP-Server installieren](#installing-mcp-servers) benötigen. Finden Sie die Form, die Sie haben, unten, um sie in den Befehl umzuwandeln, den Claude Code akzeptiert. Jeder Befehl schreibt in [lokalen Bereich](#local-scope), es sei denn, Sie fügen `--scope project` oder `--scope user` hinzu.175Jede dieser Formen ist eine der Eingaben, die die vier Optionen unter [MCP-Server installieren](#installing-mcp-servers) entgegennehmen. Suchen Sie unten die Form, die Ihnen vorliegt, um sie in den Befehl umzuwandeln, den Claude Code akzeptiert. Jeder Befehl schreibt in den [lokalen Geltungsbereich](#local-scope), sofern Sie nicht `--scope project` oder `--scope user` hinzufügen.

176 176 

177#### Einen Server aus einer URL hinzufügen177#### Einen Server aus einer URL hinzufügen

178 178 

179Eine URL bedeutet, dass der Server Remote ist. Für einen `https://`-Endpunkt fügen Sie ihn mit `--transport http` hinzu, oder folgen Sie [Option 2](#option-2-add-a-remote-sse-server), wenn die Anweisungen sagen, dass der Endpunkt SSE verwendet. Für einen `wss://`-Endpunkt verwenden Sie stattdessen [Option 4](#option-4-add-a-remote-websocket-server), da `--transport` `ws` nicht akzeptiert:179Eine URL bedeutet, dass der Server remote ist. Fügen Sie einen `https://`-Endpunkt mit `--transport http` hinzu, oder folgen Sie [Option 2](#option-2-add-a-remote-sse-server), wenn die Anleitung angibt, dass der Endpunkt SSE verwendet. Verwenden Sie für einen `wss://`-Endpunkt stattdessen [Option 4](#option-4-add-a-remote-websocket-server), da `--transport` den Wert `ws` nicht akzeptiert:

180 180 

181```bash theme={null}181```bash theme={null}

182claude mcp add --transport http example https://mcp.example.com/mcp182claude mcp add --transport http example https://mcp.example.com/mcp

183```183```

184 184 

185Wenn die Anweisungen auch einen API-Schlüssel oder Token-Header geben, übergeben Sie ihn mit `--header` wie in [Option 1](#option-1-add-a-remote-http-server) gezeigt.185Wenn die Anleitung zusätzlich einen API-Schlüssel oder einen Token-Header angibt, übergeben Sie ihn mit `--header`, wie in [Option 1](#option-1-add-a-remote-http-server) gezeigt.

186 186 

187#### Einen Server aus einem `npx`-, `uvx`- oder Binärbefehl hinzufügen187#### Einen Server aus einem `npx`-, `uvx`- oder Binärbefehl hinzufügen

188 188 

189Ein Startbefehl bedeutet, dass der Server als lokaler Stdio-Prozess ausgeführt wird. Platzieren Sie den gesamten Befehl nach `--`, sodass Claude Code Flags wie `-y` an den Befehl übergibt, der den Server startet, anstatt sie als seine eigenen Optionen zu lesen. Übergeben Sie alle Umgebungsvariablen, die die Anweisungen anfordern, mit `--env`, nach dem Servernamen und vor `--`:189Ein Startbefehl bedeutet, dass der Server als lokaler stdio-Prozess läuft. Setzen Sie den gesamten Befehl hinter `--`, damit Claude Code Flags wie `-y` an den Befehl übergibt, der den Server startet, anstatt sie als eigene Optionen zu lesen. Übergeben Sie alle Umgebungsvariablen, die die Anleitung verlangt, mit `--env` nach dem Servernamen und vor `--`:

190 190 

191```bash theme={null}191```bash theme={null}

192claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server192claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server

193```193```

194 194 

195[Option 3](#option-3-add-a-local-stdio-server) behandelt den `--`-Trennzeichen vollständig.195[Option 3](#option-3-add-a-local-stdio-server) behandelt das Trennzeichen `--` ausführlich.

196 196 

197#### Einen Server aus einem `mcpServers`-JSON-Block hinzufügen197#### Einen Server aus einem `mcpServers`-JSON-Block hinzufügen

198 198 

199Ein `mcpServers`-Block, der für einen anderen MCP-Client wie Claude Desktop geschrieben wurde, verwendet den Wrapper-Schlüssel und die Eintragform, die Claude Code liest. Übergeben Sie `claude mcp add-json` das Objekt in `mcpServers`, nicht den Wrapper. Zwei Einträge benötigen zuerst eine Reparatur:199Ein `mcpServers`-Block, der für einen anderen MCP-Client wie Claude Desktop geschrieben wurde, verwendet denselben Wrapper-Schlüssel und dieselbe Eintragsform, die Claude Code liest. Übergeben Sie an `claude mcp add-json` das Objekt innerhalb von `mcpServers`, nicht den Wrapper. Zwei Arten von Einträgen müssen zuerst korrigiert werden:

200 200 

201* **Eine `url` ohne `type`**: Fügen Sie `"type": "http"`, `"type": "sse"` oder `"type": "ws"` hinzu, um dem Endpunkt zu entsprechen. Claude Code liest einen Eintrag ohne `type` als Stdio-Server, daher schlägt ein `url`-Eintrag ohne `type` fehl.201* **Eine `url` ohne `type`**: Fügen Sie passend zum Endpunkt `"type": "http"`, `"type": "sse"` oder `"type": "ws"` hinzu. Claude Code liest einen Eintrag ohne `type` als stdio-Server, daher schlägt ein `url`-Eintrag ohne `type` fehl.

202* **Ein Schlüssel mit Zeichen außer Buchstaben, Zahlen, Bindestrichen und Unterstrichen**: Wählen Sie einen Servernamen, der nur diese Zeichen verwendet. Andernfalls ist der Schlüssel der Servername.202* **Ein Schlüssel mit anderen Zeichen als Buchstaben, Ziffern, Bindestrichen und Unterstrichen**: Wählen Sie einen Servernamen, der nur diese Zeichen verwendet. Andernfalls ist der Schlüssel der Servername.

203 203 

204Zum Beispiel wird dieser Block:204Zum Beispiel wird dieser Block:

205 205 


220claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'220claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'

221```221```

222 222 

223[MCP-Server aus JSON-Konfiguration hinzufügen](#add-mcp-servers-from-json-configuration) behandelt Shell-Escaping und das Flag `--scope` für `add-json`. Um den Server stattdessen mit Ihrem Team zu teilen, fügen Sie `--scope project` hinzu, oder fügen Sie den Eintrag unter `mcpServers` in `.mcp.json` in Ihrem Projektstammverzeichnis hinzu und committen Sie ihn. [Projektbereich](#project-scope) behandelt, wie Claude Code diese Datei lädt und genehmigt.223[MCP-Server aus einer JSON-Konfiguration hinzufügen](#add-mcp-servers-from-json-configuration) behandelt das Escaping in der Shell und das Flag `--scope` für `add-json`. Um den Server stattdessen mit Ihrem Team zu teilen, fügen Sie `--scope project` hinzu, oder fügen Sie den Eintrag unter `mcpServers` in `.mcp.json` im Stammverzeichnis Ihres Projekts hinzu und committen Sie ihn. [Projekt-Geltungsbereich](#project-scope) beschreibt, wie Claude Code diese Datei lädt und genehmigt.

224 224 

225Jeder `claude mcp add`- und `claude mcp add-json`-Befehl gibt bei Erfolg eine `Added ...`-Zeile aus. Um zu überprüfen, dass Claude Code verbunden ist, führen Sie `claude mcp get <name>` aus; [Serverstatus](#server-status) behandelt die Statuse, die er anzeigt, und den Genehmigungsschritt für `.mcp.json`-Server.225Jeder `claude mcp add`- und `claude mcp add-json`-Befehl gibt bei Erfolg eine Zeile `Added ...` aus. Um zu prüfen, ob Claude Code sich verbunden hat, führen Sie `claude mcp get <name>` aus. [Serverstatus](#server-status) behandelt die angezeigten Status und den Genehmigungsschritt für `.mcp.json`-Server.

226 226 

227### Ihre Server verwalten227### Ihre Server verwalten

228 228 

229Nach der Konfiguration können Sie Ihre MCP-Server mit diesen Befehlen verwalten:229Nach der Konfiguration können Sie Ihre MCP-Server mit diesen Befehlen verwalten:

230 230 

231```bash theme={null}231```bash theme={null}

232# Alle konfigurierten Server auflisten232# List all configured servers

233claude mcp list233claude mcp list

234 234 

235# Details für einen bestimmten Server abrufen235# Get details for a specific server

236claude mcp get notion236claude mcp get notion

237 237 

238# Einen Server entfernen238# Remove a server

239claude mcp remove notion239claude mcp remove notion

240 240 

241# (innerhalb von Claude Code) Serverstatus überprüfen241# (within Claude Code) Check server status

242/mcp242/mcp

243```243```

244 244 

245Wenn Sie einen Remote-Server entfernen, löscht Claude Code auch die OAuth-Token und die Client-Registrierung, die es für diesen Server gespeichert hat. Claude Code widerruft die Token nicht beim Autorisierungsserver, der sie ausgestellt hat. Um die Token zu widerrufen, sofern der Autorisierungsserver einen Widerruf unterstützt, führen Sie [`claude mcp logout <name>`](#authenticate-from-the-command-line) in Ihrer Shell vor `claude mcp remove <name>` aus.245Wenn Sie einen Remote-Server entfernen, löscht Claude Code auch die OAuth-Token und die Client-Registrierung, die es für diesen Server gespeichert hat. Claude Code widerruft die Token nicht beim Autorisierungsserver, der sie ausgestellt hat. Um die Token dort zu widerrufen, wo der Autorisierungsserver einen Widerruf unterstützt, führen Sie [`claude mcp logout <name>`](#authenticate-from-the-command-line) in Ihrer Shell vor `claude mcp remove <name>` aus.

246 246 

247#### Serverstatus247#### Serverstatus

248 248 

249`claude mcp add` bestätigt ein erfolgreiches Hinzufügen durch Ausgabe einer `Added ...`-Zeile, was bedeutet, dass die Konfiguration geschrieben wurde. Wenn der Befehl stattdessen eine `was not saved`-Meldung ausgibt, siehe [MCP-Server wurde nicht gespeichert oder entfernt](https://code.claude.com/docs/de/errors.md#mcp-server-was-not-saved-or-removed); für eine `may not have been saved`-Meldung siehe [MCP-Server wurde möglicherweise nicht gespeichert oder entfernt](https://code.claude.com/docs/de/errors.md#mcp-server-may-not-have-been-saved-or-removed).249`claude mcp add` bestätigt ein erfolgreiches Hinzufügen durch die Ausgabe einer Zeile `Added ...`, was bedeutet, dass die Konfiguration geschrieben wurde. Wenn der Befehl stattdessen eine Meldung `was not saved` ausgibt, siehe [MCP-Server wurde nicht gespeichert oder entfernt](https://code.claude.com/docs/de/errors.md#mcp-server-was-not-saved-or-removed); bei einer Meldung `may not have been saved` siehe [MCP-Server wurde möglicherweise nicht gespeichert oder entfernt](https://code.claude.com/docs/de/errors.md#mcp-server-may-not-have-been-saved-or-removed).

250 250 

251`claude mcp list` zeigt neben jedem aufgelisteten Server einen Gesundheitsstatus an, wie `✔ Connected`, `! Needs authentication` oder `✘ Failed to connect`. Ein Fehlerstatus bedeutet, dass Claude Code keine Verbindung zu diesem Server herstellen konnte, nicht dass der List-Befehl fehlgeschlagen ist.251`claude mcp list` zeigt neben jedem aufgelisteten Server einen Integritätsstatus an, etwa `✔ Connected`, `! Needs authentication` oder `✘ Failed to connect`. Ein Fehlerstatus bedeutet, dass Claude Code keine Verbindung zu diesem Server herstellen konnte, nicht dass der Listenbefehl fehlgeschlagen ist.

252 252 

253Die Statuse in dieser Liste melden eine Konfigurationsentscheidung statt eines Verbindungsversuchs, daher gibt Claude Code sie aus, ohne sich mit dem Server zu verbinden:253Die Status in dieser Liste melden eine Konfigurationsentscheidung statt eines Verbindungsversuchs, daher gibt Claude Code sie aus, ohne sich mit dem Server zu verbinden:

254 254 

255* ``⏸ Pending approval (run `claude` to approve)``: ein projektbezogener Server aus `.mcp.json`, den Sie noch nicht genehmigt haben. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>` an. Führen Sie `claude` interaktiv aus, um ihn zu prüfen und zu genehmigen.255* ``⏸ Pending approval (run `claude` to approve)``: ein projektbezogener Server aus `.mcp.json`, den Sie noch nicht genehmigt haben. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>` an. Führen Sie `claude` interaktiv aus, um ihn zu prüfen und zu genehmigen.

256* `✘ Rejected (see disabledMcpjsonServers in settings)`: ein `.mcp.json`-Server, den ein [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers)-Eintrag ablehnt. Claude Code zeigt ihn nur in `claude mcp get <name>`.256* `✘ Rejected (see disabledMcpjsonServers in settings)`: ein `.mcp.json`-Server, den ein [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers)-Eintrag ablehnt. Claude Code zeigt ihn nur in `claude mcp get <name>` an.

257* `⊘ Disabled for this project (re-enable via /mcp)`: ein Server, den die [`disabledMcpServers`](#disable-a-server-without-removing-it)-Liste des Projekts nennt. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>`. Schalten Sie den Server über das `/mcp`-Panel wieder ein.257* `⊘ Disabled for this project (re-enable via /mcp)`: ein Server, der in der Liste [`disabledMcpServers`](#disable-a-server-without-removing-it) des Projekts steht. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>` an. Schalten Sie den Server über das `/mcp`-Panel wieder ein.

258* `✘ Blocked by enterprise managed policy`: ein Server, den eine der Richtlinien Ihrer Organisation ablehnt. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>` an. Ein Server, der durch eine Allowlist, eine Denylist oder eine andere Einschränkung in der [verwalteten MCP-Konfiguration](https://code.claude.com/docs/de/managed-mcp.md#how-restrictions-appear-to-users) blockiert wird, ist in beiden Befehlen ausgeblendet, statt mit diesem Status angezeigt zu werden. Fragen Sie Ihren Administrator, welche Richtlinie den Server blockiert.258* `✘ Blocked by enterprise managed policy`: ein Server, den eine der Richtlinien Ihrer Organisation ablehnt. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>` an. Ein Server, der durch eine Allowlist, eine Denylist oder eine andere Einschränkung in der [verwalteten MCP-Konfiguration](https://code.claude.com/docs/de/managed-mcp.md#how-restrictions-appear-to-users) blockiert wird, wird in beiden Befehlen ausgeblendet, statt mit diesem Status angezeigt zu werden. Fragen Sie Ihren Administrator, welche Richtlinie den Server blockiert.

259 259 

260#### Genehmigungen von Projektservern und Workspace-Vertrauen260#### Genehmigungen von Projektservern und Workspace-Vertrauen

261 261 

262`claude mcp list` und `claude mcp get` lesen `.mcp.json`-Genehmigungen nur aus Einstellungsdateien, die nicht in das Repository eingecheckt werden, bis Sie dem Workspace vertrauen, indem Sie `claude` darin ausführen und den Workspace-Vertrauensdialog akzeptieren. Ein geklontes Repository kann seine eigenen Server nicht genehmigen: [`enableAllProjectMcpServers`](https://code.claude.com/docs/de/settings-reference#enableallprojectmcpservers) oder [`enabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#enabledmcpjsonservers), die in die `.claude/settings.json` des Projekts eingecheckt werden, werden in einem nicht vertrauenswürdigen Ordner ignoriert, und der Server bleibt bei `⏸ Pending approval`, statt verbunden und auf seinen Zustand geprüft zu werden.262`claude mcp list` und `claude mcp get` lesen `.mcp.json`-Genehmigungen nur aus Einstellungsdateien, die nicht im Repository eingecheckt sind, bis Sie dem Workspace vertrauen, indem Sie `claude` darin ausführen und den Vertrauensdialog für den Workspace akzeptieren. Ein geklontes Repository kann seine eigenen Server nicht genehmigen: [`enableAllProjectMcpServers`](https://code.claude.com/docs/de/settings-reference#enableallprojectmcpservers) oder [`enabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#enabledmcpjsonservers), die in der `.claude/settings.json` des Projekts committet sind, werden in einem nicht vertrauenswürdigen Ordner ignoriert, und der Server bleibt bei `⏸ Pending approval`, statt verbunden und auf Integrität geprüft zu werden.

263 263 

264Genehmigungen aus diesen Quellen gelten weiterhin in einem nicht vertrauenswürdigen Ordner:264Genehmigungen aus diesen Quellen gelten auch in einem nicht vertrauenswürdigen Ordner:

265 265 

266* Ihre Benutzer-`~/.claude/settings.json`266* Ihre Benutzerdatei `~/.claude/settings.json`

267* verwaltete Einstellungen267* verwaltete Einstellungen

268* Einstellungen, die mit `--settings` übergeben werden268* mit `--settings` übergebene Einstellungen

269 269 

270Claude Code wendet auch Genehmigungen aus einer nicht verfolgten `.claude/settings.local.json` an, aber es führt git aus, um zu überprüfen, ob die Datei verfolgt wird, und führt diese Überprüfung nur in einem [vertrauenswürdigen Ordner](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust) durch. In einem Ordner, dem Sie noch nie vertraut haben, wartet Claude Code auf den Vertrauensdialog, bevor die Genehmigungen der Datei angewendet werden, es sei denn, der Ordner ist Ihr eigenes Konfigurationsheim: Ihr Home-Verzeichnis oder ein Verzeichnis, dessen `.claude` Sie als [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars) gesetzt haben. Vor v2.1.207 wendete Claude Code Genehmigungen aus einer nicht verfolgten `.claude/settings.local.json` auch in einem Ordner an, dem Sie noch nie vertraut hatten.270Claude Code wendet auch Genehmigungen aus einer nicht versionierten `.claude/settings.local.json` an, führt aber git aus, um zu prüfen, ob die Datei versioniert ist, und führt diese Prüfung nur in einem [vertrauenswürdigen Ordner](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust) aus. In einem Ordner, dem Sie nie vertraut haben, wartet Claude Code auf den Vertrauensdialog, bevor es die Genehmigungen der Datei anwendet, es sei denn, der Ordner ist Ihr eigenes Konfigurationsverzeichnis: Ihr Home-Verzeichnis oder ein Verzeichnis, dessen `.claude` Sie als [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars) festgelegt haben. Vor v2.1.207 wendete Claude Code Genehmigungen aus einer nicht versionierten `.claude/settings.local.json` auch in einem Ordner an, dem Sie nie vertraut hatten.

271 271 

272Ein `disabledMcpjsonServers`-Eintrag in einer beliebigen Einstellungsdatei lehnt den Server weiterhin ab.272Ein `disabledMcpjsonServers`-Eintrag in einer beliebigen Einstellungsdatei lehnt den Server weiterhin ab.

273 273 

274#### Serverstatus-Detail274#### Details zum Serverstatus

275 275 

276In `/mcp`, einschließlich des Menüs eines Servers dort, und im [`/plugin`](https://code.claude.com/docs/de/plugins/install)-Manager kann ein Remote-HTTP- oder SSE-Server, den Sie zuvor verwendet haben, einen `cached`-Status wie `cached 2h ago · connects on first use · 5 tools` anzeigen. Claude Code hat die Werkzeugliste des Servers aus seinem Erkennungs-Cache geladen, der in einer vorherigen Sitzung gespeichert wurde, anstatt beim Start zu verbinden, und Claude Code verbindet den Server das erste Mal, wenn Claude eines der Werkzeuge des Servers aufruft. Die Werkzeuge sind ab Ihrer ersten Nachricht verfügbar, daher müssen Sie nichts tun. Der Erkennungs-Cache und sein `cached`-Status erfordern Claude Code v2.1.221 oder später.276In `/mcp`, einschließlich des dortigen Menüs eines Servers, und im [`/plugin`](https://code.claude.com/docs/de/plugins/install)-Manager kann ein Remote-HTTP- oder SSE-Server, den Sie bereits verwendet haben, einen `cached`-Status wie `cached 2h ago · connects on first use · 5 tools` anzeigen. Claude Code hat die Tool-Liste des Servers aus seinem Discovery-Cache geladen, der in einer früheren Sitzung gespeichert wurde, statt sich beim Start zu verbinden, und Claude Code verbindet den Server, wenn Claude zum ersten Mal eines der Tools des Servers aufruft. Die Tools sind ab Ihrer ersten Nachricht verfügbar, Sie müssen also nichts tun. Der Discovery-Cache und sein `cached`-Status erfordern Claude Code v2.1.221 oder höher.

277 277 

278Der Erkennungs-Cache ist standardmäßig deaktiviert, es sei denn, ein schrittweiser Rollout hat ihn für Ihr Konto aktiviert. Setzen Sie [`MCP_DISCOVERY_CACHE=1`](https://code.claude.com/docs/de/env-vars), um ihn einzuschalten, oder `0`, um ihn deaktiviert zu halten, auch wenn der Rollout ihn aktiviert hat. Vor v2.1.238 war der Cache standardmäßig aktiviert.278Der Discovery-Cache ist standardmäßig deaktiviert, sofern ihn kein schrittweiser Rollout für Ihr Konto aktiviert hat. Setzen Sie [`MCP_DISCOVERY_CACHE=1`](https://code.claude.com/docs/de/env-vars), um ihn einzuschalten, oder `0`, um ihn auch dann ausgeschaltet zu lassen, wenn der Rollout ihn aktiviert hat. Vor v2.1.238 war der Cache standardmäßig aktiviert.

279 279 

280Wenn Sie **Disable** oder **Clear authentication** aus dem Menü eines Servers in `/mcp` auswählen, verwirft Claude Code auch den Cache-Eintrag dieses Servers. **Reconnect** verwirft ihn auch auf einem verbundenen oder fehlgeschlagenen Server; auf einem `cached`-Server verbindet **Reconnect** den Server jetzt und behält den Eintrag. Das nächste Mal, wenn Claude Code sich mit dem Server verbindet, nachdem der Eintrag verworfen wurde, ruft es die Werkzeugliste vom Server ab, anstatt sie aus dem Cache zu holen.280Wenn Sie im Menü eines Servers in `/mcp` **Disable** oder **Clear authentication** auswählen, verwirft Claude Code auch den Cache-Eintrag dieses Servers. **Reconnect** verwirft ihn ebenfalls bei einem verbundenen oder fehlgeschlagenen Server; bei einem `cached`-Server verbindet **Reconnect** den Server sofort und behält den Eintrag. Wenn Claude Code sich nach dem Verwerfen des Eintrags das nächste Mal mit dem Server verbindet, ruft es die Tool-Liste vom Server statt aus dem Cache ab.

281 281 

282##### Verbindungsfehler und nicht konfigurierte Server282##### Verbindungsfehler und nicht konfigurierte Server

283 283 

284Wenn der Status eines Servers `✘ Failed to connect` lautet, hängt `claude mcp list` die Fehlerdetails an diese Statuszeile an, und `claude mcp get <name>` zeigt sie in einer Zeile `Issue:` an. Die Details sind der HTTP-Status oder Fehlercode sowie jeglicher Fehlertext, den der Server zurückgegeben hat. Die Detailansicht des Servers in `/mcp` enthält denselben vom Server gemeldeten Text in ihrer Zeile `Issue:`.284Wenn der Status eines Servers `✘ Failed to connect` lautet, hängt `claude mcp list` die Fehlerdetails an diese Statuszeile an, und `claude mcp get <name>` zeigt sie in einer `Issue:`-Zeile an. Die Details bestehen aus dem HTTP-Status oder Fehlercode sowie etwaigem Fehlertext, den der Server zurückgegeben hat. Die Detailansicht des Servers in `/mcp` enthält denselben vom Server gemeldeten Text in ihrer `Issue:`-Zeile.

285 285 

286Claude Code entfernt anmeldedatenähnlichen Text aus diesen Details und schließt nie die expandierte Server-URL ein, die Geheimnisse enthalten kann. An einen Status `✘ Connection error` hängt Claude Code keine Details an, da der Ausnahmetext, den es dort ausgeben würde, diese URL enthalten kann.286Claude Code schwärzt anmeldedatenähnlichen Text in diesen Details und fügt nie die expandierte Server-URL ein, die Geheimnisse enthalten kann. Claude Code hängt an einen `✘ Connection error`-Status keine Details an, weil der dort ausgegebene Ausnahmetext diese URL enthalten kann.

287 287 

288Wenn Sie die Authentifizierung von `/mcp` aus abschließen und die Verbindung immer noch mit einem HTTP-Status oder einem Transportfehlercode fehlschlägt, fügt Claude Code diesen Code und den Ursprung der Server-URL zur Meldung hinzu, die es nach dem Versuch ausgibt. Der Ursprung ist das Schema und der Host, plus der Port, wenn die URL einen nennt, wie `https://mcp.example.com`.288Wenn Sie die Authentifizierung über `/mcp` abschließen und die Verbindung trotzdem mit einem HTTP-Status oder einem Transportfehlercode fehlschlägt, fügt Claude Code diesen Code und den Ursprung der Server-URL in die Meldung ein, die es nach dem Versuch ausgibt. Der Ursprung besteht aus Schema und Host sowie dem Port, falls die URL einen angibt, etwa `https://mcp.example.com`.

289 289 

290* Der Pfad und die Abfrage erscheinen niemals in dieser Meldung.290* Pfad und Query erscheinen nie in dieser Meldung.

291* Für einen Server im lokalen, Projekt- oder Benutzer-[Bereich](#mcp-installation-scopes) oder in verwalteter MCP-Konfiguration zeigt der Ursprung den Host wie in dieser Konfiguration geschrieben, daher wird eine `${VAR}`-Referenz im Host in der Meldung nicht erweitert.291* Bei einem Server im lokalen, Projekt- oder Benutzer-[Geltungsbereich](#mcp-installation-scopes) oder in der verwalteten MCP-Konfiguration zeigt der Ursprung den Host so, wie er in dieser Konfiguration geschrieben ist, sodass eine `${VAR}`-Referenz im Host in der Meldung nicht expandiert wird.

292* Bei einem Fehler ohne Status oder Fehlercode zeigt Claude Code den Fehlertext ohne den Ursprung.292* Bei einem Fehler ohne Status oder Fehlercode zeigt Claude Code den Fehlertext ohne den Ursprung an.

293 293 

294Ein Remote-Server, dessen Konfiguration eine leere `url` hat, wird in `/mcp`, in `claude mcp list` und im [`/plugin`](https://code.claude.com/docs/de/plugins/install)-Manager als `not configured` angezeigt, und Claude Code versucht nicht, sich damit zu verbinden. Ein Plugin kann einen Platzhalter-Eintrag wie diesen für einen Connector enthalten, den Sie später konfigurieren, sodass Claude Code ihn nicht als Fehler oder Setup-Problem meldet. Die Detailansicht des Servers in `/mcp` zeigt `No URL configured for this server`; setzen Sie die `url` des Eintrags, um ihn zu verbinden.294Ein Remote-Server, dessen Konfiguration eine leere `url` hat, wird in `/mcp`, in `claude mcp list` und im [`/plugin`](https://code.claude.com/docs/de/plugins/install)-Manager als `not configured` angezeigt, und Claude Code versucht nicht, sich mit ihm zu verbinden. Ein Plugin kann einen solchen Platzhaltereintrag für einen Konnektor enthalten, den Sie später konfigurieren, sodass Claude Code ihn nicht als Fehler oder Einrichtungsproblem meldet. Die Detailansicht des Servers in `/mcp` lautet `No URL configured for this server`; setzen Sie die `url` des Eintrags, um ihn zu verbinden.

295 295 

296#### Konfigurationswarnungen296#### Konfigurationswarnungen

297 297 

298Claude Code warnt vor den folgenden Konfigurationsproblemen. Jeder Eintrag sagt, was Claude Code überprüft und wie die Warnung beseitigt wird:298Claude Code warnt vor den folgenden Konfigurationsproblemen. Jeder Eintrag beschreibt, was Claude Code prüft und wie Sie die Warnung beseitigen:

299 299 

300* **Versteckte Leerzeichen**: Claude Code warnt, wenn ein MCP-Konfigurationswert versteckte führende oder nachfolgende Leerzeichen trägt, die oft vom Einfügen eines Tokens mit einem nachfolgenden Zeilenumbruch stammen. Claude Code überprüft `command`, `url`, jeden `args`-Eintrag und die Werte und Schlüsselnamen unter `env` und `headers`. Claude Code zeigt die Warnung in der `claude mcp list`-Ausgabe und in `/mcp` an und nennt die betroffenen Felder, ohne ihre Werte auszugeben, zum Beispiel `Leading or trailing whitespace in: headers.Authorization`. Claude Code trimmt die Leerzeichen nicht und verwendet die Werte genau wie geschrieben, daher bearbeiten Sie die Konfiguration, um sie zu entfernen.300* **Versteckte Leerzeichen**: Claude Code warnt, wenn ein MCP-Konfigurationswert versteckte führende oder nachgestellte Leerzeichen enthält, was oft vom Einfügen eines Tokens mit einem nachgestellten Zeilenumbruch herrührt. Claude Code prüft `command`, `url`, jeden `args`-Eintrag sowie die Werte und Schlüsselnamen unter `env` und `headers`. Claude Code zeigt die Warnung in der Ausgabe von `claude mcp list` und in `/mcp` an und nennt die betroffenen Felder, ohne ihre Werte wiederzugeben, zum Beispiel `Leading or trailing whitespace in: headers.Authorization`. Claude Code entfernt die Leerzeichen nicht und verwendet die Werte genau wie geschrieben. Bearbeiten Sie daher die Konfiguration, um sie zu entfernen.

301* **Gleicher Name in mehr als einem Bereich**: Wenn Sie denselben Servernamen in mehr als einem [Bereich](#mcp-installation-scopes) mit verschiedenen Endpunkten definieren, warnt Claude Code vor dem Konflikt in der `claude mcp list`-Ausgabe und in `/mcp`. Claude Code speichert OAuth-Anmeldungen pro Endpunkt, daher müssen Sie sich, wenn Sie die Definition authentifizieren, die in einem Projekt geladen wird, in einem Projekt, in dem eine andere Definition geladen wird, immer noch separat anmelden. Behalten Sie den Endpunkt, den Sie möchten, und entfernen Sie die anderen mit `claude mcp remove <name> --scope <scope>`. In der Warnung zitiert Claude Code den Endpunkt jedes Bereichs wie in Ihrer Konfiguration geschrieben, mit [`${VAR}`-Referenzen](#environment-variable-expansion-in-mcp-json) nicht erweitert, daher zeigt es niemals einen aufgelösten Wert wie einen API-Schlüssel.301* **Gleicher Name in mehr als einem Geltungsbereich**: Wenn Sie denselben Servernamen in mehr als einem [Geltungsbereich](#mcp-installation-scopes) mit unterschiedlichen Endpunkten definieren, warnt Claude Code in der Ausgabe von `claude mcp list` und in `/mcp` vor dem Konflikt. Claude Code speichert OAuth-Anmeldungen pro Endpunkt. Wenn Sie also die Definition authentifizieren, die in einem Projekt geladen wird, müssen Sie sich in einem Projekt, in dem eine andere Definition geladen wird, dennoch separat anmelden. Behalten Sie den gewünschten Endpunkt und entfernen Sie die anderen mit `claude mcp remove <name> --scope <scope>`. In der Warnung zitiert Claude Code den Endpunkt jedes Geltungsbereichs so, wie er in Ihrer Konfiguration geschrieben ist, mit nicht expandierten [`${VAR}`-Referenzen](#environment-variable-expansion-in-mcp-json), sodass es nie einen aufgelösten Wert wie einen API-Schlüssel anzeigt.

302* **Reservierte Namen**: Claude Code reserviert die Namen seiner integrierten Server, einschließlich `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` und `Claude Browser`. Wenn Ihre Konfiguration einen Server mit einem reservierten Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen. `claude mcp add` lehnt einen reservierten Namen mit einem Fehler ab. `Claude Preview` und `Claude Browser` benennen beide den integrierten Server, den das [Vorschau-Panel der Claude Code Desktop-App](https://code.claude.com/docs/de/desktop.md#preview-your-app) verwendet.302* **Reservierte Namen**: Claude Code reserviert die Namen seiner integrierten Server, darunter `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` und `Claude Browser`. Wenn Ihre Konfiguration einen Server mit einem reservierten Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen. `claude mcp add` lehnt einen reservierten Namen mit einem Fehler ab. `Claude Preview` und `Claude Browser` bezeichnen beide den integrierten Server, den der [Vorschaubereich der Claude Code Desktop-App](https://code.claude.com/docs/de/desktop.md#preview-your-app) verwendet.

303* **Fehlende Umgebungsvariable**: Wenn eine [`${VAR}`-Referenz](#environment-variable-expansion-in-mcp-json) in der Konfiguration eines Servers eine Variable nennt, die nicht gesetzt ist und keinen `:-default` hat, warnt Claude Code in der `claude mcp list`-Ausgabe und in `/mcp`, nennt die Variable und lädt den Server immer noch mit dem `${VAR}`-Text nicht erweitert. Setzen Sie die Variable oder fügen Sie einen `${VAR:-default}`-Fallback hinzu. In der `url` und `headers` eines Remote-Servers lesen einige Anmeldungsvariablen stattdessen [als leer](#credential-variables-that-read-as-empty), ohne Warnung.303* **Fehlende Umgebungsvariable**: Wenn eine [`${VAR}`-Referenz](#environment-variable-expansion-in-mcp-json) in der Konfiguration eines Servers eine Variable nennt, die nicht gesetzt ist und keinen `:-default` hat, warnt Claude Code in der Ausgabe von `claude mcp list` und in `/mcp` unter Nennung der Variable und lädt den Server trotzdem mit dem nicht expandierten `${VAR}`-Text. Setzen Sie die Variable oder fügen Sie einen `${VAR:-default}`-Fallback hinzu. In `url` und `headers` eines Remote-Servers werden einige Anmeldedaten-Variablen stattdessen ohne Warnung [als leer gelesen](#credential-variables-that-read-as-empty).

304 304 

305#### Werkzeugverfügbarkeit305#### Verfügbarkeit von Tools

306 306 

307Das `/mcp`-Panel zeigt die Werkzeuganzahl neben jedem verbundenen Server und kennzeichnet Server, die die Werkzeugfähigkeit ankündigen, aber keine Werkzeuge bereitstellen.307Das `/mcp`-Panel zeigt neben jedem verbundenen Server die Anzahl der Tools an und kennzeichnet Server, die die Tools-Fähigkeit ankündigen, aber keine Tools bereitstellen.

308 308 

309##### Tool-Anzahlen in einer Cloud-Sitzung309##### Tool-Anzahlen in einer Cloud-Sitzung

310 310 

311In einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) bedeutet eine Anzahl wie `3 of 13 tools available`, dass Claude die anderen 10 nicht verwenden kann. Prüfen Sie unter anderem diese Ursachen:311In einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) bedeutet eine Anzeige wie `3 of 13 tools available`, dass Claude die anderen 10 nicht verwenden kann. Prüfen Sie unter anderem diese Ursachen:

312 312 

313* **Eine Deny-Regel in der `.claude/settings.json` Ihres Repositorys nennt das Tool oder seinen gesamten Server**: Entfernen Sie die [Regel](https://code.claude.com/docs/de/permissions.md#mcp), sofern [Ihre Sitzung diese Datei liest](https://code.claude.com/docs/de/settings.md#settings-in-cloud-sessions)313* **Eine Deny-Regel in der `.claude/settings.json` Ihres Repositorys nennt das Tool oder seinen gesamten Server**: Entfernen Sie die [Regel](https://code.claude.com/docs/de/permissions.md#mcp), sofern [Ihre Sitzung diese Datei liest](https://code.claude.com/docs/de/settings.md#settings-in-cloud-sessions)

314* **Der vollständige Name des Tools ist länger als 128 Zeichen**: Folgen Sie [den Schritten für einen zu langen Namen](https://code.claude.com/docs/de/errors.md#mcp-tool-name-over-128-characters)314* **Der vollständige Name des Tools ist länger als 128 Zeichen**: Folgen Sie [den Schritten für einen zu langen Namen](https://code.claude.com/docs/de/errors.md#mcp-tool-name-over-128-characters)

315* **Der Server listet das Tool für seine eigene Oberfläche und nicht für Claude**: Wenn Sie den Server pflegen, fügen Sie `model` zu `_meta.ui.visibility` des Tools hinzu, um Claude das Tool zu geben. Andernfalls gibt es nichts zu beheben.315* **Der Server listet das Tool für seine eigene Oberfläche und nicht für Claude auf**: Wenn Sie den Server pflegen, fügen Sie `model` zu `_meta.ui.visibility` des Tools hinzu, um Claude das Tool zu geben. Andernfalls gibt es nichts zu beheben.

316 316 

317##### Tools von einem Server, der sich noch verbindet317##### Tools von einem Server, der sich noch verbindet

318 318 

319Wenn Ihre Anfrage Werkzeuge von einem Server benötigt, der sich noch im Hintergrund verbindet, wartet Claude auf diesen Server, bevor er fortfährt. Wie das Warten geschieht, hängt von Ihrer Konfiguration ab:319Wenn Ihre Anfrage Tools von einem Server benötigt, der sich noch im Hintergrund verbindet, wartet Claude auf diesen Server, bevor es fortfährt. Wie das Warten abläuft, hängt von Ihrer Konfiguration ab:

320 320 

321* **Mit [Werkzeugsuche](#scale-with-mcp-tool-search), der Standard**: Das Warten geschieht innerhalb des `ToolSearch`-Aufrufs.321* **Mit [Tool-Suche](#scale-with-mcp-tool-search), der Standardeinstellung**: Das Warten findet innerhalb des `ToolSearch`-Aufrufs statt.

322* **Ohne Werkzeugsuche**: Claude verwendet stattdessen das `WaitForMcpServers`-Werkzeug. Konfigurationen ohne Werkzeugsuche umfassen `ENABLE_TOOL_SEARCH=false` und ein Modell, das älter als Claude Opus 4.5, Claude Sonnet 4.5 und Claude Haiku 4.5 ist, auf Google Clouds Agent Platform. Für ein `ANTHROPIC_BASE_URL`-Gateway siehe [Werkzeugsuche über ein LLM-Gateway](#tool-search-through-a-gateway).322* **Ohne Tool-Suche**: Claude verwendet stattdessen das Tool `WaitForMcpServers`. Zu den Konfigurationen ohne Tool-Suche gehören `ENABLE_TOOL_SEARCH=false` und ein Modell, das älter ist als Claude Opus 4.5, Claude Sonnet 4.5 und Claude Haiku 4.5, auf der Agent Platform von Google Cloud. Für ein `ANTHROPIC_BASE_URL`-Gateway siehe [Tool-Suche über ein LLM-Gateway](#tool-search-through-a-gateway).

323* **Bei einer Microsoft Foundry-[Bereitstellung auf Azure gehostet](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude startet auf dem Werkzeugsuche-Pfad statt mit `WaitForMcpServers`, da Claude Code die serverseitige Ablehnung der Bereitstellung nur von der API entdeckt. Nachdem Claude Code diese Bereitstellung auf [vorausgehendes Laden](#scale-with-mcp-tool-search) umschaltet, werden Werkzeuge von einem Server, der seinen Verbindungsaufbau abschließt, bei Claudes nächster Anfrage verfügbar.323* **Bei einem Microsoft Foundry-[Deployment, das auf Azure gehostet wird](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude startet auf dem Tool-Suche-Pfad statt mit `WaitForMcpServers`, da Claude Code die serverseitige Ablehnung des Deployments erst über die API feststellt. Nachdem Claude Code dieses Deployment auf [vorab geladene Tools](#scale-with-mcp-tool-search) umgestellt hat, werden Tools von einem Server, der seine Verbindung abschließt, bei Claudes nächster Anfrage verfügbar.

324 324 

325Mit aktivierter Werkzeugsuche, wenn ein Server seinen Verbindungsaufbau abschließt, während Claude arbeitet, listet Claude Code die Werkzeugnamen des Servers bei Claudes nächster Anfrage im selben Turn auf. Claude kann dann diese Werkzeuge suchen und aufrufen, ohne auf Ihre nächste Nachricht zu warten.325Wenn die Tool-Suche aktiviert ist und ein Server seine Verbindung abschließt, während Claude arbeitet, listet Claude Code Claude die Tool-Namen des Servers bei seiner nächsten Anfrage im selben Turn auf. Claude kann diese Tools dann suchen und aufrufen, ohne auf Ihre nächste Nachricht zu warten.

326 326 

327Nachdem Sie eine Sitzung fortgesetzt haben, kann Claude ein Tool aus der gespeicherten Konversation aufrufen, während der MCP-Server des Tools noch eine Verbindung herstellt. Während der Server seinen ersten Verbindungsversuch unternimmt, hält Claude Code den Aufruf bis zu 10 Sekunden zurück und führt ihn aus, sobald das Tool verfügbar ist. Wenn der Server nicht rechtzeitig eine Verbindung herstellt oder es bereits [nach einem fehlgeschlagenen Versuch erneut versucht](#automatic-reconnection), schlägt der Aufruf mit dem [Tool-Fehler](https://code.claude.com/docs/de/errors.md#no-such-tool-available) `No such tool available` fehl.327Nachdem Sie eine Sitzung fortgesetzt haben, kann Claude ein Tool aus der gespeicherten Konversation aufrufen, während sich der MCP-Server des Tools noch verbindet. Solange sich der Server im ersten Verbindungsversuch befindet, hält Claude Code den Aufruf bis zu 10 Sekunden zurück und führt ihn aus, sobald das Tool verfügbar ist. Wenn sich der Server nicht rechtzeitig verbindet oder bereits [nach einem fehlgeschlagenen Versuch erneut versucht](#automatic-reconnection), schlägt der Aufruf mit dem [Tool-Fehler](https://code.claude.com/docs/de/errors.md#no-such-tool-available) `No such tool available` fehl.

328 328 

329### Einen Server deaktivieren, ohne ihn zu entfernen329### Einen Server deaktivieren, ohne ihn zu entfernen

330 330 

331Schalten Sie einen Server im `/mcp`-Panel aus, um Claude Code daran zu hindern, sich damit zu verbinden, ohne seine Konfiguration zu verlieren. Claude Code listet den Server immer noch in `/mcp` auf, gekennzeichnet als deaktiviert.331Schalten Sie einen Server im `/mcp`-Panel aus, damit Claude Code sich nicht mehr mit ihm verbindet, ohne dass seine Konfiguration verloren geht. Claude Code listet den Server weiterhin in `/mcp` auf, als deaktiviert gekennzeichnet.

332 332 

333Wenn Sie einen Server umschalten, zeichnet Claude Code Ihre Wahl pro Projekt in `~/.claude.json` in einer von zwei Listen auf, die disjunkte Sätze von Servern abdecken:333Wenn Sie einen Server umschalten, speichert Claude Code Ihre Wahl pro Projekt in `~/.claude.json`, in einer von zwei Listen, die disjunkte Mengen von Servern abdecken:

334 334 

335* `disabledMcpServers`: eine Opt-out-Liste für benutzerkonfigurierte Server, Plugin-Server, Server, die Ihre Organisation [durch verwaltete Einstellungen bereitstellt](https://code.claude.com/docs/de/managed-mcp.md#provide-servers-through-managed-settings), die claude.ai-Connectoren, die Claude Code [selbst abruft](#how-connectors-reach-claude-code), und integrierte Server, die standardmäßig aktiviert sind. Claude Code verbindet sich nicht mit einem Server, den Sie hier auflisten. Wenn Sie einen claude.ai-Connector mit dem pro-Projekt-`/mcp`-Umschalter deaktivieren, der in [claude.ai-Connectoren deaktivieren](#disable-claude-ai-connectors) beschrieben ist, schreibt Claude Code ihn unter seinem Anzeigenamen in diese Liste, zum Beispiel `claude.ai Slack`.335* `disabledMcpServers`: eine Opt-out-Liste für benutzerkonfigurierte Server, Plugin-Server, Server, die Ihre Organisation [über verwaltete Einstellungen bereitstellt](https://code.claude.com/docs/de/managed-mcp.md#provide-servers-through-managed-settings), die claude.ai-Konnektoren, die Claude Code [selbst abruft](#how-connectors-reach-claude-code), sowie integrierte Server, die standardmäßig eingeschaltet sind. Claude Code verbindet sich nicht mit einem Server, den Sie hier aufführen. Wenn Sie einen claude.ai-Konnektor mit dem projektbezogenen `/mcp`-Schalter deaktivieren, der unter [claude.ai-Konnektoren deaktivieren](#disable-claude-ai-connectors) beschrieben ist, schreibt Claude Code ihn unter seinem Anzeigenamen in diese Liste, zum Beispiel `claude.ai Slack`.

336* `enabledMcpServers`: eine Opt-in-Liste für integrierte Server, die standardmäßig deaktiviert sind, wie `computer-use`. Claude Code verbindet sich mit einem standardmäßig deaktivierten Server nur, wenn Sie ihn hier auflisten.336* `enabledMcpServers`: eine Opt-in-Liste für integrierte Server, die standardmäßig ausgeschaltet sind, etwa `computer-use`. Claude Code verbindet sich mit einem standardmäßig ausgeschalteten Server nur, wenn Sie ihn hier aufführen.

337 337 

338Claude Code konsultiert genau eine der beiden Listen für jeden Server, daher überschreibt keine Liste die andere. Wenn Sie einen regulären Server zu `enabledMcpServers` hinzufügen oder einen standardmäßig deaktivierten integrierten Server zu `disabledMcpServers`, ignoriert Claude Code den Eintrag.338Claude Code berücksichtigt für jeden Server genau eine der beiden Listen, sodass keine Liste die andere überschreibt. Wenn Sie einen regulären Server zu `enabledMcpServers` oder einen standardmäßig ausgeschalteten integrierten Server zu `disabledMcpServers` hinzufügen, ignoriert Claude Code den Eintrag.

339 339 

340`disabledMcpServers` und `enabledMcpServers` sind nicht verwandt mit [`enabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#enabledmcpjsonservers) und [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers), die die Genehmigung von Servern steuern, die in der `.mcp.json`-Datei eines Projekts definiert sind.340`disabledMcpServers` und `enabledMcpServers` haben nichts mit [`enabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#enabledmcpjsonservers) und [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers) zu tun, die die Genehmigung von Servern steuern, die in der `.mcp.json`-Datei eines Projekts definiert sind.

341 341 

342### MCP-Client-Runtimes342### MCP-Client-Laufzeitumgebungen

343 343 

344Claude Code verbindet sich mit MCP-Servern über eine von zwei Client-Runtimes. Die v1-Runtime basiert auf MCP TypeScript SDK 1.x. Die v2-Runtime ist derselbe Code auf [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), das MCP-Protokollrevision 2026-07-28 hinzufügt. Der Rest dieser Seite gilt für beide Runtimes, außer wo ein Abschnitt die v2-Runtime nennt.344Claude Code verbindet sich über eine von zwei Client-Laufzeitumgebungen mit MCP-Servern. Die v1-Laufzeitumgebung basiert auf dem MCP TypeScript SDK 1.x. Die v2-Laufzeitumgebung ist derselbe Code auf dem [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), das die MCP-Protokollrevision 2026-07-28 hinzufügt. Der Rest dieser Seite gilt für beide Laufzeitumgebungen, außer wo ein Abschnitt die v2-Laufzeitumgebung nennt.

345 345 

346Claude Code wählt jedes Mal, wenn Sie es starten, eine Runtime aus und behält sie bis zum Beenden. In Sitzungen, in denen es [Feature-Flags abruft](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), verwendet es die v2-Runtime auf Claude Code v2.1.232 oder später.346Claude Code wählt bei jedem Start eine Laufzeitumgebung und behält sie bis zum Beenden bei. In Sitzungen, in denen es [Feature-Flags abruft](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), verwendet es ab Claude Code v2.1.232 die v2-Laufzeitumgebung.

347 347 

348In den Sitzungen, in denen es keine Feature-Flags abruft, verwendet Claude Code die v2-Runtime standardmäßig auf Claude Code v2.1.274 oder später:348In den Sitzungen, in denen es keine Feature-Flags abruft, verwendet Claude Code ab Claude Code v2.1.274 standardmäßig die v2-Laufzeitumgebung:

349 349 

350* Sitzungen auf Amazon Bedrock, Claude Platform auf AWS, Google Clouds Agent Platform oder Microsoft Foundry, es sei denn, eine Host-Plattform, die Claude Code einbettet, setzt [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/de/env-vars)350* Sitzungen auf Amazon Bedrock, Claude Platform on AWS, der Agent Platform von Google Cloud oder Microsoft Foundry, sofern nicht eine Host-Plattform, die Claude Code einbettet, [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/de/env-vars) setzt

351* Sitzungen, die sich über ein [Claude-Apps-Gateway](https://code.claude.com/docs/de/claude-apps-gateway) anmelden351* Sitzungen, die über ein [Claude Apps Gateway](https://code.claude.com/docs/de/claude-apps-gateway) angemeldet sind

352* Sitzungen, in denen Sie Telemetrie oder Feature-Flag-Abruf deaktivieren, zum Beispiel mit `DISABLE_TELEMETRY`352* Sitzungen, in denen Sie Telemetrie oder das Abrufen von Feature-Flags ausschalten, zum Beispiel mit `DISABLE_TELEMETRY`

353 353 

354Auf v2 gilt außerdem für Claude Code:354Unter v2 verhält sich Claude Code außerdem wie folgt:

355 355 

356* Es fragt HTTP-, Stdio- und claude.ai-Konnektor-Server, ob sie die neuere Revision unterstützen, und verwendet sie mit denen, die dies tun. Dazu gehören die Konnektoren von Cloud- und [Remote Control](https://code.claude.com/docs/de/remote-control.md)-Sitzungen. Es verbindet sich mit jedem anderen Server wie v1.356* Es fragt HTTP-, stdio- und claude.ai-Konnektor-Server, ob sie die neuere Revision unterstützen, und verwendet sie mit den Servern, die dies tun. Dazu gehören die Konnektoren von Cloud- und [Remote Control](https://code.claude.com/docs/de/remote-control.md)-Sitzungen. Mit allen anderen Servern verbindet sich Claude Code wie unter v1.

357* Es empfängt `list_changed`-Benachrichtigungen von Servern auf der neueren Revision über einen [Stream, den es offen hält](#notification-streams-on-the-v2-runtime).357* Es empfängt `list_changed`-Benachrichtigungen von Servern mit der neueren Revision über einen [Stream, den es offen hält](#notification-streams-on-the-v2-runtime).

358* Es registriert keinen [Channel](#push-messages-with-channels)-Server, der sich auf der neueren Revision verbindet, da diese Revision keine Channel-Nachrichten tragen kann.358* Es registriert keinen [Channel](#push-messages-with-channels)-Server, der sich mit der neueren Revision verbindet, da diese Revision keine Channel-Nachrichten übertragen kann.

359* Es lässt eine [MCP-OAuth-Anmeldung](#authenticate-with-remote-mcp-servers) fehlschlagen, deren Autorisierungsantwort einen unerwarteten Aussteller nennt.359* Es lässt eine [MCP-OAuth-Anmeldung](#authenticate-with-remote-mcp-servers) fehlschlagen, deren Autorisierungsantwort einen unerwarteten Aussteller nennt.

360* Es sendet [MCP-OAuth](#authenticate-with-remote-mcp-servers)-Anmeldedaten nur an einen Token-Endpunkt, der über HTTPS oder bei `localhost`, `127.0.0.1` oder `::1` bereitgestellt wird. Die Anmeldung schlägt für einen Server fehl, dessen Token-Endpunkt einfaches `http://` irgendwo anders ist, wie ein Gerät in Ihrem lokalen Netzwerk. Siehe [Refusing to send credentials to non-https token endpoint](https://code.claude.com/docs/de/errors.md#refusing-to-send-credentials-to-non-https-token-endpoint).360* Es sendet [MCP-OAuth](#authenticate-with-remote-mcp-servers)-Anmeldedaten nur an einen Token-Endpunkt, der über HTTPS oder unter `localhost`, `127.0.0.1` oder `::1` bereitgestellt wird. Die Anmeldung schlägt bei einem Server fehl, dessen Token-Endpunkt an anderer Stelle einfaches `http://` ist, etwa ein Gerät in Ihrem lokalen Netzwerk. Siehe [Refusing to send credentials to non-https token endpoint](https://code.claude.com/docs/de/errors.md#refusing-to-send-credentials-to-non-https-token-endpoint).

361 361 

362Anthropic kann einen bestimmten Server mit einem Feature-Flag, das Claude Code abruft, beim früheren Protokoll oder außerhalb dieses Streams halten. Um die Laufzeit selbst zu wählen, setzen Sie [`MCP_SDK_GENERATION`](https://code.claude.com/docs/de/env-vars) auf `v1` oder `v2`.362Anthropic kann einen bestimmten Server mit einem Feature-Flag, das Claude Code abruft, beim früheren Protokoll oder außerhalb dieses Streams halten. Um die Laufzeitumgebung selbst zu wählen, setzen Sie [`MCP_SDK_GENERATION`](https://code.claude.com/docs/de/env-vars) auf `v1` oder `v2`.

363 363 

364Um festzulegen, ob Claude Code Server nach der neueren Revision fragt, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](https://code.claude.com/docs/de/env-vars) auf `auto` oder `legacy`. Wenn diese Variable nicht gesetzt ist, kann Claude Code die Abfrage bei einem stdio-Server 7 Tage lang überspringen, zum Beispiel nachdem sich der Server bei der Abfrage beendet hat. Damit ein aktualisierter Server früher gefragt wird, setzen Sie `auto`.364Um festzulegen, ob Claude Code Server nach der neueren Revision fragt, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](https://code.claude.com/docs/de/env-vars) auf `auto` oder `legacy`. Ist diese Variable nicht gesetzt, kann Claude Code die Nachfrage bei einem stdio-Server für 7 Tage überspringen, zum Beispiel nachdem sich der Server bei der Nachfrage beendet hat. Damit ein aktualisierter Server früher gefragt wird, setzen Sie `auto`.

365 365 

366### Dynamische Werkzeugaktualisierungen366### Dynamische Tool-Aktualisierungen

367 367 

368Ein MCP-Server kann die Tools, Prompts oder Ressourcen, die er anbietet, während der Verbindung ändern und eine `list_changed`-Benachrichtigung senden. Wenn eine solche Benachrichtigung eintrifft:368Ein MCP-Server kann die angebotenen Tools, Prompts oder Ressourcen ändern, während er verbunden ist, und eine `list_changed`-Benachrichtigung senden. Wenn eine solche eintrifft:

369 369 

370* **In einer interaktiven Terminal-Sitzung** ruft Claude Code die aktualisierte Liste von diesem Server ab, sodass Sie ihn nicht erneut verbinden müssen.370* **In einer interaktiven Terminal-Sitzung** ruft Claude Code die aktualisierte Liste von diesem Server ab, sodass Sie ihn nicht neu verbinden müssen.

371* **Im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md) mit dem Flag `-p` und im [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)** aktualisiert Claude Code bei diesen Benachrichtigungen nur die Tool-Liste.371* **Im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md) mit dem Flag `-p` und im [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)** aktualisiert Claude Code bei diesen Benachrichtigungen nur die Tool-Liste.

372 372 

373Wenn eine Aktualisierungsanfrage fehlschlägt, behält Claude Code die zuvor entdeckten Werkzeuge, Prompts und Ressourcen des Servers, bis eine spätere Aktualisierung erfolgreich ist.373Wenn eine Aktualisierungsanfrage fehlschlägt, behält Claude Code die zuvor ermittelten Tools, Prompts und Ressourcen des Servers bei, bis eine spätere Aktualisierung erfolgreich ist.

374 374 

375#### Benachrichtigungsströme auf der v2-Runtime375#### Benachrichtigungs-Streams in der v2-Laufzeitumgebung

376 376 

377Auf der [v2-Runtime](#mcp-client-runtimes) empfängt Claude Code `list_changed`-Benachrichtigungen von einem Server auf der neueren Protokollrevision über einen Stream, den es offen hält. Wenn der Stream schließt, öffnet Claude Code ihn erneut, mit zwei Grenzen:377In der [v2-Laufzeitumgebung](#mcp-client-runtimes) empfängt Claude Code `list_changed`-Benachrichtigungen von einem Server mit der neueren Protokollrevision über einen Stream, den es offen hält. Wenn der Stream geschlossen wird, öffnet Claude Code ihn erneut, mit zwei Einschränkungen:

378 378 

379* **Der Stream schließt innerhalb von 10 Sekunden erneut**: Claude Code öffnet ihn bis zu dreimal erneut, dann stoppt es für diese Verbindung.379* **Der Stream schließt sich innerhalb von 10 Sekunden erneut**: Claude Code öffnet ihn bis zu dreimal erneut und hört dann für diese Verbindung auf.

380* **Der Stream bleibt länger als 10 Sekunden offen und schließt dann**, wie es Streams zu serverlosen Hosts häufig tun: Nach fünf Wiederöffnungen in einer Stunde wartet Claude Code etwa sechs Stunden vor der nächsten.380* **Der Stream bleibt länger als 10 Sekunden offen und schließt sich dann**, wie es bei Streams zu Serverless-Hosts häufig der Fall ist: Nach fünf erneuten Öffnungen innerhalb einer Stunde wartet Claude Code etwa sechs Stunden bis zur nächsten.

381 381 

382Bis der Stream erneut öffnet, behalten Sie die zuletzt abgerufenen Werkzeuge, Prompts und Ressourcen des Servers. Um seine Änderungen schneller zu erkennen, verbinden Sie den Server von `/mcp` erneut.382Bis der Stream wieder geöffnet wird, behalten Sie die zuletzt abgerufenen Tools, Prompts und Ressourcen des Servers. Um seine Änderungen früher zu übernehmen, verbinden Sie den Server über `/mcp` neu.

383 383 

384### Automatische Wiederverbindung384### Automatische Wiederverbindung

385 385 

386Claude Code verbindet einen Remote-Server erneut, der während einer Sitzung abbricht, und versucht die erste Verbindung eines HTTP- oder SSE-Servers nach einem vorübergehenden Fehler erneut. Für einen Stdio-Server siehe [Stdio-Server, die beendet werden oder nicht starten](#stdio-servers-that-exit-or-fail-to-start).386Claude Code verbindet einen Remote-Server, dessen Verbindung während der Sitzung abbricht, erneut und versucht den ersten Verbindungsaufbau eines HTTP- oder SSE-Servers nach einem vorübergehenden Fehler erneut. Für einen stdio-Server siehe [Stdio-Server, die sich beenden oder nicht starten](#stdio-servers-that-exit-or-fail-to-start).

387 387 

388#### Mitten in der Sitzung abbrechende Remote-Server388#### Verbindungsabbrüche eines Remote-Servers während der Sitzung

389 389 

390Claude Code versucht zunächst, einen abgebrochenen Remote-Server bis zu fünfmal mit exponentiellem Backoff erneut zu verbinden, beginnend mit einer Verzögerung von einer Sekunde, die sich jedes Mal verdoppelt:390Claude Code versucht zunächst bis zu fünfmal, einen abgebrochenen Remote-Server mit exponentiellem Backoff neu zu verbinden, beginnend mit einer Verzögerung von einer Sekunde, die sich jedes Mal verdoppelt:

391 391 

392* **In einer interaktiven Sitzung**: `/mcp` zeigt den Server als ausstehend an, während Claude Code erneut verbindet. Nach fünf fehlgeschlagenen Versuchen markiert Claude Code den Server als fehlgeschlagen oder als Authentifizierung erforderlich, wenn der Server erneut autorisiert werden muss. Wenn es den Server als fehlgeschlagen markiert, sehen Sie eine `MCP server "<name>" disconnected · open /mcp to reconnect`-Benachrichtigung. Sie können es manuell von `/mcp` aus erneut versuchen.392* **In einer interaktiven Sitzung**: `/mcp` zeigt den Server als ausstehend an, während Claude Code die Verbindung wiederherstellt. Nach fünf fehlgeschlagenen Versuchen markiert Claude Code den Server als fehlgeschlagen oder als authentifizierungsbedürftig, wenn der Server eine erneute Autorisierung benötigt. Wenn es den Server als fehlgeschlagen markiert, sehen Sie eine Benachrichtigung `MCP server "<name>" disconnected · open /mcp to reconnect`. Sie können es über `/mcp` manuell erneut versuchen.

393* **In [`claude -p`](https://code.claude.com/docs/de/headless)-Läufen und [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Sitzungen**: Claude Code unternimmt dieselben fünf Versuche, ohne `/mcp`-Panel, um sie anzuzeigen. Wenn alle fünf fehlschlagen, läuft der Lauf ohne die Tools des Servers weiter:393* **Bei [`claude -p`](https://code.claude.com/docs/de/headless)-Ausführungen und [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Sitzungen**: Claude Code unternimmt dieselben fünf Versuche, ohne ein `/mcp`-Panel, das sie anzeigt. Wenn alle fünf fehlschlagen, läuft die Ausführung ohne die Tools des Servers weiter:

394 * **Nach einem vorübergehenden Fehler, etwa einer 5xx-Antwort oder einem Timeout**: Claude Code versucht es bei einem HTTP- oder SSE-Server im Hintergrund weiter. Die Wiederholungsversuche dauern bis zu etwa einer halben Stunde, und die Tools des Servers werden wieder verfügbar, wenn einer davon eine Verbindung herstellt. Bis dahin meldet eine Agent SDK-Sitzung den [Status](https://code.claude.com/docs/de/agent-sdk/mcp.md#error-handling) `failed`, und Ihr Code kann [den Server erneut verbinden](https://code.claude.com/docs/de/agent-sdk/mcp.md#error-handling). Um ihn in `claude -p` erneut zu verbinden, starten Sie den Lauf neu.394 * **Nach einem vorübergehenden Fehler, etwa einer 5xx-Antwort oder einer Zeitüberschreitung**: Claude Code versucht einen HTTP- oder SSE-Server im Hintergrund weiterhin erneut. Die Wiederholungsversuche dauern bis zu etwa einer halben Stunde, und die Tools des Servers werden wieder verfügbar, wenn einer davon eine Verbindung herstellt. Bis dahin meldet eine Agent SDK-Sitzung den [Status](https://code.claude.com/docs/de/agent-sdk/mcp.md#error-handling) `failed`, und Ihr Code kann [den Server neu verbinden](https://code.claude.com/docs/de/agent-sdk/mcp.md#error-handling). Um ihn in `claude -p` neu zu verbinden, starten Sie die Ausführung erneut.

395 * **Wenn der Server [eine erneute Anmeldung von Ihnen erfordert](#authenticate-with-remote-mcp-servers)**: Claude Code beendet die Wiederholungsversuche, und eine Agent SDK-Sitzung meldet den Status des Servers als `needs-auth`. Melden Sie sich in Ihrer Shell mit [`claude mcp login <name>`](#authenticate-from-the-command-line) an. Starten Sie dann den Lauf neu oder [verbinden Sie den Server](https://code.claude.com/docs/de/agent-sdk/mcp.md#error-handling) in einer Agent SDK-Sitzung stattdessen erneut.395 * **Wenn der Server [eine erneute Anmeldung erfordert](#authenticate-with-remote-mcp-servers)**: Claude Code stellt die Wiederholungsversuche ein, und eine Agent SDK-Sitzung meldet den Status des Servers als `needs-auth`. Melden Sie sich mit [`claude mcp login <name>`](#authenticate-from-the-command-line) in Ihrer Shell an. Starten Sie dann die Ausführung erneut oder [verbinden Sie den Server](https://code.claude.com/docs/de/agent-sdk/mcp.md#error-handling) in einer Agent SDK-Sitzung stattdessen neu.

396 396 

397#### Fehlgeschlagene erste Verbindungen397#### Fehlgeschlagene erste Verbindungen

398 398 

399Wenn die erste Verbindung eines HTTP- oder SSE-Servers mit einem vorübergehenden Fehler fehlschlägt, wie einer 5xx-Antwort, einer verweigerten Verbindung oder einem Timeout, versucht Claude Code es bis zu dreimal erneut. Wenn die Verbindung immer noch fehlschlägt, markiert Claude Code den Server als fehlgeschlagen.399Wenn der erste Verbindungsaufbau eines HTTP- oder SSE-Servers mit einem vorübergehenden Fehler fehlschlägt, etwa einer 5xx-Antwort, einer abgelehnten Verbindung oder einer Zeitüberschreitung, versucht Claude Code es bis zu dreimal erneut. Wenn die Verbindung weiterhin fehlschlägt, markiert Claude Code den Server als fehlgeschlagen.

400 400 

401Diese Wiederholungsversuche gelten in folgenden Fällen nicht:401Diese Wiederholungsversuche gelten in folgenden Fällen nicht:

402 402 

403* Die erste Verbindung eines Stdio-Servers. Um es erneut zu versuchen, siehe [Stdio-Server, die beendet werden oder nicht starten](#stdio-servers-that-exit-or-fail-to-start)403* Der erste Verbindungsaufbau eines stdio-Servers. Um es erneut zu versuchen, siehe [Stdio-Server, die sich beenden oder nicht starten](#stdio-servers-that-exit-or-fail-to-start)

404* Die erste Verbindung eines WebSocket-Servers. Um es in einer interaktiven Terminal-Sitzung erneut zu versuchen, wählen Sie im Menü des Servers in `/mcp` **Reconnect** aus404* Der erste Verbindungsaufbau eines WebSocket-Servers. Um es in einer interaktiven Terminal-Sitzung erneut zu versuchen, wählen Sie im Menü des Servers in `/mcp` die Option **Reconnect**

405* Ein Authentifizierungs- oder Not-Found-Fehler, da er eine Konfigurationsänderung erfordert, um ihn zu beheben. Wenn ein [`headersHelper`](#use-dynamic-headers-for-custom-authentication) die einzige Quelle des `Authorization`-Headers des Servers ist, versucht Claude Code einen Authentifizierungsfehler trotzdem erneut, da es den Helper bei jedem Versuch erneut ausführt und frische Anmeldedaten abholen kann405* Ein Authentifizierungs- oder Not-found-Fehler, da zur Behebung eine Konfigurationsänderung nötig ist. Wenn ein [`headersHelper`](#use-dynamic-headers-for-custom-authentication) die einzige Quelle des `Authorization`-Headers des Servers ist, versucht Claude Code einen Authentifizierungsfehler trotzdem erneut, da es den Helper bei jedem Versuch neu ausführt und so neue Anmeldedaten erhalten kann

406 406 

407#### Stdio-Server, die beendet werden oder nicht starten407#### Stdio-Server, die sich beenden oder nicht starten

408 408 

409Um einen Stdio-Server erneut zu starten, lesen Sie die Spalte, die dem entspricht, was mit ihm passiert ist. Ihre Zeile finden Sie anhand dessen, wie Sie Claude Code ausführen: in einer interaktiven Sitzung, in einem `claude -p`-Lauf oder in einer Agent SDK-Sitzung.409Um einen stdio-Server erneut zu starten, lesen Sie die Spalte, die dem entspricht, was mit ihm passiert ist. Finden Sie Ihre Zeile danach, wie Sie Claude Code ausführen: eine interaktive Sitzung, eine `claude -p`-Ausführung oder eine Agent SDK-Sitzung.

410 410 

411| Wie Sie Claude Code ausführen | Der Prozess des Servers wird mitten in der Sitzung beendet | Die erste Verbindung des Servers schlägt fehl |411| Wie Sie Claude Code ausführen | Der Prozess des Servers beendet sich während der Sitzung | Der erste Verbindungsaufbau des Servers schlägt fehl |

412| - | - | - |412| - | - | - |

413| Interaktive Sitzung | Claude Code markiert den Server als fehlgeschlagen. Um ihn erneut zu starten, wählen Sie **Reconnect** im Menü des Servers in `/mcp` | Claude Code markiert den Server als fehlgeschlagen. Um ihn erneut zu starten, wählen Sie **Reconnect** im Menü des Servers in `/mcp` |413| Interaktive Sitzung | Claude Code markiert den Server als fehlgeschlagen. Um ihn erneut zu starten, wählen Sie im Menü des Servers in `/mcp` die Option **Reconnect** | Claude Code markiert den Server als fehlgeschlagen. Um ihn erneut zu starten, wählen Sie im Menü des Servers in `/mcp` die Option **Reconnect** |

414| `claude -p`-Lauf | Claude Code startet den Server erneut, wenn Claude das nächste Mal eines der Tools des Servers aufruft, und der Aufruf wird ausgeführt, sobald der Server verbunden ist | Der Lauf wird ohne die Tools des Servers fortgesetzt. Damit Claude Code die Verbindung erneut versucht, starten Sie den Lauf neu. Wenn ein Plugin den Server bereitstellt, überspringen neue Läufe die Verbindung nach einem Fehlschlag 15 Minuten lang. Warten Sie daher zuerst so lange oder [versuchen Sie es früher erneut](https://code.claude.com/docs/de/errors.md#skipping-connection-recent-failure-cached) |414| `claude -p`-Ausführung | Claude Code startet den Server erneut, wenn Claude das nächste Mal eines der Tools des Servers aufruft, und der Aufruf wird ausgeführt, sobald der Server verbunden ist | Die Ausführung läuft ohne die Tools des Servers weiter. Damit Claude Code die Verbindung erneut versucht, starten Sie die Ausführung erneut. Wenn ein Plugin den Server bereitstellt, überspringen neue Ausführungen die Verbindung 15 Minuten lang nach einem Fehler. Warten Sie also zuerst so lange oder [versuchen Sie es früher erneut](https://code.claude.com/docs/de/errors.md#skipping-connection-recent-failure-cached) |

415| Agent SDK-Sitzung | Claude Code startet den Server erneut, wenn Claude das nächste Mal eines der Tools des Servers aufruft, und der Aufruf wird ausgeführt, sobald der Server verbunden ist | Die Sitzung wird ohne die Tools des Servers fortgesetzt. Ihr Code kann [den Server erneut verbinden](https://code.claude.com/docs/de/agent-sdk/mcp.md#error-handling) |415| Agent SDK-Sitzung | Claude Code startet den Server erneut, wenn Claude das nächste Mal eines der Tools des Servers aufruft, und der Aufruf wird ausgeführt, sobald der Server verbunden ist | Die Sitzung läuft ohne die Tools des Servers weiter. Ihr Code kann [den Server neu verbinden](https://code.claude.com/docs/de/agent-sdk/mcp.md#error-handling) |

416 416 

417#### Fehlgeschlagene Erkennungsanfragen417#### Fehlgeschlagene Discovery-Anfragen

418 418 

419Nachdem sich ein Server verbindet, sendet Claude Code ihm Anfragen zur Fähigkeitserkennung wie `tools/list`, `prompts/list` und `resources/list`. Claude Code versucht diese Anfragen bis zu dreimal mit kurzem Backoff nach einem vorübergehenden Netzwerk- oder Serverfehler erneut. Es versucht Authentifizierungsfehler, 4xx-Antworten oder Anfrage-Timeouts nicht erneut.419Nachdem ein Server verbunden ist, sendet Claude Code ihm Anfragen zur Ermittlung der Fähigkeiten, etwa `tools/list`, `prompts/list` und `resources/list`. Claude Code wiederholt diese Anfragen nach einem vorübergehenden Netzwerk- oder Serverfehler bis zu dreimal mit kurzem Backoff. Authentifizierungsfehler, 4xx-Antworten oder Zeitüberschreitungen von Anfragen werden nicht erneut versucht.

420 420 

421#### Fehlgeschlagene Server selbst erneut versuchen421#### Fehlgeschlagene Server selbst erneut versuchen

422 422 

423Um alle Server erneut zu versuchen, die fehlgeschlagen sind oder eine Authentifizierung benötigen, führen Sie in einer interaktiven Terminal-Sitzung am Claude Code-Prompt `/mcp reconnect all` aus. Dies erfordert Claude Code v2.1.284 oder neuer. Ältere Versionen geben `MCP server "all" not found` aus.423Um jeden Server erneut zu versuchen, der fehlgeschlagen ist oder eine Authentifizierung benötigt, führen Sie `/mcp reconnect all` an der Claude Code-Eingabeaufforderung in einer interaktiven Terminal-Sitzung aus. Dies erfordert Claude Code v2.1.284 oder höher. Frühere Versionen geben `MCP server "all" not found` aus.

424 424 

425#### Wie Claude erfährt, dass ein Server fehlgeschlagen ist425#### Wie Claude erfährt, dass ein Server fehlgeschlagen ist

426 426 

427Ob Claude Code Claude über einen konfigurierten Server informiert, der keine Verbindung hergestellt hat, hängt von der [Werkzeugsuche](#scale-with-mcp-tool-search) ab, die standardmäßig aktiviert ist:427Ob Claude Code Claude über einen konfigurierten Server informiert, der keine Verbindung herstellen konnte, hängt von der [Tool-Suche](#scale-with-mcp-tool-search) ab, die standardmäßig aktiviert ist:

428 428 

429* Mit Werkzeugsuche teilt Claude Code Claude mit, welcher Server fehlgeschlagen ist und welchen Verbindungsfehler er hatte, daher meldet Claude den Verbindungsfehler in seiner Antwort. Claude Code nimmt dieselben Informationen in `ToolSearch`-Ergebnisse auf, die kein passendes Werkzeug finden.429* Mit Tool-Suche teilt Claude Code Claude mit, welcher Server fehlgeschlagen ist und welchen Verbindungsfehler er hat, sodass Claude den Verbindungsfehler in seiner Antwort meldet. Claude Code fügt dieselben Informationen in `ToolSearch`-Ergebnisse ein, die kein passendes Tool finden.

430* In jeder [Konfiguration ohne Werkzeugsuche](#configure-tool-search) meldet Claude Code fehlgeschlagene Serververbindungen nicht an Claude.430* In jeder [Konfiguration ohne Tool-Suche](#configure-tool-search) meldet Claude Code fehlgeschlagene Serververbindungen nicht an Claude.

431 431 

432### Nachrichten mit Channels pushen432### Nachrichten mit Channels pushen

433 433 

434Ein MCP-Server kann auch Nachrichten direkt in Ihre Sitzung pushen, damit Claude auf externe Ereignisse wie CI-Ergebnisse, Überwachungswarnungen oder Chat-Nachrichten reagieren kann. Um dies zu aktivieren, deklariert Ihr Server die `claude/channel`-Fähigkeit und Sie aktivieren sie mit dem Flag `--channels` beim Start. Siehe [Channels](https://code.claude.com/docs/de/channels.md), um einen offiziell unterstützten Channel zu verwenden, oder [Channels-Referenz](https://code.claude.com/docs/de/channels-reference.md), um Ihren eigenen zu erstellen.434Ein MCP-Server kann auch Nachrichten direkt in Ihre Sitzung pushen, sodass Claude auf externe Ereignisse wie CI-Ergebnisse, Monitoring-Warnungen oder Chat-Nachrichten reagieren kann. Um dies zu aktivieren, deklariert Ihr Server die Fähigkeit `claude/channel`, und Sie aktivieren ihn beim Start mit dem Flag `--channels`. Siehe [Channels](https://code.claude.com/docs/de/channels.md), um einen offiziell unterstützten Channel zu verwenden, oder die [Channels-Referenz](https://code.claude.com/docs/de/channels-reference.md), um einen eigenen zu erstellen.

435 435 

436Auf der [v2-Runtime](#mcp-client-runtimes) kann ein Channel-Server, der MCP-Protokollrevision 2026-07-28 aushandelt, keine Channel-Nachrichten liefern, daher registriert Claude Code ihn nicht als Channel. Ein Channel-Server, der diese Revision nicht unterstützt, verbindet sich über den früheren Handshake und registriert sich wie bisher.436In der [v2-Laufzeitumgebung](#mcp-client-runtimes) kann ein Channel-Server, der die MCP-Protokollrevision 2026-07-28 aushandelt, keine Channel-Nachrichten zustellen, daher registriert Claude Code ihn nicht als Channel. Ein Channel-Server, der diese Revision nicht unterstützt, verbindet sich mit dem früheren Handshake und wird wie bisher registriert.

437 437 

438Claude Code fragt Stdio-Server standardmäßig nach dieser Revision. Um einen Stdio-Channel-Server auf dem früheren Handshake zu halten, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](https://code.claude.com/docs/de/env-vars) auf `legacy`, wodurch alle Server darauf bleiben.438Claude Code fragt stdio-Server standardmäßig nach dieser Revision. Um einen stdio-Channel-Server beim früheren Handshake zu halten, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](https://code.claude.com/docs/de/env-vars) auf `legacy`, was jeden Server dabei hält.

439 439 

440> [!TIP]440> [!TIP]

441>441>


443>443>

444> * Verwenden Sie das Flag `-s` oder `--scope`, um anzugeben, wo die Konfiguration gespeichert wird:444> * Verwenden Sie das Flag `-s` oder `--scope`, um anzugeben, wo die Konfiguration gespeichert wird:

445> * `local` (Standard): nur für Sie im aktuellen Projekt verfügbar445> * `local` (Standard): nur für Sie im aktuellen Projekt verfügbar

446> * `project`: geteilt mit allen im Projekt über die `.mcp.json`-Datei446> * `project`: über die Datei `.mcp.json` mit allen im Projekt geteilt

447> * `user`: für Sie über alle Projekte verfügbar447> * `user`: für Sie in allen Projekten verfügbar

448> * Setzen Sie Umgebungsvariablen mit den Flags `-e` oder `--env` (zum Beispiel `-e KEY=value`)448> * Setzen Sie Umgebungsvariablen mit den Flags `-e` oder `--env` (zum Beispiel `-e KEY=value`)

449> * Die Flags `--transport` und `--header` akzeptieren auch die Kurzformen `-t` und `-H`449> * Die Flags `--transport` und `--header` akzeptieren auch die Kurzformen `-t` und `-H`

450> * Konfigurieren Sie den MCP-Server-Start-Timeout mit der Umgebungsvariable `MCP_TIMEOUT` (zum Beispiel setzt `MCP_TIMEOUT=10000 claude` einen 10-Sekunden-Timeout)450> * Konfigurieren Sie den Start-Timeout für MCP-Server mit der Umgebungsvariable `MCP_TIMEOUT` (zum Beispiel setzt `MCP_TIMEOUT=10000 claude` einen Timeout von 10 Sekunden)

451> * Setzen Sie einen Pro-Server-Timeout für die Werkzeugausführung, indem Sie ein `timeout`-Feld in Millisekunden zum `.mcp.json`-Eintrag dieses Servers hinzufügen, zum Beispiel `"timeout": 600000` für zehn Minuten. Dies überschreibt die Umgebungsvariable `MCP_TOOL_TIMEOUT` nur für diesen Server451> * Legen Sie einen Timeout für die Tool-Ausführung pro Server fest, indem Sie dem `.mcp.json`-Eintrag dieses Servers ein Feld `timeout` in Millisekunden hinzufügen, zum Beispiel `"timeout": 600000` für zehn Minuten. Dies überschreibt die Umgebungsvariable `MCP_TOOL_TIMEOUT` nur für diesen Server

452> * Claude Code zeigt eine Warnung an, wenn die MCP-Werkzeugausgabe 10.000 Token überschreitet, und begrenzt die Ausgabe standardmäßig auf 25.000 Token. Um das Token-Limit zu ändern, setzen Sie die Umgebungsvariable `MAX_MCP_OUTPUT_TOKENS`, zum Beispiel `MAX_MCP_OUTPUT_TOKENS=50000`. Die Warnschwelle ist fest. Sofern der Server das eigene Limit eines Tools nicht anhebt, werden erfolgreiche Textergebnisse mit mehr als 50.000 Zeichen unabhängig von dieser Variable in einer Datei gespeichert. Siehe [MCP-Ausgabegrenzen und Warnungen](#mcp-output-limits-and-warnings)452> * Claude Code zeigt eine Warnung an, wenn die Ausgabe eines MCP-Tools 10.000 Token überschreitet, und begrenzt die Ausgabe standardmäßig auf 25.000 Token. Um das Token-Limit zu ändern, setzen Sie die Umgebungsvariable `MAX_MCP_OUTPUT_TOKENS`, zum Beispiel `MAX_MCP_OUTPUT_TOKENS=50000`. Der Warnschwellenwert ist fest. Sofern der Server das eigene Limit eines Tools nicht anhebt, werden erfolgreiche Textergebnisse mit mehr als 50.000 Zeichen unabhängig von dieser Variable in einer Datei gespeichert. Siehe [MCP-Ausgabelimits und -Warnungen](#mcp-output-limits-and-warnings)

453> * Verwenden Sie `/mcp`, um sich bei Remote-Servern zu authentifizieren, die OAuth 2.0-Authentifizierung erfordern453> * Verwenden Sie `/mcp`, um sich bei Remote-Servern zu authentifizieren, die eine OAuth-2.0-Authentifizierung erfordern

454 454 

455### Zeitlimits für MCP-Tool-Aufrufe455### Zeitlimits für MCP-Tool-Aufrufe

456 456 

457Um zu begrenzen, wie lange ein MCP-Tool-Aufruf laufen darf:457Um zu begrenzen, wie lange ein MCP-Tool-Aufruf laufen kann:

458 458 

459* **Pro Server**: Fügen Sie dem Konfigurationseintrag dieses Servers ein Feld `timeout` in Millisekunden hinzu459* **Pro Server**: Fügen Sie dem Konfigurationseintrag dieses Servers ein Feld `timeout` in Millisekunden hinzu

460* **Serverübergreifend**: Setzen Sie [`MCP_TOOL_TIMEOUT`](https://code.claude.com/docs/de/env-vars)460* **Serverübergreifend**: Setzen Sie [`MCP_TOOL_TIMEOUT`](https://code.claude.com/docs/de/env-vars)

461 461 

462Der Pro-Server-`timeout` ist eine harte Wanduhr-Grenze pro Werkzeugaufruf, und Fortschrittsbenachrichtigungen vom Server verlängern ihn nicht. Werte unter 1000 werden ignoriert und fallen auf `MCP_TOOL_TIMEOUT` zurück oder auf dessen Standard von etwa 28 Stunden, wenn diese Variable nicht gesetzt ist. Für einen HTTP-, SSE- oder [claude.ai-Connector](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai)-Server gibt es auch einen zweiten Pro-Anfrage-Timer, der jede Anfrage bis zum ersten Antwortbyte des Servers abdeckt. Claude Code setzt diesen Timer auf den größten von drei Werten: 60 Sekunden, den Werkzeug-Timeout, der für den Server gilt, und `MCP_TIMEOUT`. Der 28-Stunden-Standard eines nicht gesetzten `MCP_TOOL_TIMEOUT` geht nicht in diesen Vergleich ein, und ein Wert unter 60 Sekunden verkürzt den Timer nicht. Stdio- und WebSocket-Server haben keinen Pro-Anfrage-Timer.462Der serverspezifische `timeout` ist ein hartes Echtzeitlimit pro Tool-Aufruf, und Fortschrittsbenachrichtigungen des Servers verlängern ihn nicht. Werte unter 1000 werden ignoriert und fallen auf `MCP_TOOL_TIMEOUT` zurück, oder auf dessen Standardwert von etwa 28 Stunden, wenn diese Variable nicht gesetzt ist. Für einen HTTP-, SSE- oder [claude.ai-Konnektor](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai)-Server gibt es zusätzlich einen zweiten Timer pro Anfrage, der jede Anfrage bis zum ersten Antwortbyte des Servers abdeckt. Claude Code setzt diesen Timer auf den größten von drei Werten: 60 Sekunden, den für den Server geltenden Tool-Timeout und `MCP_TIMEOUT`. Der 28-Stunden-Standardwert eines nicht gesetzten `MCP_TOOL_TIMEOUT` fließt nicht in diesen Vergleich ein, und ein Wert unter 60 Sekunden verkürzt den Timer nicht. Stdio- und WebSocket-Server haben keinen Timer pro Anfrage.

463 463 

464Ein Pro-Server-`timeout` von mindestens 1000 fungiert auch als Untergrenze für den unten beschriebenen Idle-Timeout: Claude Code bricht die Werkzeugaufrufe dieses Servers wegen Inaktivität nie früher als nach dem Pro-Server-`timeout` ab.464Ein serverspezifischer `timeout` von mindestens 1000 wirkt außerdem als Untergrenze für den unten beschriebenen Leerlauf-Timeout: Claude Code bricht die Tool-Aufrufe dieses Servers nie früher wegen Leerlaufs ab als nach dem serverspezifischen `timeout`.

465 465 

466Ein Werkzeugaufruf an einen MCP-Server, der für das Idle-Fenster keine Antwort und keine Fortschrittsbenachrichtigung sendet, bricht mit einem Fehler ab, anstatt auf die Wanduhr-Grenze zu warten. Der Idle-Timeout gilt für jeden Servertyp außer IDE-Servern und SDK-In-Process-Servern. Das Idle-Fenster beträgt standardmäßig fünf Minuten für HTTP-, SSE-, WebSocket- und [claude.ai-Connector](#use-mcp-servers-from-claude-ai)-Server und 30 Minuten für Stdio-Server.466Ein Tool-Aufruf an einen MCP-Server, der während des Leerlauffensters weder eine Antwort noch eine Fortschrittsbenachrichtigung sendet, wird mit einem Fehler abgebrochen, statt auf das Echtzeitlimit zu warten. Der Leerlauf-Timeout gilt für jeden Servertyp außer IDE-Servern und SDK-In-Process-Servern. Das Leerlauffenster beträgt standardmäßig fünf Minuten für HTTP-, SSE-, WebSocket- und [claude.ai-Konnektor](#use-mcp-servers-from-claude-ai)-Server und 30 Minuten für stdio-Server.

467 467 

468Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](https://code.claude.com/docs/de/env-vars) in Millisekunden, um das Idle-Fenster zu ändern, oder setzen Sie sie auf `0`, um die Überprüfung zu deaktivieren.468Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](https://code.claude.com/docs/de/env-vars) in Millisekunden, um das Leerlauffenster zu ändern, oder setzen Sie sie auf `0`, um die Prüfung zu deaktivieren.

469 469 

470Diese Timeouts begrenzen, wie lange ein Aufruf laufen kann, nicht immer, wie lange er die Sitzung blockiert: Ein Aufruf in der Hauptkonversation, der länger als zwei Minuten läuft, wird zuerst zu einer Hintergrundaufgabe. Siehe [Automatisches Backgrounding von langen Werkzeugaufrufen](#automatic-backgrounding-of-long-tool-calls).470Diese Timeouts begrenzen, wie lange ein Aufruf laufen kann, nicht immer, wie lange er die Sitzung blockiert: Ein Aufruf in der Hauptkonversation, der länger als zwei Minuten läuft, wird zuerst in eine Hintergrundaufgabe verschoben. Siehe [Automatisches Verschieben langer Tool-Aufrufe in den Hintergrund](#automatic-backgrounding-of-long-tool-calls).

471 471 

472### Automatisches Backgrounding von langen Werkzeugaufrufen472### Automatisches Verschieben langer Tool-Aufrufe in den Hintergrund

473 473 

474Wenn die Detailansicht eines Hintergrundaufrufs in [`/tasks`](https://code.claude.com/docs/de/commands#all-commands) `runs on the server; survives exiting this session` anzeigt, siehe [MCP-Tasks, die auf dem Server laufen](#mcp-tasks-that-run-on-the-server).474Wenn die Detailansicht eines Hintergrundaufrufs in [`/tasks`](https://code.claude.com/docs/de/commands#all-commands) `runs on the server; survives exiting this session` anzeigt, siehe [MCP-Aufgaben, die auf dem Server laufen](#mcp-tasks-that-run-on-the-server).

475 475 

476Ein MCP-Werkzeugaufruf in der Hauptkonversation, der nach zwei Minuten noch läuft, wird zu einer Hintergrundaufgabe, statt die Sitzung zu blockieren. Claude erhält die Aufgaben-ID sofort und arbeitet weiter, und das Ergebnis kommt als Aufgabenbenachrichtigung, wenn der Aufruf abgeschlossen ist.476Ein MCP-Tool-Aufruf in der Hauptkonversation, der nach zwei Minuten noch läuft, wird in eine Hintergrundaufgabe verschoben, statt die Sitzung zu blockieren. Claude erhält sofort die Aufgaben-ID und arbeitet weiter, und das Ergebnis trifft als Aufgabenbenachrichtigung ein, wenn der Aufruf abgeschlossen ist.

477 477 

478Die Aufgabe erscheint in [`/tasks`](https://code.claude.com/docs/de/commands#all-commands), wo Sie sie auch stoppen können, und sie überlebt das Beenden der Sitzung nicht. Der Eintrag der Aufgabe zeigt den neuesten Fortschritt, den der Server gemeldet hat. Wenn Sie die Aufgabe stoppen, bricht Claude Code den Aufruf ab und teilt Claude mit, dass kein Ergebnis kommt. Das Stoppen garantiert nicht, dass der Server stoppt: Er hat möglicherweise bereits einen Teil der Arbeit erledigt oder schließt sie trotzdem ab.478Die Aufgabe erscheint in [`/tasks`](https://code.claude.com/docs/de/commands#all-commands), wo Sie sie auch stoppen können, und sie überdauert das Beenden der Sitzung nicht. Der Eintrag der Aufgabe zeigt den zuletzt vom Server gemeldeten Fortschritt. Wenn Sie die Aufgabe stoppen, bricht Claude Code den Aufruf ab und teilt Claude mit, dass kein Ergebnis kommt. Das Stoppen garantiert nicht, dass der Server aufhört: Er hat möglicherweise bereits einen Teil der Arbeit erledigt oder beendet sie noch.

479 479 

480Die Pro-Aufruf-Grenzen gelten weiterhin, während der Aufruf im Hintergrund läuft: die Wanduhr-Grenze, die durch den Pro-Server-`timeout` oder [`MCP_TOOL_TIMEOUT`](https://code.claude.com/docs/de/env-vars) gesetzt wird, und der Idle-Timeout, der durch [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](https://code.claude.com/docs/de/env-vars) gesetzt wird.480Die Limits pro Aufruf gelten weiterhin, während der Aufruf im Hintergrund läuft: das durch den serverspezifischen `timeout` oder [`MCP_TOOL_TIMEOUT`](https://code.claude.com/docs/de/env-vars) festgelegte Echtzeitlimit und der durch [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](https://code.claude.com/docs/de/env-vars) festgelegte Leerlauf-Timeout.

481 481 

482So ändern oder deaktivieren Sie das automatische Verschieben in den Hintergrund:482So ändern oder deaktivieren Sie das automatische Verschieben in den Hintergrund:

483 483 

484* Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/de/env-vars) in Millisekunden, um den Schwellenwert zu ändern, oder setzen Sie sie auf `0`, um das automatische Verschieben auszuschalten. Mit `0` [wartet Claude](#make-claude-wait-for-the-result-of-an-mcp-task) in einer interaktiven Sitzung außerdem auf MCP-Tasks484* Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/de/env-vars) in Millisekunden, um den Schwellenwert zu ändern, oder setzen Sie sie auf `0`, um das automatische Verschieben in den Hintergrund auszuschalten. Mit `0` [wartet Claude in einer interaktiven Sitzung außerdem auf MCP-Aufgaben](#make-claude-wait-for-the-result-of-an-mcp-task)

485* Setzen Sie [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/de/env-vars) auf `1`, um das automatische Verschieben in den Hintergrund und [Hintergrundbefehle](https://code.claude.com/docs/de/tools-reference.md#background-commands) auszuschalten485* Setzen Sie [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/de/env-vars) auf `1`, um das automatische Verschieben in den Hintergrund und [Hintergrundbefehle](https://code.claude.com/docs/de/tools-reference.md#background-commands) auszuschalten

486 486 

487Einige Aufrufe werden nie in den Hintergrund verschoben:487Einige Aufrufe werden nie in den Hintergrund verschoben:

488 488 

489* Aufrufe von [Subagenten](https://code.claude.com/docs/de/sub-agents.md); Claude Code verschiebt nur Aufrufe der Hauptkonversation in den Hintergrund489* Aufrufe von [Subagenten](https://code.claude.com/docs/de/sub-agents.md); Claude Code verschiebt nur Aufrufe der Hauptkonversation in den Hintergrund

490* Aufrufe an IDE-Server490* Aufrufe an IDE-Server

491* Aufrufe im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md), es sei denn, `CLAUDE_AUTO_BACKGROUND_TASKS` ist auf `1` gesetzt, da ein One-Shot-Lauf enden kann, bevor das Ergebnis ankommt491* Aufrufe im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md), sofern `CLAUDE_AUTO_BACKGROUND_TASKS` nicht auf `1` gesetzt ist, da eine einmalige Ausführung enden kann, bevor das Ergebnis eintrifft

492 492 

493Ein Aufruf, der auf einen offenen [Elicitation-Dialog](#respond-to-mcp-elicitation-requests) wartet, wird nicht in den Hintergrund verschoben, solange der Dialog offen ist; der Server wartet auf Ihre Eingabe und ist nicht langsam, daher schiebt Claude Code die Verschiebung auf, bis der Dialog geschlossen wird.493Ein Aufruf, der auf einen offenen [Elicitation-Dialog](#respond-to-mcp-elicitation-requests) wartet, wird nicht in den Hintergrund verschoben, solange der Dialog geöffnet ist; der Server wartet auf Ihre Eingabe und ist nicht langsam, daher verschiebt Claude Code den Wechsel, bis der Dialog geschlossen wird.

494 494 

495### MCP-Tasks, die auf dem Server laufen495### MCP-Aufgaben, die auf dem Server laufen

496 496 

497Ein MCP-Task ist ein langer Auftrag, etwa ein Berichtsexport oder ein Build, den ein MCP-Server selbst mit der [MCP-Tasks-Erweiterung](https://modelcontextprotocol.io/extensions/tasks/overview) ausführt. Der Tool-Aufruf von Claude kehrt zurück, sobald der Server den Auftrag annimmt, sodass Claude weiterarbeitet, sofern Sie [Claude nicht warten lassen](#make-claude-wait-for-the-result-of-an-mcp-task). Wenn der Auftrag endet, vermerkt das Transkript dies, und Claude erhält das Ergebnis. Fragen Sie Claude danach.497Eine MCP-Aufgabe ist ein langer Job, etwa ein Berichtsexport oder ein Build, den ein MCP-Server selbst mithilfe der [MCP-Tasks-Erweiterung](https://modelcontextprotocol.io/extensions/tasks/overview) ausführt. Claudes Tool-Aufruf kehrt zurück, sobald der Server den Job annimmt, sodass Claude weiterarbeitet, sofern Sie [Claude nicht warten lassen](#make-claude-wait-for-the-result-of-an-mcp-task). Wenn der Job endet, vermerkt das Transkript dies, und Claude erhält das Ergebnis. Fragen Sie Claude danach.

498 498 

499In der Zwischenzeit zeigt die Fußzeile eine Anzahl wie `1 MCP task`, und Claude Code verfolgt den Task, indem es seinen Status beim Server abfragt. Ein Task auf einem Remote-Server läuft nach dem Beenden weiter. Um ihn erneut zu verfolgen, [setzen Sie dieselbe Sitzung fort](#exit-clear-or-resume-while-an-mcp-task-runs).499In der Zwischenzeit zeigt die Fußzeile eine Anzahl wie `1 MCP task`, und Claude Code verfolgt die Aufgabe, indem es ihren Status beim Server abfragt. Eine Aufgabe auf einem Remote-Server läuft nach dem Beenden weiter. Um sie erneut zu verfolgen, [setzen Sie dieselbe Sitzung fort](#exit-clear-or-resume-while-an-mcp-task-runs).

500 500 

501> [!NOTE]501> [!NOTE]

502>502>

503> MCP-Tasks sind in der Claude Code CLI als öffentliche Beta verfügbar und erfordern Claude Code v2.1.304 oder höher. [Was ein Aufruf benötigt, um zu einem MCP-Task zu werden](#requirements-for-mcp-tasks) listet die Sitzungen und Server auf, die sie erhalten.503> MCP-Aufgaben sind in der Claude Code CLI als öffentliche Beta verfügbar und erfordern Claude Code v2.1.304 oder höher. [Was ein Aufruf benötigt, um zu einer MCP-Aufgabe zu werden](#requirements-for-mcp-tasks) listet die Sitzungen und Server auf, die sie erhalten.

504 504 

505#### Einen MCP-Task stoppen oder sein Ergebnis abrufen505#### Eine MCP-Aufgabe stoppen oder ihr Ergebnis abrufen

506 506 

507Um einen laufenden Task zu stoppen, wählen Sie ihn in [`/tasks`](https://code.claude.com/docs/de/commands#all-commands) aus und drücken Sie `x`, oder bitten Sie Claude darum. Claude Code hört auf, den Task zu verfolgen, und bittet den Server, ihn abzubrechen, wobei der Server ihn dennoch abschließen kann. Verbinden Sie einen getrennten Server zuerst über `/mcp` neu, sonst wird keine Abbruchanfrage gesendet, und Claude Code vergisst den Task und kann ihn nicht erneut verfolgen. Das Drücken von `Esc` stoppt keine Hintergrundaufgabe.507Um eine laufende Aufgabe zu stoppen, wählen Sie sie in [`/tasks`](https://code.claude.com/docs/de/commands#all-commands) aus und drücken Sie `x`, oder bitten Sie Claude darum. Claude Code hört auf, die Aufgabe zu verfolgen, und bittet den Server, sie abzubrechen, wobei der Server sie möglicherweise dennoch abschließt. Verbinden Sie einen getrennten Server zuerst über `/mcp` neu, sonst wird keine Abbruchanfrage gesendet, und Claude Code vergisst die Aufgabe und kann sie nicht erneut verfolgen. Das Drücken von `Esc` stoppt keine Hintergrundaufgabe.

508 508 

509Wenn der Task endet, erscheint eine Zeile wie diese im Transkript:509Wenn die Aufgabe endet, erscheint eine Zeile wie diese im Transkript:

510 510 

511```text theme={null}511```text theme={null}

512MCP task <server task id> (<server>/<tool>) completed.512MCP task <server task id> (<server>/<tool>) completed.

513```513```

514 514 

515Das Ergebnis geht an Claude, nicht in das Transkript. Fragen Sie Claude also danach. Wenn Claude untätig ist, wenn das Ergebnis eintrifft, beginnt Claude unaufgefordert damit.515Das Ergebnis geht an Claude, nicht in das Transkript. Fragen Sie Claude also danach. Wenn Claude beim Eintreffen des Ergebnisses untätig ist, beginnt Claude unaufgefordert damit.

516 516 

517#### Eine Frage eines MCP-Tasks beantworten517#### Eine Frage einer MCP-Aufgabe beantworten

518 518 

519Ein laufender Task kann einen [Elicitation-Dialog](#respond-to-mcp-elicitation-requests) öffnen, um Sie um eine Eingabe zu bitten. Solange `/tasks` geöffnet ist, bleibt der Dialog verborgen. Schließen Sie daher `/tasks`, um zu antworten. Ablehnen oder das Drücken von `Esc` ist eine Antwort an den Server, der dann entscheidet, ob der Task weiterläuft.519Eine laufende Aufgabe kann einen [Elicitation-Dialog](#respond-to-mcp-elicitation-requests) öffnen, um Sie um Eingabe zu bitten. Solange `/tasks` geöffnet ist, bleibt der Dialog verborgen. Schließen Sie daher `/tasks`, um zu antworten. Ablehnen oder das Drücken von `Esc` ist eine Antwort an den Server, der dann entscheidet, ob die Aufgabe weiterläuft.

520 520 

521In einer [nicht interaktiven](https://code.claude.com/docs/de/headless.md) Sitzung bittet Claude Code den Server, einen Task abzubrechen, der eine Eingabe anfordert, ohne Ihre [`Elicitation`-Hooks](https://code.claude.com/docs/de/hooks#elicitation) auszuführen oder den `onElicitation`-Callback des Agent SDK aufzurufen.521In einer [nicht interaktiven](https://code.claude.com/docs/de/headless.md) Sitzung bittet Claude Code den Server, eine Aufgabe abzubrechen, die eine Eingabe anfordert, ohne Ihre [`Elicitation`-Hooks](https://code.claude.com/docs/de/hooks#elicitation) auszuführen oder den `onElicitation`-Callback des Agent SDK aufzurufen.

522 522 

523#### Beenden, Leeren oder Fortsetzen, während ein MCP-Task läuft523#### Beenden, Leeren oder Fortsetzen, während eine MCP-Aufgabe läuft

524 524 

525Ein Task auf einem Remote-Server läuft nach dem Beenden weiter. Der Prozess eines stdio-Servers stoppt, wenn Claude Code beendet wird, obwohl seine Tasks in `/tasks` `runs on the server; survives exiting this session` anzeigen. Sofern die Dokumentation dieses Servers nicht angibt, dass die Arbeit den Prozess überdauert, lassen Sie diese Tasks abschließen oder stoppen Sie sie zuerst in `/tasks`.525Eine Aufgabe auf einem Remote-Server läuft nach dem Beenden weiter. Der Prozess eines stdio-Servers stoppt, wenn Claude Code beendet wird, obwohl seine Aufgaben in `/tasks` `runs on the server; survives exiting this session` anzeigen. Sofern die Dokumentation dieses Servers nicht angibt, dass die Arbeit den Prozess überdauert, lassen Sie diese Aufgaben zuerst abschließen oder stoppen Sie sie in `/tasks`.

526 526 

527| Situation | Was mit dem Task passiert | Was Sie tun können |527| Situation | Was mit der Aufgabe passiert | Was Sie tun können |

528| - | - | - |528| - | - | - |

529| Sie führen `/clear` oder `/branch` aus oder wechseln mit `/resume` zu einer anderen Sitzung | Solange Claude Code geöffnet bleibt, trifft das Ergebnis in Ihrer aktuellen Konversation ein | Setzen Sie nach einem Beenden mit `claude --resume` die Sitzung fort, in der der Task gestartet wurde |529| Sie führen `/clear` oder `/branch` aus oder setzen mit `/resume` eine andere Sitzung fort | Solange Claude Code geöffnet bleibt, trifft das Ergebnis in Ihrer aktuellen Konversation ein | Setzen Sie nach einem Beenden die Sitzung, in der die Aufgabe gestartet wurde, mit `claude --resume` fort |

530| Sie beenden Claude Code | Keine Beenden-Option bricht den Task eines Remote-Servers ab, selbst wenn der Beenden-Dialog ihn unter `The following will stop when you exit:` aufführt | Stoppen Sie ihn zuerst in `/tasks`, oder setzen Sie später dieselbe Sitzung fort |530| Sie beenden Claude Code | Keine Beenden-Option bricht die Aufgabe eines Remote-Servers ab, selbst wenn der Beenden-Dialog sie unter `The following will stop when you exit:` auflistet | Stoppen Sie sie zuerst in `/tasks`, oder setzen Sie dieselbe Sitzung später fort |

531| Sie kehren interaktiv zur Sitzung des Tasks zurück: `claude --resume`, `claude --continue` oder `/resume` | Sobald der Server verbunden ist, verfolgt Claude Code den Task erneut, und Claude erhält das Ergebnis, wenn er zwischenzeitlich abgeschlossen wurde und der Server ihn noch kennt | Lassen Sie Namen und Verbindungseinstellungen des Servers unverändert |531| Sie kehren interaktiv zur Sitzung der Aufgabe zurück: `claude --resume`, `claude --continue` oder `/resume` | Sobald der Server verbunden ist, verfolgt Claude Code die Aufgabe erneut, und Claude erhält das Ergebnis, wenn sie in der Zwischenzeit abgeschlossen wurde und der Server sie noch kennt | Lassen Sie den Namen und die Verbindungseinstellungen des Servers unverändert |

532| Sie setzen die Sitzung des Tasks mit `--resume` oder `--continue` in einer einmaligen `claude -p "<prompt>"`-Ausführung fort | Diese Ausführung verfolgt den Task nicht | Setzen Sie interaktiv oder mit `--input-format stream-json` fort |532| Sie setzen die Sitzung der Aufgabe mit `--resume` oder `--continue` in einer einmaligen `claude -p "<prompt>"`-Ausführung fort | Diese Ausführung verfolgt die Aufgabe nicht | Setzen Sie interaktiv oder mit `--input-format stream-json` fort |

533| Sie starten eine neue Sitzung oder verwenden `--fork-session` | Die neue Sitzung verfolgt den Task nicht | Setzen Sie die Sitzung fort, die ihn gestartet hat |533| Sie starten eine neue Sitzung oder verwenden `--fork-session` | Die neue Sitzung verfolgt die Aufgabe nicht | Setzen Sie die Sitzung fort, die sie gestartet hat |

534 534 

535#### Was ein Aufruf benötigt, um zu einem MCP-Task zu werden535#### Was ein Aufruf benötigt, um zu einer MCP-Aufgabe zu werden

536 536 

537Ein Tool-Aufruf wird nur dann zu einem MCP-Task, wenn alle diese Bedingungen erfüllt sind:537Ein Tool-Aufruf wird nur dann zu einer MCP-Aufgabe, wenn alle diese Bedingungen erfüllt sind:

538 538 

539* Der Server unterstützt Tasks539* Der Server unterstützt Aufgaben

540* Der Server ist ein HTTP-, stdio- oder claude.ai-Konnektor-Server, der über die [Protokollrevision 2026-07-28](#mcp-client-runtimes) verbunden ist. Das Setzen von [`MCP_SDK_GENERATION=v1` oder `MCP_PROTOCOL_NEGOTIATION=legacy`](https://code.claude.com/docs/de/env-vars) schließt dies aus540* Der Server ist ein HTTP-, stdio- oder claude.ai-Konnektor-Server, der über die [Protokollrevision 2026-07-28](#mcp-client-runtimes) verbunden ist. Das Setzen von [`MCP_SDK_GENERATION=v1` oder `MCP_PROTOCOL_NEGOTIATION=legacy`](https://code.claude.com/docs/de/env-vars) schließt dies aus

541* Die Sitzung [ruft Feature-Flags ab](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), also nicht bei einem Drittanbieter wie Amazon Bedrock und nicht bei ausgeschalteter Telemetrie oder ausgeschaltetem Abruf von Flags541* Die Sitzung [ruft Feature-Flags ab](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), also nicht bei einem Drittanbieter wie Amazon Bedrock und nicht mit ausgeschalteter Telemetrie oder ausgeschaltetem Abrufen von Flags

542* Anthropic hat MCP-Tasks für Ihre Art von Sitzung eingeschaltet. Ab v2.1.304 umfasst das Terminal-CLI-Sitzungen, [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Sitzungen und [GitHub Actions](https://code.claude.com/docs/de/github-actions.md)-Ausführungen. Andere Oberflächen wie die [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) und die [Desktop-App](https://code.claude.com/docs/de/desktop.md) haben keine MCP-Tasks542* Anthropic hat MCP-Aufgaben für Ihre Art von Sitzung eingeschaltet. Ab v2.1.304 umfasst das Terminal-CLI-Sitzungen, [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Sitzungen und [GitHub Actions](https://code.claude.com/docs/de/github-actions.md)-Ausführungen. Andere Oberflächen, etwa die [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) und die [Desktop-App](https://code.claude.com/docs/de/desktop.md), haben keine MCP-Aufgaben

543* Der Aufruf stammt aus der Hauptkonversation, nicht von einem [Subagenten](https://code.claude.com/docs/de/sub-agents.md)543* Der Aufruf stammt aus der Hauptkonversation, nicht von einem [Subagenten](https://code.claude.com/docs/de/sub-agents.md)

544* Entweder ist die Sitzung interaktiv, oder eine [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Sitzung bzw. eine `claude -p`-Ausführung, die `--input-format stream-json` liest, hat:544* Entweder ist die Sitzung interaktiv, oder eine [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Sitzung bzw. eine `claude -p`-Ausführung, die `--input-format stream-json` liest, hat:

545 * [`CLAUDE_AUTO_BACKGROUND_TASKS`](https://code.claude.com/docs/de/env-vars) auf `1`545 * [`CLAUDE_AUTO_BACKGROUND_TASKS`](https://code.claude.com/docs/de/env-vars) auf `1`

546 * `CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND` nicht auf `1`546 * `CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND` nicht auf `1`

547 * `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` nicht auf `0`547 * `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` nicht auf `0`

548 548 

549Jeder andere Aufruf ist ein gewöhnlicher Tool-Aufruf, und [Automatisches Verschieben langer Tool-Aufrufe in den Hintergrund](#automatic-backgrounding-of-long-tool-calls) beschreibt, welche davon in den Hintergrund verschoben werden.549Jeder andere Aufruf ist ein einfacher Tool-Aufruf, und [Automatisches Verschieben langer Tool-Aufrufe in den Hintergrund](#automatic-backgrounding-of-long-tool-calls) beschreibt, welche davon in den Hintergrund verschoben werden.

550 550 

551Halten Sie die Eingabe einer Agent SDK- oder stream-json-Sitzung offen, da die Ausführung nach dem Schließen der Eingabe [nicht auf MCP-Tasks wartet](https://code.claude.com/docs/de/headless.md#mcp-work-when-a-non-interactive-run-ends). Eine einmalige `claude -p "<prompt>"`-Ausführung erhält keine MCP-Tasks.551Halten Sie die Eingabe einer Agent SDK- oder stream-json-Sitzung offen, da die Ausführung nach dem Schließen der Eingabe [nicht auf MCP-Aufgaben wartet](https://code.claude.com/docs/de/headless.md#mcp-work-when-a-non-interactive-run-ends). Eine einmalige `claude -p "<prompt>"`-Ausführung erhält keine MCP-Aufgaben.

552 552 

553#### Statusmeldungen zu einem MCP-Task553#### Statusmeldungen zu einer MCP-Aufgabe

554 554 

555Diese Meldungen im `/tasks`-Eintrag eines Tasks oder in seiner abschließenden Transkriptzeile bedeuten, dass Claude Code den Server oder den Task nicht erreichen kann. Solange eine davon in `/tasks` angezeigt wird, kann der Auftrag noch laufen: Claude Code lässt ihn in Ruhe und prüft weiter. Die `300s`- und Konfigurationsmeldungen bleiben am Eintrag stehen, auch nachdem der Kontakt wiederhergestellt ist.555Diese Meldungen im `/tasks`-Eintrag einer Aufgabe oder in ihrer abschließenden Transkriptzeile bedeuten, dass Claude Code den Server oder die Aufgabe nicht erreichen kann. Solange eine davon in `/tasks` angezeigt wird, läuft der Job möglicherweise noch: Claude Code lässt ihn in Ruhe und prüft weiter. Die `300s`- und Konfigurationsmeldungen bleiben auch nach wiederhergestelltem Kontakt am Eintrag stehen.

556 556 

557| Meldung | Was passiert | Was Sie tun können |557| Meldung | Was passiert | Was Sie tun können |

558| - | - | - |558| - | - | - |

559| `reconnecting…` | Der Server hat seit einem Fortsetzen nicht geantwortet, oder Statusabfragen erhalten keine Antwort | Wenn die Meldung bestehen bleibt, verbinden Sie über `/mcp` neu |559| `reconnecting…` | Der Server hat seit einem Fortsetzen nicht geantwortet, oder Statusprüfungen erhalten keine Antwort | Wenn sie bestehen bleibt, verbinden Sie über `/mcp` neu |

560| `needs a sign-in to <server>` | Der Server hat eine Statusabfrage abgelehnt | Melden Sie sich über `/mcp` an |560| `needs a sign-in to <server>` | Der Server hat eine Statusprüfung abgelehnt | Melden Sie sich über `/mcp` an |

561| `status requests come back with errors; retrying…` | Der Server oder ein vorgeschalteter Proxy beantwortet Statusabfragen mit Fehlern | Warten Sie, während Claude Code es erneut versucht |561| `status requests come back with errors; retrying…` | Der Server oder ein vorgeschalteter Proxy beantwortet Statusprüfungen mit Fehlern | Warten Sie, während Claude Code es erneut versucht |

562| `server '<name>' did not reconnect within 300s` | Fünf Minuten lang keine beantwortete Abfrage, zum Beispiel bei unterbrochener Verbindung oder deaktiviertem Server | Verbinden Sie über `/mcp` neu |562| `server '<name>' did not reconnect within 300s` | Fünf Minuten lang keine beantwortete Prüfung, zum Beispiel bei unterbrochener Verbindung oder deaktiviertem Server | Verbinden Sie über `/mcp` neu |

563| `server '<name>' asked for a sign-in, and none was accepted within 300s` | Nach fünf Minuten verlangt der Server weiterhin eine Anmeldung | Melden Sie sich über `/mcp` an |563| `server '<name>' asked for a sign-in, and none was accepted within 300s` | Nach fünf Minuten verlangt der Server weiterhin eine Anmeldung | Melden Sie sich über `/mcp` an |

564| `status requests to server '<name>' came back with errors, and none succeeded in 300s` | Fünf Minuten lang Fehlerantworten | Prüfen Sie den Zustand oder die Logs des Servers selbst |564| `status requests to server '<name>' came back with errors, and none succeeded in 300s` | Fünf Minuten lang Fehlerantworten | Prüfen Sie den Zustand oder die Logs des Servers selbst |

565| `server '<name>' is not configured in this session; the task may still be running on it` | Die Sitzung hat keinen Server mit diesem Namen, zum Beispiel weil er entfernt, umbenannt oder in `--mcp-config` ausgelassen wurde, oder ein claude.ai-Konnektor wird noch geladen | Stellen Sie den Server unter demselben Namen wieder her und setzen Sie die Sitzung dann erneut fort. Bei einem ladenden Konnektor nichts: Claude Code verfolgt den Task, sobald er erscheint |565| `server '<name>' is not configured in this session; the task may still be running on it` | Die Sitzung hat keinen Server mit diesem Namen, zum Beispiel weil er entfernt, umbenannt oder in `--mcp-config` weggelassen wurde, oder ein claude.ai-Konnektor lädt noch | Stellen Sie den Server unter demselben Namen wieder her und setzen Sie die Sitzung dann erneut fort. Bei einem ladenden Konnektor ist nichts zu tun: Claude Code verfolgt die Aufgabe, sobald er erscheint |

566| Eine Meldung, die mit `server '<name>' was reconfigured to a different transport since this task was created` beginnt | Ein Server mit diesem Namen existiert, dessen Verbindungseinstellungen sich seit dem Start des Tasks geändert haben, etwa URL, command, args, env, headers oder timeout | Stellen Sie die früheren Einstellungen wieder her und setzen Sie die Sitzung dann erneut fort |566| Eine Meldung, die mit `server '<name>' was reconfigured to a different transport since this task was created` beginnt | Es existiert ein Server mit diesem Namen, dessen Verbindungseinstellungen sich seit dem Start der Aufgabe geändert haben, etwa URL, Befehl, args, env, Header oder Timeout | Stellen Sie die früheren Einstellungen wieder her und setzen Sie die Sitzung dann erneut fort |

567| `the server rejected this task's id; asking again…` | Der Server gibt an, die Task-ID nicht zu kennen. Claude Code fragt bis zu fünf Minuten lang weiter nach | Warten Sie: Die Meldung verschwindet, wenn der Server die ID wieder erkennt, oder es folgt die Zeile `outcome unknown.` |567| `the server rejected this task's id; asking again…` | Der Server gibt an, die Aufgaben-ID nicht zu kennen. Claude Code fragt bis zu fünf Minuten lang weiter nach | Warten Sie: Die Meldung verschwindet, wenn der Server die ID wieder erkennt, andernfalls folgt die Zeile `outcome unknown.` |

568| Eine Transkriptzeile, die auf `outcome unknown.` endet, in einer Form `expired on the server: outcome unknown.` | Der Server hat die ID abgelehnt oder mit einem anderen dauerhaften Fehler verweigert, und Claude Code hat aufgehört, den Task zu verfolgen | Ein zweiter Aufruf kann die Arbeit wiederholen. Bevor Sie das Tool erneut aufrufen, finden Sie beim Server heraus, was erledigt wurde, zum Beispiel indem Sie Claude bitten, die anderen Tools des Servers zu verwenden |568| Eine Transkriptzeile, die mit `outcome unknown.` endet, in einer Form `expired on the server: outcome unknown.` | Der Server hat die ID abgelehnt oder mit einem anderen dauerhaften Fehler verweigert, und Claude Code hat aufgehört, die Aufgabe zu verfolgen | Ein zweiter Aufruf kann die Arbeit wiederholen. Bevor Sie das Tool erneut aufrufen, ermitteln Sie beim Server, was erledigt wurde, zum Beispiel indem Sie Claude bitten, die anderen Tools des Servers zu verwenden |

569 569 

570#### Zeitlimits für MCP-Tasks570#### Zeitlimits für MCP-Aufgaben

571 571 

572Standardmäßig hat ein Task im Hintergrund kein Zeitlimit von Claude Code. Die [Zeitlimits für Tool-Aufrufe](#time-limits-on-mcp-tool-calls), einschließlich des Echtzeitlimits und des Leerlauf-Timeouts, gelten, bis der Server den Aufruf mit dem Task beantwortet. Wenn Sie [Claude warten lassen](#make-claude-wait-for-the-result-of-an-mcp-task), gelten sie für den gesamten Task. Beantwortete Statusabfragen zählen als Aktivität für den Leerlauf-Timeout.572Standardmäßig hat eine Aufgabe im Hintergrund kein Zeitlimit von Claude Code. Die [Zeitlimits für Tool-Aufrufe](#time-limits-on-mcp-tool-calls), einschließlich des Echtzeitlimits und des Leerlauf-Timeouts, gelten, bis der Server den Aufruf mit der Aufgabe beantwortet. Wenn Sie [Claude warten lassen](#make-claude-wait-for-the-result-of-an-mcp-task), gelten sie für die gesamte Aufgabe. Beantwortete Statusprüfungen zählen als Aktivität für den Leerlauf-Timeout.

573 573 

574#### Claude auf das Ergebnis eines MCP-Tasks warten lassen574#### Claude auf das Ergebnis einer MCP-Aufgabe warten lassen

575 575 

576Damit Claude in einer interaktiven Sitzung auf das Ergebnis eines Tasks wartet, setzen Sie eine von zwei Umgebungsvariablen, zum Beispiel im `env`-Block von [`settings.json`](https://code.claude.com/docs/de/settings):576Um Claude in einer interaktiven Sitzung auf das Ergebnis einer Aufgabe warten zu lassen, setzen Sie eine von zwei Umgebungsvariablen, zum Beispiel im `env`-Block von [`settings.json`](https://code.claude.com/docs/de/settings):

577 577 

578* **[`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/de/env-vars) auf `0` gesetzt**: Claude wartet bei jedem MCP-Tool-Aufruf, bis der Aufruf endet578* **[`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/de/env-vars) auf `0` gesetzt**: Claude wartet bei jedem MCP-Tool-Aufruf, bis der Aufruf endet

579* **[`CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND`](https://code.claude.com/docs/de/env-vars) auf `1` gesetzt**: Claude wartet auf das Ergebnis eines Tasks. Solange das [automatische Verschieben in den Hintergrund](#automatic-backgrounding-of-long-tool-calls) eingeschaltet ist, verschiebt es den Aufruf standardmäßig nach zwei Minuten, sodass kurze Tasks an Ort und Stelle abgeschlossen werden und lange Sie nicht blockieren. Der verschobene Aufruf ist ein gewöhnlicher Hintergrundaufruf und kein MCP-Task. Er überdauert das Beenden der Sitzung nicht579* **[`CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND`](https://code.claude.com/docs/de/env-vars) auf `1` gesetzt**: Claude wartet auf das Ergebnis einer Aufgabe. Solange das [automatische Verschieben in den Hintergrund](#automatic-backgrounding-of-long-tool-calls) aktiviert ist, wird der Aufruf standardmäßig nach zwei Minuten verschoben, sodass kurze Aufgaben an Ort und Stelle abgeschlossen werden und lange Sie nicht blockieren. Der verschobene Aufruf ist ein einfacher Hintergrundaufruf und keine MCP-Aufgabe. Er überdauert das Beenden der Sitzung nicht

580 580 

581Während Claude wartet, beendet das Drücken von `Esc` oder das Erreichen des [Echtzeitlimits oder Leerlauf-Timeouts](#time-limits-on-mcp-tasks) den Aufruf, und Claude Code bittet den Server, den Task abzubrechen.581Während Claude wartet, beendet das Drücken von `Esc` oder das Erreichen des [Echtzeitlimits oder Leerlauf-Timeouts](#time-limits-on-mcp-tasks) den Aufruf, und Claude Code bittet den Server, die Aufgabe abzubrechen.

582 582 

583Wenn Sie `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1` setzen oder im [Bare-Modus](https://code.claude.com/docs/de/headless.md#start-faster-with-bare-mode) starten, lässt das allein Claude nicht auf MCP-Tasks warten. Dieses Beispiel setzt `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` auf `0`, sodass Claude bei jedem MCP-Tool-Aufruf wartet:583Wenn Sie `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1` setzen oder im [Bare-Modus](https://code.claude.com/docs/de/headless.md#start-faster-with-bare-mode) starten, lässt das allein Claude nicht auf MCP-Aufgaben warten. Dieses Beispiel setzt `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` auf `0`, sodass Claude bei jedem MCP-Tool-Aufruf wartet:

584 584 

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

586{586{


590}590}

591```591```

592 592 

593### MCP-Tasks für Serverautoren593### MCP-Aufgaben für Serverautoren

594 594 

595Wenn Sie einen MCP-Server entwickeln, können Sie ein lang laufendes `tools/call` mit einem Task beantworten. Die [MCP-Tasks-Erweiterung](https://modelcontextprotocol.io/extensions/tasks/overview) definiert die Nachrichten, die Sie senden. Bei einer Verbindung über die [Protokollrevision 2026-07-28](#mcp-client-runtimes) trägt jede Anfrage die Client-Fähigkeiten von Claude Code unter `params._meta["io.modelcontextprotocol/clientCapabilities"]`, mit `"io.modelcontextprotocol/tasks": {}` unter `extensions`. Eine `tools/call`-Anfrage, die [nicht zu einem Task werden kann](#requirements-for-mcp-tasks), lässt diese Erweiterung weg.595Wenn Sie einen MCP-Server entwickeln, können Sie einen lang laufenden `tools/call` mit einer Aufgabe beantworten. Die [MCP-Tasks-Erweiterung](https://modelcontextprotocol.io/extensions/tasks/overview) definiert die Nachrichten, die Sie senden. Bei einer Verbindung über die [Protokollrevision 2026-07-28](#mcp-client-runtimes) enthält jede Anfrage die Client-Fähigkeiten von Claude Code unter `params._meta["io.modelcontextprotocol/clientCapabilities"]`, mit `"io.modelcontextprotocol/tasks": {}` unter `extensions`. Eine `tools/call`-Anfrage, die [keine Aufgabe werden kann](#requirements-for-mcp-tasks), lässt diese Erweiterung weg.

596 596 

597#### Den Aufruf mit einem Task beantworten597#### Den Aufruf mit einer Aufgabe beantworten

598 598 

599Antworten Sie nur dann mit einer Aufgabe, wenn die Anfrage die Erweiterung enthält, andernfalls schlägt der Aufruf mit dem Tool-Fehler `Unsupported result type 'task' for tools/call` fehl. Der Aufruf schlägt auf die gleiche Weise fehl, wenn Ihre Antwort keine `taskId` oder keinen gültigen `status` hat. Das Aufgabenobjekt ist das JSON-RPC-`result` Ihrer `tools/call`-Antwort, benötigt kein `content`-Array und enthält hier die optionalen Felder `statusMessage` und `pollIntervalMs`:599Antworten Sie nur dann mit einer Aufgabe, wenn die Anfrage die Erweiterung enthält, andernfalls schlägt der Aufruf mit dem Tool-Fehler `Unsupported result type 'task' for tools/call` fehl. Der Aufruf schlägt ebenso fehl, wenn Ihre Antwort keine `taskId` oder keinen gültigen `status` hat. Das Aufgabenobjekt ist das JSON-RPC-`result` Ihrer `tools/call`-Antwort, benötigt kein `content`-Array und enthält hier die optionalen Felder `statusMessage` und `pollIntervalMs`:

600 600 

601```json theme={null}601```json theme={null}

602{602{


611}611}

612```612```

613 613 

614| Feld | Wie Claude Code damit umgeht |614| Feld | Wie Claude Code es behandelt |

615| - | - |615| - | - |

616| `resultType` | Setzen Sie es auf `"task"`, um die Antwort als Task zu kennzeichnen. Ohne das Feld liest Claude Code die Antwort als gewöhnliches Ergebnis |616| `resultType` | Setzen Sie es auf `"task"`, um die Antwort als Aufgabe zu kennzeichnen. Ohne es liest Claude Code die Antwort als einfaches Ergebnis |

617| `taskId` | Erforderlich. Höchstens 128 druckbare ASCII-Zeichen ohne Leerzeichen, sonst erhält Claude einen Tool-Fehler, der mit `MCP server "<name>" returned a malformed task handle for tool "<tool>"` beginnt. Halten Sie die ID über Verbindungen hinweg beantwortbar, da Claude Code nach einem Fortsetzen über eine neue Verbindung danach fragt |617| `taskId` | Erforderlich. Höchstens 128 druckbare ASCII-Zeichen ohne Leerzeichen, andernfalls erhält Claude einen Tool-Fehler, der mit `MCP server "<name>" returned a malformed task handle for tool "<tool>"` beginnt. Halten Sie die ID verbindungsübergreifend beantwortbar, da Claude Code nach einem Fortsetzen auf einer neuen Verbindung danach fragt |

618| `status` | Erforderlich. Einer der Werte `working`, `input_required`, `completed`, `failed` oder `cancelled`. Ein anderer Wert führt zum Fehler `Unsupported result type` |618| `status` | Erforderlich. Einer der Werte `working`, `input_required`, `completed`, `failed` oder `cancelled`. Ein anderer Wert führt zum Fehler `Unsupported result type` |

619| `createdAt`, `lastUpdatedAt`, `ttlMs` | Von der Tasks-Erweiterung verlangt, und `ttlMs` darf `null` sein. Claude Code verwirft eine Aufgabe nicht, weil ihr `ttlMs` abgelaufen ist |619| `createdAt`, `lastUpdatedAt`, `ttlMs` | Von der Tasks-Erweiterung verlangt, und `ttlMs` darf `null` sein. Claude Code verwirft eine Aufgabe nicht, weil ihr `ttlMs` abgelaufen ist |

620| `pollIntervalMs` | Optional. Millisekunden zwischen `tasks/get`-Anfragen, begrenzt auf einen Bereich von 250 bis 30000. Claude Code verwendet 2000, wenn das Feld fehlt oder `null` ist, und liest den Wert aus jeder `tasks/get`-Antwort erneut |620| `pollIntervalMs` | Optional. Millisekunden zwischen `tasks/get`-Anfragen, begrenzt auf den Bereich zwischen 250 und 30000. Claude Code verwendet 2000, wenn das Feld fehlt oder `null` ist, und liest den Wert aus jeder `tasks/get`-Antwort erneut |

621| `statusMessage` | Optional. `/tasks` zeigt den Wert aus Ihrer neuesten `tasks/get`-Antwort an, nicht aus dieser ersten, und eine Antwort ohne das Feld leert ihn. Eine [Statusmeldung von Claude Code](#status-messages-on-an-mcp-task) kann an seine Stelle treten |621| `statusMessage` | Optional. `/tasks` zeigt den Wert aus Ihrer neuesten `tasks/get`-Antwort, nicht aus dieser ersten, und eine Antwort, die das Feld weglässt, löscht ihn. Eine [Statusmeldung von Claude Code](#status-messages-on-an-mcp-task) kann an seine Stelle treten |

622 622 

623Claude Code akzeptiert eine Aufgabenantwort, die `createdAt`, `lastUpdatedAt` oder `ttlMs` weglässt oder `pollIntervalMs` auf `null` setzt. Vor v2.1.317 schlug der Aufruf stattdessen mit dem Fehler `Unsupported result type` fehl. Um auch mit diesen Versionen zu funktionieren, senden Sie die drei Felder, die die Tasks-Erweiterung verlangt, und senden Sie `pollIntervalMs` als Zahl oder gar nicht.623Claude Code akzeptiert eine Aufgabenantwort, die `createdAt`, `lastUpdatedAt` oder `ttlMs` weglässt oder `pollIntervalMs` auf `null` setzt. Vor v2.1.317 schlug der Aufruf stattdessen mit dem Fehler `Unsupported result type` fehl. Um auch mit diesen Versionen zu funktionieren, senden Sie die drei Felder, die die Tasks-Erweiterung verlangt, und senden Sie `pollIntervalMs` als Zahl oder gar nicht.

624 624 

625Bei einem HTTP- oder claude.ai-Konnektor-Server muss die Task-Antwort innerhalb des [Timers pro Anfrage](#time-limits-on-mcp-tool-calls) beginnen. Nehmen Sie daher den Auftrag an und antworten Sie zuerst, und erledigen Sie dann die Arbeit.625Bei einem HTTP- oder claude.ai-Konnektor-Server muss die Aufgabenantwort innerhalb des [Timers pro Anfrage](#time-limits-on-mcp-tool-calls) beginnen. Nehmen Sie den Job also an und antworten Sie zuerst, und erledigen Sie dann die Arbeit.

626 626 

627#### Status, Ergebnisse und Fragen melden627#### Status, Ergebnisse und Fragen melden

628 628 

629Direkt nach der Task-Antwort sendet Claude Code `tasks/get` mit `{ "taskId": ... }` und wiederholt dies dann einmal pro Abfrageintervall. Die Tasks-Erweiterung verlangt, dass Ihre Antwort `"resultType": "complete"` zusammen mit `taskId`, `status`, `createdAt`, `lastUpdatedAt` und `ttlMs` enthält. `ttlMs` darf `null` sein, und `statusMessage` und `pollIntervalMs` sind optional. Dieses Beispiel meldet den Build als abgeschlossen:629Direkt nach der Aufgabenantwort sendet Claude Code `tasks/get` mit `{ "taskId": ... }` und wiederholt dies einmal pro Abfrageintervall. Die Tasks-Erweiterung verlangt, dass Ihre Antwort `"resultType": "complete"` zusammen mit `taskId`, `status`, `createdAt`, `lastUpdatedAt` und `ttlMs` enthält. `ttlMs` darf `null` sein, und `statusMessage` und `pollIntervalMs` sind optional. Dieses Beispiel meldet den Build als abgeschlossen:

630 630 

631```json theme={null}631```json theme={null}

632{632{


642}642}

643```643```

644 644 

645| Status, Methode oder Antwort | Wie Claude Code damit umgeht |645| Status, Methode oder Antwort | Wie Claude Code es behandelt |

646| - | - |646| - | - |

647| `working` | Fragt weiter ab |647| `working` | Fragt weiter ab |

648| `completed` | Gibt Claude das normale `tools/call`-Ergebnis im `result`-Objekt auf oberster Ebene. `isError: true` darin wird als Fehlschlag gemeldet |648| `completed` | Übergibt Claude das normale `tools/call`-Ergebnis im `result`-Objekt der obersten Ebene. `isError: true` darin wird als Fehlschlag gemeldet |

649| `failed` | Teilt Claude die `message` des `error`-Objekts `{ code, message, data }` auf oberster Ebene mit, das die Tasks-Erweiterung bei einem fehlgeschlagenen Task verlangt. Ohne diese `message` erhält Claude stattdessen `statusMessage` oder andernfalls `Task failed` |649| `failed` | Teilt Claude die `message` des `error`-Objekts `{ code, message, data }` der obersten Ebene mit, das die Tasks-Erweiterung bei einer fehlgeschlagenen Aufgabe verlangt. Ohne diese `message` erhält Claude stattdessen `statusMessage`, andernfalls `Task failed` |

650| `cancelled` | Teilt Claude `statusMessage` mit oder andernfalls `Task was cancelled by the server` |650| `cancelled` | Teilt Claude `statusMessage` mit, andernfalls `Task was cancelled by the server` |

651| `input_required` | Liest `inputRequests`, ein Objekt, das einen von Ihnen gewählten Schlüssel auf `{ method, params }` abbildet. Claude Code beantwortet jeden Schlüssel einmal über `tasks/update` mit `{ taskId, inputResponses }`, wobei `inputResponses` denselben Schlüssel auf das Ergebnis dieser Anfrage abbildet. Schlüssel über 16 pro Task hinaus werden ignoriert |651| `input_required` | Liest `inputRequests`, ein Objekt, das einen von Ihnen gewählten Schlüssel auf `{ method, params }` abbildet. Claude Code beantwortet jeden Schlüssel einmal über `tasks/update` mit `{ taskId, inputResponses }`, wobei `inputResponses` denselben Schlüssel auf das Ergebnis dieser Anfrage abbildet. Schlüssel über 16 pro Aufgabe hinaus werden ignoriert |

652| Methoden in `inputRequests` | `elicitation/create` wird nur in interaktiven Terminal-Sitzungen bedient, `roots/list` überall. Wenn Claude Code eine Anfrage nicht bedienen kann, bittet es den Server, den Task abzubrechen |652| Methoden in `inputRequests` | `elicitation/create` wird nur in interaktiven Terminal-Sitzungen bedient, `roots/list` überall. Wenn Claude Code eine Anfrage nicht bedienen kann, bittet es den Server, die Aufgabe abzubrechen |

653| Ein anderer `status`-Wert | Claude Code bittet den Server, den Task abzubrechen, und meldet ihn Claude als fehlgeschlagen |653| Ein anderer `status`-Wert | Claude Code bittet den Server, die Aufgabe abzubrechen, und meldet sie Claude als fehlgeschlagen |

654| JSON-RPC-Fehler `-32602` | Wird als unbekannte Task-ID gelesen. Bei einem Task im Hintergrund fragt Claude Code bis zu fünf Minuten lang weiter nach und meldet Claude dann das Ergebnis als unbekannt |654| JSON-RPC-Fehler `-32602` | Wird als unbekannte Aufgaben-ID gelesen. Bei einer Aufgabe im Hintergrund fragt Claude Code bis zu fünf Minuten lang weiter nach und meldet Claude das Ergebnis dann als unbekannt |

655| `tasks/cancel` | Wird gesendet, zum Beispiel wenn Claude oder die Person den Task stoppt, während der Server verbunden ist. Wird beim Beenden nicht gesendet |655| `tasks/cancel` | Wird zum Beispiel gesendet, wenn Claude oder die Person die Aufgabe stoppt, während der Server verbunden ist. Wird beim Beenden nicht gesendet |

656| `tasks/result`, `tasks/list`, `notifications/tasks` | Werden nicht verwendet. Legen Sie das Ergebnis daher in Ihre `tasks/get`-Antworten |656| `tasks/result`, `tasks/list`, `notifications/tasks` | Werden nicht verwendet. Geben Sie das Ergebnis daher in Ihren `tasks/get`-Antworten an |

657 657 

658### Von Plugins bereitgestellte MCP-Server658### Von Plugins bereitgestellte MCP-Server

659 659 

660[Plugins](https://code.claude.com/docs/de/plugins/overview.md) können MCP-Server bündeln, die Tools und Integrationen bereitstellen, wenn Sie das Plugin aktivieren.660[Plugins](https://code.claude.com/docs/de/plugins/overview.md) können MCP-Server bündeln, die Tools und Integrationen bereitstellen, wenn Sie das Plugin aktivieren.

661 661 

662**Wie von Plugins bereitgestellte MCP-Server funktionieren**:662**So funktionieren Plugin-MCP-Server**:

663 663 

664* Plugins definieren MCP-Server in `.mcp.json` im Plugin-Root oder inline in `plugin.json`664* Plugins definieren MCP-Server in `.mcp.json` im Stammverzeichnis des Plugins oder inline in `plugin.json`

665* Wenn Sie ein Plugin aktivieren, startet Claude Code seine MCP-Server automatisch665* Wenn Sie ein Plugin aktivieren, startet Claude Code dessen MCP-Server automatisch

666* Claude Code bietet Plugin-MCP-Werkzeuge neben manuell konfigurierten MCP-Werkzeugen an666* Claude Code bietet Plugin-MCP-Tools neben manuell konfigurierten MCP-Tools an

667* Sie fügen Plugin-Server hinzu und entfernen sie, indem Sie das Plugin installieren oder deinstallieren, nicht mit `/mcp`-Befehlen. Sie können einen installierten Plugin-Server in `/mcp` weiterhin [ausschalten](#disable-a-server-without-removing-it), was Claude Code daran hindert, sich damit zu verbinden, ohne das Plugin zu entfernen667* Sie fügen Plugin-Server hinzu und entfernen sie, indem Sie das Plugin installieren oder deinstallieren, nicht mit `/mcp`-Befehlen. Sie können einen installierten Plugin-Server in `/mcp` dennoch [ausschalten](#disable-a-server-without-removing-it), wodurch Claude Code keine Verbindung mehr zu ihm herstellt, ohne dass das Plugin entfernt wird

668 668 

669**Beispiel-Plugin-MCP-Konfiguration**:669**Beispiel für eine Plugin-MCP-Konfiguration**:

670 670 

671In `.mcp.json` im Plugin-Root:671In `.mcp.json` im Stammverzeichnis des Plugins:

672 672 

673```json theme={null}673```json theme={null}

674{674{


698}698}

699```699```

700 700 

701**Von Plugins bereitgestellte MCP-Funktionen**:701**Plugin-MCP-Funktionen**:

702 702 

703* **Automatischer Lebenszyklus**: Server verbinden und trennen sich an diesen Punkten:703* **Automatischer Lebenszyklus**: Server verbinden und trennen sich zu folgenden Zeitpunkten:

704 * Beim Sitzungsstart verbindet Claude Code die Server für aktivierte Plugins automatisch. In `/mcp` kann ein Remote-(HTTP- oder SSE-)Plugin-Server, den Sie zuvor verwendet haben, stattdessen den [`cached`-Status](#server-status-detail) anzeigen; Claude Code verbindet ihn, wenn Claude eines seiner Werkzeuge zum ersten Mal aufruft. Wenn die Verbindung eines Stdio-Plugin-Servers vor weniger als 15 Minuten fehlgeschlagen ist, [überspringt Claude Code die Verbindung](https://code.claude.com/docs/de/errors.md#skipping-connection-recent-failure-cached)704 * Beim Start der Sitzung verbindet Claude Code die Server aktivierter Plugins automatisch. In `/mcp` kann ein Remote-Plugin-Server (HTTP oder SSE), den Sie bereits verwendet haben, stattdessen den [Status `cached`](#server-status-detail) anzeigen; Claude Code verbindet ihn, wenn Claude zum ersten Mal eines seiner Tools aufruft. Wenn die Verbindung eines stdio-Plugin-Servers vor weniger als 15 Minuten fehlgeschlagen ist, [überspringt Claude Code die Verbindung](https://code.claude.com/docs/de/errors.md#skipping-connection-recent-failure-cached)

705 * Wenn Sie ein Plugin während einer Sitzung aktivieren oder deaktivieren, verbindet oder trennt Claude Code seine MCP-Server, wenn die Änderung angewendet wird. [Plugin-Änderungen ohne Neustart anwenden](https://code.claude.com/docs/de/plugins/cli-reference.md#reload-plugins) beschreibt, wann das ist. In einer Sitzung ohne interaktives Terminal verbindet oder trennt `/reload-plugins` keine Plugin-MCP-Server; diese Änderungen treten in Ihrer nächsten Sitzung in Kraft705 * Wenn Sie während einer Sitzung ein Plugin aktivieren oder deaktivieren, verbindet oder trennt Claude Code dessen MCP-Server, sobald die Änderung wirksam wird. Wann das der Fall ist, beschreibt [Plugin-Änderungen ohne Neustart anwenden](https://code.claude.com/docs/de/plugins/cli-reference.md#reload-plugins). In einer Sitzung ohne interaktives Terminal verbindet oder trennt `/reload-plugins` keine Plugin-MCP-Server; diese Änderungen werden in Ihrer nächsten Sitzung wirksam

706 * Wenn Sie neu laden, behält Claude Code die Live-Verbindungen von Plugin-Servern, deren Konfiguration unverändert ist, und macht dasselbe, wenn Sie [die MCP-Serverliste der Sitzung](https://code.claude.com/docs/de/agent-sdk/typescript.md#mcpsetserversresult) vom Agent SDK ersetzen, ohne sie zu nennen706 * Beim Neuladen behält Claude Code die aktiven Verbindungen von Plugin-Servern bei, deren Konfiguration unverändert ist, und verfährt ebenso, wenn Sie die [MCP-Serverliste der Sitzung ersetzen](https://code.claude.com/docs/de/agent-sdk/typescript.md#mcpsetserversresult), ohne diese Server über das Agent SDK zu benennen

707 * Wenn Sie die Sitzung auf v2.1.246 oder später mit `/cd` [in ein anderes Verzeichnis verschieben](https://code.claude.com/docs/de/permissions.md#move-the-session-to-another-directory), verbindet Claude Code die Server von Plugins, die die Einstellungen des neuen Verzeichnisses aktivieren, und trennt die Server von Plugins, die nicht mehr aktiviert sind, daher müssen Sie `/reload-plugins` nach der Verschiebung nicht ausführen707 * Wenn Sie ab v2.1.246 [die Sitzung mit `/cd` verschieben](https://code.claude.com/docs/de/permissions#move-the-session-to-another-directory), verbindet Claude Code die Server der Plugins, die durch die Einstellungen des neuen Verzeichnisses aktiviert werden, und trennt die Server der Plugins, die nicht mehr aktiviert sind, sodass Sie nach dem Verschieben nicht `/reload-plugins` ausführen müssen

708 * In [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) startet ein MCP-Aufruf an einen Plugin-Server, der noch nicht verbunden ist, etwa direkt nachdem eine inaktive Sitzung aufwacht, den Server bei Bedarf und wartet auf die Verbindung708 * In [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) startet ein MCP-Aufruf an einen noch nicht verbundenen Plugin-Server, etwa direkt nach dem Aufwachen einer inaktiven Sitzung, den Server bei Bedarf und wartet, bis er verbunden ist

709* **Pfad-Platzhalter**: `${CLAUDE_PLUGIN_ROOT}` wird zum Installationsverzeichnis des Plugins aufgelöst, `${CLAUDE_PLUGIN_DATA}` zu seinem Verzeichnis für [persistenten Zustand](https://code.claude.com/docs/de/plugins/components.md#path-variables-and-persistent-data) und `${CLAUDE_PROJECT_DIR}` zum stabilen Projektstammverzeichnis. Die Substitution gilt für:709* **Pfad-Platzhalter**: `${CLAUDE_PLUGIN_ROOT}` wird zum Installationsverzeichnis des Plugins aufgelöst, `${CLAUDE_PLUGIN_DATA}` zu dessen Verzeichnis für [persistenten Zustand](https://code.claude.com/docs/de/plugins/components.md#path-variables-and-persistent-data) und `${CLAUDE_PROJECT_DIR}` zum stabilen Projektstammverzeichnis. Die Ersetzung gilt für:

710 * `stdio`-Server: `command`, `args`, `env`710 * `stdio`-Server: `command`, `args`, `env`

711 * `http`-, `sse`- und `ws`-Server: `url`, `headers` und `headersHelper`711 * `http`-, `sse`- und `ws`-Server: `url`, `headers` und `headersHelper`

712* **Zugriff auf Benutzerumgebung**: Zugriff auf dieselben Umgebungsvariablen wie manuell konfigurierte Server712* **Zugriff auf die Benutzerumgebung**: Zugriff auf dieselben Umgebungsvariablen wie bei manuell konfigurierten Servern

713* **Mehrere Transporttypen**: Unterstützung für Stdio-, SSE-, HTTP- und WebSocket-Transporte, obwohl die Transportunterstützung je nach Server variieren kann713* **Mehrere Transportarten**: Unterstützung für stdio-, SSE-, HTTP- und WebSocket-Transporte, wobei die Transportunterstützung je nach Server variieren kann

714 714 

715Plugin-Server erscheinen in `/mcp` mit Indikatoren, die zeigen, dass sie von Plugins stammen.715Plugin-Server erscheinen in `/mcp` mit Kennzeichnungen, die zeigen, dass sie aus Plugins stammen.

716 716 

717`claude mcp get` verbirgt die Werte, die für den Stdio- oder WebSocket-Server eines Plugins konfiguriert sind, da sie Anmeldedaten enthalten können:717`claude mcp get` verbirgt die für den stdio- oder WebSocket-Server eines Plugins konfigurierten Werte, da diese Anmeldedaten enthalten können:

718 718 

719* **Stdio-Server**: Es gibt `Command: stdio`, eine leere `Args:`-Zeile und jede Umgebungsvariable als `NAME=[REDACTED]` aus719* **stdio-Server**: Ausgegeben werden `Command: stdio`, eine leere `Args:`-Zeile und jede Umgebungsvariable als `NAME=[REDACTED]`

720* **WebSocket-Server**: Es gibt `URL: ws` und jeden Header als `<name>: [REDACTED]` aus, und `claude mcp list` zeigt `ws` anstelle der URL720* **WebSocket-Server**: Ausgegeben werden `URL: ws` und jeder Header als `<name>: [REDACTED]`, und `claude mcp list` zeigt `ws` anstelle der URL

721 721 

722Um zu sehen, was das Plugin konfiguriert hat, [suchen Sie das Plugin auf der Festplatte](https://code.claude.com/docs/de/plugins/loading.md#find-plugins-on-disk) und lesen Sie seine `.mcp.json` oder `plugin.json`.722Um zu sehen, was das Plugin konfiguriert hat, [suchen Sie das Plugin auf dem Datenträger](https://code.claude.com/docs/de/plugins/loading.md#find-plugins-on-disk) und lesen Sie dessen `.mcp.json` oder `plugin.json`.

723 723 

724**Namen von Plugin-MCP-Werkzeugen**:724**Namen von Plugin-MCP-Tools**:

725 725 

726Werkzeuge von einem von einem Plugin gebündelten MCP-Server enthalten sowohl den Plugin-Namen als auch den Server-Schlüssel in ihrem aufrufbaren Namen. Die vollständige Form ist `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, wobei jedes Zeichen außerhalb von `A-Z`, `a-z`, `0-9`, `_` und `-` durch `_` ersetzt wird. Für den `database-tools`-Server, der in einem Plugin namens `my-plugin` gebündelt ist, ist ein `query`-Werkzeug aufrufbar als:726Tools aus einem in einem Plugin gebündelten MCP-Server enthalten in ihrem aufrufbaren Namen sowohl den Plugin-Namen als auch den Serverschlüssel. Die vollständige Form lautet `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, wobei jedes Zeichen außerhalb von `A-Z`, `a-z`, `0-9`, `_` und `-` durch `_` ersetzt wird. Für den Server `database-tools`, der in einem Plugin namens `my-plugin` gebündelt ist, ist ein Tool `query` aufrufbar als:

727 727 

728```728```

729mcp__plugin_my-plugin_database-tools__query729mcp__plugin_my-plugin_database-tools__query

730```730```

731 731 

732Verwenden Sie diesen vollständigen Namen, wenn Sie das Werkzeug in [Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md), der `allowed-tools`-Liste eines Skills, dem [`tools`-Feld eines Subagenten](https://code.claude.com/docs/de/sub-agents#available-tools) oder einem [Hook-Matcher](https://code.claude.com/docs/de/hooks.md#match-mcp-tools) referenzieren. Ein Hook-Matcher, der gegen den bloßen Server-Schlüssel geschrieben ist, wie `mcp__database-tools__.*`, wird niemals für einen von einem Plugin gebündelten Server ausgelöst.732Verwenden Sie diesen vollständigen Namen, wenn Sie das Tool in [Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md), in der `allowed-tools`-Liste eines Skills, im [Feld `tools` eines Subagenten](https://code.claude.com/docs/de/sub-agents#available-tools) oder in einem [Hook-Matcher](https://code.claude.com/docs/de/hooks.md#match-mcp-tools) referenzieren. Ein Hook-Matcher, der gegen den bloßen Serverschlüssel geschrieben ist, etwa `mcp__database-tools__.*`, wird bei einem in einem Plugin gebündelten Server nie ausgelöst.

733 733 

734Der Server selbst registriert sich unter dem bereichsbezogenen Namen `plugin:<plugin-name>:<server-name>`, wie `plugin:my-plugin:database-tools`. Verwenden Sie diesen Namen, wo ein konfigurierter Servername erwartet wird, wie im [`server`-Feld eines `mcp_tool`-Hooks](https://code.claude.com/docs/de/hooks#mcp-tool-hook-fields).734Der Server selbst wird unter dem bereichsbezogenen Namen `plugin:<plugin-name>:<server-name>` registriert, etwa `plugin:my-plugin:database-tools`. Verwenden Sie diesen Namen dort, wo ein konfigurierter Servername erwartet wird, etwa im [Feld `server` eines `mcp_tool`-Hooks](https://code.claude.com/docs/de/hooks#mcp-tool-hook-fields).

735 735 

736Siehe die [Plugin-Komponenten-Referenz](https://code.claude.com/docs/de/plugins/components.md#mcp-servers) für Details zum Bündeln von MCP-Servern mit Plugins.736Details zum Bündeln von MCP-Servern mit Plugins finden Sie in der [Referenz zu Plugin-Komponenten](https://code.claude.com/docs/de/plugins/components.md#mcp-servers).

737 737 

738## MCP-Installationsbereiche738## MCP-Installationsbereiche

739 739 


1800* **Claude Opus 4.5, Sonnet 4.5, Haiku 4.5 und neuere**: Die Tool-Suche ist standardmäßig aktiviert, genauso wie bei der Anthropic API.1800* **Claude Opus 4.5, Sonnet 4.5, Haiku 4.5 und neuere**: Die Tool-Suche ist standardmäßig aktiviert, genauso wie bei der Anthropic API.

1801* **Frühere Agent Platform-Modelle**: Claude Code lädt alle MCP-Tools vorab, da ihre Serving-Stacks den erforderlichen Beta-Header ablehnen. `ENABLE_TOOL_SEARCH=true` überschreibt dies nicht.1801* **Frühere Agent Platform-Modelle**: Claude Code lädt alle MCP-Tools vorab, da ihre Serving-Stacks den erforderlichen Beta-Header ablehnen. `ENABLE_TOOL_SEARCH=true` überschreibt dies nicht.

1802 1802 

1803Vor v2.1.221 deaktivierte Claude Code die Tool-Suche für alle Modelle auf Google Clouds Agent Platform, es sei denn, Sie setzen `ENABLE_TOOL_SEARCH=true`.

1804 

1805Steuern Sie das Verhalten der Tool-Suche mit der Umgebungsvariablen `ENABLE_TOOL_SEARCH`:1803Steuern Sie das Verhalten der Tool-Suche mit der Umgebungsvariablen `ENABLE_TOOL_SEARCH`:

1806 1804 

1807| Wert | Verhalten |1805| Wert | Verhalten |

model-config.md +4 −4

Details

71* **Fable 5.2**: Führen Sie `/model fable` aus oder starten Sie mit `claude --model fable`. In [Claude apps gateway](https://code.claude.com/docs/de/claude-apps-gateway)-Sitzungen führen Sie stattdessen `/model claude-fable-5-2` aus.71* **Fable 5.2**: Führen Sie `/model fable` aus oder starten Sie mit `claude --model fable`. In [Claude apps gateway](https://code.claude.com/docs/de/claude-apps-gateway)-Sitzungen führen Sie stattdessen `/model claude-fable-5-2` aus.

72* **Fable 5.1 oder Fable 5**: Wählen Sie es nach Modell-ID aus. Auf der Anthropic API führen Sie `/model claude-fable-5-1` oder `/model claude-fable-5` aus oder starten Sie mit `claude --model claude-fable-5-1`. Bei anderen Anbietern verwenden Sie die Modell-ID Ihres Anbieters oder [fixieren Sie sie](#pin-models-for-third-party-deployments) mit `ANTHROPIC_DEFAULT_FABLE_MODEL`.72* **Fable 5.1 oder Fable 5**: Wählen Sie es nach Modell-ID aus. Auf der Anthropic API führen Sie `/model claude-fable-5-1` oder `/model claude-fable-5` aus oder starten Sie mit `claude --model claude-fable-5-1`. Bei anderen Anbietern verwenden Sie die Modell-ID Ihres Anbieters oder [fixieren Sie sie](#pin-models-for-third-party-deployments) mit `ANTHROPIC_DEFAULT_FABLE_MODEL`.

73 73 

74Bei Pro-, Max-, Team- und Enterprise-Plänen wird ein in Ihren Benutzereinstellungen gespeichertes `claude-fable-5-1`-Modell auf den `fable`-Alias umgestellt:74Bei Pro-, Max-, Ultra-, Team- und Enterprise-Plänen wird ein in Ihren Benutzereinstellungen gespeichertes `claude-fable-5-1`-Modell auf den `fable`-Alias umgestellt:

75 75 

76* **Pro- oder Max-Plan**: Die Umstellung erfolgt beim ersten Ausführen von v2.1.321 oder später. Im Terminal kann die Startmodellzeile einmal `(auto-updated)` anzeigen.76* **Pro-, Max- oder Ultra-Plan**: Die Umstellung erfolgt beim ersten Ausführen von v2.1.321 oder später. Im Terminal kann die Startmodellzeile einmal `(auto-updated)` anzeigen.

77* **Team- oder Enterprise-Plan**: Die Umstellung wartet auf die Einstellungen Ihrer Organisation und kann daher bei einem späteren Start oder gar nicht erfolgen. Sie gilt ab der nächsten Sitzung, ohne `(auto-updated)`-Zeile. Um Ihr Modell zu prüfen, führen Sie `/model` aus.77* **Team- oder Enterprise-Plan**: Die Umstellung wartet auf die Einstellungen Ihrer Organisation und kann daher bei einem späteren Start oder gar nicht erfolgen. Sie gilt ab der nächsten Sitzung, ohne `(auto-updated)`-Zeile. Um Ihr Modell zu prüfen, führen Sie `/model` aus.

78 78 

79Nach der Umstellung starten Sitzungen mit der Standard-Effort-Stufe von Fable 5.2, sofern Sie nicht [eine Stufe dafür festgelegt haben](#adjust-effort-level). Console-Konten, Drittanbieter sowie Projekt-, Lokal- oder verwaltete Einstellungen behalten `claude-fable-5-1`.79Nach der Umstellung starten Sitzungen mit der Standard-Effort-Stufe von Fable 5.2, sofern Sie nicht [eine Stufe dafür festgelegt haben](#adjust-effort-level). Console-Konten, Drittanbieter sowie Projekt-, Lokal- oder verwaltete Einstellungen behalten `claude-fable-5-1`.


97 97 

98Je nach Plan und Seat-Tier kann die Fable-Nutzung über [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) abgerechnet werden, anstatt auf die im Plan enthaltenen Limits zu ziehen. Wenn dies der Fall ist, zeigt die `/model`-Auswahl „Requires usage credits“ in der Fable-Zeile an. Um Nutzungsguthaben zu verwalten, siehe [Add usage credits to your subscription](https://code.claude.com/docs/de/costs.md#add-usage-credits-to-your-subscription).98Je nach Plan und Seat-Tier kann die Fable-Nutzung über [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) abgerechnet werden, anstatt auf die im Plan enthaltenen Limits zu ziehen. Wenn dies der Fall ist, zeigt die `/model`-Auswahl „Requires usage credits“ in der Fable-Zeile an. Um Nutzungsguthaben zu verwalten, siehe [Add usage credits to your subscription](https://code.claude.com/docs/de/costs.md#add-usage-credits-to-your-subscription).

99 99 

100In interaktiven Sitzungen kann Claude Code eine Zustimmungsabfrage für Fable-Nutzungsguthaben anzeigen. Mitglieder von Enterprise-Plänen mit Organisationsabrechnung sehen die Abfrage nicht. Sie können auf Fable mit Nutzungsguthaben fortfahren oder zu Ihrem Standardmodell wechseln. Sie können die Abfrage auch verwerfen:100In interaktiven Sitzungen kann Claude Code eine Zustimmungsabfrage für Fable-Nutzungsguthaben anzeigen. Sie können auf Fable mit Nutzungsguthaben fortfahren oder zu Ihrem Standardmodell wechseln. Sie können die Abfrage auch verwerfen:

101 101 

102* Wenn Sie ein Fable-Modell mit `/model` auswählen, behalten Sie Ihr aktuelles Modell.102* Wenn Sie ein Fable-Modell mit `/model` auswählen, behalten Sie Ihr aktuelles Modell.

103* Während der Sitzung setzt Claude Code den Turn auf Ihrem Standardmodell fort.103* Während der Sitzung setzt Claude Code den Turn auf Ihrem Standardmodell fort.


225 225 

226* **Sie haben es für eine Sitzung ausgewählt.** Das Drücken von `s` in der Auswahl, das Starten mit `--model` und das Ausführen von `/model` im nicht interaktiven Modus gelten alle für die aktuelle Sitzung und lassen Ihren gespeicherten Standard unverändert.226* **Sie haben es für eine Sitzung ausgewählt.** Das Drücken von `s` in der Auswahl, das Starten mit `--model` und das Ausführen von `/model` im nicht interaktiven Modus gelten alle für die aktuelle Sitzung und lassen Ihren gespeicherten Standard unverändert.

227* **Etwas mit höherer Priorität legt das Modell fest.** Ein `model`-Wert in Projekt- oder verwalteten Einstellungen, `ANTHROPIC_MODEL` in Ihrer Shell oder ein [Organisationsstandardmodell](#organization-default-model), das Ihr Admin so festgelegt hat, dass es Benutzerauswahlen überschreibt, gilt bei jedem Start erneut. Ihre `/model`-Auswahl ist weiterhin gespeichert; sie wird nur übertroffen. Wenn Projekt- oder verwaltete Einstellungen das Modell festlegen, nennt der Startheader die Datei.227* **Etwas mit höherer Priorität legt das Modell fest.** Ein `model`-Wert in Projekt- oder verwalteten Einstellungen, `ANTHROPIC_MODEL` in Ihrer Shell oder ein [Organisationsstandardmodell](#organization-default-model), das Ihr Admin so festgelegt hat, dass es Benutzerauswahlen überschreibt, gilt bei jedem Start erneut. Ihre `/model`-Auswahl ist weiterhin gespeichert; sie wird nur übertroffen. Wenn Projekt- oder verwaltete Einstellungen das Modell festlegen, nennt der Startheader die Datei.

228* **Claude Code konnte Ihre Auswahl nicht speichern.** `/model` schreibt `model` in `~/.claude/settings.json`. Wenn Sie nicht in diese Datei schreiben können, z. B. weil ein anderes Tool sie generiert oder mit einer schreibgeschützten Kopie verlinkt, gilt das ausgewählte Modell nur für die Sitzung, und der nächste Start liest den alten Wert. Legen Sie `model` in dem Tool fest, das die Datei generiert, oder machen Sie die Datei beschreibbar. Siehe [A change you made in Claude Code is lost in new sessions](https://code.claude.com/docs/de/settings.md#a-change-you-made-in-claude-code-is-lost-in-new-sessions).228* **Claude Code konnte Ihre Auswahl nicht speichern.** `/model` schreibt `model` in `~/.claude/settings.json`. Wenn Sie nicht in diese Datei schreiben können, z. B. weil ein anderes Tool sie generiert oder mit einer schreibgeschützten Kopie verlinkt, gilt das ausgewählte Modell nur für die Sitzung, und der nächste Start liest den alten Wert. Legen Sie `model` in dem Tool fest, das die Datei generiert, oder machen Sie die Datei beschreibbar. Siehe [Eine in Claude Code vorgenommene Änderung geht in neuen Sitzungen verloren](https://code.claude.com/docs/de/settings.md#a-change-you-made-in-claude-code-is-lost-in-new-sessions).

229* **Sie haben eine Sitzung fortgesetzt.** Eine Sitzung, die Sie mit `claude --resume` oder `--continue` fortsetzen, [behält normalerweise das Modell, das sie verwendete](#setting-your-model), anstatt Ihren aktuellen Standard zu verwenden.229* **Sie haben eine Sitzung fortgesetzt.** Eine Sitzung, die Sie mit `claude --resume` oder `--continue` fortsetzen, [behält normalerweise das Modell, das sie verwendete](#setting-your-model), anstatt Ihren aktuellen Standard zu verwenden.

230 230 

231## Modellauswahl einschränken231## Modellauswahl einschränken

Details

146 146 

147### Steuerung der Metrik-Kardinalität147### Steuerung der Metrik-Kardinalität

148 148 

149Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken enthalten sind, um die Kardinalität zu steuern:149Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken und Events enthalten sind, um die Kardinalität zu steuern:

150 150 

151| Umgebungsvariable | Beschreibung | Standardwert | Beispiel zum Deaktivieren |151| Umgebungsvariable | Beschreibung | Standardwert | Beispiel zum Deaktivieren |

152| - | - | - | - |152| - | - | - | - |

153| `OTEL_METRICS_INCLUDE_SESSION_ID` | session.id- und bei Cloud-Sitzungen ccr.session.id-Attribute in Metriken aufnehmen | `true` | `false` |153| `OTEL_METRICS_INCLUDE_SESSION_ID` | session.id- und bei Cloud-Sitzungen ccr.session.id-Attribute in Metriken und Events aufnehmen | `true` | `false` |

154| `OTEL_METRICS_INCLUDE_VERSION` | app.version-Attribut in Metriken aufnehmen | `false` | `true` |154| `OTEL_METRICS_INCLUDE_VERSION` | app.version-Attribut in Metriken und Events aufnehmen | `false` | `true` |

155| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | user.account\_uuid- und user.account\_id-Attribute in Metriken aufnehmen | `true` | `false` |155| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | user.account\_uuid- und user.account\_id-Attribute in Metriken und Events aufnehmen | `true` | `false` |

156| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | app.entrypoint-Attribut in Metriken aufnehmen | `false` | `true` |156| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | app.entrypoint-Attribut in Metriken und Events aufnehmen | `false` | `true` |

157| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` als Attribute an Metrik-Datenpunkten aufnehmen | `true` | `false` |157| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` als Attribute an Metrik-Datenpunkten und Events aufnehmen | `true` | `false` |

158| `OTEL_METRICS_INCLUDE_REPOSITORY` | `vcs.*`-[Attribute zur Repository-Identität](#repository-attributes) in Metriken und Events aufnehmen. Erfordert Claude Code v2.1.269 oder höher | `false` | `true` |158| `OTEL_METRICS_INCLUDE_REPOSITORY` | `vcs.*`-[Attribute zur Repository-Identität](#repository-attributes) in Metriken und Events aufnehmen. Erfordert Claude Code v2.1.269 oder höher | `false` | `true` |

159 159 

160Eine geringere Kardinalität bedeutet in der Regel bessere Performance und niedrigere Speicherkosten, aber weniger granulare Daten für die Analyse.160Eine geringere Kardinalität bedeutet in der Regel bessere Performance und niedrigere Speicherkosten, aber weniger granulare Daten für die Analyse.


523export OTEL_METRICS_EXPORTER=otlp523export OTEL_METRICS_EXPORTER=otlp

524export OTEL_LOGS_EXPORTER=otlp524export OTEL_LOGS_EXPORTER=otlp

525export OTEL_EXPORTER_OTLP_METRICS_PROTOCOL=http/protobuf525export OTEL_EXPORTER_OTLP_METRICS_PROTOCOL=http/protobuf

526export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://metrics.example.com:4318526export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://metrics.example.com:4318/v1/metrics

527export OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=grpc527export OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=grpc

528export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=http://logs.example.com:4317528export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=http://logs.example.com:4317

529```529```


571 571 

572Um Telemetrie detaillierter zuzuordnen, verwenden Sie diese Optionen:572Um Telemetrie detaillierter zuzuordnen, verwenden Sie diese Optionen:

573 573 

574* **Claude Tag-Sitzungen identifizieren**: Legen Sie `OTEL_METRICS_INCLUDE_ENTRYPOINT=true` fest, wie unter [Metriken-Kardinalitätskontrolle](#metrics-cardinality-control) beschrieben. Metriken tragen dann `app.entrypoint`, dessen Wert `claude-in-slack` für Claude Tag-Sitzungen ist.574* **Claude Tag-Sitzungen identifizieren**: Legen Sie `OTEL_METRICS_INCLUDE_ENTRYPOINT=true` fest, wie unter [Metriken-Kardinalitätskontrolle](#metrics-cardinality-control) beschrieben. Metriken und Ereignisse tragen dann `app.entrypoint`, dessen Wert `claude-in-slack` für Claude Tag-Sitzungen ist.

575* **Benutzerdefinierte Attribute hinzufügen**: Legen Sie [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) an derselben Stelle fest, an der Sie die anderen `OTEL_*`-Variablen für diese Sitzungen festlegen. Wenn Sie es stattdessen im [Setup-Skript](https://code.claude.com/docs/de/cloud-environments.md#setup-scripts) der Umgebung `export`ieren, erreicht der Wert Claude Code nicht: Das Setup-Skript ist ein separates Bash-Skript, das vor dem Start von Claude Code ausgeführt wird, und Variablen, die es exportiert, enden damit.575* **Benutzerdefinierte Attribute hinzufügen**: Legen Sie [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) an derselben Stelle fest, an der Sie die anderen `OTEL_*`-Variablen für diese Sitzungen festlegen. Wenn Sie es stattdessen im [Setup-Skript](https://code.claude.com/docs/de/cloud-environments.md#setup-scripts) der Umgebung `export`ieren, erreicht der Wert Claude Code nicht: Das Setup-Skript ist ein separates Bash-Skript, das vor dem Start von Claude Code ausgeführt wird, und Variablen, die es exportiert, enden damit.

576 576 

577In Claude Tag-Kanalsitzungen funktioniert Claude als [gemeinsame Identität](https://code.claude.com/docs/de/cloud-environments.md#set-the-environment-a-claude-tag-channel-uses) Ihrer Organisation statt als ein Mitglied, daher verlassen Sie sich nicht auf die `user.*`-Attribute, um zu identifizieren, wer Claude markiert hat.577In Claude Tag-Kanalsitzungen funktioniert Claude als [gemeinsame Identität](https://code.claude.com/docs/de/cloud-environments.md#set-the-environment-a-claude-tag-channel-uses) Ihrer Organisation statt als ein Mitglied, daher verlassen Sie sich nicht auf die `user.*`-Attribute, um zu identifizieren, wer Claude markiert hat.


587| `session.id` | Die eigene Sitzungs-ID von Claude Code, die `/clear` ersetzt | `OTEL_METRICS_INCLUDE_SESSION_ID` (Standard: true) |587| `session.id` | Die eigene Sitzungs-ID von Claude Code, die `/clear` ersetzt | `OTEL_METRICS_INCLUDE_SESSION_ID` (Standard: true) |

588| `ccr.session.id` | Cloud-Sitzungskennung, der Wert von `CLAUDE_CODE_REMOTE_SESSION_ID`, bei Sitzungen, die in einer [Cloud-Umgebung](https://code.claude.com/docs/de/cloud-environments.md) laufen | `OTEL_METRICS_INCLUDE_SESSION_ID` (Standard: true) |588| `ccr.session.id` | Cloud-Sitzungskennung, der Wert von `CLAUDE_CODE_REMOTE_SESSION_ID`, bei Sitzungen, die in einer [Cloud-Umgebung](https://code.claude.com/docs/de/cloud-environments.md) laufen | `OTEL_METRICS_INCLUDE_SESSION_ID` (Standard: true) |

589| `app.version` | Aktuelle Claude Code-Version | `OTEL_METRICS_INCLUDE_VERSION` (Standard: false) |589| `app.version` | Aktuelle Claude Code-Version | `OTEL_METRICS_INCLUDE_VERSION` (Standard: false) |

590| `app.entrypoint` | Wie die Sitzung gestartet wurde, etwa `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, `claude-vscode` oder `claude-in-slack` für Claude Tag-Sitzungen | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (Standard: false) |590| `app.entrypoint` | Wie die Sitzung gestartet wurde, zum Beispiel `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, `claude-vscode`, `claude-desktop` für Sitzungen im Code-Tab von Claude Desktop außerhalb der Cloud, `claude-desktop-3p` für dieselben Sitzungen bei einer [Drittanbieter-Bereitstellung](https://claude.com/docs/third-party/claude-desktop/overview) oder `claude-in-slack` für Claude-Tag-Sitzungen. Zu den Werten für Cloud-Sitzungen gehören `remote` sowie `remote_desktop` und `remote_mobile` für Sitzungen, die Sie aus Claude Desktop oder der mobilen App starten | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (Standard: false) |

591| `organization.id` | Organisations-UUID (bei Authentifizierung) | Immer enthalten, wenn verfügbar |591| `organization.id` | Organisations-UUID (bei Authentifizierung) | Immer enthalten, wenn verfügbar |

592| `user.account_uuid` | Konto-UUID (bei Authentifizierung) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |592| `user.account_uuid` | Konto-UUID (bei Authentifizierung) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |

593| `user.account_id` | Konto-ID im getaggten Format, passend zu den Anthropic-Admin-APIs (bei Authentifizierung), etwa `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |593| `user.account_id` | Konto-ID im getaggten Format, passend zu den Anthropic-Admin-APIs (bei Authentifizierung), etwa `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |


643 643 

644| Metrikname | Beschreibung | Einheit |644| Metrikname | Beschreibung | Einheit |

645| - | - | - |645| - | - | - |

646| `claude_code.session.count` | Anzahl gestarteter CLI-Sitzungen | keine |646| `claude_code.session.count` | Anzahl gestarteter Sitzungen | keine |

647| `claude_code.lines_of_code.count` | Anzahl geänderter Codezeilen | keine |647| `claude_code.lines_of_code.count` | Anzahl geänderter Codezeilen | keine |

648| `claude_code.pull_request.count` | Anzahl erstellter Pull Requests | keine |648| `claude_code.pull_request.count` | Anzahl erstellter Pull Requests | keine |

649| `claude_code.commit.count` | Anzahl erstellter Git-Commits | keine |649| `claude_code.commit.count` | Anzahl erstellter Git-Commits | keine |


660 660 

661#### Sitzungszähler661#### Sitzungszähler

662 662 

663Wird zu Beginn jeder Sitzung erhöht.663Wird zu Beginn jeder Sitzung erhöht. Informationen zum Zählen von Personen finden Sie unter [Nutzungsüberwachung](#usage-monitoring).

664 664 

665**Attribute**:665**Attribute**:

666 666 


1549| Metrik | Analysemöglichkeit |1549| Metrik | Analysemöglichkeit |

1550| - | - |1550| - | - |

1551| `claude_code.token.usage` | Aufschlüsselung nach Token-[`type`](#token-counter), Benutzer, Team, Modell, `skill.name`, `plugin.name` oder `agent.name` |1551| `claude_code.token.usage` | Aufschlüsselung nach Token-[`type`](#token-counter), Benutzer, Team, Modell, `skill.name`, `plugin.name` oder `agent.name` |

1552| `claude_code.session.count` | Verfolgung der Akzeptanz und des Engagements im Laufe der Zeit |

1553| `claude_code.lines_of_code.count` | Messung der Produktivität durch Verfolgung von Code-Hinzufügungen und -Entfernungen, aufgeschlüsselt nach Modell |1552| `claude_code.lines_of_code.count` | Messung der Produktivität durch Verfolgung von Code-Hinzufügungen und -Entfernungen, aufgeschlüsselt nach Modell |

1554| `claude_code.commit.count` & `claude_code.pull_request.count` | Verständnis der Auswirkungen auf Entwicklungs-Workflows |1553| `claude_code.commit.count` & `claude_code.pull_request.count` | Verständnis der Auswirkungen auf Entwicklungs-Workflows |

1555 1554 

1555Um aktive Benutzer über Oberflächen hinweg zu vergleichen, setzen Sie `OTEL_METRICS_INCLUDE_ENTRYPOINT=true`, um [`app.entrypoint`](#standard-attributes) zu Metriken und Ereignissen hinzuzufügen. Zählen Sie dann die eindeutigen `user.account_uuid`-Werte pro Entrypoint bei [`claude_code.user_prompt`](#user-prompt-event)-Ereignissen oder bei `claude_code.token.usage`, wenn Sie nur Metriken exportieren. Verwenden Sie beispielsweise `cli` für interaktive CLI-Sitzungen und gruppieren Sie `claude-desktop`, `claude-desktop-3p` und `remote_desktop` für den Code-Tab von Claude Desktop.

1556 

1557`user.account_uuid` identifiziert in Claude-Tag-Channel-Sitzungen keine Personen und fehlt in Sitzungen ohne Claude-Konto: siehe [Aktionen Benutzern zuordnen](#attribute-actions-to-users). Wenn eine Person viele Sitzungen startet oder eine Sitzung keinen Prompt erhält, steigt [`claude_code.session.count`](#session-counter), ohne dass ein aktiver Benutzer hinzukommt.

1558 

1556### Kostenüberwachung1559### Kostenüberwachung

1557 1560 

1558Die Metrik `claude_code.cost.usage` hilft bei:1561Die Metrik `claude_code.cost.usage` hilft bei:


1783## Sicherheit und Datenschutz1786## Sicherheit und Datenschutz

1784 1787 

1785* OpenTelemetry-Export zu Ihrem Backend ist opt-in und erfordert explizite Konfiguration. Informationen zu Anthropics separater operativer Telemetrie und wie Sie diese deaktivieren, finden Sie unter [Datennutzung](https://code.claude.com/docs/de/data-usage.md#telemetry-services)1788* OpenTelemetry-Export zu Ihrem Backend ist opt-in und erfordert explizite Konfiguration. Informationen zu Anthropics separater operativer Telemetrie und wie Sie diese deaktivieren, finden Sie unter [Datennutzung](https://code.claude.com/docs/de/data-usage.md#telemetry-services)

1786* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten1789* Standardmäßig sind rohe Dateiinhalte und Code-Snippets nicht in Metriken oder Ereignissen enthalten. Wenn Sie eine Variable wie `OTEL_LOG_TOOL_DETAILS` oder `OTEL_LOG_RAW_API_BODIES` setzen, können Ereignisse sie enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten

1787* Wenn über OAuth authentifiziert, ist `user.email` in Telemetrie-Attributen enthalten und wird nur an den OTel-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Wenn dies ein Problem für Ihre Organisation darstellt, arbeiten Sie mit Ihrem Telemetrie-Backend zusammen, um dieses Feld zu filtern oder zu schwärzen1790* Wenn über OAuth authentifiziert, ist `user.email` in Telemetrie-Attributen enthalten und wird nur an den OTel-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Wenn dies ein Problem für Ihre Organisation darstellt, arbeiten Sie mit Ihrem Telemetrie-Backend zusammen, um dieses Feld zu filtern oder zu schwärzen

1788* Benutzer-Prompt-Inhalte werden standardmäßig nicht erfasst. Nur die Prompt-Länge wird aufgezeichnet. Um Prompt-Inhalte einzubeziehen, setzen Sie `OTEL_LOG_USER_PROMPTS=1`. Wenn aktiviert:1791* Benutzer-Prompt-Inhalte werden standardmäßig nicht erfasst. Nur die Prompt-Länge wird aufgezeichnet. Um Prompt-Inhalte einzubeziehen, setzen Sie `OTEL_LOG_USER_PROMPTS=1`. Wenn aktiviert:

1789 * `user_prompt`-Ereignisse tragen den Prompt-Text in zwei Attributen, `prompt` und [`prompt_text`](#user-prompt-event). Wenn Sie den Prompt-Text des Ereignisses in Ihrem Collector anhand des Attributnamens verwerfen oder maskieren, nennen Sie beide Attribute in der Regel1792 * `user_prompt`-Ereignisse tragen den Prompt-Text in zwei Attributen, `prompt` und [`prompt_text`](#user-prompt-event). Wenn Sie den Prompt-Text des Ereignisses in Ihrem Collector anhand des Attributnamens verwerfen oder maskieren, nennen Sie beide Attribute in der Regel

permissions.md +5 −3

Details

578* `mcp__puppeteer__*` verwendet Wildcard-Syntax und gleicht ebenfalls alle Tools des `puppeteer`-Servers ab578* `mcp__puppeteer__*` verwendet Wildcard-Syntax und gleicht ebenfalls alle Tools des `puppeteer`-Servers ab

579* `mcp__puppeteer__puppeteer_navigate` gleicht das Tool `puppeteer_navigate` ab, das der `puppeteer`-Server bereitstellt579* `mcp__puppeteer__puppeteer_navigate` gleicht das Tool `puppeteer_navigate` ab, das der `puppeteer`-Server bereitstellt

580 580 

581Schreiben Sie allow-Regeln für MCP-Tools ohne [Spezifizierer](#use-specifiers-for-fine-grained-control), den ein [Berechtigungsupdate](https://code.claude.com/docs/de/hooks.md#permission-update-entries) als `ruleContent` bezeichnet. Wenn Sie einen hinzufügen, um nur einige Aufrufe eines Tools zuzulassen, gleicht die Regel keinen Aufruf ab. Um stattdessen einige Aufrufe zu blockieren, siehe [Nach Eingabeparameter abgleichen](#match-by-input-parameter).

582 

581Schreiben Sie für `<server>` den Namen des Servers so, wie er in den Tool-Namen dieses Servers erscheint. Diese Beispiele zeigen die Regel, die Sie für einen Namen mit Sonderzeichen, einen Server aus einem Plugin und einen Namen schreiben, der `__` enthält oder auf `_` endet:583Schreiben Sie für `<server>` den Namen des Servers so, wie er in den Tool-Namen dieses Servers erscheint. Diese Beispiele zeigen die Regel, die Sie für einen Namen mit Sonderzeichen, einen Server aus einem Plugin und einen Namen schreiben, der `__` enthält oder auf `_` endet:

582 584 

583* **Namen mit Zeichen wie `.` oder Leerzeichen**: Diese Zeichen werden zu `_`, daher schreiben Sie für einen Server, den Sie als `my.server` konfiguriert haben, `mcp__my_server__*`585* **Namen mit Zeichen wie `.` oder Leerzeichen**: Diese Zeichen werden zu `_`, daher schreiben Sie für einen Server, den Sie als `my.server` konfiguriert haben, `mcp__my_server__*`


632 634 

633PreToolUse-Hook-Entscheidungen umgehen keine Berechtigungsregeln. Claude Code evaluiert Deny- und Ask-Regeln unabhängig davon, was ein PreToolUse-Hook zurückgibt: Eine übereinstimmende Deny-Regel blockiert den Aufruf, und eine übereinstimmende Ask-Regel fordert immer noch auf, selbst wenn der Hook `"allow"` oder `"ask"` zurückgegeben hat. Dies bewahrt die Deny-First-Priorität, die in [Berechtigungen verwalten](#manage-permissions) beschrieben ist, einschließlich Deny-Regeln, die in verwalteten Einstellungen festgelegt sind.635PreToolUse-Hook-Entscheidungen umgehen keine Berechtigungsregeln. Claude Code evaluiert Deny- und Ask-Regeln unabhängig davon, was ein PreToolUse-Hook zurückgibt: Eine übereinstimmende Deny-Regel blockiert den Aufruf, und eine übereinstimmende Ask-Regel fordert immer noch auf, selbst wenn der Hook `"allow"` oder `"ask"` zurückgegeben hat. Dies bewahrt die Deny-First-Priorität, die in [Berechtigungen verwalten](#manage-permissions) beschrieben ist, einschließlich Deny-Regeln, die in verwalteten Einstellungen festgelegt sind.

634 636 

635Dieser Vorrang gilt für Hooks in Einstellungsdateien und in der `hooks/hooks.json` eines Plugins. Ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md), den Sie installieren und der das Ereignis [`tool.check`](https://code.claude.com/docs/de/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) verarbeitet, gibt seine Antwort, nachdem die `PreToolUse`-Hooks ausgeführt wurden. Wenn auf dem Computer [verwaltete Einstellungen](https://code.claude.com/docs/de/settings.md#check-what-your-organization-enforces) vorhanden sind oder ein Team- oder Enterprise-[`/login`](https://code.claude.com/docs/de/authentication#authentication-precedence) als Anmeldedaten der Sitzung dient, bleiben diese Ergebnisse standardmäßig bestehen, wenn der Mod einen Aufruf genehmigt:637Dieser Vorrang gilt für Hooks in Einstellungsdateien und in der `hooks/hooks.json` eines Plugins. Ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md), den Sie installieren und der das Ereignis [`tool.check`](https://code.claude.com/docs/de/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) verarbeitet, gibt seine Antwort, nachdem die `PreToolUse`-Hooks ausgeführt wurden. Wenn [verwaltete Einstellungen](https://code.claude.com/docs/de/settings.md#check-what-your-organization-enforces) oder eine [`managed-mcp.json`-Datei](https://code.claude.com/docs/de/managed-mcp#deploy-managed-mcp-json) vorhanden sind oder ein Team- oder Enterprise-[`/login`](https://code.claude.com/docs/de/authentication#authentication-precedence) als Anmeldedaten der Sitzung dient, bleiben diese Ergebnisse standardmäßig bestehen, wenn der Mod einen Aufruf genehmigt:

636 638 

637* Ein Aufruf, den eine deny-Regel ablehnt, bleibt abgelehnt, und Ihre Organisation kann dies ändern.639* Ein Aufruf, den eine deny-Regel ablehnt, bleibt abgelehnt.

638* Bei einem Aufruf, für den eine ask-Regel nachfragen würde, werden Sie weiterhin gefragt.640* Bei einem Aufruf, für den eine ask-Regel nachfragen würde, werden Sie weiterhin gefragt.

639* Bei einem Aufruf, für den ein `PreToolUse`-Hook oder [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) nachfragen würde, werden Sie weiterhin gefragt.641* Bei einem Aufruf, für den ein `PreToolUse`-Hook oder [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) nachfragen würde, werden Sie weiterhin gefragt.

640* Ein Aufruf, den ein `PreToolUse`-Hook blockiert hat, bleibt blockiert, unabhängig davon, aus welcher Einstellungsdatei der Hook stammt.642* Ein Aufruf, den ein `PreToolUse`-Hook blockiert hat, bleibt blockiert, unabhängig davon, aus welcher Einstellungsdatei der Hook stammt.

641* Ein Aufruf, zu dem Ihr [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder Ihr Agent SDK-[`canUseTool`-Callback](https://code.claude.com/docs/de/agent-sdk/user-input#handle-tool-approval-requests) befragt würde, wird weiterhin diesem Tool oder Callback vorgelegt.643* Ein Aufruf, zu dem Ihr [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder Ihr Agent SDK-[`canUseTool`-Callback](https://code.claude.com/docs/de/agent-sdk/user-input#handle-tool-approval-requests) befragt würde, wird weiterhin diesem Tool oder Callback vorgelegt.

642 644 

643Wenn weder verwaltete Einstellungen vorhanden sind noch ein Team- oder Enterprise-`/login` als Anmeldedaten der Sitzung dient, kann der Mod einen Aufruf genehmigen, den eine deny-Regel ablehnt oder ein `PreToolUse`-Hook blockiert hat. Eine Sitzung, die stattdessen mit einem API-Schlüssel oder einem langlebigen [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/de/authentication#generate-a-long-lived-token) läuft, verwendet diese Anmeldung nicht, selbst wenn diese Anmeldung gespeichert ist.645Ihre Konfiguration enthält möglicherweise keine verwalteten Einstellungen, keine `managed-mcp.json`-Datei und kein Team- oder Enterprise-`/login` als Anmeldedaten der Sitzung. In dieser Konfiguration kann der Mod einen Aufruf genehmigen, den eine deny-Regel ablehnt oder ein `PreToolUse`-Hook blockiert hat. Eine Sitzung, die stattdessen mit einem API-Schlüssel oder einem langlebigen [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/de/authentication#generate-a-long-lived-token) läuft, verwendet diese Anmeldung nicht, selbst wenn diese Anmeldung gespeichert ist.

644 646 

645In dieser Konfiguration werden Sie nicht gefragt, wenn der Mod einen Aufruf genehmigt, für den eine ask-Regel, ein `PreToolUse`-Hook oder `permissions.blockReadsOutsideWorkingDirectories` nachfragen würde. Auch Ihr `--permission-prompt-tool` oder `canUseTool`-Callback wird zu einem Aufruf, den der Mod genehmigt, nicht befragt. Auto-Modus, Plan-Modus und `dontAsk`-Modus fügen in jeder Konfiguration jeweils ein eigenes Ergebnis hinzu:647In dieser Konfiguration werden Sie nicht gefragt, wenn der Mod einen Aufruf genehmigt, für den eine ask-Regel, ein `PreToolUse`-Hook oder `permissions.blockReadsOutsideWorkingDirectories` nachfragen würde. Auch Ihr `--permission-prompt-tool` oder `canUseTool`-Callback wird zu einem Aufruf, den der Mod genehmigt, nicht befragt. Auto-Modus, Plan-Modus und `dontAsk`-Modus fügen in jeder Konfiguration jeweils ein eigenes Ergebnis hinzu:

646 648 

Details

94* **stdin oder stdout ist kein TTY, und Sie übergeben weder `-y` noch `--accept-command`**: Die Installation wird abgelehnt. Die Ausgabe besagt, dass der Befehl nur angezeigt wurde, und der Exit-Code ist `1`94* **stdin oder stdout ist kein TTY, und Sie übergeben weder `-y` noch `--accept-command`**: Die Installation wird abgelehnt. Die Ausgabe besagt, dass der Befehl nur angezeigt wurde, und der Exit-Code ist `1`

95* **Claude führt den Befehl über sein Bash-Tool aus**: `-y` wird ignoriert. Führen Sie den Befehl stattdessen in Ihrem eigenen Terminal aus95* **Claude führt den Befehl über sein Bash-Tool aus**: `-y` wird ignoriert. Führen Sie den Befehl stattdessen in Ihrem eigenen Terminal aus

96 96 

97Ein Plugin für alle installieren, die das Projekt klonen:97Verwenden Sie `--scope project`, um das Plugin in `.claude/settings.json` für alle einzutragen, die das Projekt klonen. Jede Person [führt diesen Befehl außerdem](https://code.claude.com/docs/de/plugins/loading.md#enabled-in-project-settings-but-not-installed) in ihrem eigenen Klon aus:

98 98 

99```bash theme={null}99```bash theme={null}

100claude plugin install formatter@my-marketplace --scope project100claude plugin install formatter@my-marketplace --scope project


333| `notes` | array of strings | Warnungen, die keine Ladefehler sind, etwa Probleme bei der Erstellung oder [nicht installierte Pakete](https://code.claude.com/docs/de/plugins/loading.md#when-the-dependency-install-fails-or-is-skipped) |333| `notes` | array of strings | Warnungen, die keine Ladefehler sind, etwa Probleme bei der Erstellung oder [nicht installierte Pakete](https://code.claude.com/docs/de/plugins/loading.md#when-the-dependency-install-fails-or-is-skipped) |

334| `errorDetails` | array of objects | Ein Objekt pro `errors`-Eintrag mit dessen Diagnosetyp `type` und den Namen, auf die er sich bezieht, etwa Plugin, Marketplace, Server oder Datei. Erfordert Claude Code v2.1.268 oder höher |334| `errorDetails` | array of objects | Ein Objekt pro `errors`-Eintrag mit dessen Diagnosetyp `type` und den Namen, auf die er sich bezieht, etwa Plugin, Marketplace, Server oder Datei. Erfordert Claude Code v2.1.268 oder höher |

335| `noteDetails` | array of objects | Dieselben Detailobjekte für jeden `notes`-Eintrag. Erfordert Claude Code v2.1.268 oder höher |335| `noteDetails` | array of objects | Dieselben Detailobjekte für jeden `notes`-Eintrag. Erfordert Claude Code v2.1.268 oder höher |

336| `hasUserConfig` | boolean | Vorhanden und `true`, wenn das Plugin geladen wurde und sein Manifest [`userConfig`-Optionen](https://code.claude.com/docs/de/plugins/manifest-reference#user-configuration) deklariert. Fehlt bei einem Plugin, das nicht geladen werden konnte, unabhängig davon, was sein Manifest deklariert. Gespeicherte Werte sind nie enthalten. Erfordert Claude Code v2.1.285 oder höher |336| `hasUserConfig` | boolean | Vorhanden und `true`, wenn das Plugin geladen wurde und sein Manifest [`userConfig`-Optionen](https://code.claude.com/docs/de/plugins/manifest-reference#user-configuration) deklariert. Fehlt bei einem Plugin, das nicht geladen werden konnte, unabhängig davon, was sein Manifest deklariert. Erfordert Claude Code v2.1.285 oder höher |

337| `projectEnabled` | boolean | Ob die gemeinsam genutzte `.claude/settings.json` des Projekts das Plugin einschaltet. Nur bei Marketplace-Installationen. Erfordert Claude Code v2.1.285 oder höher |337| `projectEnabled` | boolean | Ob die gemeinsam genutzte `.claude/settings.json` des Projekts das Plugin einschaltet. Nur bei Marketplace-Installationen. Erfordert Claude Code v2.1.285 oder höher |

338| `dataDirSize` | object | Mit `--data-size` die Größe des [gespeicherten Datenverzeichnisses](#what-an-uninstall-deletes-and-keeps) des Plugins als `bytes` und `human`; fehlt, wenn das Verzeichnis nicht vorhanden oder leer ist. Nur bei Marketplace-Installationen. Erfordert Claude Code v2.1.285 oder höher |338| `dataDirSize` | object | Mit `--data-size` die Größe des [gespeicherten Datenverzeichnisses](#what-an-uninstall-deletes-and-keeps) des Plugins als `bytes` und `human`; fehlt, wenn das Verzeichnis nicht vorhanden oder leer ist. Nur bei Marketplace-Installationen. Erfordert Claude Code v2.1.285 oder höher |

339| `dataDirUnreadable` | boolean | Mit `--data-size` `true`, wenn das gespeicherte Datenverzeichnis existiert, aber nicht gemessen werden konnte. Nur bei Marketplace-Installationen. Erfordert Claude Code v2.1.285 oder höher |339| `dataDirUnreadable` | boolean | Mit `--data-size` `true`, wenn das gespeicherte Datenverzeichnis existiert, aber nicht gemessen werden konnte. Nur bei Marketplace-Installationen. Erfordert Claude Code v2.1.285 oder höher |

Details

169 169 

170### Laden Sie ein Plugin für eine Sitzung170### Laden Sie ein Plugin für eine Sitzung

171 171 

172Sie können ein Plugin für eine einzelne Sitzung auf drei Arten laden: von einem Verzeichnis oder `.zip`-Archiv auf der Festplatte mit `--plugin-dir`, von einer URL mit `--plugin-url` oder von einer Umgebungsvariablen, wenn Sie kein Flag hinzufügen können. Jedes Plugin wird nur für diese Sitzung geladen, und nichts wird in Ihren Einstellungen dafür geschrieben. Wenn Sie die Dateien des Plugins während der Sitzung bearbeiten, führen Sie `/reload-plugins` aus, um die Änderungen zu laden.172Sie können ein Plugin für eine einzelne Sitzung auf drei Arten laden:

173 

174* Von einem Verzeichnis oder `.zip`-Archiv auf der Festplatte mit `--plugin-dir`

175* Von einer URL mit `--plugin-url`

176* Von einer Umgebungsvariablen, wenn Sie kein Flag hinzufügen können

177 

178Wenn Sie die Dateien des Plugins während der Sitzung bearbeiten, führen Sie `/reload-plugins` aus, um die Änderungen zu laden.

173 179 

174#### Laden Sie ein Plugin aus einem Verzeichnis oder `.zip`180#### Laden Sie ein Plugin aus einem Verzeichnis oder `.zip`

175 181 

Details

123 123 

124Diese Eintrag-Quellen benötigen kein Git-Konto:124Diese Eintrag-Quellen benötigen kein Git-Konto:

125 125 

126* **`archive`**: eine ZIP-Datei, die über HTTPS heruntergeladen wird. Benutzer benötigen weder `git` noch ein Konto, nur Netzwerkzugriff auf die URL. Erfordert Claude Code v2.1.224 oder später. Fixieren Sie jedes Archiv mit `sha256`, damit Claude Code einen geänderten Download ablehnt. Um Anmeldedaten mit dem Download zu senden, siehe [Authentifizieren Sie Archive-Downloads](#authenticate-archive-downloads).126* **`archive`**: eine ZIP-Datei, die über HTTPS heruntergeladen wird. Benutzer benötigen weder `git` noch ein Konto, nur Netzwerkzugriff auf die URL. Fixieren Sie jedes Archiv mit `sha256`, damit Claude Code einen geänderten Download ablehnt. Um Anmeldedaten mit dem Download zu senden, siehe [Authentifizieren Sie Archive-Downloads](#authenticate-archive-downloads).

127* **Ein öffentliches Git-Repository**: Claude Code klont eine öffentliche `url`- oder `git-subdir`-Quelle über HTTPS ohne Anmeldedaten, wenn der Eintrag eine `https://`-URL angibt. Für eine `github`-Quelle oder eine `git-subdir`-Quelle, die als `owner/repo` geschrieben ist, weisen Sie Benutzer ohne GitHub SSH-Schlüssel an, `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` zu setzen.127* **Ein öffentliches Git-Repository**: Claude Code klont eine öffentliche `url`- oder `git-subdir`-Quelle über HTTPS ohne Anmeldedaten, wenn der Eintrag eine `https://`-URL angibt. Für eine `github`-Quelle oder eine `git-subdir`-Quelle, die als `owner/repo` geschrieben ist, weisen Sie Benutzer ohne GitHub SSH-Schlüssel an, `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` zu setzen.

128 128 

129Behalten Sie `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` in Ihren Anweisungen bei, auch wenn `claude plugin install` aus der Shell auf einer Maschine ohne SSH-Schlüssel auch ohne diese Variable erfolgreich ist. Bei einer `github`-Quelle kann dieser Befehl selbstständig auf HTTPS zurückgreifen und gibt dabei `SSH not configured, cloning via HTTPS` aus. Installationen über `/plugin` innerhalb einer Sitzung und Plugin-Updates greifen nicht auf HTTPS zurück, sodass sie ohne die Variable für Benutzer ohne GitHub SSH-Schlüssel fehlschlagen.129Behalten Sie `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` in Ihren Anweisungen bei, auch wenn `claude plugin install` aus der Shell auf einer Maschine ohne SSH-Schlüssel auch ohne diese Variable erfolgreich ist. Bei einer `github`-Quelle kann dieser Befehl selbstständig auf HTTPS zurückgreifen und gibt dabei `SSH not configured, cloning via HTTPS` aus. Installationen über `/plugin` innerhalb einer Sitzung und Plugin-Updates greifen nicht auf HTTPS zurück, sodass sie ohne die Variable für Benutzer ohne GitHub SSH-Schlüssel fehlschlagen.

Details

132Der Installationsbereich eines Plugins entscheidet, wer das Plugin erhält und welche Einstellungsdatei es als aktiviert aufzeichnet:132Der Installationsbereich eines Plugins entscheidet, wer das Plugin erhält und welche Einstellungsdatei es als aktiviert aufzeichnet:

133 133 

134* **User scope**: Das Plugin ist für Sie in jedem Projekt auf diesem Computer aktiviert. Der Eintrag geht in `enabledPlugins` in `~/.claude/settings.json`.134* **User scope**: Das Plugin ist für Sie in jedem Projekt auf diesem Computer aktiviert. Der Eintrag geht in `enabledPlugins` in `~/.claude/settings.json`.

135* **Project scope**: Das Plugin ist für alle aktiviert, die in diesem Repository arbeiten. Der Eintrag geht in `.claude/settings.json`, das Sie committen. Das Committen dieses Eintrags aktiviert das Plugin für Ihre Mitarbeiter, lädt es aber nicht auf ihre Computer herunter, daher führt jeder Mitarbeiter auch `claude plugin install <name>@<marketplace> --scope project` einmal aus; siehe [In Projekteinstellungen aktiviert, aber nicht installiert](https://code.claude.com/docs/de/plugins/loading.md#enabled-in-project-settings-but-not-installed).135* **Project scope**: Das Plugin ist für alle aktiviert, die in diesem Repository arbeiten. Der Eintrag geht in `.claude/settings.json`, das Sie committen. Das Committen dieses Eintrags aktiviert das Plugin für Ihre Mitarbeiter, lädt es aber nicht auf ihre Computer herunter. Jeder Mitarbeiter führt außerdem `claude plugin install <name>@<marketplace> --scope project` einmal pro Klon aus; siehe [In Projekteinstellungen aktiviert, aber nicht installiert](https://code.claude.com/docs/de/plugins/loading.md#enabled-in-project-settings-but-not-installed).

136* **Local scope**: Das Plugin ist für Sie nur in diesem Repository aktiviert. Der Eintrag geht in `.claude/settings.local.json`.136* **Local scope**: Das Plugin ist für Sie nur in diesem Repository aktiviert. Der Eintrag geht in `.claude/settings.local.json`.

137 137 

138Einige Plugins sind vom Autor so eingestellt, dass sie standardmäßig ausgeschaltet sind, über das Feld [`defaultEnabled`](https://code.claude.com/docs/de/plugins/manifest-reference#defaultenabled). Ein solches Plugin wird installiert, bleibt aber aus, bis Sie es mit `claude plugin enable <name>` in Ihrer Shell oder von der Registerkarte **Installed** von `/plugin` in einer Sitzung aktivieren.138Einige Plugins sind vom Autor so eingestellt, dass sie standardmäßig ausgeschaltet sind, über das Feld [`defaultEnabled`](https://code.claude.com/docs/de/plugins/manifest-reference#defaultenabled). Ein solches Plugin wird installiert, bleibt aber aus, bis Sie es mit `claude plugin enable <name>` in Ihrer Shell oder von der Registerkarte **Installed** von `/plugin` in einer Sitzung aktivieren.

Details

175 175 

176### In Projekteinstellungen aktiviert, aber nicht installiert176### In Projekteinstellungen aktiviert, aber nicht installiert

177 177 

178Wenn das einzige `true` eines Plugins in der `.claude/settings.json` des Projekts ist, ruft Claude Code es nicht auf einem Computer ab, auf dem es nicht installiert ist, es sei denn, sein Marktplatz-Eintrag hat eine [relative-Pfad-Quelle](https://code.claude.com/docs/de/plugins/marketplace-reference.md#plugin-sources) oder ein [Seed-Verzeichnis](https://code.claude.com/docs/de/plugins/org.md#seed-containers-and-ci) hält es bereits. Stattdessen zeigt die `/plugin` **Errors**-Registerkarte `Plugin "<name>" is enabled in project settings but isn't installed here`.178Standardmäßig wird ein Plugin, das nur in der `.claude/settings.json` Ihres Projekts aktiviert ist, beim Sitzungsstart erst geladen, wenn Sie es auf Ihrem Computer installieren. Wenn der Marketplace auf Ihrem Computer vorhanden ist, zeigt die Registerkarte **Errors** in `/plugin` [`Plugin "<name>" is enabled in project settings but isn't installed here`](https://code.claude.com/docs/de/plugins/troubleshooting#plugin-is-enabled-in-project-settings-but-isnt-installed-here) oder [`Plugin "<name>" not cached at <path>`](https://code.claude.com/docs/de/plugins/troubleshooting#plugin-not-cached-at) an.

179 179 

180Ein Relative-Pfad-Plugin benötigt keinen Installationsdatensatz, da es vom Marktplatz selbst geladen wird.180> [!NOTE]

181>

182> Wenn die Registerkarte keine der beiden Meldungen anzeigt, [fügen Sie den Marketplace hinzu](https://code.claude.com/docs/de/plugins/install.md#add-a-marketplace), bevor Sie installieren. Seine Quelle finden Sie in der Einstellung `extraKnownMarketplaces` der `.claude/settings.json`, oder fragen Sie Ihren Maintainer.

183 

184Führen Sie zur Installation Folgendes in einer Shell im Projekt aus und verwenden Sie dabei den Schlüssel des Plugins aus `enabledPlugins`:

185 

186```shell theme={null}

187claude plugin install <name>@<marketplace> --scope project

188```

189 

190Um das Plugin zu laden, führen Sie `/reload-plugins` in Ihrer Sitzung aus oder starten Sie eine neue Sitzung. Wiederholen Sie die Installation in jedem Ihrer Klone, oder verwenden Sie `--scope user`, um alle Ihre Projekte abzudecken.

191 

192In diesen Fällen können Sie ein Plugin ohne Installation laden:

193 

194* **In einem [Seed-Verzeichnis](https://code.claude.com/docs/de/plugins/org.md#seed-containers-and-ci)**: Sie müssen nichts ausführen

195* **Über einen [relativen Pfad](https://code.claude.com/docs/de/plugins/marketplace-reference.md#plugin-sources) in einem Marketplace aufgeführt, den Sie aus einem lokalen Pfad hinzugefügt haben**: Sie müssen nichts ausführen, da das Plugin beim Sitzungsstart geladen wird

196* **Über einen relativen Pfad wie `./plugins/formatter` in der `marketplace.json` eines von Ihnen hinzugefügten Git-Marketplace aufgeführt**: Führen Sie `/reload-plugins` aus, um es nur für die aktuelle Sitzung zu laden. Um es für einen einzelnen [nicht-interaktiven `-p`-Lauf](https://code.claude.com/docs/de/headless) zu laden, setzen Sie [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL=1`](https://code.claude.com/docs/de/env-vars).

181 197 

182Claude Code ruft ein Plugin mit einer externen Quelle nur ab, wenn eine dieser Quellen es auf `true` setzt:198Claude Code ruft ein Plugin mit einer externen Quelle nur ab, wenn eine dieser Quellen es auf `true` setzt:

183 199 

Details

189 189 

190### `metadata`190### `metadata`

191 191 

192Ein Freiformobjekt für Ihre eigenen Daten, z. B. Katalog- oder Berechtigungsfelder. Claude Code liest es nicht. Erfordert Claude Code v2.1.222 oder später.192Ein Freiformobjekt für Ihre eigenen Daten, z. B. Katalog- oder Berechtigungsfelder. Claude Code liest es nicht.

193 193 

194### Felder für den Verzeichniseintrag194### Felder für den Verzeichniseintrag

195 195 


394 394 

395Jeder Komponentenpfad in einem Manifest ist relativ zum Plugin-Root und muss mit `./` beginnen. Ein Pfad wie `commands/foo.md` schlägt die Validierung fehl. `skills` und `mcpServers` akzeptieren jeweils eine Form außerhalb dieser Regel:395Jeder Komponentenpfad in einem Manifest ist relativ zum Plugin-Root und muss mit `./` beginnen. Ein Pfad wie `commands/foo.md` schlägt die Validierung fehl. `skills` und `mcpServers` akzeptieren jeweils eine Form außerhalb dieser Regel:

396 396 

397* **`skills`**: akzeptiert auch `"."`. Sowohl `"."` als auch `"./"` bezeichnen den Plugin-Root. Vor v2.1.221 schlug `"."` die Manifest-Validierung fehl, daher verwenden Sie `"./"`, wenn das Plugin auf früheren Versionen geladen werden muss397* **`skills`**: akzeptiert auch `"."`. Sowohl `"."` als auch `"./"` bezeichnen den Plugin-Root

398* **`mcpServers`**: akzeptiert auch eine `https://` Bundle-URL398* **`mcpServers`**: akzeptiert auch eine `https://` Bundle-URL

399 399 

400`experimental.evals` ist kein Komponentenpfad, daher gelten die Regeln in diesem Abschnitt nicht dafür, und `claude plugin eval` prüft den Wert stattdessen bei der Ausführung. Er benennt ein Verzeichnis unterhalb des Plugin-Root, etwa `"quality/evals"`, mit oder ohne das Präfix `./`. Bei einem Array wird nur der erste Eintrag verwendet. Welche Werte akzeptiert werden und was bei einem unbrauchbaren Wert geschieht, erfahren Sie unter [Ein anderes Eval-Verzeichnis verwenden](https://code.claude.com/docs/de/plugin-evals.md#use-a-different-eval-directory).400`experimental.evals` ist kein Komponentenpfad, daher gelten die Regeln in diesem Abschnitt nicht dafür, und `claude plugin eval` prüft den Wert stattdessen bei der Ausführung. Er benennt ein Verzeichnis unterhalb des Plugin-Root, etwa `"quality/evals"`, mit oder ohne das Präfix `./`. Bei einem Array wird nur der erste Eintrag verwendet. Welche Werte akzeptiert werden und was bei einem unbrauchbaren Wert geschieht, erfahren Sie unter [Ein anderes Eval-Verzeichnis verwenden](https://code.claude.com/docs/de/plugin-evals.md#use-a-different-eval-directory).

Details

94| `dependencies` | array | Plugins, die für dieses aktiviert sein müssen. Jedes Element ist `"name"`, `"name@marketplace"` oder ein Objekt. Siehe [Plugin-Abhängigkeiten](https://code.claude.com/docs/de/plugins/dependencies.md) |94| `dependencies` | array | Plugins, die für dieses aktiviert sein müssen. Jedes Element ist `"name"`, `"name@marketplace"` oder ein Objekt. Siehe [Plugin-Abhängigkeiten](https://code.claude.com/docs/de/plugins/dependencies.md) |

95| `defaultEnabled` | boolean | Standard `true`. Ob das Plugin aktiviert startet, wenn der Benutzer es nicht in [`enabledPlugins`](https://code.claude.com/docs/de/settings-reference#enabledplugins) gesetzt hat. Der Eintragswert hat Vorrang vor `plugin.json` |95| `defaultEnabled` | boolean | Standard `true`. Ob das Plugin aktiviert startet, wenn der Benutzer es nicht in [`enabledPlugins`](https://code.claude.com/docs/de/settings-reference#enabledplugins) gesetzt hat. Der Eintragswert hat Vorrang vor `plugin.json` |

96| `displayName` | string | Benutzerfreundlicher Name, der in der Benutzeroberfläche angezeigt wird. Wenn weder der Eintrag noch die `plugin.json` des Plugins einen setzt, sehen Benutzer den `name` des Plugins |96| `displayName` | string | Benutzerfreundlicher Name, der in der Benutzeroberfläche angezeigt wird. Wenn weder der Eintrag noch die `plugin.json` des Plugins einen setzt, sehen Benutzer den `name` des Plugins |

97| `metadata` | object | Freies Objekt für Ihre eigenen Felder. Claude Code liest es nicht. Erfordert Claude Code v2.1.222 oder später |97| `metadata` | object | Freies Objekt für Ihre eigenen Felder. Claude Code liest es nicht |

98| `headers` | object | HTTP-Header, die Claude Code sendet, wenn es diesen Eintrag [Archiv](#archive-plugin-source) herunterlädt. Ein hier gesetzter Header ersetzt einen Header mit demselben Namen aus der [`headers`](#fields-by-type) der Marketplace-Quelle. Erfordert Claude Code v2.1.238 oder später |98| `headers` | object | HTTP-Header, die Claude Code sendet, wenn es diesen Eintrag [Archiv](#archive-plugin-source) herunterlädt. Ein hier gesetzter Header ersetzt einen Header mit demselben Namen aus der [`headers`](#fields-by-type) der Marketplace-Quelle. Erfordert Claude Code v2.1.238 oder später |

99| `headersHelper` | string | Befehl, der die Archive-Download-Header dieses Eintrags als ein JSON-Objekt ausgibt, für Anmeldedaten, die ablaufen. Der Eintrag muss auch [`"strict": false`](#strict-mode) setzen. Erfordert Claude Code v2.1.238 oder später. Siehe [Authentifizieren Sie Archive-Downloads](https://code.claude.com/docs/de/plugins/host-marketplace.md#authenticate-archive-downloads) |99| `headersHelper` | string | Befehl, der die Archive-Download-Header dieses Eintrags als ein JSON-Objekt ausgibt, für Anmeldedaten, die ablaufen. Der Eintrag muss auch [`"strict": false`](#strict-mode) setzen. Erfordert Claude Code v2.1.238 oder später. Siehe [Authentifizieren Sie Archive-Downloads](https://code.claude.com/docs/de/plugins/host-marketplace.md#authenticate-archive-downloads) |

100 100 


142| `url` | `url`, `ref`, `sha` | Jedes Git-Repository nach URL |142| `url` | `url`, `ref`, `sha` | Jedes Git-Repository nach URL |

143| `git-subdir` | `url`, `path`, `ref`, `sha` | Ein Unterverzeichnis eines Git-Repository, abgerufen mit einem Sparse Checkout |143| `git-subdir` | `url`, `path`, `ref`, `sha` | Ein Unterverzeichnis eines Git-Repository, abgerufen mit einem Sparse Checkout |

144| `npm` | `package`, `version`, `registry` | npm-Registry-Paket oder Tarball-Link, abgerufen mit Ihrem npm-Client und entpackt ohne Ausführung von Installationsskripten |144| `npm` | `package`, `version`, `registry` | npm-Registry-Paket oder Tarball-Link, abgerufen mit Ihrem npm-Client und entpackt ohne Ausführung von Installationsskripten |

145| `archive` | `url`, `sha256` | Zip-Archiv über HTTPS. Erfordert Claude Code v2.1.224 oder später |145| `archive` | `url`, `sha256` | Zip-Archiv über HTTPS |

146| `command` | `command`, `timeout`, `mode` | Verzeichnis, das von einem Befehl gedruckt wird, den Claude Code auf der Maschine des Benutzers ausführt. Erfordert Claude Code v2.1.229 oder später |146| `command` | `command`, `timeout`, `mode` | Verzeichnis, das von einem Befehl gedruckt wird, den Claude Code auf der Maschine des Benutzers ausführt. Erfordert Claude Code v2.1.229 oder später |

147 147 

148Die Namen `url` und `github` sind auch [Marketplace-Quell](#marketplace-sources)-Typen, wobei `url` einen direkten Link zu einer `marketplace.json`-Datei anstelle eines Git-Repository bedeutet. `git` existiert nur als Marketplace-Quelle, und `npm` existiert als beides. `git-subdir`, `archive` und `command` existieren nur als Plugin-Quellen.148Die Namen `url` und `github` sind auch [Marketplace-Quell](#marketplace-sources)-Typen, wobei `url` einen direkten Link zu einer `marketplace.json`-Datei anstelle eines Git-Repository bedeutet. `git` existiert nur als Marketplace-Quelle, und `npm` existiert als beides. `git-subdir`, `archive` und `command` existieren nur als Plugin-Quellen.

Details

57* **Mods sind aktiviert.** Ein Benutzer kann ein Plugin, das einen Mod enthält, aus jedem Marketplace installieren, den Ihre Plugin-Einstellungen zulassen, oder einen Mod mit `--plugin-dir` aus einem Verzeichnis laden.57* **Mods sind aktiviert.** Ein Benutzer kann ein Plugin, das einen Mod enthält, aus jedem Marketplace installieren, den Ihre Plugin-Einstellungen zulassen, oder einen Mod mit `--plugin-dir` aus einem Verzeichnis laden.

58* **Ein integrierter Wächter läuft zuerst.** Claude Code lädt einen integrierten Mod namens `sec-default@builtin` vor jedem Mod, den ein Benutzer installiert. Benutzer können ihn nicht ausschalten. `/plugin` und das Debug-Log führen ihn als `cc-plugin-sec-default`. Der Wächter wird geladen, wenn eine der folgenden Bedingungen zutrifft:58* **Ein integrierter Wächter läuft zuerst.** Claude Code lädt einen integrierten Mod namens `sec-default@builtin` vor jedem Mod, den ein Benutzer installiert. Benutzer können ihn nicht ausschalten. `/plugin` und das Debug-Log führen ihn als `cc-plugin-sec-default`. Der Wächter wird geladen, wenn eine der folgenden Bedingungen zutrifft:

59 59 

60 * Der Rechner verfügt über verwaltete Einstellungen60 * Der Rechner verfügt über verwaltete Einstellungen oder eine [`managed-mcp.json`](https://code.claude.com/docs/de/managed-mcp#deploy-managed-mcp-json)-Datei

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

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

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


76 76 

77* **Einstellungs-Hooks funktionieren weiterhin.** Command-, HTTP-, Prompt- und Agent-Hooks in Einstellungsdateien und in `hooks/hooks.json` von Plugins laufen wie bisher, parallel zu Mods.77* **Einstellungs-Hooks funktionieren weiterhin.** Command-, HTTP-, Prompt- und Agent-Hooks in Einstellungsdateien und in `hooks/hooks.json` von Plugins laufen wie bisher, parallel zu Mods.

78* **Deny-Regeln haben Vorrang, wo der Wächter geladen wird.** Der Mod eines Benutzers kann keinen Aufruf genehmigen, den eine `deny`-Regel ablehnt, es sei denn, Sie setzen [`allowModsToOverrideDenyRules`](#set-options-on-the-built-in-guard).78* **Deny-Regeln haben Vorrang, wo der Wächter geladen wird.** Der Mod eines Benutzers kann keinen Aufruf genehmigen, den eine `deny`-Regel ablehnt, es sei denn, Sie setzen [`allowModsToOverrideDenyRules`](#set-options-on-the-built-in-guard).

79* **Verwaltete Hooks laufen zuerst.** Ein `PreToolUse`-Hook in verwalteten Einstellungen läuft vor dem [`tool.call`](https://code.claude.com/docs/de/plugins/mods/reference#tools)-Hook eines jeden Mods, und wenn dieser verwaltete Hook einen Tool-Aufruf blockiert, läuft für diesen Aufruf kein `tool.call`-Hook eines Mods. Wenn der Aufruf fortgesetzt wird und ein Mod ihn umschreibt, laufen Ihre verwalteten Hooks erneut für den umgeschriebenen Aufruf, sodass sie ihn weiterhin blockieren können.79* **Verwaltete Hooks laufen zuerst.** Ein `PreToolUse`-Hook in verwalteten Einstellungen läuft vor dem [`tool.call`](https://code.claude.com/docs/de/plugins/mods/reference#tools)-Hook eines jeden Mods, und wenn dieser verwaltete Hook einen Tool-Aufruf blockiert, läuft für diesen Aufruf kein `tool.call`-Hook eines Mods. Wenn der Aufruf fortgesetzt wird und ein Mod ihn umschreibt, laufen Ihre verwalteten Hooks erneut für den umgeschriebenen Aufruf, sodass sie ihn standardmäßig weiterhin blockieren können.

80 80 

81 `PreToolUse`-Hooks aus anderen Einstellungsdateien und aus Plugins laufen nach dem letzten Mod. Wenn ein Mod den Tool-Aufruf selbst beantwortet, wird das Tool nie ausgeführt, und diese Hooks laufen ebenfalls nicht. Siehe [Die Reihenfolge, in der Mods laufen](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in).81 `PreToolUse`-Hooks aus anderen Einstellungsdateien und aus Plugins laufen nach dem letzten Mod. Wenn ein Mod den Tool-Aufruf selbst beantwortet, wird das Tool nie ausgeführt, und diese Hooks laufen ebenfalls nicht. Siehe [Die Reihenfolge, in der Mods laufen](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in).

82* **Die Netzwerkrichtlinie gilt für `$.http.fetch`.**82* **Die Netzwerkrichtlinie gilt für `$.http.fetch`.**


260| Option | Nicht gesetzt | `true` |260| Option | Nicht gesetzt | `true` |

261| :- | :- | :- |261| :- | :- | :- |

262| `allowManagedModsOnly` | Die eigenen Mods der Benutzer werden ausgeführt | Nur [die Mods Ihrer Organisation](#install-your-organizations-mods) und in Claude Code integrierte Mods führen ihre Hooks aus. Claude Code lehnt jeden anderen Mod ab, einschließlich eines Mods, den ein Benutzer installiert oder mit `--plugin-dir` angegeben hat. |262| `allowManagedModsOnly` | Die eigenen Mods der Benutzer werden ausgeführt | Nur [die Mods Ihrer Organisation](#install-your-organizations-mods) und in Claude Code integrierte Mods führen ihre Hooks aus. Claude Code lehnt jeden anderen Mod ab, einschließlich eines Mods, den ein Benutzer installiert oder mit `--plugin-dir` angegeben hat. |

263| `allowModsToOverrideDenyRules` | Deny-Regeln haben Vorrang vor den Mods der Benutzer | Ein Mod eines Benutzers, der Tool-Aufrufe genehmigt, kann einen Aufruf genehmigen, den eine `deny`-Regel ablehnt |263| `allowModsToOverrideDenyRules` | Deny-Regeln haben Vorrang vor den Mods der Benutzer | Ein Mod eines Benutzers, der Tool-Aufrufe genehmigt, kann einen Aufruf entgegen den meisten [Ergebnissen, die standardmäßig bestehen bleiben](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods), genehmigen, einschließlich einer `deny`-Regel |

264 264 

265Diese Regeln entscheiden, ob eine Option wirksam wird:265Diese Regeln entscheiden, ob eine Option wirksam wird:

266 266 


350 350 

351* **Die Liste ersetzt den Standard**: Wenn Sie `prependPlugins` in verwalteten Einstellungen setzen, führen Sie darin `sec-default@builtin` auf, um den integrierten Wächter beizubehalten. Der Wächter ist integriert und benötigt keinen Eintrag in `enabledPlugins`.351* **Die Liste ersetzt den Standard**: Wenn Sie `prependPlugins` in verwalteten Einstellungen setzen, führen Sie darin `sec-default@builtin` auf, um den integrierten Wächter beizubehalten. Der Wächter ist integriert und benötigt keinen Eintrag in `enabledPlugins`.

352* **Ihre eigenen IDs müssen als Ihre gelten**: In verwalteten Einstellungen überspringt Claude Code eine ID, deren Plugin die Bedingungen für einen Mod einer Organisation nicht erfüllt352* **Ihre eigenen IDs müssen als Ihre gelten**: In verwalteten Einstellungen überspringt Claude Code eine ID, deren Plugin die Bedingungen für einen Mod einer Organisation nicht erfüllt

353* **Repositorys können sie nicht setzen**: Claude Code liest beide Einstellungen aus den verwalteten Einstellungen und niemals aus der Einstellungsdatei eines Repositorys. Ein Benutzer kann sie in `~/.claude/settings.json` setzen, um seine eigenen Mods zu ordnen, allerdings nur auf einem Rechner ohne verwaltete Einstellungen und nur, wenn die Anmeldedaten der Sitzung kein Team- oder Enterprise-`/login` sind. In allen anderen Fällen ignoriert Claude Code beide Schlüssel in den Benutzereinstellungen. Eine Liste dort fügt den integrierten Wächter weder hinzu noch entfernt sie ihn.353* **Repositorys können keine der beiden Listen setzen**: Claude Code ignoriert beide in der Einstellungsdatei eines Repositorys. Setzen Sie sie daher in verwalteten Einstellungen.

354* **Ein Benutzer kann sie setzen, um seine eigenen Mods zu ordnen**: in `~/.claude/settings.json`, allerdings nur auf einem Rechner ohne verwaltete Einstellungen oder `managed-mcp.json`-Datei und nur, wenn die Anmeldedaten der Sitzung kein Team- oder Enterprise-`/login` sind. In allen anderen Fällen ignoriert Claude Code beide Schlüssel in den Benutzereinstellungen. Eine Liste dort fügt den integrierten Wächter weder hinzu noch entfernt sie ihn.

354 355 

355### Eine Richtlinie mit einem eigenen Mod durchsetzen356### Eine Richtlinie mit einem eigenen Mod durchsetzen

356 357 

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 

24Der Mod wird 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 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).

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

37 37 

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

39 39 

40* **Enable for this session**: Die Mods im Mods-Ordner der Sitzung werden am Ende des Turns geladen und am Ende jedes Turns, der sie ändert, neu geladen. Ihre Antwort gilt für die gesamte Sitzung, auch nachdem Sie sie fortgesetzt haben.40* **Turn them on**: Die Mods im Mods-Ordner der Sitzung werden am Ende des Turns geladen und am Ende jedes Turns, der sie ändert, neu geladen. Ihre Antwort gilt für die gesamte Sitzung, auch nachdem Sie sie fortgesetzt haben.

41* **Not now**: Vorerst wird nichts geladen. Die Dateien bleiben dort, wo Claude sie geschrieben hat, und die Mods werden beim nächsten Start dieser Sitzung geladen. Um zu verhindern, dass ein Mod jemals geladen wird, löschen Sie sein Verzeichnis.41* **Not now**: Vorerst wird nichts geladen. Die Dateien bleiben dort, wo Claude sie geschrieben hat, und die Mods werden beim nächsten Start dieser Sitzung geladen. Um zu verhindern, dass ein Mod jemals geladen wird, löschen Sie sein Verzeichnis.

42 42 

43**3. Prüfen, ob der Mod geladen wurde**43**3. Prüfen, ob der Mod geladen wurde**


59 59 

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

61 61 

62Ein von Claude geschriebener Mod wird erst geladen, nachdem Sie ihn genehmigt haben, und nur in einem vertrauenswürdigen Workspace, in dem Mods ausgeführt werden dürfen. In diesen Sitzungen wird er nicht geladen: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:

63 63 

64* **Niemand ist da, um zu genehmigen**: Die Sitzung kann Ihnen keine Abfrage anzeigen, etwa bei einer Ausführung mit `claude -p` oder im [`dontAsk`-Modus](https://code.claude.com/docs/de/permission-modes)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)

65* **Der Workspace ist nicht vertrauenswürdig**: Sie haben die Vertrauensabfrage für das Verzeichnis nicht akzeptiert65* **Der Workspace ist nicht vertrauenswürdig**: 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)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)

67 67 

Details

328 328 

329Prüfen Sie, welche Mods dieses Event erhalten, und Ihre Version von Claude Code:329Prüfen Sie, welche Mods dieses Event erhalten, und Ihre Version von Claude Code:

330 330 

331* **Der integrierte Wächter**: Mit verwalteten Einstellungen oder mit einem Team- oder Enterprise-[`/login`](https://code.claude.com/docs/de/authentication#authentication-precedence) als Anmeldedaten der Sitzung kann der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) diesen Hook in einem Mod überspringen, den Sie installieren oder mit `--plugin-dir` laden. Um dies zu prüfen, durchsuchen Sie das [Debug-Log](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#read-the-debug-log) nach `settings.read bypassed by cc-plugin-sec-default`. Wenn eine Zeile mit diesem Text Ihren Mod nennt, bitten Sie den Administrator Ihrer Organisation, [den Mod als einen der Mods der Organisation zu installieren](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods).331* **Der integrierte Wächter**: Wo der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) geladen wird, kann er diesen Hook in einem Mod überspringen, den Sie installieren oder mit `--plugin-dir` laden. Um dies zu prüfen, durchsuchen Sie das [Debug-Log](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#read-the-debug-log) nach `settings.read bypassed by cc-plugin-sec-default`. Wenn eine Zeile mit diesem Text Ihren Mod nennt, bitten Sie den Administrator Ihrer Organisation, [den Mod als einen der Mods der Organisation zu installieren](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods).

332* **Die Version**: Das Auslösen des Events beim eigenen Lesevorgang von Claude Code und das Feld `e.layers` erfordern Claude Code v2.1.304 oder höher.332* **Die Version**: Das Auslösen des Events beim eigenen Lesevorgang von Claude Code und das Feld `e.layers` erfordern Claude Code v2.1.304 oder höher.

333 333 

334#### Was ein `settings.read`-Hook erhält334#### Was ein `settings.read`-Hook erhält

Details

78 78 

79Mods werden nicht in einer Sandbox ausgeführt. Wenn Sie [Sandboxing](https://code.claude.com/docs/de/sandboxing.md) aktivieren, isoliert die Sandbox die Bash-Befehle, die Claude ausführt, während ein Prozess, den ein Mod startet, außerhalb davon läuft.79Mods werden nicht in einer Sandbox ausgeführt. Wenn Sie [Sandboxing](https://code.claude.com/docs/de/sandboxing.md) aktivieren, isoliert die Sandbox die Bash-Befehle, die Claude ausführt, während ein Prozess, den ein Mod startet, außerhalb davon läuft.

80 80 

81Wenn [verwaltete Einstellungen](https://code.claude.com/docs/de/settings.md#check-what-your-organization-enforces) gelten oder ein Team- oder Enterprise-[`/login`](https://code.claude.com/docs/de/authentication#authentication-precedence) als Anmeldedaten der Sitzung dient, bringt die Genehmigung eines Mods einen Aufruf standardmäßig nicht an Ihren `ask`-Regeln oder `PreToolUse`-Hooks vorbei. Ohne eines von beiden kann ein Mod einen Aufruf genehmigen, für den eine `ask`-Regel nachfragen würde oder den Ihr `PreToolUse`-Hook blockiert hat. Unter [Berechtigungen mit Hooks erweitern](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) erfahren Sie, wann ein Mod auch einen Aufruf genehmigen kann, den eine `deny`-Regel ablehnt.81Ein Mod kann [viele Tool-Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) genehmigen, die Ihre `deny`- oder `ask`-Regeln oder Ihre `PreToolUse`-Hooks stoppen würden, sofern der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) dies nicht verhindert. Ist der Wächter geladen, kann der Mod eines Benutzers dies standardmäßig nicht. In einer lokalen Terminal-Sitzung bedeutet `cc-plugin-sec-default` auf dem Tab **Installed** von `/plugin`, dass der Wächter geladen ist.

82 82 

83Ein Mod kann einen Großteil der Oberfläche von Claude Code umgestalten, nicht jedoch die Berechtigungsabfrage. Er kann nicht ändern, was Ihnen eine Berechtigungsabfrage anzeigt.83Ein Mod kann einen Großteil der Oberfläche von Claude Code umgestalten, nicht jedoch die Berechtigungsabfrage. Er kann nicht ändern, was Ihnen eine Berechtigungsabfrage anzeigt.

84 84 

Details

252| [`AbovePrompt`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Eine Instanz | Terminal, Desktop |252| [`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| [`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| [`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 |

254| [`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. |254| [`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. |

255| `UserMessage` | `text`, `origin`, `isExpanded` sowie je nach Herkunft `task` oder `from` | Die Nachrichten-ID | Terminal, Desktop, VS Code |255| `UserMessage` | `text`, `origin`, `isExpanded` sowie je nach Herkunft `task` oder `from` | Die ID der gezeichneten Zeile | Terminal, Desktop, VS Code |

256| `AssistantMessage` | Der Text der Antwort | Die Nachrichten-ID | Terminal, Desktop, VS Code |256| `AssistantMessage` | Der Text der Antwort | Die ID der gezeichneten Zeile | Terminal, Desktop, VS Code |

257| `ToolUse`, `ToolResult`, `ToolGroup` | Name, Eingabe und Ergebnis des Tools | Die ID des Tool-Aufrufs | Terminal, Desktop, VS Code |257| `ToolUse`, `ToolResult`, `ToolGroup` | Name, Eingabe und Ergebnis des Tools | Die ID des Tool-Aufrufs | Terminal, Desktop, VS Code |

258| `CommandOutput` | `command`, `text` | Die Nachrichten-ID | Terminal, Desktop |258| `CommandOutput` | `command`, `text` | Die ID der gezeichneten Zeile | Terminal, Desktop |

259| [`AskUserQuestion`](https://code.claude.com/docs/de/plugins/mods/interface#change-what-claude-code-already-draws) | Die Frage und die Optionen | Die ID des Tool-Aufrufs | Terminal, Desktop, VS Code |259| [`AskUserQuestion`](https://code.claude.com/docs/de/plugins/mods/interface#change-what-claude-code-already-draws) | Die Frage und die Optionen | Die ID des Tool-Aufrufs | Terminal, Desktop, VS Code |

260| `ToolProgress` | `kind` | Die ID des Tool-Aufrufs | Terminal |260| `ToolProgress` | `kind` | Die ID des Tool-Aufrufs | Terminal |

261| [`Spinner`](https://code.claude.com/docs/de/plugins/mods/interface#change-what-claude-code-already-draws) | `word`, `message`, `suffix`, `mode` | Die ID des Agenten | Terminal, Desktop, VS Code |261| [`Spinner`](https://code.claude.com/docs/de/plugins/mods/interface#change-what-claude-code-already-draws) | `word`, `message`, `suffix`, `mode` | Die ID des Agenten | Terminal, Desktop, VS Code |

262| `TurnDuration` | `word`, `durationMs` | Die Nachrichten-ID | Terminal |262| `TurnDuration` | `word`, `durationMs` | Die ID der gezeichneten Zeile | Terminal |

263| `InfoNotice` | `text`, `command` | Die Nachrichten-ID | Terminal |263| `InfoNotice` | `text`, `command` | Der `text` des Hinweises mit dem Präfix `notice:` | Terminal |

264| `SessionMode` | `modes` | Eine Instanz | Terminal, Desktop |264| `SessionMode` | `modes` | Eine Instanz | Terminal, Desktop |

265| `PromptHint` | `isDraft`, `isWorking`, `hint` | Eine Instanz | Terminal, Desktop |265| `PromptHint` | `isDraft`, `isWorking`, `hint` | Eine Instanz | Terminal, Desktop |

266 266 


424| :- | :- | :- |424| :- | :- | :- |

425| `CLAUDE_CODE_PLUGIN_DIRS` | Umgebung oder `env` in `~/.claude/settings.json` | Plugin-Verzeichnisse, die wie mit `--plugin-dir` geladen werden, für Anwendungen, denen Sie kein Flag übergeben können. Absolute Pfade, getrennt durch `:` bzw. unter Windows durch `;`. |425| `CLAUDE_CODE_PLUGIN_DIRS` | Umgebung oder `env` in `~/.claude/settings.json` | Plugin-Verzeichnisse, die wie mit `--plugin-dir` geladen werden, für Anwendungen, denen Sie kein Flag übergeben können. Absolute Pfade, getrennt durch `:` bzw. unter Windows durch `;`. |

426| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Umgebung | `1` bewirkt, dass eine lang laufende nicht-interaktive Sitzung `--plugin-dir`-Mods beim Speichern neu lädt |426| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Umgebung | `1` bewirkt, dass eine lang laufende nicht-interaktive Sitzung `--plugin-dir`-Mods beim Speichern neu lädt |

427| `prependPlugins`, `appendPlugins` | Verwaltete Einstellungen. Benutzereinstellungen nur auf einem Rechner ohne verwaltete Einstellungen und in einer Sitzung, deren Anmeldedaten nicht aus einem Team- oder Enterprise-`/login` stammen. | Listen von Plugin-IDs, etwa `acme-guard@acme-tools`. Mods in `prependPlugins` laufen vor jedem Mod, den ein Benutzer installiert, und Mods in `appendPlugins` danach, jeweils in der aufgeführten Reihenfolge. Siehe [Die Reihenfolge, in der Mods ausgeführt werden](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in). |427| `prependPlugins`, `appendPlugins` | Verwaltete Einstellungen. Benutzereinstellungen nur auf einem Rechner ohne verwaltete Einstellungen oder [`managed-mcp.json`](https://code.claude.com/docs/de/managed-mcp#deploy-managed-mcp-json)-Datei und in einer Sitzung, deren Anmeldedaten nicht aus einem Team- oder Enterprise-`/login` stammen. | Listen von Plugin-IDs, etwa `acme-guard@acme-tools`. Mods in `prependPlugins` laufen vor jedem Mod, den ein Benutzer installiert, und Mods in `appendPlugins` danach, jeweils in der aufgeführten Reihenfolge. Siehe [Die Reihenfolge, in der Mods ausgeführt werden](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in). |

428| `allowManagedModsOnly` | Verwaltete Einstellungen, als [Option des integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#set-options-on-the-built-in-guard) | Nur Mods, die [als Mods Ihrer Organisation gelten](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods), sowie die in Claude Code integrierten Mods führen ihre Hooks aus. Die Einstellungs-Hooks der Benutzer laufen weiter. |428| `allowManagedModsOnly` | Verwaltete Einstellungen, als [Option des integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#set-options-on-the-built-in-guard) | Nur Mods, die [als Mods Ihrer Organisation gelten](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods), sowie die in Claude Code integrierten Mods führen ihre Hooks aus. Die Einstellungs-Hooks der Benutzer laufen weiter. |

429| `allowModsToOverrideDenyRules` | Verwaltete Einstellungen, als [Option des integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#set-options-on-the-built-in-guard) | Erlaubt einem von einem Benutzer installierten Mod, einen Tool-Aufruf zu genehmigen, den eine `deny`-Regel ablehnt |429| `allowModsToOverrideDenyRules` | Verwaltete Einstellungen, als [Option des integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#set-options-on-the-built-in-guard) | Erlaubt einem von einem Benutzer installierten Mod, einen Tool-Aufruf über die meisten [standardmäßig bestehen bleibenden Ergebnisse](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) hinweg zu genehmigen, einschließlich einer `deny`-Regel |

430| `allowManagedHooksOnly` | Verwaltete Einstellungen | Blockiert Hooks und installierte Mods, die nicht von Ihrer Organisation stammen. Siehe [was weiterhin ausgeführt wird](https://code.claude.com/docs/de/settings-reference.md#what-runs-under-allowmanagedhooksonly). |430| `allowManagedHooksOnly` | Verwaltete Einstellungen | Blockiert Hooks und installierte Mods, die nicht von Ihrer Organisation stammen. Siehe [was weiterhin ausgeführt wird](https://code.claude.com/docs/de/settings-reference.md#what-runs-under-allowmanagedhooksonly). |

431| `disableAllHooks` | Jede Einstellungsdatei | In verwalteten Einstellungen wird kein Mod und kein Hook aus einem installierten Plugin ausgeführt. In Ihren eigenen Einstellungen läuft weiterhin, was Ihre Organisation verwaltet. Siehe [`disableAllHooks`](https://code.claude.com/docs/de/settings-reference#disableallhooks). |431| `disableAllHooks` | Jede Einstellungsdatei | In verwalteten Einstellungen wird kein Mod und kein Hook aus einem installierten Plugin ausgeführt. In Ihren eigenen Einstellungen läuft weiterhin, was Ihre Organisation verwaltet. Siehe [`disableAllHooks`](https://code.claude.com/docs/de/settings-reference#disableallhooks). |

432| `disableSideloadFlags` | Verwaltete Einstellungen | Lehnt `--plugin-dir` und `--plugin-url` beim Start ab |432| `disableSideloadFlags` | Verwaltete Einstellungen | Lehnt `--plugin-dir` und `--plugin-url` beim Start ab |

433| `pluginConfigs` | Benutzer- oder verwaltete Einstellungen | Enthält `userConfig`-Werte für einen Mod, mit der ID des Plugins als Schlüssel, etwa `acme-guard@acme-tools`, oder mit seinem Namen und `@inline`, etwa `first-mod@inline`, für einen mit `--plugin-dir` geladenen Mod |433| `pluginConfigs` | Benutzer- oder verwaltete Einstellungen | Enthält `userConfig`-Werte für einen Mod, mit der ID des Plugins als Schlüssel, etwa `acme-guard@acme-tools`, oder mit seinem Namen und `@inline`, etwa `first-mod@inline`, für einen mit `--plugin-dir` geladenen Mod |

434 434 

435`sec-default@builtin` ist ein in Claude Code integrierter Wächter, der in `/plugin` und im Debug-Log als `cc-plugin-sec-default` aufgeführt wird. Er wird vor jedem Mod geladen, den eine Person auf einem Rechner mit verwalteten Einstellungen installiert, oder in einer Sitzung, deren Anmeldedaten aus einem Team- oder Enterprise-[`/login`](https://code.claude.com/docs/de/authentication#authentication-precedence) stammen. Wenn das verwaltete `prependPlugins` gesetzt ist, wird der Wächter nur geladen, wenn diese Liste ihn aufführt, und zwar an der aufgeführten Position.435`sec-default@builtin` ist ein in Claude Code integrierter Wächter, der in `/plugin` und im Debug-Log als `cc-plugin-sec-default` aufgeführt wird. [Wo er geladen wird](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default), läuft er vor jedem Mod, den eine Person installiert. Wenn das verwaltete `prependPlugins` gesetzt ist, wird der Wächter nur geladen, wenn diese Liste ihn aufführt, und zwar an der aufgeführten Position.

436 436 

437Sein Quellcode befindet sich im [Verzeichnis `mods/sec-default` des Claude Code-Repositorys](https://github.com/anthropics/claude-code/tree/main/mods/sec-default).437Sein Quellcode befindet sich im [Verzeichnis `mods/sec-default` des Claude Code-Repositorys](https://github.com/anthropics/claude-code/tree/main/mods/sec-default).

438 438 

Details

14 14 

15Wenn ein Modul nicht geladen wird, ein Hook übersprungen wird oder ein anderer Mod Ihren Mod ablehnt, schreibt Claude Code eine Zeile, die Ihren Mod nennt. Wo Sie diese Zeile lesen, hängt von der Sitzung ab:15Wenn ein Modul nicht geladen wird, ein Hook übersprungen wird oder ein anderer Mod Ihren Mod ablehnt, schreibt Claude Code eine Zeile, die Ihren Mod nennt. Wo Sie diese Zeile lesen, hängt von der Sitzung ab:

16 16 

17* **Eine Sitzung, die ein Plugin-Verzeichnis per Hot Reload neu lädt**: eine abgeblendete Zeile im Transkript. Das ist eine interaktive Sitzung, die Sie mit `--plugin-dir` gestartet haben, oder eine, in der Sie für von Claude geschriebene Mods [Hot Reloading aktiviert](https://code.claude.com/docs/de/plugins/mods/create.md#ask-claude-for-a-mod) haben.17* **Eine Sitzung, die ein Plugin-Verzeichnis per Hot Reload neu lädt**: eine abgeblendete Zeile im Transkript. Das ist eine interaktive Sitzung, die Sie mit `--plugin-dir` gestartet haben, oder eine, in der für von Claude geschriebene Mods [Hot Reloading aktiviert ist](https://code.claude.com/docs/de/plugins/mods/create.md#ask-claude-for-a-mod).

18* **Jede andere interaktive Sitzung, etwa eine, die einen aus einem Marketplace installierten Mod ausführt**: ausschließlich das [Debug-Log](#read-the-debug-log). Um eines zu erhalten, starten Sie die Sitzung mit `claude --debug`.18* **Jede andere interaktive Sitzung, etwa eine, die einen aus einem Marketplace installierten Mod ausführt**: ausschließlich das [Debug-Log](#read-the-debug-log). Um eines zu erhalten, starten Sie die Sitzung mit `claude --debug`.

19* **Ein `claude -p`-Lauf mit `--plugin-dir`**: stderr, im standardmäßigen Textausgabeformat. Eine Ablehnung durch einen anderen Mod wird ausschließlich in das Debug-Log geschrieben.19* **Ein `claude -p`-Lauf mit `--plugin-dir`**: stderr, im standardmäßigen Textausgabeformat. Eine Ablehnung durch einen anderen Mod wird ausschließlich in das Debug-Log geschrieben.

20 20 


68 68 

69### Meldungen des integrierten Wächters69### Meldungen des integrierten Wächters

70 70 

71Auf einem Rechner mit verwalteten Einstellungen oder in einer Sitzung, deren Anmeldedaten aus einem Team- oder Enterprise-`/login` stammen, kann der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) einen Mod oder eine seiner Antworten ablehnen. Jede Meldung nennt die Option, die der Administrator Ihrer Organisation setzt, um die Regel zu ändern.71Wo der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) geladen wird, kann er einen Mod oder eine seiner Antworten ablehnen. Jede Meldung nennt die Option, die der Administrator Ihrer Organisation setzt, um die Regel zu ändern.

72 72 

73| Meldung enthält | Bedeutung | Wo sie erscheint |73| Meldung enthält | Bedeutung | Wo sie erscheint |

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

plugins/org.md +1 −1

Details

89* **Interaktive Sitzungen**: Claude Code registriert den Marketplace nur, nachdem der Mitwirkende den [Workspace-Vertrauensdialog](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) für diesen Ordner akzeptiert hat.89* **Interaktive Sitzungen**: Claude Code registriert den Marketplace nur, nachdem der Mitwirkende den [Workspace-Vertrauensdialog](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) für diesen Ordner akzeptiert hat.

90* **[Nicht-interaktive `-p`-Läufe](https://code.claude.com/docs/de/headless)**: Die Einträge gelten nur in einem Ordner, dessen Vertrauen der Benutzer bereits interaktiv akzeptiert hat, oder dessen `hasTrustDialogAccepted`-Flag Sie in `~/.claude.json` setzen.90* **[Nicht-interaktive `-p`-Läufe](https://code.claude.com/docs/de/headless)**: Die Einträge gelten nur in einem Ordner, dessen Vertrauen der Benutzer bereits interaktiv akzeptiert hat, oder dessen `hasTrustDialogAccepted`-Flag Sie in `~/.claude.json` setzen.

91 91 

92Ein Plugin, das der Marketplace durch einen relativen Pfad auflistet, wird aus der Marketplace-Kopie geladen, sobald die `extraKnownMarketplaces`-Einträge des Repositories gelten. Ein Plugin, dessen Marketplace-Eintrag stattdessen auf eine externe Quelle verweist, z. B. das eigene GitHub-Repository des Plugins, wird nicht allein aus den Repository-Einstellungen installiert. Jeder Mitwirkende sieht `Plugin "<name>" is enabled in project settings but isn't installed`, bis er `claude plugin install <name>@<marketplace> --scope project` ausführt, wie [Plugins installieren](https://code.claude.com/docs/de/plugins/install.md) beschreibt.92Das Setzen von `enabledPlugins` im Repository installiert das Plugin nicht. Sobald der Marketplace registriert ist, bitten Sie jeden Mitwirkenden, `claude plugin install <name>@<marketplace> --scope project` auszuführen. Bis dahin kann die Registerkarte **Errors** in `/plugin` `Plugin "<name>" is enabled in project settings but isn't installed here` oder [`not cached`](https://code.claude.com/docs/de/plugins/troubleshooting#plugin-not-cached-at) anzeigen. Mitwirkende benötigen die Installation nicht, wenn ein lokaler `directory`- oder `file`-Marketplace das Plugin mit einer [`source` mit relativem Pfad](https://code.claude.com/docs/de/plugins/marketplace-reference#plugin-sources) auflistet.

93 93 

94Wenn Sie eine lokale `directory`- oder `file`-Quelle mit einem relativen Pfad verwenden, wird der Pfad gegen den Haupt-Checkout Ihres Repositories aufgelöst. Wenn Sie Claude Code aus einem Git-Worktree ausführen, verweist der Pfad immer noch auf den Haupt-Checkout, sodass alle Worktrees denselben Marketplace-Speicherort gemeinsam nutzen.94Wenn Sie eine lokale `directory`- oder `file`-Quelle mit einem relativen Pfad verwenden, wird der Pfad gegen den Haupt-Checkout Ihres Repositories aufgelöst. Wenn Sie Claude Code aus einem Git-Worktree ausführen, verweist der Pfad immer noch auf den Haupt-Checkout, sodass alle Worktrees denselben Marketplace-Speicherort gemeinsam nutzen.

95 95 

Details

322 322 

323### Marktplatz-Updates schlagen offline immer fehl323### Marktplatz-Updates schlagen offline immer fehl

324 324 

325Sie arbeiten in einer Umgebung, in der der Git-Host des Marktplatzes nicht erreichbar ist, und jede Sitzung wiederholt eine fehlgeschlagene Aktualisierung im Hintergrund. Ihr vorhandener Checkout des Marktplatzes bleibt an Ort und Stelle und der Start wird nicht verzögert.325Sie arbeiten in einer Umgebung, in der der Git-Host des Marktplatzes nicht erreichbar ist, und jede Sitzung wiederholt eine fehlgeschlagene Aktualisierung im Hintergrund. Ihr vorhandener Checkout des Marktplatzes bleibt an Ort und Stelle.

326 326 

327Jede Sitzung überprüft Claude Code für einen Marktplatz mit [Auto-Update an](https://code.claude.com/docs/de/plugins/loading.md#which-marketplaces-and-plugins-auto-update) den Git-Host des Marktplatzes im Hintergrund auf neue Commits. Wenn diese Überprüfung den Host nicht erreichen kann, versucht sie, den Marktplatz erneut zu klonen, und offline schlägt dieser Clone auch fehl.327Jede Sitzung überprüft Claude Code für einen Marktplatz mit [Auto-Update an](https://code.claude.com/docs/de/plugins/loading.md#which-marketplaces-and-plugins-auto-update) den Git-Host des Marktplatzes im Hintergrund auf neue Commits. Wenn diese Überprüfung den Host nicht erreichen kann, versucht sie, den Marktplatz erneut zu klonen, und offline schlägt dieser Clone auch fehl.

328 328 


675 675 

676### `Plugin "<name>" not cached at <path>`676### `Plugin "<name>" not cached at <path>`

677 677 

678Die Registerkarte **Errors** zeigt diese Zeile mit der Anleitung `Run /plugin to refresh the plugin cache`. Claude Code hat einen Installationsdatensatz für das Plugin, aber das Verzeichnis, auf das der Datensatz zeigt, fehlt, zum Beispiel nachdem Sie den Cache gelöscht haben.678Die Registerkarte **Errors** zeigt diese Zeile mit der Anleitung `Run /plugin to refresh the plugin cache`. Sie bedeutet, dass Claude Code keine verwendbare Kopie des Plugins gefunden hat. Zum Beispiel haben Sie den Cache gelöscht, sodass das Verzeichnis, auf das sein Installationsdatensatz zeigt, fehlt. Oder Sie haben ein Repository geöffnet, dessen Einstellungen das Plugin aktivieren, und Sie haben es nicht installiert.

679 679 

680Installieren Sie das Plugin erneut von Ihrer Shell. `claude plugin install <name>@<marketplace>` lädt ein Plugin erneut herunter, dessen Installationsverzeichnis fehlt, obwohl sein Datensatz vorhanden ist:680Installieren Sie das Plugin von Ihrer Shell aus. Wenn Sie ein Repository geöffnet haben, dessen `.claude/settings.json` das Plugin aktiviert, führen Sie Folgendes im Projekt mit dem Schlüssel des Plugins aus `enabledPlugins` aus, wie unter [Enabled in project settings but not installed](https://code.claude.com/docs/de/plugins/loading.md#enabled-in-project-settings-but-not-installed) beschrieben:

681 

682```shell theme={null}

683claude plugin install <name>@<marketplace> --scope project

684```

685 

686Andernfalls führen Sie Folgendes aus, was ein Plugin erneut herunterlädt, dessen Installationsverzeichnis fehlt, obwohl sein Datensatz vorhanden ist:

681 687 

682```shell theme={null}688```shell theme={null}

683claude plugin install <name>@<marketplace>689claude plugin install <name>@<marketplace>

684```690```

685 691 

686Führen Sie dann `/reload-plugins` in Ihrer Sitzung aus. Der Eintrag in der Registerkarte **Errors** verschwindet und das Plugin ist wieder unter **Installed**.692Führen Sie dann `/reload-plugins` in Ihrer Sitzung aus. Der Eintrag in der Registerkarte **Errors** verschwindet und das Plugin ist unter **Installed** aufgelistet.

687 693 

688### `installed_plugins.json holds a record under "<id>" that this version of Claude Code cannot read`694### `installed_plugins.json holds a record under "<id>" that this version of Claude Code cannot read`

689 695 

Details

198* **VS Code-Erweiterung**: **Enable Remote Control for all sessions** im Abschnitt „Settings“ des [Befehlsmenüs](https://code.claude.com/docs/de/vs-code.md#use-the-prompt-box).198* **VS Code-Erweiterung**: **Enable Remote Control for all sessions** im Abschnitt „Settings“ des [Befehlsmenüs](https://code.claude.com/docs/de/vs-code.md#use-the-prompt-box).

199* **Desktop-App**: **Connect new sessions to Remote Control** unter **Settings > Code** oder **Settings > Claude Code**. Siehe [Steuern, welche Sitzungen auf Ihren anderen Geräten angezeigt werden](https://code.claude.com/docs/de/desktop.md#control-which-sessions-appear-on-your-other-devices).199* **Desktop-App**: **Connect new sessions to Remote Control** unter **Settings > Code** oder **Settings > Claude Code**. Siehe [Steuern, welche Sitzungen auf Ihren anderen Geräten angezeigt werden](https://code.claude.com/docs/de/desktop.md#control-which-sessions-appear-on-your-other-devices).

200 200 

201Um die automatische Verbindung stattdessen über eine Einstellungsdatei einzuschalten, setzen Sie [`remoteControlAtStartup`](https://code.claude.com/docs/de/settings-reference#remotecontrolatstartup) in Ihrer Benutzerdatei `~/.claude/settings.json` oder in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) auf `true`. In Projekt- oder lokalen Einstellungen (`.claude/settings.json`, `.claude/settings.local.json`) berücksichtigt Claude Code ein `false` und schaltet die automatische Verbindung für dieses Repository aus, ignoriert jedoch ein `true`, sodass eine eingecheckte Datei Remote Control nicht für alle aktivieren kann, die das Repository öffnen.201Um die automatische Verbindung stattdessen über eine Einstellungsdatei einzuschalten, setzen Sie [`remoteControlAtStartup`](https://code.claude.com/docs/de/settings-reference#remotecontrolatstartup) in Ihrer Benutzerdatei `~/.claude/settings.json` oder in [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) auf `true`. In Projekt- oder lokalen Einstellungen (`.claude/settings.json`, `.claude/settings.local.json`) berücksichtigt Claude Code ein `false` und schaltet die automatische Verbindung für dieses Repository aus. Ein `true` ignoriert es, sodass Sie mit einer eingecheckten Datei Remote Control nicht für alle aktivieren können, die das Repository öffnen.

202 202 

203Die automatische Verbindung meldet sich mit Ihrem eigenen claude.ai-Konto an, sodass eine dadurch gestartete Sitzung nur in den Claude-Apps Ihres eigenen Kontos erscheint und niemand anderem Zugriff gewährt.203Die automatische Verbindung meldet sich mit Ihrem eigenen claude.ai-Konto an, sodass eine dadurch gestartete Sitzung nur in den Claude-Apps Ihres eigenen Kontos erscheint und niemand anderem Zugriff gewährt.

204 204 

routines.md +1 −1

Details

528* [`/loop` und Planung innerhalb einer Sitzung](https://code.claude.com/docs/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung528* [`/loop` und Planung innerhalb einer Sitzung](https://code.claude.com/docs/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung

529* [Geplante Aufgaben in der Desktop-App](https://code.claude.com/docs/de/desktop-scheduled-tasks.md): Lokale geplante Aufgaben, die auf Ihrem Computer mit Zugriff auf lokale Dateien ausgeführt werden529* [Geplante Aufgaben in der Desktop-App](https://code.claude.com/docs/de/desktop-scheduled-tasks.md): Lokale geplante Aufgaben, die auf Ihrem Computer mit Zugriff auf lokale Dateien ausgeführt werden

530* [Cloud-Umgebungen](https://code.claude.com/docs/de/cloud-environments.md): Konfigurieren Sie Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte für Cloud-Sitzungen530* [Cloud-Umgebungen](https://code.claude.com/docs/de/cloud-environments.md): Konfigurieren Sie Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte für Cloud-Sitzungen

531* [Projekte](https://code.claude.com/docs/de/claude-projects.md): Laufende Arbeit, die Claude über parallele Cloud-Sitzungen koordiniert; aus einem Projekt erstellte geplante Aufgaben erscheinen auf dessen Registerkarte **Geplante Aufgaben**531* [Projekte](https://code.claude.com/docs/de/claude-projects.md): Laufende Arbeit, die Claude über parallele Cloud-Sitzungen koordiniert; aus einem Projekt erstellte geplante Aufgaben erscheinen in dessen Ansicht **Geplante Aufgaben**

532* [MCP-Konnektoren](https://code.claude.com/docs/de/mcp.md): Verbinden Sie externe Dienste wie Slack, Linear und Google Drive532* [MCP-Konnektoren](https://code.claude.com/docs/de/mcp.md): Verbinden Sie externe Dienste wie Slack, Linear und Google Drive

533* [GitHub Actions](https://code.claude.com/docs/de/github-actions.md): Führen Sie Claude in Ihrer CI-Pipeline bei Repository-Ereignissen aus533* [GitHub Actions](https://code.claude.com/docs/de/github-actions.md): Führen Sie Claude in Ihrer CI-Pipeline bei Repository-Ereignissen aus

sandboxing.md +4 −0

Details

903 903 

904Nach dem Fehler kann Claude [anbieten, den Befehl außerhalb der Sandbox erneut auszuführen](#the-unsandboxed-retry-escape-hatch). Genehmigen Sie diesen Wiederholungsversuch, oder führen Sie den git-Befehl selbst in einem anderen Terminal aus. Wenn Sie `allowUnsandboxedCommands` auf `false` gesetzt haben, kann Claude den Wiederholungsversuch nicht anbieten, also führen Sie den Befehl selbst aus.904Nach dem Fehler kann Claude [anbieten, den Befehl außerhalb der Sandbox erneut auszuführen](#the-unsandboxed-retry-escape-hatch). Genehmigen Sie diesen Wiederholungsversuch, oder führen Sie den git-Befehl selbst in einem anderen Terminal aus. Wenn Sie `allowUnsandboxedCommands` auf `false` gesetzt haben, kann Claude den Wiederholungsversuch nicht anbieten, also führen Sie den Befehl selbst aus.

905 905 

906### Ein git-Befehl schlägt mit `Unable to create '…/index.lock'` fehl

907 

908Wenn Sie Claude Code in einem Unterverzeichnis eines Repositorys gestartet haben, kann dieser Fehler bedeuten, dass `.git` außerhalb [des Bereichs liegt, in den in der Sandbox ausgeführte Befehle schreiben können](#filesystem-isolation). Starten Sie Claude Code stattdessen aus dem Stammverzeichnis des Repositorys oder, in einem [verknüpften Worktree](https://code.claude.com/docs/de/worktrees.md), aus dem Stammverzeichnis des Worktrees.

909 

906### Ein Ordner namens `objects` oder `refs` verschwindet nach einem Befehl910### Ein Ordner namens `objects` oder `refs` verschwindet nach einem Befehl

907 911 

908Ein `objects`- oder `refs`-Ordner auf oberster Ebene, der während der Sitzung entstanden ist, kann [nach dem Ende eines in der Sandbox ausgeführten Befehls gelöscht werden](#when-the-sandbox-deletes-head-objects-or-refs). Dabei spielt es keine Rolle, ob ein Befehl, Claude oder Sie ihn erstellt haben. Um einen Ordner zu behalten, legen Sie etwas darin ab. Wenn sich während der Sitzung eine `HEAD`-Datei oder ein `HEAD`-Symlink auf oberster Ebene befunden hat, verschieben Sie diese bzw. diesen an einen anderen Ort, und starten Sie dann jede in Ihrem Arbeitsverzeichnis geöffnete Claude Code-Sitzung neu.912Ein `objects`- oder `refs`-Ordner auf oberster Ebene, der während der Sitzung entstanden ist, kann [nach dem Ende eines in der Sandbox ausgeführten Befehls gelöscht werden](#when-the-sandbox-deletes-head-objects-or-refs). Dabei spielt es keine Rolle, ob ein Befehl, Claude oder Sie ihn erstellt haben. Um einen Ordner zu behalten, legen Sie etwas darin ab. Wenn sich während der Sitzung eine `HEAD`-Datei oder ein `HEAD`-Symlink auf oberster Ebene befunden hat, verschieben Sie diese bzw. diesen an einen anderen Ort, und starten Sie dann jede in Ihrem Arbeitsverzeichnis geöffnete Claude Code-Sitzung neu.

Details

54}54}

55```55```

56 56 

57Jedes Teammitglied [führt außerdem einmal pro Klon `claude plugin install security-guidance@claude-plugins-official --scope project` aus](https://code.claude.com/docs/de/plugins/loading#enabled-in-project-settings-but-not-installed).

58 

57Administratoren können das Plugin organisationsweit aktivieren, indem sie [`enabledPlugins`](https://code.claude.com/docs/de/settings-reference#enabledplugins) in [verwalteten Einstellungen](https://code.claude.com/docs/de/admin-setup.md) festlegen.59Administratoren können das Plugin organisationsweit aktivieren, indem sie [`enabledPlugins`](https://code.claude.com/docs/de/settings-reference#enabledplugins) in [verwalteten Einstellungen](https://code.claude.com/docs/de/admin-setup.md) festlegen.

58 60 

59## Was das Plugin überprüft61## Was das Plugin überprüft


135patterns:137patterns:

136 - rule_name: internal_api_key138 - rule_name: internal_api_key

137 substrings: ["sk_live_", "AKIA"]139 substrings: ["sk_live_", "AKIA"]

138 reminder: "Hardcodierter API-Schlüsselpräfix. Laden Sie Anmeldedaten aus dem Secret Manager."140 reminder: "Hardcoded API key prefix. Load credentials from the secret manager."

139 - rule_name: tenant_unfiltered_query141 - rule_name: tenant_unfiltered_query

140 regex: "\\.objects\\.all\\(\\)"142 regex: "\\.objects\\.all\\(\\)"

141 paths: ["**/src/tenants/**"]143 paths: ["**/src/tenants/**"]

142 reminder: "Multi-Tenant-Code muss nach org_id filtern."144 reminder: "Multi-tenant code must filter by org_id."

143```145```

144 146 

145| Feld | Typ | Beschreibung |147| Feld | Typ | Beschreibung |

Details

235set -u235set -u

236export GIT_ALLOW_PROTOCOL=${GIT_ALLOW_PROTOCOL:-https:http:ssh}236export GIT_ALLOW_PROTOCOL=${GIT_ALLOW_PROTOCOL:-https:http:ssh}

237IFS=':'237IFS=':'

238rc=0 # wird 1, wenn ein Schritt fehlschlägt; ein Exit ungleich Null lässt den Runner dies protokollieren

238# -c-Überschreibungen schlagen Repo-lokale Einstellungen und verhindern, dass von der Sitzung239# -c-Überschreibungen schlagen Repo-lokale Einstellungen und verhindern, dass von der Sitzung

239# geschriebene fsmonitor-, Hook-Pfad- und gpg-program-Konfiguration Code mit den Berechtigungen240# geschriebene fsmonitor-, Hook-Pfad- und gpg-program-Konfiguration Code mit den Berechtigungen

240# des Hooks ausführt. -c commit.gpgsign=false lässt diese Rettungs-Commits unter241# des Hooks ausführt. -c commit.gpgsign=false lässt diese Rettungs-Commits unter


245g() { git -c core.fsmonitor=false -c core.hooksPath=/dev/null \246g() { git -c core.fsmonitor=false -c core.hooksPath=/dev/null \

246 -c commit.gpgsign=false "$@"; }247 -c commit.gpgsign=false "$@"; }

247for ws in $CLAUDE_RUNNER_WORKSPACE_PATHS; do248for ws in $CLAUDE_RUNNER_WORKSPACE_PATHS; do

248 cd "$ws" 2>/dev/null || continue249 cd "$ws" || { rc=1; continue; }

249 [ -z "$(g status --porcelain 2>/dev/null)" ] && continue250 g add -A || rc=1

250 g add -A251 g diff-index --cached --quiet HEAD && continue # nichts zu speichern

251 g commit -q -m "runner snapshot: $CLAUDE_RUNNER_SESSION_ID ($CLAUDE_RUNNER_EXIT_REASON)" || continue252 g commit -q -m "runner snapshot: $CLAUDE_RUNNER_SESSION_ID ($CLAUDE_RUNNER_EXIT_REASON)" || { rc=1; continue; }

252 g push -q origin "HEAD:refs/heads/rescue/$CLAUDE_RUNNER_SESSION_ID" || true253 g push -q origin "HEAD:refs/heads/rescue/$CLAUDE_RUNNER_SESSION_ID" || rc=1

253done254done

255exit "$rc"

254```256```

255 257 

256Die Zeile `GIT_ALLOW_PROTOCOL` im Skript beschränkt Git auf HTTPS-, HTTP- und SSH-Remotes. Wenn die Umgebung des Runners bereits eine eigene, nicht leere `GIT_ALLOW_PROTOCOL`-Liste setzt, behält das Skript diese Liste bei.258Die Zeile `GIT_ALLOW_PROTOCOL` im Skript beschränkt Git auf HTTPS-, HTTP- und SSH-Remotes. Wenn die Umgebung des Runners bereits eine eigene, nicht leere `GIT_ALLOW_PROTOCOL`-Liste setzt, behält das Skript diese Liste bei.

Details

23 * **Mit [Anthropic-verwaltetem Git](#use-the-anthropic-git-proxy)**: Mit solchen Anmeldedaten erreicht Claude GitHub direkt statt über Anthropic-verwaltetes Git.23 * **Mit [Anthropic-verwaltetem Git](#use-the-anthropic-git-proxy)**: Mit solchen Anmeldedaten erreicht Claude GitHub direkt statt über Anthropic-verwaltetes Git.

24 * **Ohne Anthropic-verwaltetes Git**: Clone-Anmeldedaten können im Image bleiben, wenn Sie sie so eng beschränken, wie in [Git-Konfiguration in Ihrem Image ausliefern](#ship-git-config-in-your-image) beschrieben.24 * **Ohne Anthropic-verwaltetes Git**: Clone-Anmeldedaten können im Image bleiben, wenn Sie sie so eng beschränken, wie in [Git-Konfiguration in Ihrem Image ausliefern](#ship-git-config-in-your-image) beschrieben.

25* **Halten Sie das Umgebungsgeheimnis von sitzungsausführenden Hosts fern**: Das Umgebungsgeheimnis kann Runner registrieren und jede Sitzung abholen, die in der Umgebung in die Warteschlange eingereiht ist. In einer festen Flotte lebt es auf jedem Runner-Host, wo jeder Sitzungscode die Geheimnisdatei lesen kann. Bevorzugen Sie [On-Demand-Runner](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners), bei denen das Geheimnis auf dem Orchestrator-Host bleibt, der niemals Benutzercode ausführt, und jeder Runner einen einmaligen Arbeitsauftrag erhält, der genau einen Runner registriert. Behandeln Sie in einer festen Flotte die Umgebungsgeheimnisdatei als von jeder Sitzung lesbar und rotieren Sie das Geheimnis nach jedem vermuteten Sitzungskompromiss.25* **Halten Sie das Umgebungsgeheimnis von sitzungsausführenden Hosts fern**: Das Umgebungsgeheimnis kann Runner registrieren und jede Sitzung abholen, die in der Umgebung in die Warteschlange eingereiht ist. In einer festen Flotte lebt es auf jedem Runner-Host, wo jeder Sitzungscode die Geheimnisdatei lesen kann. Bevorzugen Sie [On-Demand-Runner](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners), bei denen das Geheimnis auf dem Orchestrator-Host bleibt, der niemals Benutzercode ausführt, und jeder Runner einen einmaligen Arbeitsauftrag erhält, der genau einen Runner registriert. Behandeln Sie in einer festen Flotte die Umgebungsgeheimnisdatei als von jeder Sitzung lesbar und rotieren Sie das Geheimnis nach jedem vermuteten Sitzungskompromiss.

26 * **Nach einer vermuteten Kompromittierung**: Lassen Sie einen [Owner](https://code.claude.com/docs/de/cloud-environments.md#organization-shared-environments) auf der Registerkarte **Configuration** der Umgebung ein neues Geheimnis erstellen und das alte widerrufen, und rollen Sie dann das neue aus. Anthropic lehnt jeden Orchestrator und Runner mit dem alten Geheimnis ab, einschließlich On-Demand-Runnern aus dessen Arbeitsaufträgen. Ihre Runner werden beendet, wodurch ihre Sitzungen unterbrochen werden.26 * **Widerrufen Sie nach einer vermuteten Kompromittierung zuerst die verdächtige Sitzung**: Bevor Sie ihren Runner stoppen oder das Geheimnis widerrufen, wählen Sie im Menü der Sitzung auf der Registerkarte **Activity** die Option **Revoke token**. Danach kann kein Runner sie mehr fortsetzen.

27 * **Ersetzen Sie dann das Geheimnis**: Lassen Sie einen [Owner](https://code.claude.com/docs/de/cloud-environments.md#organization-shared-environments) auf der Registerkarte **Configuration** der Umgebung ein neues Geheimnis erstellen und das alte widerrufen, und rollen Sie dann das neue aus. Anthropic lehnt jeden Orchestrator und Runner mit dem alten Geheimnis ab, einschließlich On-Demand-Runnern aus dessen Arbeitsaufträgen. Ihre Runner werden beendet, wodurch ihre Sitzungen unterbrochen werden.

27* **Standard-Deny-Netzwerk-Egress**: Beschränken Sie den ausgehenden Datenverkehr von Runner- und Sitzungs-Containern an Ihrer eigenen Netzwerkgrenze in jeder Umgebung; [Standard-Deny-Egress](#default-deny-egress) behandelt, was erlaubt ist und warum.28* **Standard-Deny-Netzwerk-Egress**: Beschränken Sie den ausgehenden Datenverkehr von Runner- und Sitzungs-Containern an Ihrer eigenen Netzwerkgrenze in jeder Umgebung; [Standard-Deny-Egress](#default-deny-egress) behandelt, was erlaubt ist und warum.

28* **Least-Privilege-Host-IAM**: Die Compute-Identität, die an den Runner-Host angehängt ist, wie ein Instance-Profil oder ein Node-Service-Konto, sollte nur das gewähren, was der Runner selbst benötigt. Sitzungen sollten ihre eigenen Anmeldedaten über Ihr Wrapper-Skript erhalten, anstatt die des Hosts zu erben.29* **Least-Privilege-Host-IAM**: Die Compute-Identität, die an den Runner-Host angehängt ist, wie ein Instance-Profil oder ein Node-Service-Konto, sollte nur das gewähren, was der Runner selbst benötigt. Sitzungen sollten ihre eigenen Anmeldedaten über Ihr Wrapper-Skript erhalten, anstatt die des Hosts zu erben.

29* **Blockieren Sie den Cloud-Metadaten-Endpunkt von Sitzungen**: Um Sitzungen von der Host-Identität fernzuhalten, müssen Sie ihren Zugriff auf den Cloud-Metadaten-Endpunkt blockieren, und Subnetz-Level-Egress-Richtlinien unterbrechen keinen Link-Local-Metadaten-Datenverkehr, daher blockieren Sie ihn im Container selbst:30* **Blockieren Sie den Cloud-Metadaten-Endpunkt von Sitzungen**: Um Sitzungen von der Host-Identität fernzuhalten, müssen Sie ihren Zugriff auf den Cloud-Metadaten-Endpunkt blockieren, und Subnetz-Level-Egress-Richtlinien unterbrechen keinen Link-Local-Metadaten-Datenverkehr, daher blockieren Sie ihn im Container selbst:


243 244 

244Für jede Sitzung protokolliert ein Runner mit Claude Code v2.1.267 oder später außerdem entweder eine `[runner:session]`-Zeile mit `governed git ACTIVE`, wenn Anthropic Git für die Sitzung bereitstellt, oder eine `[runner:warn]`-Zeile mit `the server withheld Anthropic-managed git for this session`, wenn nicht. Suchen Sie die Zeile, die Sie sehen, unter diesen Fällen:245Für jede Sitzung protokolliert ein Runner mit Claude Code v2.1.267 oder später außerdem entweder eine `[runner:session]`-Zeile mit `governed git ACTIVE`, wenn Anthropic Git für die Sitzung bereitstellt, oder eine `[runner:warn]`-Zeile mit `the server withheld Anthropic-managed git for this session`, wenn nicht. Suchen Sie die Zeile, die Sie sehen, unter diesen Fällen:

245 246 

246* **Weder `governed git ACTIVE` noch die `withheld`-Zeile**: Ein Runner, der älter als Claude Code v2.1.267 ist, protokolliert keine der beiden Zeilen, und Anthropic stellt für seine Sitzungen kein Git bereit. Aktualisieren Sie den Runner auf v2.1.267 oder später, indem Sie [Die Version festlegen](#pin-the-version) folgen.247* **Weder `governed git ACTIVE` noch die `withheld`-Zeile**: Wenn der Runner älter als Claude Code v2.1.267 ist, stellt Anthropic für seine Sitzungen kein Git bereit. Aktualisieren Sie den Runner auf v2.1.267 oder später, indem Sie [Die Version festlegen](#pin-the-version) folgen.

247* **Die `withheld`-Zeile**: Anthropic hat kein Git für die Sitzung bereitgestellt. Ein Runner, der zuvor mit dem Git-Proxy funktioniert hat, kann auf diese Weise fehlschlagen, ohne dass Sie etwas geändert haben.248* **Die `withheld`-Zeile**: Anthropic hat kein Git für die Sitzung bereitgestellt. Ein Runner, der zuvor mit dem Git-Proxy funktioniert hat, kann auf diese Weise fehlschlagen, ohne dass Sie etwas geändert haben.

248 * **Ein Repository liegt nicht auf github.com**: Für eine Sitzung mit auch nur einem Repository auf einem anderen Git-Host, etwa GitHub Enterprise Server, wird kein Git bereitgestellt, auch nicht für ihre github.com-Repositorys. [Schalten Sie den Anthropic-Git-Proxy aus](#turn-the-anthropic-git-proxy-off) für die Runner dieser Umgebung.249 * **Ein Repository liegt nicht auf github.com**: Für eine Sitzung mit auch nur einem Repository auf einem anderen Git-Host, etwa GitHub Enterprise Server, wird kein Git bereitgestellt, auch nicht für ihre github.com-Repositorys. [Schalten Sie den Anthropic-Git-Proxy aus](#turn-the-anthropic-git-proxy-off) für die Runner dieser Umgebung.

249 * **Jedes Repository liegt auf github.com**: Melden Sie den Fehler [Ihrem Anthropic-Account-Team](#report-an-issue) mit der Sitzungs-ID aus der `withheld`-Zeile. Anthropic erfasst den Grund auf seiner Seite.250 * **Jedes Repository liegt auf github.com**: Melden Sie den Fehler [Ihrem Anthropic-Account-Team](#report-an-issue) mit der Sitzungs-ID aus der `withheld`-Zeile. Anthropic erfasst den Grund auf seiner Seite.


396Tauschen Sie `linux-x64` gegen `linux-arm64` aus, wenn Ihre Knoten ARM sind, oder gegen `linux-x64-musl` oder `linux-arm64-musl` auf einem musl-basierten Image wie Alpine; siehe [Alpine Linux-Setup](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions) für die zusätzlichen Pakete, die musl-Images benötigen. Die URL ist der Standard-Claude-Code-Release-Ort, daher können Sie die heruntergeladene Binärdatei gegen das signierte Manifest des Release überprüfen, wie in [Binäre Integrität und Code-Signierung](https://code.claude.com/docs/de/setup.md#binary-integrity-and-code-signing) beschrieben. Der Runner erfordert Claude Code Version 2.1.224 oder später bzw. 2.1.229 oder später, um Claude-Tag-Sitzungen zu bedienen. Erstellen Sie das Image, pushen Sie es dann in Ihre Registry und referenzieren Sie es in den Rezepten unten:397Tauschen Sie `linux-x64` gegen `linux-arm64` aus, wenn Ihre Knoten ARM sind, oder gegen `linux-x64-musl` oder `linux-arm64-musl` auf einem musl-basierten Image wie Alpine; siehe [Alpine Linux-Setup](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions) für die zusätzlichen Pakete, die musl-Images benötigen. Die URL ist der Standard-Claude-Code-Release-Ort, daher können Sie die heruntergeladene Binärdatei gegen das signierte Manifest des Release überprüfen, wie in [Binäre Integrität und Code-Signierung](https://code.claude.com/docs/de/setup.md#binary-integrity-and-code-signing) beschrieben. Der Runner erfordert Claude Code Version 2.1.224 oder später bzw. 2.1.229 oder später, um Claude-Tag-Sitzungen zu bedienen. Erstellen Sie das Image, pushen Sie es dann in Ihre Registry und referenzieren Sie es in den Rezepten unten:

397 398 

398```bash theme={null}399```bash theme={null}

400# If your model needs a newer release, change stable to latest in the URL

399docker build \401docker build \

400 --build-arg CLAUDE_CODE_VERSION="$(curl -fsSL https://downloads.claude.ai/claude-code-releases/stable)" \402 --build-arg CLAUDE_CODE_VERSION="$(curl -fsSL https://downloads.claude.ai/claude-code-releases/stable)" \

401 -t <your-registry>/claude-runner:latest .403 -t <your-registry>/claude-runner:latest .


429Der Runner verwendet `--capacity`, um zu begrenzen, wie viele Sitzungen er gleichzeitig ausführt. Er teilt CPU oder Speicher nicht zwischen ihnen, daher teilen sich die Sitzungen auf einem Runner die CPU und den Speicher des Containers. Damit die Speichernutzung einer Sitzung die anderen nicht beendet, führen Sie eine Sitzung pro Runner mit [einem eigenen Speicherlimit](#give-each-session-its-own-memory-limit) aus.431Der Runner verwendet `--capacity`, um zu begrenzen, wie viele Sitzungen er gleichzeitig ausführt. Er teilt CPU oder Speicher nicht zwischen ihnen, daher teilen sich die Sitzungen auf einem Runner die CPU und den Speicher des Containers. Damit die Speichernutzung einer Sitzung die anderen nicht beendet, führen Sie eine Sitzung pro Runner mit [einem eigenen Speicherlimit](#give-each-session-its-own-memory-limit) aus.

430 432 

431* **Eine Sitzung pro Runner**: Geben Sie jedem Container die Werte einer Sitzung. Verwenden Sie diese Dimensionierung bei `--capacity 1`, das der [Härtungsabschnitt](#harden-your-deployment) empfiehlt, und für [On-Demand-Runner](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners), wo Sie die Werte auf der Workload setzen, die Ihr [`spawn-runner`-Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#the-spawn-runner-hook) einreicht, wie ein Kubernetes Job's Pod-Template.433* **Eine Sitzung pro Runner**: Geben Sie jedem Container die Werte einer Sitzung. Verwenden Sie diese Dimensionierung bei `--capacity 1`, das der [Härtungsabschnitt](#harden-your-deployment) empfiehlt, und für [On-Demand-Runner](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners), wo Sie die Werte auf der Workload setzen, die Ihr [`spawn-runner`-Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#the-spawn-runner-hook) einreicht, wie ein Kubernetes Job's Pod-Template.

432* **Mehrere Sitzungen pro Runner**: Bei einem `--capacity` über eins multiplizieren Sie die Werte einer Sitzung mit der Kapazität, weil bis zu so viele Sitzungen gleichzeitig im Container laufen können. Die [Kubernetes](#kubernetes)- und [Docker Compose](#docker-compose)-Rezepte führen `--capacity 4` ohne CPU- oder Speicherlimits aus, daher fügen Sie Limits hinzu, die für die Kapazität dimensioniert sind, die Sie ausführen.434* **Mehrere Sitzungen pro Runner**: Bei einem `--capacity` über eins multiplizieren Sie die Werte einer Sitzung mit der Kapazität, weil bis zu so viele Sitzungen gleichzeitig im Container laufen können, [inaktive eingeschlossen](#release-idle-sessions-on-a-fixed-fleet). Die [Kubernetes](#kubernetes)- und [Docker Compose](#docker-compose)-Rezepte führen `--capacity 4` ohne CPU- oder Speicherlimits aus, daher fügen Sie Limits hinzu, die für die Kapazität dimensioniert sind, die Sie ausführen.

433* **Mehrere Runner-Container auf einem Host**: Dimensionieren Sie den Host für die Summe der Kapazitäten der Runner, weil jeder Runner nur seine eigenen Sitzungen auf `--capacity` anrechnet:435* **Mehrere Runner-Container auf einem Host**: Dimensionieren Sie den Host für die Summe der Kapazitäten der Runner, weil jeder Runner nur seine eigenen Sitzungen auf `--capacity` anrechnet:

434 436 

435 * **Speicher**: Multiplizieren Sie den Speicher einer Sitzung mit der Summe und addieren Sie dann, was die eigenen Prozesse des Hosts verwenden437 * **Speicher**: Multiplizieren Sie den Speicher einer Sitzung mit der Summe und addieren Sie dann, was die eigenen Prozesse des Hosts verwenden

Details

56| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Wie lange Sie warten, bis der Claude-Prozess nach einer Sitzung sauber beendet wird, bevor Sie ihn gewaltsam beenden. Erhöhen Sie den Wert, wenn die eigenen `SessionEnd` Hooks des Kindes mehr Zeit benötigen. |56| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Wie lange Sie warten, bis der Claude-Prozess nach einer Sitzung sauber beendet wird, bevor Sie ihn gewaltsam beenden. Erhöhen Sie den Wert, wenn die eigenen `SessionEnd` Hooks des Kindes mehr Zeit benötigen. |

57| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Wie lange auf einen Kindprozess gewartet wird, der sich nicht initialisiert hat, bevor der Slot der Sitzung freigegeben wird. Unter [Timeout beim Sitzungsstart](#session-startup-timeout) erfahren Sie, wo die Zählung beginnt und welche Sitzungen er weiterlaufen lässt. `0` deaktiviert den Timeout. |57| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Wie lange auf einen Kindprozess gewartet wird, der sich nicht initialisiert hat, bevor der Slot der Sitzung freigegeben wird. Unter [Timeout beim Sitzungsstart](#session-startup-timeout) erfahren Sie, wo die Zählung beginnt und welche Sitzungen er weiterlaufen lässt. `0` deaktiviert den Timeout. |

58| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | an | Seed persistierte Vertrauenswürdigkeit für die Repository-Pfade jeder Sitzung, sodass im Repo festgeschriebene `permissions.allow` und `additionalDirectories` berücksichtigt werden. Setzen Sie `false`, um im Repo festgeschriebene Berechtigungszuschüsse zu verwerfen und Zulassungsregeln stattdessen in der Host-Konfiguration `settings.json` zu konfigurieren; Repository-festgeschriebene `sandbox.*` Einstellungen gelten trotzdem, weshalb der [Repo-Settings-Schutz](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#harden-your-deployment) sie unabhängig von diesem Flag scannt. |58| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | an | Seed persistierte Vertrauenswürdigkeit für die Repository-Pfade jeder Sitzung, sodass im Repo festgeschriebene `permissions.allow` und `additionalDirectories` berücksichtigt werden. Setzen Sie `false`, um im Repo festgeschriebene Berechtigungszuschüsse zu verwerfen und Zulassungsregeln stattdessen in der Host-Konfiguration `settings.json` zu konfigurieren; Repository-festgeschriebene `sandbox.*` Einstellungen gelten trotzdem, weshalb der [Repo-Settings-Schutz](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#harden-your-deployment) sie unabhängig von diesem Flag scannt. |

59| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | aus | Klonen Sie Repositorys auf github.com über den [Anthropic Git-Proxy](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy) anstatt über kundenverwaltete Git-Authentifizierung. Erfordert `--capacity 1` und Git 2.32 oder neuer; der Runner weigert sich, andernfalls zu starten. Ersetzt die Rewrite-Flags. |59| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | aus | Klonen Sie Repositorys auf github.com über den [Anthropic Git-Proxy](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy) anstatt über kundenverwaltete Git-Authentifizierung. Erfordert `--capacity 1` und Git 2.32 oder neuer; der Runner weigert sich, andernfalls zu starten. Erfordert außerdem Claude Code v2.1.267 oder später. Ersetzt die Rewrite-Flags. |

60 60 

61Die meisten Duration-Flags haben ein Maximum, das gewählt wurde, um jeden Timeout unter der 32-Bit-Timer-Obergrenze der Laufzeit von ungefähr 24,85 Tagen zu halten. Die `--*-min` Flags sind auf 10080 Minuten, 7 Tage begrenzt; `--drain-grace-sec` auf 604800 Sekunden, auch 7 Tage; und `--drain-wait-sec` auf 86400 Sekunden, 24 Stunden. `--session-stop-grace-sec` und `--post-session-hook-timeout-sec` sind unbegrenzt. Das Überschreiten einer Obergrenze verhält sich je nach Oberfläche unterschiedlich:61Die meisten Duration-Flags haben ein Maximum, das gewählt wurde, um jeden Timeout unter der 32-Bit-Timer-Obergrenze der Laufzeit von ungefähr 24,85 Tagen zu halten. Die `--*-min` Flags sind auf 10080 Minuten, 7 Tage begrenzt; `--drain-grace-sec` auf 604800 Sekunden, auch 7 Tage; und `--drain-wait-sec` auf 86400 Sekunden, 24 Stunden. `--session-stop-grace-sec` und `--post-session-hook-timeout-sec` sind unbegrenzt. Das Überschreiten einer Obergrenze verhält sich je nach Oberfläche unterschiedlich:

62 62 

Details

12 12 

13In einer [Self-Hosted-Umgebung](https://code.claude.com/docs/de/self-hosted-environments) werden Claude Code [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) auf einem Runner-Image ausgeführt, das Sie erstellen und verwalten. Bevor Sie ein neues Image in Ihrer Produktionsumgebung bereitstellen, führen Sie eine vollständige Sitzung gegen eine Test-Umgebung aus einem Skript aus: erstellen Sie eine Sitzung, lesen Sie Claudes Antwort, senden Sie eine Nachfrage und lesen Sie auch diese Antwort. Dies ist die Form eines CI-Smoke-Tests, der Ihr Runner-Image, Git-Zugriff und alle benutzerdefinierten Tools überprüft, bevor Sie eine Änderung durchführen.13In einer [Self-Hosted-Umgebung](https://code.claude.com/docs/de/self-hosted-environments) werden Claude Code [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) auf einem Runner-Image ausgeführt, das Sie erstellen und verwalten. Bevor Sie ein neues Image in Ihrer Produktionsumgebung bereitstellen, führen Sie eine vollständige Sitzung gegen eine Test-Umgebung aus einem Skript aus: erstellen Sie eine Sitzung, lesen Sie Claudes Antwort, senden Sie eine Nachfrage und lesen Sie auch diese Antwort. Dies ist die Form eines CI-Smoke-Tests, der Ihr Runner-Image, Git-Zugriff und alle benutzerdefinierten Tools überprüft, bevor Sie eine Änderung durchführen.

14 14 

15Dieses Rezept setzt voraus, dass Sie bereits [eine Umgebung und einen Runner eingerichtet haben](https://code.claude.com/docs/de/self-hosted-environments-quickstart.md#set-up-an-environment-and-runner), und dass Ihr CI-Job den Runner-Prozess auf demselben Host wie das Test-Skript startet, das natürliche Setup zum Testen eines neuen Runner-Images. Ein Stop-Hook, den Sie auf dem Runner installieren, schreibt die endgültige Antwort jeder Runde in eine lokale Datei, und das Skript liest sie von dort, sodass die einzigen Aufrufe der Anthropic API die beiden Dispatches selbst sind. Wenn sich Ihre Test-Runner auf separater Infrastruktur befinden, siehe [Remote-Test-Runner](#remote-test-runners).15Dieses Rezept setzt voraus, dass Sie bereits [eine Umgebung und einen Runner eingerichtet haben](https://code.claude.com/docs/de/self-hosted-environments-quickstart.md#set-up-an-environment-and-runner) und dass Ihr CI-Job den Runner-Prozess auf demselben Host wie das Test-Skript startet. Ein Stop-Hook, den Sie auf dem Runner installieren, schreibt die endgültige Antwort jedes Turns in eine lokale Datei, und das Skript liest sie von dort. Wenn sich Ihre Test-Runner auf separater Infrastruktur befinden, siehe [Remote-Test-Runner](#remote-test-runners).

16 16 

17## Installieren Sie den Capture-Hook auf Ihrem Test-Runner17## Installieren Sie den Capture-Hook auf Ihrem Test-Runner

18 18 

Details

62 62 

63Hooks verwenden das gleiche Format wie in `settings.json`.63Hooks verwenden das gleiche Format wie in `settings.json`.

64 64 

65Dieses Beispiel führt ein Audit-Skript nach jeder Dateibearbeitung in der gesamten Organisation aus:65Dieses Beispiel führt in der gesamten Organisation nach `Edit`- und `Write`-Tool-Aufrufen ein Audit-Skript aus:

66 66 

67```json theme={null}67```json theme={null}

68{68{

settings.md +1 −1

Details

66 66 

67### Teilen Sie Einstellungen mit Ihrem Team67### Teilen Sie Einstellungen mit Ihrem Team

68 68 

69Committen Sie `.claude/settings.json`, damit jeder, der das Repository klont, die gleichen Berechtigungen, Hooks und Plugins erhält. Jeder Teamkollege kann es für sich selbst in seiner eigenen `.claude/settings.local.json` überschreiben, sodass persönliche Ausnahmen keinen Commit benötigen. Für eine vollständige Team-Datei siehe [die gemeinsamen Einstellungen eines Teams](https://code.claude.com/docs/de/settings-example.md#a-teams-shared-settings).69Committen Sie `.claude/settings.json`, damit jeder, der das Repository klont, die gleichen Berechtigungen, Hooks und Plugin-Einstellungen erhält. Jeder Teamkollege kann es für sich selbst in seiner eigenen `.claude/settings.local.json` überschreiben, sodass persönliche Ausnahmen keinen Commit benötigen. Für eine vollständige Team-Datei siehe [die gemeinsamen Einstellungen eines Teams](https://code.claude.com/docs/de/settings-example.md#a-teams-shared-settings).

70 70 

71Einiges von dem, das Sie committen, wartet, bis jeder Teamkollege den [Ordner vertraut](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust), und einige Schlüssel wirken sich nie aus einer Repository-Datei aus; [Beheben Sie eine Einstellung, die nicht angewendet wird](#common-cases) behandelt beides.71Einiges von dem, das Sie committen, wartet, bis jeder Teamkollege den [Ordner vertraut](https://code.claude.com/docs/de/permissions.md#project-allow-rules-and-workspace-trust), und einige Schlüssel wirken sich nie aus einer Repository-Datei aus; [Beheben Sie eine Einstellung, die nicht angewendet wird](#common-cases) behandelt beides.

72 72 

Details

4829 4829 

4830### `agentPushNotifEnabled`4830### `agentPushNotifEnabled`

4831 4831 

4832Erlauben Sie Claude, eine Push-Benachrichtigung an Ihr Telefon zu senden, wenn es entscheidet, dass dies sinnvoll ist, beispielsweise wenn eine lange Aufgabe abgeschlossen ist. In einer lokalen Sitzung kann Claude eine solche Benachrichtigung senden, während [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist. Wird in `/config` als **Push wenn Claude entscheidet** angezeigt. Wenn Sie den Wert dort ändern, speichert Claude Code ihn auch in Ihrem Konto.4832Erlauben Sie Claude, eine Push-Benachrichtigung an Ihr Telefon zu senden, wenn es entscheidet, dass dies sinnvoll ist, beispielsweise wenn eine lange Aufgabe abgeschlossen ist. In einer lokalen Sitzung kann Claude eine solche Benachrichtigung senden, während [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist. Wird in `/config` als **Push when Claude decides** angezeigt. Wenn Sie den Wert dort ändern, speichert Claude Code ihn auch in Ihrem Konto.

4833 4833 

4834* **Geltungsbereich**: [`Any file`](#scopes). Claude Code liest auch einen Wert, der von älteren Versionen in `~/.claude.json` hinterlassen wurde.4834* **Geltungsbereich**: [`Any file`](#scopes). Claude Code liest auch einen Wert, der von älteren Versionen in `~/.claude.json` hinterlassen wurde.

4835* **Typ**: Boolean4835* **Typ**: Boolean


4843}4843}

4844```4844```

4845 4845 

4846Wenn Sie Sitzungen unter einem [`claude remote-control`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session)-Server ausführen, folgen diese dem in Ihrem Konto gespeicherten Wert statt diesem Schlüssel. Um diesen Wert zu ändern, führen Sie `/config` in einer Claude Code-Sitzung in Ihrem Terminal aus und schalten Sie **Push wenn Claude entscheidet** ein oder aus. Wenn der Schalter bereits den gewünschten Wert anzeigt, ändern Sie ihn und stellen Sie ihn anschließend wieder zurück, damit Claude Code diesen Wert in Ihrem Konto speichert.4846Wenn Sie Sitzungen unter einem [`claude remote-control`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session)-Server ausführen, folgen diese dem in Ihrem Konto gespeicherten Wert statt diesem Schlüssel. Um diesen Wert zu ändern, führen Sie `/config` in einer Claude Code-Sitzung in Ihrem Terminal aus und schalten Sie **Push when Claude decides** ein oder aus. Wenn der Schalter bereits den gewünschten Wert anzeigt, ändern Sie ihn und stellen Sie ihn anschließend wieder zurück, damit Claude Code diesen Wert in Ihrem Konto speichert.

4847 4847 

4848Siehe [Mobile Push-Benachrichtigungen](https://code.claude.com/docs/de/remote-control.md#mobile-push-notifications).4848Siehe [Mobile Push-Benachrichtigungen](https://code.claude.com/docs/de/remote-control.md#mobile-push-notifications).

4849 4849 


4966 4966 

4967### `inputNeededNotifEnabled`4967### `inputNeededNotifEnabled`

4968 4968 

4969Erhalten Sie eine Push-Benachrichtigung auf Ihrem Telefon, wenn eine Berechtigungsabfrage oder Frage auf Ihre Eingabe wartet. In einer lokalen Sitzung sendet Claude Code diese nur, während [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist. Wird in `/config` als **Push wenn Aktionen erforderlich sind** angezeigt.4969Erhalten Sie eine Push-Benachrichtigung auf Ihrem Telefon, wenn eine Berechtigungsabfrage oder Frage auf Ihre Eingabe wartet. In einer lokalen Sitzung sendet Claude Code diese nur, während [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist. Wird in `/config` als **Push when actions required** angezeigt.

4970 4970 

4971* **Geltungsbereich**: [`Any file`](#scopes). Claude Code liest auch einen Wert, der von älteren Versionen in `~/.claude.json` hinterlassen wurde.4971* **Geltungsbereich**: [`Any file`](#scopes). Claude Code liest auch einen Wert, der von älteren Versionen in `~/.claude.json` hinterlassen wurde.

4972* **Typ**: Boolean4972* **Typ**: Boolean

skills.md +5 −5

Details

22 22 

23Claude Code enthält eine Reihe von gebündelten Skills wie `/doctor`, `/code-review`, `/batch`, `/debug`, `/loop` und `/claude-api`. Gebündelte Skills sind prompt-basiert: Sie geben Claude detaillierte Anweisungen und ermöglichen es ihm, die Arbeit mit seinen Tools zu orchestrieren. Die meisten integrierten Befehle führen stattdessen direkt eine feste Logik aus.23Claude Code enthält eine Reihe von gebündelten Skills wie `/doctor`, `/code-review`, `/batch`, `/debug`, `/loop` und `/claude-api`. Gebündelte Skills sind prompt-basiert: Sie geben Claude detaillierte Anweisungen und ermöglichen es ihm, die Arbeit mit seinen Tools zu orchestrieren. Die meisten integrierten Befehle führen stattdessen direkt eine feste Logik aus.

24 24 

25Sie rufen einen gebündelten Skill auf die gleiche Weise auf wie jeden anderen Skill, indem Sie `/` gefolgt vom Skill-Namen eingeben. Claude ruft einige gebündelte Skills automatisch auf, wenn sie relevant sind; andere, einschließlich `/verify`, werden nur ausgeführt, wenn Sie sie aufrufen, was Ihnen die Kontrolle darüber gibt, wann diese längeren Überprüfungen Zeit und Token aufwenden.25Sie rufen einen mitgelieferten Skill auf, indem Sie `/` gefolgt vom Skill-Namen eingeben. Claude ruft einige mitgelieferte Skills automatisch auf, wenn sie relevant sind; andere, einschließlich [`/verify`](#run-and-verify-your-app), werden nur ausgeführt, wenn Sie sie aufrufen.

26 26 

27Die meisten gebündelten Skills sind in jeder Sitzung verfügbar. Einige hängen von einer bestimmten Funktion ab: `/workflow-authoring` ist beispielsweise nur verfügbar, wenn [dynamische Workflows](https://code.claude.com/docs/de/workflows.md) aktiviert sind.27Die meisten gebündelten Skills sind in jeder Sitzung verfügbar. Einige hängen von einer bestimmten Funktion ab: `/workflow-authoring` ist beispielsweise nur verfügbar, wenn [dynamische Workflows](https://code.claude.com/docs/de/workflows.md) aktiviert sind.

28 28 


117 117 

118```yaml theme={null}118```yaml theme={null}

119---119---

120description: Fasst nicht committete Änderungen zusammen und kennzeichnet alles Riskante. Verwenden Sie dies, wenn der Benutzer fragt, was sich geändert hat, eine Commit-Nachricht möchte oder seinen Diff überprüfen möchte.120description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.

121---121---

122 122 

123## Aktuelle Änderungen123## Current changes

124 124 

125!`git diff HEAD`125!`git diff HEAD`

126 126 

127## Anweisungen127## Instructions

128 128 

129Fassen Sie die obigen Änderungen in zwei oder drei Aufzählungspunkten zusammen, listen Sie dann alle Risiken auf, die Sie bemerken, wie fehlende Fehlerbehandlung, hartcodierte Werte oder Tests, die aktualisiert werden müssen. Wenn der Diff leer ist, sagen Sie, dass es keine nicht committeten Änderungen gibt.129Summarize the changes above in two or three bullet points, then list any risks you notice such as missing error handling, hardcoded values, or tests that need updating. If the diff is empty, say there are no uncommitted changes.

130```130```

131 131 

132Die Zeile `` !`git diff HEAD` `` verwendet [dynamische Kontextinjektion](#inject-dynamic-context): Claude Code führt den Befehl aus und ersetzt die Zeile durch seine Ausgabe, bevor Claude den Skill-Inhalt sieht, sodass die Anweisungen mit dem aktuellen Diff bereits inline ankommen.132Die Zeile `` !`git diff HEAD` `` verwendet [dynamische Kontextinjektion](#inject-dynamic-context): Claude Code führt den Befehl aus und ersetzt die Zeile durch seine Ausgabe, bevor Claude den Skill-Inhalt sieht, sodass die Anweisungen mit dem aktuellen Diff bereits inline ankommen.

Details

346 346 

347Claude Code speichert den Inhalt hinter jedem Platzhalter `[Pasted text #N]` unter `~/.claude/paste-cache/`. Wenn Sie also einen Prompt aus dem [Befehlsverlauf](https://code.claude.com/docs/de/interactive-mode.md#command-history) erneut aufrufen und absenden, wird der vollständige eingefügte Inhalt erneut gesendet, auch in einer späteren Sitzung.347Claude Code speichert den Inhalt hinter jedem Platzhalter `[Pasted text #N]` unter `~/.claude/paste-cache/`. Wenn Sie also einen Prompt aus dem [Befehlsverlauf](https://code.claude.com/docs/de/interactive-mode.md#command-history) erneut aufrufen und absenden, wird der vollständige eingefügte Inhalt erneut gesendet, auch in einer späteren Sitzung.

348 348 

349Cache-Dateien, die älter als [`cleanupPeriodDays`](https://code.claude.com/docs/de/settings-reference#cleanupperioddays) sind, werden gemäß den [Regeln für die automatische Bereinigung](https://code.claude.com/docs/de/claude-directory.md#cleaned-up-automatically) gelöscht, sodass ein erneut aufgerufener Prompt auf eingefügten Text verweisen kann, der nicht mehr existiert. Wenn Sie einen solchen Prompt absenden, sendet Claude Code niemals die wörtliche Zeichenfolge `[Pasted text #N]` und zeigt eine Benachrichtigung an, die die fehlende Einfügung benennt:349Cache-Dateien, die älter als [`cleanupPeriodDays`](https://code.claude.com/docs/de/settings-reference#cleanupperioddays) sind, werden gemäß den [Regeln für die automatische Bereinigung](https://code.claude.com/docs/de/claude-directory.md#cleaned-up-automatically) gelöscht, sodass ein erneut aufgerufener Prompt auf eingefügten Text verweisen kann, der nicht mehr existiert. Wenn Sie einen solchen Prompt absenden, sendet Claude Code nicht die wörtliche Zeichenfolge `[Pasted text #N]` und zeigt eine Benachrichtigung an, die die fehlende Einfügung benennt:

350 350 

351* Bei einem einfachen Prompt mit verbleibendem Text entfernt Claude Code den Platzhalter und sendet den verbleibenden Text.351* Bei einem einfachen Prompt mit verbleibendem Text entfernt Claude Code den Platzhalter und sendet den verbleibenden Text.

352* Bei einem Befehl im [Shell-Modus](https://code.claude.com/docs/de/interactive-mode.md#shell-mode-with-prefix) oder einem `/`-Befehl, bei dem das Entfernen ändern würde, was ausgeführt wird, sowie bei jedem Prompt, der durch das Entfernen leer wäre, bricht Claude Code das Absenden ab und behält den ursprünglichen Text einschließlich des Platzhalters im Eingabefeld. Löschen Sie den Platzhalter oder bearbeiten Sie den Befehl und senden Sie ihn dann erneut ab.352* Bei einem Befehl im [Shell-Modus](https://code.claude.com/docs/de/interactive-mode.md#shell-mode-with-prefix) oder einem `/`-Befehl, bei dem das Entfernen ändern würde, was ausgeführt wird, sowie bei jedem Prompt, der durch das Entfernen leer wäre, bricht Claude Code das Absenden ab und behält den ursprünglichen Text einschließlich des Platzhalters im Eingabefeld. Löschen Sie den Platzhalter oder bearbeiten Sie den Befehl und senden Sie ihn dann erneut ab.

Details

29| `EACCES: permission denied` während der Installation | [Korrigieren Sie die Berechtigungen des Installationsverzeichnisses](#permission-errors-during-installation) |29| `EACCES: permission denied` während der Installation | [Korrigieren Sie die Berechtigungen des Installationsverzeichnisses](#permission-errors-during-installation) |

30| `TLS connect error` oder `SSL/TLS secure channel` | [Aktualisieren Sie CA-Zertifikate](#tls-or-ssl-connection-errors) |30| `TLS connect error` oder `SSL/TLS secure channel` | [Aktualisieren Sie CA-Zertifikate](#tls-or-ssl-connection-errors) |

31| `CRYPT_E_NO_REVOCATION_CHECK` oder `CRYPT_E_REVOCATION_OFFLINE` | [Umgehen Sie blockierte Sperrprüfungen](#tls-or-ssl-connection-errors) |31| `CRYPT_E_NO_REVOCATION_CHECK` oder `CRYPT_E_REVOCATION_OFFLINE` | [Umgehen Sie blockierte Sperrprüfungen](#tls-or-ssl-connection-errors) |

32| `Failed to fetch version` oder kann den Download-Server nicht erreichen | [Überprüfen Sie Netzwerk- und Proxy-Einstellungen](#check-network-connectivity) |32| `Failed to fetch version` oder kann den Download-Server nicht erreichen | [Überprüfen Sie Netzwerk- und Proxy-Einstellungen](#check-network-connectivity) oder bei einem Zertifikatsfehler [konfigurieren Sie Unternehmens-CA-Zertifikate](#tls-or-ssl-connection-errors) |

33| `The connection dropped while downloading the update` oder `Download timed out: exceeded the total deadline` | [Führen Sie das Update erneut aus oder legen Sie Ihren Proxy fest](#the-connection-dropped-while-downloading-the-update) |33| `The connection dropped while downloading the update` oder `Download timed out: exceeded the total deadline` | [Führen Sie das Update erneut aus oder legen Sie Ihren Proxy fest](#the-connection-dropped-while-downloading-the-update) |

34| `Release verification failed for Claude Code` | [Führen Sie `claude update` oder `claude install` erneut aus](#release-verification-failed) |34| `Release verification failed for Claude Code` | [Führen Sie `claude update` oder `claude install` erneut aus](#release-verification-failed) |

35| `Auto-update failed · Run claude doctor` in Rot in der Fußzeile der Sitzung | [Führen Sie `claude update` in Ihrer Shell aus](#auto-update-failed) |35| `Auto-update failed · Run claude doctor` in Rot in der Fußzeile der Sitzung | [Führen Sie `claude update` in Ihrer Shell aus](#auto-update-failed) |


69>69>

70> Wenn Sie das Terminal lieber ganz vermeiden möchten, können Sie mit der [Claude Code Desktop-App](https://code.claude.com/docs/de/desktop-quickstart.md) Claude Code über eine grafische Benutzeroberfläche installieren und verwenden. Laden Sie sie für [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) oder [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) herunter und beginnen Sie zu programmieren, ohne dass Sie eine Befehlszeileneinrichtung benötigen. Unter Linux installieren Sie die App mit apt, indem Sie die [Linux-Installationsanweisungen](https://code.claude.com/docs/de/desktop-linux.md) befolgen.70> Wenn Sie das Terminal lieber ganz vermeiden möchten, können Sie mit der [Claude Code Desktop-App](https://code.claude.com/docs/de/desktop-quickstart.md) Claude Code über eine grafische Benutzeroberfläche installieren und verwenden. Laden Sie sie für [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) oder [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) herunter und beginnen Sie zu programmieren, ohne dass Sie eine Befehlszeileneinrichtung benötigen. Unter Linux installieren Sie die App mit apt, indem Sie die [Linux-Installationsanweisungen](https://code.claude.com/docs/de/desktop-linux.md) befolgen.

71 71 

72## Führen Sie Diagnoseprüfungen durch72## Diagnoseprüfungen ausführen

73 73 

74### Überprüfen Sie die Netzwerkkonnektivität74### Netzwerkverbindung prüfen

75 75 

76Das Installationsprogramm lädt von `downloads.claude.ai` herunter. Überprüfen Sie, ob Sie es erreichen können:76Das Installationsprogramm lädt von `downloads.claude.ai` herunter. Prüfen Sie, ob Sie diesen Host erreichen:

77 77 

78> [tab] macOS/Linux78> [tab] macOS/Linux

79>79>


87> curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest87> curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest

88> ```88> ```

89>89>

90> PowerShell leitet `curl` zu `Invoke-WebRequest` weiter, das die Flags `-sI` ablehnt, daher rufen Sie `curl.exe` explizit auf.90> PowerShell verwendet `curl` als Alias für `Invoke-WebRequest`, das die Flags `-sI` ablehnt. Rufen Sie daher explizit `curl.exe` auf.

91 91 

92Sie haben den Server erreicht, wenn die erste Zeile einen `200`-Status anzeigt. Sie sehen `HTTP/2 200` auf macOS und Linux sowie `HTTP/1.1 200 OK` von `curl.exe`, das in Windows enthalten ist. Andere Ergebnisse deuten auf die Ursache hin:92Sie haben den Server erreicht, wenn die erste Zeile den Status `200` zeigt. Unter macOS und Linux sehen Sie `HTTP/2 200`, beim in Windows enthaltenen `curl.exe` `HTTP/1.1 200 OK`. Andere Ergebnisse weisen auf die Ursache hin:

93 93 

94* `403`: normalerweise ein Proxy oder Netzwerkfilter, der den Host blockiert, oder Claude Code ist [in Ihrer Region nicht verfügbar](https://www.anthropic.com/supported-countries)94* `403`: in der Regel ein Proxy oder Netzwerkfilter, der den Host blockiert, oder Claude Code ist [in Ihrer Region nicht verfügbar](https://www.anthropic.com/supported-countries)

95* `5xx`: normalerweise ein vorübergehendes Serviceproblem; warten Sie einige Minuten und versuchen Sie es erneut95* `5xx`: in der Regel ein vorübergehendes Dienstproblem; warten Sie einige Minuten und versuchen Sie es erneut

96 96 

97Wenn Sie keine Ausgabe, `Could not resolve host` oder ein Verbindungs-Timeout sehen, blockiert Ihr Netzwerk die Verbindung. Häufige Ursachen:97Wenn Sie keine Ausgabe sehen oder das Installationsprogramm `Could not resolve host` oder eine Zeitüberschreitung der Verbindung anzeigt, ist die Verbindung fehlgeschlagen. Prüfen Sie dann folgende Ursachen:

98 98 

99* Unternehmens-Firewalls oder Proxys, die `downloads.claude.ai` blockieren99* Unternehmensfirewalls oder Proxys, die `downloads.claude.ai` blockieren

100* Regionale Netzwerkbeschränkungen: Versuchen Sie ein VPN oder ein alternatives Netzwerk100* Regionale Netzwerkeinschränkungen: Versuchen Sie es mit einem VPN oder einem anderen Netzwerk

101* TLS/SSL-Probleme: Aktualisieren Sie die CA-Zertifikate Ihres Systems, oder überprüfen Sie, ob `HTTPS_PROXY` konfiguriert ist101* TLS/SSL-Probleme: Siehe [TLS- oder SSL-Verbindungsfehler](#tls-or-ssl-connection-errors)

102 102 

103Wenn Sie sich hinter einem Unternehmens-Proxy befinden, setzen Sie `HTTPS_PROXY` und `HTTP_PROXY` auf die Adresse Ihres Proxys, bevor Sie installieren. Fragen Sie Ihr IT-Team nach der Proxy-URL, wenn Sie diese nicht kennen, oder überprüfen Sie die Proxy-Einstellungen Ihres Browsers.103Wenn Sie sich hinter einem Unternehmensproxy befinden, setzen Sie vor der Installation `HTTPS_PROXY` und `HTTP_PROXY` auf die Adresse Ihres Proxys. Fragen Sie Ihr IT-Team nach der Proxy-URL, falls Sie sie nicht kennen, oder prüfen Sie die Proxy-Einstellungen Ihres Browsers.

104 104 

105Dieses Beispiel setzt beide Proxy-Variablen und führt dann das Installationsprogramm über Ihren Proxy aus:105Dieses Beispiel setzt beide Proxy-Variablen und führt dann das Installationsprogramm über Ihren Proxy aus:

106 106 


120> irm https://claude.ai/install.ps1 | iex120> irm https://claude.ai/install.ps1 | iex

121> ```121> ```

122 122 

123### Überprüfen Sie Ihren PATH123### PATH überprüfen

124 124 

125Wenn die Installation erfolgreich war, aber Sie einen `command not found` oder `not recognized` Fehler beim Ausführen von `claude` erhalten, befindet sich das Installationsverzeichnis nicht in Ihrem PATH. Ihre Shell sucht nach Programmen in Verzeichnissen, die in PATH aufgeführt sind, und das Installationsprogramm platziert `claude` unter `~/.local/bin/claude` auf macOS/Linux oder `%USERPROFILE%\.local\bin\claude.exe` unter Windows.125Wenn die Installation erfolgreich war, Sie beim Ausführen von `claude` aber den Fehler `command not found` oder `not recognized` erhalten, befindet sich das Installationsverzeichnis nicht in Ihrem PATH. Ihre Shell sucht Programme in den im PATH aufgeführten Verzeichnissen, und das Installationsprogramm legt `claude` unter macOS/Linux unter `~/.local/bin/claude` bzw. unter Windows unter `%USERPROFILE%\.local\bin\claude.exe` ab.

126 126 

127Das Installationsprogramm erkennt diesen Fall und meldet ihn in seiner Ausgabe unter `Setup notes:`: `Native installation exists but ~/.local/bin is not in your PATH.` auf macOS und Linux oder `Native installation exists but C:\Users\you\.local\bin is not in your PATH.` unter Windows. Es gibt die Behebung zusammen mit diesem Hinweis aus, ändert PATH aber nicht selbst.127Das Installationsprogramm erkennt diesen Fall und meldet ihn in seiner Ausgabe unter `Setup notes:`: `Native installation exists but ~/.local/bin is not in your PATH.` unter macOS und Linux bzw. `Native installation exists but C:\Users\you\.local\bin is not in your PATH.` unter Windows. Es gibt die Lösung zusammen mit diesem Hinweis aus, ändert den PATH aber nicht selbst.

128 128 

129> [!NOTE]129> [!NOTE]

130>130>

131> Die [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) platziert `claude` nicht an diesem Ort. Sie bündelt eine private Kopie der CLI im Erweiterungsverzeichnis für ihr eigenes Chat-Panel und fügt sie nicht zu PATH hinzu. Wenn Sie nur die Erweiterung installiert haben, existiert `~/.local/bin/claude` nicht. Führen Sie die [eigenständige Installation](https://code.claude.com/docs/de/setup.md) aus, um `claude` von einem Terminal aus zu verwenden, und fahren Sie dann unten fort.131> Die [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) legt `claude` nicht an diesem Ort ab. Sie bündelt eine private Kopie der CLI im Erweiterungsverzeichnis für ihr eigenes Chat-Panel und fügt sie nicht zum PATH hinzu. Wenn Sie nur die Erweiterung installiert haben, existiert `~/.local/bin/claude` nicht. Führen Sie die [eigenständige Installation](https://code.claude.com/docs/de/setup.md) aus, um `claude` in einem Terminal zu verwenden, und fahren Sie dann unten fort.

132 132 

133Überprüfen Sie zuerst, ob das Programm überhaupt vorhanden ist, und dann, ob sich sein Ordner in Ihrem PATH befindet. Die PATH-Behebung ist dauerhaft, sodass Sie sie nur einmal anwenden müssen. Wählen Sie den Tab für Ihre Plattform und führen Sie die dortigen Befehle aus: in Ihrem Terminal auf macOS und Linux oder in PowerShell bzw. der Eingabeaufforderung unter Windows.133Prüfen Sie zuerst, ob das Programm überhaupt vorhanden ist, und dann, ob sich sein Ordner in Ihrem PATH befindet. Die PATH-Korrektur ist dauerhaft, Sie wenden sie also nur einmal an. Wählen Sie den Tab Ihrer Plattform und führen Sie die Befehle dort aus: unter macOS und Linux in Ihrem Terminal, unter Windows in PowerShell oder der Eingabeaufforderung.

134 134 

135> [tab] macOS/Linux135> [tab] macOS/Linux

136>136>

137> Überprüfen Sie, ob das Installationsprogramm das Programm abgelegt hat:137> Prüfen Sie, ob das Installationsprogramm das Programm abgelegt hat:

138>138>

139> ```bash theme={null}139> ```bash theme={null}

140> ls -la ~/.local/bin/claude140> ls -la ~/.local/bin/claude

141> ```141> ```

142>142>

143> * **`No such file or directory`**: Es gibt keine native Installation. Wenn Sie Claude Code nicht auf andere Weise installiert haben, etwa mit npm, Homebrew oder einem Linux-Paketmanager, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code). Wenn Sie es auf andere Weise installiert haben, siehe [Überprüfen Sie auf konkurrierende Installationen](#check-for-conflicting-installations).143> * **`No such file or directory`**: Es gibt keine native Installation. Wenn Sie Claude Code nicht auf anderem Weg installiert haben, etwa mit npm, Homebrew oder einem Linux-Paketmanager, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code). Wenn Sie es auf anderem Weg installiert haben, siehe [Auf konfliktverursachende Installationen prüfen](#check-for-conflicting-installations).

144> * **Ein Eintrag für die Datei**: Das Programm ist vorhanden. Überprüfen Sie als Nächstes Ihren PATH.144> * **Ein Eintrag für die Datei**: Das Programm ist vorhanden. Prüfen Sie als Nächstes Ihren PATH.

145>145>

146> Listen Sie Ihre PATH-Einträge auf und filtern Sie nach dem Installationsordner:146> Listen Sie Ihre PATH-Einträge auf und filtern Sie nach dem Installationsordner:

147>147>


149> echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"149> echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

150> ```150> ```

151>151>

152> Wenn dies `/Users/you/.local/bin` oder `/home/you/.local/bin` ausgibt, befindet sich das Verzeichnis in Ihrem PATH und Sie können zu [Überprüfen Sie auf konkurrierende Installationen](#check-for-conflicting-installations) springen. Wenn es keine Ausgabe gibt, fügen Sie es mit den zwei Befehlen für Ihre Shell zu Ihrer Shell-Konfiguration hinzu. Der Befehl `echo` speichert die Einstellung für jedes neue Terminal, und `source` wendet sie auf das aktuelle Fenster an. Der Befehl `echo` gibt bei Erfolg nichts aus.152> Wenn dies `/Users/you/.local/bin` oder `/home/you/.local/bin` ausgibt, befindet sich das Verzeichnis in Ihrem PATH und Sie können direkt zu [Auf konfliktverursachende Installationen prüfen](#check-for-conflicting-installations) springen. Wenn keine Ausgabe erscheint, fügen Sie es mit den beiden Befehlen für Ihre Shell zu Ihrer Shell-Konfiguration hinzu. Der Befehl `echo` speichert die Einstellung für jedes neue Terminal, und `source` wendet sie auf das aktuelle Fenster an. Der Befehl `echo` gibt bei Erfolg nichts aus.

153>153>

154> Für Zsh, das Standard auf macOS:154> Für Zsh, den Standard unter macOS:

155>155>

156> ```bash theme={null}156> ```bash theme={null}

157> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc157> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

158> source ~/.zshrc158> source ~/.zshrc

159> ```159> ```

160>160>

161> Für Bash auf Linux, wo es das Standard auf den meisten Distributionen ist:161> Für Bash unter Linux, wo sie bei den meisten Distributionen der Standard ist:

162>162>

163> ```bash theme={null}163> ```bash theme={null}

164> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc164> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

165> source ~/.bashrc165> source ~/.bashrc

166> ```166> ```

167>167>

168> Für Bash auf macOS fügen Sie die Zeile stattdessen zu `~/.bash_profile` hinzu. Terminal auf macOS startet Bash als Login-Shell, die `~/.bashrc` ignoriert und nur die erste von `~/.bash_profile`, `~/.bash_login` oder `~/.profile` liest, die existiert. Wenn Sie bereits eine `~/.bash_login` oder `~/.profile` haben und keine `~/.bash_profile`, fügen Sie die Zeile in diese Datei ein, anstatt `~/.bash_profile` zu erstellen:168> Für Bash unter macOS fügen Sie die Zeile stattdessen zu `~/.bash_profile` hinzu. Das Terminal unter macOS startet Bash als Login-Shell, die `~/.bashrc` ignoriert und nur die erste vorhandene Datei von `~/.bash_profile`, `~/.bash_login` oder `~/.profile` liest. Wenn Sie bereits eine `~/.bash_login` oder `~/.profile` und keine `~/.bash_profile` haben, fügen Sie die Zeile in diese Datei ein, anstatt `~/.bash_profile` anzulegen:

169>169>

170> ```bash theme={null}170> ```bash theme={null}

171> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile171> echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile

172> source ~/.bash_profile172> source ~/.bash_profile

173> ```173> ```

174>174>

175> Alternativ können Sie Ihr Terminal schließen und erneut öffnen.175> Alternativ können Sie Ihr Terminal schließen und neu öffnen.

176>176>

177> Wenn der Befehl `echo` `permission denied` ausgibt, siehe [`permission denied` beim Hinzufügen zu Ihrem PATH](#permission-denied-when-adding-to-your-path).177> Wenn der Befehl `echo` `permission denied` ausgibt, siehe [`permission denied` beim Hinzufügen zu Ihrem PATH](#permission-denied-when-adding-to-your-path).

178>178>

179> Für andere Shells wie fish oder Nushell fügen Sie `~/.local/bin` zu Ihrem PATH mit der eigenen Konfigurationssyntax Ihrer Shell hinzu und starten Sie dann Ihr Terminal neu.179> Für andere Shells wie fish oder Nushell fügen Sie `~/.local/bin` mit der eigenen Konfigurationssyntax Ihrer Shell zu Ihrem PATH hinzu und starten dann Ihr Terminal neu.

180>180>

181> Überprüfen Sie, ob die Behebung funktioniert hat:181> Überprüfen Sie, ob die Korrektur funktioniert hat:

182>182>

183> ```bash theme={null}183> ```bash theme={null}

184> claude --version184> claude --version

185> ```185> ```

186>186>

187> Wenn `claude` weiterhin nicht gefunden wird, prüfen Sie diese Ursachen:187> Wenn `claude` weiterhin nicht gefunden wird, prüfen Sie folgende Ursachen:

188>188>

189> * **Das Terminal wurde vor der Änderung geöffnet**: Ein bereits geöffnetes Fenster behält seinen alten PATH, und ein Terminal innerhalb eines Editors übernimmt seinen PATH vom Editor. Öffnen Sie ein neues Fenster, oder beenden Sie den Editor und öffnen Sie ihn erneut.189> * **Das Terminal wurde vor der Änderung geöffnet**: Ein bereits geöffnetes Fenster behält seinen alten PATH, und ein Terminal innerhalb eines Editors übernimmt seinen PATH vom Editor. Öffnen Sie ein neues Fenster oder beenden Sie den Editor und öffnen Sie ihn erneut.

190> * **Die Zeile wurde nicht gespeichert**: Führen Sie `grep -n '.local/bin' ~/.zshrc` mit dem Dateinamen Ihrer Shell aus. Wenn die Zeile vorhanden ist, wird sie mit ihrer Zeilennummer ausgegeben. Wenn nichts ausgegeben wird, führen Sie die zwei PATH-Befehle erneut aus.190> * **Die Zeile wurde nicht gespeichert**: Führen Sie `grep -n '.local/bin' ~/.zshrc` mit dem Dateinamen Ihrer Shell aus. Wenn die Zeile vorhanden ist, wird sie mit ihrer Zeilennummer ausgegeben. Wenn nichts ausgegeben wird, führen Sie die beiden PATH-Befehle erneut aus.

191> * **Die Zeile wurde in die Datei einer anderen Shell geschrieben**: Führen Sie `echo $0` aus, um Ihre Shell zu sehen, und führen Sie dann die zwei PATH-Befehle für diese Shell aus.191> * **Die Zeile wurde in die Datei einer anderen Shell geschrieben**: Führen Sie `echo $0` aus, um Ihre Shell zu ermitteln, und führen Sie dann die beiden PATH-Befehle für diese Shell aus.

192 192 

193> [tab] Windows PowerShell193> [tab] Windows PowerShell

194>194>

195> Überprüfen Sie, ob das Installationsprogramm das Programm abgelegt hat:195> Prüfen Sie, ob das Installationsprogramm das Programm abgelegt hat:

196>196>

197> ```powershell theme={null}197> ```powershell theme={null}

198> Test-Path "$env:USERPROFILE\.local\bin\claude.exe"198> Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

199> ```199> ```

200>200>

201> * **`False`**: Es gibt keine native Installation. Wenn Sie Claude Code nicht auf andere Weise installiert haben, etwa mit npm oder WinGet, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code). Wenn Sie es auf andere Weise installiert haben, siehe [Überprüfen Sie auf konkurrierende Installationen](#check-for-conflicting-installations).201> * **`False`**: Es gibt keine native Installation. Wenn Sie Claude Code nicht auf anderem Weg installiert haben, etwa mit npm oder WinGet, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code). Wenn Sie es auf anderem Weg installiert haben, siehe [Auf konfliktverursachende Installationen prüfen](#check-for-conflicting-installations).

202> * **`True`**: Das Programm ist vorhanden. Überprüfen Sie als Nächstes Ihren PATH.202> * **`True`**: Das Programm ist vorhanden. Prüfen Sie als Nächstes Ihren PATH.

203>203>

204> Listen Sie Ihre PATH-Einträge auf und filtern Sie nach dem Installationsordner:204> Listen Sie Ihre PATH-Einträge auf und filtern Sie nach dem Installationsordner:

205>205>


207> $env:PATH -split ';' | Select-String '\.local\\bin'207> $env:PATH -split ';' | Select-String '\.local\\bin'

208> ```208> ```

209>209>

210> Wenn dies `C:\Users\you\.local\bin` ausgibt, befindet sich das Verzeichnis in Ihrem PATH und Sie können zu [Überprüfen Sie auf konkurrierende Installationen](#check-for-conflicting-installations) springen. Wenn es keine Ausgabe gibt, fügen Sie das Installationsverzeichnis zu Ihrem Benutzer-PATH hinzu:210> Wenn dies `C:\Users\you\.local\bin` ausgibt, befindet sich das Verzeichnis in Ihrem PATH und Sie können direkt zu [Auf konfliktverursachende Installationen prüfen](#check-for-conflicting-installations) springen. Wenn keine Ausgabe erscheint, fügen Sie das Installationsverzeichnis zu Ihrem Benutzer-PATH hinzu:

211>211>

212> ```powershell theme={null}212> ```powershell theme={null}

213> $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')213> $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')


216>216>

217> Starten Sie Ihr Terminal neu, damit die Änderung wirksam wird.217> Starten Sie Ihr Terminal neu, damit die Änderung wirksam wird.

218>218>

219> Überprüfen Sie, ob die Behebung funktioniert hat:219> Überprüfen Sie, ob die Korrektur funktioniert hat:

220>220>

221> ```powershell theme={null}221> ```powershell theme={null}

222> claude --version222> claude --version

223> ```223> ```

224>224>

225> Wenn `claude` in einem neuen Terminal weiterhin nicht gefunden wird, prüfen Sie diese Ursachen:225> Wenn `claude` in einem neuen Terminal weiterhin nicht gefunden wird, prüfen Sie folgende Ursachen:

226>226>

227> * **Das Terminal läuft innerhalb eines Editors**: Es übernimmt seinen PATH vom Editor, beenden Sie also den Editor und öffnen Sie ihn erneut.227> * **Das Terminal läuft innerhalb eines Editors**: Es übernimmt seinen PATH vom Editor. Beenden Sie den Editor daher und öffnen Sie ihn erneut.

228> * **Die Änderung wurde nicht gespeichert**: Führen Sie `[Environment]::GetEnvironmentVariable('PATH', 'User')` aus und suchen Sie im ausgegebenen PATH nach `.local\bin`. Wenn es fehlt, führen Sie die zwei Befehle erneut aus.228> * **Die Änderung wurde nicht gespeichert**: Führen Sie `[Environment]::GetEnvironmentVariable('PATH', 'User')` aus und suchen Sie im ausgegebenen PATH nach `.local\bin`. Wenn der Eintrag fehlt, führen Sie die beiden Befehle erneut aus.

229 229 

230> [tab] Windows CMD230> [tab] Windows CMD

231>231>

232> Überprüfen Sie, ob das Installationsprogramm das Programm abgelegt hat:232> Prüfen Sie, ob das Installationsprogramm das Programm abgelegt hat:

233>233>

234> ```batch theme={null}234> ```batch theme={null}

235> dir "%USERPROFILE%\.local\bin\claude.exe"235> dir "%USERPROFILE%\.local\bin\claude.exe"

236> ```236> ```

237>237>

238> * **`File Not Found` oder `The system cannot find the path specified.`**: Es gibt keine native Installation. Wenn Sie Claude Code nicht auf andere Weise installiert haben, etwa mit npm oder WinGet, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code). Wenn Sie es auf andere Weise installiert haben, siehe [Überprüfen Sie auf konkurrierende Installationen](#check-for-conflicting-installations).238> * **`File Not Found` oder `The system cannot find the path specified.`**: Es gibt keine native Installation. Wenn Sie Claude Code nicht auf anderem Weg installiert haben, etwa mit npm oder WinGet, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code). Wenn Sie es auf anderem Weg installiert haben, siehe [Auf konfliktverursachende Installationen prüfen](#check-for-conflicting-installations).

239> * **Ein Eintrag für `claude.exe`**: Das Programm ist vorhanden. Überprüfen Sie als Nächstes Ihren PATH.239> * **Ein Eintrag für `claude.exe`**: Das Programm ist vorhanden. Prüfen Sie als Nächstes Ihren PATH.

240>240>

241> Listen Sie Ihre PATH-Einträge auf und filtern Sie nach dem Installationsordner:241> Listen Sie Ihre PATH-Einträge auf und filtern Sie nach dem Installationsordner:

242>242>


244> echo %PATH% | findstr /i "local\bin"244> echo %PATH% | findstr /i "local\bin"

245> ```245> ```

246>246>

247> Wenn es keine Ausgabe gibt, öffnen Sie Systemeinstellungen, gehen Sie zu Umgebungsvariablen und fügen Sie `%USERPROFILE%\.local\bin` zu Ihrer Benutzer-PATH-Variable hinzu. Starten Sie Ihr Terminal neu.247> Wenn keine Ausgabe erscheint, öffnen Sie die Systemeinstellungen, wechseln Sie zu den Umgebungsvariablen und fügen Sie `%USERPROFILE%\.local\bin` zu Ihrer Benutzer-PATH-Variablen hinzu. Starten Sie Ihr Terminal neu.

248>248>

249> Überprüfen Sie, ob die Behebung funktioniert hat:249> Überprüfen Sie, ob die Korrektur funktioniert hat:

250>250>

251> ```batch theme={null}251> ```batch theme={null}

252> claude --version252> claude --version

253> ```253> ```

254>254>

255> Wenn `claude` in einem neuen Terminal weiterhin nicht gefunden wird: Ein Terminal innerhalb eines Editors übernimmt seinen PATH vom Editor, beenden Sie also auch den Editor und öffnen Sie ihn erneut.255> Wenn `claude` in einem neuen Terminal weiterhin nicht gefunden wird: Ein Terminal innerhalb eines Editors übernimmt seinen PATH vom Editor. Beenden Sie daher auch den Editor und öffnen Sie ihn erneut.

256 256 

257### Überprüfen Sie auf konfliktfreie Installationen257### Auf konfliktverursachende Installationen prüfen

258 258 

259Mehrere Claude Code-Installationen können zu Versionskonflikten oder unerwartetem Verhalten führen. Überprüfen Sie, was installiert ist:259Mehrere Claude Code-Installationen können zu Versionskonflikten oder unerwartetem Verhalten führen. Prüfen Sie, was installiert ist:

260 260 

261> [tab] macOS/Linux261> [tab] macOS/Linux

262>262>

263> Listet alle `claude` Binärdateien auf, die in Ihrem PATH gefunden werden:263> Listen Sie alle in Ihrem PATH gefundenen `claude`-Binärdateien auf:

264>264>

265> ```bash theme={null}265> ```bash theme={null}

266> which -a claude266> which -a claude


268>268>

269> Wenn dies `claude not found`, eine Zeile mit `no claude in` oder nichts ausgibt, befindet sich kein `claude` in Ihrem PATH. Die nächsten Prüfungen zeigen, ob überhaupt eines installiert ist.269> Wenn dies `claude not found`, eine Zeile mit `no claude in` oder nichts ausgibt, befindet sich kein `claude` in Ihrem PATH. Die nächsten Prüfungen zeigen, ob überhaupt eines installiert ist.

270>270>

271> Überprüfen Sie die drei Orte, von denen eine `claude` Binärdatei stammen kann. `~/.local/bin/claude` ist das native Installationsprogramm, `~/.claude/local/` ist eine ältere lokale npm-Installation, die von älteren Versionen von Claude Code erstellt wurde, und die npm-globale Liste zeigt eine `-g` Installation:271> Prüfen Sie die drei Orte, aus denen eine `claude`-Binärdatei stammen kann. `~/.local/bin/claude` ist das native Installationsprogramm, `~/.claude/local/` ist eine veraltete lokale npm-Installation, die von älteren Versionen von Claude Code angelegt wurde, und die globale npm-Liste zeigt eine `-g`-Installation:

272>272>

273> ```bash theme={null}273> ```bash theme={null}

274> ls -la ~/.local/bin/claude274> ls -la ~/.local/bin/claude

275> ```275> ```

276>276>

277> Eine native Installation zeigt einen Symlink in `~/.local/share/claude/versions/`. Ein Skript oder ein Symlink, den Sie selbst an diesem Pfad erstellt haben, ist ein benutzerdefinierter Launcher, den [Auto-Update an Ort und Stelle lässt](https://code.claude.com/docs/de/setup.md#auto-updates).277> Eine native Installation zeigt einen Symlink nach `~/.local/share/claude/versions/`. Ein Skript oder ein selbst erstellter Symlink unter diesem Pfad ist ein benutzerdefinierter Launcher, den [die automatische Aktualisierung unverändert lässt](https://code.claude.com/docs/de/setup.md#auto-updates).

278>278>

279> Wenn einer der `ls` Befehle `No such file or directory` ausgibt, ist das kein Fehler. Das bedeutet, dass an diesem Ort nichts installiert ist, also fahren Sie mit der nächsten Prüfung fort.279> Wenn einer der `ls`-Befehle `No such file or directory` ausgibt, ist das kein Fehler. Es bedeutet, dass an diesem Ort nichts installiert ist. Fahren Sie also mit der nächsten Prüfung fort.

280>280>

281> ```bash theme={null}281> ```bash theme={null}

282> ls -la ~/.claude/local/282> ls -la ~/.claude/local/


286> npm -g ls @anthropic-ai/claude-code 2>/dev/null286> npm -g ls @anthropic-ai/claude-code 2>/dev/null

287> ```287> ```

288>288>

289> Wenn `ls -la ~/.local/bin/claude` `No such file or directory` ausgegeben hat, gibt es keine native Installation. Wenn Sie Claude Code nicht auf andere Weise installiert haben, etwa mit npm, Homebrew oder einem Linux-Paketmanager, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code). Wenn `~/.local/bin/claude` existiert, aber `which -a claude` es nicht aufgelistet hat, befindet sich der Ordner nicht in Ihrem PATH: siehe [Überprüfen Sie Ihren PATH](#verify-your-path).289> Wenn `ls -la ~/.local/bin/claude` `No such file or directory` ausgegeben hat, gibt es keine native Installation. Wenn Sie Claude Code nicht auf anderem Weg installiert haben, etwa mit npm, Homebrew oder einem Linux-Paketmanager, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code). Wenn `~/.local/bin/claude` existiert, `which -a claude` es aber nicht aufgelistet hat, befindet sich der Ordner nicht in Ihrem PATH: siehe [PATH überprüfen](#verify-your-path).

290 290 

291> [tab] Windows PowerShell291> [tab] Windows PowerShell

292>292>

293> Listen Sie alle `claude` Binärdateien auf, die in Ihrem PATH gefunden werden:293> Listen Sie alle in Ihrem PATH gefundenen `claude`-Binärdateien auf:

294>294>

295> ```powershell theme={null}295> ```powershell theme={null}

296> where.exe claude296> where.exe claude


298>298>

299> Wenn dies `INFO: Could not find files for the given pattern(s).` ausgibt, befindet sich kein `claude` in Ihrem PATH.299> Wenn dies `INFO: Could not find files for the given pattern(s).` ausgibt, befindet sich kein `claude` in Ihrem PATH.

300>300>

301> Überprüfen Sie, ob das native Installationsprogramm eine Binärdatei platziert hat:301> Prüfen Sie, ob das native Installationsprogramm eine Binärdatei abgelegt hat:

302>302>

303> ```powershell theme={null}303> ```powershell theme={null}

304> Test-Path "$env:USERPROFILE\.local\bin\claude.exe"304> Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

305> ```305> ```

306>306>

307> * **`True`**: Die native Installation ist vorhanden. Wenn `where.exe` nichts gefunden hat, befindet sich ihr Ordner nicht in Ihrem PATH: siehe [Überprüfen Sie Ihren PATH](#verify-your-path).307> * **`True`**: Die native Installation ist vorhanden. Wenn `where.exe` nichts gefunden hat, befindet sich ihr Ordner nicht in Ihrem PATH: siehe [PATH überprüfen](#verify-your-path).

308> * **`False`**: Es gibt keine native Installation. Wenn Sie Claude Code nicht auf andere Weise installiert haben, etwa mit npm oder WinGet, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code).308> * **`False`**: Es gibt keine native Installation. Wenn Sie Claude Code nicht auf anderem Weg installiert haben, etwa mit npm oder WinGet, [installieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#install-claude-code).

309 309 

310Wenn Sie mehrere Installationen finden, behalten Sie nur eine. Die native Installation unter `~/.local/bin/claude` auf macOS/Linux oder `%USERPROFILE%\.local\bin\claude.exe` unter Windows wird empfohlen. Entfernen Sie die zusätzlichen:310Wenn Sie mehrere Installationen finden, behalten Sie nur eine. Empfohlen wird die native Installation unter `~/.local/bin/claude` unter macOS/Linux bzw. `%USERPROFILE%\.local\bin\claude.exe` unter Windows. Entfernen Sie die übrigen:

311 311 

312Deinstallieren Sie eine globale npm-Installation:312Deinstallieren Sie eine globale npm-Installation:

313 313 


315npm uninstall -g @anthropic-ai/claude-code315npm uninstall -g @anthropic-ai/claude-code

316```316```

317 317 

318Entfernen Sie die ältere lokale npm-Installation:318Entfernen Sie die veraltete lokale npm-Installation:

319 319 

320> [tab] macOS/Linux320> [tab] macOS/Linux

321>321>


329> Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\local"329> Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\local"

330> ```330> ```

331 331 

332Entfernen Sie eine Homebrew-Installation auf macOS. Wenn Sie das `claude-code@latest` Cask installiert haben, ersetzen Sie diesen Namen:332Entfernen Sie eine Homebrew-Installation unter macOS. Wenn Sie den Cask `claude-code@latest` installiert haben, verwenden Sie stattdessen diesen Namen:

333 333 

334```bash theme={null}334```bash theme={null}

335brew uninstall --cask claude-code335brew uninstall --cask claude-code


341winget uninstall Anthropic.ClaudeCode341winget uninstall Anthropic.ClaudeCode

342```342```

343 343 

344### Überprüfen Sie Verzeichnisberechtigungen344### Verzeichnisberechtigungen prüfen

345 345 

346Eine Installation, die an fehlenden Berechtigungen scheitert, nennt den Pfad, den sie nicht erstellen oder beschreiben konnte. Unter Windows schreibt die Installation unter `%USERPROFILE%`, das standardmäßig von Ihrem Benutzer beschreibbar ist, daher gilt dieser Abschnitt dort selten.346Eine Installation, die an Berechtigungen scheitert, nennt den Pfad, den sie nicht anlegen oder beschreiben konnte. Unter Windows schreibt die Installation unterhalb von `%USERPROFILE%`, das standardmäßig für Ihren Benutzer beschreibbar ist, daher trifft dieser Abschnitt dort selten zu.

347 347 

348Auf macOS und Linux schreibt die Installation an folgende Orte:348Unter macOS und Linux schreibt die Installation an folgende Orte:

349 349 

350* `~/.claude/downloads/`: wo der Installationsbefehl die heruntergeladene Binärdatei ablegt350* `~/.claude/downloads/`: Hier legt der Installationsbefehl die heruntergeladene Binärdatei ab

351* `~/.local/bin/`: der `claude`-Launcher351* `~/.local/bin/`: der `claude`-Launcher

352* `~/.local/share/claude/`: jede Version, die heruntergeladen wird352* `~/.local/share/claude/`: jede heruntergeladene Version

353* `~/.local/state/claude/`: die zugehörigen Sperrdateien353* `~/.local/state/claude/`: die Sperrdateien

354* `~/.cache/claude/`: vorbereitete Downloads354* `~/.cache/claude/`: zwischengespeicherte Downloads

355* [`~/.claude.json`](https://code.claude.com/docs/de/claude-directory): Ihre globale Konfigurationsdatei, in der das Installationsprogramm die Installationsmethode festhält355* [`~/.claude.json`](https://code.claude.com/docs/de/claude-directory): Ihre globale Konfigurationsdatei, in der das Installationsprogramm die Installationsmethode festhält

356 356 

357Wenn Sie `XDG_DATA_HOME`, `XDG_STATE_HOME` oder `XDG_CACHE_HOME` setzen, verwendet die Installation diese anstelle von `~/.local/share`, `~/.local/state` und `~/.cache`. Wenn Sie [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars) setzen, befindet sich die globale Konfigurationsdatei in diesem Verzeichnis statt in Ihrem Home-Verzeichnis.357Wenn Sie `XDG_DATA_HOME`, `XDG_STATE_HOME` oder `XDG_CACHE_HOME` setzen, verwendet die Installation diese anstelle von `~/.local/share`, `~/.local/state` und `~/.cache`. Wenn Sie [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars) setzen, befindet sich die globale Konfigurationsdatei in diesem Verzeichnis statt in Ihrem Home-Verzeichnis.

358 358 

359Überprüfen Sie, ob die Verzeichnisse beschreibbar sind:359Prüfen Sie, ob die Verzeichnisse beschreibbar sind:

360 360 

361```bash theme={null}361```bash theme={null}

362test -w ~/.local/bin && echo "writable" || echo "not writable"362test -w ~/.local/bin && echo "writable" || echo "not writable"

363test -w ~/.claude && echo "writable" || echo "not writable"363test -w ~/.claude && echo "writable" || echo "not writable"

364```364```

365 365 

366Wenn eines der Verzeichnisse nicht beschreibbar ist, erstellen Sie das Installationsverzeichnis und setzen Sie Ihren Benutzer als Eigentümer:366Wenn eines der Verzeichnisse nicht beschreibbar ist, legen Sie das Installationsverzeichnis an und setzen Sie Ihren Benutzer als Eigentümer:

367 367 

368```bash theme={null}368```bash theme={null}

369sudo mkdir -p ~/.local/bin369sudo mkdir -p ~/.local/bin

370sudo chown -R $(whoami) ~/.local370sudo chown -R $(whoami) ~/.local

371```371```

372 372 

373### Überprüfen Sie, ob die Binärdatei funktioniert373### Überprüfen, ob die Binärdatei funktioniert

374 374 

375Wenn `claude --version` eine Version ausgibt, aber `claude` beim Start abstürzt oder hängt, führen Sie diese Prüfungen durch, um die Ursache einzugrenzen. Wenn `claude --version` sagt, dass der Befehl nicht gefunden wurde, gehen Sie zuerst zu [Überprüfen Sie Ihren PATH](#verify-your-path); die folgenden Befehle gehen davon aus, dass `claude` in Ihrem PATH ist.375Wenn `claude --version` eine Version ausgibt, `claude` beim Start aber abstürzt oder hängt, führen Sie diese Prüfungen aus, um die Ursache einzugrenzen. Wenn `claude --version` meldet, dass der Befehl nicht gefunden wurde, gehen Sie zuerst zu [PATH überprüfen](#verify-your-path); die folgenden Befehle setzen voraus, dass sich `claude` in Ihrem PATH befindet.

376 376 

377Bestätigen Sie, dass die Binärdatei existiert und ausführbar ist:377Bestätigen Sie, dass die Binärdatei existiert und ausführbar ist:

378 378 


388> Get-Command claude | Select-Object Source388> Get-Command claude | Select-Object Source

389> ```389> ```

390 390 

391Überprüfen Sie unter Linux auf fehlende gemeinsame Bibliotheken. Wenn `ldd` fehlende Bibliotheken anzeigt, müssen Sie möglicherweise Systempakete installieren. Auf Alpine Linux und anderen musl-basierten Distributionen siehe [Alpine Linux-Setup](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 [Einrichtung unter Alpine Linux](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions).

392 392 

393```bash theme={null}393```bash theme={null}

394ldd "$(command -v claude)" | grep "not found"394ldd "$(command -v claude)" | grep "not found"


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` und `SELF_SIGNED_CERT_IN_CHAIN`. Sorgen Sie für den Installationsschritt dafür, dass der Installations-Download der CA Ihres Unternehmens-Proxys vertraut: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:

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:

574 >

573 > ```bash theme={null}575 > ```bash theme={null}

574 > curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash576 > export CURL_CA_BUNDLE=/path/to/corporate-ca.pem

577 > export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem

578 > curl -fsSL https://claude.ai/install.sh | bash

575 > ```579 > ```

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.

576 582 

577 > [tab] Windows PowerShell583 > [tab] Windows PowerShell

578 >584 >


596 > $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'602 > $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'

597 > ```603 > ```

598 604 

599 Fragen Sie Ihr IT-Team nach der Zertifikatsdatei, wenn Sie diese nicht haben. Sie können auch auf einer direkten Verbindung versuchen, um zu bestätigen, dass der Proxy die Ursache ist.

600 

6014. **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. **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:

602 ```batch theme={null}606 ```batch theme={null}

603 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


610 614 

611### `Failed to fetch version from downloads.claude.ai`615### `Failed to fetch version from downloads.claude.ai`

612 616 

613Das Installationsprogramm konnte den Download-Server nicht erreichen. Dies bedeutet normalerweise, dass `downloads.claude.ai` in Ihrem Netzwerk blockiert ist. Siehe [Überprüfen Sie die Netzwerkverbindung](#check-network-connectivity).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).

614 618 

615### The connection dropped while downloading the update619### The connection dropped while downloading the update

616 620 

workflows.md +10 −4

Details

375 375 

376 Vor v2.1.305 konnten abgeschlossene Agenten auch dann erneut ausgeführt werden, wenn Sie ein unverändertes Skript neu starteten, dessen `pipeline()`-Elemente oder `parallel()`-Aufgaben jeweils mehr als einen Agenten ausführten. Um diese erneuten Ausführungen bei neuen Läufen zu verhindern, aktualisieren Sie Claude Code.376 Vor v2.1.305 konnten abgeschlossene Agenten auch dann erneut ausgeführt werden, wenn Sie ein unverändertes Skript neu starteten, dessen `pipeline()`-Elemente oder `parallel()`-Aufgaben jeweils mehr als einen Agenten ausführten. Um diese erneuten Ausführungen bei neuen Läufen zu verhindern, aktualisieren Sie Claude Code.

377* **Lief noch, als Sie gestoppt haben**: beginnt von vorn. Das Stoppen des gesamten Laufs zählt keinen Agenten als fehlgeschlagen.377* **Lief noch, als Sie gestoppt haben**: beginnt von vorn. Das Stoppen des gesamten Laufs zählt keinen Agenten als fehlgeschlagen.

378* **[Am Nutzungslimit fehlgeschlagen](#when-a-run-hits-your-usage-limit) ab v2.1.318**: wird erneut ausgeführt, und abgeschlossene Agenten geben ihre gespeicherten Ergebnisse zurück. Wenn Ihr Skript nach dem Fehlschlag einen weiteren Agenten aufgerufen hat und dieser Agent ein Ergebnis zurückgegeben hat, wird auch jeder Agent erneut ausgeführt, den das Skript nach dem fehlgeschlagenen startet.

378* **Fehlgeschlagen**: wird erneut ausgeführt, ebenso jeder Agent, den das Skript danach startet, auch bereits abgeschlossene. Das Stoppen eines einzelnen Agenten, indem Sie ihn in [`/workflows`](#watch-the-run) auswählen und `x` drücken, zählt als Fehlschlag.379* **Fehlgeschlagen**: wird erneut ausgeführt, ebenso jeder Agent, den das Skript danach startet, auch bereits abgeschlossene. Das Stoppen eines einzelnen Agenten, indem Sie ihn in [`/workflows`](#watch-the-run) auswählen und `x` drücken, zählt als Fehlschlag.

379 380 

380Der letzte Fall bedeutet, dass ein Fehlschlag mitten in einem Fan-out bereits abgeschlossene Arbeit erneut ausführt. Wenn ein Skript A, B, C und D in dieser Reihenfolge startet und B fehlschlägt, gibt ein Neustart A aus dem Cache zurück und führt B, C und D erneut aus.381Der letzte Fall bedeutet, dass ein Agent mit dem Status **Fehlgeschlagen** mitten in einem Fan-out bereits abgeschlossene Arbeit erneut ausführt. Wenn ein Skript A, B, C und D in dieser Reihenfolge startet und B den Status **Fehlgeschlagen** hat, gibt ein Neustart A aus dem Cache zurück und führt B, C und D erneut aus.

381 382 

382Wenn Sie ein Skript, das A, B, C und D gestartet hat, so bearbeiten, dass es A, C, B und D startet, ist der zweite gestartete Agent jetzt C, wo der vorherige Lauf B gestartet hat. Ein Neustart gibt A aus dem Cache zurück und führt C, B und D erneut aus.383Wenn Sie ein Skript, das A, B, C und D gestartet hat, so bearbeiten, dass es A, C, B und D startet, ist der zweite gestartete Agent jetzt C, wo der vorherige Lauf B gestartet hat. Ein Neustart gibt A aus dem Cache zurück und führt C, B und D erneut aus.

383 384 


395 396 

396### Wenn ein Lauf Ihr Nutzungslimit erreicht397### Wenn ein Lauf Ihr Nutzungslimit erreicht

397 398 

398Wenn ein Agent Ihr claude.ai-[Nutzungslimit](https://code.claude.com/docs/de/interactive-mode.md#wait-for-a-usage-limit-to-reset) erreicht, wird der Lauf pausiert, anstatt diesen Agenten fehlschlagen zu lassen: Die Agenten, die das Limit erreicht haben, warten auf das Zurücksetzen, und es starten keine neuen Agenten. Kurz nachdem das Limit zurückgesetzt wurde, werden die wartenden Agenten erneut ausgeführt, und der Lauf wird eigenständig fortgesetzt. Erfordert Claude Code v2.1.271 oder neuer; in früheren Versionen schlagen die betroffenen Agenten fehl.399Wenn ein Agent Ihr claude.ai-[Nutzungslimit](https://code.claude.com/docs/de/interactive-mode.md#wait-for-a-usage-limit-to-reset) erreicht, wird der Lauf pausiert, anstatt diesen Agenten fehlschlagen zu lassen. Die Agenten, die das Limit erreicht haben, warten auf das Zurücksetzen, und es starten keine neuen Agenten. Kurz nachdem das Limit zurückgesetzt wurde, werden die wartenden Agenten erneut ausgeführt, und der Lauf wird eigenständig fortgesetzt. Erfordert Claude Code v2.1.271 oder neuer bzw. [v2.1.319 oder neuer](https://code.claude.com/docs/de/desktop.md#claude-code-version-in-the-code-tab) im [Code-Tab](https://code.claude.com/docs/de/desktop.md) der Desktop-App. In früheren Versionen schlagen die betroffenen Agenten fehl.

399 400 

400Während der Lauf wartet, zeigen seine Fortschrittszeile im Aufgabenbereich und die Kopfzeile von [`/workflows`](#watch-the-run) an, wann das Limit zurückgesetzt wird.401Während der Lauf wartet, zeigen seine Fortschrittszeile im Aufgabenbereich und die Kopfzeile von [`/workflows`](#watch-the-run) an, wann das Limit zurückgesetzt wird. Im Code-Tab zeigt der Lauf eine Zeile wie `Paused at usage limit · continues after 3:45 PM if the app stays open` an. Lassen Sie die App geöffnet.

401 402 

402Der Lauf wird nur pausiert, wenn alle folgenden Bedingungen erfüllt sind; ist eine nicht erfüllt, schlägt der betroffene Agent stattdessen fehl:403Der Lauf wird nur pausiert, wenn alle folgenden Bedingungen erfüllt sind; ist eine nicht erfüllt, schlägt der betroffene Agent stattdessen fehl:

403 404 

404* Die Sitzung ist interaktiv und mit einem claude.ai-Abonnement angemeldet. Ein Lauf wird nicht pausiert im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md) mit `claude -p` oder dem [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md), in einer [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) oder in einer [Remote-Control](https://code.claude.com/docs/de/remote-control.md)- oder [Agent-Team](https://code.claude.com/docs/de/agent-teams.md)-Teammitglied-Sitzung.405* Die Sitzung ist mit einem claude.ai-Abonnement ohne [nutzungsbasierte Abrechnung](https://code.claude.com/docs/de/interactive-mode.md#start-a-wait-yourself) angemeldet und ist einer dieser Sitzungstypen:

406 * Eine interaktive Terminal-Sitzung. Ein Lauf wird nicht pausiert im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md) mit `claude -p` oder dem [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md), in einer [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) oder in einer [Remote-Control](https://code.claude.com/docs/de/remote-control.md)- oder [Agent-Team](https://code.claude.com/docs/de/agent-teams.md)-Teammitglied-Sitzung.

407 * Eine lokale Sitzung, die Sie im Code-Tab gestartet haben. Ein Lauf wird nicht pausiert in einer SSH-, WSL-, [Dispatch](https://code.claude.com/docs/de/desktop.md#sessions-from-dispatch)- oder [geplante-Aufgabe](https://code.claude.com/docs/de/desktop-scheduled-tasks.md)-Sitzung, in einer Sitzung, die über Remote Control oder über einen [Unternehmens-Launcher](https://code.claude.com/docs/de/corporate-launcher.md) gestartet wurde, oder während [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/de/env-vars#variables) gesetzt ist.

405* [`autoContinueAtUsageLimit`](https://code.claude.com/docs/de/settings-reference#autocontinueatusagelimit) ist aktiviert, dieselbe Einstellung, mit der die Sitzung selbst [auf das Zurücksetzen eines Nutzungslimits warten](https://code.claude.com/docs/de/interactive-mode.md#wait-for-a-usage-limit-to-reset) kann. Wenn Sie sie während einer Wartezeit deaktivieren, endet die Wartezeit, und die wartenden Agenten schlagen fehl.408* [`autoContinueAtUsageLimit`](https://code.claude.com/docs/de/settings-reference#autocontinueatusagelimit) ist aktiviert, dieselbe Einstellung, mit der die Sitzung selbst [auf das Zurücksetzen eines Nutzungslimits warten](https://code.claude.com/docs/de/interactive-mode.md#wait-for-a-usage-limit-to-reset) kann. Wenn Sie sie während einer Wartezeit deaktivieren, endet die Wartezeit, und die wartenden Agenten schlagen fehl.

409* Im Code-Tab ist das Kontrollkästchen **Auto-continue when limits reset** auf einer [Sitzungslimit-Karte](https://code.claude.com/docs/de/errors.md#youve-hit-your-session-limit) aktiviert, wie es standardmäßig der Fall ist. Wenn Sie es deaktivieren, werden Läufe in Ihren Code-Tab-Sitzungen nicht mehr pausiert, es sei denn, verwaltete Einstellungen setzen `autoContinueAtUsageLimit` auf `true`.

406* Das Limit wird innerhalb von 24 Stunden zurückgesetzt. Ein wöchentliches Limit kann später zurückgesetzt werden.410* Das Limit wird innerhalb von 24 Stunden zurückgesetzt. Ein wöchentliches Limit kann später zurückgesetzt werden.

407* Der Lauf hat noch nicht zweimal gewartet. Wenn er das Limit ein drittes Mal erreicht, schlägt der Agent fehl.411* Der Lauf hat noch nicht zweimal gewartet. Wenn er das Limit ein drittes Mal erreicht, schlägt der Agent fehl.

408 412 

413Um einen Lauf abzuschließen, dessen Agenten am Limit fehlgeschlagen sind, bitten Sie Claude nach dem Zurücksetzen des Limits, [den Workflow neu zu starten](#which-agents-run-again).

414 

409### Wenn ein Agent hängen bleibt und neu startet415### Wenn ein Agent hängen bleibt und neu startet

410 416 

411Ein Agent, dessen Ausgabe lange genug ausbleibt, beginnt mit demselben Prompt von vorn. In [`/workflows`](#watch-the-run) erhält sein Name das Suffix `(retry 1)`, und seine Details zeigen `attempt 2 (stalled)`. Der Neustart erfolgt automatisch, Sie müssen also nichts tun.417Ein Agent, dessen Ausgabe lange genug ausbleibt, beginnt mit demselben Prompt von vorn. In [`/workflows`](#watch-the-run) erhält sein Name das Suffix `(retry 1)`, und seine Details zeigen `attempt 2 (stalled)`. Der Neustart erfolgt automatisch, Sie müssen also nichts tun.

worktrees.md +1 −1

Details

253 253 

254Ein Worktree erhält seine eigenen Dateien und Branch, aber es teilt das Folgende mit dem Haupt-Checkout:254Ein Worktree erhält seine eigenen Dateien und Branch, aber es teilt das Folgende mit dem Haupt-Checkout:

255 255 

256* **Das `.git`-Verzeichnis des Repositories**: Git-Befehle in einem Worktree schreiben in das gemeinsame `.git`-Verzeichnis des Haupt-Repositories, und [Sandboxing](https://code.claude.com/docs/de/sandboxing.md#filesystem-isolation) erlaubt diese Schreibvorgänge, sodass Befehle wie `git commit` von innen in einem Worktree mit aktivierter Sandbox funktionieren.256* **Das `.git`-Verzeichnis des Repositorys**: Git-Befehle in einem Worktree schreiben in das gemeinsame `.git`-Verzeichnis des Haupt-Repositorys. Bei aktivierter [Sandbox](https://code.claude.com/docs/de/sandboxing.md#filesystem-isolation) funktionieren Befehle wie `git commit` in einer Sitzung im Root des Worktrees, wo `--worktree` eine Sitzung startet. Standardmäßig [schlagen sie mit einem `index.lock`-Fehler fehl, wenn Sie `claude` in einem Unterverzeichnis des Worktrees ausführen](https://code.claude.com/docs/de/sandboxing#git-index-lock).

257* **Plugins**: Plugins, die im [Projekt-Geltungsbereich](https://code.claude.com/docs/de/plugins/loading.md#find-where-a-plugin-is-enabled) aus dem Haupt-Checkout installiert sind, werden auch in Worktrees desselben Repositories geladen, sodass Sie sie nicht pro Worktree neu installieren müssen.257* **Plugins**: Plugins, die im [Projekt-Geltungsbereich](https://code.claude.com/docs/de/plugins/loading.md#find-where-a-plugin-is-enabled) aus dem Haupt-Checkout installiert sind, werden auch in Worktrees desselben Repositories geladen, sodass Sie sie nicht pro Worktree neu installieren müssen.

258* **Berechtigungsgenehmigungen**: Das Wählen von „Ja, und nicht mehr fragen“ für einen Bash-Befehl in einer Worktree-Sitzung speichert die Regel in der `.claude/settings.local.json` des Haupt-Checkouts. Die Regel gilt im Haupt-Checkout und in jedem anderen Worktree des Repositories und überlebt das Entfernen des Worktrees.258* **Berechtigungsgenehmigungen**: Das Wählen von „Ja, und nicht mehr fragen“ für einen Bash-Befehl in einer Worktree-Sitzung speichert die Regel in der `.claude/settings.local.json` des Haupt-Checkouts. Die Regel gilt im Haupt-Checkout und in jedem anderen Worktree des Repositories und überlebt das Entfernen des Worktrees.

259 259 

Details

41 41 

42### Was ZDR nicht abdeckt42### Was ZDR nicht abdeckt

43 43 

44ZDR erstreckt sich nicht auf die folgenden Funktionen, auch nicht für Organisationen mit aktiviertem ZDR. Diese Funktionen folgen [Standard-Datenspeicherungsrichtlinien](https://code.claude.com/docs/de/data-usage.md#data-retention):44ZDR erstreckt sich nicht auf die folgenden Funktionen, auch nicht für Organisationen mit aktiviertem ZDR. Sofern in einer Zeile nicht anders angegeben, folgen diese Funktionen [Standard-Datenspeicherungsrichtlinien](https://code.claude.com/docs/de/data-usage.md#data-retention):

45 45 

46| Funktion | Details |46| Funktion | Details |

47| - | - |47| - | - |

48| Chat auf claude.ai | Chat-Gespräche über die Claude for Enterprise-Weboberfläche werden nicht von ZDR abgedeckt. |48| Chat auf claude.ai | Chat-Gespräche über die Claude for Enterprise-Weboberfläche werden nicht von ZDR abgedeckt. |

49| Cowork | Cowork-Sitzungen werden nicht von ZDR abgedeckt. |49| Cowork | Cowork-Sitzungen werden nicht von ZDR abgedeckt. |

50| Artefakte | Artefakte in Chat-Konversationen und Cowork-Sitzungen werden nicht von ZDR abgedeckt und werden aufbewahrt, bis sie gelöscht werden, sofern Ihre Organisation keinen Aufbewahrungszeitraum für sie festlegt. Artefakte sind in Claude Code mit ZDR nicht verfügbar. |

50| Claude Code Analytics | Speichert keine Eingabeaufforderungen oder Modellreaktionen, erfasst aber Produktivitätsmetadaten wie Konto-E-Mails und Nutzungsstatistiken. Beitragskennzahlen sind für ZDR-Organisationen nicht verfügbar; das [Analytics-Dashboard](https://code.claude.com/docs/de/analytics.md) zeigt nur Nutzungsmetriken an. |51| Claude Code Analytics | Speichert keine Eingabeaufforderungen oder Modellreaktionen, erfasst aber Produktivitätsmetadaten wie Konto-E-Mails und Nutzungsstatistiken. Beitragskennzahlen sind für ZDR-Organisationen nicht verfügbar; das [Analytics-Dashboard](https://code.claude.com/docs/de/analytics.md) zeigt nur Nutzungsmetriken an. |

51| Benutzer- und Platzverwaltung | Verwaltungsdaten wie Konto-E-Mails und Platzzuweisungen werden nach Standardrichtlinien beibehalten. |52| Benutzer- und Platzverwaltung | Verwaltungsdaten wie Konto-E-Mails und Platzzuweisungen werden nach Standardrichtlinien beibehalten. |

52| Integrationen von Drittanbietern | Daten, die von Drittanbieter-Tools, MCP servers oder anderen externen Integrationen verarbeitet werden, werden nicht von ZDR abgedeckt. Überprüfen Sie die Datenverwaltungspraktiken dieser Dienste unabhängig. |53| Integrationen von Drittanbietern | Daten, die von Drittanbieter-Tools, MCP servers oder anderen externen Integrationen verarbeitet werden, werden nicht von ZDR abgedeckt. Überprüfen Sie die Datenverwaltungspraktiken dieser Dienste unabhängig. |


60| [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md), einschließlich derjenigen, die aus der [Desktop-App](https://code.claude.com/docs/de/desktop.md#cloud-sessions) gestartet wurden | Erfordert serverseitige Speicherung von Sitzungsdaten, einschließlich Gesprächsverlauf mit Eingabeaufforderungen und Vervollständigungen. |61| [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md), einschließlich derjenigen, die aus der [Desktop-App](https://code.claude.com/docs/de/desktop.md#cloud-sessions) gestartet wurden | Erfordert serverseitige Speicherung von Sitzungsdaten, einschließlich Gesprächsverlauf mit Eingabeaufforderungen und Vervollständigungen. |

61| [Vereinheitlichtes Chat und Cowork](https://support.claude.com/en/articles/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization) | Erfordert Cloud-Sitzungen. |62| [Vereinheitlichtes Chat und Cowork](https://support.claude.com/en/articles/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization) | Erfordert Cloud-Sitzungen. |

62| [Claude Tag](https://claude.com/docs/claude-tag) | Behält Kanalspeicher und Sitzungstranskripte bei. |63| [Claude Tag](https://claude.com/docs/claude-tag) | Behält Kanalspeicher und Sitzungstranskripte bei. |

63| [Artifacts](https://code.claude.com/docs/de/artifacts.md) | Erfordert das Speichern von veröffentlichtem Seiteninhalt auf von Anthropic betriebener Infrastruktur. |64| [Artefakte](https://code.claude.com/docs/de/artifacts.md) in Claude Code | Erfordert das Speichern von veröffentlichtem Seiteninhalt auf von Anthropic betriebener Infrastruktur. |

65| [Claude Docs](https://support.claude.com/en/articles/16923645-get-started-with-claude-docs) | Erfordert das Speichern von Dokumentinhalten auf von Anthropic betriebener Infrastruktur. |

64| Feedback-Übermittlung (`/feedback`, `/bug`, `/share`) | Das Übermitteln von Feedback sendet Gesprächsdaten an Anthropic. |66| Feedback-Übermittlung (`/feedback`, `/bug`, `/share`) | Das Übermitteln von Feedback sendet Gesprächsdaten an Anthropic. |

65| [Remote Control](https://code.claude.com/docs/de/remote-control.md) | Speichert das Sitzungstranskript auf Anthropic-Servern, um das Gespräch über Geräte hinweg zu synchronisieren. |67| [Remote Control](https://code.claude.com/docs/de/remote-control.md) | Speichert das Sitzungstranskript auf Anthropic-Servern, um das Gespräch über Geräte hinweg zu synchronisieren. |

66 68