SpyBara
Go Premium

Documentation 2026-05-05 23:00 UTC to 2026-05-07 22:59 UTC

33 files changed +1,508 −203. View all changes and history on the product overview
2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

agent-sdk/custom-tools.md +833 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Geben Sie Claude benutzerdefinierte Tools

6 

7> Definieren Sie benutzerdefinierte Tools mit dem In-Process-MCP-Server des Claude Agent SDK, damit Claude Ihre Funktionen aufrufen, Ihre APIs treffen und domänenspezifische Operationen ausführen kann.

8 

9Benutzerdefinierte Tools erweitern das Agent SDK, indem Sie Ihre eigenen Funktionen definieren können, die Claude während einer Konversation aufrufen kann. Mit dem In-Process-MCP-Server des SDK können Sie Claude Zugriff auf Datenbanken, externe APIs, domänenspezifische Logik oder jede andere Funktionalität geben, die Ihre Anwendung benötigt.

10 

11Dieser Leitfaden behandelt, wie Sie Tools mit Eingabeschemas und Handlern definieren, sie in einen MCP-Server bündeln, sie an `query` übergeben und kontrollieren, auf welche Tools Claude zugreifen kann. Er behandelt auch Fehlerbehandlung, Tool-Annotationen und die Rückgabe von Nicht-Text-Inhalten wie Bildern.

12 

13## Schnellreferenz

14 

15| Wenn Sie möchten... | Tun Sie dies |

16| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

17| Ein Tool definieren | Verwenden Sie [`@tool`](/de/agent-sdk/python#tool) (Python) oder [`tool()`](/de/agent-sdk/typescript#tool) (TypeScript) mit einem Namen, einer Beschreibung, einem Schema und einem Handler. Siehe [Erstellen Sie ein benutzerdefiniertes Tool](#create-a-custom-tool). |

18| Ein Tool bei Claude registrieren | Wickeln Sie in `create_sdk_mcp_server` / `createSdkMcpServer` ein und übergeben Sie es an `mcpServers` in `query()`. Siehe [Rufen Sie ein benutzerdefiniertes Tool auf](#call-a-custom-tool). |

19| Ein Tool vorab genehmigen | Fügen Sie es zu Ihren zulässigen Tools hinzu. Siehe [Konfigurieren Sie zulässige Tools](#configure-allowed-tools). |

20| Entfernen Sie ein integriertes Tool aus Claudes Kontext | Übergeben Sie ein `tools`-Array, das nur die gewünschten integrierten Tools auflistet. Siehe [Konfigurieren Sie zulässige Tools](#configure-allowed-tools). |

21| Lassen Sie Claude Tools parallel aufrufen | Setzen Sie `readOnlyHint: true` auf Tools ohne Nebenwirkungen. Siehe [Fügen Sie Tool-Annotationen hinzu](#add-tool-annotations). |

22| Fehler behandeln, ohne die Schleife zu stoppen | Geben Sie `isError: true` zurück, anstatt zu werfen. Siehe [Fehler behandeln](#handle-errors). |

23| Geben Sie Bilder oder Dateien zurück | Verwenden Sie `image`- oder `resource`-Blöcke im Content-Array. Siehe [Geben Sie Bilder und Ressourcen zurück](#return-images-and-resources). |

24| Geben Sie ein maschinenlesbares JSON-Ergebnis zurück | Setzen Sie `structuredContent` auf das Ergebnis. Siehe [Geben Sie strukturierte Daten zurück](#return-structured-data). |

25| Skalieren Sie auf viele Tools | Verwenden Sie [Tool-Suche](/de/agent-sdk/tool-search), um Tools bei Bedarf zu laden. |

26 

27## Erstellen Sie ein benutzerdefiniertes Tool

28 

29Ein Tool wird durch vier Teile definiert, die als Argumente an den [`tool()`](/de/agent-sdk/typescript#tool)-Helper in TypeScript oder den [`@tool`](/de/agent-sdk/python#tool)-Dekorator in Python übergeben werden:

30 

31* **Name:** ein eindeutiger Bezeichner, den Claude verwendet, um das Tool aufzurufen.

32* **Beschreibung:** was das Tool tut. Claude liest dies, um zu entscheiden, wann es aufgerufen werden soll.

33* **Eingabeschema:** die Argumente, die Claude bereitstellen muss. In TypeScript ist dies immer ein [Zod-Schema](https://zod.dev/), und die `args` des Handlers werden automatisch davon typisiert. In Python ist dies ein Dict, das Namen auf Typen abbildet, wie `{"latitude": float}`, das das SDK für Sie in JSON Schema konvertiert. Der Python-Dekorator akzeptiert auch direkt ein vollständiges [JSON Schema](https://json-schema.org/understanding-json-schema/about)-Dict, wenn Sie Enums, Bereiche, optionale Felder oder verschachtelte Objekte benötigen.

34* **Handler:** die asynchrone Funktion, die ausgeführt wird, wenn Claude das Tool aufruft. Sie empfängt die validierten Argumente und muss ein Objekt mit folgenden Eigenschaften zurückgeben:

35 * `content` (erforderlich): ein Array von Ergebnisblöcken, jeder mit einem `type` von `"text"`, `"image"` oder `"resource"`. Siehe [Geben Sie Bilder und Ressourcen zurück](#return-images-and-resources) für Nicht-Text-Blöcke.

36 * `structuredContent` (optional): ein JSON-Objekt, das das Ergebnis als maschinenlesbare Daten enthält, das zusammen mit `content` zurückgegeben wird. Siehe [Geben Sie strukturierte Daten zurück](#return-structured-data).

37 * `isError` (optional): setzen Sie auf `true`, um einen Tool-Fehler zu signalisieren, damit Claude darauf reagieren kann. Siehe [Fehler behandeln](#handle-errors).

38 

39Nach dem Definieren eines Tools wickeln Sie es mit [`createSdkMcpServer`](/de/agent-sdk/typescript#createsdkmcpserver) (TypeScript) oder [`create_sdk_mcp_server`](/de/agent-sdk/python#create_sdk_mcp_server) (Python) in einen Server ein. Der Server läuft im Prozess in Ihrer Anwendung, nicht als separater Prozess.

40 

41### Beispiel für ein Wetter-Tool

42 

43Dieses Beispiel definiert ein `get_temperature`-Tool und wickelt es in einen MCP-Server ein. Es richtet nur das Tool ein; um es an `query` zu übergeben und auszuführen, siehe [Rufen Sie ein benutzerdefiniertes Tool auf](#call-a-custom-tool) unten.

44 

45<CodeGroup>

46 ```python Python theme={null}

47 from typing import Any

48 import httpx

49 from claude_agent_sdk import tool, create_sdk_mcp_server

50 

51 

52 # Define a tool: name, description, input schema, handler

53 @tool(

54 "get_temperature",

55 "Get the current temperature at a location",

56 {"latitude": float, "longitude": float},

57 )

58 async def get_temperature(args: dict[str, Any]) -> dict[str, Any]:

59 async with httpx.AsyncClient() as client:

60 response = await client.get(

61 "https://api.open-meteo.com/v1/forecast",

62 params={

63 "latitude": args["latitude"],

64 "longitude": args["longitude"],

65 "current": "temperature_2m",

66 "temperature_unit": "fahrenheit",

67 },

68 )

69 data = response.json()

70 

71 # Return a content array - Claude sees this as the tool result

72 return {

73 "content": [

74 {

75 "type": "text",

76 "text": f"Temperature: {data['current']['temperature_2m']}°F",

77 }

78 ]

79 }

80 

81 

82 # Wrap the tool in an in-process MCP server

83 weather_server = create_sdk_mcp_server(

84 name="weather",

85 version="1.0.0",

86 tools=[get_temperature],

87 )

88 ```

89 

90 ```typescript TypeScript theme={null}

91 import { tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

92 import { z } from "zod";

93 

94 // Define a tool: name, description, input schema, handler

95 const getTemperature = tool(

96 "get_temperature",

97 "Get the current temperature at a location",

98 {

99 latitude: z.number().describe("Latitude coordinate"), // .describe() adds a field description Claude sees

100 longitude: z.number().describe("Longitude coordinate")

101 },

102 async (args) => {

103 // args is typed from the schema: { latitude: number; longitude: number }

104 const response = await fetch(

105 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&current=temperature_2m&temperature_unit=fahrenheit`

106 );

107 const data: any = await response.json();

108 

109 // Return a content array - Claude sees this as the tool result

110 return {

111 content: [{ type: "text", text: `Temperature: ${data.current.temperature_2m}°F` }]

112 };

113 }

114 );

115 

116 // Wrap the tool in an in-process MCP server

117 const weatherServer = createSdkMcpServer({

118 name: "weather",

119 version: "1.0.0",

120 tools: [getTemperature]

121 });

122 ```

123</CodeGroup>

124 

125Siehe die [`tool()`](/de/agent-sdk/typescript#tool)-TypeScript-Referenz oder die [`@tool`](/de/agent-sdk/python#tool)-Python-Referenz für vollständige Parameterdetails, einschließlich JSON-Schema-Eingabeformate und Rückgabewertstruktur.

126 

127<Tip>

128 Um einen Parameter optional zu machen: Fügen Sie in TypeScript `.default()` zum Zod-Feld hinzu. In Python behandelt das Dict-Schema jeden Schlüssel als erforderlich, also lassen Sie den Parameter aus dem Schema weg, erwähnen Sie ihn in der Beschreibungszeichenkette und lesen Sie ihn mit `args.get()` im Handler. Das [`get_precipitation_chance`-Tool unten](#add-more-tools) zeigt beide Muster.

129</Tip>

130 

131### Rufen Sie ein benutzerdefiniertes Tool auf

132 

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

134 

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

136 

137<CodeGroup>

138 ```python Python theme={null}

139 import asyncio

140 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

141 

142 

143 async def main():

144 options = ClaudeAgentOptions(

145 mcp_servers={"weather": weather_server},

146 allowed_tools=["mcp__weather__get_temperature"],

147 )

148 

149 async for message in query(

150 prompt="What's the temperature in San Francisco?",

151 options=options,

152 ):

153 # ResultMessage is the final message after all tool calls complete

154 if isinstance(message, ResultMessage) and message.subtype == "success":

155 print(message.result)

156 

157 

158 asyncio.run(main())

159 ```

160 

161 ```typescript TypeScript theme={null}

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

163 

164 for await (const message of query({

165 prompt: "What's the temperature in San Francisco?",

166 options: {

167 mcpServers: { weather: weatherServer },

168 allowedTools: ["mcp__weather__get_temperature"]

169 }

170 })) {

171 // "result" is the final message after all tool calls complete

172 if (message.type === "result" && message.subtype === "success") {

173 console.log(message.result);

174 }

175 }

176 ```

177</CodeGroup>

178 

179### Fügen Sie weitere Tools hinzu

180 

181Ein Server enthält so viele Tools, wie Sie in seinem `tools`-Array auflisten. Mit mehr als einem Tool auf einem Server können Sie jedes einzelne in `allowedTools` auflisten oder das Wildcard `mcp__weather__*` verwenden, um alle Tools abzudecken, die der Server verfügbar macht.

182 

183Das Beispiel unten fügt ein zweites Tool, `get_precipitation_chance`, zum `weatherServer` aus dem [Wetter-Tool-Beispiel](#weather-tool-example) hinzu und erstellt ihn mit beiden Tools im Array neu.

184 

185<CodeGroup>

186 ```python Python theme={null}

187 # Define a second tool for the same server

188 @tool(

189 "get_precipitation_chance",

190 "Get the hourly precipitation probability for a location. "

191 "Optionally pass 'hours' (1-24) to control how many hours to return.",

192 {"latitude": float, "longitude": float},

193 )

194 async def get_precipitation_chance(args: dict[str, Any]) -> dict[str, Any]:

195 # 'hours' isn't in the schema - read it with .get() to make it optional

196 hours = args.get("hours", 12)

197 async with httpx.AsyncClient() as client:

198 response = await client.get(

199 "https://api.open-meteo.com/v1/forecast",

200 params={

201 "latitude": args["latitude"],

202 "longitude": args["longitude"],

203 "hourly": "precipitation_probability",

204 "forecast_days": 1,

205 },

206 )

207 data = response.json()

208 chances = data["hourly"]["precipitation_probability"][:hours]

209 

210 return {

211 "content": [

212 {

213 "type": "text",

214 "text": f"Next {hours} hours: {'%, '.join(map(str, chances))}%",

215 }

216 ]

217 }

218 

219 

220 # Rebuild the server with both tools in the array

221 weather_server = create_sdk_mcp_server(

222 name="weather",

223 version="1.0.0",

224 tools=[get_temperature, get_precipitation_chance],

225 )

226 ```

227 

228 ```typescript TypeScript theme={null}

229 // Define a second tool for the same server

230 const getPrecipitationChance = tool(

231 "get_precipitation_chance",

232 "Get the hourly precipitation probability for a location",

233 {

234 latitude: z.number(),

235 longitude: z.number(),

236 hours: z

237 .number()

238 .int()

239 .min(1)

240 .max(24)

241 .default(12) // .default() makes the parameter optional

242 .describe("How many hours of forecast to return")

243 },

244 async (args) => {

245 const response = await fetch(

246 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`

247 );

248 const data: any = await response.json();

249 const chances = data.hourly.precipitation_probability.slice(0, args.hours);

250 

251 return {

252 content: [{ type: "text", text: `Next ${args.hours} hours: ${chances.join("%, ")}%` }]

253 };

254 }

255 );

256 

257 // Rebuild the server with both tools in the array

258 const weatherServer = createSdkMcpServer({

259 name: "weather",

260 version: "1.0.0",

261 tools: [getTemperature, getPrecipitationChance]

262 });

263 ```

264</CodeGroup>

265 

266Jedes Tool in diesem Array verbraucht Kontextfensterplatz bei jedem Durchgang. Wenn Sie Dutzende von Tools definieren, siehe [Tool-Suche](/de/agent-sdk/tool-search), um sie stattdessen bei Bedarf zu laden.

267 

268### Fügen Sie Tool-Annotationen hinzu

269 

270[Tool-Annotationen](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations) sind optionale Metadaten, die beschreiben, wie sich ein Tool verhält. Übergeben Sie sie als fünftes Argument an den `tool()`-Helper in TypeScript oder über das `annotations`-Schlüsselwortargument für den `@tool`-Dekorator in Python. Alle Hint-Felder sind Boolesche Werte.

271 

272| Feld | Standard | Bedeutung |

273| :---------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------- |

274| `readOnlyHint` | `false` | Tool ändert seine Umgebung nicht. Steuert, ob das Tool parallel mit anderen schreibgeschützten Tools aufgerufen werden kann. |

275| `destructiveHint` | `true` | Tool kann destruktive Updates durchführen. Nur informativ. |

276| `idempotentHint` | `false` | Wiederholte Aufrufe mit denselben Argumenten haben keine zusätzliche Auswirkung. Nur informativ. |

277| `openWorldHint` | `true` | Tool erreicht Systeme außerhalb Ihres Prozesses. Nur informativ. |

278 

279Annotationen sind Metadaten, keine Durchsetzung. Ein Tool, das mit `readOnlyHint: true` markiert ist, kann immer noch auf die Festplatte schreiben, wenn das der Handler tut. Halten Sie die Annotation genau zum Handler.

280 

281Dieses Beispiel fügt `readOnlyHint` zum `get_temperature`-Tool aus dem [Wetter-Tool-Beispiel](#weather-tool-example) hinzu.

282 

283<CodeGroup>

284 ```python Python theme={null}

285 from claude_agent_sdk import tool, ToolAnnotations

286 

287 

288 @tool(

289 "get_temperature",

290 "Get the current temperature at a location",

291 {"latitude": float, "longitude": float},

292 annotations=ToolAnnotations(

293 readOnlyHint=True

294 ), # Lets Claude batch this with other read-only calls

295 )

296 async def get_temperature(args):

297 return {"content": [{"type": "text", "text": "..."}]}

298 ```

299 

300 ```typescript TypeScript theme={null}

301 tool(

302 "get_temperature",

303 "Get the current temperature at a location",

304 { latitude: z.number(), longitude: z.number() },

305 async (args) => ({ content: [{ type: "text", text: `...` }] }),

306 { annotations: { readOnlyHint: true } } // Lets Claude batch this with other read-only calls

307 );

308 ```

309</CodeGroup>

310 

311Siehe `ToolAnnotations` in der [TypeScript](/de/agent-sdk/typescript#toolannotations)- oder [Python](/de/agent-sdk/python#toolannotations)-Referenz.

312 

313## Kontrollieren Sie den Tool-Zugriff

314 

315Das [Wetter-Tool-Beispiel](#weather-tool-example) registrierte einen Server und listete Tools in `allowedTools` auf. Dieser Abschnitt behandelt, wie Tool-Namen konstruiert werden und wie Sie den Zugriff scoped, wenn Sie mehrere Tools haben oder integrierte Tools einschränken möchten.

316 

317### Tool-Namensformat

318 

319Wenn MCP-Tools Claude verfügbar gemacht werden, folgen ihre Namen einem bestimmten Format:

320 

321* Muster: `mcp__{server_name}__{tool_name}`

322* Beispiel: Ein Tool namens `get_temperature` im Server `weather` wird zu `mcp__weather__get_temperature`

323 

324### Konfigurieren Sie zulässige Tools

325 

326Die `tools`-Option und die zulässigen/nicht zulässigen Listen arbeiten auf separaten Ebenen. `tools` steuert, welche integrierten Tools in Claudes Kontext erscheinen. Zulässige und nicht zulässige Tool-Listen steuern, ob Aufrufe genehmigt oder abgelehnt werden, sobald Claude sie versucht.

327 

328| Option | Ebene | Auswirkung |

329| :------------------------ | :------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

330| `tools: ["Read", "Grep"]` | Verfügbarkeit | Nur die aufgelisteten integrierten Tools sind in Claudes Kontext. Nicht aufgelistete integrierte Tools werden entfernt. MCP-Tools sind nicht betroffen. |

331| `tools: []` | Verfügbarkeit | Alle integrierten Tools werden entfernt. Claude kann nur Ihre MCP-Tools verwenden. |

332| zulässige Tools | Berechtigung | Aufgelistete Tools werden ohne Genehmigungsaufforderung ausgeführt. Nicht aufgelistete Tools bleiben verfügbar; Aufrufe gehen durch den [Genehmigungsfluss](/de/agent-sdk/permissions). |

333| nicht zulässige Tools | Berechtigung | Jeder Aufruf eines aufgelisteten Tools wird abgelehnt. Das Tool bleibt in Claudes Kontext, daher kann Claude es möglicherweise immer noch versuchen, bevor der Aufruf abgelehnt wird. |

334 

335Um zu begrenzen, welche integrierten Tools Claude verwenden kann, bevorzugen Sie `tools` gegenüber nicht zulässigen Tools. Das Weglassen eines Tools aus `tools` entfernt es aus dem Kontext, damit Claude es nie versucht; das Auflisten in `disallowedTools` (Python: `disallowed_tools`) blockiert den Aufruf, lässt das Tool aber sichtbar, daher kann Claude möglicherweise einen Durchgang damit verschwenden. Siehe [Konfigurieren Sie Berechtigungen](/de/agent-sdk/permissions) für die vollständige Evaluierungsreihenfolge.

336 

337## Fehler behandeln

338 

339Wie Ihr Handler Fehler meldet, bestimmt, ob die Agent-Schleife fortgesetzt oder gestoppt wird:

340 

341| Was passiert | Ergebnis |

342| :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |

343| Handler wirft eine nicht abgefangene Ausnahme | Agent-Schleife stoppt. Claude sieht den Fehler nie, und der `query`-Aufruf schlägt fehl. |

344| Handler fängt den Fehler ab und gibt `isError: true` (TS) / `"is_error": True` (Python) zurück | Agent-Schleife setzt sich fort. Claude sieht den Fehler als Daten und kann erneut versuchen, ein anderes Tool versuchen oder den Fehler erklären. |

345 

346Das Beispiel unten fängt zwei Arten von Fehlern im Handler ab, anstatt sie werfen zu lassen. Ein Nicht-200-HTTP-Status wird aus der Antwort abgefangen und als Fehler-Ergebnis zurückgegeben. Ein Netzwerkfehler oder ungültiges JSON wird durch das umgebende `try/except` (Python) oder `try/catch` (TypeScript) abgefangen und auch als Fehler-Ergebnis zurückgegeben. In beiden Fällen gibt der Handler normal zurück und die Agent-Schleife setzt sich fort.

347 

348<CodeGroup>

349 ```python Python theme={null}

350 import json

351 import httpx

352 from typing import Any

353 

354 

355 @tool(

356 "fetch_data",

357 "Fetch data from an API",

358 {"endpoint": str}, # Simple schema

359 )

360 async def fetch_data(args: dict[str, Any]) -> dict[str, Any]:

361 try:

362 async with httpx.AsyncClient() as client:

363 response = await client.get(args["endpoint"])

364 if response.status_code != 200:

365 # Return the failure as a tool result so Claude can react to it.

366 # is_error marks this as a failed call rather than odd-looking data.

367 return {

368 "content": [

369 {

370 "type": "text",

371 "text": f"API error: {response.status_code} {response.reason_phrase}",

372 }

373 ],

374 "is_error": True,

375 }

376 

377 data = response.json()

378 return {"content": [{"type": "text", "text": json.dumps(data, indent=2)}]}

379 except Exception as e:

380 # Catching here keeps the agent loop alive. An uncaught exception

381 # would end the whole query() call.

382 return {

383 "content": [{"type": "text", "text": f"Failed to fetch data: {str(e)}"}],

384 "is_error": True,

385 }

386 ```

387 

388 ```typescript TypeScript theme={null}

389 tool(

390 "fetch_data",

391 "Fetch data from an API",

392 {

393 endpoint: z.string().url().describe("API endpoint URL")

394 },

395 async (args) => {

396 try {

397 const response = await fetch(args.endpoint);

398 

399 if (!response.ok) {

400 // Return the failure as a tool result so Claude can react to it.

401 // isError marks this as a failed call rather than odd-looking data.

402 return {

403 content: [

404 {

405 type: "text",

406 text: `API error: ${response.status} ${response.statusText}`

407 }

408 ],

409 isError: true

410 };

411 }

412 

413 const data = await response.json();

414 return {

415 content: [

416 {

417 type: "text",

418 text: JSON.stringify(data, null, 2)

419 }

420 ]

421 };

422 } catch (error) {

423 // Catching here keeps the agent loop alive. An uncaught throw

424 // would end the whole query() call.

425 return {

426 content: [

427 {

428 type: "text",

429 text: `Failed to fetch data: ${error instanceof Error ? error.message : String(error)}`

430 }

431 ],

432 isError: true

433 };

434 }

435 }

436 );

437 ```

438</CodeGroup>

439 

440## Geben Sie Bilder und Ressourcen zurück

441 

442Das `content`-Array in einem Tool-Ergebnis akzeptiert `text`-, `image`- und `resource`-Blöcke. Sie können sie in derselben Antwort mischen.

443 

444### Bilder

445 

446Ein Bildblock trägt die Bildbytes inline, kodiert als Base64. Es gibt kein URL-Feld. Um ein Bild zurückzugeben, das sich unter einer URL befindet, rufen Sie es im Handler ab, lesen Sie die Antwortbytes und kodieren Sie sie Base64, bevor Sie sie zurückgeben. Das Ergebnis wird als visueller Input verarbeitet.

447 

448| Feld | Typ | Notizen |

449| :--------- | :-------- | :------------------------------------------------------------------------------ |

450| `type` | `"image"` | |

451| `data` | `string` | Base64-kodierte Bytes. Nur rohes Base64, kein `data:image/...;base64,`-Präfix |

452| `mimeType` | `string` | Erforderlich. Zum Beispiel `image/png`, `image/jpeg`, `image/webp`, `image/gif` |

453 

454<CodeGroup>

455 ```python Python theme={null}

456 import base64

457 import httpx

458 

459 

460 # Define a tool that fetches an image from a URL and returns it to Claude

461 @tool("fetch_image", "Fetch an image from a URL and return it to Claude", {"url": str})

462 async def fetch_image(args):

463 async with httpx.AsyncClient() as client: # Fetch the image bytes

464 response = await client.get(args["url"])

465 

466 return {

467 "content": [

468 {

469 "type": "image",

470 "data": base64.b64encode(response.content).decode(

471 "ascii"

472 ), # Base64-encode the raw bytes

473 "mimeType": response.headers.get(

474 "content-type", "image/png"

475 ), # Read MIME type from the response

476 }

477 ]

478 }

479 ```

480 

481 ```typescript TypeScript theme={null}

482 tool(

483 "fetch_image",

484 "Fetch an image from a URL and return it to Claude",

485 {

486 url: z.string().url()

487 },

488 async (args) => {

489 const response = await fetch(args.url); // Fetch the image bytes

490 const buffer = Buffer.from(await response.arrayBuffer()); // Read into a Buffer for base64 encoding

491 const mimeType = response.headers.get("content-type") ?? "image/png";

492 

493 return {

494 content: [

495 {

496 type: "image",

497 data: buffer.toString("base64"), // Base64-encode the raw bytes

498 mimeType

499 }

500 ]

501 };

502 }

503 );

504 ```

505</CodeGroup>

506 

507### Ressourcen

508 

509Ein Ressourcenblock bettet ein Stück Inhalt ein, das durch einen URI identifiziert wird. Der URI ist ein Label für Claude, um darauf zu verweisen; der tatsächliche Inhalt befindet sich im `text`- oder `blob`-Feld des Blocks. Verwenden Sie dies, wenn Ihr Tool etwas produziert, das sinnvoll ist, um später nach Name adressiert zu werden, wie eine generierte Datei oder ein Datensatz aus einem externen System.

510 

511| Feld | Typ | Notizen |

512| :------------------ | :----------- | :----------------------------------------------------------------------- |

513| `type` | `"resource"` | |

514| `resource.uri` | `string` | Bezeichner für den Inhalt. Beliebiges URI-Schema |

515| `resource.text` | `string` | Der Inhalt, wenn er Text ist. Geben Sie dies oder `blob` an, nicht beide |

516| `resource.blob` | `string` | Der Inhalt Base64-kodiert, wenn er binär ist |

517| `resource.mimeType` | `string` | Optional |

518 

519Dieses Beispiel zeigt einen Ressourcenblock, der von innen aus einem Tool-Handler zurückgegeben wird. Der URI `file:///tmp/report.md` ist ein Label, das Claude später referenzieren kann; das SDK liest nicht aus diesem Pfad.

520 

521<CodeGroup>

522 ```typescript TypeScript theme={null}

523 return {

524 content: [

525 {

526 type: "resource",

527 resource: {

528 uri: "file:///tmp/report.md", // Label for Claude to reference, not a path the SDK reads

529 mimeType: "text/markdown",

530 text: "# Report\n..." // The actual content, inline

531 }

532 }

533 ]

534 };

535 ```

536 

537 ```python Python theme={null}

538 return {

539 "content": [

540 {

541 "type": "resource",

542 "resource": {

543 "uri": "file:///tmp/report.md", # Label for Claude to reference, not a path the SDK reads

544 "mimeType": "text/markdown",

545 "text": "# Report\n...", # The actual content, inline

546 },

547 }

548 ]

549 }

550 ```

551</CodeGroup>

552 

553Diese Block-Formen stammen aus dem MCP-`CallToolResult`-Typ. Siehe die [MCP-Spezifikation](https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result) für die vollständige Definition.

554 

555## Geben Sie strukturierte Daten zurück

556 

557`structuredContent` ist ein optionales JSON-Objekt auf dem Ergebnis, getrennt vom `content`-Array. Verwenden Sie es, um Rohwerte zurückzugeben, die Claude als exakte Felder lesen kann, anstatt sie aus einer Textzeichenkette oder einem Bild zu analysieren.

558 

559Wenn `structuredContent` gesetzt ist, empfängt Claude das JSON plus alle Bild- oder Ressourcenblöcke aus `content`. Textblöcke in `content` werden nicht weitergeleitet, da angenommen wird, dass sie die strukturierten Daten duplizieren. Das Beispiel unten rendert ein Diagramm als Bildblock und gibt die Datenpunkte dahinter in `structuredContent` vom selben Handler zurück.

560 

561```typescript TypeScript theme={null}

562return {

563 content: [

564 {

565 type: "image",

566 data: chartPngBuffer.toString("base64"),

567 mimeType: "image/png"

568 }

569 ],

570 structuredContent: {

571 series: "temperature_2m",

572 unit: "fahrenheit",

573 points: [62.1, 63.4, 65.0, 64.2]

574 }

575};

576```

577 

578<Note>

579 Der Python-`@tool`-Dekorator leitet nur `content` und `is_error` aus dem Rückgabe-Dict des Handlers weiter. Um `structuredContent` von Python zurückzugeben, führen Sie stattdessen einen [eigenständigen MCP-Server](/de/agent-sdk/mcp) aus.

580</Note>

581 

582## Beispiel: Einheitenkonverter

583 

584Dieses Tool konvertiert Werte zwischen Einheiten der Länge, Temperatur und des Gewichts. Ein Benutzer kann fragen „100 Kilometer in Meilen konvertieren" oder „Was ist 72°F in Celsius", und Claude wählt den richtigen Einheitstyp und die Einheiten aus der Anfrage.

585 

586Es demonstriert zwei Muster:

587 

588* **Enum-Schemas:** `unit_type` ist auf einen festen Satz von Werten beschränkt. In TypeScript verwenden Sie `z.enum()`. In Python unterstützt das Dict-Schema keine Enums, daher ist das vollständige JSON-Schema-Dict erforderlich.

589* **Behandlung nicht unterstützter Eingaben:** Wenn ein Konvertierungspaar nicht gefunden wird, gibt der Handler `isError: true` zurück, damit Claude dem Benutzer sagen kann, was schief gelaufen ist, anstatt einen Fehler als normales Ergebnis zu behandeln.

590 

591<CodeGroup>

592 ```python Python theme={null}

593 from typing import Any

594 from claude_agent_sdk import tool, create_sdk_mcp_server

595 

596 

597 # z.enum() in TypeScript becomes an "enum" constraint in JSON Schema.

598 # The dict schema has no equivalent, so full JSON Schema is required.

599 @tool(

600 "convert_units",

601 "Convert a value from one unit to another",

602 {

603 "type": "object",

604 "properties": {

605 "unit_type": {

606 "type": "string",

607 "enum": ["length", "temperature", "weight"],

608 "description": "Category of unit",

609 },

610 "from_unit": {

611 "type": "string",

612 "description": "Unit to convert from, e.g. kilometers, fahrenheit, pounds",

613 },

614 "to_unit": {"type": "string", "description": "Unit to convert to"},

615 "value": {"type": "number", "description": "Value to convert"},

616 },

617 "required": ["unit_type", "from_unit", "to_unit", "value"],

618 },

619 )

620 async def convert_units(args: dict[str, Any]) -> dict[str, Any]:

621 conversions = {

622 "length": {

623 "kilometers_to_miles": lambda v: v * 0.621371,

624 "miles_to_kilometers": lambda v: v * 1.60934,

625 "meters_to_feet": lambda v: v * 3.28084,

626 "feet_to_meters": lambda v: v * 0.3048,

627 },

628 "temperature": {

629 "celsius_to_fahrenheit": lambda v: (v * 9) / 5 + 32,

630 "fahrenheit_to_celsius": lambda v: (v - 32) * 5 / 9,

631 "celsius_to_kelvin": lambda v: v + 273.15,

632 "kelvin_to_celsius": lambda v: v - 273.15,

633 },

634 "weight": {

635 "kilograms_to_pounds": lambda v: v * 2.20462,

636 "pounds_to_kilograms": lambda v: v * 0.453592,

637 "grams_to_ounces": lambda v: v * 0.035274,

638 "ounces_to_grams": lambda v: v * 28.3495,

639 },

640 }

641 

642 key = f"{args['from_unit']}_to_{args['to_unit']}"

643 fn = conversions.get(args["unit_type"], {}).get(key)

644 

645 if not fn:

646 return {

647 "content": [

648 {

649 "type": "text",

650 "text": f"Unsupported conversion: {args['from_unit']} to {args['to_unit']}",

651 }

652 ],

653 "is_error": True,

654 }

655 

656 result = fn(args["value"])

657 return {

658 "content": [

659 {

660 "type": "text",

661 "text": f"{args['value']} {args['from_unit']} = {result:.4f} {args['to_unit']}",

662 }

663 ]

664 }

665 

666 

667 converter_server = create_sdk_mcp_server(

668 name="converter",

669 version="1.0.0",

670 tools=[convert_units],

671 )

672 ```

673 

674 ```typescript TypeScript theme={null}

675 import { tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

676 import { z } from "zod";

677 

678 const convert = tool(

679 "convert_units",

680 "Convert a value from one unit to another",

681 {

682 unit_type: z.enum(["length", "temperature", "weight"]).describe("Category of unit"),

683 from_unit: z

684 .string()

685 .describe("Unit to convert from, e.g. kilometers, fahrenheit, pounds"),

686 to_unit: z.string().describe("Unit to convert to"),

687 value: z.number().describe("Value to convert")

688 },

689 async (args) => {

690 type Conversions = Record<string, Record<string, (v: number) => number>>;

691 

692 const conversions: Conversions = {

693 length: {

694 kilometers_to_miles: (v) => v * 0.621371,

695 miles_to_kilometers: (v) => v * 1.60934,

696 meters_to_feet: (v) => v * 3.28084,

697 feet_to_meters: (v) => v * 0.3048

698 },

699 temperature: {

700 celsius_to_fahrenheit: (v) => (v * 9) / 5 + 32,

701 fahrenheit_to_celsius: (v) => ((v - 32) * 5) / 9,

702 celsius_to_kelvin: (v) => v + 273.15,

703 kelvin_to_celsius: (v) => v - 273.15

704 },

705 weight: {

706 kilograms_to_pounds: (v) => v * 2.20462,

707 pounds_to_kilograms: (v) => v * 0.453592,

708 grams_to_ounces: (v) => v * 0.035274,

709 ounces_to_grams: (v) => v * 28.3495

710 }

711 };

712 

713 const key = `${args.from_unit}_to_${args.to_unit}`;

714 const fn = conversions[args.unit_type]?.[key];

715 

716 if (!fn) {

717 return {

718 content: [

719 {

720 type: "text",

721 text: `Unsupported conversion: ${args.from_unit} to ${args.to_unit}`

722 }

723 ],

724 isError: true

725 };

726 }

727 

728 const result = fn(args.value);

729 return {

730 content: [

731 {

732 type: "text",

733 text: `${args.value} ${args.from_unit} = ${result.toFixed(4)} ${args.to_unit}`

734 }

735 ]

736 };

737 }

738 );

739 

740 const converterServer = createSdkMcpServer({

741 name: "converter",

742 version: "1.0.0",

743 tools: [convert]

744 });

745 ```

746</CodeGroup>

747 

748Sobald der Server definiert ist, übergeben Sie ihn an `query` auf die gleiche Weise wie das Wetter-Beispiel. Dieses Beispiel sendet drei verschiedene Prompts in einer Schleife, um zu zeigen, wie dasselbe Tool verschiedene Einheitstypen handhabt. Für jede Antwort inspiziert es `AssistantMessage`-Objekte (die die Tool-Aufrufe enthalten, die Claude während dieses Durchgangs gemacht hat) und gibt jeden `ToolUseBlock` aus, bevor es den endgültigen `ResultMessage`-Text ausgibt. Dies lässt Sie sehen, wann Claude das Tool verwendet, im Gegensatz zu Antworten aus seinem eigenen Wissen.

749 

750<CodeGroup>

751 ```python Python theme={null}

752 import asyncio

753 from claude_agent_sdk import (

754 query,

755 ClaudeAgentOptions,

756 ResultMessage,

757 AssistantMessage,

758 ToolUseBlock,

759 )

760 

761 

762 async def main():

763 options = ClaudeAgentOptions(

764 mcp_servers={"converter": converter_server},

765 allowed_tools=["mcp__converter__convert_units"],

766 )

767 

768 prompts = [

769 "Convert 100 kilometers to miles.",

770 "What is 72°F in Celsius?",

771 "How many pounds is 5 kilograms?",

772 ]

773 

774 for prompt in prompts:

775 async for message in query(prompt=prompt, options=options):

776 if isinstance(message, AssistantMessage):

777 for block in message.content:

778 if isinstance(block, ToolUseBlock):

779 print(f"[tool call] {block.name}({block.input})")

780 elif isinstance(message, ResultMessage) and message.subtype == "success":

781 print(f"Q: {prompt}\nA: {message.result}\n")

782 

783 

784 asyncio.run(main())

785 ```

786 

787 ```typescript TypeScript theme={null}

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

789 

790 const prompts = [

791 "Convert 100 kilometers to miles.",

792 "What is 72°F in Celsius?",

793 "How many pounds is 5 kilograms?"

794 ];

795 

796 for (const prompt of prompts) {

797 for await (const message of query({

798 prompt,

799 options: {

800 mcpServers: { converter: converterServer },

801 allowedTools: ["mcp__converter__convert_units"]

802 }

803 })) {

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

805 for (const block of message.message.content) {

806 if (block.type === "tool_use") {

807 console.log(`[tool call] ${block.name}`, block.input);

808 }

809 }

810 } else if (message.type === "result" && message.subtype === "success") {

811 console.log(`Q: ${prompt}\nA: ${message.result}\n`);

812 }

813 }

814 }

815 ```

816</CodeGroup>

817 

818## Nächste Schritte

819 

820Benutzerdefinierte Tools wickeln asynchrone Funktionen in einer Standardschnittstelle ein. Sie können die Muster auf dieser Seite im selben Server mischen: Ein einzelner Server kann ein Datenbank-Tool, ein API-Gateway-Tool und einen Bild-Renderer nebeneinander halten.

821 

822Von hier aus:

823 

824* Wenn Ihr Server auf Dutzende von Tools wächst, siehe [Tool-Suche](/de/agent-sdk/tool-search), um das Laden zu verschieben, bis Claude sie benötigt.

825* Um sich mit externen MCP-Servern (Dateisystem, GitHub, Slack) zu verbinden, anstatt Ihre eigenen zu erstellen, siehe [Verbinden Sie MCP-Server](/de/agent-sdk/mcp).

826* Um zu kontrollieren, welche Tools automatisch ausgeführt werden, im Gegensatz zu denen, die Genehmigung erfordern, siehe [Konfigurieren Sie Berechtigungen](/de/agent-sdk/permissions).

827 

828## Verwandte Dokumentation

829 

830* [TypeScript SDK-Referenz](/de/agent-sdk/typescript)

831* [Python SDK-Referenz](/de/agent-sdk/python)

832* [MCP-Dokumentation](https://modelcontextprotocol.io)

833* [SDK-Übersicht](/de/agent-sdk/overview)

Details

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

758 system_prompt: str | SystemPromptPreset | None = None758 system_prompt: str | SystemPromptPreset | None = None

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

760 strict_mcp_config: bool = False

760 permission_mode: PermissionMode | None = None761 permission_mode: PermissionMode | None = None

761 continue_conversation: bool = False762 continue_conversation: bool = False

762 resume: str | None = None763 resume: str | None = None


781 hooks: dict[HookEvent, list[HookMatcher]] | None = None782 hooks: dict[HookEvent, list[HookMatcher]] | None = None

782 user: str | None = None783 user: str | None = None

783 include_partial_messages: bool = False784 include_partial_messages: bool = False

785 include_hook_events: bool = False

784 fork_session: bool = False786 fork_session: bool = False

785 agents: dict[str, AgentDefinition] | None = None787 agents: dict[str, AgentDefinition] | None = None

786 setting_sources: list[SettingSource] | None = None788 setting_sources: list[SettingSource] | None = None


788 plugins: list[SdkPluginConfig] = field(default_factory=list)790 plugins: list[SdkPluginConfig] = field(default_factory=list)

789 max_thinking_tokens: int | None = None # Deprecated: use thinking instead791 max_thinking_tokens: int | None = None # Deprecated: use thinking instead

790 thinking: ThinkingConfig | None = None792 thinking: ThinkingConfig | None = None

791 effort: Literal["low", "medium", "high", "max"] | None = None793 effort: Literal["low", "medium", "high", "xhigh", "max"] | None = None

792 enable_file_checkpointing: bool = False794 enable_file_checkpointing: bool = False

793 session_store: SessionStore | None = None795 session_store: SessionStore | None = None

794 session_store_flush: SessionStoreFlushMode = "batched"796 session_store_flush: SessionStoreFlushMode = "batched"


800| `allowed_tools` | `list[str]` | `[]` | Tools, die automatisch genehmigt werden, ohne zu fragen. Dies beschränkt Claude nicht nur auf diese Tools; nicht aufgelistete Tools fallen durch `permission_mode` und `can_use_tool`. Verwenden Sie `disallowed_tools`, um Tools zu blockieren. Siehe [Berechtigungen](/de/agent-sdk/permissions#allow-and-deny-rules) |802| `allowed_tools` | `list[str]` | `[]` | Tools, die automatisch genehmigt werden, ohne zu fragen. Dies beschränkt Claude nicht nur auf diese Tools; nicht aufgelistete Tools fallen durch `permission_mode` und `can_use_tool`. Verwenden Sie `disallowed_tools`, um Tools zu blockieren. Siehe [Berechtigungen](/de/agent-sdk/permissions#allow-and-deny-rules) |

801| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | System-Prompt-Konfiguration. Übergeben Sie eine Zeichenkette für einen benutzerdefinierten Prompt, oder verwenden Sie `{"type": "preset", "preset": "claude_code"}` für den System-Prompt von Claude Code. Fügen Sie `"append"` hinzu, um den Preset zu erweitern |803| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | System-Prompt-Konfiguration. Übergeben Sie eine Zeichenkette für einen benutzerdefinierten Prompt, oder verwenden Sie `{"type": "preset", "preset": "claude_code"}` für den System-Prompt von Claude Code. Fügen Sie `"append"` hinzu, um den Preset zu erweitern |

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

805| `strict_mcp_config` | `bool` | `False` | Wenn `True`, verwenden Sie nur die Server, die in `mcp_servers` übergeben werden, und ignorieren Sie das Projekt `.mcp.json`, Benutzereinstellungen und von Plugins bereitgestellte MCP-Server. Entspricht dem CLI-Flag `--strict-mcp-config` |

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

804| `continue_conversation` | `bool` | `False` | Setzen Sie die neueste Konversation fort |807| `continue_conversation` | `bool` | `False` | Setzen Sie die neueste Konversation fort |

805| `resume` | `str \| None` | `None` | Sitzungs-ID zum Fortsetzen |808| `resume` | `str \| None` | `None` | Sitzungs-ID zum Fortsetzen |


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

817| `settings` | `str \| None` | `None` | Pfad zur Einstellungsdatei |820| `settings` | `str \| None` | `None` | Pfad zur Einstellungsdatei |

818| `add_dirs` | `list[str \| Path]` | `[]` | Zusätzliche Verzeichnisse, auf die Claude zugreifen kann |821| `add_dirs` | `list[str \| Path]` | `[]` | Zusätzliche Verzeichnisse, auf die Claude zugreifen kann |

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

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

821| `max_buffer_size` | `int \| None` | `None` | Maximale Bytes beim Puffern der CLI-Stdout |824| `max_buffer_size` | `int \| None` | `None` | Maximale Bytes beim Puffern der CLI-Stdout |

822| `debug_stderr` | `Any` | `sys.stderr` | *Veraltet* - Dateiähnliches Objekt für Debug-Ausgabe. Verwenden Sie stattdessen den `stderr`-Callback |825| `debug_stderr` | `Any` | `sys.stderr` | *Veraltet* - Dateiähnliches Objekt für Debug-Ausgabe. Verwenden Sie stattdessen den `stderr`-Callback |


825| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Hook-Konfigurationen zum Abfangen von Ereignissen |828| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Hook-Konfigurationen zum Abfangen von Ereignissen |

826| `user` | `str \| None` | `None` | Benutzerkennung |829| `user` | `str \| None` | `None` | Benutzerkennung |

827| `include_partial_messages` | `bool` | `False` | Schließen Sie partielle Nachrichtenstreaming-Ereignisse ein. Wenn aktiviert, werden [`StreamEvent`](#streamevent)-Nachrichten geliefert |830| `include_partial_messages` | `bool` | `False` | Schließen Sie partielle Nachrichtenstreaming-Ereignisse ein. Wenn aktiviert, werden [`StreamEvent`](#streamevent)-Nachrichten geliefert |

831| `include_hook_events` | `bool` | `False` | Schließen Sie Hook-Lebenszyklusereignisse im Nachrichtenstrom als `HookEventMessage`-Objekte ein |

828| `fork_session` | `bool` | `False` | Wenn Sie mit `resume` fortsetzen, verzweigen Sie sich zu einer neuen Sitzungs-ID, anstatt die ursprüngliche Sitzung fortzusetzen |832| `fork_session` | `bool` | `False` | Wenn Sie mit `resume` fortsetzen, verzweigen Sie sich zu einer neuen Sitzungs-ID, anstatt die ursprüngliche Sitzung fortzusetzen |

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

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


832| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI-Standard: alle Quellen) | Kontrollieren Sie, welche Dateisystem-Einstellungen geladen werden. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. Verwaltete Richtlinieneinstellungen werden unabhängig davon geladen. Siehe [Claude Code-Funktionen verwenden](/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) |836| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI-Standard: alle Quellen) | Kontrollieren Sie, welche Dateisystem-Einstellungen geladen werden. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. Verwaltete Richtlinieneinstellungen werden unabhängig davon geladen. Siehe [Claude Code-Funktionen verwenden](/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

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

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

835| `effort` | `Literal["low", "medium", "high", "max"] \| None` | `None` | Anstrengungsstufe für die Denktiefe |839| `effort` | `Literal["low", "medium", "high", "xhigh", "max"] \| None` | `None` | Anstrengungsstufe für die Denktiefe |

836| `session_store` | [`SessionStore`](/de/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Spiegeln Sie Sitzungstranskripte zu einem externen Backend, damit jeder Host sie fortsetzen kann. Siehe [Sitzungen im externen Speicher beibehalten](/de/agent-sdk/session-storage) |840| `session_store` | [`SessionStore`](/de/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Spiegeln Sie Sitzungstranskripte zu einem externen Backend, damit jeder Host sie fortsetzen kann. Siehe [Sitzungen im externen Speicher beibehalten](/de/agent-sdk/session-storage) |

837| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Wann sollen gespiegelte Transkripteinträge zu `session_store` geleert werden. `"batched"` leert einmal pro Umdrehung oder wenn der Puffer voll wird; `"eager"` löst nach jedem Frame einen Hintergrund-Flush aus. Wird ignoriert, wenn `session_store` `None` ist |841| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Wann sollen gespiegelte Transkripteinträge zu `session_store` geleert werden. `"batched"` leert einmal pro Umdrehung oder wenn der Puffer voll wird; `"eager"` löst nach jedem Frame einen Hintergrund-Flush aus. Wird ignoriert, wenn `session_store` `None` ist |

838 842 

843#### Langsame oder steckengebliebene API-Antworten handhaben

844 

845Die CLI-Subprozess liest mehrere Umgebungsvariablen, die API-Timeouts und Stall-Erkennung steuern. Übergeben Sie sie durch `ClaudeAgentOptions.env`:

846 

847```python theme={null}

848options = ClaudeAgentOptions(

849 env={

850 "API_TIMEOUT_MS": "120000",

851 "CLAUDE_CODE_MAX_RETRIES": "2",

852 "CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS": "120000",

853 },

854)

855```

856 

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

858* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, daher ist die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff.

859* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.

860* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Standardmäßig deaktiviert. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.

861 

839### `OutputFormat`862### `OutputFormat`

840 863 

841Konfiguration für die Validierung strukturierter Ausgaben. Übergeben Sie dies als `dict` an das Feld `output_format` auf `ClaudeAgentOptions`:864Konfiguration für die Validierung strukturierter Ausgaben. Übergeben Sie dies als `dict` an das Feld `output_format` auf `ClaudeAgentOptions`:


1015 initialPrompt: str | None = None1038 initialPrompt: str | None = None

1016 maxTurns: int | None = None1039 maxTurns: int | None = None

1017 background: bool | None = None1040 background: bool | None = None

1018 effort: Literal["low", "medium", "high", "max"] | int | None = None1041 effort: Literal["low", "medium", "high", "xhigh", "max"] | int | None = None

1019 permissionMode: PermissionMode | None = None1042 permissionMode: PermissionMode | None = None

1020```1043```

1021 1044 


1080class ToolPermissionContext:1103class ToolPermissionContext:

1081 signal: Any | None = None # Future: abort signal support1104 signal: Any | None = None # Future: abort signal support

1082 suggestions: list[PermissionUpdate] = field(default_factory=list)1105 suggestions: list[PermissionUpdate] = field(default_factory=list)

1106 blocked_path: str | None = None

1107 decision_reason: str | None = None

1108 title: str | None = None

1109 display_name: str | None = None

1110 description: str | None = None

1083```1111```

1084 1112 

1085| Feld | Typ | Beschreibung |1113| Feld | Typ | Beschreibung |

1086| :------------ | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1114| :---------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1087| `signal` | `Any \| None` | Reserviert für zukünftige Abort-Signal-Unterstützung |1115| `signal` | `Any \| None` | Reserviert für zukünftige Abort-Signal-Unterstützung |

1088| `suggestions` | `list[PermissionUpdate]` | Berechtigungsaktualisierungsvorschläge von der CLI. Bash-Aufforderungen enthalten einen Vorschlag mit dem `localSettings`-Ziel, daher gibt das Zurückgeben in `updated_permissions` die Regel in `.claude/settings.local.json` aus und bleibt über Sitzungen hinweg bestehen. |1116| `suggestions` | `list[PermissionUpdate]` | Berechtigungsaktualisierungsvorschläge von der CLI. Bash-Aufforderungen enthalten einen Vorschlag mit dem `localSettings`-Ziel, daher gibt das Zurückgeben in `updated_permissions` die Regel in `.claude/settings.local.json` aus und bleibt über Sitzungen hinweg bestehen. |

1117| `blocked_path` | `str \| None` | Dateipfad, der die Berechtigungsanfrage ausgelöst hat, falls zutreffend. Zum Beispiel, wenn ein Bash-Befehl versucht, auf einen Pfad außerhalb zulässiger Verzeichnisse zuzugreifen |

1118| `decision_reason` | `str \| None` | Grund, warum diese Berechtigungsanfrage ausgelöst wurde. Weitergeleitet von einem PreToolUse-Hook's `permissionDecisionReason`, wenn der Hook `"ask"` zurückgegeben hat |

1119| `title` | `str \| None` | Vollständiger Berechtigungsaufforderungssatz, wie `Claude wants to read foo.txt`. Verwenden Sie als primären Aufforderungstext, wenn vorhanden |

1120| `display_name` | `str \| None` | Kurze Nominalphrase für die Tool-Aktion, wie `Read file`, geeignet für Schaltflächenbeschriftungen |

1121| `description` | `str \| None` | Lesbare Untertitel für die Berechtigungs-UI |

1089 1122 

1090### `PermissionResult`1123### `PermissionResult`

1091 1124 


1466 is_error: bool1499 is_error: bool

1467 num_turns: int1500 num_turns: int

1468 session_id: str1501 session_id: str

1502 stop_reason: str | None = None

1469 total_cost_usd: float | None = None1503 total_cost_usd: float | None = None

1470 usage: dict[str, Any] | None = None1504 usage: dict[str, Any] | None = None

1471 result: str | None = None1505 result: str | None = None

1472 stop_reason: str | None = None

1473 structured_output: Any = None1506 structured_output: Any = None

1474 model_usage: dict[str, Any] | None = None1507 model_usage: dict[str, Any] | None = None

1508 permission_denials: list[Any] | None = None

1509 deferred_tool_use: DeferredToolUse | None = None

1510 errors: list[str] | None = None

1511 api_error_status: int | None = None

1512 uuid: str | None = None

1475```1513```

1476 1514 

1477Das `usage`-Dict enthält die folgenden Schlüssel, wenn vorhanden:1515Das `usage`-Dict enthält die folgenden Schlüssel, wenn vorhanden:


2128```python theme={null}2166```python theme={null}

2129class PreToolUseHookSpecificOutput(TypedDict):2167class PreToolUseHookSpecificOutput(TypedDict):

2130 hookEventName: Literal["PreToolUse"]2168 hookEventName: Literal["PreToolUse"]

2131 permissionDecision: NotRequired[Literal["allow", "deny", "ask"]]2169 permissionDecision: NotRequired[Literal["allow", "deny", "ask", "defer"]]

2132 permissionDecisionReason: NotRequired[str]2170 permissionDecisionReason: NotRequired[str]

2133 updatedInput: NotRequired[dict[str, Any]]2171 updatedInput: NotRequired[dict[str, Any]]

2134 additionalContext: NotRequired[str]2172 additionalContext: NotRequired[str]


2137class PostToolUseHookSpecificOutput(TypedDict):2175class PostToolUseHookSpecificOutput(TypedDict):

2138 hookEventName: Literal["PostToolUse"]2176 hookEventName: Literal["PostToolUse"]

2139 additionalContext: NotRequired[str]2177 additionalContext: NotRequired[str]

2178 updatedToolOutput: NotRequired[Any]

2140 updatedMCPToolOutput: NotRequired[Any]2179 updatedMCPToolOutput: NotRequired[Any]

2141 2180 

2142 2181 

Details

8 8 

9<script src="/components/typescript-sdk-type-links.js" defer />9<script src="/components/typescript-sdk-type-links.js" defer />

10 10 

11<Note>

12 **Probieren Sie die neue V2-Schnittstelle (Vorschau):** Eine vereinfachte Schnittstelle mit `send()`- und `stream()`-Mustern ist jetzt verfügbar und macht Multi-Turn-Konversationen einfacher. [Erfahren Sie mehr über die TypeScript V2-Vorschau](/de/agent-sdk/typescript-v2-preview)

13</Note>

14 

15## Installation11## Installation

16 12 

17```bash theme={null}13```bash theme={null}


335| `disallowedTools` | `string[]` | `[]` | Tools, die immer verweigert werden. Deny-Regeln werden zuerst überprüft und überschreiben `allowedTools` und `permissionMode` (einschließlich `bypassPermissions`) |331| `disallowedTools` | `string[]` | `[]` | Tools, die immer verweigert werden. Deny-Regeln werden zuerst überprüft und überschreiben `allowedTools` und `permissionMode` (einschließlich `bypassPermissions`) |

336| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Steuert, wie viel Aufwand Claude in seine Antwort investiert. Funktioniert mit adaptivem Denken, um die Denktiefe zu lenken |332| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Steuert, wie viel Aufwand Claude in seine Antwort investiert. Funktioniert mit adaptivem Denken, um die Denktiefe zu lenken |

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

338| `env` | `Record<string, string \| undefined>` | `process.env` | Umgebungsvariablen. Siehe [Umgebungsvariablen](/de/env-vars) für Variablen, die die zugrunde liegende CLI liest. Setzen Sie `CLAUDE_AGENT_SDK_CLIENT_APP`, um Ihre App im User-Agent-Header zu identifizieren |334| `env` | `Record<string, string \| undefined>` | `process.env` | Umgebungsvariablen. Siehe [Umgebungsvariablen](/de/env-vars) für Variablen, die die zugrunde liegende CLI liest, und [Langsame oder steckengebliebene API-Antworten verarbeiten](#handle-slow-or-stalled-api-responses) für Timeout-bezogene Variablen. Setzen Sie `CLAUDE_AGENT_SDK_CLIENT_APP`, um Ihre App im User-Agent-Header zu identifizieren |

339| `executable` | `'bun' \| 'deno' \| 'node'` | Automatisch erkannt | JavaScript-Laufzeit zum Verwenden |335| `executable` | `'bun' \| 'deno' \| 'node'` | Automatisch erkannt | JavaScript-Laufzeit zum Verwenden |

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

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


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

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

362| `sessionStore` | [`SessionStore`](/de/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Spiegeln Sie Sitzungstranskripte auf einem externen Backend, damit jeder Host sie fortsetzen kann. Siehe [Sitzungen im externen Speicher persistieren](/de/agent-sdk/session-storage) |358| `sessionStore` | [`SessionStore`](/de/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Spiegeln Sie Sitzungstranskripte auf einem externen Backend, damit jeder Host sie fortsetzen kann. Siehe [Sitzungen im externen Speicher persistieren](/de/agent-sdk/session-storage) |

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

363| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI-Standards (alle Quellen) | Steuern Sie, welche Dateisystem-Einstellungen geladen werden. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. Verwaltete Richtlinieneinstellungen werden unabhängig davon geladen. Siehe [Claude Code-Funktionen verwenden](/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) |360| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI-Standards (alle Quellen) | Steuern Sie, welche Dateisystem-Einstellungen geladen werden. Übergeben Sie `[]`, um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. Verwaltete Richtlinieneinstellungen werden unabhängig davon geladen. Siehe [Claude Code-Funktionen verwenden](/de/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

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

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


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

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

371 368 

369#### Langsame oder steckengebliebene API-Antworten verarbeiten

370 

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

372 

373```typescript theme={null}

374const result = query({

375 prompt: "Analyze this code",

376 options: {

377 env: {

378 ...process.env,

379 API_TIMEOUT_MS: "120000",

380 CLAUDE_CODE_MAX_RETRIES: "2",

381 CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS: "120000",

382 },

383 },

384});

385```

386 

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

388* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, sodass die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff ist.

389* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.

390* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Standardmäßig deaktiviert. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.

391 

372### `Query`-Objekt392### `Query`-Objekt

373 393 

374Schnittstelle, die von der `query()`-Funktion zurückgegeben wird.394Schnittstelle, die von der `query()`-Funktion zurückgegeben wird.


383 setPermissionMode(mode: PermissionMode): Promise<void>;403 setPermissionMode(mode: PermissionMode): Promise<void>;

384 setModel(model?: string): Promise<void>;404 setModel(model?: string): Promise<void>;

385 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;405 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;

406 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;

386 initializationResult(): Promise<SDKControlInitializeResponse>;407 initializationResult(): Promise<SDKControlInitializeResponse>;

387 supportedCommands(): Promise<SlashCommand[]>;408 supportedCommands(): Promise<SlashCommand[]>;

388 supportedModels(): Promise<ModelInfo[]>;409 supportedModels(): Promise<ModelInfo[]>;


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

408| `setModel()` | Ändert das Modell (nur im Streaming-Eingabemodus verfügbar) |429| `setModel()` | Ändert das Modell (nur im Streaming-Eingabemodus verfügbar) |

409| `setMaxThinkingTokens()` | *Veraltet:* Verwenden Sie stattdessen die `thinking`-Option. Ändert die maximalen Denk-Token |430| `setMaxThinkingTokens()` | *Veraltet:* Verwenden Sie stattdessen die `thinking`-Option. Ändert die maximalen Denk-Token |

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

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

411| `supportedCommands()` | Gibt verfügbare Slash-Befehle zurück |433| `supportedCommands()` | Gibt verfügbare Slash-Befehle zurück |

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


420| `stopTask(taskId)` | Beenden Sie eine laufende Hintergrund-Aufgabe nach ID |442| `stopTask(taskId)` | Beenden Sie eine laufende Hintergrund-Aufgabe nach ID |

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

422 444 

445#### `applyFlagSettings()`

446 

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

448 

449Die Werte werden in die Flag-Einstellungsebene geschrieben, die gleiche Ebene, die die Inline-`settings`-Option von `query()` beim Start füllt. Flag-Einstellungen befinden sich in der Nähe der Oberseite der [Einstellungspriorität](/de/settings#settings-precedence): Sie überschreiben Benutzer-, Projekt- und lokale Einstellungen, und nur verwaltete Richtlinieneinstellungen können sie überschreiben. Dies ist die gleiche Ebene, die der [Abschnitt zur Priorität auf der Seite](#settings-precedence) programmatische Optionen nennt.

450 

451Aufeinanderfolgende Aufrufe führen Top-Level-Schlüssel flach zusammen. Ein zweiter Aufruf mit `{ permissions: {...} }` ersetzt das gesamte `permissions`-Objekt aus dem vorherigen Aufruf, anstatt es tief zusammenzuführen. Um einen Schlüssel aus der Flag-Ebene zu löschen und auf niedrigere Prioritätsquellen zurückzugreifen, übergeben Sie `null` für diesen Schlüssel. Das Übergeben von `undefined` hat keine Auswirkung, da die JSON-Serialisierung es löscht.

452 

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

454 

455Das folgende Beispiel wechselt das aktive Modell mitten in der Sitzung und löscht dann die Überschreibung, sodass das Modell auf das zurückfällt, was die Benutzer- oder Projekteinstellungen angeben.

456 

457```typescript theme={null}

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

459 

460// Überschreiben Sie das Modell für den Rest der Sitzung

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

462 

463// Später: Löschen Sie die Überschreibung und greifen Sie auf niedrigere Prioritätseinstellungen zurück

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

465```

466 

467<Note>

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

469</Note>

470 

423### `WarmQuery`471### `WarmQuery`

424 472 

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


6172. Projekteinstellungen (`.claude/settings.json`)6652. Projekteinstellungen (`.claude/settings.json`)

6183. Benutzereinstellungen (`~/.claude/settings.json`)6663. Benutzereinstellungen (`~/.claude/settings.json`)

619 667 

620Programmatische Optionen wie `agents` und `allowedTools` überschreiben Benutzer-, Projekt- und lokale Dateisystem-Einstellungen. Verwaltete Richtlinieneinstellungen haben Vorrang vor programmatischen Optionen.668Programmatische Optionen wie `agents`, `allowedTools` und `settings` überschreiben Benutzer-, Projekt- und lokale Dateisystem-Einstellungen. Verwaltete Richtlinieneinstellungen haben Vorrang vor programmatischen Optionen.

621 669 

622### `PermissionMode`670### `PermissionMode`

623 671 


2443 2491 

2444### `CallToolResult`2492### `CallToolResult`

2445 2493 

2446MCP-Tool-Ergebnistyp (aus `@modelcontextprotocol/sdk/types.js`).2494MCP-Tool-Ergebnistyp (aus `@modelcontextprotocol/sdk/types.js`). `structuredContent` ist ein JSON-Objekt, das zusammen mit `content` zurückgegeben werden kann, einschließlich Bildblöcke. Siehe [Strukturierte Daten zurückgeben](/de/agent-sdk/custom-tools#return-structured-data).

2447 2495 

2448```typescript theme={null}2496```typescript theme={null}

2449type CallToolResult = {2497type CallToolResult = {


2451 type: "text" | "image" | "resource";2499 type: "text" | "image" | "resource";

2452 // Zusätzliche Felder variieren je nach Typ2500 // Zusätzliche Felder variieren je nach Typ

2453 }>;2501 }>;

2502 structuredContent?: Record<string, unknown>;

2454 isError?: boolean;2503 isError?: boolean;

2455};2504};

2456```2505```

Details

361 361 

362```bash theme={null}362```bash theme={null}

363# Verwendung der Inferenzprofil-ID363# Verwendung der Inferenzprofil-ID

364export ANTHROPIC_MODEL='global.anthropic.claude-sonnet-4-6'364export ANTHROPIC_MODEL='us.anthropic.claude-sonnet-4-6'

365export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'365export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

366 366 

367# Verwendung des Anwendungsinferenzprofil-ARN367# Verwendung des Anwendungsinferenzprofil-ARN


462 462 

463Der [Setup-Assistent](#sign-in-with-bedrock) bietet eine 1M-Kontextoption, wenn er Modelle fixiert. Um es stattdessen für ein manuell fixiertes Modell zu aktivieren, hängen Sie `[1m]` an die Modell-ID an. Siehe [Modelle für Drittanbieter-Bereitstellungen fixieren](/de/model-config#pin-models-for-third-party-deployments) für Details.463Der [Setup-Assistent](#sign-in-with-bedrock) bietet eine 1M-Kontextoption, wenn er Modelle fixiert. Um es stattdessen für ein manuell fixiertes Modell zu aktivieren, hängen Sie `[1m]` an die Modell-ID an. Siehe [Modelle für Drittanbieter-Bereitstellungen fixieren](/de/model-config#pin-models-for-third-party-deployments) für Details.

464 464 

465## Service-Tiers

466 

467[Amazon Bedrock Service-Tiers](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) ermöglichen es Ihnen, Kosten gegen Latenz abzuwägen. Legen Sie `ANTHROPIC_BEDROCK_SERVICE_TIER` auf `default`, `flex` oder `priority` fest:

468 

469```bash theme={null}

470export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

471```

472 

473Claude Code sendet dies als `X-Amzn-Bedrock-Service-Tier`-Header bei jeder Anfrage. Die Tier-Verfügbarkeit variiert je nach Modell und Region. Reservierte Kapazität verwendet einen [bereitgestellten Durchsatz](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html)-ARN als Modell-ID statt dieser Einstellung.

474 

465## AWS Guardrails475## AWS Guardrails

466 476 

467[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) ermöglichen es Ihnen, Inhaltsfilterung für Claude Code zu implementieren. Erstellen Sie einen Guardrail in der [Amazon Bedrock-Konsole](https://console.aws.amazon.com/bedrock/), veröffentlichen Sie eine Version, und fügen Sie dann die Guardrail-Header zu Ihrer [Einstellungsdatei](/de/settings) hinzu. Aktivieren Sie Cross-Region-Inferenz auf Ihrem Guardrail, wenn Sie Cross-Region-Inferenzprofile verwenden.477[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) ermöglichen es Ihnen, Inhaltsfilterung für Claude Code zu implementieren. Erstellen Sie einen Guardrail in der [Amazon Bedrock-Konsole](https://console.aws.amazon.com/bedrock/), veröffentlichen Sie eine Version, und fügen Sie dann die Guardrail-Header zu Ihrer [Einstellungsdatei](/de/settings) hinzu. Aktivieren Sie Cross-Region-Inferenz auf Ihrem Guardrail, wenn Sie Cross-Region-Inferenzprofile verwenden.

Details

113 113 

114Claude Code verwaltet Ihre Authentifizierungsanmeldedaten sicher:114Claude Code verwaltet Ihre Authentifizierungsanmeldedaten sicher:

115 115 

116* **Speicherort**: Auf macOS werden Anmeldedaten im verschlüsselten macOS Keychain gespeichert. Auf Linux und Windows werden Anmeldedaten in `~/.claude/.credentials.json` oder unter `$CLAUDE_CONFIG_DIR` gespeichert, falls diese Variable gesetzt ist. Auf Linux wird die Datei mit dem Modus `0600` geschrieben; unter Windows erbt sie die Zugriffskontrolle Ihres Benutzerprofilverzeichnisses.116* **Speicherort**:

117 * Auf macOS werden Anmeldedaten im verschlüsselten macOS Keychain gespeichert.

118 * Auf Linux werden Anmeldedaten in `~/.claude/.credentials.json` mit Dateimodus `0600` gespeichert.

119 * Unter Windows werden Anmeldedaten in `%USERPROFILE%\.claude\.credentials.json` gespeichert und erben die Zugriffskontrolle Ihres Benutzerprofilverzeichnisses, das die Datei standardmäßig auf Ihr Benutzerkonto beschränkt.

120 * Wenn Sie die Umgebungsvariable `CLAUDE_CONFIG_DIR` unter Linux oder Windows gesetzt haben, befindet sich die Datei `.credentials.json` stattdessen in diesem Verzeichnis.

121 * Claude Code verwaltet `.credentials.json` über `/login` und `/logout`. Um Anfragen über einen benutzerdefinierten API-Endpunkt zu leiten, legen Sie stattdessen die Umgebungsvariable [`ANTHROPIC_BASE_URL`](/de/env-vars) fest.

117* **Unterstützte Authentifizierungstypen**: Claude.ai-Anmeldedaten, Claude API-Anmeldedaten, Azure Auth, Bedrock Auth und Vertex Auth.122* **Unterstützte Authentifizierungstypen**: Claude.ai-Anmeldedaten, Claude API-Anmeldedaten, Azure Auth, Bedrock Auth und Vertex Auth.

118* **Benutzerdefinierte Anmeldedaten-Skripte**: Die Einstellung [`apiKeyHelper`](/de/settings#available-settings) kann so konfiguriert werden, dass ein Shell-Skript ausgeführt wird, das einen API-Schlüssel zurückgibt.123* **Benutzerdefinierte Anmeldedaten-Skripte**: Die Einstellung [`apiKeyHelper`](/de/settings#available-settings) kann so konfiguriert werden, dass ein Shell-Skript ausgeführt wird, das einen API-Schlüssel zurückgibt.

119* **Aktualisierungsintervalle**: Standardmäßig wird `apiKeyHelper` nach 5 Minuten oder bei HTTP 401-Antwort aufgerufen. Legen Sie die Umgebungsvariable `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` für benutzerdefinierte Aktualisierungsintervalle fest.124* **Aktualisierungsintervalle**: Standardmäßig wird `apiKeyHelper` nach 5 Minuten oder bei HTTP 401-Antwort aufgerufen. Legen Sie die Umgebungsvariable `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` für benutzerdefinierte Aktualisierungsintervalle fest.

Details

113 113 

114Jede Cloud-Sitzung hat eine Transkript-URL auf claude.ai, und die Sitzung kann ihre eigene ID aus der Umgebungsvariablen `CLAUDE_CODE_REMOTE_SESSION_ID` lesen. Verwenden Sie dies, um einen nachverfolgbaren Link in PR-Bodies, Commit-Nachrichten, Slack-Posts oder generierten Berichten zu platzieren, damit ein Reviewer den Lauf öffnen kann, der sie produziert hat.114Jede Cloud-Sitzung hat eine Transkript-URL auf claude.ai, und die Sitzung kann ihre eigene ID aus der Umgebungsvariablen `CLAUDE_CODE_REMOTE_SESSION_ID` lesen. Verwenden Sie dies, um einen nachverfolgbaren Link in PR-Bodies, Commit-Nachrichten, Slack-Posts oder generierten Berichten zu platzieren, damit ein Reviewer den Lauf öffnen kann, der sie produziert hat.

115 115 

116Bitten Sie Claude, den Link aus der Umgebungsvariablen zu konstruieren. Der folgende Befehl gibt die URL aus:116Der Wert der Variablen verwendet ein `cse_`-Präfix, während der Transkript-URL-Pfad die gleiche ID mit einem `session_`-Präfix verwendet. Ersetzen Sie das Präfix beim Erstellen des Links. Der folgende Befehl gibt die URL aus:

117 117 

118```bash theme={null}118```bash theme={null}

119echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID}"119echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"

120```120```

121 121 

122### Tests ausführen, Services starten und Pakete hinzufügen122### Tests ausführen, Services starten und Pakete hinzufügen


156| Aktion | Wie |156| Aktion | Wie |

157| :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |157| :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

158| Umgebung hinzufügen | Wählen Sie die aktuelle Umgebung, um die Auswahl zu öffnen, dann wählen Sie **Umgebung hinzufügen**. Der Dialog enthält Name, Netzwerkzugriffsstufe, Umgebungsvariablen und Setup-Skript. |158| Umgebung hinzufügen | Wählen Sie die aktuelle Umgebung, um die Auswahl zu öffnen, dann wählen Sie **Umgebung hinzufügen**. Der Dialog enthält Name, Netzwerkzugriffsstufe, Umgebungsvariablen und Setup-Skript. |

159| Umgebung bearbeiten | Wählen Sie das Einstellungssymbol rechts neben dem Umgebungsnamen. |159| Umgebung bearbeiten | Wählen Sie das Cloud-Symbol mit dem Namen der aktuellen Umgebung, um die Auswahl zu öffnen, bewegen Sie den Mauszeiger über eine Umgebung und klicken Sie auf das Einstellungssymbol, das auf der rechten Seite erscheint. |

160| Umgebung archivieren | Öffnen Sie die Umgebung zum Bearbeiten und wählen Sie **Archivieren**. Archivierte Umgebungen sind in der Auswahl ausgeblendet, aber vorhandene Sitzungen werden weiterhin ausgeführt. |160| Umgebung archivieren | Öffnen Sie die Umgebung zum Bearbeiten und wählen Sie **Archivieren**. Archivierte Umgebungen sind in der Auswahl ausgeblendet, aber vorhandene Sitzungen werden weiterhin ausgeführt. |

161| Standard für `--remote` festlegen | Führen Sie `/remote-env` in Ihrem Terminal aus. Wenn Sie eine einzelne Umgebung haben, zeigt dieser Befehl Ihre aktuelle Konfiguration. `/remote-env` wählt nur den Standard; fügen Sie Umgebungen über die Web-Oberfläche hinzu, bearbeiten und archivieren Sie sie. |161| Standard für `--remote` festlegen | Führen Sie `/remote-env` in Ihrem Terminal aus. Wenn Sie eine einzelne Umgebung haben, zeigt dieser Befehl Ihre aktuelle Konfiguration. `/remote-env` wählt nur den Standard; fügen Sie Umgebungen über die Web-Oberfläche hinzu, bearbeiten und archivieren Sie sie. |

162 162 


185 185 

186Wenn das Skript mit einem Nicht-Null-Wert beendet wird, schlägt die Sitzung fehl zu starten. Fügen Sie `|| true` an nicht kritische Befehle an, um zu vermeiden, dass die Sitzung bei einem fehlerhaften Install blockiert wird.186Wenn das Skript mit einem Nicht-Null-Wert beendet wird, schlägt die Sitzung fehl zu starten. Fügen Sie `|| true` an nicht kritische Befehle an, um zu vermeiden, dass die Sitzung bei einem fehlerhaften Install blockiert wird.

187 187 

188Halten Sie die Gesamtlaufzeit des Skripts unter ungefähr fünf Minuten, damit der [Umgebungs-Cache](#environment-caching) erstellt werden kann. Führen Sie unabhängige Installationen parallel mit `&` und `wait` aus. Wenn ein einzelner Download nicht in das Fünf-Minuten-Limit passt, verschieben Sie ihn zu einem [SessionStart-Hook](#setup-scripts-vs-sessionstart-hooks), der ihn im Hintergrund startet.

189 

188<Note>190<Note>

189 Setup-Skripte, die Pakete installieren, benötigen Netzwerkzugriff, um Registries zu erreichen. Der Standard-**Trusted**-Netzwerkzugriff ermöglicht Verbindungen zu [gängigen Paketregistries](#default-allowed-domains), einschließlich npm, PyPI, RubyGems und crates.io. Skripte schlagen fehl, Pakete zu installieren, wenn Ihre Umgebung **None**-Netzwerkzugriff verwendet.191 Setup-Skripte, die Pakete installieren, benötigen Netzwerkzugriff, um Registries zu erreichen. Der Standard-**Trusted**-Netzwerkzugriff ermöglicht Verbindungen zu [gängigen Paketregistries](#default-allowed-domains), einschließlich npm, PyPI, RubyGems und crates.io. Skripte schlagen fehl, Pakete zu installieren, wenn Ihre Umgebung **None**-Netzwerkzugriff verwendet.

190</Note>192</Note>


265 267 

266Der Netzwerkzugriff steuert ausgehende Verbindungen aus der Cloud-Umgebung. Jede Umgebung gibt eine Zugriffsstufe an, und Sie können sie mit benutzerdefinierten zulässigen Domains erweitern. Der Standard ist **Trusted**, das Paketregistries und andere [Allowlist-Domains](#default-allowed-domains) ermöglicht.268Der Netzwerkzugriff steuert ausgehende Verbindungen aus der Cloud-Umgebung. Jede Umgebung gibt eine Zugriffsstufe an, und Sie können sie mit benutzerdefinierten zulässigen Domains erweitern. Der Standard ist **Trusted**, das Paketregistries und andere [Allowlist-Domains](#default-allowed-domains) ermöglicht.

267 269 

270Um die Netzwerkzugriff einer Umgebung zu ändern, [öffnen Sie sie zum Bearbeiten](#configure-your-environment) und verwenden Sie den **Netzwerkzugriff**-Selektor im Dialog. Es gibt keine separate Seite für Umgebungen. Das Cloud-Symbol wird überall angezeigt, wo Sie eine Cloud-Sitzung starten oder eine [Routine](/de/routines#environments-and-network-access) konfigurieren.

271 

272<Note>

273 MCP-Connector-Datenverkehr wird über Anthropics Server geleitet, daher funktionieren die Connectors, die Sie auf einer Sitzung oder Routine aktivieren, ohne ihre Hosts zu **Zulässigen Domains** hinzuzufügen. Connectors werden pro Sitzung oder pro Routine konfiguriert; entfernen Sie alle, die Sie nicht benötigen, um zu begrenzen, welche Tools Claude erreichen kann. Dies basiert auf dem gleichen Anthropic-gebundenen Kanal, der unter [Sicherheit und Isolation](#security-and-isolation) erwähnt wird.

274</Note>

275 

268### Zugriffsstufen276### Zugriffsstufen

269 277 

270Wählen Sie eine Zugriffsstufe, wenn Sie eine Umgebung erstellen oder bearbeiten:278Wählen Sie eine Zugriffsstufe, wenn Sie eine Umgebung erstellen oder bearbeiten:


754* **Schutz von Anmeldedaten**: Sensible Anmeldedaten wie Git-Anmeldedaten oder Signaturschlüssel befinden sich niemals in der Sandbox mit Claude Code. Die Authentifizierung wird über einen sicheren Proxy mit Scoped-Credentials verwaltet.762* **Schutz von Anmeldedaten**: Sensible Anmeldedaten wie Git-Anmeldedaten oder Signaturschlüssel befinden sich niemals in der Sandbox mit Claude Code. Die Authentifizierung wird über einen sicheren Proxy mit Scoped-Credentials verwaltet.

755* **Sichere Analyse**: Code wird in isolierten VMs analysiert und geändert, bevor PRs erstellt werden763* **Sichere Analyse**: Code wird in isolierten VMs analysiert und geändert, bevor PRs erstellt werden

756 764 

765## Fehlerbehebung

766 

767Für Runtime-API-Fehler, die im Gespräch angezeigt werden, wie `API Error: 500`, `529 Overloaded`, `429` oder `Prompt is too long`, siehe die [Fehlerreferenz](/de/errors). Diese Fehler und ihre Lösungen werden mit der CLI und der Desktop-App geteilt. Die folgenden Abschnitte behandeln Probleme, die spezifisch für Cloud-Sitzungen sind.

768 

769### Sitzungserstellung fehlgeschlagen

770 

771Wenn eine neue Sitzung mit `Session creation failed` fehlschlägt oder bei der Bereitstellung steckenbleibt, konnte Claude Code eine Cloud-Umgebung nicht zuordnen.

772 

773* Überprüfen Sie [status.claude.com](https://status.claude.com) auf Cloud-Sitzungs-Incidents

774* Versuchen Sie es nach einer Minute erneut, da die Kapazität bei Bedarf bereitgestellt wird

775* Bestätigen Sie, dass Ihr Repository erreichbar ist. Private Repositories erfordern entweder die GitHub App, die auf diesem Repository installiert ist, oder ein `gh`-Token, das über `/web-setup` synchronisiert wird. Siehe [GitHub-Authentifizierungsoptionen](#github-authentication-options).

776 

777### Remote Control-Sitzung abgelaufen oder Zugriff verweigert

778 

779`--teleport` verbindet sich über die gleiche Remote Control-Sitzungsinfrastruktur, die Cloud-Sitzungen verwenden, daher werden Authentifizierungs- und Sitzungs-Ablauf-Fehler mit Remote Control-Wording angezeigt. Sie können `Remote Control session has expired` oder `Access denied` sehen. Das Verbindungs-Token ist kurzlebig und auf Ihr Konto begrenzt.

780 

781* Führen Sie `/login` lokal aus, um Ihre Anmeldedaten zu aktualisieren, und verbinden Sie sich dann erneut

782* Bestätigen Sie, dass Sie sich bei demselben Konto angemeldet haben, das die Sitzung besitzt

783* Wenn Sie `Remote Control may not be available for this organization` sehen, hat Ihr Admin Remote-Sitzungen für Ihren Plan nicht aktiviert

784 

785### Umgebung abgelaufen

786 

787Cloud-Sitzungen werden nach einer Inaktivitätszeit beendet und die zugrunde liegende Umgebung wird freigegeben. Von einem lokalen Terminal aus wird dies als `Could not resume session ... its environment has expired. Creating a fresh session instead.` angezeigt. Im Web wird die Sitzung in der Sitzungsliste als abgelaufen markiert.

788 

789Öffnen Sie die Sitzung erneut von [claude.ai/code](https://claude.ai/code), um eine frische Umgebung mit Ihrer wiederhergestellten Gesprächshistorie bereitzustellen.

790 

757## Einschränkungen791## Einschränkungen

758 792 

759Bevor Sie Cloud-Sitzungen für einen Workflow verwenden, berücksichtigen Sie diese Einschränkungen:793Bevor Sie Cloud-Sitzungen für einen Workflow verwenden, berücksichtigen Sie diese Einschränkungen:


761* **Ratenlimits**: Claude Code im Web teilt Ratenlimits mit allen anderen Claude- und Claude Code-Nutzungen in Ihrem Konto. Das Ausführen mehrerer Aufgaben parallel verbraucht proportional mehr Ratenlimits. Es gibt keine separate Compute-Gebühr für die Cloud-VM.795* **Ratenlimits**: Claude Code im Web teilt Ratenlimits mit allen anderen Claude- und Claude Code-Nutzungen in Ihrem Konto. Das Ausführen mehrerer Aufgaben parallel verbraucht proportional mehr Ratenlimits. Es gibt keine separate Compute-Gebühr für die Cloud-VM.

762* **Repository-Authentifizierung**: Sie können Sitzungen nur vom Web zum lokalen Computer verschieben, wenn Sie sich bei demselben Konto authentifizieren796* **Repository-Authentifizierung**: Sie können Sitzungen nur vom Web zum lokalen Computer verschieben, wenn Sie sich bei demselben Konto authentifizieren

763* **Plattformbeschränkungen**: Repository-Klonen und Pull Request-Erstellung erfordern GitHub. Selbstgehostete [GitHub Enterprise Server](/de/github-enterprise-server)-Instanzen werden für Team- und Enterprise-Pläne unterstützt. GitLab, Bitbucket und andere Nicht-GitHub-Repositories können als lokales [Bündel](#send-local-repositories-without-github) zu Cloud-Sitzungen gesendet werden, aber die Sitzung kann nicht zurück zum Remote pushen797* **Plattformbeschränkungen**: Repository-Klonen und Pull Request-Erstellung erfordern GitHub. Selbstgehostete [GitHub Enterprise Server](/de/github-enterprise-server)-Instanzen werden für Team- und Enterprise-Pläne unterstützt. GitLab, Bitbucket und andere Nicht-GitHub-Repositories können als lokales [Bündel](#send-local-repositories-without-github) zu Cloud-Sitzungen gesendet werden, aber die Sitzung kann nicht zurück zum Remote pushen

798* **Organisations-IP-Allowlist**: Cloud-Sitzungen rufen die Anthropic API von Anthropic-verwalteter Infrastruktur auf, nicht von Ihrem Netzwerk. Wenn Ihre Organisation [IP-Allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) aktiviert hat, schlägt jede Cloud-Sitzung mit einem Authentifizierungsfehler fehl. Das gleiche gilt für [Code Review](/de/code-review) und [Routines](/de/routines). Kontaktieren Sie [Anthropic Support](https://support.claude.com/), um Anthropic-gehostete Services von der IP-Allowlist Ihrer Organisation auszunehmen.

764 799 

765## Verwandte Ressourcen800## Verwandte Ressourcen

766 801 

cli-reference.md +11 −10

Details

40Passen Sie das Verhalten von Claude Code mit diesen Befehlszeilenflags an. `claude --help` listet nicht jedes Flag auf, daher bedeutet das Fehlen eines Flags in `--help` nicht, dass es nicht verfügbar ist.40Passen Sie das Verhalten von Claude Code mit diesen Befehlszeilenflags an. `claude --help` listet nicht jedes Flag auf, daher bedeutet das Fehlen eines Flags in `--help` nicht, dass es nicht verfügbar ist.

41 41 

42| Flag | Beschreibung | Beispiel |42| Flag | Beschreibung | Beispiel |

43| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |43| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------- |

44| `--add-dir` | Zusätzliche Arbeitsverzeichnisse hinzufügen, auf die Claude Dateien lesen und bearbeiten kann. Gewährt Dateizugriff; die meisten `.claude/` Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus diesen Verzeichnissen. Validiert, dass jeder Pfad als Verzeichnis existiert | `claude --add-dir ../apps ../lib` |44| `--add-dir` | Zusätzliche Arbeitsverzeichnisse hinzufügen, auf die Claude Dateien lesen und bearbeiten kann. Gewährt Dateizugriff; die meisten `.claude/` Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus diesen Verzeichnissen. Validiert, dass jeder Pfad als Verzeichnis existiert. Um diese Verzeichnisse über Sitzungen hinweg beizubehalten, setzen Sie [`permissions.additionalDirectories`](/de/settings#permission-settings) in den Einstellungen | `claude --add-dir ../apps ../lib` |

45| `--agent` | Geben Sie einen Agent für die aktuelle Sitzung an (überschreibt die `agent`-Einstellung) | `claude --agent my-custom-agent` |45| `--agent` | Geben Sie einen Agent für die aktuelle Sitzung an (überschreibt die `agent`-Einstellung) | `claude --agent my-custom-agent` |

46| `--agents` | Definieren Sie benutzerdefinierte Subagenten dynamisch über JSON. Verwendet die gleichen Feldnamen wie Subagent [Frontmatter](/de/sub-agents#supported-frontmatter-fields), plus ein `prompt`-Feld für die Anweisungen des Agenten | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |46| `--agents` | Definieren Sie benutzerdefinierte Subagenten dynamisch über JSON. Verwendet die gleichen Feldnamen wie Subagent [Frontmatter](/de/sub-agents#supported-frontmatter-fields), plus ein `prompt`-Feld für die Anweisungen des Agenten | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

47| `--allow-dangerously-skip-permissions` | Fügen Sie `bypassPermissions` zum `Shift+Tab` Modus-Zyklus hinzu, ohne damit zu beginnen. Ermöglicht es Ihnen, in einem anderen Modus wie `plan` zu beginnen und später zu `bypassPermissions` zu wechseln. Siehe [Berechtigungsmodi](/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |47| `--allow-dangerously-skip-permissions` | Fügen Sie `bypassPermissions` zum `Shift+Tab` Modus-Zyklus hinzu, ohne damit zu beginnen. Ermöglicht es Ihnen, in einem anderen Modus wie `plan` zu beginnen und später zu `bypassPermissions` zu wechseln. Siehe [Berechtigungsmodi](/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |


59| `--debug-file <path>` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus. Hat Vorrang vor `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |59| `--debug-file <path>` | Schreiben Sie Debug-Protokolle in einen bestimmten Dateipfad. Aktiviert implizit den Debug-Modus. Hat Vorrang vor `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

60| `--disable-slash-commands` | Deaktivieren Sie alle Skills und Befehle für diese Sitzung | `claude --disable-slash-commands` |60| `--disable-slash-commands` | Deaktivieren Sie alle Skills und Befehle für diese Sitzung | `claude --disable-slash-commands` |

61| `--disallowedTools` | Tools, die aus dem Kontext des Modells entfernt werden und nicht verwendet werden können | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |61| `--disallowedTools` | Tools, die aus dem Kontext des Modells entfernt werden und nicht verwendet werden können | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

62| `--effort` | Legen Sie die [Aufwandsstufe](/de/model-config#adjust-effort-level) für die aktuelle Sitzung fest. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab. Sitzungsbezogen und wird nicht in den Einstellungen beibehalten | `claude --effort high` |62| `--effort` | Legen Sie die [Aufwandsstufe](/de/model-config#adjust-effort-level) für die aktuelle Sitzung fest. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab. Überschreibt die [`effortLevel`](/de/settings#available-settings) Einstellung für diese Sitzung und wird nicht beibehalten | `claude --effort high` |

63| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Entfernt in v2.1.111. Auto-Modus ist jetzt standardmäßig im `Shift+Tab` Zyklus; verwenden Sie `--permission-mode auto`, um darin zu starten | `claude --permission-mode auto` |63| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Entfernt in v2.1.111. Auto-Modus ist jetzt standardmäßig im `Shift+Tab` Zyklus; verwenden Sie `--permission-mode auto`, um darin zu starten | `claude --permission-mode auto` |

64| `--exclude-dynamic-system-prompt-sections` | Verschieben Sie maschinenspezifische Abschnitte aus dem Systemprompt (Arbeitsverzeichnis, Umgebungsinformationen, Speicherpfade, Git-Status) in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über verschiedene Benutzer und Maschinen hinweg, die die gleiche Aufgabe ausführen. Gilt nur mit dem Standard-Systemprompt; wird ignoriert, wenn `--system-prompt` oder `--system-prompt-file` gesetzt ist. Verwenden Sie mit `-p` für Skript-, Multi-Benutzer-Workloads | `claude -p --exclude-dynamic-system-prompt-sections "query"` |64| `--exclude-dynamic-system-prompt-sections` | Verschieben Sie maschinenspezifische Abschnitte aus dem Systemprompt (Arbeitsverzeichnis, Umgebungsinformationen, Speicherpfade, Git-Status) in die erste Benutzernachricht. Verbessert die Prompt-Cache-Wiederverwendung über verschiedene Benutzer und Maschinen hinweg, die die gleiche Aufgabe ausführen. Gilt nur mit dem Standard-Systemprompt; wird ignoriert, wenn `--system-prompt` oder `--system-prompt-file` gesetzt ist. Verwenden Sie mit `-p` für Skript-, Multi-Benutzer-Workloads | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

65| `--fallback-model` | Aktivieren Sie automatisches Fallback auf das angegebene Modell, wenn das Standardmodell überlastet ist (nur Print-Modus) | `claude -p --fallback-model sonnet "query"` |65| `--fallback-model` | Aktivieren Sie automatisches Fallback auf das angegebene Modell, wenn das Standardmodell überlastet ist (nur Print-Modus) | `claude -p --fallback-model sonnet "query"` |


76| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden kann, bevor gestoppt wird (nur Print-Modus) | `claude -p --max-budget-usd 5.00 "query"` |76| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden kann, bevor gestoppt wird (nur Print-Modus) | `claude -p --max-budget-usd 5.00 "query"` |

77| `--max-turns` | Begrenzen Sie die Anzahl der agentic Turns (nur Print-Modus). Beendet mit einem Fehler, wenn das Limit erreicht wird. Standardmäßig kein Limit | `claude -p --max-turns 3 "query"` |77| `--max-turns` | Begrenzen Sie die Anzahl der agentic Turns (nur Print-Modus). Beendet mit einem Fehler, wenn das Limit erreicht wird. Standardmäßig kein Limit | `claude -p --max-turns 3 "query"` |

78| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt) | `claude --mcp-config ./mcp.json` |78| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt) | `claude --mcp-config ./mcp.json` |

79| `--model` | Legt das Modell für die aktuelle Sitzung mit einem Alias für das neueste Modell (`sonnet` oder `opus`) oder den vollständigen Namen eines Modells fest | `claude --model claude-sonnet-4-6` |79| `--model` | Legt das Modell für die aktuelle Sitzung mit einem Alias für das neueste Modell (`sonnet` oder `opus`) oder den vollständigen Namen eines Modells fest. Überschreibt die [`model`](/de/settings#available-settings) Einstellung und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |

80| `--name`, `-n` | Legen Sie einen Anzeigenamen für die Sitzung fest, der in `/resume` und der Terminalleiste angezeigt wird. Sie können eine benannte Sitzung mit `claude --resume <name>` fortsetzen. <br /><br />[`/rename`](/de/commands) ändert den Namen während der Sitzung und zeigt ihn auch in der Eingabeaufforderungsleiste an | `claude -n "my-feature-work"` |80| `--name`, `-n` | Legen Sie einen Anzeigenamen für die Sitzung fest, der in `/resume` und der Terminalleiste angezeigt wird. Sie können eine benannte Sitzung mit `claude --resume <name>` fortsetzen. <br /><br />[`/rename`](/de/commands) ändert den Namen während der Sitzung und zeigt ihn auch in der Eingabeaufforderungsleiste an | `claude -n "my-feature-work"` |

81| `--no-chrome` | Deaktivieren Sie [Chrome-Browser-Integration](/de/chrome) für diese Sitzung | `claude --no-chrome` |81| `--no-chrome` | Deaktivieren Sie [Chrome-Browser-Integration](/de/chrome) für diese Sitzung | `claude --no-chrome` |

82| `--no-session-persistence` | Deaktivieren Sie die Sitzungspersistenz, sodass Sitzungen nicht auf der Festplatte gespeichert werden und nicht fortgesetzt werden können (nur Print-Modus) | `claude -p --no-session-persistence "query"` |82| `--no-session-persistence` | Deaktivieren Sie die Sitzungspersistenz, sodass Sitzungen nicht auf der Festplatte gespeichert werden und nicht fortgesetzt werden können. Nur Print-Modus. Die [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/de/env-vars) Umgebungsvariable bewirkt das Gleiche in jedem Modus | `claude -p --no-session-persistence "query"` |

83| `--output-format` | Geben Sie das Ausgabeformat für den Print-Modus an (Optionen: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |83| `--output-format` | Geben Sie das Ausgabeformat für den Print-Modus an (Optionen: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |

84| `--permission-mode` | Beginnen Sie in einem angegebenen [Berechtigungsmodus](/de/permission-modes). Akzeptiert `default`, `acceptEdits`, `plan`, `auto`, `dontAsk` oder `bypassPermissions`. Überschreibt `defaultMode` aus Einstellungsdateien | `claude --permission-mode plan` |84| `--permission-mode` | Beginnen Sie in einem angegebenen [Berechtigungsmodus](/de/permission-modes). Akzeptiert `default`, `acceptEdits`, `plan`, `auto`, `dontAsk` oder `bypassPermissions`. Überschreibt `defaultMode` aus Einstellungsdateien | `claude --permission-mode plan` |

85| `--permission-prompt-tool` | Geben Sie ein MCP-Tool an, um Berechtigungsaufforderungen im nicht-interaktiven Modus zu verarbeiten | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |85| `--permission-prompt-tool` | Geben Sie ein MCP-Tool an, um Berechtigungsaufforderungen im nicht-interaktiven Modus zu verarbeiten | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

86| `--plugin-dir` | Laden Sie Plugins aus einem Verzeichnis nur für diese Sitzung. Jedes Flag nimmt einen Pfad auf. Wiederholen Sie das Flag für mehrere Verzeichnisse: `--plugin-dir A --plugin-dir B` | `claude --plugin-dir ./my-plugins` |86| `--plugin-dir` | Laden Sie ein Plugin aus einem Verzeichnis oder `.zip` Archiv nur für diese Sitzung. Jedes Flag nimmt einen Pfad auf. Wiederholen Sie das Flag für mehrere Plugins: `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |

87| `--plugin-url` | Rufen Sie ein Plugin `.zip` Archiv von einer URL nur für diese Sitzung ab. Jedes Flag nimmt eine URL auf. Wiederholen Sie das Flag für mehrere Plugins | `claude --plugin-url https://example.com/plugin.zip` |

87| `--print`, `-p` | Geben Sie die Antwort ohne interaktiven Modus aus (siehe [Agent SDK-Dokumentation](/de/agent-sdk/overview) für Details zur programmatischen Verwendung) | `claude -p "query"` |88| `--print`, `-p` | Geben Sie die Antwort ohne interaktiven Modus aus (siehe [Agent SDK-Dokumentation](/de/agent-sdk/overview) für Details zur programmatischen Verwendung) | `claude -p "query"` |

88| `--remote` | Erstellen Sie eine neue [Web-Sitzung](/de/claude-code-on-the-web) auf claude.ai mit der bereitgestellten Aufgabenbeschreibung | `claude --remote "Fix the login bug"` |89| `--remote` | Erstellen Sie eine neue [Web-Sitzung](/de/claude-code-on-the-web) auf claude.ai mit der bereitgestellten Aufgabenbeschreibung | `claude --remote "Fix the login bug"` |

89| `--remote-control`, `--rc` | Starten Sie eine interaktive Sitzung mit aktiviertem [Remote Control](/de/remote-control#start-a-remote-control-session), sodass Sie sie auch von claude.ai oder der Claude App aus steuern können. Optional einen Namen für die Sitzung übergeben | `claude --remote-control "My Project"` |90| `--remote-control`, `--rc` | Starten Sie eine interaktive Sitzung mit aktiviertem [Remote Control](/de/remote-control#start-a-remote-control-session), sodass Sie sie auch von claude.ai oder der Claude App aus steuern können. Optional einen Namen für die Sitzung übergeben | `claude --remote-control "My Project"` |


92| `--resume`, `-r` | Setzen Sie eine bestimmte Sitzung nach ID oder Name fort, oder zeigen Sie eine interaktive Auswahl an, um eine Sitzung auszuwählen. Schließt Sitzungen ein, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben | `claude --resume auth-refactor` |93| `--resume`, `-r` | Setzen Sie eine bestimmte Sitzung nach ID oder Name fort, oder zeigen Sie eine interaktive Auswahl an, um eine Sitzung auszuwählen. Schließt Sitzungen ein, die dieses Verzeichnis mit `/add-dir` hinzugefügt haben | `claude --resume auth-refactor` |

93| `--session-id` | Verwenden Sie eine bestimmte Sitzungs-ID für die Konversation (muss eine gültige UUID sein) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |94| `--session-id` | Verwenden Sie eine bestimmte Sitzungs-ID für die Konversation (muss eine gültige UUID sein) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

94| `--setting-sources` | Durch Kommas getrennte Liste von Einstellungsquellen zum Laden (`user`, `project`, `local`) | `claude --setting-sources user,project` |95| `--setting-sources` | Durch Kommas getrennte Liste von Einstellungsquellen zum Laden (`user`, `project`, `local`) | `claude --setting-sources user,project` |

95| `--settings` | Pfad zu einer Einstellungs-JSON-Datei oder eine JSON-Zeichenkette zum Laden zusätzlicher Einstellungen | `claude --settings ./settings.json` |96| `--settings` | Pfad zu einer Einstellungs-JSON-Datei oder eine JSON-Zeichenkette. Werte, die Sie hier setzen, überschreiben die gleichen Schlüssel in Ihren `settings.json` Dateien für diese Sitzung. Schlüssel, die Sie weglassen, behalten ihre dateigestützten Werte. Siehe [Einstellungspriorität](/de/settings#settings-precedence) | `claude --settings ./settings.json` |

96| `--strict-mcp-config` | Verwenden Sie nur MCP-Server aus `--mcp-config`, ignorieren Sie alle anderen MCP-Konfigurationen | `claude --strict-mcp-config --mcp-config ./mcp.json` |97| `--strict-mcp-config` | Verwenden Sie nur MCP-Server aus `--mcp-config`, ignorieren Sie alle anderen MCP-Konfigurationen | `claude --strict-mcp-config --mcp-config ./mcp.json` |

97| `--system-prompt` | Ersetzen Sie den gesamten Systemprompt durch benutzerdefinierten Text | `claude --system-prompt "You are a Python expert"` |98| `--system-prompt` | Ersetzen Sie den gesamten Systemprompt durch benutzerdefinierten Text | `claude --system-prompt "You are a Python expert"` |

98| `--system-prompt-file` | Laden Sie den Systemprompt aus einer Datei, ersetzen Sie den Standard-Prompt | `claude --system-prompt-file ./custom-prompt.txt` |99| `--system-prompt-file` | Laden Sie den Systemprompt aus einer Datei, ersetzen Sie den Standard-Prompt | `claude --system-prompt-file ./custom-prompt.txt` |

99| `--teleport` | Setzen Sie eine [Web-Sitzung](/de/claude-code-on-the-web) in Ihrem lokalen Terminal fort | `claude --teleport` |100| `--teleport` | Setzen Sie eine [Web-Sitzung](/de/claude-code-on-the-web) in Ihrem lokalen Terminal fort | `claude --teleport` |

100| `--teammate-mode` | Legen Sie fest, wie [Agent-Team](/de/agent-teams) Teamkollegen angezeigt werden: `auto` (Standard), `in-process` oder `tmux`. Siehe [Anzeigemodus wählen](/de/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |101| `--teammate-mode` | Legen Sie fest, wie [Agent-Team](/de/agent-teams) Teamkollegen angezeigt werden: `auto` (Standard), `in-process` oder `tmux`. Überschreibt die [`teammateMode`](/de/settings#available-settings) Einstellung für diese Sitzung. Siehe [Anzeigemodus wählen](/de/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |

101| `--tmux` | Erstellen Sie eine tmux-Sitzung für den Worktree. Erfordert `--worktree`. Verwendet native iTerm2-Bereiche, wenn verfügbar; übergeben Sie `--tmux=classic` für traditionelles tmux | `claude -w feature-auth --tmux` |102| `--tmux` | Erstellen Sie eine tmux-Sitzung für den Worktree. Erfordert `--worktree`. Verwendet native iTerm2-Bereiche, wenn verfügbar; übergeben Sie `--tmux=classic` für traditionelles tmux | `claude -w feature-auth --tmux` |

102| `--tools` | Beschränken Sie, welche integrierten Tools Claude verwenden kann. Verwenden Sie `""`, um alle zu deaktivieren, `"default"` für alle oder Tool-Namen wie `"Bash,Edit,Read"` | `claude --tools "Bash,Edit,Read"` |103| `--tools` | Beschränken Sie, welche integrierten Tools Claude verwenden kann. Verwenden Sie `""`, um alle zu deaktivieren, `"default"` für alle oder Tool-Namen wie `"Bash,Edit,Read"` | `claude --tools "Bash,Edit,Read"` |

103| `--verbose` | Aktivieren Sie ausführliches Logging, zeigt vollständige Turn-by-Turn-Ausgabe | `claude --verbose` |104| `--verbose` | Aktivieren Sie ausführliches Logging, zeigt vollständige Turn-by-Turn-Ausgabe. Überschreibt die [`viewMode`](/de/settings#available-settings) Einstellung für diese Sitzung | `claude --verbose` |

104| `--version`, `-v` | Geben Sie die Versionsnummer aus | `claude -v` |105| `--version`, `-v` | Geben Sie die Versionsnummer aus | `claude -v` |

105| `--worktree`, `-w` | Starten Sie Claude in einem isolierten [Git Worktree](/de/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees) bei `<repo>/.claude/worktrees/<name>`. Wenn kein Name angegeben wird, wird einer automatisch generiert | `claude -w feature-auth` |106| `--worktree`, `-w` | Starten Sie Claude in einem isolierten [Git Worktree](/de/worktrees) bei `<repo>/.claude/worktrees/<name>`. Wenn kein Name angegeben wird, wird einer automatisch generiert | `claude -w feature-auth` |

106 107 

107### System-Prompt-Flags108### System-Prompt-Flags

108 109 

commands.md +7 −5

Details

10 10 

11Geben Sie `/` ein, um jeden verfügbaren Befehl anzuzeigen, oder geben Sie `/` gefolgt von Buchstaben ein, um zu filtern.11Geben Sie `/` ein, um jeden verfügbaren Befehl anzuzeigen, oder geben Sie `/` gefolgt von Buchstaben ein, um zu filtern.

12 12 

13Ein Befehl wird nur am Anfang Ihrer Nachricht erkannt. Text, der dem Befehlsnamen folgt, wird als Argumente an ihn übergeben.

14 

13Die folgende Tabelle listet alle in Claude Code enthaltenen Befehle auf. Einträge, die mit **[Skill](/de/skills#bundled-skills)** gekennzeichnet sind, sind gebündelte Skills. Sie verwenden denselben Mechanismus wie Skills, die Sie selbst schreiben: eine Eingabeaufforderung, die Claude übergeben wird und die Claude auch automatisch aufrufen kann, wenn relevant. Alles andere ist ein integrierter Befehl, dessen Verhalten in die CLI codiert ist. Um Ihre eigenen Befehle hinzuzufügen, siehe [Skills](/de/skills).15Die folgende Tabelle listet alle in Claude Code enthaltenen Befehle auf. Einträge, die mit **[Skill](/de/skills#bundled-skills)** gekennzeichnet sind, sind gebündelte Skills. Sie verwenden denselben Mechanismus wie Skills, die Sie selbst schreiben: eine Eingabeaufforderung, die Claude übergeben wird und die Claude auch automatisch aufrufen kann, wenn relevant. Alles andere ist ein integrierter Befehl, dessen Verhalten in die CLI codiert ist. Um Ihre eigenen Befehle hinzuzufügen, siehe [Skills](/de/skills).

14 16 

15Nicht jeder Befehl wird für jeden Benutzer angezeigt. Die Verfügbarkeit hängt von Ihrer Plattform, Ihrem Plan und Ihrer Umgebung ab. Beispielsweise wird `/desktop` nur auf macOS und Windows angezeigt, und `/upgrade` wird nur in Pro- und Max-Plänen angezeigt.17Nicht jeder Befehl wird für jeden Benutzer angezeigt. Die Verfügbarkeit hängt von Ihrer Plattform, Ihrem Plan und Ihrer Umgebung ab. Beispielsweise wird `/desktop` nur auf macOS und Windows angezeigt, und `/upgrade` wird nur in Pro- und Max-Plänen angezeigt.


21| `/add-dir <path>` | Fügen Sie ein Arbeitsverzeichnis für den Dateizugriff während der aktuellen Sitzung hinzu. Die meisten `.claude/`-Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus dem hinzugefügten Verzeichnis. Sie können die Sitzung später aus dem hinzugefügten Verzeichnis mit `--continue` oder `--resume` fortsetzen |23| `/add-dir <path>` | Fügen Sie ein Arbeitsverzeichnis für den Dateizugriff während der aktuellen Sitzung hinzu. Die meisten `.claude/`-Konfigurationen werden [nicht erkannt](/de/permissions#additional-directories-grant-file-access-not-configuration) aus dem hinzugefügten Verzeichnis. Sie können die Sitzung später aus dem hinzugefügten Verzeichnis mit `--continue` oder `--resume` fortsetzen |

22| `/agents` | Verwalten Sie [Agent](/de/sub-agents)-Konfigurationen |24| `/agents` | Verwalten Sie [Agent](/de/sub-agents)-Konfigurationen |

23| `/autofix-pr [prompt]` | Starten Sie eine [Claude Code im Web](/de/claude-code-on-the-web#auto-fix-pull-requests)-Sitzung, die den aktuellen Branch-PR überwacht und Fixes pusht, wenn CI fehlschlägt oder Reviewer Kommentare hinterlassen. Erkennt den offenen PR aus Ihrem ausgecheckten Branch mit `gh pr view`; um einen anderen PR zu überwachen, checken Sie zuerst seinen Branch aus. Standardmäßig wird der Remote-Sitzung mitgeteilt, jeden CI-Fehler und Review-Kommentar zu beheben; übergeben Sie eine Eingabeaufforderung, um ihr andere Anweisungen zu geben, zum Beispiel `/autofix-pr only fix lint and type errors`. Erfordert die `gh` CLI und Zugriff auf [Claude Code im Web](/de/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |25| `/autofix-pr [prompt]` | Starten Sie eine [Claude Code im Web](/de/claude-code-on-the-web#auto-fix-pull-requests)-Sitzung, die den aktuellen Branch-PR überwacht und Fixes pusht, wenn CI fehlschlägt oder Reviewer Kommentare hinterlassen. Erkennt den offenen PR aus Ihrem ausgecheckten Branch mit `gh pr view`; um einen anderen PR zu überwachen, checken Sie zuerst seinen Branch aus. Standardmäßig wird der Remote-Sitzung mitgeteilt, jeden CI-Fehler und Review-Kommentar zu beheben; übergeben Sie eine Eingabeaufforderung, um ihr andere Anweisungen zu geben, zum Beispiel `/autofix-pr only fix lint and type errors`. Erfordert die `gh` CLI und Zugriff auf [Claude Code im Web](/de/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |

24| `/batch <instruction>` | **[Skill](/de/skills#bundled-skills).** Orchestrieren Sie großflächige Änderungen über eine Codebasis parallel. Recherchiert die Codebasis, zerlegt die Arbeit in 5 bis 30 unabhängige Einheiten und präsentiert einen Plan. Nach Genehmigung startet es einen Hintergrund-Agent pro Einheit in einem isolierten [Git-Worktree](/de/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees). Jeder Agent implementiert seine Einheit, führt Tests aus und öffnet einen Pull Request. Erfordert ein Git-Repository. Beispiel: `/batch migrate src/ from Solid to React` |26| `/batch <instruction>` | **[Skill](/de/skills#bundled-skills).** Orchestrieren Sie großflächige Änderungen über eine Codebasis parallel. Recherchiert die Codebasis, zerlegt die Arbeit in 5 bis 30 unabhängige Einheiten und präsentiert einen Plan. Nach Genehmigung startet es einen Hintergrund-Agent pro Einheit in einem isolierten [Git-Worktree](/de/worktrees). Jeder Agent implementiert seine Einheit, führt Tests aus und öffnet einen Pull Request. Erfordert ein Git-Repository. Beispiel: `/batch migrate src/ from Solid to React` |

25| `/branch [name]` | Erstellen Sie einen Branch des aktuellen Gesprächs an dieser Stelle. Wechselt Sie in den Branch und bewahrt das Original, zu dem Sie mit `/resume` zurückkehren können. Alias: `/fork`. Wenn [`CLAUDE_CODE_FORK_SUBAGENT`](/de/env-vars) gesetzt ist, startet `/fork` stattdessen einen [verzweigten Subagenten](/de/sub-agents#fork-the-current-conversation) und ist kein Alias für diesen Befehl mehr |27| `/branch [name]` | Erstellen Sie einen Branch des aktuellen Gesprächs an dieser Stelle. Wechselt Sie in den Branch und bewahrt das Original, zu dem Sie mit `/resume` zurückkehren können. Alias: `/fork`. Wenn [`CLAUDE_CODE_FORK_SUBAGENT`](/de/env-vars) gesetzt ist, startet `/fork` stattdessen einen [verzweigten Subagenten](/de/sub-agents#fork-the-current-conversation) und ist kein Alias für diesen Befehl mehr |

26| `/btw <question>` | Stellen Sie eine schnelle [Nebenfrage](/de/interactive-mode#side-questions-with-%2Fbtw) ohne Hinzufügen zum Gespräch |28| `/btw <question>` | Stellen Sie eine schnelle [Nebenfrage](/de/interactive-mode#side-questions-with-%2Fbtw) ohne Hinzufügen zum Gespräch |

27| `/chrome` | Konfigurieren Sie [Claude in Chrome](/de/chrome)-Einstellungen |29| `/chrome` | Konfigurieren Sie [Claude in Chrome](/de/chrome)-Einstellungen |

28| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/de/skills#bundled-skills).** Laden Sie Claude API-Referenzmaterial für die Sprache Ihres Projekts (Python, TypeScript, Java, Go, Ruby, C#, PHP oder cURL) und Managed Agents-Referenz. Behandelt Tool-Nutzung, Streaming, Batches, strukturierte Ausgaben und häufige Fallstricke. Wird auch automatisch aktiviert, wenn Ihr Code `anthropic` oder `@anthropic-ai/sdk` importiert. Führen Sie `/claude-api migrate` aus, um vorhandenen Claude API-Code auf ein neueres Modell zu aktualisieren: Claude fragt, welche Dateien gescannt werden sollen und welches Modell das Ziel sein soll, dann aktualisiert Modell-IDs, Thinking-Konfiguration und andere Parameter, die sich zwischen Versionen geändert haben. Führen Sie `/claude-api managed-agents-onboard` aus, um eine interaktive Anleitung zu erhalten, die einen neuen Managed Agent von Grund auf erstellt |30| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/de/skills#bundled-skills).** Laden Sie Claude API-Referenzmaterial für die Sprache Ihres Projekts (Python, TypeScript, Java, Go, Ruby, C#, PHP oder cURL) und Managed Agents-Referenz. Behandelt Tool-Nutzung, Streaming, Batches, strukturierte Ausgaben und häufige Fallstricke. Wird auch automatisch aktiviert, wenn Ihr Code `anthropic` oder `@anthropic-ai/sdk` importiert. Führen Sie `/claude-api migrate` aus, um vorhandenen Claude API-Code auf ein neueres Modell zu aktualisieren: Claude fragt, welche Dateien gescannt werden sollen und welches Modell das Ziel sein soll, dann aktualisiert Modell-IDs, Thinking-Konfiguration und andere Parameter, die sich zwischen Versionen geändert haben. Führen Sie `/claude-api managed-agents-onboard` aus, um eine interaktive Anleitung zu erhalten, die einen neuen Managed Agent von Grund auf erstellt |

29| `/clear` | Starten Sie ein neues Gespräch mit leerem Kontext. Das vorherige Gespräch bleibt in `/resume` verfügbar. Um Kontext freizugeben und gleichzeitig das gleiche Gespräch fortzusetzen, verwenden Sie stattdessen `/compact`. Aliase: `/reset`, `/new` |31| `/clear` | Starten Sie ein neues Gespräch mit leerem Kontext. Das vorherige Gespräch bleibt in `/resume` verfügbar. Um Kontext freizugeben und gleichzeitig das gleiche Gespräch fortzusetzen, verwenden Sie stattdessen `/compact`. Aliase: `/reset`, `/new` |

30| `/color [color\|default]` | Legen Sie die Farbe der Eingabeaufforderungsleiste für die aktuelle Sitzung fest. Verfügbare Farben: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Verwenden Sie `default`, um zurückzusetzen. Wenn [Remote Control](/de/remote-control) verbunden ist, wird die Farbe mit claude.ai/code synchronisiert |32| `/color [color\|default]` | Legen Sie die Farbe der Eingabeaufforderungsleiste für die aktuelle Sitzung fest. Verfügbare Farben: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Verwenden Sie `default`, um zurückzusetzen, oder führen Sie ohne Argument aus, um eine zufällige Farbe auszuwählen. Wenn [Remote Control](/de/remote-control) verbunden ist, wird die Farbe mit claude.ai/code synchronisiert |

31| `/compact [instructions]` | Geben Sie Kontext frei, indem Sie das bisherige Gespräch zusammenfassen. Übergeben Sie optional Fokusanweisungen für die Zusammenfassung. Siehe [wie Komprimierung Regeln, Skills und Speicherdateien handhabt](/de/context-window#what-survives-compaction) |33| `/compact [instructions]` | Geben Sie Kontext frei, indem Sie das bisherige Gespräch zusammenfassen. Übergeben Sie optional Fokusanweisungen für die Zusammenfassung. Siehe [wie Komprimierung Regeln, Skills und Speicherdateien handhabt](/de/context-window#what-survives-compaction) |

32| `/config` | Öffnen Sie die [Einstellungen](/de/settings)-Schnittstelle, um Design, Modell, [Ausgabestil](/de/output-styles) und andere Einstellungen anzupassen. Alias: `/settings` |34| `/config` | Öffnen Sie die [Einstellungen](/de/settings)-Schnittstelle, um Design, Modell, [Ausgabestil](/de/output-styles) und andere Einstellungen anzupassen. Alias: `/settings` |

33| `/context` | Visualisieren Sie die aktuelle Kontextnutzung als farbiges Gitter. Zeigt Optimierungsvorschläge für kontextintensive Tools, Speicherverschwendung und Kapazitätswarnungen |35| `/context` | Visualisieren Sie die aktuelle Kontextnutzung als farbiges Gitter. Zeigt Optimierungsvorschläge für kontextintensive Tools, Speicherverschwendung und Kapazitätswarnungen |


44| `/fast [on\|off]` | Schalten Sie den [schnellen Modus](/de/fast-mode) ein oder aus |46| `/fast [on\|off]` | Schalten Sie den [schnellen Modus](/de/fast-mode) ein oder aus |

45| `/feedback [report]` | Geben Sie Feedback zu Claude Code. Alias: `/bug` |47| `/feedback [report]` | Geben Sie Feedback zu Claude Code. Alias: `/bug` |

46| `/fewer-permission-prompts` | **[Skill](/de/skills#bundled-skills).** Scannen Sie Ihre Transkripte nach häufigen schreibgeschützten Bash- und MCP-Tool-Aufrufen, dann fügen Sie eine priorisierte Allowlist zu Projekt `.claude/settings.json` hinzu, um Berechtigungsaufforderungen zu reduzieren |48| `/fewer-permission-prompts` | **[Skill](/de/skills#bundled-skills).** Scannen Sie Ihre Transkripte nach häufigen schreibgeschützten Bash- und MCP-Tool-Aufrufen, dann fügen Sie eine priorisierte Allowlist zu Projekt `.claude/settings.json` hinzu, um Berechtigungsaufforderungen zu reduzieren |

47| `/focus` | Schalten Sie die Fokusansicht um, die nur Ihre letzte Eingabeaufforderung, eine einzeilige Tool-Call-Zusammenfassung mit Edit-Diffstats und die endgültige Antwort anzeigt. Die Auswahl bleibt über Sitzungen hinweg erhalten. Nur in [Vollbildrendering](/de/fullscreen) verfügbar |49| `/focus` | Schalten Sie die Fokusansicht um, die nur Ihre letzte Eingabeaufforderung, eine einzeilige Tool-Call-Zusammenfassung mit Edit-Diffstats und die endgültige Antwort anzeigt. Die Auswahl bleibt über Sitzungen hinweg erhalten; legen Sie [`viewMode`](/de/settings#available-settings) in Einstellungen fest, um dies zu überschreiben. Nur in [Vollbildrendering](/de/fullscreen) verfügbar |

48| `/heapdump` | Schreiben Sie einen JavaScript-Heap-Snapshot und eine Speicheraufschlüsselung nach `~/Desktop`, oder Ihr Home-Verzeichnis unter Linux ohne Desktop-Ordner, um hohe Speichernutzung zu diagnostizieren. Siehe [Troubleshooting](/de/troubleshooting#high-cpu-or-memory-usage) |50| `/heapdump` | Schreiben Sie einen JavaScript-Heap-Snapshot und eine Speicheraufschlüsselung nach `~/Desktop`, oder Ihr Home-Verzeichnis unter Linux ohne Desktop-Ordner, um hohe Speichernutzung zu diagnostizieren. Siehe [Troubleshooting](/de/troubleshooting#high-cpu-or-memory-usage) |

49| `/help` | Zeigen Sie Hilfe und verfügbare Befehle an |51| `/help` | Zeigen Sie Hilfe und verfügbare Befehle an |

50| `/hooks` | Zeigen Sie [Hook](/de/hooks)-Konfigurationen für Tool-Ereignisse an |52| `/hooks` | Zeigen Sie [Hook](/de/hooks)-Konfigurationen für Tool-Ereignisse an |


83| `/setup-bedrock` | Konfigurieren Sie [Amazon Bedrock](/de/amazon-bedrock)-Authentifizierung, Region und Modell-Pins durch einen interaktiven Wizard. Nur sichtbar, wenn `CLAUDE_CODE_USE_BEDROCK=1` gesetzt ist. Erstbenutzer von Bedrock können auch auf diesen Wizard vom Login-Bildschirm zugreifen |85| `/setup-bedrock` | Konfigurieren Sie [Amazon Bedrock](/de/amazon-bedrock)-Authentifizierung, Region und Modell-Pins durch einen interaktiven Wizard. Nur sichtbar, wenn `CLAUDE_CODE_USE_BEDROCK=1` gesetzt ist. Erstbenutzer von Bedrock können auch auf diesen Wizard vom Login-Bildschirm zugreifen |

84| `/setup-vertex` | Konfigurieren Sie [Google Vertex AI](/de/google-vertex-ai)-Authentifizierung, Projekt, Region und Modell-Pins durch einen interaktiven Wizard. Nur sichtbar, wenn `CLAUDE_CODE_USE_VERTEX=1` gesetzt ist. Erstbenutzer von Vertex AI können auch auf diesen Wizard vom Login-Bildschirm zugreifen |86| `/setup-vertex` | Konfigurieren Sie [Google Vertex AI](/de/google-vertex-ai)-Authentifizierung, Projekt, Region und Modell-Pins durch einen interaktiven Wizard. Nur sichtbar, wenn `CLAUDE_CODE_USE_VERTEX=1` gesetzt ist. Erstbenutzer von Vertex AI können auch auf diesen Wizard vom Login-Bildschirm zugreifen |

85| `/simplify [focus]` | **[Skill](/de/skills#bundled-skills).** Überprüfen Sie Ihre kürzlich geänderten Dateien auf Code-Wiederverwendung, Qualität und Effizienzprobleme, dann beheben Sie sie. Startet drei Review-Agenten parallel, aggregiert ihre Erkenntnisse und wendet Fixes an. Übergeben Sie Text, um sich auf spezifische Bedenken zu konzentrieren: `/simplify focus on memory efficiency` |87| `/simplify [focus]` | **[Skill](/de/skills#bundled-skills).** Überprüfen Sie Ihre kürzlich geänderten Dateien auf Code-Wiederverwendung, Qualität und Effizienzprobleme, dann beheben Sie sie. Startet drei Review-Agenten parallel, aggregiert ihre Erkenntnisse und wendet Fixes an. Übergeben Sie Text, um sich auf spezifische Bedenken zu konzentrieren: `/simplify focus on memory efficiency` |

86| `/skills` | Listet verfügbare [Skills](/de/skills) auf. Drücken Sie `t`, um nach Token-Anzahl zu sortieren |88| `/skills` | Listet verfügbare [Skills](/de/skills) auf. Drücken Sie `t`, um nach Token-Anzahl zu sortieren. Drücken Sie `Space`, um [einen Skill vor Claude oder dem `/`-Menü zu verbergen](/de/skills#override-skill-visibility-from-settings), dann `Enter`, um zu speichern |

87| `/stats` | Alias für `/usage`. Öffnet auf der Registerkarte Stats |89| `/stats` | Alias für `/usage`. Öffnet auf der Registerkarte Stats |

88| `/status` | Öffnen Sie die Einstellungsschnittstelle (Registerkarte Status) mit Version, Modell, Konto und Konnektivität. Funktioniert, während Claude antwortet, ohne auf die Fertigstellung der aktuellen Antwort zu warten |90| `/status` | Öffnen Sie die Einstellungsschnittstelle (Registerkarte Status) mit Version, Modell, Konto und Konnektivität. Funktioniert, während Claude antwortet, ohne auf die Fertigstellung der aktuellen Antwort zu warten |

89| `/statusline` | Konfigurieren Sie Claude Codes [Statuszeile](/de/statusline). Beschreiben Sie, was Sie möchten, oder führen Sie ohne Argumente aus, um automatisch von Ihrer Shell-Eingabeaufforderung zu konfigurieren |91| `/statusline` | Konfigurieren Sie Claude Codes [Statuszeile](/de/statusline). Beschreiben Sie, was Sie möchten, oder führen Sie ohne Argumente aus, um automatisch von Ihrer Shell-Eingabeaufforderung zu konfigurieren |

90| `/stickers` | Bestellen Sie Claude Code-Aufkleber |92| `/stickers` | Bestellen Sie Claude Code-Aufkleber |

91| `/tasks` | Listet und verwaltet Hintergrundaufgaben. Auch verfügbar als `/bashes` |93| `/tasks` | Listet und verwaltet Hintergrundaufgaben. Auch verfügbar als `/bashes` |

92| `/team-onboarding` | Generieren Sie einen Team-Onboarding-Leitfaden aus Ihrer Claude Code-Nutzungshistorie. Claude analysiert Ihre Sitzungen, Befehle und MCP-Server-Nutzung der letzten 30 Tage und erstellt einen Markdown-Leitfaden, den ein Teamkollege als erste Nachricht einfügen kann, um sich schnell einzurichten |94| `/team-onboarding` | Generieren Sie einen Team-Onboarding-Leitfaden aus Ihrer Claude Code-Nutzungshistorie. Claude analysiert Ihre Sitzungen, Befehle und MCP-Server-Nutzung der letzten 30 Tage und erstellt einen Markdown-Leitfaden, den ein Teamkollege als erste Nachricht einfügen kann, um sich schnell einzurichten. Für claude.ai-Abonnenten in Pro-, Max-, Team- und Enterprise-Plänen wird auch ein Share-Link zurückgegeben, den Teamkollegen direkt in Claude Code öffnen können |

93| `/teleport` | Ziehen Sie eine [Claude Code im Web](/de/claude-code-on-the-web#from-web-to-terminal)-Sitzung in dieses Terminal: öffnet eine Auswahl, dann ruft den Branch und das Gespräch ab. Auch verfügbar als `/tp`. Erfordert ein claude.ai-Abonnement |95| `/teleport` | Ziehen Sie eine [Claude Code im Web](/de/claude-code-on-the-web#from-web-to-terminal)-Sitzung in dieses Terminal: öffnet eine Auswahl, dann ruft den Branch und das Gespräch ab. Auch verfügbar als `/tp`. Erfordert ein claude.ai-Abonnement |

94| `/terminal-setup` | Konfigurieren Sie Terminal-Tastenkombinationen für Shift+Enter und andere Verknüpfungen. Nur in Terminals sichtbar, die dies benötigen, wie VS Code, Cursor, Windsurf, Alacritty oder Zed |96| `/terminal-setup` | Konfigurieren Sie Terminal-Tastenkombinationen für Shift+Enter und andere Verknüpfungen. Nur in Terminals sichtbar, die dies benötigen, wie VS Code, Cursor, Windsurf, Alacritty oder Zed |

95| `/theme` | Ändern Sie das Farbschema. Enthält eine `auto`-Option, die dem dunklen oder hellen Modus Ihres Terminals folgt, helle und dunkle Varianten, farbenblindgerechte (daltonisierte) Designs, ANSI-Designs, die die Farbpalette Ihres Terminals verwenden, und alle [benutzerdefinierten Designs](/de/terminal-config#create-a-custom-theme) aus `~/.claude/themes/` oder Plugins. Wählen Sie **Neues benutzerdefiniertes Design…**, um eines zu erstellen |97| `/theme` | Ändern Sie das Farbschema. Enthält eine `auto`-Option, die dem dunklen oder hellen Modus Ihres Terminals folgt, helle und dunkle Varianten, farbenblindgerechte (daltonisierte) Designs, ANSI-Designs, die die Farbpalette Ihres Terminals verwenden, und alle [benutzerdefinierten Designs](/de/terminal-config#create-a-custom-theme) aus `~/.claude/themes/` oder Plugins. Wählen Sie **Neues benutzerdefiniertes Design…**, um eines zu erstellen |

Details

8 8 

9Wenn Claude eine Anweisung ignoriert oder eine konfigurierte Funktion nicht angezeigt wird, liegt die Ursache normalerweise darin, dass die Datei nicht geladen wurde, sie von einem anderen Ort als erwartet geladen wurde oder eine andere Datei sie überschrieben hat. Diese Anleitung zeigt, wie Sie überprüfen, was Claude Code tatsächlich geladen hat, damit Sie eingrenzen können, welcher Fall zutrifft.9Wenn Claude eine Anweisung ignoriert oder eine konfigurierte Funktion nicht angezeigt wird, liegt die Ursache normalerweise darin, dass die Datei nicht geladen wurde, sie von einem anderen Ort als erwartet geladen wurde oder eine andere Datei sie überschrieben hat. Diese Anleitung zeigt, wie Sie überprüfen, was Claude Code tatsächlich geladen hat, damit Sie eingrenzen können, welcher Fall zutrifft.

10 10 

11Für Installations-, Authentifizierungs- und Konnektivitätsprobleme siehe stattdessen [Troubleshooting](/de/troubleshoot-install).11Für Installations-, Authentifizierungs- und Konnektivitätsprobleme siehe stattdessen [Troubleshooting bei Installation und Anmeldung](/de/troubleshoot-install).

12 12 

13## Sehen Sie, was in den Kontext geladen wurde13## Sehen Sie, was in den Kontext geladen wurde

14 14 


17Für Details zu einer bestimmten Kategorie folgen Sie mit dem dedizierten Befehl:17Für Details zu einer bestimmten Kategorie folgen Sie mit dem dedizierten Befehl:

18 18 

19| Befehl | Zeigt |19| Befehl | Zeigt |

20| :------------- | :---------------------------------------------------------------------------------- |20| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |

21| `/memory` | Welche `CLAUDE.md`- und Regeldateien geladen wurden, plus Auto-Memory-Einträge |21| `/memory` | Welche `CLAUDE.md`- und Regeldateien geladen wurden, plus Auto-Memory-Einträge |

22| `/skills` | Verfügbare Skills aus Projekt-, Benutzer- und Plugin-Quellen |22| `/skills` | Verfügbare Skills aus Projekt-, Benutzer- und Plugin-Quellen |

23| `/agents` | Konfigurierte Subagenten und ihre Einstellungen |23| `/agents` | Konfigurierte Subagenten und ihre Einstellungen |


25| `/mcp` | Verbundene MCP-Server und ihr Status |25| `/mcp` | Verbundene MCP-Server und ihr Status |

26| `/permissions` | Aufgelöste Allow- und Deny-Regeln, die derzeit wirksam sind |26| `/permissions` | Aufgelöste Allow- und Deny-Regeln, die derzeit wirksam sind |

27| `/doctor` | Konfigurationsdiagnose: ungültige Schlüssel, Schemafehler, Installationsintegrität |27| `/doctor` | Konfigurationsdiagnose: ungültige Schlüssel, Schemafehler, Installationsintegrität |

28| `/debug [issue]` | Aktiviert Debug-Protokollierung für die Sitzung und fordert Claude auf, die Diagnose mithilfe der Protokollausgabe und Einstellungspfade durchzuführen |

28| `/status` | Aktive Einstellungsquellen, einschließlich ob verwaltete Einstellungen wirksam sind |29| `/status` | Aktive Einstellungsquellen, einschließlich ob verwaltete Einstellungen wirksam sind |

29 30 

30Wenn eine Speicherdatei in `/memory` fehlt, überprüfen Sie ihren Speicherort anhand von [wie CLAUDE.md-Dateien geladen werden](/de/memory#how-claude-md-files-load). Unterverzeichnis-`CLAUDE.md`-Dateien werden bei Bedarf geladen, wenn Claude eine Datei in diesem Verzeichnis mit dem Read-Tool liest, nicht beim Sitzungsstart.31Wenn eine Speicherdatei in `/memory` fehlt, überprüfen Sie ihren Speicherort anhand von [wie CLAUDE.md-Dateien geladen werden](/de/memory#how-claude-md-files-load). Unterverzeichnis-`CLAUDE.md`-Dateien werden bei Bedarf geladen, wenn Claude eine Datei in diesem Verzeichnis mit dem Read-Tool liest, nicht beim Sitzungsstart.


41 42 

42Einstellungen werden über verwaltete, Benutzer-, Projekt- und lokale Bereiche zusammengeführt. Verwaltete Einstellungen gewinnen immer, wenn sie vorhanden sind. Bei den übrigen überschreibt der nähere Bereich den breiteren in der Reihenfolge lokal, dann Projekt, dann Benutzer. Einige Einstellungen können auch durch Befehlszeilenflaggen oder [Umgebungsvariablen](/de/env-vars) festgelegt werden, die als eine weitere Überschreibungsebene fungieren. Wenn eine Einstellung nicht angewendet zu werden scheint, wird der von Ihnen festgelegte Wert normalerweise durch einen anderen Bereich oder eine Umgebungsvariable überschrieben.43Einstellungen werden über verwaltete, Benutzer-, Projekt- und lokale Bereiche zusammengeführt. Verwaltete Einstellungen gewinnen immer, wenn sie vorhanden sind. Bei den übrigen überschreibt der nähere Bereich den breiteren in der Reihenfolge lokal, dann Projekt, dann Benutzer. Einige Einstellungen können auch durch Befehlszeilenflaggen oder [Umgebungsvariablen](/de/env-vars) festgelegt werden, die als eine weitere Überschreibungsebene fungieren. Wenn eine Einstellung nicht angewendet zu werden scheint, wird der von Ihnen festgelegte Wert normalerweise durch einen anderen Bereich oder eine Umgebungsvariable überschrieben.

43 44 

44Führen Sie `/doctor` aus, um Ihre Konfigurationsdateien zu validieren und ungültige Schlüssel oder Schemafehler zu identifizieren. Führen Sie `/status` aus, um zu sehen, welche Einstellungsquellen aktiv sind, einschließlich ob verwaltete Einstellungen wirksam sind. Um zu verstehen, welcher Bereich für einen bestimmten Schlüssel gewinnt, siehe [Wie Bereiche interagieren](/de/settings#how-scopes-interact).45Führen Sie `/doctor` aus, um Ihre Konfigurationsdateien zu validieren und ungültige Schlüssel oder Schemafehler zu identifizieren. Wenn `/doctor` Probleme meldet, drücken Sie `f`, um den Diagnosebericht an Claude zu senden und ihn die Behebung mit Ihnen durchzugehen.

46 

47Führen Sie `/status` aus, um zu sehen, welche Einstellungsquellen aktiv sind, einschließlich ob verwaltete Einstellungen wirksam sind. Um zu verstehen, welcher Bereich für einen bestimmten Schlüssel gewinnt, siehe [Wie Bereiche interagieren](/de/settings#how-scopes-interact).

45 48 

46## Überprüfen Sie MCP-Server49## Überprüfen Sie MCP-Server

47 50 


63 66 

64Wenn `/hooks` den Hook anzeigt, aber er wird immer noch nicht ausgelöst, besteht der nächste Schritt darin, die Hook-Auswertung live zu beobachten. Starten Sie eine Sitzung mit `claude --debug hooks` und lösen Sie den Tool-Aufruf aus. Das Debug-Protokoll zeichnet jedes Ereignis, welche Matcher überprüft wurden, und den Exit-Code und die Ausgabe des Hooks auf. Siehe [Debug Hooks](/de/hooks#debug-hooks) für das Protokollformat und [Hooks Troubleshooting](/de/hooks-guide#limitations-and-troubleshooting) für häufige Fehlermuster.67Wenn `/hooks` den Hook anzeigt, aber er wird immer noch nicht ausgelöst, besteht der nächste Schritt darin, die Hook-Auswertung live zu beobachten. Starten Sie eine Sitzung mit `claude --debug hooks` und lösen Sie den Tool-Aufruf aus. Das Debug-Protokoll zeichnet jedes Ereignis, welche Matcher überprüft wurden, und den Exit-Code und die Ausgabe des Hooks auf. Siehe [Debug Hooks](/de/hooks#debug-hooks) für das Protokollformat und [Hooks Troubleshooting](/de/hooks-guide#limitations-and-troubleshooting) für häufige Fehlermuster.

65 68 

66## Häufige Ursachen69## Testen Sie gegen eine saubere Konfiguration

70 

71Wenn gezielte Überprüfungen die Ursache nicht isolieren oder Ihre Konfiguration in einem unbekannten Zustand ist, vergleichen Sie mit einer Sitzung, die nichts aus Ihrem üblichen Setup lädt. Zeigen Sie [`CLAUDE_CONFIG_DIR`](/de/env-vars) auf ein leeres Verzeichnis, um alles unter `~/.claude` zu umgehen, und starten Sie von einem Verzeichnis, das keinen `.claude`-Ordner, keine `.mcp.json` oder `CLAUDE.md` hat, damit die Projektkonfiguration auch übersprungen wird.

72 

73```bash theme={null}

74cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude

75```

76 

77Die saubere Sitzung hat keine Benutzer- oder Projekteinstellungen, Hooks, MCP-Server, Plugins oder Speicher.

78 

79* Verwaltete Einstellungen gelten immer noch, wenn Ihre Organisation sie bereitstellt, da sie sich unter einem Systempfad außerhalb von `~/.claude` befinden

80* Unter Linux und Windows werden Sie aufgefordert, sich erneut anzumelden, da Anmeldedaten unter dem Konfigurationsverzeichnis gespeichert sind

81* Unter macOS befinden sich Anmeldedaten im Keychain und werden in die saubere Sitzung übernommen

82 

83Wenn das Problem hier verschwindet, liegt die Ursache irgendwo in Ihren echten `~/.claude`- oder Projekt-`.claude`-Dateien. Führen Sie sie einzeln wieder ein, indem Sie Dateien in das temporäre Verzeichnis kopieren oder von Ihrem Projekt aus starten, um herauszufinden, welche. Wenn es in der sauberen Sitzung bestehen bleibt, liegt die Ursache außerhalb Ihrer Benutzer- und Projektkonfiguration. Führen Sie `/status` aus, um zu überprüfen, ob verwaltete Einstellungen wirksam sind, suchen Sie nach [Umgebungsvariablen](/de/env-vars), die Claude Code beeinflussen, und siehe dann [Troubleshooting](/de/troubleshooting).

84 

85## Überprüfen Sie häufige Ursachen

67 86 

68Die meisten Konfigurationsüberraschungen lassen sich auf eine kleine Anzahl von Speicherort- und Syntaxregeln zurückführen. Überprüfen Sie diese, bevor Sie einen Fehler annehmen:87Die meisten Konfigurationsüberraschungen lassen sich auf eine kleine Anzahl von Speicherort- und Syntaxregeln zurückführen. Überprüfen Sie diese, bevor Sie einen Fehler annehmen:

69 88 

70| Symptom | Ursache | Behebung |89| Symptom | Ursache | Behebung |

71| :----------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |90| :-------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

72| Hook wird nie ausgelöst | `matcher` ist ein JSON-Array statt einer Zeichenkette | Verwenden Sie eine einzelne Zeichenkette mit `\|`, um mehrere Tools zu entsprechen, z. B. `"Edit\|Write"`. Siehe [Matcher-Muster](/de/hooks#matcher-patterns). |91| Hook wird nie ausgelöst | `matcher` ist ein JSON-Array statt einer Zeichenkette | Verwenden Sie eine einzelne Zeichenkette mit `\|`, um mehrere Tools zu entsprechen, z. B. `"Edit\|Write"`. Siehe [Matcher-Muster](/de/hooks#matcher-patterns). |

73| Hook wird nie ausgelöst | `matcher`-Wert ist Kleinbuchstaben, z. B. `"bash"` | Matching ist Groß-/Kleinschreibung-empfindlich. Tool-Namen werden großgeschrieben: `Bash`, `Edit`, `Write`, `Read`. |92| Hook wird nie ausgelöst | `matcher`-Wert ist Kleinbuchstaben, z. B. `"bash"` | Matching ist Groß-/Kleinschreibung-empfindlich. Tool-Namen werden großgeschrieben: `Bash`, `Edit`, `Write`, `Read`. |

74| Hook wird nie ausgelöst | Hooks befinden sich in einer eigenständigen `.claude/hooks.json`-Datei | Es gibt keine eigenständige Hooks-Datei. Definieren Sie Hooks unter dem Schlüssel `"hooks"` in `settings.json`. Siehe [Hook-Konfiguration](/de/hooks). |93| Hook wird nie ausgelöst | Hooks befinden sich in einer eigenständigen `.claude/hooks.json`-Datei | Es gibt keine eigenständige Hooks-Datei. Definieren Sie Hooks unter dem Schlüssel `"hooks"` in `settings.json`. Siehe [Hook-Konfiguration](/de/hooks). |


80| Subagent ignoriert `CLAUDE.md`-Anweisungen | Subagenten erben nicht immer Projektgedächtnis | Setzen Sie kritische Regeln in den Agent-Dateitext, der zum Systemaufforderung des Subagenten wird. Siehe [Subagent-Konfiguration](/de/sub-agents). |99| Subagent ignoriert `CLAUDE.md`-Anweisungen | Subagenten erben nicht immer Projektgedächtnis | Setzen Sie kritische Regeln in den Agent-Dateitext, der zum Systemaufforderung des Subagenten wird. Siehe [Subagent-Konfiguration](/de/sub-agents). |

81| Cleanup-Logik wird am Sitzungsende nie ausgeführt | Kein `SessionEnd`-Hook konfiguriert | Fügen Sie einen `SessionEnd`-Hook in `settings.json` hinzu. Siehe die [Hook-Ereignisliste](/de/hooks#hook-events). |100| Cleanup-Logik wird am Sitzungsende nie ausgeführt | Kein `SessionEnd`-Hook konfiguriert | Fügen Sie einen `SessionEnd`-Hook in `settings.json` hinzu. Siehe die [Hook-Ereignisliste](/de/hooks#hook-events). |

82| MCP-Server in `.mcp.json` werden nie geladen | Datei befindet sich unter `.claude/` oder verwendet das Konfigurationsformat von Claude Desktop | Projekt-MCP-Konfiguration geht an die Repository-Root als `.mcp.json`, nicht in `.claude/`. Siehe [MCP-Konfiguration](/de/mcp). |101| MCP-Server in `.mcp.json` werden nie geladen | Datei befindet sich unter `.claude/` oder verwendet das Konfigurationsformat von Claude Desktop | Projekt-MCP-Konfiguration geht an die Repository-Root als `.mcp.json`, nicht in `.claude/`. Siehe [MCP-Konfiguration](/de/mcp). |

102| MCP-Server unter `mcpServers` in `settings.json` hinzugefügt, aber erscheinen nie | `settings.json` liest keinen `mcpServers`-Schlüssel | Definieren Sie Projekt-Server in `.mcp.json` an der Repository-Root, oder führen Sie `claude mcp add --scope user` für benutzergesteuerte Server aus. Siehe [MCP-Konfiguration](/de/mcp). |

83| Projekt-MCP-Server hinzugefügt, aber erscheint nicht | Die einmalige Genehmigungsaufforderung wurde verworfen | Projektbezogene Server erfordern Genehmigung. Führen Sie `/mcp` aus, um den Status zu sehen und zu genehmigen. |103| Projekt-MCP-Server hinzugefügt, aber erscheint nicht | Die einmalige Genehmigungsaufforderung wurde verworfen | Projektbezogene Server erfordern Genehmigung. Führen Sie `/mcp` aus, um den Status zu sehen und zu genehmigen. |

84| MCP-Server kann nicht von einigen Verzeichnissen aus gestartet werden | `command` oder `args` verwendet einen relativen Dateipfad | Verwenden Sie absolute Pfade für lokale Skripte. Ausführbare Dateien auf Ihrem `PATH` wie `npx` oder `uvx` funktionieren wie gewohnt. |104| MCP-Server kann nicht von einigen Verzeichnissen aus gestartet werden | `command` oder `args` verwendet einen relativen Dateipfad | Verwenden Sie absolute Pfade für lokale Skripte. Ausführbare Dateien auf Ihrem `PATH` wie `npx` oder `uvx` funktionieren wie gewohnt. |

85| MCP-Server startet ohne erwartete Umgebungsvariablen | Variablen befinden sich in `settings.json` `env`, die nicht an MCP-Kindprozesse weitergegeben werden | Setzen Sie stattdessen pro-Server `env` in `.mcp.json`. |105| MCP-Server startet ohne erwartete Umgebungsvariablen | Variablen befinden sich in `settings.json` `env`, die nicht an MCP-Kindprozesse weitergegeben werden | Setzen Sie stattdessen pro-Server `env` in `.mcp.json`. |

Details

36/plugin install github@claude-plugins-official36/plugin install github@claude-plugins-official

37```37```

38 38 

39Wenn Claude Code meldet, dass das Plugin in keinem Marktplatz gefunden wird, fehlt Ihnen entweder der Marktplatz oder er ist veraltet. Führen Sie `/plugin marketplace update claude-plugins-official` aus, um ihn zu aktualisieren, oder `/plugin marketplace add anthropics/claude-plugins-official`, wenn Sie ihn noch nicht hinzugefügt haben. Versuchen Sie dann die Installation erneut.

40 

39<Note>41<Note>

40 Der offizielle Marktplatz wird von Anthropic gepflegt. Um ein Plugin beim offiziellen Marktplatz einzureichen, verwenden Sie eines der In-App-Einreichungsformulare:42 Der offizielle Marktplatz wird von Anthropic gepflegt. Um ein Plugin beim offiziellen Marktplatz einzureichen, verwenden Sie eines der In-App-Einreichungsformulare:

41 43 


45 Um Plugins unabhängig zu verteilen, [erstellen Sie Ihren eigenen Marktplatz](/de/plugin-marketplaces) und teilen Sie ihn mit Benutzern.47 Um Plugins unabhängig zu verteilen, [erstellen Sie Ihren eigenen Marktplatz](/de/plugin-marketplaces) und teilen Sie ihn mit Benutzern.

46</Note>48</Note>

47 49 

48Der offizielle Marktplatz umfasst mehrere Plugin-Kategorien:50Der offizielle Marktplatz umfasst mehrere Kategorien von Plugins:

49 51 

50### Code-Intelligenz52### Code-Intelligenz

51 53 


195 197 

196### Hinzufügen von anderen Git-Hosts198### Hinzufügen von anderen Git-Hosts

197 199 

198Fügen Sie ein beliebiges Git-Repository hinzu, indem Sie die vollständige URL angeben. Dies funktioniert mit jedem Git-Host, einschließlich GitLab, Bitbucket und selbstgehosteten Servern:200Fügen Sie ein beliebiges Git-Repository hinzu, indem Sie die vollständige URL angeben. Dies funktioniert mit jedem Git-Host, einschließlich GitLab, Bitbucket und selbstgehosteten Servern. Fügen Sie das Suffix `.git` ein, damit Claude Code das Repository klont, anstatt die URL als direkten Link zu einer gehosteten `marketplace.json`-Datei zu behandeln.

199 201 

200Mit HTTPS:202Mit HTTPS:

201 203 


257 259 

258Sie können auch Plugins mit **managed**-Bereich sehen – diese werden von Administratoren über [verwaltete Einstellungen](/de/settings#settings-files) installiert und können nicht geändert werden.260Sie können auch Plugins mit **managed**-Bereich sehen – diese werden von Administratoren über [verwaltete Einstellungen](/de/settings#settings-files) installiert und können nicht geändert werden.

259 261 

260Führen Sie `/plugin` aus und gehen Sie zur Registerkarte **Installed**, um Ihre Plugins nach Bereich gruppiert zu sehen.

261 

262<Warning>262<Warning>

263 Stellen Sie sicher, dass Sie einem Plugin vertrauen, bevor Sie es installieren. Anthropic kontrolliert nicht, welche MCP servers, Dateien oder andere Software in Plugins enthalten sind, und kann nicht überprüfen, dass sie wie beabsichtigt funktionieren. Überprüfen Sie die Homepage jedes Plugins für weitere Informationen.263 Stellen Sie sicher, dass Sie einem Plugin vertrauen, bevor Sie es installieren. Anthropic kontrolliert nicht, welche MCP servers, Dateien oder andere Software in Plugins enthalten sind, und kann nicht überprüfen, dass sie wie beabsichtigt funktionieren. Überprüfen Sie die Homepage jedes Plugins für weitere Informationen.

264</Warning>264</Warning>

265 265 

266## Verwalten Sie installierte Plugins266## Verwalten Sie installierte Plugins

267 267 

268Führen Sie `/plugin` aus und gehen Sie zur Registerkarte **Installed**, um Ihre Plugins anzuzeigen, zu aktivieren, zu deaktivieren oder zu deinstallieren. Geben Sie ein, um die Liste nach Plugin-Name oder Beschreibung zu filtern.268Führen Sie `/plugin` aus und gehen Sie zur Registerkarte **Installed**, um Ihre Plugins anzuzeigen, zu aktivieren, zu deaktivieren oder zu deinstallieren. Die Liste ist nach Bereich gruppiert und sortiert, sodass Sie zuerst Probleme sehen: Plugins mit Ladefehlern oder ungelösten Abhängigkeiten erscheinen oben, gefolgt von Ihren Favoriten, mit deaktivierten Plugins, die hinter einem eingeklappten Header am unteren Rand verborgen sind.

269 

270Aus der Liste können Sie:

271 

272* `f` drücken, um das ausgewählte Plugin zu favorisieren oder zu entfavorisieren

273* Eingeben, um nach Plugin-Name oder Beschreibung zu filtern

274* Enter drücken, um die Detailansicht eines Plugins zu öffnen und es zu aktivieren, zu deaktivieren oder zu deinstallieren

275 

276Wenn Sie ein Plugin installieren, das Abhängigkeiten deklariert, listet die Installationsausgabe auf, welche Abhängigkeiten zusammen mit ihm automatisch installiert wurden.

269 277 

270Sie können Plugins auch mit direkten Befehlen verwalten.278Sie können Plugins auch mit direkten Befehlen verwalten.

271 279 


400 408 

4011. **Überprüfen Sie Ihre Version**: Führen Sie `claude --version` aus, um zu sehen, was installiert ist.4091. **Überprüfen Sie Ihre Version**: Führen Sie `claude --version` aus, um zu sehen, was installiert ist.

4022. **Aktualisieren Sie Claude Code**:4102. **Aktualisieren Sie Claude Code**:

403 * **Homebrew**: `brew upgrade claude-code`411 * **Homebrew**: `brew upgrade claude-code` (oder `brew upgrade claude-code@latest`, wenn Sie diesen Cask installiert haben)

404 * **npm**: `npm update -g @anthropic-ai/claude-code`412 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`

405 * **Native Installer**: Führen Sie den Installationsbefehl von [Setup](/de/setup) erneut aus413 * **Native Installer**: Führen Sie den Installationsbefehl von [Setup](/de/setup) erneut aus

4063. **Starten Sie Claude Code neu**: Starten Sie nach dem Update Ihr Terminal neu und führen Sie `claude` erneut aus.4143. **Starten Sie Claude Code neu**: Starten Sie nach dem Update Ihr Terminal neu und führen Sie `claude` erneut aus.

407 415 


410* **Marktplatz wird nicht geladen**: Überprüfen Sie, dass die URL zugänglich ist und dass `.claude-plugin/marketplace.json` unter dem Pfad vorhanden ist418* **Marktplatz wird nicht geladen**: Überprüfen Sie, dass die URL zugänglich ist und dass `.claude-plugin/marketplace.json` unter dem Pfad vorhanden ist

411* **Plugin-Installationsfehler**: Überprüfen Sie, dass Plugin-Quell-URLs zugänglich sind und Repositories öffentlich sind (oder Sie haben Zugriff)419* **Plugin-Installationsfehler**: Überprüfen Sie, dass Plugin-Quell-URLs zugänglich sind und Repositories öffentlich sind (oder Sie haben Zugriff)

412* **Dateien nach der Installation nicht gefunden**: Plugins werden in einen Cache kopiert, daher funktionieren Pfade, die auf Dateien außerhalb des Plugin-Verzeichnisses verweisen, nicht420* **Dateien nach der Installation nicht gefunden**: Plugins werden in einen Cache kopiert, daher funktionieren Pfade, die auf Dateien außerhalb des Plugin-Verzeichnisses verweisen, nicht

413* **Plugin-Skills werden nicht angezeigt**: Löschen Sie den Cache mit `rm -rf ~/.claude/plugins/cache`, starten Sie Claude Code neu und installieren Sie das Plugin erneut.421* **Plugin-Befehle werden nicht angezeigt**: Löschen Sie den Cache mit `rm -rf ~/.claude/plugins/cache`, starten Sie Claude Code neu und installieren Sie das Plugin erneut.

414 422 

415Für detaillierte Fehlerbehebung mit Lösungen siehe [Fehlerbehebung](/de/plugin-marketplaces#troubleshooting) im Marktplatz-Leitfaden. Für Debugging-Tools siehe [Debugging- und Entwicklungstools](/de/plugins-reference#debugging-and-development-tools).423Für detaillierte Fehlerbehebung mit Lösungen siehe [Fehlerbehebung](/de/plugin-marketplaces#troubleshooting) im Marktplatz-Leitfaden. Für Debugging-Tools siehe [Debugging- und Entwicklungstools](/de/plugins-reference#debugging-and-development-tools).

416 424 

env-vars.md +16 −10

Details

41| `ANTHROPIC_SMALL_FAST_MODEL` | \[VERALTET] Name des [Haiku-Klasse-Modells für Hintergrundaufgaben](/de/costs) |41| `ANTHROPIC_SMALL_FAST_MODEL` | \[VERALTET] Name des [Haiku-Klasse-Modells für Hintergrundaufgaben](/de/costs) |

42| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | AWS-Region für das Haiku-Klasse-Modell bei Verwendung von Bedrock oder Bedrock Mantle überschreiben |42| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | AWS-Region für das Haiku-Klasse-Modell bei Verwendung von Bedrock oder Bedrock Mantle überschreiben |

43| `ANTHROPIC_VERTEX_BASE_URL` | Überschreiben Sie die Vertex AI-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Vertex-Endpunkte oder beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Siehe [Google Vertex AI](/de/google-vertex-ai) |43| `ANTHROPIC_VERTEX_BASE_URL` | Überschreiben Sie die Vertex AI-Endpunkt-URL. Verwenden Sie für benutzerdefinierte Vertex-Endpunkte oder beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Siehe [Google Vertex AI](/de/google-vertex-ai) |

44| `ANTHROPIC_VERTEX_PROJECT_ID` | GCP-Projekt-ID für Vertex AI. Erforderlich bei Verwendung von [Google Vertex AI](/de/google-vertex-ai) |44| `ANTHROPIC_VERTEX_PROJECT_ID` | GCP-Projekt-ID für Vertex AI-Anfragen. Wird überschrieben durch `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` oder das Projekt in Ihrer `GOOGLE_APPLICATION_CREDENTIALS`-Anmeldedatei. Siehe [Google Vertex AI](/de/google-vertex-ai) |

45| `API_TIMEOUT_MS` | Timeout für API-Anfragen in Millisekunden (Standard: 600000 oder 10 Minuten; Maximum: 2147483647). Erhöhen Sie dies, wenn Anfragen bei langsamen Netzwerken oder beim Routing durch einen Proxy Timeout-Fehler verursachen. Werte über dem Maximum führen zu Überläufen des zugrunde liegenden Timers und verursachen, dass Anfragen sofort fehlschlagen |45| `API_TIMEOUT_MS` | Timeout für API-Anfragen in Millisekunden (Standard: 600000 oder 10 Minuten; Maximum: 2147483647). Erhöhen Sie dies, wenn Anfragen bei langsamen Netzwerken oder beim Routing durch einen Proxy Timeout-Fehler verursachen. Werte über dem Maximum führen zu Überläufen des zugrunde liegenden Timers und verursachen, dass Anfragen sofort fehlschlagen |

46| `AWS_BEARER_TOKEN_BEDROCK` | Bedrock API-Schlüssel für Authentifizierung (siehe [Bedrock API-Schlüssel](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |46| `AWS_BEARER_TOKEN_BEDROCK` | Bedrock API-Schlüssel für Authentifizierung (siehe [Bedrock API-Schlüssel](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

47| `BASH_DEFAULT_TIMEOUT_MS` | Standard-Timeout für lang laufende Bash-Befehle (Standard: 120000 oder 2 Minuten) |47| `BASH_DEFAULT_TIMEOUT_MS` | Standard-Timeout für lang laufende Bash-Befehle (Standard: 120000 oder 2 Minuten) |


51| `CLAUDECODE` | Auf `1` in Shell-Umgebungen gesetzt, die Claude Code spawnt (Bash-Tool, tmux-Sitzungen). Nicht gesetzt in [Hooks](/de/hooks) oder [Statuszeilen](/de/statusline)-Befehlen. Verwenden Sie, um zu erkennen, wenn ein Skript in einer Shell ausgeführt wird, die von Claude Code gespawnt wurde |51| `CLAUDECODE` | Auf `1` in Shell-Umgebungen gesetzt, die Claude Code spawnt (Bash-Tool, tmux-Sitzungen). Nicht gesetzt in [Hooks](/de/hooks) oder [Statuszeilen](/de/statusline)-Befehlen. Verwenden Sie, um zu erkennen, wenn ein Skript in einer Shell ausgeführt wird, die von Claude Code gespawnt wurde |

52| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Setzen Sie auf `1`, um alle integrierten [Subagenten](/de/sub-agents)-Typen wie Explore und Plan zu deaktivieren. Gilt nur im nicht-interaktiven Modus (das Flag `-p`). Nützlich für SDK-Benutzer, die eine leere Grundlage wünschen |52| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Setzen Sie auf `1`, um alle integrierten [Subagenten](/de/sub-agents)-Typen wie Explore und Plan zu deaktivieren. Gilt nur im nicht-interaktiven Modus (das Flag `-p`). Nützlich für SDK-Benutzer, die eine leere Grundlage wünschen |

53| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Setzen Sie auf `1`, um das Präfix `mcp__<server>__` bei Tool-Namen von SDK-erstellten MCP-Servern zu überspringen. Tools verwenden ihre ursprünglichen Namen. Nur SDK-Verwendung |53| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Setzen Sie auf `1`, um das Präfix `mcp__<server>__` bei Tool-Namen von SDK-erstellten MCP-Servern zu überspringen. Tools verwenden ihre ursprünglichen Namen. Nur SDK-Verwendung |

54| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Stall-Timeout in Millisekunden für Hintergrund-Subagenten. Standard `600000` (10 Minuten). Der Timer wird bei jedem Streaming-Fortschrittsereignis zurückgesetzt; wenn kein Fortschritt innerhalb des Fensters ankommt, wird der Subagent abgebrochen und die Aufgabe als fehlgeschlagen markiert, wobei alle Teilergebnisse dem übergeordneten Element angezeigt werden |

54| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Legen Sie den Prozentsatz der Kontextkapazität (1-100) fest, bei dem die automatische Komprimierung ausgelöst wird. Standardmäßig wird die automatische Komprimierung bei etwa 95 % Kapazität ausgelöst. Verwenden Sie niedrigere Werte wie `50`, um früher zu komprimieren. Werte über dem Standard-Schwellenwert haben keine Auswirkung. Gilt für Hauptkonversationen und Subagenten. Dieser Prozentsatz entspricht dem Feld `context_window.used_percentage`, das in der [Statuszeile](/de/statusline) verfügbar ist |55| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Legen Sie den Prozentsatz der Kontextkapazität (1-100) fest, bei dem die automatische Komprimierung ausgelöst wird. Standardmäßig wird die automatische Komprimierung bei etwa 95 % Kapazität ausgelöst. Verwenden Sie niedrigere Werte wie `50`, um früher zu komprimieren. Werte über dem Standard-Schwellenwert haben keine Auswirkung. Gilt für Hauptkonversationen und Subagenten. Dieser Prozentsatz entspricht dem Feld `context_window.used_percentage`, das in der [Statuszeile](/de/statusline) verfügbar ist |

55| `CLAUDE_AUTO_BACKGROUND_TASKS` | Setzen Sie auf `1`, um die automatische Hintergrund-Ausführung von lang laufenden Agent-Aufgaben zu erzwingen. Wenn aktiviert, werden Subagenten nach etwa zwei Minuten Laufzeit in den Hintergrund verschoben |56| `CLAUDE_AUTO_BACKGROUND_TASKS` | Setzen Sie auf `1`, um die automatische Hintergrund-Ausführung von lang laufenden Agent-Aufgaben zu erzwingen. Wenn aktiviert, werden Subagenten nach etwa zwei Minuten Laufzeit in den Hintergrund verschoben |

56| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kehren Sie nach jedem Bash- oder PowerShell-Befehl in der Hauptsitzung zum ursprünglichen Arbeitsverzeichnis zurück |57| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Kehren Sie nach jedem Bash- oder PowerShell-Befehl in der Hauptsitzung zum ursprünglichen Arbeitsverzeichnis zurück |


59| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/de/settings#available-settings)) |60| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/de/settings#available-settings)) |

60| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Setzen Sie auf `0`, um den Attributionsblock (Client-Version und Prompt-Fingerabdruck) vom Anfang des System-Prompts wegzulassen. Das Deaktivieren verbessert die Prompt-Cache-Hit-Raten beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Anthropic API-Caching ist nicht betroffen |61| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Setzen Sie auf `0`, um den Attributionsblock (Client-Version und Prompt-Fingerabdruck) vom Anfang des System-Prompts wegzulassen. Das Deaktivieren verbessert die Prompt-Cache-Hit-Raten beim Routing durch ein [LLM-Gateway](/de/llm-gateway). Anthropic API-Caching ist nicht betroffen |

61| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Legen Sie die Kontextkapazität in Token fest, die für Berechnungen der automatischen Komprimierung verwendet wird. Standardmäßig das Kontextfenster des Modells: 200K für Standard-Modelle oder 1M für [erweiterte Kontext](/de/model-config#extended-context)-Modelle. Verwenden Sie einen niedrigeren Wert wie `500000` auf einem 1M-Modell, um das Fenster für Komprimierungszwecke als 500K zu behandeln. Der Wert ist auf das tatsächliche Kontextfenster des Modells begrenzt. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` wird als Prozentsatz dieses Wertes angewendet. Das Setzen dieser Variablen entkoppelt den Komprimierungsschwellenwert von der `used_percentage` der Statuszeile, die immer das vollständige Kontextfenster des Modells verwendet |62| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Legen Sie die Kontextkapazität in Token fest, die für Berechnungen der automatischen Komprimierung verwendet wird. Standardmäßig das Kontextfenster des Modells: 200K für Standard-Modelle oder 1M für [erweiterte Kontext](/de/model-config#extended-context)-Modelle. Verwenden Sie einen niedrigeren Wert wie `500000` auf einem 1M-Modell, um das Fenster für Komprimierungszwecke als 500K zu behandeln. Der Wert ist auf das tatsächliche Kontextfenster des Modells begrenzt. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` wird als Prozentsatz dieses Wertes angewendet. Das Setzen dieser Variablen entkoppelt den Komprimierungsschwellenwert von der `used_percentage` der Statuszeile, die immer das vollständige Kontextfenster des Modells verwendet |

62| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreiben Sie die automatische [IDE-Verbindung](/de/vs-code). Standardmäßig verbindet sich Claude Code automatisch, wenn es im integrierten Terminal einer unterstützten IDE gestartet wird. Setzen Sie auf `false`, um dies zu verhindern. Setzen Sie auf `true`, um eine Verbindung zu erzwingen, wenn die automatische Erkennung fehlschlägt, z. B. wenn tmux das übergeordnete Terminal verdeckt |63| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreiben Sie die automatische [IDE-Verbindung](/de/vs-code). Standardmäßig verbindet sich Claude Code automatisch, wenn es im integrierten Terminal einer unterstützten IDE gestartet wird. Setzen Sie auf `false`, um dies zu verhindern. Setzen Sie auf `true`, um eine Verbindung zu erzwingen, wenn die automatische Erkennung fehlschlägt, z. B. wenn tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der Einstellung [`autoConnectIde`](/de/settings#global-config-settings) |

63| `CLAUDE_CODE_CERT_STORE` | Kommagetrennte Liste von CA-Zertifikatquellen für TLS-Verbindungen. `bundled` ist der Mozilla CA-Satz, der mit Claude Code ausgeliefert wird. `system` ist der Betriebssystem-Vertrauensspeicher. Standard ist `bundled,system`. Die native Binärverteilung ist erforderlich für die Systemspeicher-Integration. In der Node.js-Laufzeit wird unabhängig von diesem Wert nur der gebündelte Satz verwendet |64| `CLAUDE_CODE_CERT_STORE` | Kommagetrennte Liste von CA-Zertifikatquellen für TLS-Verbindungen. `bundled` ist der Mozilla CA-Satz, der mit Claude Code ausgeliefert wird. `system` ist der Betriebssystem-Vertrauensspeicher. Standard ist `bundled,system` |

64| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikatsdatei für mTLS-Authentifizierung |65| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikatsdatei für mTLS-Authentifizierung |

65| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur privaten Client-Schlüsseldatei für mTLS-Authentifizierung |66| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur privaten Client-Schlüsseldatei für mTLS-Authentifizierung |

66| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase für verschlüsselten CLAUDE\_CODE\_CLIENT\_KEY (optional) |67| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase für verschlüsselten CLAUDE\_CODE\_CLIENT\_KEY (optional) |


68| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimale Protokollierungsstufe, die in die Debug-Protokolldatei geschrieben wird. Werte: `verbose`, `debug` (Standard), `info`, `warn`, `error`. Setzen Sie auf `verbose`, um hochvolumige Diagnosen wie vollständige Statuszeilen-Befehlsausgabe einzubeziehen, oder erhöhen Sie auf `error`, um Rauschen zu reduzieren |69| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimale Protokollierungsstufe, die in die Debug-Protokolldatei geschrieben wird. Werte: `verbose`, `debug` (Standard), `info`, `warn`, `error`. Setzen Sie auf `verbose`, um hochvolumige Diagnosen wie vollständige Statuszeilen-Befehlsausgabe einzubeziehen, oder erhöhen Sie auf `error`, um Rauschen zu reduzieren |

69| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Setzen Sie auf `1`, um die Unterstützung des [1M-Kontextfensters](/de/model-config#extended-context) zu deaktivieren. Wenn gesetzt, sind 1M-Modellvarianten in der Modellauswahl nicht verfügbar. Nützlich für Unternehmensumgebungen mit Compliance-Anforderungen |70| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Setzen Sie auf `1`, um die Unterstützung des [1M-Kontextfensters](/de/model-config#extended-context) zu deaktivieren. Wenn gesetzt, sind 1M-Modellvarianten in der Modellauswahl nicht verfügbar. Nützlich für Unternehmensumgebungen mit Compliance-Anforderungen |

70| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Setzen Sie auf `1`, um [adaptives Denken](/de/model-config#adjust-effort-level) auf Opus 4.6 und Sonnet 4.6 zu deaktivieren und auf das feste Denk-Budget zurückzufallen, das von `MAX_THINKING_TOKENS` gesteuert wird. {/* min-version: 2.1.111 */}Hat keine Auswirkung auf Opus 4.7, das immer adaptives Denken verwendet |71| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Setzen Sie auf `1`, um [adaptives Denken](/de/model-config#adjust-effort-level) auf Opus 4.6 und Sonnet 4.6 zu deaktivieren und auf das feste Denk-Budget zurückzufallen, das von `MAX_THINKING_TOKENS` gesteuert wird. {/* min-version: 2.1.111 */}Hat keine Auswirkung auf Opus 4.7, das immer adaptives Denken verwendet |

72| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Setzen Sie auf `1`, um die [Vollbilddarstellung](/de/fullscreen) zu deaktivieren und den klassischen Hauptbildschirm-Renderer zu verwenden. Die Konversation bleibt in Ihrem nativen Terminal-Scrollback, sodass `Cmd+f` und tmux-Kopiermodus wie gewohnt funktionieren. Hat Vorrang vor `CLAUDE_CODE_NO_FLICKER` und der [`tui`](/de/settings#available-settings)-Einstellung. Sie können auch mit `/tui default` wechseln |

71| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Setzen Sie auf `1`, um die Verarbeitung von Anhängen zu deaktivieren. Dateierweiterungen mit `@`-Syntax werden als Klartext gesendet, anstatt in Dateiinhalte erweitert zu werden |73| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Setzen Sie auf `1`, um die Verarbeitung von Anhängen zu deaktivieren. Dateierweiterungen mit `@`-Syntax werden als Klartext gesendet, anstatt in Dateiinhalte erweitert zu werden |

72| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Setzen Sie auf `1`, um [automatisches Speichern](/de/memory#auto-memory) zu deaktivieren. Setzen Sie auf `0`, um automatisches Speichern während des schrittweisen Rollouts zu erzwingen. Wenn deaktiviert, erstellt oder lädt Claude keine automatischen Speicherdateien |74| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Setzen Sie auf `1`, um [automatisches Speichern](/de/memory#auto-memory) zu deaktivieren. Setzen Sie auf `0`, um automatisches Speichern zu erzwingen, auch wenn `--bare`-Modus oder [`autoMemoryEnabled: false`](/de/settings#available-settings) es ansonsten deaktivieren würde. Wenn deaktiviert, erstellt oder lädt Claude keine automatischen Speicherdateien |

73| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie auf `1`, um alle Hintergrundaufgaben-Funktionalität zu deaktivieren, einschließlich des Parameters `run_in_background` auf Bash- und Subagenten-Tools, automatisches Hintergrund-Ausführen und die Strg+B-Verknüpfung |75| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie auf `1`, um alle Hintergrundaufgaben-Funktionalität zu deaktivieren, einschließlich des Parameters `run_in_background` auf Bash- und Subagenten-Tools, automatisches Hintergrund-Ausführen und die Strg+B-Verknüpfung |

74| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Setzen Sie auf `1`, um das Laden von CLAUDE.md-Speicherdateien in den Kontext zu verhindern, einschließlich Benutzer-, Projekt- und automatischen Speicherdateien |76| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Setzen Sie auf `1`, um das Laden von CLAUDE.md-Speicherdateien in den Kontext zu verhindern, einschließlich Benutzer-, Projekt- und automatischen Speicherdateien |

75| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie auf `1`, um [geplante Aufgaben](/de/scheduled-tasks) zu deaktivieren. Der `/loop`-Skill und Cron-Tools werden nicht verfügbar und alle bereits geplanten Aufgaben werden nicht mehr ausgelöst, einschließlich Aufgaben, die bereits während der Sitzung ausgeführt werden |77| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie auf `1`, um [geplante Aufgaben](/de/scheduled-tasks) zu deaktivieren. Der `/loop`-Skill und Cron-Tools werden nicht verfügbar und alle bereits geplanten Aufgaben werden nicht mehr ausgelöst, einschließlich Aufgaben, die bereits während der Sitzung ausgeführt werden |

76| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Setzen Sie auf `1`, um Anthropic-spezifische `anthropic-beta`-Request-Header und Beta-Tool-Schema-Felder (wie `defer_loading` und `eager_input_streaming`) aus API-Anfragen zu entfernen. Verwenden Sie dies, wenn ein Proxy-Gateway Anfragen mit Fehlern wie „Unexpected value(s) for the `anthropic-beta` header" oder „Extra inputs are not permitted" ablehnt. Standard-Felder (`name`, `description`, `input_schema`, `cache_control`) werden beibehalten. |78| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Setzen Sie auf `1`, um Anthropic-spezifische `anthropic-beta`-Request-Header und Beta-Tool-Schema-Felder (wie `defer_loading` und `eager_input_streaming`) aus API-Anfragen zu entfernen. Verwenden Sie dies, wenn ein Proxy-Gateway Anfragen mit Fehlern wie „Unexpected value(s) for the `anthropic-beta` header" oder „Extra inputs are not permitted" ablehnt. Standard-Felder (`name`, `description`, `input_schema`, `cache_control`) werden beibehalten. |

77| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie auf `1`, um [Schnellmodus](/de/fast-mode) zu deaktivieren |79| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie auf `1`, um [Schnellmodus](/de/fast-mode) zu deaktivieren |

78| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Setzen Sie auf `1`, um die Umfragen zur Sitzungsqualität „Wie läuft es mit Claude?" zu deaktivieren. Umfragen werden auch deaktiviert, wenn `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist. Siehe [Umfragen zur Sitzungsqualität](/de/data-usage#session-quality-surveys) |80| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Setzen Sie auf `1`, um die Umfragen zur Sitzungsqualität „Wie läuft es mit Claude?" zu deaktivieren. Umfragen werden auch deaktiviert, wenn `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist. Um stattdessen eine Stichprobenquote festzulegen, verwenden Sie die Einstellung [`feedbackSurveyRate`](/de/settings#available-settings). Siehe [Umfragen zur Sitzungsqualität](/de/data-usage#session-quality-surveys) |

79| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Setzen Sie auf `1`, um Datei-[Checkpointing](/de/checkpointing) zu deaktivieren. Der `/rewind`-Befehl kann keine Code-Änderungen wiederherstellen |81| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Setzen Sie auf `1`, um Datei-[Checkpointing](/de/checkpointing) zu deaktivieren. Der `/rewind`-Befehl kann keine Code-Änderungen wiederherstellen |

80| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Setzen Sie auf `1`, um integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot aus Claudes System-Prompt zu entfernen. Nützlich bei Verwendung eigener Git-Workflow-Skills. Hat Vorrang vor der Einstellung [`includeGitInstructions`](/de/settings#available-settings), wenn gesetzt |82| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Setzen Sie auf `1`, um integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot aus Claudes System-Prompt zu entfernen. Nützlich bei Verwendung eigener Git-Workflow-Skills. Hat Vorrang vor der Einstellung [`includeGitInstructions`](/de/settings#available-settings), wenn gesetzt |

81| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Setzen Sie auf `1`, um die automatische Umleitung von Opus 4.0 und 4.1 zur aktuellen Opus-Version auf der Anthropic API zu verhindern. Verwenden Sie, wenn Sie absichtlich ein älteres Modell fixieren möchten. Die Umleitung wird nicht auf Bedrock, Vertex oder Foundry ausgeführt |83| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Setzen Sie auf `1`, um die automatische Umleitung von Opus 4.0 und 4.1 zur aktuellen Opus-Version auf der Anthropic API zu verhindern. Verwenden Sie, wenn Sie absichtlich ein älteres Modell fixieren möchten. Die Umleitung wird nicht auf Bedrock, Vertex oder Foundry ausgeführt |


90| `CLAUDE_CODE_EFFORT_LEVEL` | Legen Sie die Anstrengungsstufe für unterstützte Modelle fest. Werte: `low`, `medium`, `high`, `xhigh`, `max` oder `auto` für den Modellstandard. Verfügbare Stufen hängen vom Modell ab. Hat Vorrang vor `/effort` und der `effortLevel`-Einstellung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) |92| `CLAUDE_CODE_EFFORT_LEVEL` | Legen Sie die Anstrengungsstufe für unterstützte Modelle fest. Werte: `low`, `medium`, `high`, `xhigh`, `max` oder `auto` für den Modellstandard. Verfügbare Stufen hängen vom Modell ab. Hat Vorrang vor `/effort` und der `effortLevel`-Einstellung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) |

91| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Überschreiben Sie die Verfügbarkeit von [Sitzungs-Zusammenfassung](/de/interactive-mode#session-recap). Setzen Sie auf `0`, um Zusammenfassungen unabhängig vom `/config`-Umschalter auszuschalten. Setzen Sie auf `1`, um Zusammenfassungen zu erzwingen, wenn [`awaySummaryEnabled`](/de/settings#available-settings) `false` ist. Hat Vorrang vor der Einstellung und dem `/config`-Umschalter |93| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Überschreiben Sie die Verfügbarkeit von [Sitzungs-Zusammenfassung](/de/interactive-mode#session-recap). Setzen Sie auf `0`, um Zusammenfassungen unabhängig vom `/config`-Umschalter auszuschalten. Setzen Sie auf `1`, um Zusammenfassungen zu erzwingen, wenn [`awaySummaryEnabled`](/de/settings#available-settings) `false` ist. Hat Vorrang vor der Einstellung und dem `/config`-Umschalter |

92| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Setzen Sie auf `1`, um den Plugin-Status an Turn-Grenzen im [nicht-interaktiven Modus](/de/headless) zu aktualisieren, nachdem eine Hintergrund-Installation abgeschlossen ist. Standardmäßig aus, da die Aktualisierung den System-Prompt mitten in der Sitzung ändert, was [Prompt-Caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) für diesen Turn ungültig macht |94| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Setzen Sie auf `1`, um den Plugin-Status an Turn-Grenzen im [nicht-interaktiven Modus](/de/headless) zu aktualisieren, nachdem eine Hintergrund-Installation abgeschlossen ist. Standardmäßig aus, da die Aktualisierung den System-Prompt mitten in der Sitzung ändert, was [Prompt-Caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) für diesen Turn ungültig macht |

93| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Setzen Sie auf `1`, um feingranulares Tool-Input-Streaming zu erzwingen. Ohne dies puffert die API Tool-Input-Parameter vollständig, bevor Delta-Ereignisse gesendet werden, was die Anzeige bei großen Tool-Eingaben verzögern kann. Nur Anthropic API: hat keine Auswirkung auf Bedrock, Vertex oder Foundry |95| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Steuert, ob Tool-Call-Eingaben von der API streamen, während Claude sie generiert. Wenn dies aus ist, kommt eine große Tool-Eingabe wie ein langer Datei-Schreibvorgang erst an, nachdem Claude die Generierung abgeschlossen hat, was aussehen kann, als würde es hängen. Standardmäßig für direkte Anthropic API-Verbindungen aktiviert. Setzen Sie auf `0`, um sich abzumelden. Setzen Sie auf `1`, um zu erzwingen, auch wenn der serverseitige Standard aus ist. Hat keine Auswirkung auf Bedrock, Vertex, Foundry oder [Gateway](/de/llm-gateway)-Verbindungen |

96| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Setzen Sie auf `1`, um die `/model`-Auswahl aus dem `/v1/models`-Endpunkt Ihres Gateways zu füllen, wenn `ANTHROPIC_BASE_URL` auf ein Anthropic-kompatibles Gateway wie LiteLLM, Kong oder einen internen Proxy verweist. Standardmäßig aus, da Gateways, die von einem gemeinsamen API-Schlüssel unterstützt werden, ansonsten jedem Benutzer jedes Modell anzeigen würden, auf das der Schlüssel zugreifen kann. Erkannte Modelle werden weiterhin durch die [`availableModels`](/de/settings#available-settings)-Zulassungsliste gefiltert |

94| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Setzen Sie auf `false`, um Prompt-Vorschläge zu deaktivieren (der Umschalter „Prompt-Vorschläge" in `/config`). Dies sind die ausgegraut angezeigten Vorhersagen, die in Ihrer Prompt-Eingabe nach Claudes Antwort erscheinen. Siehe [Prompt-Vorschläge](/de/interactive-mode#prompt-suggestions) |97| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Setzen Sie auf `false`, um Prompt-Vorschläge zu deaktivieren (der Umschalter „Prompt-Vorschläge" in `/config`). Dies sind die ausgegraut angezeigten Vorhersagen, die in Ihrer Prompt-Eingabe nach Claudes Antwort erscheinen. Siehe [Prompt-Vorschläge](/de/interactive-mode#prompt-suggestions) |

95| `CLAUDE_CODE_ENABLE_TASKS` | Setzen Sie auf `1`, um das Task-Tracking-System im nicht-interaktiven Modus (das Flag `-p`) zu aktivieren. Tasks sind standardmäßig im interaktiven Modus aktiviert. Siehe [Aufgabenliste](/de/interactive-mode#task-list) |98| `CLAUDE_CODE_ENABLE_TASKS` | Setzen Sie auf `1`, um das Task-Tracking-System im nicht-interaktiven Modus (das Flag `-p`) zu aktivieren. Tasks sind standardmäßig im interaktiven Modus aktiviert. Siehe [Aufgabenliste](/de/interactive-mode#task-list) |

96| `CLAUDE_CODE_ENABLE_TELEMETRY` | Setzen Sie auf `1`, um OpenTelemetry-Datenerfassung für Metriken und Protokollierung zu aktivieren. Erforderlich, bevor OTel-Exporter konfiguriert werden. Siehe [Überwachung](/de/monitoring-usage) |99| `CLAUDE_CODE_ENABLE_TELEMETRY` | Setzen Sie auf `1`, um OpenTelemetry-Datenerfassung für Metriken und Protokollierung zu aktivieren. Erforderlich, bevor OTel-Exporter konfiguriert werden. Siehe [Überwachung](/de/monitoring-usage) |


98| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Setzen Sie auf `1`, um [Agent-Teams](/de/agent-teams) zu aktivieren. Agent-Teams sind experimentell und standardmäßig deaktiviert |101| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Setzen Sie auf `1`, um [Agent-Teams](/de/agent-teams) zu aktivieren. Agent-Teams sind experimentell und standardmäßig deaktiviert |

99| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene jedes API-Request-Body zusammengeführt werden soll. Nützlich für die Übergabe von Provider-spezifischen Parametern, die Claude Code nicht direkt verfügbar macht |102| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene jedes API-Request-Body zusammengeführt werden soll. Nützlich für die Übergabe von Provider-spezifischen Parametern, die Claude Code nicht direkt verfügbar macht |

100| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreiben Sie das Standard-Token-Limit für Dateileser. Nützlich, wenn Sie größere Dateien vollständig lesen müssen |103| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreiben Sie das Standard-Token-Limit für Dateileser. Nützlich, wenn Sie größere Dateien vollständig lesen müssen |

104| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setzen Sie auf `1`, um DEC Private Mode 2026 [synchronisierte Ausgabe](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zu erzwingen, wenn Ihr Terminal sie unterstützt, aber nicht automatisch erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Capability-Abfrage antworten. Hat keine Auswirkung unter tmux |

101| `CLAUDE_CODE_FORK_SUBAGENT` | Setzen Sie auf `1`, um [abgespaltete Subagenten](/de/sub-agents#fork-the-current-conversation) zu aktivieren. Ein abgespalteter Subagent erbt den vollständigen Konversationskontext aus der Hauptsitzung, anstatt neu zu beginnen. Wenn aktiviert, spawnt `/fork` einen abgespalteten Subagent, anstatt als Alias für [`/branch`](/de/commands) zu fungieren, und alle Subagent-Spawns werden im Hintergrund ausgeführt. Funktioniert im interaktiven Modus und über das SDK oder `claude -p` |105| `CLAUDE_CODE_FORK_SUBAGENT` | Setzen Sie auf `1`, um [abgespaltete Subagenten](/de/sub-agents#fork-the-current-conversation) zu aktivieren. Ein abgespalteter Subagent erbt den vollständigen Konversationskontext aus der Hauptsitzung, anstatt neu zu beginnen. Wenn aktiviert, spawnt `/fork` einen abgespalteten Subagent, anstatt als Alias für [`/branch`](/de/commands) zu fungieren, und alle Subagent-Spawns werden im Hintergrund ausgeführt. Funktioniert im interaktiven Modus und über das SDK oder `claude -p` |

102| `CLAUDE_CODE_GIT_BASH_PATH` | Nur Windows: Pfad zur Git Bash-Ausführungsdatei (`bash.exe`). Verwenden Sie, wenn Git Bash installiert ist, aber nicht in Ihrem PATH. Siehe [Windows-Setup](/de/setup#set-up-on-windows) |106| `CLAUDE_CODE_GIT_BASH_PATH` | Nur Windows: Pfad zur Git Bash-Ausführungsdatei (`bash.exe`). Verwenden Sie, wenn Git Bash installiert ist, aber nicht in Ihrem PATH. Siehe [Windows-Setup](/de/setup#set-up-on-windows) |

103| `CLAUDE_CODE_GLOB_HIDDEN` | Setzen Sie auf `false`, um versteckte Dateien aus Ergebnissen auszuschließen, wenn Claude das [Glob-Tool](/de/tools-reference) aufruft. Standardmäßig enthalten. Beeinflusst nicht `@`-Datei-Autovervollständigung, `ls`, Grep oder Read |107| `CLAUDE_CODE_GLOB_HIDDEN` | Setzen Sie auf `false`, um versteckte Dateien aus Ergebnissen auszuschließen, wenn Claude das [Glob-Tool](/de/tools-reference) aufruft. Standardmäßig enthalten. Beeinflusst nicht `@`-Datei-Autovervollständigung, `ls`, Grep oder Read |


120| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden zum Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Überwachung](/de/monitoring-usage) |124| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden zum Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Überwachung](/de/monitoring-usage) |

121| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer OpenTelemetry-Header in Millisekunden (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) |125| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer OpenTelemetry-Header in Millisekunden (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) |

122| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in Millisekunden für den OpenTelemetry-Exporter zum Beenden beim Herunterfahren (Standard: 2000). Erhöhen Sie, wenn Metriken beim Beenden gelöscht werden. Siehe [Überwachung](/de/monitoring-usage) |126| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in Millisekunden für den OpenTelemetry-Exporter zum Beenden beim Herunterfahren (Standard: 2000). Erhöhen Sie, wenn Metriken beim Beenden gelöscht werden. Siehe [Überwachung](/de/monitoring-usage) |

127| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Setzen Sie auf `1`, um Claude Code Ihren Package Manager-Upgrade-Befehl im Hintergrund ausführen zu lassen, wenn eine neue Version verfügbar ist. Gilt für Homebrew und WinGet-Installationen. Andere Package Manager zeigen weiterhin den Upgrade-Befehl an, ohne ihn auszuführen. Siehe [Auto-Updates](/de/setup#auto-updates) |

123| `CLAUDE_CODE_PERFORCE_MODE` | Setzen Sie auf `1`, um Perforce-bewussten Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit fehl mit einem `p4 edit <file>`-Hinweis, wenn die Zieldatei das Owner-Write-Bit nicht hat, das Perforce bei synchronisierten Dateien löscht, bis `p4 edit` sie öffnet. Dies verhindert, dass Claude Code die Perforce-Änderungsverfolgung umgeht |128| `CLAUDE_CODE_PERFORCE_MODE` | Setzen Sie auf `1`, um Perforce-bewussten Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit fehl mit einem `p4 edit <file>`-Hinweis, wenn die Zieldatei das Owner-Write-Bit nicht hat, das Perforce bei synchronisierten Dateien löscht, bis `p4 edit` sie öffnet. Dies verhindert, dass Claude Code die Perforce-Änderungsverfolgung umgeht |

124| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreiben Sie das Plugin-Stammverzeichnis. Trotz des Namens setzt dies das übergeordnete Verzeichnis, nicht den Cache selbst: Marketplaces und der Plugin-Cache befinden sich in Unterverzeichnissen unter diesem Pfad. Standardmäßig `~/.claude/plugins` |129| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreiben Sie das Plugin-Stammverzeichnis. Trotz des Namens setzt dies das übergeordnete Verzeichnis, nicht den Cache selbst: Marketplaces und der Plugin-Cache befinden sich in Unterverzeichnissen unter diesem Pfad. Standardmäßig `~/.claude/plugins` |

125| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in Millisekunden für Git-Operationen beim Installieren oder Aktualisieren von Plugins (Standard: 120000). Erhöhen Sie diesen Wert für große Repositories oder langsame Netzwerkverbindungen. Siehe [Git-Operationen Timeout](/de/plugin-marketplaces#git-operations-time-out) |130| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in Millisekunden für Git-Operationen beim Installieren oder Aktualisieren von Plugins (Standard: 120000). Erhöhen Sie diesen Wert für große Repositories oder langsame Netzwerkverbindungen. Siehe [Git-Operationen Timeout](/de/plugin-marketplaces#git-operations-time-out) |


131| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird automatisch in [Cloud-Sitzungen](/de/claude-code-on-the-web) auf die ID der aktuellen Sitzung gesetzt. Lesen Sie dies, um einen Link zurück zur Sitzungs-Abschrift zu erstellen. Siehe [Artefakte zurück zur Sitzung verlinken](/de/claude-code-on-the-web#link-artifacts-back-to-the-session) |136| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird automatisch in [Cloud-Sitzungen](/de/claude-code-on-the-web) auf die ID der aktuellen Sitzung gesetzt. Lesen Sie dies, um einen Link zurück zur Sitzungs-Abschrift zu erstellen. Siehe [Artefakte zurück zur Sitzung verlinken](/de/claude-code-on-the-web#link-artifacts-back-to-the-session) |

132| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Setzen Sie auf `1`, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn endete. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss |137| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Setzen Sie auf `1`, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn endete. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss |

133| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-Objekt, das begrenzt, wie oft bestimmte Skripte pro Sitzung aufgerufen werden können, wenn `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist. Schlüssel sind Substrings, die gegen den Befehlstext abgeglichen werden; Werte sind ganzzahlige Aufruflimits. Zum Beispiel `{"deploy.sh": 2}` erlaubt `deploy.sh`, höchstens zweimal aufgerufen zu werden. Der Abgleich ist substring-basiert, daher zählen Shell-Erweiterungstricks wie `./scripts/deploy.sh $(evil)` weiterhin gegen das Limit. Runtime-Fan-out über `xargs` oder `find -exec` wird nicht erkannt; dies ist eine Defense-in-Depth-Kontrolle |138| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-Objekt, das begrenzt, wie oft bestimmte Skripte pro Sitzung aufgerufen werden können, wenn `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist. Schlüssel sind Substrings, die gegen den Befehlstext abgeglichen werden; Werte sind ganzzahlige Aufruflimits. Zum Beispiel `{"deploy.sh": 2}` erlaubt `deploy.sh`, höchstens zweimal aufgerufen zu werden. Der Abgleich ist substring-basiert, daher zählen Shell-Erweiterungstricks wie `./scripts/deploy.sh $(evil)` weiterhin gegen das Limit. Runtime-Fan-out über `xargs` oder `find -exec` wird nicht erkannt; dies ist eine Defense-in-Depth-Kontrolle |

134| `CLAUDE_CODE_SCROLL_SPEED` | Legen Sie den Mausrad-Scroll-Multiplikator in der [Vollbilddarstellung](/de/fullscreen#mouse-wheel-scrolling) fest. Akzeptiert Werte von 1 bis 20. Setzen Sie auf `3`, um `vim` zu entsprechen, wenn Ihr Terminal ein Mausrad-Ereignis pro Kerbe ohne Verstärkung sendet |139| `CLAUDE_CODE_SCROLL_SPEED` | Legen Sie den Mausrad-Scroll-Multiplikator in der [Vollbilddarstellung](/de/fullscreen#mouse-wheel-scrolling) fest. Akzeptiert Werte von 1 bis 20. Setzen Sie auf `3`, um `vim` zu entsprechen, wenn Ihr Terminal ein Mausrad-Ereignis pro Kerbe ohne Verstärkung sendet. Wird im JetBrains IDE-Terminal ignoriert, wo Claude Code sein eigenes Scroll-Handling verwendet |

135| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Überschreiben Sie das Zeitbudget in Millisekunden für [SessionEnd](/de/hooks#sessionend)-Hooks. Gilt für Sitzungsbeendigung, `/clear` und Wechsel von Sitzungen über interaktives `/resume`. Standardmäßig ist das Budget 1,5 Sekunden, automatisch erhöht auf das höchste pro-Hook `timeout`, das in Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts auf Plugin-bereitgestellten Hooks erhöhen das Budget nicht |140| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Überschreiben Sie das Zeitbudget in Millisekunden für [SessionEnd](/de/hooks#sessionend)-Hooks. Gilt für Sitzungsbeendigung, `/clear` und Wechsel von Sitzungen über interaktives `/resume`. Standardmäßig ist das Budget 1,5 Sekunden, automatisch erhöht auf das höchste pro-Hook `timeout`, das in Einstellungsdateien konfiguriert ist, bis zu 60 Sekunden. Timeouts auf Plugin-bereitgestellten Hooks erhöhen das Budget nicht |

141| `CLAUDE_CODE_SESSION_ID` | Wird automatisch in Bash- und PowerShell-Tool-Subprozessen auf die aktuelle Sitzungs-ID gesetzt. Entspricht dem Feld `session_id`, das an [Hooks](/de/hooks) übergeben wird. Wird bei `/clear` aktualisiert. Verwenden Sie, um Skripte und externe Tools mit der Claude Code-Sitzung zu korrelieren, die sie gestartet hat |

136| `CLAUDE_CODE_SHELL` | Überschreiben Sie die automatische Shell-Erkennung. Nützlich, wenn sich Ihre Login-Shell von Ihrer bevorzugten Arbeitsshell unterscheidet (z. B. `bash` vs `zsh`) |142| `CLAUDE_CODE_SHELL` | Überschreiben Sie die automatische Shell-Erkennung. Nützlich, wenn sich Ihre Login-Shell von Ihrer bevorzugten Arbeitsshell unterscheidet (z. B. `bash` vs `zsh`) |

137| `CLAUDE_CODE_SHELL_PREFIX` | Befehlspräfix zum Umhüllen von Shell-Befehlen, die Claude Code spawnt: Bash-Tool-Aufrufe, [Hook](/de/hooks)-Befehle und stdio [MCP-Server](/de/mcp)-Startup-Befehle. Nützlich für Protokollierung oder Auditing. Beispiel: Das Setzen von `/path/to/logger.sh` führt jeden Befehl als `/path/to/logger.sh <command>` aus |143| `CLAUDE_CODE_SHELL_PREFIX` | Befehlspräfix zum Umhüllen von Shell-Befehlen, die Claude Code spawnt: Bash-Tool-Aufrufe, [Hook](/de/hooks)-Befehle und stdio [MCP-Server](/de/mcp)-Startup-Befehle. Nützlich für Protokollierung oder Auditing. Beispiel: Das Setzen von `/path/to/logger.sh` führt jeden Befehl als `/path/to/logger.sh <command>` aus |

138| `CLAUDE_CODE_SIMPLE` | Setzen Sie auf `1`, um mit einem minimalen System-Prompt und nur den Tools Bash, Datei lesen und Datei bearbeiten auszuführen. MCP-Tools aus `--mcp-config` sind weiterhin verfügbar. Deaktiviert die automatische Erkennung von Hooks, Skills, Plugins, MCP-Servern, automatisches Speichern und CLAUDE.md. Das CLI-Flag [`--bare`](/de/headless#start-faster-with-bare-mode) setzt dies |144| `CLAUDE_CODE_SIMPLE` | Setzen Sie auf `1`, um mit einem minimalen System-Prompt und nur den Tools Bash, Datei lesen und Datei bearbeiten auszuführen. MCP-Tools aus `--mcp-config` sind weiterhin verfügbar. Deaktiviert die automatische Erkennung von Hooks, Skills, Plugins, MCP-Servern, automatisches Speichern und CLAUDE.md. Das CLI-Flag [`--bare`](/de/headless#start-faster-with-bare-mode) setzt dies |


146| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Setzen Sie auf `1`, um Anthropic- und Cloud-Provider-Anmeldedaten aus Subprocess-Umgebungen zu entfernen (Bash-Tool, Hooks, MCP-Stdio-Server). Der übergeordnete Claude-Prozess behält diese Anmeldedaten für API-Aufrufe, aber untergeordnete Prozesse können sie nicht lesen, was die Exposition gegenüber Prompt-Injection-Angriffen reduziert, die versuchen, Geheimnisse über Shell-Erweiterung zu exfiltrieren. Unter Linux führt dies auch Bash-Subprozesse in einem isolierten PID-Namespace aus, sodass sie Host-Prozessumgebungen über `/proc` nicht lesen können; als Nebeneffekt können `ps`, `pgrep` und `kill` Host-Prozesse nicht sehen oder signalisieren. `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |152| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Setzen Sie auf `1`, um Anthropic- und Cloud-Provider-Anmeldedaten aus Subprocess-Umgebungen zu entfernen (Bash-Tool, Hooks, MCP-Stdio-Server). Der übergeordnete Claude-Prozess behält diese Anmeldedaten für API-Aufrufe, aber untergeordnete Prozesse können sie nicht lesen, was die Exposition gegenüber Prompt-Injection-Angriffen reduziert, die versuchen, Geheimnisse über Shell-Erweiterung zu exfiltrieren. Unter Linux führt dies auch Bash-Subprozesse in einem isolierten PID-Namespace aus, sodass sie Host-Prozessumgebungen über `/proc` nicht lesen können; als Nebeneffekt können `ps`, `pgrep` und `kill` Host-Prozesse nicht sehen oder signalisieren. `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |

147| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Setzen Sie auf `1` im nicht-interaktiven Modus (das Flag `-p`), um auf den Abschluss der Plugin-Installation zu warten, bevor die erste Abfrage. Ohne dies werden Plugins im Hintergrund installiert und sind möglicherweise beim ersten Turn nicht verfügbar. Kombinieren Sie mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um die Wartezeit zu begrenzen |153| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Setzen Sie auf `1` im nicht-interaktiven Modus (das Flag `-p`), um auf den Abschluss der Plugin-Installation zu warten, bevor die erste Abfrage. Ohne dies werden Plugins im Hintergrund installiert und sind möglicherweise beim ersten Turn nicht verfügbar. Kombinieren Sie mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um die Wartezeit zu begrenzen |

148| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für synchrone Plugin-Installation. Wenn überschritten, fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: Ohne diese Variable wartet die synchrone Installation bis zum Abschluss |154| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für synchrone Plugin-Installation. Wenn überschritten, fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: Ohne diese Variable wartet die synchrone Installation bis zum Abschluss |

149| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setzen Sie auf `false`, um Syntax-Hervorhebung in Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihr Terminal-Setup beeinträchtigen |155| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setzen Sie auf `false`, um Syntax-Hervorhebung in Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihr Terminal-Setup beeinträchtigen. Um auch die Hervorhebung in Code-Blöcken und Datei-Vorschauen zu deaktivieren, verwenden Sie die Einstellung [`syntaxHighlightingDisabled`](/de/settings) |

150| `CLAUDE_CODE_TASK_LIST_ID` | Teilen Sie eine Aufgabenliste über Sitzungen hinweg. Setzen Sie dieselbe ID in mehreren Claude Code-Instanzen, um an einer gemeinsamen Aufgabenliste zu koordinieren. Siehe [Aufgabenliste](/de/interactive-mode#task-list) |156| `CLAUDE_CODE_TASK_LIST_ID` | Teilen Sie eine Aufgabenliste über Sitzungen hinweg. Setzen Sie dieselbe ID in mehreren Claude Code-Instanzen, um an einer gemeinsamen Aufgabenliste zu koordinieren. Siehe [Aufgabenliste](/de/interactive-mode#task-list) |

151| `CLAUDE_CODE_TEAM_NAME` | Name des Agent-Teams, zu dem dieser Teamkollege gehört. Automatisch auf [Agent-Team](/de/agent-teams)-Mitgliedern gesetzt |157| `CLAUDE_CODE_TEAM_NAME` | Name des Agent-Teams, zu dem dieser Teamkollege gehört. Automatisch auf [Agent-Team](/de/agent-teams)-Mitgliedern gesetzt |

152| `CLAUDE_CODE_TMPDIR` | Überschreiben Sie das Temp-Verzeichnis, das für interne Temp-Dateien verwendet wird. Claude Code hängt `/claude-{uid}/` (Unix) oder `/claude/` (Windows) an diesen Pfad an. Standard: `/tmp` auf macOS, `os.tmpdir()` auf Linux/Windows |158| `CLAUDE_CODE_TMPDIR` | Überschreiben Sie das Temp-Verzeichnis, das für interne Temp-Dateien verwendet wird. Claude Code hängt `/claude-{uid}/` (Unix) oder `/claude/` (Windows) an diesen Pfad an. Standard: `/tmp` auf macOS, `os.tmpdir()` auf Linux/Windows |


181| `DISABLE_PROMPT_CACHING_HAIKU` | Setzen Sie auf `1`, um Prompt-Caching für Haiku-Modelle zu deaktivieren |187| `DISABLE_PROMPT_CACHING_HAIKU` | Setzen Sie auf `1`, um Prompt-Caching für Haiku-Modelle zu deaktivieren |

182| `DISABLE_PROMPT_CACHING_OPUS` | Setzen Sie auf `1`, um Prompt-Caching für Opus-Modelle zu deaktivieren |188| `DISABLE_PROMPT_CACHING_OPUS` | Setzen Sie auf `1`, um Prompt-Caching für Opus-Modelle zu deaktivieren |

183| `DISABLE_PROMPT_CACHING_SONNET` | Setzen Sie auf `1`, um Prompt-Caching für Sonnet-Modelle zu deaktivieren |189| `DISABLE_PROMPT_CACHING_SONNET` | Setzen Sie auf `1`, um Prompt-Caching für Sonnet-Modelle zu deaktivieren |

184| `DISABLE_TELEMETRY` | Setzen Sie auf `1`, um sich von Statsig-Telemetrie abzumelden (beachten Sie, dass Statsig-Ereignisse keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle enthalten) |190| `DISABLE_TELEMETRY` | Setzen Sie auf `1`, um sich von Telemetrie abzumelden. Telemetrie-Ereignisse enthalten keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle |

185| `DISABLE_UPDATES` | Setzen Sie auf `1`, um alle Updates zu blockieren, einschließlich manuelles `claude update` und `claude install`. Strenger als `DISABLE_AUTOUPDATER`. Verwenden Sie, wenn Sie Claude Code über Ihre eigenen Kanäle verteilen und Benutzer sich nicht selbst aktualisieren sollten |191| `DISABLE_UPDATES` | Setzen Sie auf `1`, um alle Updates zu blockieren, einschließlich manuelles `claude update` und `claude install`. Strenger als `DISABLE_AUTOUPDATER`. Verwenden Sie, wenn Sie Claude Code über Ihre eigenen Kanäle verteilen und Benutzer sich nicht selbst aktualisieren sollten |

186| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl auszublenden |192| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl auszublenden |

187| `ENABLE_CLAUDEAI_MCP_SERVERS` | Setzen Sie auf `false`, um [claude.ai MCP-Server](/de/mcp#use-mcp-servers-from-claude-ai) in Claude Code zu deaktivieren. Standardmäßig für angemeldete Benutzer aktiviert |193| `ENABLE_CLAUDEAI_MCP_SERVERS` | Setzen Sie auf `false`, um [claude.ai MCP-Server](/de/mcp#use-mcp-servers-from-claude-ai) in Claude Code zu deaktivieren. Standardmäßig für angemeldete Benutzer aktiviert |


198| `MAX_STRUCTURED_OUTPUT_RETRIES` | Anzahl der Wiederholungen, wenn die Antwort des Modells die Validierung gegen das [`--json-schema`](/de/cli-reference#cli-flags) im nicht-interaktiven Modus (das Flag `-p`) fehlschlägt. Standardmäßig 5 |204| `MAX_STRUCTURED_OUTPUT_RETRIES` | Anzahl der Wiederholungen, wenn die Antwort des Modells die Validierung gegen das [`--json-schema`](/de/cli-reference#cli-flags) im nicht-interaktiven Modus (das Flag `-p`) fehlschlägt. Standardmäßig 5 |

199| `MAX_THINKING_TOKENS` | Überschreiben Sie das [erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)-Token-Budget. Die Obergrenze ist die [maximale Ausgabe-Token](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) des Modells minus eins. Setzen Sie auf `0`, um Denken vollständig zu deaktivieren. Bei Modellen mit [adaptivem Denken](/de/model-config#adjust-effort-level) wird das Budget ignoriert, es sei denn, adaptives Denken ist über `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` deaktiviert |205| `MAX_THINKING_TOKENS` | Überschreiben Sie das [erweitertes Denken](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)-Token-Budget. Die Obergrenze ist die [maximale Ausgabe-Token](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) des Modells minus eins. Setzen Sie auf `0`, um Denken vollständig zu deaktivieren. Bei Modellen mit [adaptivem Denken](/de/model-config#adjust-effort-level) wird das Budget ignoriert, es sei denn, adaptives Denken ist über `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` deaktiviert |

200| `MCP_CLIENT_SECRET` | OAuth-Client-Secret für MCP-Server, die [vorkonfigurierte Anmeldedaten](/de/mcp#use-pre-configured-oauth-credentials) erfordern. Vermeidet die interaktive Eingabeaufforderung beim Hinzufügen eines Servers mit `--client-secret` |206| `MCP_CLIENT_SECRET` | OAuth-Client-Secret für MCP-Server, die [vorkonfigurierte Anmeldedaten](/de/mcp#use-pre-configured-oauth-credentials) erfordern. Vermeidet die interaktive Eingabeaufforderung beim Hinzufügen eines Servers mit `--client-secret` |

201| `MCP_CONNECTION_NONBLOCKING` | Setzen Sie auf `true` im nicht-interaktiven Modus (`-p`), um das Warten auf MCP-Verbindung vollständig zu überspringen. Nützlich für Skript-Pipelines, bei denen MCP-Tools nicht benötigt werden. Ohne diese Variable wartet die erste Abfrage bis zu 5 Sekunden auf `--mcp-config`-Server-Verbindungen |207| `MCP_CONNECTION_NONBLOCKING` | Setzen Sie auf `true` im nicht-interaktiven Modus (`-p`), um das Warten auf MCP-Verbindung vollständig zu überspringen. Nützlich für Skript-Pipelines, bei denen MCP-Tools nicht benötigt werden. Ohne diese Variable wartet die erste Abfrage bis zu 5 Sekunden auf `--mcp-config`-Server-Verbindungen. Server, die mit [`alwaysLoad: true`](/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, blockieren den Start immer, unabhängig von dieser Variablen, da ihre Tools vorhanden sein müssen, wenn der erste Prompt erstellt wird |

202| `MCP_OAUTH_CALLBACK_PORT` | Fester Port für den OAuth-Redirect-Callback als Alternative zu `--callback-port` beim Hinzufügen eines MCP-Servers mit [vorkonfigurierten Anmeldedaten](/de/mcp#use-pre-configured-oauth-credentials) |208| `MCP_OAUTH_CALLBACK_PORT` | Fester Port für den OAuth-Redirect-Callback als Alternative zu `--callback-port` beim Hinzufügen eines MCP-Servers mit [vorkonfigurierten Anmeldedaten](/de/mcp#use-pre-configured-oauth-credentials) |

203| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von Remote-MCP-Servern (HTTP/SSE), die während des Starts parallel verbunden werden (Standard: 20) |209| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von Remote-MCP-Servern (HTTP/SSE), die während des Starts parallel verbunden werden (Standard: 20) |

204| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von lokalen MCP-Servern (stdio), die während des Starts parallel verbunden werden (Standard: 3) |210| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von lokalen MCP-Servern (stdio), die während des Starts parallel verbunden werden (Standard: 3) |

errors.md +32 −10

Details

6 6 

7> Schlagen Sie Claude Code-Laufzeitfehlermeldungen nach und erfahren Sie, was jede bedeutet und wie Sie sie beheben.7> Schlagen Sie Claude Code-Laufzeitfehlermeldungen nach und erfahren Sie, was jede bedeutet und wie Sie sie beheben.

8 8 

9Diese Seite listet Laufzeitfehler auf, die Claude Code anzeigt, und wie Sie sich von jedem erholen können, sowie was Sie überprüfen sollten, wenn Antworten ohne Fehler seltsam wirken. Für Installationsfehler wie `command not found` oder TLS-Fehler während der Einrichtung siehe [Fehlerbehebung bei Installation und Anmeldung](/de/troubleshooting-install).9Diese Seite listet Laufzeitfehler auf, die Claude Code anzeigt, und wie Sie sich von jedem erholen können, sowie was Sie überprüfen sollten, wenn Antworten ohne Fehler seltsam wirken. Für Installationsfehler wie `command not found` oder TLS-Fehler während der Einrichtung siehe [Fehlerbehebung bei Installation und Anmeldung](/de/troubleshoot-install).

10 10 

11Diese Fehler und Wiederherstellungsbefehle gelten für die CLI, die [Desktop-App](/de/desktop) und [Claude Code im Web](/de/claude-code-on-the-web), da alle drei die gleiche Claude Code CLI verwenden. Für oberflächenspezifische Probleme siehe den Abschnitt zur Fehlerbehebung auf der Seite dieser Oberfläche.11Diese Fehler und Wiederherstellungsbefehle gelten für die CLI, die [Desktop-App](/de/desktop) und [Claude Code im Web](/de/claude-code-on-the-web), da alle drei die gleiche Claude Code CLI verwenden. Für oberflächenspezifische Probleme siehe den Abschnitt zur Fehlerbehebung auf der Seite dieser Oberfläche.

12 12 


35| `does not meet scope requirement user:profile` | [Authentifizierung](#oauth-scope-requirement) |35| `does not meet scope requirement user:profile` | [Authentifizierung](#oauth-scope-requirement) |

36| `Unable to connect to API` | [Netzwerk](#unable-to-connect-to-api) |36| `Unable to connect to API` | [Netzwerk](#unable-to-connect-to-api) |

37| `SSL certificate verification failed` | [Netzwerk](#ssl-certificate-errors) |37| `SSL certificate verification failed` | [Netzwerk](#ssl-certificate-errors) |

38| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Netzwerk](#host-not-allowed-in-a-cloud-session) |

38| `Prompt is too long` | [Anfragefehler](#prompt-is-too-long) |39| `Prompt is too long` | [Anfragefehler](#prompt-is-too-long) |

39| `Error during compaction: Conversation too long` | [Anfragefehler](#error-during-compaction-conversation-too-long) |40| `Error during compaction: Conversation too long` | [Anfragefehler](#error-during-compaction-conversation-too-long) |

40| `Request too large` | [Anfragefehler](#request-too-large) |41| `Request too large` | [Anfragefehler](#request-too-large) |


282 283 

283## Netzwerk- und Verbindungsfehler284## Netzwerk- und Verbindungsfehler

284 285 

285Diese Fehler bedeuten, dass Claude Code die API überhaupt nicht erreichen konnte. Sie stammen fast immer aus Ihrem lokalen Netzwerk, Proxy oder Firewall und nicht aus der Anthropic-Infrastruktur.286Diese Fehler bedeuten, dass eine Netzwerkanfrage von Claude Code ihr Ziel nicht erreicht hat. Sie stammen normalerweise aus Ihrem lokalen Netzwerk, Proxy oder Firewall oder aus der Netzwerkrichtlinie der Cloud-Umgebung.

286 287 

287### Unable to connect to API288### Unable to connect to API

288 289 


302**Was zu tun ist:**303**Was zu tun ist:**

303 304 

304* Bestätigen Sie, dass Sie den API-Host aus der gleichen Shell erreichen können, indem Sie `curl -I https://api.anthropic.com` ausführen. Verwenden Sie auf Windows PowerShell `curl.exe -I https://api.anthropic.com`, damit der integrierte `Invoke-WebRequest`-Alias nicht verwendet wird.305* Bestätigen Sie, dass Sie den API-Host aus der gleichen Shell erreichen können, indem Sie `curl -I https://api.anthropic.com` ausführen. Verwenden Sie auf Windows PowerShell `curl.exe -I https://api.anthropic.com`, damit der integrierte `Invoke-WebRequest`-Alias nicht verwendet wird.

305* Wenn Sie hinter einem Unternehmens-Proxy sind, setzen Sie `HTTPS_PROXY`, bevor Sie Claude Code starten, und siehe [Network configuration](/de/network-config)306* Wenn Sie hinter einem Unternehmens-Proxy sind, setzen Sie `HTTPS_PROXY`, bevor Sie Claude Code starten, und siehe [Netzwerkkonfiguration](/de/network-config)

306* Wenn Sie durch ein LLM-Gateway oder Relay leiten, setzen Sie [`ANTHROPIC_BASE_URL`](/de/env-vars) auf seine Adresse. Siehe [LLM gateway configuration](/de/llm-gateway) für die Einrichtung.307* Wenn Sie durch ein LLM-Gateway oder Relay leiten, setzen Sie [`ANTHROPIC_BASE_URL`](/de/env-vars) auf seine Adresse. Siehe [LLM-Gateway-Konfiguration](/de/llm-gateway) für die Einrichtung.

307* Stellen Sie sicher, dass Ihre Firewall die in [Network access requirements](/de/network-config#network-access-requirements) aufgelisteten Hosts zulässt308* Stellen Sie sicher, dass Ihre Firewall die in [Netzwerkzugriffsanforderungen](/de/network-config#network-access-requirements) aufgelisteten Hosts zulässt

308* Vorübergehende Fehler werden [automatisch wiederholt](#automatic-retries); anhaltende Fehler deuten auf ein lokales Netzwerkproblem hin309* Vorübergehende Fehler werden [automatisch wiederholt](#automatic-retries); anhaltende Fehler deuten auf ein lokales Netzwerkproblem hin

309 310 

310Wenn `curl` erfolgreich ist, aber Claude Code immer noch fehlschlägt, ist die Ursache normalerweise etwas zwischen Node.js und dem Netzwerk und nicht das Netzwerk selbst:311Wenn `curl` erfolgreich ist, aber Claude Code immer noch fehlschlägt, ist die Ursache normalerweise etwas zwischen der Laufzeit und dem Netzwerk und nicht das Netzwerk selbst:

311 312 

312* Überprüfen Sie auf Linux und WSL `/etc/resolv.conf` auf einen unerreichbaren Nameserver. WSL kann insbesondere einen fehlerhaften Resolver vom Host erben.313* Überprüfen Sie auf Linux und WSL `/etc/resolv.conf` auf einen unerreichbaren Nameserver. WSL kann insbesondere einen fehlerhaften Resolver vom Host erben.

313* Auf macOS kann ein VPN-Client, der getrennt oder deinstalliert wurde, eine Tunnel-Schnittstelle oder Routing-Regel hinterlassen. Überprüfen Sie `ifconfig` auf verwaiste `utun`-Schnittstellen und entfernen Sie die Netzwerkerweiterung des VPN in den Systemeinstellungen.314* Auf macOS kann ein VPN-Client, der getrennt oder deinstalliert wurde, eine Tunnel-Schnittstelle oder Routing-Regel hinterlassen. Überprüfen Sie `ifconfig` auf verwaiste `utun`-Schnittstellen und entfernen Sie die Netzwerkerweiterung des VPN in den Systemeinstellungen.


315 316 

316### SSL certificate errors317### SSL certificate errors

317 318 

318Ein Proxy oder Sicherheitsgerät in Ihrem Netzwerk fängt TLS-Datenverkehr mit seinem eigenen Zertifikat ab, und Node.js vertraut ihm nicht.319Ein Proxy oder Sicherheitsgerät in Ihrem Netzwerk fängt TLS-Datenverkehr mit seinem eigenen Zertifikat ab, und Claude Code vertraut ihm nicht.

319 320 

320```text theme={null}321```text theme={null}

321Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates322Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates


324 325 

325**Was zu tun ist:**326**Was zu tun ist:**

326 327 

327* Exportieren Sie das CA-Bundle Ihrer Organisation und zeigen Sie Node mit `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem` darauf328* Exportieren Sie das CA-Bundle Ihrer Organisation und zeigen Sie Claude Code mit `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem` darauf

328* Siehe [Network configuration](/de/network-config#custom-ca-certificates) für vollständige Einrichtungsanweisungen329* Siehe [Netzwerkkonfiguration](/de/network-config#custom-ca-certificates) für vollständige Einrichtungsanweisungen

329* Setzen Sie nicht `NODE_TLS_REJECT_UNAUTHORIZED=0`, was die Zertifikatvalidierung vollständig deaktiviert330* Setzen Sie nicht `NODE_TLS_REJECT_UNAUTHORIZED=0`, was die Zertifikatvalidierung vollständig deaktiviert

330 331 

332### Host not allowed in a cloud session

333 

334Eine ausgehende HTTP-Anfrage von einer Cloud-Sitzung oder Routine wurde durch die Netzwerkrichtlinie der Umgebung blockiert.

335 

336```text theme={null}

337HTTP 403

338x-deny-reason: host_not_allowed

339```

340 

341Möglicherweise wird auch ein TLS-Zertifikat angezeigt, das nicht dem echten Zertifikat des Ziels entspricht. Die Cloud-Umgebung leitet ausgehenden Datenverkehr durch einen Proxy, der die Netzwerkrichtlinie durchsetzt, daher bedeutet ein nicht übereinstimmendes Zertifikat, dass der Proxy die Verbindung beendet hat, nicht das Ziel.

342 

343Dies ist kein clientseitiges Netzwerkproblem. Cloud-Sitzungen und [Routinen](/de/routines) werden in einer Sandbox-Umgebung ausgeführt, deren ausgehender Datenverkehr auf die Zulassungsliste der Umgebung gefiltert wird. Die **Standard**-Umgebung verwendet **Vertrauenswürdigen** Zugriff, der die [Standard-Zulassungsliste](/de/claude-code-on-the-web#default-allowed-domains) von Paketregistern, Cloud-Provider-APIs, Container-Registern und häufigen Entwicklungsdomänen zulässt, aber alles andere blockiert.

344 

345**Was zu tun ist:**

346 

347* Öffnen Sie die Routine zum Bearbeiten, oder starten Sie eine Cloud-Sitzung. Wählen Sie das Cloud-Symbol, das den Namen Ihrer Umgebung anzeigt, z. B. **Standard**, um die Auswahl zu öffnen. Bewegen Sie den Mauszeiger über Ihre Umgebung und klicken Sie auf das Einstellungssymbol.

348* Im Dialog **Cloud-Umgebung aktualisieren** ändern Sie **Netzwerkzugriff** von **Vertrauenswürdig** zu **Benutzerdefiniert**, und fügen Sie dann die blockierte Domain zu **Zulässige Domains** hinzu. Geben Sie eine Domain pro Zeile ein. Aktivieren Sie **Auch Standard-Liste häufiger Paketmanager einschließen**, um die [Standard-Zulassungsliste](/de/claude-code-on-the-web#default-allowed-domains) neben Ihren benutzerdefinierten Domains zu behalten. Wählen Sie stattdessen **Vollständig**, wenn Sie uneingeschränkten Zugriff möchten.

349* Klicken Sie auf **Änderungen speichern**. Der nächste Durchlauf verwendet die aktualisierte Zulassungsliste.

350 

351Siehe [Netzwerkzugriff](/de/claude-code-on-the-web#network-access) für Zugriffsstufen und die Standard-Zulassungsliste. Lokale CLI-Sitzungen sind von dieser Richtlinie nicht betroffen.

352 

331## Anfragefehler353## Anfragefehler

332 354 

333Diese Fehler bedeuten, dass die API Ihre Anfrage erhalten hat, aber ihren Inhalt abgelehnt hat.355Diese Fehler bedeuten, dass die API Ihre Anfrage erhalten hat, aber ihren Inhalt abgelehnt hat.


487**Was zu tun ist:**509**Was zu tun ist:**

488 510 

489* Senken Sie `MAX_THINKING_TOKENS`, oder erhöhen Sie [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/de/env-vars) über das Thinking-Budget511* Senken Sie `MAX_THINKING_TOKENS`, oder erhöhen Sie [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/de/env-vars) über das Thinking-Budget

490* Siehe [Extended thinking](/de/common-workflows#use-extended-thinking-thinking-mode) für die Interaktion des Budgets mit der Ausgabelänge512* Siehe [Extended thinking](/de/model-config#extended-thinking) für wie das Budget mit der Ausgabelänge interagiert

491 513 

492### Tool use or thinking block mismatch514### Tool use or thinking block mismatch

493 515 

Details

219| **Subagents** | Wenn gespawnt | Frischer Kontext mit angegebenen Skills | Isoliert von Hauptsitzung |219| **Subagents** | Wenn gespawnt | Frischer Kontext mit angegebenen Skills | Isoliert von Hauptsitzung |

220| **Hooks** | Bei Auslösung | Nichts (läuft extern) | Null, es sei denn, Hook gibt zusätzlichen Kontext zurück |220| **Hooks** | Bei Auslösung | Nichts (läuft extern) | Null, es sei denn, Hook gibt zusätzlichen Kontext zurück |

221 221 

222\*Standardmäßig werden Skill-Beschreibungen beim Sitzungsstart geladen, damit Claude entscheiden kann, wann sie verwendet werden. Setzen Sie `disable-model-invocation: true` in das Frontmatter eines Skills, um es vollständig vor Claude zu verbergen, bis Sie es manuell aufrufen. Dies reduziert die Kontextkosten auf Null für Skills, die Sie nur selbst auslösen.222\*Standardmäßig werden Skill-Beschreibungen beim Sitzungsstart geladen, damit Claude entscheiden kann, wann sie verwendet werden. Setzen Sie `disable-model-invocation: true` in das Frontmatter eines Skills, um es vollständig vor Claude zu verbergen, bis Sie es manuell aufrufen. Dies reduziert die Kontextkosten auf Null für Skills, die Sie nur selbst auslösen. Für einen Skill, den Sie nicht geschrieben haben, setzen Sie [`skillOverrides`](/de/skills#override-skill-visibility-from-settings) in den Einstellungen, um dasselbe zu tun, ohne die Datei zu bearbeiten.

223 223 

224### Verstehen Sie, wie Funktionen geladen werden224### Verstehen Sie, wie Funktionen geladen werden

225 225 


233 233 

234 **Was lädt:** Vollständiger Inhalt aller CLAUDE.md-Dateien (verwaltet, Benutzer und Projektebenen).234 **Was lädt:** Vollständiger Inhalt aller CLAUDE.md-Dateien (verwaltet, Benutzer und Projektebenen).

235 235 

236 **Vererbung:** Claude liest CLAUDE.md-Dateien aus Ihrem Arbeitsverzeichnis bis zur Wurzel und entdeckt verschachtelte in Unterverzeichnissen, wenn es auf diese Dateien zugreift. Weitere Informationen finden Sie unter [How CLAUDE.md files load](/de/memory#how-claudemd-files-load).236 **Vererbung:** Claude liest CLAUDE.md-Dateien aus Ihrem Arbeitsverzeichnis bis zur Wurzel und entdeckt verschachtelte in Unterverzeichnissen, wenn es auf diese Dateien zugreift. Weitere Informationen finden Sie unter [Wie CLAUDE.md-Dateien geladen werden](/de/memory#how-claude-md-files-load).

237 237 

238 <Tip>Halten Sie CLAUDE.md unter 200 Zeilen. Verschieben Sie Referenzmaterial zu Skills, die On-Demand geladen werden.</Tip>238 <Tip>Halten Sie CLAUDE.md unter 200 Zeilen. Verschieben Sie Referenzmaterial zu Skills, die On-Demand geladen werden.</Tip>

239 </Tab>239 </Tab>

fullscreen.md +10 −2

Details

93 93 

94Ein Wert von `3` entspricht dem Standard in `vim` und ähnlichen Anwendungen. Die Einstellung akzeptiert Werte von 1 bis 20.94Ein Wert von `3` entspricht dem Standard in `vim` und ähnlichen Anwendungen. Die Einstellung akzeptiert Werte von 1 bis 20.

95 95 

96### Scrollen im JetBrains IDE-Terminal

97 

98Im JetBrains IDE-Terminal wendet Claude Code seine eigene Scroll-Verarbeitung an und ignoriert `CLAUDE_CODE_SCROLL_SPEED`. Das Terminal sendet Scroll-Ereignisse mit einer viel höheren Rate als andere Emulatoren, sodass ein anderswo abgestimmter Multiplikator hier zu weit geht.

99 

100In 2025.2 hat das Terminal auch Scroll-Rad-Fehler, die fehlerhafte Pfeiltasten und Ereignisse in der falschen Richtung erzeugen. Claude Code erkennt diese zur Laufzeit und mindert sie automatisch ab, sodass Trackpad- und Mausrad-Scrollen ohne Konfiguration funktionieren. Für das beste Scroll-Erlebnis führen Sie ein Upgrade auf 2025.3 oder später durch. Claude Code zeigt einen Hinweis beim ersten Scrollen an, wenn es den Fehler erkennt.

101 

96## Gespräch durchsuchen und überprüfen102## Gespräch durchsuchen und überprüfen

97 103 

98`Ctrl+o` schaltet zwischen der normalen Eingabeaufforderung und dem Transkript-Modus um. Für eine ruhigere Ansicht, die nur Ihre letzte Eingabeaufforderung, eine einzeilige Zusammenfassung von Tool-Aufrufen mit Edit-Diffstats und die endgültige Antwort zeigt, führen Sie `/focus` aus. Die Einstellung bleibt über Sitzungen hinweg erhalten. Führen Sie `/focus` erneut aus, um es auszuschalten.104`Ctrl+o` schaltet zwischen der normalen Eingabeaufforderung und dem Transkript-Modus um. Für eine ruhigere Ansicht, die nur Ihre letzte Eingabeaufforderung, eine einzeilige Zusammenfassung von Tool-Aufrufen mit Edit-Diffstats und die endgültige Antwort zeigt, führen Sie `/focus` aus. Die Einstellung bleibt über Sitzungen hinweg erhalten. Führen Sie `/focus` erneut aus, um es auszuschalten.


122 128 

123## Mit tmux verwenden129## Mit tmux verwenden

124 130 

125Vollbildrendering funktioniert in tmux mit zwei Einschränkungen.131Vollbildrendering funktioniert in tmux mit drei Einschränkungen.

126 132 

127Das Scrollen mit dem Mausrad erfordert tmux-Mausmodus. Wenn Ihre `~/.tmux.conf` ihn nicht bereits aktiviert, fügen Sie diese Zeile hinzu und laden Sie Ihre Konfiguration neu:133Das Scrollen mit dem Mausrad erfordert tmux-Mausmodus. Wenn Ihre `~/.tmux.conf` ihn nicht bereits aktiviert, fügen Sie diese Zeile hinzu und laden Sie Ihre Konfiguration neu:

128 134 


134 140 

135Vollbildrendering ist nicht kompatibel mit iTerm2s tmux-Integrationsmodus, das ist der Modus, den Sie mit `tmux -CC` aktivieren. Im Integrationsmodus rendert iTerm2 jeden tmux-Bereich als natives Split, anstatt tmux auf dem Terminal zeichnen zu lassen. Der alternative Bildschirmpuffer und die Mausverfolgung funktionieren dort nicht korrekt: das Mausrad tut nichts, und Doppelklick kann den Terminal-Status beschädigen. Aktivieren Sie Vollbildrendering nicht in `tmux -CC` Sitzungen. Reguläres tmux in iTerm2 ohne `-CC` funktioniert einwandfrei.141Vollbildrendering ist nicht kompatibel mit iTerm2s tmux-Integrationsmodus, das ist der Modus, den Sie mit `tmux -CC` aktivieren. Im Integrationsmodus rendert iTerm2 jeden tmux-Bereich als natives Split, anstatt tmux auf dem Terminal zeichnen zu lassen. Der alternative Bildschirmpuffer und die Mausverfolgung funktionieren dort nicht korrekt: das Mausrad tut nichts, und Doppelklick kann den Terminal-Status beschädigen. Aktivieren Sie Vollbildrendering nicht in `tmux -CC` Sitzungen. Reguläres tmux in iTerm2 ohne `-CC` funktioniert einwandfrei.

136 142 

143tmux unterstützt keine synchronisierte Ausgabe, daher können Sie während Neuzeichnungen mehr Flimmern sehen als beim direkten Ausführen von Claude Code in Ihrem Terminal. Wenn das Flimmern besonders über SSH auffällig ist, führen Sie Claude Code in seiner eigenen Terminal-Registerkarte außerhalb von tmux aus.

144 

137## Native Textauswahl beibehalten145## Native Textauswahl beibehalten

138 146 

139Die Mauserfassung ist der häufigste Reibungspunkt, besonders über SSH oder in tmux. Wenn Claude Code Mausereignisse erfasst, funktioniert die native Kopieren-beim-Auswählen Ihres Terminals nicht mehr. Die Auswahl, die Sie mit Klicken und Ziehen treffen, existiert in Claude Code, nicht in Ihrem Terminal-Auswahlpuffer, sodass tmux-Kopiermodus, Kitty-Hinweise und ähnliche Tools sie nicht sehen.147Die Mauserfassung ist der häufigste Reibungspunkt, besonders über SSH oder in tmux. Wenn Claude Code Mausereignisse erfasst, funktioniert die native Kopieren-beim-Auswählen Ihres Terminals nicht mehr. Die Auswahl, die Sie mit Klicken und Ziehen treffen, existiert in Claude Code, nicht in Ihrem Terminal-Auswahlpuffer, sodass tmux-Kopiermodus, Kitty-Hinweise und ähnliche Tools sie nicht sehen.


156 164 

157Wenn Sie auf ein Problem stoßen, führen Sie `/feedback` in Claude Code aus, um es zu melden, oder öffnen Sie ein Problem im [claude-code GitHub-Repository](https://github.com/anthropics/claude-code/issues). Geben Sie Ihren Terminal-Emulator-Namen und die Version an.165Wenn Sie auf ein Problem stoßen, führen Sie `/feedback` in Claude Code aus, um es zu melden, oder öffnen Sie ein Problem im [claude-code GitHub-Repository](https://github.com/anthropics/claude-code/issues). Geben Sie Ihren Terminal-Emulator-Namen und die Version an.

158 166 

159Um Vollbildrendering auszuschalten, führen Sie `/tui default` aus, oder heben Sie die Umgebungsvariable auf, wenn Sie sie auf diese Weise aktiviert haben.167Um Vollbildrendering auszuschalten, führen Sie `/tui default` aus, oder heben Sie `CLAUDE_CODE_NO_FLICKER` auf, wenn Sie es auf diese Weise aktiviert haben. Um den klassischen Renderer unabhängig von der gespeicherten `tui`-Einstellung zu erzwingen, setzen Sie `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`. Der klassische Renderer behält die Konversation im nativen Scrollback Ihres Terminals bei, sodass `Cmd+f` und der tmux-Kopiermodus wie gewohnt funktionieren.

Details

266Claude Code v2.1.121 oder später unterstützt [X.509-zertifikatbasierte Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation-with-x509-certificates) über die gleiche Application Default Credentials-Kette. Legen Sie `GOOGLE_APPLICATION_CREDENTIALS` auf den Pfad Ihrer Anmeldedaten-Konfigurationsdatei fest.266Claude Code v2.1.121 oder später unterstützt [X.509-zertifikatbasierte Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation-with-x509-certificates) über die gleiche Application Default Credentials-Kette. Legen Sie `GOOGLE_APPLICATION_CREDENTIALS` auf den Pfad Ihrer Anmeldedaten-Konfigurationsdatei fest.

267 267 

268<Note>268<Note>

269 Bei der Authentifizierung verwendet Claude Code automatisch die Projekt-ID aus der Umgebungsvariablen `ANTHROPIC_VERTEX_PROJECT_ID`. Um dies zu überschreiben, legen Sie eine dieser Umgebungsvariablen fest: `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` oder `GOOGLE_APPLICATION_CREDENTIALS`.269 Claude Code verwendet `ANTHROPIC_VERTEX_PROJECT_ID` als die Projekt-ID für Vertex AI-Anfragen. Die Umgebungsvariablen `GCLOUD_PROJECT` und `GOOGLE_CLOUD_PROJECT` sowie die Anmeldedatei, auf die `GOOGLE_APPLICATION_CREDENTIALS` verweist, haben Vorrang vor ihr. Wenn keine dieser Optionen gesetzt sind, wird die Projekt-ID aus Ihrer `gcloud`-Konfiguration oder dem angehängten Service-Konto aufgelöst.

270</Note>270</Note>

271 271 

272#### Erweiterte Anmeldedaten-Konfiguration

273 

274Claude Code unterstützt die automatische Aktualisierung von Anmeldedaten für GCP über die Einstellung `gcpAuthRefresh`. Wenn Claude Code erkennt, dass Ihre GCP-Anmeldedaten abgelaufen sind oder nicht geladen werden können, führt es den konfigurierten Befehl aus, um neue Anmeldedaten zu erhalten, bevor die Anfrage erneut versucht wird.

275 

276```json theme={null}

277{

278 "gcpAuthRefresh": "gcloud auth application-default login",

279 "env": {

280 "ANTHROPIC_VERTEX_PROJECT_ID": "your-project-id"

281 }

282}

283```

284 

285Die Ausgabe des Befehls wird dem Benutzer angezeigt, aber interaktive Eingaben werden nicht unterstützt. Dies funktioniert gut für browserbasierte Authentifizierungsabläufe, bei denen die CLI eine URL anzeigt und Sie die Authentifizierung im Browser abschließen. Der Aktualisierungsbefehl läuft nach drei Minuten ab, wenn die Authentifizierung nicht abgeschlossen ist. Wenn Sie `gcpAuthRefresh` in Projekteinstellungen wie `.claude/settings.json` festlegen, wird der Befehl nur ausgeführt, nachdem Sie die Workspace-Vertrauensaufforderung akzeptiert haben.

286 

272### 4. Konfigurieren Sie Claude Code287### 4. Konfigurieren Sie Claude Code

273 288 

274Legen Sie die folgenden Umgebungsvariablen fest:289Legen Sie die folgenden Umgebungsvariablen fest:


363 378 

364## Fehlerbehebung379## Fehlerbehebung

365 380 

381Wenn Sie auf Fehler „Could not load the default credentials" stoßen:

382 

383* Führen Sie `gcloud auth application-default login` aus, um Application Default Credentials einzurichten

384* Setzen Sie `GOOGLE_APPLICATION_CREDENTIALS` auf einen Pfad zu einer Service-Account-Schlüsseldatei

385* Siehe [GCP-Anmeldedaten konfigurieren](#3-configure-gcp-credentials) für alle Optionen

386 

366Wenn Sie auf Kontingentprobleme stoßen:387Wenn Sie auf Kontingentprobleme stoßen:

367 388 

368* Überprüfen Sie aktuelle Kontingente oder fordern Sie eine Kontingenterhöhung über die [Cloud Console](https://cloud.google.com/docs/quotas/view-manage) an389* Überprüfen Sie aktuelle Kontingente oder fordern Sie eine Kontingenterhöhung über die [Cloud Console](https://cloud.google.com/docs/quotas/view-manage) an

headless.md +33 −3

Details

54| Einstellungen | `--settings <file-or-json>` |54| Einstellungen | `--settings <file-or-json>` |

55| MCP-Server | `--mcp-config <file-or-json>` |55| MCP-Server | `--mcp-config <file-or-json>` |

56| Benutzerdefinierte Agenten | `--agents <json>` |56| Benutzerdefinierte Agenten | `--agents <json>` |

57| Ein Plugin-Verzeichnis | `--plugin-dir <path>` |57| Ein Plugin | `--plugin-dir <path>`, `--plugin-url <url>` |

58 58 

59Der Bare-Modus überspringt OAuth und Keychain-Lesevorgänge. Die Anthropic-Authentifizierung muss von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` in der an `--settings` übergebenen JSON stammen. Bedrock, Vertex und Foundry verwenden ihre üblichen Anmeldedaten des Anbieters.59Der Bare-Modus überspringt OAuth und Keychain-Lesevorgänge. Die Anthropic-Authentifizierung muss von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` in der an `--settings` übergebenen JSON stammen. Bedrock, Vertex und Foundry verwenden ihre üblichen Anmeldedaten des Anbieters.

60 60 


66 66 

67Diese Beispiele zeigen häufige CLI-Muster. Für CI und andere skriptgesteuerte Aufrufe fügen Sie [`--bare`](#start-faster-with-bare-mode) hinzu, damit sie nicht abhängig von lokalen Konfigurationen sind.67Diese Beispiele zeigen häufige CLI-Muster. Für CI und andere skriptgesteuerte Aufrufe fügen Sie [`--bare`](#start-faster-with-bare-mode) hinzu, damit sie nicht abhängig von lokalen Konfigurationen sind.

68 68 

69### Daten durch Claude leiten

70 

71Der nicht-interaktive Modus liest stdin, sodass Sie Daten wie bei jedem anderen Befehlszeilentool einleiten und die Antwort umleiten können.

72 

73Dieses Beispiel leitet ein Build-Protokoll in Claude ein und schreibt die Erklärung in eine Datei:

74 

75```bash theme={null}

76cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

77```

78 

79Mit `--output-format json` enthält die Antwort-Payload `total_cost_usd` und eine Kostenaufschlüsselung pro Modell, sodass skriptgesteuerte Aufrufer die Ausgaben pro Aufruf verfolgen können, ohne das [Nutzungs-Dashboard](/de/costs) zu konsultieren.

80 

81<Note>

82 Ab Claude Code v2.1.128 ist eingeleiter stdin auf 10 MB begrenzt. Wenn Sie die Grenze überschreiten, beendet sich Claude Code mit einer klaren Fehlermeldung und einem Nicht-Null-Status. Um mit größeren Eingaben zu arbeiten, schreiben Sie den Inhalt in eine Datei und verweisen Sie auf den Dateipfad in Ihrer Eingabeaufforderung, anstatt ihn einzuleiten.

83</Note>

84 

85### Claude zu einem Build-Skript hinzufügen

86 

87Sie können einen nicht-interaktiven Aufruf in einem Skript einbinden, um Claude als projektspezifischen Linter oder Reviewer zu verwenden.

88 

89Dieses `package.json`-Skript leitet den Diff gegen `main` in Claude ein und fordert ihn auf, Tippfehler zu melden. Das Einleiten des Diff bedeutet, dass Claude keine Bash-Berechtigung zum Lesen benötigt, und die maskierten doppelten Anführungszeichen halten das Skript portabel zu Windows:

90 

91```json theme={null}

92{

93 "scripts": {

94 "lint:claude": "git diff main | claude -p \"you are a typo linter. for each typo in this diff, report filename:line on one line and the issue on the next. return nothing else.\""

95 }

96}

97```

98 

69### Strukturierte Ausgabe abrufen99### Strukturierte Ausgabe abrufen

70 100 

71Verwenden Sie `--output-format`, um zu steuern, wie Antworten zurückgegeben werden:101Verwenden Sie `--output-format`, um zu steuern, wie Antworten zurückgegeben werden:


137Das `system/init`-Ereignis meldet Sitzungsmetadaten einschließlich des Modells, Tools, MCP-Server und geladener Plugins. Es ist das erste Ereignis im Stream, es sei denn, [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/de/env-vars) ist gesetzt. In diesem Fall gehen `plugin_install`-Ereignisse voraus. Verwenden Sie die Plugin-Felder, um CI fehlschlagen zu lassen, wenn ein Plugin nicht geladen wurde:167Das `system/init`-Ereignis meldet Sitzungsmetadaten einschließlich des Modells, Tools, MCP-Server und geladener Plugins. Es ist das erste Ereignis im Stream, es sei denn, [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/de/env-vars) ist gesetzt. In diesem Fall gehen `plugin_install`-Ereignisse voraus. Verwenden Sie die Plugin-Felder, um CI fehlschlagen zu lassen, wenn ein Plugin nicht geladen wurde:

138 168 

139| Feld | Typ | Beschreibung |169| Feld | Typ | Beschreibung |

140| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |170| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

141| `plugins` | Array | Plugins, die erfolgreich geladen wurden, jeweils mit `name` und `path` |171| `plugins` | Array | Plugins, die erfolgreich geladen wurden, jeweils mit `name` und `path` |

142| `plugin_errors` | Array | Plugin-Ladefehler wie eine nicht erfüllte Abhängigkeitsversion, jeweils mit `plugin`, `type` und `message`. Betroffene Plugins werden herabgestuft und fehlen in `plugins`. Der Schlüssel wird weggelassen, wenn es keine Fehler gibt |172| `plugin_errors` | Array | Plugin-Ladefehler, jeweils mit `plugin`, `type` und `message`. Umfasst nicht erfüllte Abhängigkeitsversionen und `--plugin-dir`-Ladefehler wie einen fehlenden Pfad oder ein ungültiges Archiv. Betroffene Plugins werden herabgestuft und fehlen in `plugins`. Der Schlüssel wird weggelassen, wenn es keine Fehler gibt |

143 173 

144Wenn [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/de/env-vars) gesetzt ist, gibt Claude Code `system/plugin_install`-Ereignisse aus, während Marketplace-Plugins vor dem ersten Zug installiert werden. Verwenden Sie diese, um Installationsfortschritt in Ihrer eigenen Benutzeroberfläche anzuzeigen.174Wenn [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/de/env-vars) gesetzt ist, gibt Claude Code `system/plugin_install`-Ereignisse aus, während Marketplace-Plugins vor dem ersten Zug installiert werden. Verwenden Sie diese, um Installationsfortschritt in Ihrer eigenen Benutzeroberfläche anzuzeigen.

145 175 

Details

94 94 

95## Mit Sitzungen arbeiten95## Mit Sitzungen arbeiten

96 96 

97Claude Code speichert Ihre Konversation lokal, während Sie arbeiten. Jede Nachricht, Tool-Nutzung und jedes Ergebnis wird gespeichert, was [Zurückspulen](#undo-changes-with-checkpoints), [Fortsetzen und Verzweigen](#resume-or-fork-sessions) von Sitzungen ermöglicht. Bevor Claude Code-Änderungen vornimmt, erstellt er auch einen Snapshot der betroffenen Dateien, damit Sie bei Bedarf zurückrollen können.97Claude Code speichert Ihre Konversation lokal, während Sie arbeiten. Jede Nachricht, Tool-Nutzung und jedes Ergebnis wird in einer Klartextdatei im JSONL-Format unter `~/.claude/projects/` geschrieben, was [Zurückspulen](#undo-changes-with-checkpoints), [Fortsetzen und Verzweigen](#resume-or-fork-sessions) von Sitzungen ermöglicht. Bevor Claude Code-Änderungen vornimmt, erstellt er auch einen Snapshot der betroffenen Dateien, damit Sie bei Bedarf zurückrollen können. Für Pfade, Aufbewahrung und wie Sie diese Daten löschen, siehe [Anwendungsdaten in `~/.claude`](/de/claude-directory#application-data).

98 98 

99**Sitzungen sind unabhängig.** Jede neue Sitzung beginnt mit einem frischen Kontextfenster, ohne die Konversationshistorie aus vorherigen Sitzungen. Claude kann Erkenntnisse über Sitzungen hinweg mit [Auto-Speicher](/de/memory#auto-memory) beibehalten, und Sie können Ihre eigenen persistenten Anweisungen in [CLAUDE.md](/de/memory) hinzufügen.99**Sitzungen sind unabhängig.** Jede neue Sitzung beginnt mit einem frischen Kontextfenster, ohne die Konversationshistorie aus vorherigen Sitzungen. Claude kann Erkenntnisse über Sitzungen hinweg mit [Auto-Speicher](/de/memory#auto-memory) beibehalten, und Sie können Ihre eigenen persistenten Anweisungen in [CLAUDE.md](/de/memory) hinzufügen.

100 100 

101### Über Branches arbeiten101### Über Branches arbeiten

102 102 

103Jede Claude Code-Konversation ist eine Sitzung, die an Ihr aktuelles Verzeichnis gebunden ist. Wenn Sie fortsetzen, sehen Sie nur Sitzungen aus diesem Verzeichnis.103Jede Claude Code-Konversation ist eine Sitzung, die an Ihr aktuelles Verzeichnis gebunden ist. Die `/resume`-Auswahl zeigt standardmäßig Sitzungen aus dem aktuellen Worktree an, mit Tastaturkürzeln zum Erweitern der Liste auf andere Worktrees oder Projekte. Siehe [Sitzungen verwalten](/de/sessions#use-the-session-picker) für die vollständige Liste der Auswahl-Tastaturkürzeln und wie die Namensauflösung funktioniert.

104 104 

105Claude sieht die Dateien Ihres aktuellen Branches. Wenn Sie Branches wechseln, sieht Claude die Dateien des neuen Branches, aber Ihre Konversationshistorie bleibt gleich. Claude erinnert sich an das, was Sie besprochen haben, auch nach dem Wechsel.105Claude sieht die Dateien Ihres aktuellen Branches. Wenn Sie Branches wechseln, sieht Claude die Dateien des neuen Branches, aber Ihre Konversationshistorie bleibt gleich. Claude erinnert sich an das, was Sie besprochen haben, auch nach dem Wechsel.

106 106 

107Da Sitzungen an Verzeichnisse gebunden sind, können Sie parallele Claude-Sitzungen ausführen, indem Sie [git worktrees](/de/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees) verwenden, die separate Verzeichnisse für einzelne Branches erstellen.107Da Sitzungen an Verzeichnisse gebunden sind, können Sie parallele Claude-Sitzungen ausführen, indem Sie [git worktrees](/de/worktrees) verwenden, die separate Verzeichnisse für einzelne Branches erstellen.

108 108 

109### Sitzungen fortsetzen oder verzweigen109### Sitzungen fortsetzen oder verzweigen

110 110 

111Wenn Sie eine Sitzung mit `claude --continue` oder `claude --resume` fortsetzen, setzen Sie dort fort, wo Sie aufgehört haben, mit derselben Sitzungs-ID. Neue Nachrichten werden an die bestehende Konversation angehängt. Ihre vollständige Konversationshistorie wird wiederhergestellt, aber sitzungsspezifische Berechtigungen nicht. Sie müssen diese erneut genehmigen.111Wenn Sie eine Sitzung mit `claude --continue` oder `claude --resume` fortsetzen, setzen Sie diese unter derselben Sitzungs-ID fort und hängen neue Nachrichten an die bestehende Konversation an. Wenn Sie mit `--fork-session` oder `/branch` verzweigen, wird die Historie in eine neue Sitzungs-ID kopiert, wobei die ursprüngliche unverändert bleibt.

112 112 

113<img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/session-continuity.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=fa41d12bfb57579cabfeece907151d30" alt="Sitzungskontinuität: Fortsetzen setzt dieselbe Sitzung fort, Verzweigung erstellt einen neuen Branch mit einer neuen ID." width="560" height="280" data-path="images/session-continuity.svg" />113<img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/session-continuity.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=fa41d12bfb57579cabfeece907151d30" alt="Sitzungskontinuität: Fortsetzen setzt dieselbe Sitzung fort, Verzweigung erstellt einen neuen Branch mit einer neuen ID." width="560" height="280" data-path="images/session-continuity.svg" />

114 114 

115Um abzuzweigen und einen anderen Ansatz zu versuchen, ohne die ursprüngliche Sitzung zu beeinflussen, verwenden Sie das Flag `--fork-session`:115Für die Fortsetzen-Flags, die `/resume`-Auswahl, Benennung und was passiert, wenn dieselbe Sitzung in zwei Terminals offen ist, siehe [Sitzungen verwalten](/de/sessions).

116 

117```bash theme={null}

118claude --continue --fork-session

119```

120 

121Dies erstellt eine neue Sitzungs-ID, während die Konversationshistorie bis zu diesem Punkt beibehalten wird. Die ursprüngliche Sitzung bleibt unverändert. Wie beim Fortsetzen erben verzweigte Sitzungen keine sitzungsspezifischen Berechtigungen.

122 

123**Dieselbe Sitzung in mehreren Terminals**: Wenn Sie dieselbe Sitzung in mehreren Terminals fortsetzen, schreiben beide Terminals in dieselbe Sitzungsdatei. Nachrichten von beiden werden verschachtelt, wie zwei Personen, die in dasselbe Notizbuch schreiben. Nichts wird beschädigt, aber die Konversation wird durcheinander. Jedes Terminal sieht nur seine eigenen Nachrichten während der Sitzung, aber wenn Sie diese Sitzung später fortsetzen, sehen Sie alles verschachtelt. Für parallele Arbeit vom selben Ausgangspunkt verwenden Sie `--fork-session`, um jedem Terminal seine eigene saubere Sitzung zu geben.

124 116 

125### Das Kontextfenster117### Das Kontextfenster

126 118 


134 126 

135Um zu kontrollieren, was während der Komprimierung beibehalten wird, fügen Sie einen Abschnitt „Compact Instructions" zu CLAUDE.md hinzu oder führen Sie `/compact` mit einem Fokus aus (wie `/compact focus on the API changes`).127Um zu kontrollieren, was während der Komprimierung beibehalten wird, fügen Sie einen Abschnitt „Compact Instructions" zu CLAUDE.md hinzu oder führen Sie `/compact` mit einem Fokus aus (wie `/compact focus on the API changes`).

136 128 

129Wenn eine einzelne Datei oder Tool-Ausgabe so groß ist, dass sich der Kontext unmittelbar nach jeder Zusammenfassung wieder füllt, stoppt Claude Code die automatische Komprimierung nach einigen Versuchen und zeigt stattdessen einen Fehler an. Siehe [Auto-Komprimierung stoppt mit einem Thrashing-Fehler](/de/troubleshooting#auto-compaction-stops-with-a-thrashing-error) für Wiederherstellungsschritte.

130 

137Führen Sie `/context` aus, um zu sehen, was Platz verbraucht. MCP-Tool-Definitionen werden standardmäßig aufgeschoben und bei Bedarf über [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) geladen, daher verbrauchen nur Tool-Namen Kontext, bis Claude ein bestimmtes Tool verwendet. Führen Sie `/mcp` aus, um die Kosten pro Server zu überprüfen.131Führen Sie `/context` aus, um zu sehen, was Platz verbraucht. MCP-Tool-Definitionen werden standardmäßig aufgeschoben und bei Bedarf über [Tool-Suche](/de/mcp#scale-with-mcp-tool-search) geladen, daher verbrauchen nur Tool-Namen Kontext, bis Claude ein bestimmtes Tool verwendet. Führen Sie `/mcp` aus, um die Kosten pro Server zu überprüfen.

138 132 

139#### Kontext mit skills und subagents verwalten133#### Kontext mit skills und subagents verwalten

140 134 

141Über die Komprimierung hinaus können Sie andere Funktionen verwenden, um zu kontrollieren, was in den Kontext geladen wird.135Über die Komprimierung hinaus können Sie andere Funktionen verwenden, um zu kontrollieren, was in den Kontext geladen wird.

142 136 

143[Skills](/de/skills) werden bei Bedarf geladen. Claude sieht Skill-Beschreibungen zu Sitzungsbeginn, aber der vollständige Inhalt wird nur geladen, wenn ein Skill verwendet wird. Für Skills, die Sie manuell aufrufen, setzen Sie `disable-model-invocation: true`, um Beschreibungen aus dem Kontext zu halten, bis Sie sie benötigen.137[Skills](/de/skills) werden bei Bedarf geladen. Claude sieht Skill-Beschreibungen zu Sitzungsbeginn, aber der vollständige Inhalt wird nur geladen, wenn ein Skill verwendet wird. Für Skills, die Sie manuell aufrufen, setzen Sie `disable-model-invocation: true`, um Beschreibungen aus dem Kontext zu halten, bis Sie sie benötigen. Für Skills, die Sie nicht geschrieben haben, verwenden Sie [`skillOverrides`](/de/skills#override-skill-visibility-from-settings), um dasselbe aus den Einstellungen zu tun.

144 138 

145[Subagents](/de/sub-agents) erhalten ihren eigenen frischen Kontext, völlig getrennt von Ihrer Hauptkonversation. Ihre Arbeit bläht Ihren Kontext nicht auf. Wenn sie fertig sind, geben sie eine Zusammenfassung zurück. Diese Isolation ist der Grund, warum subagents bei langen Sitzungen helfen.139[Subagents](/de/sub-agents) erhalten ihren eigenen frischen Kontext, völlig getrennt von Ihrer Hauptkonversation. Ihre Arbeit bläht Ihren Kontext nicht auf. Wenn sie fertig sind, geben sie eine Zusammenfassung zurück. Diese Isolation ist der Grund, warum subagents bei langen Sitzungen helfen.

146 140 


161Drücken Sie `Shift+Tab`, um durch die Berechtigungsmodi zu wechseln:155Drücken Sie `Shift+Tab`, um durch die Berechtigungsmodi zu wechseln:

162 156 

163* **Standard**: Claude fragt vor Dateibearbeitungen und Shell-Befehlen157* **Standard**: Claude fragt vor Dateibearbeitungen und Shell-Befehlen

164* **Auto-accept edits**: Claude bearbeitet Dateien ohne zu fragen, fragt aber immer noch nach Befehlen158* **Auto-accept edits**: Claude bearbeitet Dateien und führt häufige Dateisystem-Befehle wie `mkdir` und `mv` ohne Nachfrage aus, fragt aber immer noch nach anderen Befehlen

165* **Plan Mode**: Claude verwendet nur schreibgeschützte Tools und erstellt einen Plan, den Sie vor der Ausführung genehmigen können159* **Plan Mode**: Claude verwendet nur schreibgeschützte Tools und erstellt einen Plan, den Sie vor der Ausführung genehmigen können

166* **Auto Mode**: Claude bewertet alle Aktionen mit Hintergrund-Sicherheitsprüfungen. Derzeit eine Forschungsvorschau160* **Auto Mode**: Claude bewertet alle Aktionen mit Hintergrund-Sicherheitsprüfungen. Derzeit eine Forschungsvorschau

167 161 

Details

11<Note>11<Note>

12 Tastaturkürzel können je nach Plattform und Terminal variieren. Drücken Sie `?`, um die verfügbaren Kürzel für Ihre Umgebung anzuzeigen.12 Tastaturkürzel können je nach Plattform und Terminal variieren. Drücken Sie `?`, um die verfügbaren Kürzel für Ihre Umgebung anzuzeigen.

13 13 

14 **macOS-Benutzer**: Option/Alt-Tastenkürzel (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`, `Alt+T`) erfordern die Konfiguration von Option als Meta in Ihrem Terminal:14 **macOS-Benutzer**: Option/Alt-Tastenkürzel (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`) erfordern die Konfiguration von Option als Meta in Ihrem Terminal:

15 15 

16 * **iTerm2**: Einstellungen → Profile → Keys → General → Left/Right Option key auf „Esc+" setzen16 * **iTerm2**: Einstellungen → Profile → Keys → General → Left/Right Option key auf „Esc+" setzen

17 * **Apple Terminal**: Einstellungen → Profile → Keyboard → „Use Option as Meta Key" aktivieren17 * **Apple Terminal**: Einstellungen → Profile → Keyboard → „Use Option as Meta Key" aktivieren


39| `Esc` + `Esc` | Zurückspulen oder zusammenfassen | Stellen Sie Code und/oder Gespräch auf einen vorherigen Punkt wieder her, oder fassen Sie ab einer ausgewählten Nachricht zusammen |39| `Esc` + `Esc` | Zurückspulen oder zusammenfassen | Stellen Sie Code und/oder Gespräch auf einen vorherigen Punkt wieder her, oder fassen Sie ab einer ausgewählten Nachricht zusammen |

40| `Shift+Tab` oder `Alt+M` (einige Konfigurationen) | Berechtigungsmodi umschalten | Wechseln Sie zwischen `default`, `acceptEdits`, `plan` und allen Modi, die Sie aktiviert haben, z. B. `auto` oder `bypassPermissions`. Siehe [Berechtigungsmodi](/de/permission-modes). |40| `Shift+Tab` oder `Alt+M` (einige Konfigurationen) | Berechtigungsmodi umschalten | Wechseln Sie zwischen `default`, `acceptEdits`, `plan` und allen Modi, die Sie aktiviert haben, z. B. `auto` oder `bypassPermissions`. Siehe [Berechtigungsmodi](/de/permission-modes). |

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

42| `Option+T` (macOS) oder `Alt+T` (Windows/Linux) | Extended Thinking umschalten | Aktivieren oder deaktivieren Sie den Extended Thinking-Modus. Konfigurieren Sie auf macOS Ihr Terminal, um Option als Meta zu senden, damit dieses Kürzel funktioniert |42| `Option+T` (macOS) oder `Alt+T` (Windows/Linux) | Extended Thinking umschalten | Aktivieren oder deaktivieren Sie den Extended Thinking-Modus. {/* min-version: 2.1.132 */}Ab v2.1.132 funktioniert dieses Kürzel auf macOS ohne Konfiguration von Option als Meta |

43| `Option+O` (macOS) oder `Alt+O` (Windows/Linux) | Schnellmodus umschalten | Aktivieren oder deaktivieren Sie den [Schnellmodus](/de/fast-mode) |43| `Option+O` (macOS) oder `Alt+O` (Windows/Linux) | Schnellmodus umschalten | Aktivieren oder deaktivieren Sie den [Schnellmodus](/de/fast-mode) |

44 44 

45### Textbearbeitung45### Textbearbeitung


68| :--------------- | :-------------- | :--------------------------------------------------------------------------------------------------------- |68| :--------------- | :-------------- | :--------------------------------------------------------------------------------------------------------- |

69| Schneller Escape | `\` + `Enter` | Funktioniert in allen Terminals |69| Schneller Escape | `\` + `Enter` | Funktioniert in allen Terminals |

70| Option-Taste | `Option+Enter` | Nach Aktivierung von [Option als Meta](/de/terminal-config#enable-option-key-shortcuts-on-macos) auf macOS |70| Option-Taste | `Option+Enter` | Nach Aktivierung von [Option als Meta](/de/terminal-config#enable-option-key-shortcuts-on-macos) auf macOS |

71| Shift+Enter | `Shift+Enter` | Nativ in iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal |71| Shift+Enter | `Shift+Enter` | Nativ in iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal |

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

73| Einfügemodus | Direkt einfügen | Für Code-Blöcke, Protokolle |73| Einfügemodus | Direkt einfügen | Für Code-Blöcke, Protokolle |

74 74 

75<Tip>75<Tip>

76 Shift+Enter funktioniert ohne Konfiguration in iTerm2, WezTerm, Ghostty, Kitty, Warp und Apple Terminal. Für VS Code, Cursor, Windsurf, Alacritty und Zed führen Sie `/terminal-setup` aus, um die Bindung zu installieren.76 Shift+Enter funktioniert ohne Konfiguration in iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal und Windows Terminal. Für VS Code, Cursor, Windsurf, Alacritty und Zed führen Sie `/terminal-setup` aus, um die Bindung zu installieren.

77</Tip>77</Tip>

78 78 

79### Schnellbefehle79### Schnellbefehle


81| Kürzel | Beschreibung | Notizen |81| Kürzel | Beschreibung | Notizen |

82| :------------ | :------------------ | :----------------------------------------------------------------------------------- |82| :------------ | :------------------ | :----------------------------------------------------------------------------------- |

83| `/` am Anfang | Befehl oder Skill | Siehe [Befehle](#commands) und [Skills](/de/skills) |83| `/` am Anfang | Befehl oder Skill | Siehe [Befehle](#commands) und [Skills](/de/skills) |

84| `!` am Anfang | Bash-Modus | Führen Sie Befehle direkt aus und fügen Sie die Ausführungsausgabe zur Sitzung hinzu |84| `!` am Anfang | Shell-Modus | Führen Sie Befehle direkt aus und fügen Sie die Ausführungsausgabe zur Sitzung hinzu |

85| `@` | Dateipfad-Erwähnung | Trigger für Dateipfad-Autovervollständigung |85| `@` | Dateipfad-Erwähnung | Trigger für Dateipfad-Autovervollständigung |

86 86 

87### Transkript-Viewer87### Transkript-Viewer


130| Befehl | Aktion |130| Befehl | Aktion |

131| :-------------- | :------------------------------------------------------------- |131| :-------------- | :------------------------------------------------------------- |

132| `h`/`j`/`k`/`l` | Nach links/unten/oben/rechts bewegen |132| `h`/`j`/`k`/`l` | Nach links/unten/oben/rechts bewegen |

133| `Space` | Nach rechts bewegen |

133| `w` | Nächstes Wort |134| `w` | Nächstes Wort |

134| `e` | Ende des Wortes |135| `e` | Ende des Wortes |

135| `b` | Vorheriges Wort |136| `b` | Vorheriges Wort |


2201. **Suche starten**: Drücken Sie `Ctrl+R`, um die Reverse-Verlaufssuche zu aktivieren2211. **Suche starten**: Drücken Sie `Ctrl+R`, um die Reverse-Verlaufssuche zu aktivieren

2212. **Abfrage eingeben**: Geben Sie Text ein, um in vorherigen Befehlen zu suchen. Der Suchbegriff wird in übereinstimmenden Ergebnissen hervorgehoben2222. **Abfrage eingeben**: Geben Sie Text ein, um in vorherigen Befehlen zu suchen. Der Suchbegriff wird in übereinstimmenden Ergebnissen hervorgehoben

2223. **Übereinstimmungen navigieren**: Drücken Sie `Ctrl+R` erneut, um durch ältere Übereinstimmungen zu navigieren2233. **Übereinstimmungen navigieren**: Drücken Sie `Ctrl+R` erneut, um durch ältere Übereinstimmungen zu navigieren

2234. **Bereich ändern**: Drücken Sie `Ctrl+S`, um zwischen dieser Sitzung, diesem Projekt und allen Projekten zu wechseln2244. **Bereich ändern**: Die Suche bezieht sich standardmäßig auf Eingabeaufforderungen aus allen Projekten. Drücken Sie `Ctrl+S`, um den Bereich durch diese Sitzung, dieses Projekt und alle Projekte zu durchlaufen

2245. **Übereinstimmung akzeptieren**:2255. **Übereinstimmung akzeptieren**:

225 * Drücken Sie `Tab` oder `Esc`, um die aktuelle Übereinstimmung zu akzeptieren und die Bearbeitung fortzusetzen226 * Drücken Sie `Tab` oder `Esc`, um die aktuelle Übereinstimmung zu akzeptieren und die Bearbeitung fortzusetzen

226 * Drücken Sie `Enter`, um die Übereinstimmung zu akzeptieren und den Befehl sofort auszuführen227 * Drücken Sie `Enter`, um die Übereinstimmung zu akzeptieren und den Befehl sofort auszuführen

llm-gateway.md +1 −1

Details

53 53 

54Standardmäßig verwendet Claude Code Standard-Modellnamen für das ausgewählte API-Format.54Standardmäßig verwendet Claude Code Standard-Modellnamen für das ausgewählte API-Format.

55 55 

56Wenn `ANTHROPIC_BASE_URL` auf ein Gateway verweist, das das Anthropic Messages-Format bereitstellt, fragt Claude Code beim Start den `/v1/models`-Endpunkt des Gateways ab und fügt die zurückgegebenen Modelle zur `/model`-Auswahl hinzu. Jeder erkannte Eintrag ist mit „Aus Gateway" gekennzeichnet und verwendet das Feld `display_name` aus der Antwort, wenn eines bereitgestellt wird. Dies erfordert Claude Code v2.1.126 oder später.56Wenn `ANTHROPIC_BASE_URL` auf ein Gateway verweist, das das Anthropic Messages-Format bereitstellt, fragt Claude Code beim Start den `/v1/models`-Endpunkt des Gateways ab und fügt die zurückgegebenen Modelle zur `/model`-Auswahl hinzu. Setzen Sie `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`, um dies zu aktivieren. Die Erkennung ist standardmäßig deaktiviert, damit Gateways, die durch einen gemeinsamen API-Schlüssel unterstützt werden, nicht jedes Modell, auf das der Schlüssel zugreifen kann, jedem Benutzer anzeigen. Jeder erkannte Eintrag ist mit „Aus Gateway" gekennzeichnet und verwendet das Feld `display_name` aus der Antwort, wenn eines bereitgestellt wird. Dies erfordert Claude Code v2.1.129 oder später.

57 57 

58Die Erkennung gilt nur für das Anthropic Messages-Format. Sie wird nicht für Bedrock- oder Vertex-Pass-Through-Endpunkte ausgeführt und wird nicht ausgeführt, wenn `ANTHROPIC_BASE_URL` nicht gesetzt ist oder auf `api.anthropic.com` verweist.58Die Erkennung gilt nur für das Anthropic Messages-Format. Sie wird nicht für Bedrock- oder Vertex-Pass-Through-Endpunkte ausgeführt und wird nicht ausgeführt, wenn `ANTHROPIC_BASE_URL` nicht gesetzt ist oder auf `api.anthropic.com` verweist.

59 59 

mcp.md +11 −1

Details

327/mcp327/mcp

328```328```

329 329 

330Das `/mcp`-Panel zeigt die Tool-Anzahl neben jedem verbundenen Server an und kennzeichnet Server, die die Tools-Funktion ankündigen, aber keine Tools bereitstellen.

331 

332Der Servername `workspace` ist für interne Verwendung reserviert. Wenn Ihre Konfiguration einen Server mit diesem Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen.

333 

330### Dynamische Tool-Updates334### Dynamische Tool-Updates

331 335 

332Claude Code unterstützt MCP-`list_changed`-Benachrichtigungen, die es MCP-Servern ermöglichen, ihre verfügbaren Tools, Prompts und Ressourcen dynamisch zu aktualisieren, ohne dass Sie die Verbindung trennen und erneut verbinden müssen. Wenn ein MCP-Server eine `list_changed`-Benachrichtigung sendet, aktualisiert Claude Code automatisch die verfügbaren Funktionen von diesem Server.336Claude Code unterstützt MCP-`list_changed`-Benachrichtigungen, die es MCP-Servern ermöglichen, ihre verfügbaren Tools, Prompts und Ressourcen dynamisch zu aktualisieren, ohne dass Sie die Verbindung trennen und erneut verbinden müssen. Wenn ein MCP-Server eine `list_changed`-Benachrichtigung sendet, aktualisiert Claude Code automatisch die verfügbaren Funktionen von diesem Server.


423 427 

424## MCP-Installationsbereiche428## MCP-Installationsbereiche

425 429 

426MCP-Server können auf drei verschiedenen Bereichsebenen konfiguriert werden. Der Bereich, den Sie wählen, steuert, in welchen Projekten der Server geladen wird und ob die Konfiguration mit Ihrem Team geteilt wird.430MCP-Server können auf drei verschiedenen Bereichsebenen konfiguriert werden. Der Bereich, den Sie wählen, steuert, in welchen Projekten der Server geladen wird und ob die Konfiguration mit Ihrem Team geteilt wird. Administratoren können Server auch auf Unternehmensebene über [verwaltete Konfiguration](#managed-mcp-configuration) bereitstellen.

427 431 

428| Bereich | Wird geladen in | Mit Team geteilt | Gespeichert in |432| Bereich | Wird geladen in | Mit Team geteilt | Gespeichert in |

429| ------------------------- | --------------------- | -------------------------- | --------------------------- |433| ------------------------- | --------------------- | -------------------------- | --------------------------- |


944 </Step>948 </Step>

945</Steps>949</Steps>

946 950 

951Ein Server, den Sie in Claude Code hinzugefügt haben, hat [Vorrang](#scope-hierarchy-and-precedence) vor einem Claude.ai-Connector, der auf dieselbe URL verweist. Wenn dies geschieht, listet `/mcp` den Connector als verborgen auf und zeigt, wie Sie das Duplikat entfernen können, wenn Sie lieber den Connector verwenden möchten.

952 

947Um Claude.ai-MCP-Server in Claude Code zu deaktivieren, setzen Sie die Umgebungsvariable `ENABLE_CLAUDEAI_MCP_SERVERS` auf `false`:953Um Claude.ai-MCP-Server in Claude Code zu deaktivieren, setzen Sie die Umgebungsvariable `ENABLE_CLAUDEAI_MCP_SERVERS` auf `false`:

948 954 

949```bash theme={null}955```bash theme={null}


1183 1189 

1184Das Feld `alwaysLoad` ist auf allen Server-Typen verfügbar und erfordert Claude Code v2.1.121 oder später. Ein MCP-Server kann auch einzelne Tools als immer geladen markieren, indem `"anthropic/alwaysLoad": true` im `_meta`-Objekt des Tools enthalten ist, was denselben Effekt nur für dieses Tool hat.1190Das Feld `alwaysLoad` ist auf allen Server-Typen verfügbar und erfordert Claude Code v2.1.121 oder später. Ein MCP-Server kann auch einzelne Tools als immer geladen markieren, indem `"anthropic/alwaysLoad": true` im `_meta`-Objekt des Tools enthalten ist, was denselben Effekt nur für dieses Tool hat.

1185 1191 

1192Das Setzen von `alwaysLoad: true` blockiert auch den Start, bis sich der Server verbindet, begrenzt auf das Standard-Verbindungs-Timeout von 5 Sekunden. Dies gilt auch, wenn [`MCP_CONNECTION_NONBLOCKING=1`](/de/env-vars) gesetzt ist, da die Tools vorhanden sein müssen, wenn der erste Prompt erstellt wird. Andere Server verbinden sich weiterhin im Hintergrund, wenn Nonblocking aktiviert ist.

1193 

1186## MCP-Prompts als Befehle verwenden1194## MCP-Prompts als Befehle verwenden

1187 1195 

1188MCP-Server können Prompts verfügbar machen, die in Claude Code als Befehle verfügbar werden.1196MCP-Server können Prompts verfügbar machen, die in Claude Code als Befehle verfügbar werden.


1351* `https://*.example.com/*` – Jede Subdomain von example.com zulassen1359* `https://*.example.com/*` – Jede Subdomain von example.com zulassen

1352* `http://localhost:*/*` – Jeden Port auf localhost zulassen1360* `http://localhost:*/*` – Jeden Port auf localhost zulassen

1353 1361 

1362Hostname-Abgleich ist case-insensitiv und ignoriert einen nachgestellten FQDN-Punkt, was DNS-Semantik entspricht. Ein Muster wie `*://Mcp.Example.com/*` entspricht `https://mcp.example.com/api`, und `https://mcp.example.com.` wird genauso behandelt wie `https://mcp.example.com`. Schemata und Pfade bleiben case-sensitiv.

1363 

1354**Verhalten von Remote-Servern**:1364**Verhalten von Remote-Servern**:

1355 1365 

1356* Wenn die Allowlist **irgendwelche** `serverUrl`-Einträge enthält, müssen Remote-Server einem dieser URL-Muster entsprechen1366* Wenn die Allowlist **irgendwelche** `serverUrl`-Einträge enthält, müssen Remote-Server einem dieser URL-Muster entsprechen

memory.md +2 −0

Details

378* Machen Sie Anweisungen spezifischer. „Verwenden Sie 2-Leerzeichen-Einrückung" funktioniert besser als „formatieren Sie Code schön".378* Machen Sie Anweisungen spezifischer. „Verwenden Sie 2-Leerzeichen-Einrückung" funktioniert besser als „formatieren Sie Code schön".

379* Suchen Sie nach widersprüchlichen Anweisungen über CLAUDE.md-Dateien hinweg. Wenn zwei Dateien unterschiedliche Anleitungen für das gleiche Verhalten geben, kann Claude eine willkürlich auswählen.379* Suchen Sie nach widersprüchlichen Anweisungen über CLAUDE.md-Dateien hinweg. Wenn zwei Dateien unterschiedliche Anleitungen für das gleiche Verhalten geben, kann Claude eine willkürlich auswählen.

380 380 

381Wenn die Anweisung etwas ist, das an einem bestimmten Punkt ausgeführt werden muss, z. B. vor jedem Commit oder nach jeder Dateibearbeitung, schreiben Sie sie stattdessen als [Hook](/de/hooks-guide). Hooks werden als Shell-Befehle bei festen Lebenszyklusereignissen ausgeführt und gelten unabhängig davon, was Claude entscheidet zu tun.

382 

381Für Anweisungen, die Sie auf System-Prompt-Ebene haben möchten, verwenden Sie [`--append-system-prompt`](/de/cli-reference#system-prompt-flags). Dies muss bei jeder Invokation übergeben werden, daher ist es besser für Skripte und Automatisierung als für interaktive Nutzung geeignet.383Für Anweisungen, die Sie auf System-Prompt-Ebene haben möchten, verwenden Sie [`--append-system-prompt`](/de/cli-reference#system-prompt-flags). Dies muss bei jeder Invokation übergeben werden, daher ist es besser für Skripte und Automatisierung als für interaktive Nutzung geeignet.

382 384 

383<Tip>385<Tip>

model-config.md +18 −4

Details

184 184 

185Die Aufwandsskala ist pro Modell kalibriert, daher stellt der gleiche Ebenenname nicht den gleichen zugrunde liegenden Wert über Modelle hinweg dar.185Die Aufwandsskala ist pro Modell kalibriert, daher stellt der gleiche Ebenenname nicht den gleichen zugrunde liegenden Wert über Modelle hinweg dar.

186 186 

187Für einmaliges tiefes Reasoning ohne Änderung Ihrer Sitzungseinstellung fügen Sie ultrathink" in Ihren Prompt ein. Dies fügt eine In-Context-Anweisung hinzu, die das Modell anweist, bei diesem Durchgang mehr zu denken; es ändert nicht das an die API gesendete Aufwandsniveau.187#### Verwenden Sie ultrathink für einmaliges tiefes Reasoning

188 

189Fügen Sie `ultrathink` überall in Ihrem Prompt ein, um tieferes Reasoning bei diesem Durchgang anzufordern, ohne Ihre Sitzungsaufwandseinstellung zu ändern. Claude Code erkennt das Schlüsselwort und fügt eine In-Context-Anweisung hinzu. Das an die API gesendete Aufwandsniveau bleibt unverändert. Andere Phrasen wie „think", „think hard" und „think more" werden als gewöhnlicher Prompt-Text weitergeleitet und werden nicht als Schlüsselwörter erkannt.

188 190 

189#### Setzen Sie das Aufwandsniveau191#### Setzen Sie das Aufwandsniveau

190 192 


209 211 

210Bei Opus 4.6 und Sonnet 4.6 können Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` setzen, um zum vorherigen festen Thinking-Budget zurückzukehren, das von `MAX_THINKING_TOKENS` gesteuert wird. Siehe [Umgebungsvariablen](/de/env-vars).212Bei Opus 4.6 und Sonnet 4.6 können Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` setzen, um zum vorherigen festen Thinking-Budget zurückzukehren, das von `MAX_THINKING_TOKENS` gesteuert wird. Siehe [Umgebungsvariablen](/de/env-vars).

211 213 

214### Erweitertes Thinking

215 

216Erweitertes Thinking ist das Reasoning, das Claude vor der Antwort ausgibt. Bei Modellen, die [adaptives Reasoning](#adjust-effort-level) unterstützen, ist das Aufwandsniveau die primäre Kontrolle dafür, wie viel Thinking stattfindet; die folgenden Einstellungen schalten Thinking ein oder aus und steuern, wie es angezeigt wird.

217 

218| Kontrolle | Wie man es setzt |

219| :-------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |

220| Umschalter für die aktuelle Sitzung | Drücken Sie `Option+T` auf macOS oder `Alt+T` auf Windows und Linux |

221| Setzen Sie den globalen Standard | Führen Sie `/config` aus und schalten Sie den Thinking-Modus um. Gespeichert als `alwaysThinkingEnabled` in `~/.claude/settings.json` |

222| Deaktivieren Sie unabhängig vom Aufwand | Setzen Sie [`MAX_THINKING_TOKENS=0`](/de/env-vars). Andere Werte gelten nur mit einem [festen Thinking-Budget](#adaptive-reasoning-and-fixed-thinking-budgets) |

223 

224Die Thinking-Ausgabe ist standardmäßig zusammengeklappt. Drücken Sie `Ctrl+O`, um den ausführlichen Modus umzuschalten und das Reasoning als grauer kursiver Text zu sehen. Interaktive Sitzungen auf der Anthropic API erhalten standardmäßig redigierte Thinking-Blöcke, daher setzen Sie `showThinkingSummaries: true` in [Einstellungen](/de/settings), wenn Sie die vollständigen Zusammenfassungen verfügbar haben möchten, wenn Sie erweitern. Ihnen werden alle generierten Thinking-Token berechnet, auch wenn sie zusammengeklappt oder redigiert sind.

225 

212### Erweiterter Kontext226### Erweiterter Kontext

213 227 

214Opus 4.7, Opus 4.6 und Sonnet 4.6 unterstützen ein [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen mit großen Codebases.228Opus 4.7, Opus 4.6 und Sonnet 4.6 unterstützen ein [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen mit großen Codebases.


247 261 

248## Benutzerdefinierte Modelloption hinzufügen262## Benutzerdefinierte Modelloption hinzufügen

249 263 

250Verwenden Sie `ANTHROPIC_CUSTOM_MODEL_OPTION`, um einen einzelnen benutzerdefinierten Eintrag zur `/model`-Auswahl hinzuzufügen, ohne die integrierten Aliase zu ersetzen. Dies ist nützlich zum Testen von Modell-IDs, die Claude Code standardmäßig nicht auflistet. Für LLM-Gateway-Bereitstellungen füllt Claude Code die Auswahl automatisch vom `/v1/models`-Endpunkt des Gateways auf, daher ist diese Variable nur erforderlich, wenn die Erkennung das gewünschte Modell nicht zurückgibt. Siehe [LLM-Gateway-Modellauswahl](/de/llm-gateway#model-selection).264Verwenden Sie `ANTHROPIC_CUSTOM_MODEL_OPTION`, um einen einzelnen benutzerdefinierten Eintrag zur `/model`-Auswahl hinzuzufügen, ohne die integrierten Aliase zu ersetzen. Dies ist nützlich zum Testen von Modell-IDs, die Claude Code standardmäßig nicht auflistet. Für LLM-Gateway-Bereitstellungen kann Claude Code die Auswahl vom `/v1/models`-Endpunkt des Gateways auffüllen, wenn `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` gesetzt ist. Daher ist diese Variable nur erforderlich, wenn die Erkennung deaktiviert ist oder das gewünschte Modell nicht zurückgibt. Siehe [LLM-Gateway-Modellauswahl](/de/llm-gateway#model-selection).

251 265 

252Dieses Beispiel setzt alle drei Variablen, um eine Gateway-gesteuerte Opus-Bereitstellung auswählbar zu machen:266Dieses Beispiel setzt alle drei Variablen, um eine Gateway-gesteuerte Opus-Bereitstellung auswählbar zu machen:

253 267 


320 334 

321Die gleichen `_NAME`-, `_DESCRIPTION`- und `_SUPPORTED_CAPABILITIES`-Suffixe sind für `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` und `ANTHROPIC_CUSTOM_MODEL_OPTION` verfügbar.335Die gleichen `_NAME`-, `_DESCRIPTION`- und `_SUPPORTED_CAPABILITIES`-Suffixe sind für `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` und `ANTHROPIC_CUSTOM_MODEL_OPTION` verfügbar.

322 336 

323Claude Code aktiviert Funktionen wie [Aufwandsniveaus](#adjust-effort-level) und [erweitertes Denken](/de/common-workflows#use-extended-thinking-thinking-mode) durch Abgleich der Modell-ID mit bekannten Mustern. Anbieterspezifische IDs wie Bedrock-ARNs oder benutzerdefinierte Bereitstellungsnamen stimmen oft nicht mit diesen Mustern überein, wodurch unterstützte Funktionen deaktiviert bleiben. Setzen Sie `_SUPPORTED_CAPABILITIES`, um Claude Code mitzuteilen, welche Funktionen das Modell tatsächlich unterstützt:337Claude Code aktiviert Funktionen wie [Aufwandsniveaus](#adjust-effort-level) und [erweitertes Denken](#extended-thinking) durch Abgleich der Modell-ID mit bekannten Mustern. Anbieterspezifische IDs wie Bedrock-ARNs oder benutzerdefinierte Bereitstellungsnamen stimmen oft nicht mit diesen Mustern überein, wodurch unterstützte Funktionen deaktiviert bleiben. Setzen Sie `_SUPPORTED_CAPABILITIES`, um Claude Code mitzuteilen, welche Funktionen das Modell tatsächlich unterstützt:

324 338 

325| Funktionswert | Aktiviert |339| Funktionswert | Aktiviert |

326| ---------------------- | -------------------------------------------------------------------------------------------- |340| ---------------------- | -------------------------------------------------------------------------------------------- |

327| `effort` | [Aufwandsniveaus](#adjust-effort-level) und der `/effort`-Befehl |341| `effort` | [Aufwandsniveaus](#adjust-effort-level) und der `/effort`-Befehl |

328| `xhigh_effort` | {/* min-version: 2.1.111 */}Das `xhigh`-Aufwandsniveau |342| `xhigh_effort` | {/* min-version: 2.1.111 */}Das `xhigh`-Aufwandsniveau |

329| `max_effort` | Das `max`-Aufwandsniveau |343| `max_effort` | Das `max`-Aufwandsniveau |

330| `thinking` | [Erweitertes Denken](/de/common-workflows#use-extended-thinking-thinking-mode) |344| `thinking` | [Erweitertes Denken](#extended-thinking) |

331| `adaptive_thinking` | Adaptives Reasoning, das das Denken dynamisch basierend auf der Aufgabenkomplexität zuordnet |345| `adaptive_thinking` | Adaptives Reasoning, das das Denken dynamisch basierend auf der Aufgabenkomplexität zuordnet |

332| `interleaved_thinking` | Denken zwischen Tool-Aufrufen |346| `interleaved_thinking` | Denken zwischen Tool-Aufrufen |

333 347 

Details

64 Verwaltete Einstellungen können über MDM (Mobile Device Management) oder andere Geräteverwaltungslösungen verteilt werden. Umgebungsvariablen, die in der verwalteten Einstellungsdatei definiert sind, haben hohe Priorität und können von Benutzern nicht überschrieben werden.64 Verwaltete Einstellungen können über MDM (Mobile Device Management) oder andere Geräteverwaltungslösungen verteilt werden. Umgebungsvariablen, die in der verwalteten Einstellungsdatei definiert sind, haben hohe Priorität und können von Benutzern nicht überschrieben werden.

65</Note>65</Note>

66 66 

67Claude Code übergibt `OTEL_*` Umgebungsvariablen nicht an die Subprozesse, die es erzeugt, einschließlich des Bash-Tools, Hooks, MCP-Server und Sprachserver. Eine OpenTelemetry-instrumentierte Anwendung, die Sie über das Bash-Tool ausführen, erbt nicht den Exporter-Endpunkt oder die Header von Claude Code, daher setzen Sie diese Variablen direkt im Befehl, wenn diese Anwendung ihre eigene Telemetrie exportieren muss.

68 

67## Konfigurationsdetails69## Konfigurationsdetails

68 70 

69### Allgemeine Konfigurationsvariablen71### Allgemeine Konfigurationsvariablen


80| `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` | Protokoll für Logs, überschreibt allgemeine Einstellung | `grpc`, `http/json`, `http/protobuf` |82| `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` | Protokoll für Logs, überschreibt allgemeine Einstellung | `grpc`, `http/json`, `http/protobuf` |

81| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | OTLP-Logs-Endpunkt, überschreibt allgemeine Einstellung | `http://localhost:4318/v1/logs` |83| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | OTLP-Logs-Endpunkt, überschreibt allgemeine Einstellung | `http://localhost:4318/v1/logs` |

82| `OTEL_EXPORTER_OTLP_HEADERS` | Authentifizierungsheader für OTLP | `Authorization=Bearer token` |84| `OTEL_EXPORTER_OTLP_HEADERS` | Authentifizierungsheader für OTLP | `Authorization=Bearer token` |

83| `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` | Client-Schlüssel für mTLS-Authentifizierung | Pfad zur Client-Schlüsseldatei |

84| `OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE` | Client-Zertifikat für mTLS-Authentifizierung | Pfad zur Client-Zertifikatsdatei |

85| `OTEL_METRIC_EXPORT_INTERVAL` | Exportintervall in Millisekunden (Standard: 60000) | `5000`, `60000` |85| `OTEL_METRIC_EXPORT_INTERVAL` | Exportintervall in Millisekunden (Standard: 60000) | `5000`, `60000` |

86| `OTEL_LOGS_EXPORT_INTERVAL` | Logs-Exportintervall in Millisekunden (Standard: 5000) | `1000`, `10000` |86| `OTEL_LOGS_EXPORT_INTERVAL` | Logs-Exportintervall in Millisekunden (Standard: 5000) | `1000`, `10000` |

87| `OTEL_LOG_USER_PROMPTS` | Aktiviert die Protokollierung von Benutzer-Prompt-Inhalten (Standard: deaktiviert) | `1` zum Aktivieren |87| `OTEL_LOG_USER_PROMPTS` | Aktiviert die Protokollierung von Benutzer-Prompt-Inhalten (Standard: deaktiviert) | `1` zum Aktivieren |


91| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Metriken-Temporalitätspräferenz (Standard: `delta`). Setzen Sie auf `cumulative`, wenn Ihr Backend kumulative Temporalität erwartet | `delta`, `cumulative` |91| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Metriken-Temporalitätspräferenz (Standard: `delta`). Setzen Sie auf `cumulative`, wenn Ihr Backend kumulative Temporalität erwartet | `delta`, `cumulative` |

92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer Header (Standard: 1740000ms / 29 Minuten) | `900000` |92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer Header (Standard: 1740000ms / 29 Minuten) | `900000` |

93 93 

94### mTLS-Authentifizierung

95 

96Wie Sie Client-Zertifikate für den OTLP-Exporter konfigurieren, hängt vom OTLP-Protokoll ab, das für dieses Signal verwendet wird, das über `OTEL_EXPORTER_OTLP_PROTOCOL` oder die Pro-Signal-Überschreibung gesetzt wird. Die gleiche Konfiguration gilt für Metriken, Logs und Traces.

97 

98| Protokoll | Client-Zertifikat-Variablen | Vertrauen Sie dem Collector-CA mit |

99| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------- |

100| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY` und optional `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. Siehe [Netzwerkkonfiguration](/de/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |

101| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` und `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, oder die Pro-Signal-Varianten wie `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY`, um ein anderes Zertifikat pro Signal zu verwenden | `OTEL_EXPORTER_OTLP_CERTIFICATE` |

102 

103Für `grpc` liest das OpenTelemetry SDK die Standard-OTLP-Variablen direkt, daher funktionieren bestehende Konfigurationen, die die Pro-Signal-Metriken-Variablen setzen, weiterhin.

104 

94### Metriken-Kardinalitätskontrolle105### Metriken-Kardinalitätskontrolle

95 106 

96Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken enthalten sind, um die Kardinalität zu verwalten:107Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken enthalten sind, um die Kardinalität zu verwalten:


107 118 

108Verteiltes Tracing exportiert Spans, die jeden Benutzer-Prompt mit den API-Anfragen und Tool-Ausführungen verknüpfen, die er auslöst, sodass Sie eine vollständige Anfrage als einzelnen Trace in Ihrem Tracing-Backend anzeigen können.119Verteiltes Tracing exportiert Spans, die jeden Benutzer-Prompt mit den API-Anfragen und Tool-Ausführungen verknüpfen, die er auslöst, sodass Sie eine vollständige Anfrage als einzelnen Trace in Ihrem Tracing-Backend anzeigen können.

109 120 

110Tracing ist standardmäßig deaktiviert. Um es zu aktivieren, setzen Sie sowohl `CLAUDE_CODE_ENABLE_TELEMETRY=1` als auch `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, und setzen Sie dann `OTEL_TRACES_EXPORTER`, um auszuwählen, wohin Spans gesendet werden. Traces verwenden die [allgemeine OTLP-Konfiguration](#allgemeine-konfigurationsvariablen) für Endpunkt, Protokoll und Header erneut.121Tracing ist standardmäßig deaktiviert. Um es zu aktivieren, setzen Sie sowohl `CLAUDE_CODE_ENABLE_TELEMETRY=1` als auch `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, und setzen Sie dann `OTEL_TRACES_EXPORTER`, um auszuwählen, wohin Spans gesendet werden. Traces verwenden die [allgemeine OTLP-Konfiguration](#allgemeine-konfigurationsvariablen) für Endpunkt, Protokoll, Header und [mTLS](#mtls-authentifizierung) erneut.

111 122 

112| Umgebungsvariable | Beschreibung | Beispielwerte |123| Umgebungsvariable | Beschreibung | Beispielwerte |

113| ------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------ |124| ------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------ |


233 244 

234### Dynamische Header245### Dynamische Header

235 246 

236Für Unternehmensumgebungen, die eine dynamische Authentifizierung erfordern, können Sie ein Skript konfigurieren, um Header dynamisch zu generieren:247Für Unternehmensumgebungen, die eine dynamische Authentifizierung erfordern, können Sie ein Skript konfigurieren, um Header dynamisch zu generieren. Dynamische Header gelten nur für die Protokolle `http/protobuf` und `http/json`. Der `grpc` Exporter verwendet nur den statischen `OTEL_EXPORTER_OTLP_HEADERS` Wert.

237 248 

238#### Einstellungskonfiguration249#### Einstellungskonfiguration

239 250 


458* Alle [Standardattribute](#standardattribute)469* Alle [Standardattribute](#standardattribute)

459* `tool_name`: Tool-Name (`"Edit"`, `"Write"`, `"NotebookEdit"`)470* `tool_name`: Tool-Name (`"Edit"`, `"Write"`, `"NotebookEdit"`)

460* `decision`: Benutzerentscheidung (`"accept"`, `"reject"`)471* `decision`: Benutzerentscheidung (`"accept"`, `"reject"`)

461* `source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` oder `"user_reject"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-entscheidungs-ereignis) für die Bedeutung jedes Wertes.472* `source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` oder `"user_reject"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für die Bedeutung jedes Wertes.

462* `language`: Programmiersprache der bearbeiteten Datei, wie `"TypeScript"`, `"Python"`, `"JavaScript"` oder `"Markdown"`. Gibt `"unknown"` für nicht erkannte Dateierweiterungen zurück.473* `language`: Programmiersprache der bearbeiteten Datei, wie `"TypeScript"`, `"Python"`, `"JavaScript"` oder `"Markdown"`. Gibt `"unknown"` für nicht erkannte Dateierweiterungen zurück.

463 474 

464#### Aktive-Zeit-Zähler475#### Aktive-Zeit-Zähler


524* `error_type`: Fehler-Kategoriezeichenkette, wenn das Tool fehlgeschlagen ist, wie `"Error:ENOENT"` oder `"ShellError"`535* `error_type`: Fehler-Kategoriezeichenkette, wenn das Tool fehlgeschlagen ist, wie `"Error:ENOENT"` oder `"ShellError"`

525* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn das Tool fehlgeschlagen ist536* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn das Tool fehlgeschlagen ist

526* `decision_type`: Entweder `"accept"` oder `"reject"`537* `decision_type`: Entweder `"accept"` oder `"reject"`

527* `decision_source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` oder `"user_reject"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-entscheidungs-ereignis) für die Bedeutung jedes Wertes.538* `decision_source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` oder `"user_reject"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für die Bedeutung jedes Wertes.

528* `tool_input_size_bytes`: Größe der JSON-serialisierten Tool-Eingabe in Bytes539* `tool_input_size_bytes`: Größe der JSON-serialisierten Tool-Eingabe in Bytes

529* `tool_result_size_bytes`: Größe des Tool-Ergebnisses in Bytes540* `tool_result_size_bytes`: Größe des Tool-Ergebnisses in Bytes

530* `mcp_server_scope`: MCP-Server-Scope-Kennung (für MCP-Tools)541* `mcp_server_scope`: MCP-Server-Scope-Kennung (für MCP-Tools)


899 910 

900**Leistungsüberwachung**: Verfolgen Sie API-Anfrage-Dauern und Tool-Ausführungszeiten, um Leistungsengpässe zu identifizieren.911**Leistungsüberwachung**: Verfolgen Sie API-Anfrage-Dauern und Tool-Ausführungszeiten, um Leistungsengpässe zu identifizieren.

901 912 

913## Audit-Sicherheitsereignisse

914 

915OpenTelemetry-Ereignisse sind die Audit-Datenquelle für Claude Code-Aktivität. Jedes Ereignis trägt Identitätsattribute, die Tool-Aufrufe, MCP-Aktivität und Berechtigungsentscheidungen an den Benutzer zurückbinden, der sie ausgelöst hat, und der OTLP-Logs-Exporter kann diese Ereignisse an jede Security Information and Event Management (SIEM)-Plattform mit einem OTLP-Receiver oder an einen OpenTelemetry Collector liefern, der an Ihr SIEM weiterleitet.

916 

917### Attribut-Aktionen an Benutzer

918 

919Die [Standardattribute](#standardattribute) auf jedem Ereignis enthalten die Identität des authentifizierten Benutzers: `user.email`, `user.account_uuid`, `user.account_id` und `organization.id`, wenn mit einem Claude-Konto angemeldet, plus die installationsbegrenzte `user.id` und die pro-Sitzung `session.id`.

920 

921MCP-Tool-Aufrufe, Bash-Befehle und Dateibearbeitungen werden daher dem Entwickler zugeordnet, der die Sitzung gestartet hat. Claude Code handelt nicht unter einem separaten Service-Konto; die Identität, die auf jedem Ereignis aufgezeichnet wird, ist das Claude-Konto des Entwicklers selbst.

922 

923Wenn Claude Code sich mit einem direkten API-Schlüssel authentifiziert oder gegen Bedrock, Vertex AI oder Microsoft Foundry, gibt es kein Claude-Konto in der Sitzung und nur `user.id` und `session.id` werden gefüllt. In diesen Bereitstellungen fügen Sie die Benutzeridentität selbst mit `OTEL_RESOURCE_ATTRIBUTES` hinzu, die pro Benutzer über die [verwaltete Einstellungsdatei](#administratorkonfiguration) oder einen Launch-Wrapper gesetzt wird:

924 

925```bash theme={null}

926export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."

927```

928 

929### Audit MCP-Aktivität

930 

931Um MCP-Server-Aktivität mit vollständiger Call-Detail zu erfassen, aktivieren Sie den Logs-Exporter und setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Jede MCP-Operation erzeugt dann strukturierte Ereignisse, die den Server-Namen, Tool-Namen und Call-Argumente zusammen mit den Standard-Identitätsattributen tragen:

932 

933| Ereignis | Was es für MCP aufzeichnet |

934| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

935| `mcp_server_connection` | Server-Verbindung, Trennung und Verbindungsfehler mit `server_name`, `transport_type`, `server_scope` und Fehlerdetail |

936| `tool_result` | Jeder MCP-Tool-Aufruf mit `tool_name` und `mcp_server_scope`, eine `tool_parameters` Nutzlast mit `mcp_server_name` und `mcp_tool_name`, und eine `tool_input` Nutzlast mit den Call-Argumenten |

937| `tool_decision` | Ob der Aufruf zulässig oder verweigert wurde, und ob die Entscheidung von Config, einem Hook oder dem Benutzer kam |

938 

939Ohne `OTEL_LOG_TOOL_DETAILS` tragen `tool_result` Ereignisse immer noch `tool_name` und `mcp_server_scope`, aber lassen die `mcp_server_name`/`mcp_tool_name` Aufschlüsselung und die Argumente weg, und `mcp_server_connection` Ereignisse lassen `server_name` und die Fehlermeldung weg.

940 

941### Sicherheitsfragen zu Ereignissen zuordnen

942 

943Beim Erstellen von Erkennungsregeln schlagen Sie das Signal auf, das Sie überwachen möchten, und fragen Sie Ihr Backend nach dem entsprechenden Ereignis und den Attributen ab:

944 

945| Signal | Ereignis | Schlüsselattribute |

946| ------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------ |

947| Tool-Aufruf zulässig oder verweigert, und von wem | `tool_decision` | `decision`, `source`, `tool_name` |

948| Berechtigungsmodus-Eskalation | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

949| Policy-Hook blockierte eine Aktion | `hook_execution_complete` | `hook_event`, `num_blocking` |

950| Login, Logout und Authentifizierungsfehler | `auth` | `action`, `success`, `error_category` |

951| MCP-Server-Verbindung oder Fehler | `mcp_server_connection` | `status`, `server_name`, `error_code` |

952| Plugin installiert und seine Quelle | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |

953| Befehle ausgeführt und Dateien berührt | `tool_result` mit `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`, `tool_input` |

954 

955Claude Code gibt nur den rohen Ereignisstrom aus. Anomalieerkennung, Baselining, Korrelation über Sitzungen hinweg und Warnungen sind die Verantwortung Ihres SIEM oder Observability-Backends.

956 

957### Ereignisse an ein SIEM senden

958 

959Zeigen Sie `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` auf den OTLP-Receiver Ihres SIEM oder auf einen OpenTelemetry Collector, der an die native Ingest-API Ihres SIEM weiterleitet. Das folgende verwaltete Einstellungsbeispiel exportiert nur Ereignisse, mit vollständiger Tool-Detail-Aktivierung für MCP- und Bash-Auditing:

960 

961```json theme={null}

962{

963 "env": {

964 "CLAUDE_CODE_ENABLE_TELEMETRY": "1",

965 "OTEL_LOGS_EXPORTER": "otlp",

966 "OTEL_LOG_TOOL_DETAILS": "1",

967 "OTEL_EXPORTER_OTLP_LOGS_PROTOCOL": "http/protobuf",

968 "OTEL_EXPORTER_OTLP_LOGS_ENDPOINT": "https://siem.example.com:4318/v1/logs",

969 "OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer your-siem-token"

970 }

971}

972```

973 

902## Backend-Überlegungen974## Backend-Überlegungen

903 975 

904Ihre Wahl des Metriken-, Logs- und Traces-Backends bestimmt die Arten von Analysen, die Sie durchführen können:976Ihre Wahl des Metriken-, Logs- und Traces-Backends bestimmt die Arten von Analysen, die Sie durchführen können:

output-styles.md +12 −3

Details

6 6 

7> Passen Sie Claude Code für Anwendungsfälle über Softwareentwicklung hinaus an7> Passen Sie Claude Code für Anwendungsfälle über Softwareentwicklung hinaus an

8 8 

9Ausgabestile ermöglichen es Ihnen, Claude Code als jeden Agententyp zu verwenden, während Sie seine Kernfunktionen wie das Ausführen lokaler Skripte, das Lesen/Schreiben von Dateien und das Nachverfolgen von TODOs beibehalten.9Ausgabestile ändern, wie Claude antwortet, nicht was Claude weiß. Sie ändern die Systemaufforderung, um Rolle, Ton und Ausgabeformat festzulegen, während die Kernfunktionen wie das Ausführen von Skripten, das Lesen und Schreiben von Dateien sowie das Nachverfolgen von TODOs erhalten bleiben. Verwenden Sie einen, wenn Sie sich in jedem Durchgang immer wieder nach derselben Stimme oder demselben Format erkundigen, oder wenn Sie möchten, dass Claude als etwas anderes als ein Softwareentwickler fungiert.

10 

11Für Anweisungen zu Ihrem Projekt, Konventionen oder Ihrer Codebasis verwenden Sie stattdessen [CLAUDE.md](/de/memory).

10 12 

11## Integrierte Ausgabestile13## Integrierte Ausgabestile

12 14 


63[Define how the assistant should behave in this style...]65[Define how the assistant should behave in this style...]

64```66```

65 67 

66Sie können diese Dateien auf Benutzerebene (`~/.claude/output-styles`) oder Projektebene (`.claude/output-styles`) speichern.68Sie können diese Dateien auf drei Ebenen speichern:

69 

70* Benutzer: `~/.claude/output-styles`

71* Projekt: `.claude/output-styles`

72* Verwaltete Richtlinie: `.claude/output-styles` im [Verzeichnis für verwaltete Einstellungen](/de/settings#settings-files)

73 

74[Plugins](/de/plugins-reference) können auch Ausgabestile in einem `output-styles/`-Verzeichnis bereitstellen.

67 75 

68### Frontmatter76### Frontmatter

69 77 

70Ausgabestil-Dateien unterstützen Frontmatter zum Angeben von Metadaten:78Ausgabestil-Dateien unterstützen Frontmatter zum Angeben von Metadaten:

71 79 

72| Frontmatter | Zweck | Standard |80| Frontmatter | Zweck | Standard |

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

74| `name` | Name des Ausgabestils, falls nicht der Dateiname | Wird vom Dateinamen geerbt |82| `name` | Name des Ausgabestils, falls nicht der Dateiname | Wird vom Dateinamen geerbt |

75| `description` | Beschreibung des Ausgabestils, angezeigt in der `/config`-Auswahl | Keine |83| `description` | Beschreibung des Ausgabestils, angezeigt in der `/config`-Auswahl | Keine |

76| `keep-coding-instructions` | Ob die Teile der Systemaufforderung von Claude Code bezüglich Codierung beibehalten werden sollen. | false |84| `keep-coding-instructions` | Ob die Teile der Systemaufforderung von Claude Code bezüglich Codierung beibehalten werden sollen. | false |

85| `force-for-plugin` | Nur Plugin-Ausgabestile: Wenden Sie diesen Stil automatisch an, wenn das Plugin aktiviert ist, ohne dass Benutzer ihn auswählen müssen. Überschreibt die `outputStyle`-Einstellung des Benutzers. Wenn mehrere aktivierte Plugins dies festlegen, gewinnt das zuerst geladene. | false |

77 86 

78## Vergleiche mit verwandten Funktionen87## Vergleiche mit verwandten Funktionen

79 88 

plugins.md +6 −0

Details

315 ```315 ```

316</Tip>316</Tip>

317 317 

318Um ein Plugin zu testen, das bereits als `.zip`-Archiv verpackt und unter einer URL gehostet wird, z. B. ein CI-Build-Artefakt, verwenden Sie stattdessen `--plugin-url`. Claude Code ruft das Archiv beim Start ab und lädt es nur für diese Sitzung. Wenn das Abrufen fehlschlägt oder das Archiv ungültig ist, meldet Claude Code einen Plugin-Ladefehler und startet ohne es. Die gleichen [Vertrauensüberlegungen](/de/discover-plugins#security) gelten wie für jede andere Plugin-Quelle: Verweisen Sie dieses Flag nur auf Archive, die Sie kontrollieren oder denen Sie vertrauen.

319 

320```bash theme={null}

321claude --plugin-url https://example.com/my-plugin.zip

322```

323 

318### Debuggen Sie Plugin-Probleme324### Debuggen Sie Plugin-Probleme

319 325 

320Wenn Ihr Plugin nicht wie erwartet funktioniert:326Wenn Ihr Plugin nicht wie erwartet funktioniert:

Details

301]301]

302```302```

303 303 

304Um Monitore inline zu deklarieren, setzen Sie den `monitors` Schlüssel in `plugin.json` auf das gleiche Array. Um von einem nicht-Standard-Pfad zu laden, setzen Sie `monitors` auf einen relativen Pfad-String wie `"./config/monitors.json"`.304Um Monitore inline zu deklarieren, setzen Sie `experimental.monitors` in `plugin.json` auf das gleiche Array. Um von einem nicht-Standard-Pfad zu laden, setzen Sie `experimental.monitors` auf einen relativen Pfad-String wie `"./config/monitors.json"`. Monitore sind eine [experimentelle Komponente](#experimental-components).

305 305 

306**Erforderliche Felder:**306**Erforderliche Felder:**

307 307 


323 323 

324### Themes324### Themes

325 325 

326Plugins können Farbthemes versenden, die in `/theme` neben den integrierten Voreinstellungen und den lokalen Themes des Benutzers angezeigt werden. Ein Theme ist eine JSON-Datei in `themes/` mit einer `base` Voreinstellung und einer sparsamen `overrides` Map von Farb-Tokens.326Plugins können Farbthemes versenden, die in `/theme` neben den integrierten Voreinstellungen und den lokalen Themes des Benutzers angezeigt werden. Ein Theme ist eine JSON-Datei in `themes/` mit einer `base` Voreinstellung und einer sparsamen `overrides` Map von Farb-Tokens. Themes sind eine [experimentelle Komponente](#experimental-components).

327 327 

328```json theme={null}328```json theme={null}

329{329{


384 "hooks": "./config/hooks.json",384 "hooks": "./config/hooks.json",

385 "mcpServers": "./mcp-config.json",385 "mcpServers": "./mcp-config.json",

386 "outputStyles": "./styles/",386 "outputStyles": "./styles/",

387 "themes": "./themes/",

388 "lspServers": "./.lsp.json",387 "lspServers": "./.lsp.json",

389 "monitors": "./monitors.json",388 "experimental": {

389 "themes": "./themes/",

390 "monitors": "./monitors.json"

391 },

390 "dependencies": [392 "dependencies": [

391 "helper-lib",393 "helper-lib",

392 { "name": "secrets-vault", "version": "~2.1.0" }394 { "name": "secrets-vault", "version": "~2.1.0" }


420### Komponentenpfad-Felder422### Komponentenpfad-Felder

421 423 

422| Feld | Typ | Beschreibung | Beispiel |424| Feld | Typ | Beschreibung | Beispiel |

423| :------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |425| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |

424| `skills` | string\|array | Benutzerdefinierte Skill-Verzeichnisse mit `<name>/SKILL.md` Struktur (ersetzt Standard `skills/`) | `"./custom/skills/"` |426| `skills` | string\|array | Benutzerdefinierte Skill-Verzeichnisse mit `<name>/SKILL.md` Struktur (ersetzt Standard `skills/`) | `"./custom/skills/"` |

425| `commands` | string\|array | Benutzerdefinierte flache `.md` Skill-Dateien oder Verzeichnisse (ersetzt Standard `commands/`) | `"./custom/cmd.md"` oder `["./cmd1.md"]` |427| `commands` | string\|array | Benutzerdefinierte flache `.md` Skill-Dateien oder Verzeichnisse (ersetzt Standard `commands/`) | `"./custom/cmd.md"` oder `["./cmd1.md"]` |

426| `agents` | string\|array | Benutzerdefinierte Agent-Dateien (ersetzt Standard `agents/`) | `"./custom/agents/reviewer.md"` |428| `agents` | string\|array | Benutzerdefinierte Agent-Dateien (ersetzt Standard `agents/`) | `"./custom/agents/reviewer.md"` |

427| `hooks` | string\|array\|object | Hook-Konfigurationspfade oder Inline-Konfiguration | `"./my-extra-hooks.json"` |429| `hooks` | string\|array\|object | Hook-Konfigurationspfade oder Inline-Konfiguration | `"./my-extra-hooks.json"` |

428| `mcpServers` | string\|array\|object | MCP-Konfigurationspfade oder Inline-Konfiguration | `"./my-extra-mcp-config.json"` |430| `mcpServers` | string\|array\|object | MCP-Konfigurationspfade oder Inline-Konfiguration | `"./my-extra-mcp-config.json"` |

429| `outputStyles` | string\|array | Benutzerdefinierte Output-Style-Dateien/Verzeichnisse (ersetzt Standard `output-styles/`) | `"./styles/"` |431| `outputStyles` | string\|array | Benutzerdefinierte Output-Style-Dateien/Verzeichnisse (ersetzt Standard `output-styles/`) | `"./styles/"` |

430| `themes` | string\|array | Farbthema-Dateien/Verzeichnisse (ersetzt Standard `themes/`). Siehe [Designs](#themes) | `"./themes/"` |

431| `lspServers` | string\|array\|object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) Konfigurationen für Code-Intelligenz (Gehe zu Definition, finde Referenzen, etc.) | `"./.lsp.json"` |432| `lspServers` | string\|array\|object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) Konfigurationen für Code-Intelligenz (Gehe zu Definition, finde Referenzen, etc.) | `"./.lsp.json"` |

432| `monitors` | string\|array | Hintergrund-[Monitor](/de/tools-reference#monitor-tool) Konfigurationen, die automatisch starten, wenn das Plugin aktiv ist. Siehe [Monitore](#monitors) | `"./monitors.json"` |433| `experimental.themes` | string\|array | Farbthema-Dateien/Verzeichnisse (ersetzt Standard `themes/`). Siehe [Designs](#themes) | `"./themes/"` |

434| `experimental.monitors` | string\|array | Hintergrund-[Monitor](/de/tools-reference#monitor-tool) Konfigurationen, die automatisch starten, wenn das Plugin aktiv ist. Siehe [Monitore](#monitors) | `"./monitors.json"` |

433| `userConfig` | object | Benutzerkonfigurierbare Werte, die bei der Aktivierung abgefragt werden. Siehe [Benutzerkonfiguration](#user-configuration) | Siehe unten |435| `userConfig` | object | Benutzerkonfigurierbare Werte, die bei der Aktivierung abgefragt werden. Siehe [Benutzerkonfiguration](#user-configuration) | Siehe unten |

434| `channels` | array | Kanal-Deklarationen für Nachrichteninjection (Telegram, Slack, Discord Stil). Siehe [Kanäle](#channels) | Siehe unten |436| `channels` | array | Kanal-Deklarationen für Nachrichteninjection (Telegram, Slack, Discord Stil). Siehe [Kanäle](#channels) | Siehe unten |

435| `dependencies` | array | Andere Plugins, die dieses Plugin benötigt, optional mit semver Versionsbeschränkungen. Siehe [Plugin-Abhängigkeitsversionen einschränken](/de/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |437| `dependencies` | array | Andere Plugins, die dieses Plugin benötigt, optional mit semver Versionsbeschränkungen. Siehe [Plugin-Abhängigkeitsversionen einschränken](/de/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

436 438 

439### Experimentelle Komponenten

440 

441Komponenten unter dem `experimental` Schlüssel, `themes` und `monitors`, haben ein Manifest-Schema, das sich zwischen Releases ändern kann, während sie stabilisieren. Wo Sie sie deklarieren, ist eine separate Migration: das Top-Level funktioniert immer noch, `claude plugin validate` warnt, und eine zukünftige Version wird `experimental.*` erfordern.

442 

437### Benutzerkonfiguration443### Benutzerkonfiguration

438 444 

439Das `userConfig` Feld deklariert Werte, die Claude Code den Benutzer abfragt, wenn das Plugin aktiviert wird. Verwenden Sie dies, anstatt Benutzer zu zwingen, `settings.json` manuell zu bearbeiten.445Das `userConfig` Feld deklariert Werte, die Claude Code den Benutzer abfragt, wenn das Plugin aktiviert wird. Verwenden Sie dies, anstatt Benutzer zu zwingen, `settings.json` manuell zu bearbeiten.


504 510 

505### Pfad-Verhaltensregeln511### Pfad-Verhaltensregeln

506 512 

507Für `skills`, `commands`, `agents`, `outputStyles`, `themes` und `monitors` ersetzt ein benutzerdefinierter Pfad den Standard. Wenn das Manifest `skills` angibt, wird das Standard-Verzeichnis `skills/` nicht gescannt; wenn es `monitors` angibt, wird die Standard-Datei `monitors/monitors.json` nicht geladen. [Hooks](#hooks), [MCP-Server](#mcp-servers) und [LSP-Server](#lsp-servers) haben unterschiedliche Semantiken für die Behandlung mehrerer Quellen.513Für `skills`, `commands`, `agents`, `outputStyles`, `experimental.themes` und `experimental.monitors` ersetzt ein benutzerdefinierter Pfad den Standard. Wenn das Manifest `skills` angibt, wird das Standard-Verzeichnis `skills/` nicht gescannt; wenn es `experimental.monitors` angibt, wird die Standard-Datei `monitors/monitors.json` nicht geladen. [Hooks](#hooks), [MCP-Server](#mcp-servers) und [LSP-Server](#lsp-servers) haben unterschiedliche Semantiken für die Behandlung mehrerer Quellen.

508 514 

509* Alle Pfade müssen relativ zum Plugin-Root sein und mit `./` beginnen515* Alle Pfade müssen relativ zum Plugin-Root sein und mit `./` beginnen

510* Komponenten aus benutzerdefinierten Pfaden verwenden die gleichen Benennungs- und Namensgebungsregeln516* Komponenten aus benutzerdefinierten Pfaden verwenden die gleichen Benennungs- und Namensgebungsregeln


605 611 

606Plugins werden auf eine von zwei Arten angegeben:612Plugins werden auf eine von zwei Arten angegeben:

607 613 

608* Durch `claude --plugin-dir`, für die Dauer einer Session.614* Durch `claude --plugin-dir` oder `claude --plugin-url`, für die Dauer einer Session.

609* Durch einen Marktplatz, installiert für zukünftige Sessions.615* Durch einen Marktplatz, installiert für zukünftige Sessions.

610 616 

611Aus Sicherheits- und Verifizierungsgründen kopiert Claude Code *Marktplatz*-Plugins in den lokalen **Plugin-Cache** des Benutzers (`~/.claude/plugins/cache`), anstatt sie an Ort und Stelle zu verwenden. Das Verständnis dieses Verhaltens ist wichtig, wenn Sie Plugins entwickeln, die auf externe Dateien verweisen.617Aus Sicherheits- und Verifizierungsgründen kopiert Claude Code *Marktplatz*-Plugins in den lokalen **Plugin-Cache** des Benutzers (`~/.claude/plugins/cache`), anstatt sie an Ort und Stelle zu verwenden. Das Verständnis dieses Verhaltens ist wichtig, wenn Sie Plugins entwickeln, die auf externe Dateien verweisen.

routines.md +70 −18

Details

14 14 

15Jede Routine kann einen oder mehrere Trigger haben:15Jede Routine kann einen oder mehrere Trigger haben:

16 16 

17* **Geplant**: Ausführung nach einem wiederkehrenden Zeitplan wie stündlich, nächtlich oder wöchentlich17* **Geplant**: Ausführung nach einem wiederkehrenden Zeitplan wie stündlich, nächtlich oder wöchentlich, oder einmalig zu einem bestimmten zukünftigen Zeitpunkt

18* **API**: Auslösung auf Anforderung durch Senden eines HTTP POST an einen Routine-spezifischen Endpunkt mit einem Bearer-Token18* **API**: Auslösung auf Anforderung durch Senden eines HTTP POST an einen Routine-spezifischen Endpunkt mit einem Bearer-Token

19* **GitHub**: Automatische Ausführung als Reaktion auf Repository-Ereignisse wie Pull Requests oder Releases19* **GitHub**: Automatische Ausführung als Reaktion auf Repository-Ereignisse wie Pull Requests oder Releases

20 20 


44 44 

45## Erstellen Sie eine Routine45## Erstellen Sie eine Routine

46 46 

47Erstellen Sie eine Routine aus dem Web, der Desktop-App oder der CLI. Alle drei Oberflächen schreiben auf dasselbe Cloud-Konto, sodass eine Routine, die Sie in der CLI erstellen, sofort unter claude.ai/code/routines angezeigt wird. Klicken Sie in der Desktop-App auf **Neue Aufgabe** und wählen Sie **Neue Remote-Aufgabe**; wenn Sie stattdessen **Neue lokale Aufgabe** wählen, wird eine [lokale Desktop-geplante Aufgabe](/de/desktop-scheduled-tasks) erstellt, die auf Ihrem Computer ausgeführt wird und keine Routine ist.47Erstellen Sie eine Routine aus dem Web unter [claude.ai/code/routines](https://claude.ai/code/routines), aus der Desktop-App oder aus der CLI. Alle drei Oberflächen schreiben auf dasselbe Cloud-Konto, sodass eine Routine, die Sie in einer erstellen, sofort in den anderen angezeigt wird. Klicken Sie in der Desktop-App auf **Routinen** in der Seitenleiste und dann auf **Neue Routine**, und wählen Sie **Remote**; wenn Sie stattdessen **Lokal** wählen, wird eine [Desktop-geplante Aufgabe](/de/desktop-scheduled-tasks) erstellt, die auf Ihrem Computer ausgeführt wird, anstatt in der Cloud.

48 48 

49Das Erstellungsformular richtet den Prompt der Routine, Repositories, Umgebung, Konnektoren und Trigger ein.49Das Erstellungsformular richtet den Prompt der Routine, Repositories, Umgebung, Konnektoren und Trigger ein.

50 50 


66 </Step>66 </Step>

67 67 

68 <Step title="Wählen Sie Repositories aus">68 <Step title="Wählen Sie Repositories aus">

69 Fügen Sie ein oder mehrere GitHub-Repositories hinzu, in denen Claude arbeiten kann. Jedes Repository wird zu Beginn einer Ausführung geklont, beginnend mit dem Standard-Branch. Claude erstellt `claude/`-prefixierte Branches für seine Änderungen. Um Pushes zu jedem Branch zu ermöglichen, aktivieren Sie **Uneingeschränkte Branch-Pushes zulassen** für dieses Repository.69 Fügen Sie ein oder mehrere GitHub-Repositories hinzu, in denen Claude arbeiten kann. Jedes Repository wird zu Beginn einer Ausführung geklont, beginnend mit dem Standard-Branch. Claude erstellt `claude/`-prefixierte Branches für seine Änderungen.

70 </Step>70 </Step>

71 71 

72 <Step title="Wählen Sie eine Umgebung aus">72 <Step title="Wählen Sie eine Umgebung aus">


76 * **Umgebungsvariablen**: Stellen Sie API-Schlüssel, Tokens oder andere Geheimnisse bereit, die Claude verwenden kann76 * **Umgebungsvariablen**: Stellen Sie API-Schlüssel, Tokens oder andere Geheimnisse bereit, die Claude verwenden kann

77 * **Setup-Skript**: Installieren Sie Abhängigkeiten und Tools, die die Routine benötigt. Das Ergebnis wird [zwischengespeichert](/de/claude-code-on-the-web#environment-caching), sodass das Skript nicht bei jeder Sitzung erneut ausgeführt wird77 * **Setup-Skript**: Installieren Sie Abhängigkeiten und Tools, die die Routine benötigt. Das Ergebnis wird [zwischengespeichert](/de/claude-code-on-the-web#environment-caching), sodass das Skript nicht bei jeder Sitzung erneut ausgeführt wird

78 78 

79 Eine **Standard**-Umgebung wird bereitgestellt. Um eine benutzerdefinierte Umgebung zu verwenden, [erstellen Sie eine](/de/claude-code-on-the-web#the-cloud-environment), bevor Sie die Routine erstellen.79 Eine **Standard**-Umgebung wird mit **Vertrauenswürdigem** Netzwerkzugriff bereitgestellt, der den [Standard-Satz](/de/claude-code-on-the-web#default-allowed-domains) von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungsdomänen ermöglicht, aber alles andere blockiert. Wenn Ihre Routine Ihre eigenen Dienste oder eine Domain außerhalb dieser Liste erreichen muss, bearbeiten Sie den [Netzwerkzugriff](/de/claude-code-on-the-web#network-access) der Umgebung vor der Ausführung. Um eine separate Umgebung zu verwenden, [erstellen Sie eine](/de/claude-code-on-the-web#configure-your-environment) zuerst.

80 </Step>80 </Step>

81 81 

82 <Step title="Wählen Sie einen Trigger aus">82 <Step title="Wählen Sie einen Trigger aus">


84 84 

85 <Tabs>85 <Tabs>

86 <Tab title="Zeitplan">86 <Tab title="Zeitplan">

87 Wählen Sie eine voreingestellte Häufigkeit: stündlich, täglich, Wochentage oder wöchentlich. Siehe [Zeitplan-Trigger hinzufügen](#add-a-schedule-trigger) für Zeitzonenbehandlung, Staffelung und benutzerdefinierte Cron-Intervalle.87 Wählen Sie eine voreingestellte Häufigkeit für eine wiederkehrende Ausführung, oder planen Sie eine einmalige Ausführung zu einem bestimmten Zeitstempel. Siehe [Zeitplan-Trigger hinzufügen](#add-a-schedule-trigger) für Zeitzonenbehandlung, Staffelung, benutzerdefinierte Cron-Intervalle und einmalige Ausführungen.

88 </Tab>88 </Tab>

89 89 

90 <Tab title="GitHub-Ereignis">90 <Tab title="GitHub-Ereignis">


97 </Tabs>97 </Tabs>

98 </Step>98 </Step>

99 99 

100 <Step title="Überprüfen Sie Konnektoren">100 <Step title="Überprüfen Sie Konnektoren und Berechtigungen">

101 Alle Ihre verbundenen [MCP-Konnektoren](/de/mcp) sind standardmäßig enthalten. Entfernen Sie alle, die die Routine nicht benötigt. Konnektoren geben Claude während jeder Ausführung Zugriff auf externe Dienste wie Slack, Linear oder Google Drive.101 Die Registerkarten **Konnektoren** und **Berechtigungen** am unteren Ende des Formulars steuern, worauf die Routine zugreifen kann.

102 

103 Unter Konnektoren sind alle Ihre verbundenen [MCP-Konnektoren](/de/mcp) standardmäßig enthalten. Entfernen Sie alle, die die Routine nicht benötigt. Claude kann alle Tools aus einem eingebundenen Konnektor verwenden, einschließlich Schreibvorgänge, ohne während einer Ausführung um Genehmigung zu fragen.

104 

105 Unter Berechtigungen aktivieren Sie **Uneingeschränkte Branch-Pushes zulassen** für alle Repositories, in denen Claude zu bestehenden Branches pushen können soll, anstatt nur zu `claude/`-prefixierten.

102 </Step>106 </Step>

103 107 

104 <Step title="Erstellen Sie die Routine">108 <Step title="Erstellen Sie die Routine">


110 114 

111### Erstellen aus der CLI115### Erstellen aus der CLI

112 116 

113Führen Sie `/schedule` in einer beliebigen Sitzung aus, um eine geplante Routine im Gespräch zu erstellen. Sie können auch eine Beschreibung direkt übergeben, wie in `/schedule daily PR review at 9am`. Claude führt Sie durch die gleichen Informationen, die das Web-Formular sammelt, und speichert dann die Routine in Ihrem Konto.117Führen Sie `/schedule` in einer beliebigen Sitzung aus, um eine geplante Routine im Gespräch zu erstellen. Sie können auch eine Beschreibung direkt übergeben, für eine wiederkehrende Routine wie `/schedule daily PR review at 9am` oder eine einmalige wie `/schedule clean up feature flag in one week`. Claude führt Sie durch die gleichen Informationen, die das Web-Formular sammelt, und speichert dann die Routine in Ihrem Konto.

114 118 

115`/schedule` in der CLI erstellt nur geplante Routinen. Um einen API- oder GitHub-Trigger hinzuzufügen, bearbeiten Sie die Routine im Web unter [claude.ai/code/routines](https://claude.ai/code/routines).119`/schedule` in der CLI erstellt nur geplante Routinen. Um einen API- oder GitHub-Trigger hinzuzufügen, bearbeiten Sie die Routine im Web unter [claude.ai/code/routines](https://claude.ai/code/routines).

116 120 

117Die CLI unterstützt auch die Verwaltung vorhandener Routinen. Führen Sie `/schedule list` aus, um alle Routinen anzuzeigen, `/schedule update`, um eine zu ändern, oder `/schedule run`, um sie sofort auszulösen.121Die CLI unterstützt auch die Verwaltung vorhandener Routinen. Führen Sie `/schedule list` aus, um alle Routinen anzuzeigen, `/schedule update`, um eine zu ändern, oder `/schedule run`, um sie sofort auszulösen.

118 122 

119### Erstellen aus der Desktop-App123## Trigger konfigurieren

120 

121Öffnen Sie die **Schedule**-Seite in der Desktop-App, klicken Sie auf **Neue Aufgabe** und wählen Sie **Neue Remote-Aufgabe**. Die Desktop-App zeigt sowohl lokale geplante Aufgaben als auch Routinen im gleichen Raster an. Siehe [Desktop-geplante Aufgaben](/de/desktop-scheduled-tasks) für Details zur lokalen Option.

122 

123## Konfigurieren Sie Trigger

124 124 

125Eine Routine startet, wenn einer ihrer Trigger passt. Sie können jede Kombination von Schedule-, API- und GitHub-Triggern an die gleiche Routine anhängen und sie jederzeit aus dem Abschnitt **Trigger auswählen** des Bearbeitungsformulars der Routine hinzufügen oder entfernen.125Eine Routine startet, wenn einer ihrer Trigger passt. Sie können jede Kombination von Schedule-, API- und GitHub-Triggern an die gleiche Routine anhängen und sie jederzeit aus dem Abschnitt **Trigger auswählen** des Bearbeitungsformulars der Routine hinzufügen oder entfernen.

126 126 

127### Zeitplan-Trigger hinzufügen127### Schedule-Trigger hinzufügen

128 128 

129Ein Schedule-Trigger führt die Routine nach einem wiederkehrenden Zeitplan aus. Wählen Sie eine voreingestellte Häufigkeit im Abschnitt **Trigger auswählen**: stündlich, täglich, Wochentage oder wöchentlich. Zeiten werden in Ihrer lokalen Zone eingegeben und automatisch konvertiert, sodass die Routine zu dieser Wanduhr-Zeit unabhängig davon ausgeführt wird, wo sich die Cloud-Infrastruktur befindet.129Ein Schedule-Trigger führt die Routine nach einem wiederkehrenden Zeitplan oder einmalig zu einem bestimmten zukünftigen Zeitpunkt aus. Wählen Sie eine voreingestellte Häufigkeit im Abschnitt **Trigger auswählen**: stündlich, täglich, Wochentage oder wöchentlich. Zeiten werden in Ihrer lokalen Zone eingegeben und automatisch konvertiert, sodass die Routine zu dieser Wanduhr-Zeit unabhängig davon ausgeführt wird, wo sich die Cloud-Infrastruktur befindet.

130 130 

131Ausführungen können aufgrund von Staffelung einige Minuten nach der geplanten Zeit beginnen. Der Offset ist für jede Routine konsistent.131Ausführungen können aufgrund von Staffelung einige Minuten nach der geplanten Zeit beginnen. Der Offset ist für jede Routine konsistent.

132 132 

133Für ein benutzerdefiniertes Intervall wie alle zwei Stunden oder den ersten jedes Monats wählen Sie die nächste Voreinstellung im Formular aus und führen dann `/schedule update` in der CLI aus, um einen spezifischen Cron-Ausdruck festzulegen. Das Mindestintervall beträgt eine Stunde; Ausdrücke, die häufiger ausgeführt werden, werden abgelehnt.133Für ein benutzerdefiniertes Intervall wie alle zwei Stunden oder den ersten jedes Monats wählen Sie die nächste Voreinstellung im Formular aus und führen dann `/schedule update` in der CLI aus, um einen spezifischen Cron-Ausdruck festzulegen. Das Mindestintervall beträgt eine Stunde; Ausdrücke, die häufiger ausgeführt werden, werden abgelehnt.

134 134 

135#### Einmalige Ausführung planen

136 

137Ein einmaliger Schedule-Trigger führt die Routine zu einem bestimmten Zeitstempel aus. Verwenden Sie ihn, um sich später in der Woche selbst zu erinnern, um einen Cleanup-PR nach Abschluss eines Rollouts zu öffnen, oder um eine Folgeaufgabe zu starten, wenn eine vorgelagerte Änderung ankommt. Nach der Ausführung der Routine wird sie automatisch deaktiviert und die Web-UI markiert sie als **Ausgeführt**. Um sie erneut auszuführen, bearbeiten Sie die Routine und legen Sie einen neuen einmaligen Zeitpunkt fest.

138 

139Erstellen Sie eine einmalige Ausführung aus der CLI, indem Sie die Zeit in natürlicher Sprache beschreiben. Claude löst den Ausdruck gegen die aktuelle Zeit auf und bestätigt den absoluten Zeitstempel vor dem Speichern.

140 

141```text theme={null}

142/schedule tomorrow at 9am, summarize yesterday's merged PRs

143```

144 

145```text theme={null}

146/schedule in 2 weeks, open a cleanup PR that removes the feature flag

147```

148 

149Die gleiche lokale-zu-UTC-Konvertierung wie bei wiederkehrenden Schedules gilt auch für einmalige Zeitstempel.

150 

151Einmalige Ausführungen zählen nicht gegen das tägliche Routine-Ausführungs-Limit. Sie verbrauchen die reguläre Abonnement-Nutzung Ihres Plans wie jede andere Sitzung. Weitere Informationen finden Sie unter [Nutzung und Limits](#usage-and-limits).

152 

135### API-Trigger hinzufügen153### API-Trigger hinzufügen

136 154 

137Ein API-Trigger gibt einer Routine einen dedizierten HTTP-Endpunkt. Das Posten zum Endpunkt mit dem Bearer-Token der Routine startet eine neue Sitzung und gibt eine Sitzungs-URL zurück. Verwenden Sie dies, um Claude Code in Alerting-Systeme, Deploy-Pipelines, interne Tools oder überall dort zu integrieren, wo Sie eine authentifizierte HTTP-Anfrage stellen können.155Ein API-Trigger gibt einer Routine einen dedizierten HTTP-Endpunkt. Das Posten zum Endpunkt mit dem Bearer-Token der Routine startet eine neue Sitzung und gibt eine Sitzungs-URL zurück. Verwenden Sie dies, um Claude Code in Alerting-Systeme, Deploy-Pipelines, interne Tools oder überall dort zu integrieren, wo Sie eine authentifizierte HTTP-Anfrage stellen können.


144 </Step>162 </Step>

145 163 

146 <Step title="Fügen Sie einen API-Trigger hinzu">164 <Step title="Fügen Sie einen API-Trigger hinzu">

147 Scrollen Sie zum Abschnitt **Trigger auswählen** unter dem Prompt, klicken Sie auf **Weiteren Trigger hinzufügen** und wählen Sie **API**.165 Scrollen Sie zum Abschnitt **Trigger auswählen** unter dem Feld **Anweisungen**, klicken Sie auf **Weiteren Trigger hinzufügen** und wählen Sie **API**.

148 </Step>166 </Step>

149 167 

150 <Step title="Kopieren Sie die URL und generieren Sie einen Token">168 <Step title="Kopieren Sie die URL und generieren Sie einen Token">


273 291 

274Klicken Sie auf eine beliebige Ausführung, um sie als vollständige Sitzung zu öffnen. Von dort aus können Sie sehen, was Claude getan hat, Änderungen überprüfen, einen Pull Request erstellen oder das Gespräch fortsetzen. Jede Ausführungs-Sitzung funktioniert wie jede andere Sitzung: Verwenden Sie das Dropdown-Menü neben dem Sitzungstitel, um sie umzubenennen, zu archivieren oder zu löschen.292Klicken Sie auf eine beliebige Ausführung, um sie als vollständige Sitzung zu öffnen. Von dort aus können Sie sehen, was Claude getan hat, Änderungen überprüfen, einen Pull Request erstellen oder das Gespräch fortsetzen. Jede Ausführungs-Sitzung funktioniert wie jede andere Sitzung: Verwenden Sie das Dropdown-Menü neben dem Sitzungstitel, um sie umzubenennen, zu archivieren oder zu löschen.

275 293 

294<Note>

295 Ein grüner Status in der Ausführungsliste bedeutet, dass die Sitzung gestartet und beendet wurde, ohne dass ein Infrastruktur-Fehler auftrat. Dies bedeutet nicht, dass die Aufgabe in Ihrem Prompt erfolgreich war. Öffnen Sie die Ausführung, um das Transkript zu lesen und zu bestätigen, was Claude tatsächlich getan hat. Blockierte Netzwerkanfragen, fehlende Konnektoren-Tools und Fehler auf Aufgabenebene werden dort angezeigt, anstatt im Status-Indikator.

296</Note>

297 

276### Bearbeiten und steuern Sie Routinen298### Bearbeiten und steuern Sie Routinen

277 299 

278Von der Routine-Detail-Seite können Sie:300Von der Routine-Detail-Seite können Sie:


298 320 

299Um Konnektoren außerhalb des Routine-Formulars zu verwalten oder hinzuzufügen, besuchen Sie **Einstellungen > Konnektoren** auf claude.ai oder verwenden Sie `/schedule update` in der CLI.321Um Konnektoren außerhalb des Routine-Formulars zu verwalten oder hinzuzufügen, besuchen Sie **Einstellungen > Konnektoren** auf claude.ai oder verwenden Sie `/schedule update` in der CLI.

300 322 

301### Umgebungen323### Umgebungen und Netzwerkzugriff

324 

325Jede Routine wird in einer [Cloud-Umgebung](/de/claude-code-on-the-web#the-cloud-environment) ausgeführt, die Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte steuert. Die Routine erbt die Netzwerk-Richtlinie der Umgebung bei jeder Ausführung.

302 326 

303Jede Routine wird in einer [Cloud-Umgebung](/de/claude-code-on-the-web#the-cloud-environment) ausgeführt, die Netzwerkzugriff, Umgebungsvariablen und Setup-Skripte steuert. Konfigurieren Sie Umgebungen vor dem Erstellen einer Routine, um Claude Zugriff auf APIs zu geben, Abhängigkeiten zu installieren oder den Netzwerk-Umfang zu beschränken. Siehe [Cloud-Umgebung](/de/claude-code-on-the-web#the-cloud-environment) für das vollständige Setup-Handbuch.327Die **Standard**-Umgebung verwendet **Vertrauenswürdigen** Netzwerkzugriff: Die [Standard-Zulassungsliste](/de/claude-code-on-the-web#default-allowed-domains) von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungs-Domains ist erreichbar, aber beliebige Domains sind nicht. Ausgehende Anfragen an andere Hosts schlagen mit `403` und `x-deny-reason: host_not_allowed` fehl. MCP-Konnektoren-Datenverkehr wird über Anthropic-Server geleitet, daher funktionieren die Konnektoren, die Sie der Routine hinzufügen, ohne dass Sie ihre Hosts zu **Zulässige Domains** hinzufügen müssen. Entfernen Sie alle Konnektoren, die Sie nicht benötigen, unter [Konnektoren](#konnektoren).

328 

329Um zusätzliche Domains zuzulassen:

330 

331<Steps>

332 <Step title="Öffnen Sie die Routine zur Bearbeitung">

333 Klicken Sie auf der Detail-Seite der Routine auf das Stiftsymbol, um **Routine bearbeiten** zu öffnen.

334 </Step>

335 

336 <Step title="Öffnen Sie die Umgebungsauswahl">

337 Wählen Sie unter dem Feld **Anweisungen** das Cloud-Symbol aus, das den Namen Ihrer Umgebung anzeigt, z. B. **Standard**.

338 </Step>

339 

340 <Step title="Öffnen Sie die Umgebungseinstellungen">

341 Bewegen Sie den Mauszeiger über die Umgebung in der Liste und klicken Sie auf das Einstellungssymbol, das auf der rechten Seite angezeigt wird.

342 </Step>

343 

344 <Step title="Ändern Sie die Netzwerkzugriff-Ebene">

345 Ändern Sie im Dialog **Cloud-Umgebung aktualisieren** den **Netzwerkzugriff** zu **Benutzerdefiniert** und geben Sie Ihre Domains in **Zulässige Domains** ein. Aktivieren Sie **Auch Standard-Liste häufiger Paket-Manager einschließen**, um die [Standard-Zulassungsliste](/de/claude-code-on-the-web#default-allowed-domains) neben Ihren benutzerdefinierten Domains zu behalten. Wählen Sie stattdessen **Vollständig** für uneingeschränkten Zugriff.

346 </Step>

347 

348 <Step title="Speichern">

349 Klicken Sie auf **Änderungen speichern**. Die neue Richtlinie wird ab der nächsten Ausführung angewendet.

350 </Step>

351</Steps>

352 

353Siehe [Netzwerkzugriff](/de/claude-code-on-the-web#network-access) für Details zu Zugriffsstufen und der Standard-Zulassungsliste.

304 354 

305## Nutzung und Limits355## Nutzung und Limits

306 356 


308 358 

309Wenn eine Routine das tägliche Limit oder Ihr Abonnement-Nutzungslimit erreicht, können Organisationen mit aktivierter zusätzlicher Nutzung Routinen weiterhin auf gemessener Überschreitung ausführen. Ohne zusätzliche Nutzung werden weitere Ausführungen abgelehnt, bis sich das Fenster zurückgesetzt hat. Aktivieren Sie zusätzliche Nutzung unter **Einstellungen > Abrechnung** auf claude.ai.359Wenn eine Routine das tägliche Limit oder Ihr Abonnement-Nutzungslimit erreicht, können Organisationen mit aktivierter zusätzlicher Nutzung Routinen weiterhin auf gemessener Überschreitung ausführen. Ohne zusätzliche Nutzung werden weitere Ausführungen abgelehnt, bis sich das Fenster zurückgesetzt hat. Aktivieren Sie zusätzliche Nutzung unter **Einstellungen > Abrechnung** auf claude.ai.

310 360 

361Einmalige Ausführungen werden nicht auf das tägliche Routine-Ausführungslimit angerechnet. Sie verbrauchen Ihre reguläre Abonnement-Nutzung wie jede andere Sitzung, sind aber von der täglichen Routine-Ausführungszulage pro Konto ausgenommen.

362 

311## Verwandte Ressourcen363## Verwandte Ressourcen

312 364 

313* [`/loop` und In-Session-Planung](/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung365* [`/loop` und In-Session-Planung](/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung

settings.md +20 −16

Details

164| `allowManagedHooksOnly` | (Nur verwaltete Einstellungen) Nur verwaltete Hooks, SDK-Hooks und Hooks von Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, werden geladen. Benutzer-, Projekt- und alle anderen Plugin-Hooks werden blockiert. Siehe [Hook-Konfiguration](#hook-configuration) | `true` |164| `allowManagedHooksOnly` | (Nur verwaltete Einstellungen) Nur verwaltete Hooks, SDK-Hooks und Hooks von Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen aktiviert sind, werden geladen. Benutzer-, Projekt- und alle anderen Plugin-Hooks werden blockiert. Siehe [Hook-Konfiguration](#hook-configuration) | `true` |

165| `allowManagedMcpServersOnly` | (Nur verwaltete Einstellungen) Nur `allowedMcpServers` aus verwalteten Einstellungen werden berücksichtigt. `deniedMcpServers` wird weiterhin aus allen Quellen zusammengeführt. Benutzer können weiterhin MCP-Server hinzufügen, aber nur die von Admin definierte Allowlist gilt. Siehe [Verwaltete MCP-Konfiguration](/de/mcp#managed-mcp-configuration) | `true` |165| `allowManagedMcpServersOnly` | (Nur verwaltete Einstellungen) Nur `allowedMcpServers` aus verwalteten Einstellungen werden berücksichtigt. `deniedMcpServers` wird weiterhin aus allen Quellen zusammengeführt. Benutzer können weiterhin MCP-Server hinzufügen, aber nur die von Admin definierte Allowlist gilt. Siehe [Verwaltete MCP-Konfiguration](/de/mcp#managed-mcp-configuration) | `true` |

166| `allowManagedPermissionRulesOnly` | (Nur verwaltete Einstellungen) Verhindern Sie, dass Benutzer- und Projekteinstellungen `allow`, `ask` oder `deny` Berechtigungsregeln definieren. Nur Regeln in verwalteten Einstellungen gelten. Siehe [Nur verwaltete Einstellungen](/de/permissions#managed-only-settings) | `true` |166| `allowManagedPermissionRulesOnly` | (Nur verwaltete Einstellungen) Verhindern Sie, dass Benutzer- und Projekteinstellungen `allow`, `ask` oder `deny` Berechtigungsregeln definieren. Nur Regeln in verwalteten Einstellungen gelten. Siehe [Nur verwaltete Einstellungen](/de/permissions#managed-only-settings) | `true` |

167| `alwaysThinkingEnabled` | Aktivieren Sie [erweitertes Denken](/de/model-config#extended-thinking) standardmäßig für alle Sitzungen. Normalerweise über den Befehl `/config` konfiguriert, anstatt direkt zu bearbeiten | `true` |167| `alwaysThinkingEnabled` | Aktivieren Sie [erweitertes Denken](/de/model-config#extended-thinking) standardmäßig für alle Sitzungen. Normalerweise über den Befehl `/config` konfiguriert, anstatt direkt zu bearbeiten. Um das Denken unabhängig von dieser Einstellung auszuschalten, setzen Sie [`CLAUDE_CODE_DISABLE_THINKING`](/de/env-vars) in `env` | `true` |

168| `apiKeyHelper` | Benutzerdefiniertes Skript, das in `/bin/sh` ausgeführt werden soll, um einen Auth-Wert zu generieren. Dieser Wert wird als `X-Api-Key` und `Authorization: Bearer` Header für Modellanfragen gesendet | `/bin/generate_temp_api_key.sh` |168| `apiKeyHelper` | Benutzerdefiniertes Skript, das in `/bin/sh` ausgeführt werden soll, um einen Auth-Wert zu generieren. Dieser Wert wird als `X-Api-Key` und `Authorization: Bearer` Header für Modellanfragen gesendet. Setzen Sie das Aktualisierungsintervall mit [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/de/env-vars) | `/bin/generate_temp_api_key.sh` |

169| `attribution` | Passen Sie die Zuschreibung für Git-Commits und Pull Requests an. Siehe [Zuschreibungseinstellungen](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |169| `attribution` | Passen Sie die Zuschreibung für Git-Commits und Pull Requests an. Siehe [Zuschreibungseinstellungen](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

170| `autoMemoryDirectory` | Benutzerdefiniertes Verzeichnis für [automatisches Speichern](/de/memory#storage-location). Akzeptiert einen absoluten Pfad oder einen `~/`-erweiterten Pfad. Akzeptiert von Richtlinien- und Benutzereinstellungen sowie vom Flag `--settings`. Nicht akzeptiert von Projekt- oder lokalen Einstellungen, da ein geklontes Repository eine Datei bereitstellen könnte, um Speicherschreibvorgänge an sensible Orte umzuleiten | `"~/my-memory-dir"` |170| `autoMemoryDirectory` | Benutzerdefiniertes Verzeichnis für [automatisches Speichern](/de/memory#storage-location). Akzeptiert einen absoluten Pfad oder einen `~/`-erweiterten Pfad. Akzeptiert von Richtlinien- und Benutzereinstellungen sowie vom Flag `--settings`. Nicht akzeptiert von Projekt- oder lokalen Einstellungen, da ein geklontes Repository eine Datei bereitstellen könnte, um Speicherschreibvorgänge an sensible Orte umzuleiten | `"~/my-memory-dir"` |

171| `autoMemoryEnabled` | Aktivieren Sie [automatisches Speichern](/de/memory#enable-or-disable-auto-memory). Wenn `false`, liest Claude nicht aus dem oder schreibt nicht in das automatische Speicherverzeichnis. Standard: `true`. Sie können dies auch während einer Sitzung mit `/memory` umschalten | `false` |171| `autoMemoryEnabled` | Aktivieren Sie [automatisches Speichern](/de/memory#enable-or-disable-auto-memory). Wenn `false`, liest Claude nicht aus dem oder schreibt nicht in das automatische Speicherverzeichnis. Standard: `true`. Sie können dies auch während einer Sitzung mit `/memory` umschalten. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/de/env-vars) in `env` | `false` |

172| `autoMode` | Passen Sie an, was der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer blockiert und erlaubt. Enthält `environment`, `allow` und `soft_deny` Arrays von Prosa-Regeln. Schließen Sie die Literalzeichenkette `"$defaults"` in ein Array ein, um die integrierten Regeln an dieser Position zu erben. Siehe [Konfigurieren Sie den Auto-Modus](/de/auto-mode-config). Nicht aus gemeinsamen Projekteinstellungen gelesen | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |172| `autoMode` | Passen Sie an, was der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer blockiert und erlaubt. Enthält `environment`, `allow` und `soft_deny` Arrays von Prosa-Regeln. Schließen Sie die Literalzeichenkette `"$defaults"` in ein Array ein, um die integrierten Regeln an dieser Position zu erben. Siehe [Konfigurieren Sie den Auto-Modus](/de/auto-mode-config). Nicht aus gemeinsamen Projekteinstellungen gelesen | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

173| `autoScrollEnabled` | Im [Fullscreen-Rendering](/de/fullscreen) folgen Sie neuer Ausgabe zum unteren Ende des Gesprächs. Standard: `true`. Wird in `/config` als **Auto-scroll** angezeigt. Berechtigungsaufforderungen scrollen weiterhin in die Ansicht, wenn dies ausgeschaltet ist | `false` |173| `autoScrollEnabled` | Im [Fullscreen-Rendering](/de/fullscreen) folgen Sie neuer Ausgabe zum unteren Ende des Gesprächs. Standard: `true`. Wird in `/config` als **Auto-scroll** angezeigt. Berechtigungsaufforderungen scrollen weiterhin in die Ansicht, wenn dies ausgeschaltet ist | `false` |

174| `autoUpdatesChannel` | Release-Kanal zum Folgen von Updates. Verwenden Sie `"stable"` für eine Version, die normalerweise etwa eine Woche alt ist und Versionen mit großen Regressionen überspringt, oder `"latest"` (Standard) für die neueste Version | `"stable"` |174| `autoUpdatesChannel` | Release-Kanal zum Folgen von Updates. Verwenden Sie `"stable"` für eine Version, die normalerweise etwa eine Woche alt ist und Versionen mit großen Regressionen überspringt, oder `"latest"` (Standard) für die neueste Version. Um Auto-Updates vollständig zu deaktivieren, setzen Sie [`DISABLE_AUTOUPDATER`](/de/setup#disable-auto-updates) in `env` | `"stable"` |

175| `availableModels` | Beschränken Sie, welche Modelle Benutzer über `/model`, `--model` oder `ANTHROPIC_MODEL` auswählen können. Beeinflusst nicht die Standardoption. Siehe [Modellauswahl einschränken](/de/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |175| `availableModels` | Beschränken Sie, welche Modelle Benutzer über `/model`, `--model` oder `ANTHROPIC_MODEL` auswählen können. Beeinflusst nicht die Standardoption. Siehe [Modellauswahl einschränken](/de/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |

176| `awaySummaryEnabled` | Zeigen Sie eine einzeilige Sitzungszusammenfassung an, wenn Sie nach einigen Minuten zur Befehlszeile zurückkehren. Setzen Sie auf `false` oder deaktivieren Sie Sitzungszusammenfassung in `/config`, um zu deaktivieren. Gleich wie [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/de/env-vars) | `true` |176| `awaySummaryEnabled` | Zeigen Sie eine einzeilige Sitzungszusammenfassung an, wenn Sie nach einigen Minuten zur Befehlszeile zurückkehren. Setzen Sie auf `false` oder deaktivieren Sie Sitzungszusammenfassung in `/config`, um zu deaktivieren. Gleich wie [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/de/env-vars) | `true` |

177| `awsAuthRefresh` | Benutzerdefiniertes Skript, das das `.aws`-Verzeichnis ändert (siehe [erweiterte Anmeldedatenkonfiguration](/de/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |177| `awsAuthRefresh` | Benutzerdefiniertes Skript, das das `.aws`-Verzeichnis ändert (siehe [erweiterte Anmeldedatenkonfiguration](/de/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

178| `awsCredentialExport` | Benutzerdefiniertes Skript, das JSON mit AWS-Anmeldedaten ausgibt (siehe [erweiterte Anmeldedatenkonfiguration](/de/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |178| `awsCredentialExport` | Benutzerdefiniertes Skript, das JSON mit AWS-Anmeldedaten ausgibt (siehe [erweiterte Anmeldedatenkonfiguration](/de/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

179| `blockedMarketplaces` | (Nur verwaltete Einstellungen) Blocklist von Marketplace-Quellen. Erzwungen bei Marketplace-Hinzufügung und bei Plugin-Installation, Update, Aktualisierung und Auto-Update, sodass ein Marketplace, der vor dem Setzen der Richtlinie hinzugefügt wurde, nicht zum Abrufen von Plugins verwendet werden kann. Blockierte Quellen werden vor dem Download überprüft, sodass sie das Dateisystem nie berühren. Siehe [Verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |179| `blockedMarketplaces` | (Nur verwaltete Einstellungen) Blocklist von Marketplace-Quellen. Erzwungen bei Marketplace-Hinzufügung und bei Plugin-Installation, Update, Aktualisierung und Auto-Update, sodass ein Marketplace, der vor dem Setzen der Richtlinie hinzugefügt wurde, nicht zum Abrufen von Plugins verwendet werden kann. Blockierte Quellen werden vor dem Download überprüft, sodass sie das Dateisystem nie berühren. Siehe [Verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |

180| `channelsEnabled` | (Nur verwaltete Einstellungen) Erlauben Sie [Kanäle](/de/channels) für die Organisation. Bei Claude.ai Team- und Enterprise-Plänen werden Kanäle blockiert, wenn dies nicht gesetzt oder `false` ist. Für [Anthropic Console](/de/authentication#claude-console-authentication)-Konten mit API-Schlüssel-Authentifizierung sind Kanäle standardmäßig zulässig, es sei denn, Ihre Organisation stellt verwaltete Einstellungen bereit. In diesem Fall muss dieser Schlüssel auf `true` gesetzt werden | `true` |180| `channelsEnabled` | (Nur verwaltete Einstellungen) Erlauben Sie [Kanäle](/de/channels) für die Organisation. Bei Claude.ai Team- und Enterprise-Plänen werden Kanäle blockiert, wenn dies nicht gesetzt oder `false` ist. Für [Anthropic Console](/de/authentication#claude-console-authentication)-Konten mit API-Schlüssel-Authentifizierung sind Kanäle standardmäßig zulässig, es sei denn, Ihre Organisation stellt verwaltete Einstellungen bereit. In diesem Fall muss dieser Schlüssel auf `true` gesetzt werden | `true` |

181| `claudeMdExcludes` | Glob-Muster oder absolute Pfade von `CLAUDE.md`-Dateien, die beim Laden von [Speicher](/de/memory) übersprungen werden sollen. Muster werden gegen absolute Dateipfade abgeglichen. Gilt nur für Benutzer-, Projekt- und lokalen Speicher; verwaltete Richtliniendateien können nicht ausgeschlossen werden | `["**/vendor/**/CLAUDE.md"]` |

181| `cleanupPeriodDays` | Sitzungsdateien, die älter als dieser Zeitraum sind, werden beim Start gelöscht (Standard: 30 Tage, Minimum 1). Das Setzen auf `0` wird mit einem Validierungsfehler abgelehnt. Steuert auch den Altersgrenzwert für die automatische Entfernung von [verwaisten Subagent-Worktrees](/de/worktrees#clean-up-worktrees) beim Start. Um Transkriptschreibvorgänge vollständig zu deaktivieren, setzen Sie die Umgebungsvariable [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/de/env-vars) oder verwenden Sie im nicht-interaktiven Modus (`-p`) das Flag `--no-session-persistence` oder die SDK-Option `persistSession: false`. | `20` |182| `cleanupPeriodDays` | Sitzungsdateien, die älter als dieser Zeitraum sind, werden beim Start gelöscht (Standard: 30 Tage, Minimum 1). Das Setzen auf `0` wird mit einem Validierungsfehler abgelehnt. Steuert auch den Altersgrenzwert für die automatische Entfernung von [verwaisten Subagent-Worktrees](/de/worktrees#clean-up-worktrees) beim Start. Um Transkriptschreibvorgänge vollständig zu deaktivieren, setzen Sie die Umgebungsvariable [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/de/env-vars) oder verwenden Sie im nicht-interaktiven Modus (`-p`) das Flag `--no-session-persistence` oder die SDK-Option `persistSession: false`. | `20` |

182| `companyAnnouncements` | Ankündigung, die Benutzern beim Start angezeigt werden soll. Wenn mehrere Ankündigungen bereitgestellt werden, werden sie zufällig durchlaufen. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |183| `companyAnnouncements` | Ankündigung, die Benutzern beim Start angezeigt werden soll. Wenn mehrere Ankündigungen bereitgestellt werden, werden sie zufällig durchlaufen. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

183| `defaultShell` | Standard-Shell für Input-Box `!` Befehle. Akzeptiert `"bash"` (Standard) oder `"powershell"`. Das Setzen auf `"powershell"` leitet interaktive `!` Befehle über PowerShell unter Windows. Erfordert `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Siehe [PowerShell-Tool](/de/tools-reference#powershell-tool) | `"powershell"` |184| `defaultShell` | Standard-Shell für Input-Box `!` Befehle. Akzeptiert `"bash"` (Standard) oder `"powershell"`. Das Setzen auf `"powershell"` leitet interaktive `!` Befehle über PowerShell unter Windows. Erfordert `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Siehe [PowerShell-Tool](/de/tools-reference#powershell-tool) | `"powershell"` |

184| `deniedMcpServers` | Wenn in managed-settings.json gesetzt, Denylist von MCP-Servern, die explizit blockiert sind. Gilt für alle Bereiche einschließlich verwalteter Server. Denylist hat Vorrang vor Allowlist. Siehe [Verwaltete MCP-Konfiguration](/de/mcp#managed-mcp-configuration) | `[{ "serverName": "filesystem" }]` |185| `deniedMcpServers` | Wenn in managed-settings.json gesetzt, Denylist von MCP-Servern, die explizit blockiert sind. Gilt für alle Bereiche einschließlich verwalteter Server. Denylist hat Vorrang vor Allowlist. Siehe [Verwaltete MCP-Konfiguration](/de/mcp#managed-mcp-configuration) | `[{ "serverName": "filesystem" }]` |

185| `disableAllHooks` | Deaktivieren Sie alle [Hooks](/de/hooks) und alle benutzerdefinierten [Statuszeilen](/de/statusline) | `true` |186| `disableAllHooks` | Deaktivieren Sie alle [Hooks](/de/hooks) und alle benutzerdefinierten [Statuszeilen](/de/statusline) | `true` |

186| `disableAutoMode` | Setzen Sie auf `"disable"`, um zu verhindern, dass der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) aktiviert wird. Entfernt `auto` aus dem `Shift+Tab`-Zyklus und lehnt `--permission-mode auto` beim Start ab. Am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer es nicht überschreiben können | `"disable"` |187| `disableAutoMode` | Setzen Sie auf `"disable"`, um zu verhindern, dass der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) aktiviert wird. Entfernt `auto` aus dem `Shift+Tab`-Zyklus und lehnt `--permission-mode auto` beim Start ab. Am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer es nicht überschreiben können | `"disable"` |

187| `disableDeepLinkRegistration` | Setzen Sie auf `"disable"`, um zu verhindern, dass Claude Code den `claude-cli://` Protokoll-Handler beim Start mit dem Betriebssystem registriert. Deep Links ermöglichen es externen Tools, eine Claude Code-Sitzung mit einer vorausgefüllten Aufforderung zu öffnen. Nützlich in Umgebungen, in denen die Protokoll-Handler-Registrierung eingeschränkt oder separat verwaltet wird | `"disable"` |188| `disableDeepLinkRegistration` | Setzen Sie auf `"disable"`, um zu verhindern, dass Claude Code den `claude-cli://` Protokoll-Handler beim Start mit dem Betriebssystem registriert. [Deep Links](/de/deep-links) ermöglichen es externen Tools, eine Claude Code-Sitzung mit einer vorausgefüllten Aufforderung zu öffnen. Nützlich in Umgebungen, in denen die Protokoll-Handler-Registrierung eingeschränkt oder separat verwaltet wird | `"disable"` |

188| `disabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Ablehnen | `["filesystem"]` |189| `disabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Ablehnen | `["filesystem"]` |

189| `disableRemoteControl` | {/* min-version: 2.1.128 */}Deaktivieren Sie [Remote Control](/de/remote-control): blockiert `claude remote-control`, das Flag `--remote-control`, Auto-Start und den In-Session-Toggle. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) für die Pro-Gerät-MDM-Durchsetzung platziert, funktioniert aber aus jedem Bereich. Erfordert Claude Code v2.1.128 oder später | `true` |190| `disableRemoteControl` | {/* min-version: 2.1.128 */}Deaktivieren Sie [Remote Control](/de/remote-control): blockiert `claude remote-control`, das Flag `--remote-control`, Auto-Start und den In-Session-Toggle. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) für die Pro-Gerät-MDM-Durchsetzung platziert, funktioniert aber aus jedem Bereich. Erfordert Claude Code v2.1.128 oder später | `true` |

190| `disableSkillShellExecution` | Deaktivieren Sie die Inline-Shell-Ausführung für `` !`...` `` und ` ```! ` Blöcke in [Skills](/de/skills) und benutzerdefinierten Befehlen aus Benutzer-, Projekt-, Plugin- oder zusätzlichen Verzeichnisquellen. Befehle werden durch `[shell command execution disabled by policy]` ersetzt, anstatt ausgeführt zu werden. Gebündelte und verwaltete Skills sind nicht betroffen. Am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer es nicht überschreiben können | `true` |191| `disableSkillShellExecution` | Deaktivieren Sie die Inline-Shell-Ausführung für `` !`...` `` und ` ```! ` Blöcke in [Skills](/de/skills) und benutzerdefinierten Befehlen aus Benutzer-, Projekt-, Plugin- oder zusätzlichen Verzeichnisquellen. Befehle werden durch `[shell command execution disabled by policy]` ersetzt, anstatt ausgeführt zu werden. Gebündelte und verwaltete Skills sind nicht betroffen. Am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer es nicht überschreiben können | `true` |

191| `editorMode` | Tastaturkürzel-Modus für die Eingabeaufforderung: `"normal"` oder `"vim"`. Standard: `"normal"`. Wird in `/config` als **Editor mode** angezeigt | `"vim"` |192| `editorMode` | Tastaturkürzel-Modus für die Eingabeaufforderung: `"normal"` oder `"vim"`. Standard: `"normal"`. Wird in `/config` als **Editor mode** angezeigt | `"vim"` |

192| `effortLevel` | Persistieren Sie die [Anstrengungsstufe](/de/model-config#adjust-effort-level) über Sitzungen hinweg. Akzeptiert `"low"`, `"medium"`, `"high"` oder `"xhigh"`. Wird automatisch geschrieben, wenn Sie `/effort` mit einem dieser Werte ausführen. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) für unterstützte Modelle | `"xhigh"` |193| `effortLevel` | Persistieren Sie die [Anstrengungsstufe](/de/model-config#adjust-effort-level) über Sitzungen hinweg. Akzeptiert `"low"`, `"medium"`, `"high"` oder `"xhigh"`. Wird automatisch geschrieben, wenn Sie `/effort` mit einem dieser Werte ausführen. `--effort` und [`CLAUDE_CODE_EFFORT_LEVEL`](/de/env-vars) überschreiben dies für eine Sitzung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) für unterstützte Modelle | `"xhigh"` |

193| `enableAllProjectMcpServers` | Genehmigen Sie automatisch alle MCP-Server, die in Projekt-`.mcp.json`-Dateien definiert sind | `true` |194| `enableAllProjectMcpServers` | Genehmigen Sie automatisch alle MCP-Server, die in Projekt-`.mcp.json`-Dateien definiert sind | `true` |

194| `enabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Genehmigen | `["memory", "github"]` |195| `enabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Genehmigen | `["memory", "github"]` |

195| `env` | Umgebungsvariablen, die auf jede Sitzung angewendet werden | `{"FOO": "bar"}` |196| `env` | Umgebungsvariablen, die auf jede Sitzung angewendet werden | `{"FOO": "bar"}` |

196| `fastModePerSessionOptIn` | Wenn `true`, bleibt der schnelle Modus nicht über Sitzungen hinweg bestehen. Jede Sitzung startet mit ausgeschaltetem schnellen Modus und erfordert, dass Benutzer ihn mit `/fast` aktivieren. Die Voreinstellung des Benutzers für den schnellen Modus wird weiterhin gespeichert. Siehe [Opt-in pro Sitzung erforderlich](/de/fast-mode#require-per-session-opt-in) | `true` |197| `fastModePerSessionOptIn` | Wenn `true`, bleibt der schnelle Modus nicht über Sitzungen hinweg bestehen. Jede Sitzung startet mit ausgeschaltetem schnellen Modus und erfordert, dass Benutzer ihn mit `/fast` aktivieren. Die Voreinstellung des Benutzers für den schnellen Modus wird weiterhin gespeichert. Siehe [Opt-in pro Sitzung erforderlich](/de/fast-mode#require-per-session-opt-in) | `true` |

197| `feedbackSurveyRate` | Wahrscheinlichkeit (0–1), dass die [Sitzungsqualitätsumfrage](/de/data-usage#session-quality-surveys) angezeigt wird, wenn berechtigt. Setzen Sie auf `0`, um vollständig zu unterdrücken. Nützlich bei Verwendung von Bedrock, Vertex oder Foundry, wo die Standard-Stichprobenquote nicht gilt | `0.05` |198| `feedbackSurveyRate` | Wahrscheinlichkeit (0–1), dass die [Sitzungsqualitätsumfrage](/de/data-usage#session-quality-surveys) angezeigt wird, wenn berechtigt. Setzen Sie auf `0`, um vollständig zu unterdrücken, oder setzen Sie [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/de/env-vars) in `env`. Nützlich bei Verwendung von Bedrock, Vertex oder Foundry, wo die Standard-Stichprobenquote nicht gilt | `0.05` |

198| `fileSuggestion` | Konfigurieren Sie ein benutzerdefiniertes Skript für `@` Datei-Autovervollständigung. Siehe [Dateivorschlag-Einstellungen](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |199| `fileSuggestion` | Konfigurieren Sie ein benutzerdefiniertes Skript für `@` Datei-Autovervollständigung. Siehe [Dateivorschlag-Einstellungen](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

199| `forceLoginMethod` | Verwenden Sie `claudeai`, um die Anmeldung auf Claude.ai-Konten zu beschränken, `console`, um die Anmeldung auf Claude Console (API-Nutzungsabrechnung) Konten zu beschränken | `claudeai` |200| `forceLoginMethod` | Verwenden Sie `claudeai`, um die Anmeldung auf Claude.ai-Konten zu beschränken, `console`, um die Anmeldung auf Claude Console (API-Nutzungsabrechnung) Konten zu beschränken | `claudeai` |

200| `forceLoginOrgUUID` | Geben Sie die UUID einer Organisation an, um sie während der Anmeldung automatisch auszuwählen und den Organisationsauswahlschritt zu umgehen, oder akzeptieren Sie ein Array von UUIDs, wobei jede aufgelistete Organisation ohne Vorauswahl akzeptiert wird. Wenn in verwalteten Einstellungen gesetzt, schlägt die Anmeldung fehl, wenn das authentifizierte Konto nicht zu einer aufgelisteten Organisation gehört; ein leeres Array schlägt geschlossen fehl und blockiert die Anmeldung mit einer Fehlkonfigurationsmeldung | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` oder `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |201| `forceLoginOrgUUID` | Geben Sie die UUID einer Organisation an, um sie während der Anmeldung automatisch auszuwählen und den Organisationsauswahlschritt zu umgehen, oder akzeptieren Sie ein Array von UUIDs, wobei jede aufgelistete Organisation ohne Vorauswahl akzeptiert wird. Wenn in verwalteten Einstellungen gesetzt, schlägt die Anmeldung fehl, wenn das authentifizierte Konto nicht zu einer aufgelisteten Organisation gehört; ein leeres Array schlägt geschlossen fehl und blockiert die Anmeldung mit einer Fehlkonfigurationsmeldung | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` oder `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

201| `forceRemoteSettingsRefresh` | (Nur verwaltete Einstellungen) Blockieren Sie den CLI-Start, bis verwaltete Einstellungen aus der Ferne vom Server abgerufen werden. Wenn der Abruf fehlschlägt, wird die CLI beendet, anstatt mit zwischengespeicherten oder keinen Einstellungen fortzufahren. Wenn nicht gesetzt, wird der Start ohne Warten auf Remote-Einstellungen fortgesetzt. Siehe [Fail-Closed-Durchsetzung](/de/server-managed-settings#enforce-fail-closed-startup) | `true` |202| `forceRemoteSettingsRefresh` | (Nur verwaltete Einstellungen) Blockieren Sie den CLI-Start, bis verwaltete Einstellungen aus der Ferne vom Server abgerufen werden. Wenn der Abruf fehlschlägt, wird die CLI beendet, anstatt mit zwischengespeicherten oder keinen Einstellungen fortzufahren. Wenn nicht gesetzt, wird der Start ohne Warten auf Remote-Einstellungen fortgesetzt. Siehe [Fail-Closed-Durchsetzung](/de/server-managed-settings#enforce-fail-closed-startup) | `true` |

203| `gcpAuthRefresh` | Benutzerdefiniertes Skript, das GCP Application Default Credentials aktualisiert, wenn sie ablaufen oder nicht geladen werden können. Siehe [erweiterte Anmeldedatenkonfiguration](/de/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |

202| `hooks` | Konfigurieren Sie benutzerdefinierte Befehle, die bei Lebenszyklusereignissen ausgeführt werden. Siehe [Hooks-Dokumentation](/de/hooks) für das Format | Siehe [Hooks](/de/hooks) |204| `hooks` | Konfigurieren Sie benutzerdefinierte Befehle, die bei Lebenszyklusereignissen ausgeführt werden. Siehe [Hooks-Dokumentation](/de/hooks) für das Format | Siehe [Hooks](/de/hooks) |

203| `httpHookAllowedEnvVars` | Allowlist von Umgebungsvariablennamen, die HTTP-Hooks in Header interpolieren können. Wenn gesetzt, ist die effektive `allowedEnvVars` jedes Hooks der Schnittpunkt mit dieser Liste. Undefined = keine Einschränkung. Arrays werden über Einstellungsquellen zusammengeführt. Siehe [Hook-Konfiguration](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |205| `httpHookAllowedEnvVars` | Allowlist von Umgebungsvariablennamen, die HTTP-Hooks in Header interpolieren können. Wenn gesetzt, ist die effektive `allowedEnvVars` jedes Hooks der Schnittpunkt mit dieser Liste. Undefined = keine Einschränkung. Arrays werden über Einstellungsquellen zusammengeführt. Siehe [Hook-Konfiguration](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

204| `includeCoAuthoredBy` | **Veraltet**: Verwenden Sie stattdessen `attribution`. Ob die `co-authored-by Claude` Byline in Git-Commits und Pull Requests einbezogen werden soll (Standard: `true`) | `false` |206| `includeCoAuthoredBy` | **Veraltet**: Verwenden Sie stattdessen `attribution`. Ob die `co-authored-by Claude` Byline in Git-Commits und Pull Requests einbezogen werden soll (Standard: `true`) | `false` |

205| `includeGitInstructions` | Integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot in Claudes Systemaufforderung einbeziehen (Standard: `true`). Setzen Sie auf `false`, um beide zu entfernen, z. B. wenn Sie Ihre eigenen Git-Workflow-Skills verwenden. Die Umgebungsvariable `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` hat Vorrang vor dieser Einstellung, wenn sie gesetzt ist | `false` |207| `includeGitInstructions` | Integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot in Claudes Systemaufforderung einbeziehen (Standard: `true`). Setzen Sie auf `false`, um beide zu entfernen, z. B. wenn Sie Ihre eigenen Git-Workflow-Skills verwenden. Die Umgebungsvariable `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` hat Vorrang vor dieser Einstellung, wenn sie gesetzt ist | `false` |

206| `language` | Konfigurieren Sie Claudes bevorzugte Antwortsprache (z. B. `"japanese"`, `"spanish"`, `"french"`). Claude wird standardmäßig in dieser Sprache antworten. Legt auch die [Sprachdiktiersprache](/de/voice-dictation#change-the-dictation-language) fest | `"japanese"` |208| `language` | Konfigurieren Sie Claudes bevorzugte Antwortsprache (z. B. `"japanese"`, `"spanish"`, `"french"`). Claude wird standardmäßig in dieser Sprache antworten. Legt auch die [Sprachdiktiersprache](/de/voice-dictation#change-the-dictation-language) fest | `"japanese"` |

207| `minimumVersion` | Verhindern Sie, dass der Auto-Updater und `claude update` eine Version unter dieser installieren. Das Wechseln vom `"latest"`-Kanal zu `"stable"` über `/config` fordert Sie auf, auf der aktuellen Version zu bleiben oder das Downgrade zu erlauben. Wenn Sie sich entscheiden zu bleiben, wird dieser Wert gesetzt. Auch nützlich in [verwalteten Einstellungen](/de/permissions#managed-settings) um eine organisationsweite Mindestversion festzulegen | `"2.1.100"` |209| `minimumVersion` | Verhindern Sie, dass der Auto-Updater und `claude update` eine Version unter dieser installieren. Das Wechseln vom `"latest"`-Kanal zu `"stable"` über `/config` fordert Sie auf, auf der aktuellen Version zu bleiben oder das Downgrade zu erlauben. Wenn Sie sich entscheiden zu bleiben, wird dieser Wert gesetzt. Auch nützlich in [verwalteten Einstellungen](/de/permissions#managed-settings) um eine organisationsweite Mindestversion festzulegen | `"2.1.100"` |

208| `model` | Überschreiben Sie das Standardmodell für Claude Code | `"claude-sonnet-4-6"` |210| `model` | Überschreiben Sie das Standardmodell für Claude Code. `--model` und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) überschreiben dies für eine Sitzung | `"claude-sonnet-4-6"` |

209| `modelOverrides` | Ordnen Sie Anthropic-Modell-IDs Anbieter-spezifischen Modell-IDs wie Bedrock-Inferenzprofil-ARNs zu. Jeder Modellwähler-Eintrag verwendet seinen zugeordneten Wert beim Aufrufen der Anbieter-API. Siehe [Modell-IDs pro Version überschreiben](/de/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |211| `modelOverrides` | Ordnen Sie Anthropic-Modell-IDs Anbieter-spezifischen Modell-IDs wie Bedrock-Inferenzprofil-ARNs zu. Jeder Modellwähler-Eintrag verwendet seinen zugeordneten Wert beim Aufrufen der Anbieter-API. Siehe [Modell-IDs pro Version überschreiben](/de/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

210| `otelHeadersHelper` | Skript zum Generieren dynamischer OpenTelemetry-Header. Wird beim Start und regelmäßig ausgeführt (siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers)) | `/bin/generate_otel_headers.sh` |212| `otelHeadersHelper` | Skript zum Generieren dynamischer OpenTelemetry-Header. Wird beim Start und regelmäßig ausgeführt. Setzen Sie das Aktualisierungsintervall mit [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/de/env-vars). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |

211| `outputStyle` | Konfigurieren Sie einen Ausgabestil, um die Systemaufforderung anzupassen. Siehe [Ausgabestil-Dokumentation](/de/output-styles) | `"Explanatory"` |213| `outputStyle` | Konfigurieren Sie einen Ausgabestil, um die Systemaufforderung anzupassen. Siehe [Ausgabestil-Dokumentation](/de/output-styles) | `"Explanatory"` |

212| `permissions` | Siehe Tabelle unten für die Struktur der Berechtigungen. | |214| `permissions` | Siehe Tabelle unten für die Struktur der Berechtigungen. | |

213| `plansDirectory` | Passen Sie an, wo Plandateien gespeichert werden. Der Pfad ist relativ zum Projektstamm. Standard: `~/.claude/plans` | `"./plans"` |215| `plansDirectory` | Passen Sie an, wo Plandateien gespeichert werden. Der Pfad ist relativ zum Projektstamm. Standard: `~/.claude/plans` | `"./plans"` |


219| `showClearContextOnPlanAccept` | Zeigen Sie die Option "Kontext löschen" auf dem Plan-Akzeptanz-Bildschirm an. Standardmäßig `false`. Setzen Sie auf `true`, um die Option wiederherzustellen | `true` |221| `showClearContextOnPlanAccept` | Zeigen Sie die Option "Kontext löschen" auf dem Plan-Akzeptanz-Bildschirm an. Standardmäßig `false`. Setzen Sie auf `true`, um die Option wiederherzustellen | `true` |

220| `showThinkingSummaries` | Zeigen Sie [erweitertes Denken](/de/model-config#extended-thinking) Zusammenfassungen in interaktiven Sitzungen an. Wenn nicht gesetzt oder `false` (Standard im interaktiven Modus), werden Denk-Blöcke von der API redigiert und als zusammengeklappter Stub angezeigt. Redaktion ändert nur, was Sie sehen, nicht was das Modell generiert: Um Denk-Ausgaben zu reduzieren, [senken Sie das Budget oder deaktivieren Sie das Denken](/de/model-config#extended-thinking) stattdessen. Der nicht-interaktive Modus (`-p`) und SDK-Aufrufer erhalten immer Zusammenfassungen unabhängig von dieser Einstellung | `true` |222| `showThinkingSummaries` | Zeigen Sie [erweitertes Denken](/de/model-config#extended-thinking) Zusammenfassungen in interaktiven Sitzungen an. Wenn nicht gesetzt oder `false` (Standard im interaktiven Modus), werden Denk-Blöcke von der API redigiert und als zusammengeklappter Stub angezeigt. Redaktion ändert nur, was Sie sehen, nicht was das Modell generiert: Um Denk-Ausgaben zu reduzieren, [senken Sie das Budget oder deaktivieren Sie das Denken](/de/model-config#extended-thinking) stattdessen. Der nicht-interaktive Modus (`-p`) und SDK-Aufrufer erhalten immer Zusammenfassungen unabhängig von dieser Einstellung | `true` |

221| `showTurnDuration` | Zeigen Sie Nachrichten zur Dauer der Runde nach Antworten an, z. B. "Cooked for 1m 6s". Standard: `true`. Wird in `/config` als **Show turn duration** angezeigt | `false` |223| `showTurnDuration` | Zeigen Sie Nachrichten zur Dauer der Runde nach Antworten an, z. B. "Cooked for 1m 6s". Standard: `true`. Wird in `/config` als **Show turn duration** angezeigt | `false` |

224| `skillOverrides` | {/* min-version: 2.1.129 */}Pro-Skill-Sichtbarkeitsüberschreibungen, die nach Skill-Name verschlüsselt sind. Der Wert ist `"on"`, `"name-only"`, `"user-invocable-only"` oder `"off"`. Ermöglicht es Ihnen, einen Skill auszublenden oder zu reduzieren, ohne seine SKILL.md zu bearbeiten. Gilt nicht für Plugin-Skills, die über `/plugin` verwaltet werden. Das Menü `/skills` schreibt diese in `.claude/settings.local.json`. Siehe [Skill-Sichtbarkeit aus Einstellungen überschreiben](/de/skills#override-skill-visibility-from-settings). Erfordert Claude Code v2.1.129 oder später | `{"legacy-context": "name-only", "deploy": "off"}` |

222| `skipWebFetchPreflight` | Überspringen Sie die [WebFetch-Domänensicherheitsprüfung](/de/data-usage#webfetch-domain-safety-check), die jeden angeforderten Hostnamen an `api.anthropic.com` sendet, bevor Sie abrufen. Setzen Sie auf `true` in Umgebungen, die den Datenverkehr zu Anthropic blockieren, wie Bedrock, Vertex AI oder Foundry-Bereitstellungen mit restriktivem Ausgang. Wenn übersprungen, versucht WebFetch jede URL, ohne die Blocklist zu konsultieren | `true` |225| `skipWebFetchPreflight` | Überspringen Sie die [WebFetch-Domänensicherheitsprüfung](/de/data-usage#webfetch-domain-safety-check), die jeden angeforderten Hostnamen an `api.anthropic.com` sendet, bevor Sie abrufen. Setzen Sie auf `true` in Umgebungen, die den Datenverkehr zu Anthropic blockieren, wie Bedrock, Vertex AI oder Foundry-Bereitstellungen mit restriktivem Ausgang. Wenn übersprungen, versucht WebFetch jede URL, ohne die Blocklist zu konsultieren | `true` |

223| `spinnerTipsEnabled` | Zeigen Sie Tipps im Spinner an, während Claude arbeitet. Setzen Sie auf `false`, um Tipps zu deaktivieren (Standard: `true`) | `false` |226| `spinnerTipsEnabled` | Zeigen Sie Tipps im Spinner an, während Claude arbeitet. Setzen Sie auf `false`, um Tipps zu deaktivieren (Standard: `true`) | `false` |

224| `spinnerTipsOverride` | Überschreiben Sie Spinner-Tipps mit benutzerdefinierten Zeichenketten. `tips`: Array von Tipp-Zeichenketten. `excludeDefault`: wenn `true`, nur benutzerdefinierte Tipps anzeigen; wenn `false` oder nicht vorhanden, werden benutzerdefinierte Tipps mit integrierten Tipps zusammengeführt | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |227| `spinnerTipsOverride` | Überschreiben Sie Spinner-Tipps mit benutzerdefinierten Zeichenketten. `tips`: Array von Tipp-Zeichenketten. `excludeDefault`: wenn `true`, nur benutzerdefinierte Tipps anzeigen; wenn `false` oder nicht vorhanden, werden benutzerdefinierte Tipps mit integrierten Tipps zusammengeführt | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |


226| `sshConfigs` | SSH-Verbindungen, die in der [Desktop](/de/desktop#pre-configure-ssh-connections-for-your-team)-Umgebungs-Dropdown angezeigt werden. Jeder Eintrag erfordert `id`, `name` und `sshHost`; `sshPort`, `sshIdentityFile` und `startDirectory` sind optional. Wenn in verwalteten Einstellungen gesetzt, sind Verbindungen für Benutzer schreibgeschützt. Nur aus verwalteten und Benutzereinstellungen gelesen | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |229| `sshConfigs` | SSH-Verbindungen, die in der [Desktop](/de/desktop#pre-configure-ssh-connections-for-your-team)-Umgebungs-Dropdown angezeigt werden. Jeder Eintrag erfordert `id`, `name` und `sshHost`; `sshPort`, `sshIdentityFile` und `startDirectory` sind optional. Wenn in verwalteten Einstellungen gesetzt, sind Verbindungen für Benutzer schreibgeschützt. Nur aus verwalteten und Benutzereinstellungen gelesen | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

227| `statusLine` | Konfigurieren Sie eine benutzerdefinierte Statuszeile zur Anzeige von Kontext. Siehe [`statusLine`-Dokumentation](/de/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |230| `statusLine` | Konfigurieren Sie eine benutzerdefinierte Statuszeile zur Anzeige von Kontext. Siehe [`statusLine`-Dokumentation](/de/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

228| `strictKnownMarketplaces` | (Nur verwaltete Einstellungen) Allowlist von Plugin-Marketplace-Quellen. Undefined = keine Einschränkungen, leeres Array = Lockdown. Erzwungen bei Marketplace-Hinzufügung und bei Plugin-Installation, Update, Aktualisierung und Auto-Update, sodass ein Marketplace, der vor dem Setzen der Richtlinie hinzugefügt wurde, nicht zum Abrufen von Plugins verwendet werden kann. Siehe [Verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |231| `strictKnownMarketplaces` | (Nur verwaltete Einstellungen) Allowlist von Plugin-Marketplace-Quellen. Undefined = keine Einschränkungen, leeres Array = Lockdown. Erzwungen bei Marketplace-Hinzufügung und bei Plugin-Installation, Update, Aktualisierung und Auto-Update, sodass ein Marketplace, der vor dem Setzen der Richtlinie hinzugefügt wurde, nicht zum Abrufen von Plugins verwendet werden kann. Siehe [Verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

229| `teammateMode` | Wie [Agent-Team](/de/agent-teams) Teamkollegen angezeigt werden: `auto` (wählt geteilte Bereiche in tmux oder iTerm2, ansonsten In-Process), `in-process` oder `tmux`. Siehe [Wählen Sie einen Anzeigemodus](/de/agent-teams#choose-a-display-mode) | `"in-process"` |232| `syntaxHighlightingDisabled` | Deaktivieren Sie Syntax-Hervorhebung in Diffs, Code-Blöcken und Dateivorschau | `true` |

233| `teammateMode` | Wie [Agent-Team](/de/agent-teams) Teamkollegen angezeigt werden: `auto` (wählt geteilte Bereiche in tmux oder iTerm2, ansonsten In-Process), `in-process` oder `tmux`. `--teammate-mode` überschreibt dies für eine Sitzung. Siehe [Wählen Sie einen Anzeigemodus](/de/agent-teams#choose-a-display-mode) | `"in-process"` |

230| `terminalProgressBarEnabled` | Zeigen Sie die Terminal-Fortschrittsleiste in unterstützten Terminals an: ConEmu, Ghostty 1.2.0+ und iTerm2 3.6.6+. Standard: `true`. Wird in `/config` als **Terminal progress bar** angezeigt | `false` |234| `terminalProgressBarEnabled` | Zeigen Sie die Terminal-Fortschrittsleiste in unterstützten Terminals an: ConEmu, Ghostty 1.2.0+ und iTerm2 3.6.6+. Standard: `true`. Wird in `/config` als **Terminal progress bar** angezeigt | `false` |

231| `tui` | Terminal-UI-Renderer. Verwenden Sie `"fullscreen"` für den flimmerfreien [Alt-Screen-Renderer](/de/fullscreen) mit virtualisiertem Scrollback. Verwenden Sie `"default"` für den klassischen Main-Screen-Renderer. Setzen Sie über `/tui` | `"fullscreen"` |235| `tui` | Terminal-UI-Renderer. Verwenden Sie `"fullscreen"` für den flimmerfreien [Alt-Screen-Renderer](/de/fullscreen) mit virtualisiertem Scrollback. Verwenden Sie `"default"` für den klassischen Main-Screen-Renderer. Setzen Sie über `/tui`. Sie können auch die Umgebungsvariable [`CLAUDE_CODE_NO_FLICKER`](/de/env-vars) setzen | `"fullscreen"` |

232| `useAutoModeDuringPlan` | Ob Plan Mode Auto-Mode-Semantik verwendet, wenn Auto Mode verfügbar ist. Standard: `true`. Nicht aus gemeinsamen Projekteinstellungen gelesen. Wird in `/config` als "Use auto mode during plan" angezeigt | `false` |236| `useAutoModeDuringPlan` | Ob Plan Mode Auto-Mode-Semantik verwendet, wenn Auto Mode verfügbar ist. Standard: `true`. Nicht aus gemeinsamen Projekteinstellungen gelesen. Wird in `/config` als "Use auto mode during plan" angezeigt | `false` |

233| `viewMode` | Standard-Transkript-Ansichtsmodus beim Start: `"default"`, `"verbose"` oder `"focus"`. Überschreibt die klebrige `/focus`-Auswahl, wenn gesetzt | `"verbose"` |237| `viewMode` | Standard-Transkript-Ansichtsmodus beim Start: `"default"`, `"verbose"` oder `"focus"`. Überschreibt die klebrige `/focus`-Auswahl, wenn gesetzt. Das Flag `--verbose` überschreibt dies für eine Sitzung | `"verbose"` |

234| `voice` | [Sprachdiktier](/de/voice-dictation)-Einstellungen: `enabled` aktiviert Diktieren, `mode` wählt `"hold"` oder `"tap"`, und `autoSubmit` sendet die Aufforderung bei Tastenfreigabe im Hold-Modus. Wird automatisch geschrieben, wenn Sie `/voice` ausführen. Erfordert ein Claude.ai-Konto | `{ "enabled": true, "mode": "tap" }` |238| `voice` | [Sprachdiktier](/de/voice-dictation)-Einstellungen: `enabled` aktiviert Diktieren, `mode` wählt `"hold"` oder `"tap"`, und `autoSubmit` sendet die Aufforderung bei Tastenfreigabe im Hold-Modus. Wird automatisch geschrieben, wenn Sie `/voice` ausführen. Erfordert ein Claude.ai-Konto | `{ "enabled": true, "mode": "tap" }` |

235| `voiceEnabled` | Veralteter Alias für `voice.enabled`. Bevorzugen Sie das `voice`-Objekt | `true` |239| `voiceEnabled` | Veralteter Alias für `voice.enabled`. Bevorzugen Sie das `voice`-Objekt | `true` |

236| `wslInheritsWindowsSettings` | (Nur Windows verwaltete Einstellungen) Wenn `true`, liest Claude Code auf WSL verwaltete Einstellungen aus der Windows-Richtlinienkette zusätzlich zu `/etc/claude-code`, wobei Windows-Quellen Vorrang haben. Wird nur berücksichtigt, wenn in der HKLM-Registrierungsschlüssel oder `C:\Program Files\ClaudeCode\managed-settings.json` gesetzt, beide erfordern Windows-Admin zum Schreiben. Damit die HKCU-Richtlinie auch auf WSL gilt, muss das Flag zusätzlich in HKCU selbst gesetzt werden. Hat keine Auswirkung auf natives Windows | `true` |240| `wslInheritsWindowsSettings` | (Nur Windows verwaltete Einstellungen) Wenn `true`, liest Claude Code auf WSL verwaltete Einstellungen aus der Windows-Richtlinienkette zusätzlich zu `/etc/claude-code`, wobei Windows-Quellen Vorrang haben. Wird nur berücksichtigt, wenn in der HKLM-Registrierungsschlüssel oder `C:\Program Files\ClaudeCode\managed-settings.json` gesetzt, beide erfordern Windows-Admin zum Schreiben. Damit die HKCU-Richtlinie auch auf WSL gilt, muss das Flag zusätzlich in HKCU selbst gesetzt werden. Hat keine Auswirkung auf natives Windows | `true` |


244</Note>248</Note>

245 249 

246| Schlüssel | Beschreibung | Beispiel |250| Schlüssel | Beschreibung | Beispiel |

247| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |251| :------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |

248| `autoConnectIde` | Verbinden Sie sich automatisch mit einer laufenden IDE, wenn Claude Code von einem externen Terminal aus startet. Standard: `false`. Wird in `/config` als **Auto-connect to IDE (external terminal)** angezeigt, wenn außerhalb eines VS Code oder JetBrains-Terminals ausgeführt wird | `true` |252| `autoConnectIde` | Verbinden Sie sich automatisch mit einer laufenden IDE, wenn Claude Code von einem externen Terminal aus startet. Standard: `false`. Wird in `/config` als **Auto-connect to IDE (external terminal)** angezeigt, wenn außerhalb eines VS Code oder JetBrains-Terminals ausgeführt wird. Die Umgebungsvariable [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/de/env-vars) überschreibt dies, wenn gesetzt | `true` |

249| `autoInstallIdeExtension` | Installieren Sie die Claude Code IDE-Erweiterung automatisch, wenn Sie von einem VS Code-Terminal aus ausgeführt werden. Standard: `true`. Wird in `/config` als **Auto-install IDE extension** angezeigt, wenn Sie in einem VS Code oder JetBrains-Terminal ausgeführt werden. Sie können auch die Umgebungsvariable [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/de/env-vars) setzen | `false` |253| `autoInstallIdeExtension` | Installieren Sie die Claude Code IDE-Erweiterung automatisch, wenn Sie von einem VS Code-Terminal aus ausgeführt werden. Standard: `true`. Wird in `/config` als **Auto-install IDE extension** angezeigt, wenn Sie in einem VS Code oder JetBrains-Terminal ausgeführt werden. Sie können auch die Umgebungsvariable [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/de/env-vars) setzen | `false` |

250| `externalEditorContext` | Stellen Sie Claudes vorherige Antwort als `#`-kommentierter Kontext voran, wenn Sie den externen Editor mit `Ctrl+G` öffnen. Standard: `false`. Wird in `/config` als **Show last response in external editor** angezeigt | `true` |254| `externalEditorContext` | Stellen Sie Claudes vorherige Antwort als `#`-kommentierter Kontext voran, wenn Sie den externen Editor mit `Ctrl+G` öffnen. Standard: `false`. Wird in `/config` als **Show last response in external editor** angezeigt | `true` |

251 255 


444 448 

445**HTTP-Hook-URLs einschränken:**449**HTTP-Hook-URLs einschränken:**

446 450 

447Begrenzen Sie, auf welche URLs HTTP-Hooks abzielen können. Unterstützt `*` als Platzhalter zum Abgleichen. Wenn das Array definiert ist, werden HTTP-Hooks, die auf nicht übereinstimmende URLs abzielen, stillschweigend blockiert.451Begrenzen Sie, auf welche URLs HTTP-Hooks abzielen können. Unterstützt `*` als Platzhalter zum Abgleichen. Wenn das Array definiert ist, werden HTTP-Hooks, die auf nicht übereinstimmende URLs abzielen, stillschweigend blockiert. Der Hostname-Abgleich ist case-insensitiv und ignoriert einen nachfolgenden FQDN-Punkt, was DNS-Semantik entspricht.

448 452 

449```json theme={null}453```json theme={null}

450{454{


472 * Innerhalb der verwalteten Ebene ist die Priorität: serververwaltete > MDM/OS-Richtlinien > dateibasierte (`managed-settings.d/*.json` + `managed-settings.json`) > HKCU-Registry (nur Windows). Nur eine verwaltete Quelle wird verwendet; Quellen werden nicht zusammengeführt. Innerhalb der dateibasierten Ebene werden Drop-in-Dateien und die Basisdatei zusammengeführt.476 * Innerhalb der verwalteten Ebene ist die Priorität: serververwaltete > MDM/OS-Richtlinien > dateibasierte (`managed-settings.d/*.json` + `managed-settings.json`) > HKCU-Registry (nur Windows). Nur eine verwaltete Quelle wird verwendet; Quellen werden nicht zusammengeführt. Innerhalb der dateibasierten Ebene werden Drop-in-Dateien und die Basisdatei zusammengeführt.

473 477 

4742. **Befehlszeilenargumente**4782. **Befehlszeilenargumente**

475 * Temporäre Überschreibungen für eine bestimmte Sitzung479 * Temporäre Überschreibungen für eine bestimmte Sitzung. JSON, das über `--settings <file-or-json>` übergeben wird, wird mit dateibasierten Einstellungen unter Verwendung der gleichen Regeln wie die anderen Ebenen zusammengeführt: Ein hier gesetzter Schlüssel überschreibt den gleichen Schlüssel in lokalen, Projekt- oder Benutzereinstellungen, und das Weglassen eines Schlüssels lässt den Wert der niedrigeren Ebene bestehen

476 480 

4773. **Lokale Projekteinstellungen** (`.claude/settings.local.json`)4813. **Lokale Projekteinstellungen** (`.claude/settings.local.json`)

478 * Persönliche projektspezifische Einstellungen482 * Persönliche projektspezifische Einstellungen

setup.md +7 −3

Details

175 175 

176## Claude Code aktualisieren176## Claude Code aktualisieren

177 177 

178Native Installationen werden automatisch im Hintergrund aktualisiert. Sie können [den Release-Kanal konfigurieren](#configure-release-channel), um zu steuern, ob Sie Updates sofort oder nach einem verzögerten stabilen Zeitplan erhalten, oder [Auto-Updates vollständig deaktivieren](#disable-auto-updates). Homebrew-, WinGet- und [Linux-Paketmanager](#install-with-linux-package-managers)-Installationen erfordern manuelle Updates.178Native Installationen werden automatisch im Hintergrund aktualisiert. Sie können [den Release-Kanal konfigurieren](#configure-release-channel), um zu steuern, ob Sie Updates sofort oder nach einem verzögerten stabilen Zeitplan erhalten, oder [Auto-Updates vollständig deaktivieren](#disable-auto-updates). Homebrew-, WinGet- und [Linux-Paketmanager](#install-with-linux-package-managers)-Installationen erfordern standardmäßig manuelle Updates.

179 179 

180### Auto-Updates180### Auto-Updates

181 181 

182Claude Code prüft beim Start und regelmäßig während der Ausführung auf Updates. Updates werden im Hintergrund heruntergeladen und installiert und treten beim nächsten Start von Claude Code in Kraft.182Claude Code prüft beim Start und regelmäßig während der Ausführung auf Updates. Updates werden im Hintergrund heruntergeladen und installiert und treten beim nächsten Start von Claude Code in Kraft.

183 183 

184<Note>184<Note>

185 Homebrew-, WinGet-, apt-, dnf- und apk-Installationen werden nicht automatisch aktualisiert. Für Homebrew führen Sie `brew upgrade claude-code` oder `brew upgrade claude-code@latest` aus, je nachdem, welches Cask Sie installiert haben. Für WinGet führen Sie `winget upgrade Anthropic.ClaudeCode` aus. Für Linux-Paketmanager siehe die Upgrade-Befehle in [Mit Linux-Paketmanagern installieren](#install-with-linux-package-managers).185 Homebrew-, WinGet-, apt-, dnf- und apk-Installationen werden standardmäßig nicht automatisch aktualisiert. Weitere Informationen finden Sie unten, um sich für Homebrew und WinGet anzumelden. Um Homebrew manuell zu aktualisieren, führen Sie `brew upgrade claude-code` oder `brew upgrade claude-code@latest` aus, je nachdem, welches Cask Sie installiert haben. Für WinGet führen Sie `winget upgrade Anthropic.ClaudeCode` aus. Für Linux-Paketmanager siehe die Upgrade-Befehle in [Mit Linux-Paketmanagern installieren](#install-with-linux-package-managers).

186 

187 Um Claude Code den Upgrade-Befehl für Sie auf Homebrew oder WinGet ausführen zu lassen, setzen Sie [`CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`](/de/env-vars) auf `1`. Claude Code führt dann das Upgrade im Hintergrund aus, wenn eine neue Version verfügbar ist, und zeigt bei Erfolg eine Neustartaufforderung an. Das Upgrade zielt nur auf das Claude Code-Paket ab und beeinträchtigt keine andere Software, die Sie installiert haben.

188 

189 Unter WinGet kann das Upgrade fehlschlagen, während Claude Code ausgeführt wird, da Windows die ausführbare Datei sperrt. In diesem Fall zeigt Claude Code stattdessen den manuellen Befehl an. apt, dnf und apk erfordern weiterhin ein manuelles Upgrade, da diese Befehle erhöhte Berechtigungen benötigen.

186 190 

187 **Bekanntes Problem:** Claude Code kann Sie über Updates benachrichtigen, bevor die neue Version in diesen Paketmanagern verfügbar ist. Wenn ein Upgrade fehlschlägt, warten Sie und versuchen Sie es später erneut.191 **Bekanntes Problem:** Claude Code kann Sie über Updates benachrichtigen, bevor die neue Version in diesen Paketmanagern verfügbar ist. Wenn ein Upgrade fehlschlägt, warten Sie und versuchen Sie es später erneut.

188 192 


489 493 

490## Claude Code deinstallieren494## Claude Code deinstallieren

491 495 

492Um Claude Code zu entfernen, folgen Sie den Anweisungen für Ihre Installationsmethode.496Um Claude Code zu entfernen, folgen Sie den Anweisungen für Ihre Installationsmethode. Wenn `claude` danach immer noch ausgeführt wird, haben Sie wahrscheinlich eine zweite Installation oder einen verbleibenden Shell-Alias von einem älteren Installer. Siehe [Nach konfliktierenden Installationen prüfen](/de/troubleshoot-install#check-for-conflicting-installations), um diese zu finden und zu entfernen.

493 497 

494### Native Installation498### Native Installation

495 499 

skills.md +62 −29

Details

8 8 

9Skills erweitern das, was Claude tun kann. Erstellen Sie eine `SKILL.md`-Datei mit Anweisungen, und Claude fügt sie zu seinem Toolkit hinzu. Claude verwendet Skills, wenn sie relevant sind, oder Sie können einen direkt mit `/skill-name` aufrufen.9Skills erweitern das, was Claude tun kann. Erstellen Sie eine `SKILL.md`-Datei mit Anweisungen, und Claude fügt sie zu seinem Toolkit hinzu. Claude verwendet Skills, wenn sie relevant sind, oder Sie können einen direkt mit `/skill-name` aufrufen.

10 10 

11Erstellen Sie einen Skill, wenn Sie immer wieder das gleiche Playbook, die gleiche Checkliste oder ein mehrstufiges Verfahren in den Chat einfügen, oder wenn ein Abschnitt von CLAUDE.md zu einem Verfahren statt zu einer Tatsache geworden ist. Im Gegensatz zu CLAUDE.md-Inhalten wird der Body eines Skills nur geladen, wenn er verwendet wird, sodass lange Referenzmaterialien fast nichts kosten, bis Sie sie benötigen.11Erstellen Sie einen Skill, wenn Sie immer wieder die gleichen Anweisungen, eine Checkliste oder ein mehrstufiges Verfahren in den Chat einfügen, oder wenn ein Abschnitt von CLAUDE.md zu einem Verfahren statt zu einer Tatsache geworden ist. Im Gegensatz zu CLAUDE.md-Inhalten wird der Body eines Skills nur geladen, wenn er verwendet wird, sodass lange Referenzmaterialien fast nichts kosten, bis Sie sie benötigen.

12 12 

13<Note>13<Note>

14 Für integrierte Befehle wie `/help` und `/compact` sowie gebündelte Skills wie `/debug` und `/simplify` siehe die [Befehlsreferenz](/de/commands).14 Für integrierte Befehle wie `/help` und `/compact` sowie gebündelte Skills wie `/debug` und `/simplify` siehe die [Befehlsreferenz](/de/commands).


20 20 

21## Gebündelte Skills21## Gebündelte Skills

22 22 

23Claude Code wird mit einer Reihe von gebündelten Skills ausgeliefert, die in jeder Sitzung verfügbar sind, einschließlich `/simplify`, `/batch`, `/debug`, `/loop` und `/claude-api`. Im Gegensatz zu den meisten integrierten Befehlen, die direkt feste Logik ausführen, sind gebündelte Skills prompt-basiert: Sie geben Claude ein detailliertes Playbook und lassen es die Arbeit mit seinen Tools orchestrieren. Sie rufen sie auf die gleiche Weise auf wie jeden anderen Skill, indem Sie `/` gefolgt vom Skill-Namen eingeben.23Claude Code wird mit einer Reihe von gebündelten Skills ausgeliefert, die in jeder Sitzung verfügbar sind, einschließlich `/simplify`, `/batch`, `/debug`, `/loop` und `/claude-api`. Im Gegensatz zu den meisten integrierten Befehlen, die direkt feste Logik ausführen, sind gebündelte Skills prompt-basiert: Sie geben Claude detaillierte Anweisungen und lassen es die Arbeit mit seinen Tools orchestrieren. Sie rufen sie auf die gleiche Weise auf wie jeden anderen Skill, indem Sie `/` gefolgt vom Skill-Namen eingeben.

24 24 

25Gebündelte Skills sind in der [Befehlsreferenz](/de/commands) neben integrierten Befehlen aufgelistet und mit **Skill** in der Spalte „Zweck" gekennzeichnet.25Gebündelte Skills sind in der [Befehlsreferenz](/de/commands) neben integrierten Befehlen aufgelistet und mit **Skill** in der Spalte „Zweck" gekennzeichnet.

26 26 


28 28 

29### Erstellen Sie Ihren ersten Skill29### Erstellen Sie Ihren ersten Skill

30 30 

31Dieses Beispiel erstellt einen Skill, der Claude beibringt, Code mit visuellen Diagrammen und Analogien zu erklären. Da er Standard-Frontmatter verwendet, kann Claude ihn automatisch laden, wenn Sie fragen, wie etwas funktioniert, oder Sie können ihn direkt mit `/explain-code` aufrufen.31Dieses Beispiel erstellt einen Skill, der die nicht committeten Änderungen in Ihrem Git-Repository zusammenfasst und alles Riskante kennzeichnet. Es zieht den Live-Diff in den Prompt, bevor Claude ihn liest, sodass die Antwort in Ihrem tatsächlichen Arbeitsbaum verankert ist, anstatt auf dem zu basieren, was Claude aus offenen Dateien erraten kann. Claude lädt den Skill automatisch, wenn Sie nach Ihren Änderungen fragen, oder Sie können ihn direkt mit `/summarize-changes` aufrufen.

32 32 

33<Steps>33<Steps>

34 <Step title="Erstellen Sie das Skill-Verzeichnis">34 <Step title="Erstellen Sie das Skill-Verzeichnis">

35 Erstellen Sie ein Verzeichnis für den Skill in Ihrem persönlichen Skills-Ordner. Persönliche Skills sind über alle Ihre Projekte hinweg verfügbar.35 Erstellen Sie ein Verzeichnis für den Skill in Ihrem persönlichen Skills-Ordner. Persönliche Skills sind über alle Ihre Projekte hinweg verfügbar.

36 36 

37 ```bash theme={null}37 ```bash theme={null}

38 mkdir -p ~/.claude/skills/explain-code38 mkdir -p ~/.claude/skills/summarize-changes

39 ```39 ```

40 </Step>40 </Step>

41 41 

42 <Step title="Schreiben Sie SKILL.md">42 <Step title="Schreiben Sie SKILL.md">

43 Jeder Skill benötigt eine `SKILL.md`-Datei mit zwei Teilen: YAML-Frontmatter (zwischen `---`-Markierungen), das Claude mitteilt, wann der Skill verwendet werden soll, und Markdown-Inhalt mit Anweisungen, die Claude befolgt, wenn der Skill aufgerufen wird. Das Verzeichnisname wird zum `/slash-command`, und die `description` hilft Claude zu entscheiden, wann der Skill automatisch geladen werden soll.43 Jeder Skill benötigt eine `SKILL.md`-Datei mit zwei Teilen: YAML-Frontmatter zwischen `---`-Markierungen, das Claude mitteilt, wann der Skill verwendet werden soll, und Markdown-Inhalt mit Anweisungen, die Claude befolgt, wenn der Skill ausgeführt wird. Das Verzeichnisname wird zum Befehl, den Sie eingeben, und die `description` hilft Claude zu entscheiden, wann der Skill automatisch geladen werden soll.

44 44 

45 Erstellen Sie `~/.claude/skills/explain-code/SKILL.md`:45 Speichern Sie dies unter `~/.claude/skills/summarize-changes/SKILL.md`:

46 46 

47 ```yaml theme={null}47 ```yaml theme={null}

48 ---48 ---

49 description: Explains code with visual diagrams and analogies. Use when explaining how code works, teaching about a codebase, or when the user asks "how does this work?"49 description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.

50 ---50 ---

51 51 

52 When explaining code, always include:52 ## Current changes

53 53 

54 1. **Start with an analogy**: Compare the code to something from everyday life54 !`git diff HEAD`

55 2. **Draw a diagram**: Use ASCII art to show the flow, structure, or relationships

56 3. **Walk through the code**: Explain step-by-step what happens

57 4. **Highlight a gotcha**: What's a common mistake or misconception?

58 55 

59 Keep explanations conversational. For complex concepts, use multiple analogies.56 ## Instructions

57 

58 Summarize 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.

60 ```59 ```

60 

61 Die Zeile `` !`git diff HEAD` `` verwendet [dynamische Kontextinjektion](#inject-dynamic-context): Claude Code führt den Befehl aus und ersetzt die Zeile mit seiner Ausgabe, bevor Claude den Skill-Inhalt sieht, sodass die Anweisungen mit dem aktuellen Diff bereits inline ankommen.

61 </Step>62 </Step>

62 63 

63 <Step title="Testen Sie den Skill">64 <Step title="Testen Sie den Skill">

64 Sie können ihn auf zwei Arten testen:65 Öffnen Sie ein Git-Projekt, nehmen Sie eine kleine Änderung an einer beliebigen Datei vor, und starten Sie Claude Code, indem Sie `claude` ausführen. Sie können den Skill auf zwei Arten testen.

65 66 

66 **Lassen Sie Claude ihn automatisch aufrufen**, indem Sie etwas eingeben, das der Beschreibung entspricht:67 **Lassen Sie Claude ihn automatisch aufrufen**, indem Sie etwas eingeben, das der Beschreibung entspricht:

67 68 

68 ```text theme={null}69 ```text theme={null}

69 How does this code work?70 What did I change?

70 ```71 ```

71 72 

72 **Oder rufen Sie ihn direkt auf** mit dem Skill-Namen:73 **Oder rufen Sie ihn direkt auf** mit dem Skill-Namen:

73 74 

74 ```text theme={null}75 ```text theme={null}

75 /explain-code src/auth/login.ts76 /summarize-changes

76 ```77 ```

77 78 

78 In beiden Fällen sollte Claude eine Analogie und ein ASCII-Diagramm in seiner Erklärung enthalten.79 In beiden Fällen sollte Claude mit einer kurzen Zusammenfassung Ihrer Änderung und einer Liste von Risiken antworten.

79 </Step>80 </Step>

80</Steps>81</Steps>

81 82 


168 169 

169Ihre `SKILL.md` kann alles enthalten, aber das Nachdenken darüber, wie Sie den Skill aufrufen möchten (von Ihnen, von Claude oder von beiden) und wo Sie ihn ausführen möchten (inline oder in einem Subagent) hilft zu leiten, was Sie einbeziehen. Für komplexe Skills können Sie auch [unterstützende Dateien hinzufügen](#add-supporting-files), um den Hauptskill fokussiert zu halten.170Ihre `SKILL.md` kann alles enthalten, aber das Nachdenken darüber, wie Sie den Skill aufrufen möchten (von Ihnen, von Claude oder von beiden) und wo Sie ihn ausführen möchten (inline oder in einem Subagent) hilft zu leiten, was Sie einbeziehen. Für komplexe Skills können Sie auch [unterstützende Dateien hinzufügen](#add-supporting-files), um den Hauptskill fokussiert zu halten.

170 171 

172Halten Sie den Text selbst prägnant. Sobald ein Skill geladen ist, bleibt sein Inhalt [über Züge hinweg im Kontext](#skill-content-lifecycle), sodass jede Zeile eine wiederkehrende Token-Kosten darstellt. Geben Sie an, was zu tun ist, anstatt zu erzählen, wie oder warum, und wenden Sie denselben Prägnanz-Test an, den Sie für [CLAUDE.md-Inhalt](/de/best-practices#write-an-effective-claude-md) verwenden würden.

173 

171### Frontmatter-Referenz174### Frontmatter-Referenz

172 175 

173Über den Markdown-Inhalt hinaus können Sie das Skill-Verhalten mit YAML-Frontmatter-Feldern zwischen `---`-Markierungen oben in Ihrer `SKILL.md`-Datei konfigurieren:176Über den Markdown-Inhalt hinaus können Sie das Skill-Verhalten mit YAML-Frontmatter-Feldern zwischen `---`-Markierungen oben in Ihrer `SKILL.md`-Datei konfigurieren:


186Alle Felder sind optional. Nur `description` wird empfohlen, damit Claude weiß, wann der Skill verwendet werden soll.189Alle Felder sind optional. Nur `description` wird empfohlen, damit Claude weiß, wann der Skill verwendet werden soll.

187 190 

188| Feld | Erforderlich | Beschreibung |191| Feld | Erforderlich | Beschreibung |

189| :------------------------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |192| :------------------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

190| `name` | Nein | Anzeigename für den Skill. Falls weggelassen, wird der Verzeichnisname verwendet. Nur Kleinbuchstaben, Zahlen und Bindestriche (max. 64 Zeichen). |193| `name` | Nein | Anzeigename für den Skill. Falls weggelassen, wird der Verzeichnisname verwendet. Nur Kleinbuchstaben, Zahlen und Bindestriche (max. 64 Zeichen). |

191| `description` | Empfohlen | Was der Skill tut und wann er verwendet werden soll. Claude verwendet dies, um zu entscheiden, wann der Skill angewendet werden soll. Falls weggelassen, wird der erste Absatz des Markdown-Inhalts verwendet. Front-load den wichtigsten Anwendungsfall: Der kombinierte Text `description` und `when_to_use` wird in der Skill-Auflistung bei 1.536 Zeichen gekürzt, um die Kontextnutzung zu reduzieren. |194| `description` | Empfohlen | Was der Skill tut und wann er verwendet werden soll. Claude verwendet dies, um zu entscheiden, wann der Skill angewendet werden soll. Falls weggelassen, wird der erste Absatz des Markdown-Inhalts verwendet. Stellen Sie den wichtigsten Anwendungsfall an den Anfang: Der kombinierte Text `description` und `when_to_use` wird in der Skill-Auflistung bei 1.536 Zeichen gekürzt, um die Kontextnutzung zu reduzieren. |

192| `when_to_use` | Nein | Zusätzlicher Kontext für den Zeitpunkt, zu dem Claude den Skill aufrufen sollte, z. B. Trigger-Phrasen oder Beispielanfragen. An `description` in der Skill-Auflistung angehängt und zählt zur 1.536-Zeichen-Obergrenze. |195| `when_to_use` | Nein | Zusätzlicher Kontext für den Zeitpunkt, zu dem Claude den Skill aufrufen sollte, z. B. Trigger-Phrasen oder Beispielanfragen. An `description` in der Skill-Auflistung angehängt und zählt zur 1.536-Zeichen-Obergrenze. |

193| `argument-hint` | Nein | Hinweis, der während der Autovervollständigung angezeigt wird, um erwartete Argumente anzuzeigen. Beispiel: `[issue-number]` oder `[filename] [format]`. |196| `argument-hint` | Nein | Hinweis, der während der Autovervollständigung angezeigt wird, um erwartete Argumente anzuzeigen. Beispiel: `[issue-number]` oder `[filename] [format]`. |

194| `arguments` | Nein | Benannte positionelle Argumente für [`$name`-Substitution](#available-string-substitutions) im Skill-Inhalt. Akzeptiert eine durch Leerzeichen getrennte Zeichenkette oder eine YAML-Liste. Namen werden in Reihenfolge auf Argumentpositionen abgebildet. |197| `arguments` | Nein | Benannte positionelle Argumente für [`$name`-Substitution](#available-string-substitutions) im Skill-Inhalt. Akzeptiert eine durch Leerzeichen getrennte Zeichenkette oder eine YAML-Liste. Namen werden in Reihenfolge auf Argumentpositionen abgebildet. |


305 308 

306Das `allowed-tools`-Feld gewährt Berechtigung für die aufgelisteten Tools, während der Skill aktiv ist, sodass Claude sie verwenden kann, ohne Sie um Genehmigung zu bitten. Es schränkt nicht ein, welche Tools verfügbar sind: Jedes Tool bleibt aufrufbar, und Ihre [Berechtigungseinstellungen](/de/permissions) regeln weiterhin Tools, die nicht aufgelistet sind.309Das `allowed-tools`-Feld gewährt Berechtigung für die aufgelisteten Tools, während der Skill aktiv ist, sodass Claude sie verwenden kann, ohne Sie um Genehmigung zu bitten. Es schränkt nicht ein, welche Tools verfügbar sind: Jedes Tool bleibt aufrufbar, und Ihre [Berechtigungseinstellungen](/de/permissions) regeln weiterhin Tools, die nicht aufgelistet sind.

307 310 

311Für Skills, die in das Verzeichnis `.claude/skills/` eines Projekts eingecheckt werden, tritt `allowed-tools` in Kraft, nachdem Sie den Workspace-Trust-Dialog für diesen Ordner akzeptiert haben, genauso wie Berechtigungsregeln in `.claude/settings.json`. Überprüfen Sie Projekt-Skills vor dem Vertrauen in ein Repository, da ein Skill sich selbst breiten Tool-Zugriff gewähren kann.

312 

308Dieser Skill lässt Claude Git-Befehle ohne Genehmigung pro Verwendung ausführen, wenn Sie ihn aufrufen:313Dieser Skill lässt Claude Git-Befehle ohne Genehmigung pro Verwendung ausführen, wenn Sie ihn aufrufen:

309 314 

310```yaml theme={null}315```yaml theme={null}


416Um dieses Verhalten für Skills und benutzerdefinierte Befehle aus Benutzer-, Projekt-, Plugin- oder [zusätzlichen Verzeichnis](#skills-from-additional-directories)-Quellen zu deaktivieren, setzen Sie `"disableSkillShellExecution": true` in [Einstellungen](/de/settings). Jeder Befehl wird stattdessen durch `[shell command execution disabled by policy]` ersetzt. Gebündelte und verwaltete Skills sind nicht betroffen. Diese Einstellung ist am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer sie nicht überschreiben können.421Um dieses Verhalten für Skills und benutzerdefinierte Befehle aus Benutzer-, Projekt-, Plugin- oder [zusätzlichen Verzeichnis](#skills-from-additional-directories)-Quellen zu deaktivieren, setzen Sie `"disableSkillShellExecution": true` in [Einstellungen](/de/settings). Jeder Befehl wird stattdessen durch `[shell command execution disabled by policy]` ersetzt. Gebündelte und verwaltete Skills sind nicht betroffen. Diese Einstellung ist am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer sie nicht überschreiben können.

417 422 

418<Tip>423<Tip>

419 Um [erweitertes Denken](/de/common-workflows#use-extended-thinking-thinking-mode) in einem Skill zu aktivieren, fügen Sie das Wort „ultrathink" irgendwo in Ihren Skill-Inhalt ein.424 Um tiefere Überlegungen zu anfordern, wenn ein Skill ausgeführt wird, fügen Sie `ultrathink` irgendwo im Skill-Inhalt ein. Siehe [Verwenden Sie ultrathink für einmalige tiefe Überlegungen](/de/model-config#use-ultrathink-for-one-off-deep-reasoning).

420</Tip>425</Tip>

421 426 

422### Skills in einem Subagent ausführen427### Skills in einem Subagent ausführen


496 Das `user-invocable`-Feld steuert nur die Menüsichtbarkeit, nicht den Skill-Tool-Zugriff. Verwenden Sie `disable-model-invocation: true`, um die programmgesteuerte Aufrufe zu blockieren.501 Das `user-invocable`-Feld steuert nur die Menüsichtbarkeit, nicht den Skill-Tool-Zugriff. Verwenden Sie `disable-model-invocation: true`, um die programmgesteuerte Aufrufe zu blockieren.

497</Note>502</Note>

498 503 

504### Skill-Sichtbarkeit aus Einstellungen überschreiben

505 

506Die `skillOverrides`-Einstellung steuert die Skill-Sichtbarkeit aus Ihren [Einstellungen](/de/settings) statt aus dem Frontmatter des Skills selbst. Verwenden Sie sie für Skills, deren SKILL.md Sie nicht bearbeiten möchten, z. B. solche, die in ein gemeinsames Projekt-Repository eingecheckt sind oder von einem MCP-Server bereitgestellt werden. Das `/skills`-Menü schreibt es für Sie: Markieren Sie einen Skill und drücken Sie `Space`, um die Zustände zu durchlaufen, dann `Enter`, um in `.claude/settings.local.json` zu speichern.

507 

508Jeder Schlüssel ist ein Skill-Name und jeder Wert ist einer von vier Zuständen:

509 

510| Wert | Aufgelistet für Claude | Im `/`-Menü |

511| :---------------------- | :--------------------- | :---------- |

512| `"on"` | Name und Beschreibung | Ja |

513| `"name-only"` | Nur Name | Ja |

514| `"user-invocable-only"` | Versteckt | Ja |

515| `"off"` | Versteckt | Versteckt |

516 

517Ein Skill, der in `skillOverrides` fehlt, wird als `"on"` behandelt. Das folgende Beispiel reduziert einen Skill auf seinen Namen und deaktiviert einen anderen vollständig:

518 

519```json theme={null}

520{

521 "skillOverrides": {

522 "legacy-context": "name-only",

523 "deploy": "off"

524 }

525}

526```

527 

528Plugin-Skills sind nicht von `skillOverrides` betroffen. Verwalten Sie diese stattdessen über `/plugin`.

529 

499## Skills teilen530## Skills teilen

500 531 

501Skills können je nach Ihrer Zielgruppe in verschiedenen Bereichen verteilt werden:532Skills können je nach Ihrer Zielgruppe in verschiedenen Bereichen verteilt werden:


516mkdir -p ~/.claude/skills/codebase-visualizer/scripts547mkdir -p ~/.claude/skills/codebase-visualizer/scripts

517```548```

518 549 

519Erstellen Sie `~/.claude/skills/codebase-visualizer/SKILL.md`. Die Beschreibung teilt Claude mit, wann dieser Skill aktiviert werden soll, und die Anweisungen teilen Claude mit, das gebündelte Script auszuführen:550Speichern Sie dies unter `~/.claude/skills/codebase-visualizer/SKILL.md`. Die Beschreibung teilt Claude mit, wann dieser Skill aktiviert werden soll, und die Anweisungen teilen Claude mit, das gebündelte Script auszuführen. Der Script-Pfad verwendet [`${CLAUDE_SKILL_DIR}`](#available-string-substitutions), damit er korrekt aufgelöst wird, unabhängig davon, ob der Skill auf persönlicher, Projekt- oder Plugin-Ebene installiert ist:

520 551 

521````yaml theme={null}552````yaml theme={null}

522---553---

523name: codebase-visualizer554name: codebase-visualizer

524description: Generate an interactive collapsible tree visualization of your codebase. Use when exploring a new repo, understanding project structure, or identifying large files.555description: Generate an interactive collapsible tree visualization of your codebase. Use when exploring a new repo, understanding project structure, or identifying large files.

525allowed-tools: Bash(python *)556allowed-tools: Bash(python3 *)

526---557---

527 558 

528# Codebase Visualizer559# Codebase Visualizer


534Run the visualization script from your project root:565Run the visualization script from your project root:

535 566 

536```bash567```bash

537python ~/.claude/skills/codebase-visualizer/scripts/visualize.py .568python3 ${CLAUDE_SKILL_DIR}/scripts/visualize.py .

538```569```

539 570 

540This creates `codebase-map.html` in the current directory and opens it in your default browser.571This creates `codebase-map.html` in the current directory and opens it in your default browser.


547- **Directory totals**: Shows aggregate size of each folder578- **Directory totals**: Shows aggregate size of each folder

548````579````

549 580 

550Erstellen Sie `~/.claude/skills/codebase-visualizer/scripts/visualize.py`. Dieses Script scannt einen Verzeichnisbaum und generiert eine eigenständige HTML-Datei mit:581Speichern Sie dies unter `~/.claude/skills/codebase-visualizer/scripts/visualize.py`. Dieses Script scannt einen Verzeichnisbaum und generiert eine eigenständige HTML-Datei mit:

551 582 

552* Eine **Zusammenfassungs-Seitenleiste**, die Dateianzahl, Verzeichnisanzahl, Gesamtgröße und Anzahl der Dateitypen anzeigt583* Eine **Zusammenfassungs-Seitenleiste**, die Dateianzahl, Verzeichnisanzahl, Gesamtgröße und Anzahl der Dateitypen anzeigt

553* Ein **Balkendiagramm**, das die Codebasis nach Dateityp aufschlüsselt (Top 8 nach Größe)584* Ein **Balkendiagramm**, das die Codebasis nach Dateityp aufschlüsselt (Top 8 nach Größe)

554* Einen **zusammenklappbaren Baum**, in dem Sie Verzeichnisse erweitern und reduzieren können, mit farbcodierten Dateityp-Indikatoren585* Einen **zusammenklappbaren Baum**, in dem Sie Verzeichnisse erweitern und reduzieren können, mit farbcodierten Dateityp-Indikatoren

555 586 

556Das Script erfordert Python, verwendet aber nur integrierte Bibliotheken, daher müssen keine Pakete installiert werden:587Das Script erfordert Python 3, verwendet aber nur integrierte Bibliotheken, daher müssen keine Pakete installiert werden:

557 588 

558```python expandable theme={null}589```python expandable theme={null}

559#!/usr/bin/env python3590#!/usr/bin/env python3


562import json593import json

563import sys594import sys

564import webbrowser595import webbrowser

596from html import escape

565from pathlib import Path597from pathlib import Path

566from collections import Counter598from collections import Counter

567 599 


650 {lang_bars}682 {lang_bars}

651 </div>683 </div>

652 <div class="main">684 <div class="main">

653 <h1>📁 {data["name"]}</h1>685 <h1>📁 {escape(data["name"])}</h1>

654 <ul class="tree" id="root"></ul>686 <ul class="tree" id="root"></ul>

655 </div>687 </div>

656 </div>688 </div>


658 const data = {json.dumps(data)};690 const data = {json.dumps(data)};

659 const colors = {json.dumps(colors)};691 const colors = {json.dumps(colors)};

660 function fmt(b) {{ if (b < 1024) return b + ' B'; if (b < 1048576) return (b/1024).toFixed(1) + ' KB'; return (b/1048576).toFixed(1) + ' MB'; }}692 function fmt(b) {{ if (b < 1024) return b + ' B'; if (b < 1048576) return (b/1024).toFixed(1) + ' KB'; return (b/1048576).toFixed(1) + ' MB'; }}

693 function esc(s) {{ return s.replace(/[&<>"']/g, c => ({{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}}[c])); }}

661 function render(node, parent) {{694 function render(node, parent) {{

662 if (node.children) {{695 if (node.children) {{

663 const det = document.createElement('details');696 const det = document.createElement('details');

664 det.open = parent === document.getElementById('root');697 det.open = parent === document.getElementById('root');

665 det.innerHTML = `<summary><span class="folder">📁 ${{node.name}}</span><span class="size">${{fmt(node.size)}}</span></summary>`;698 det.innerHTML = `<summary><span class="folder">📁 ${{esc(node.name)}}</span><span class="size">${{fmt(node.size)}}</span></summary>`;

666 const ul = document.createElement('ul'); ul.className = 'tree';699 const ul = document.createElement('ul'); ul.className = 'tree';

667 node.children.sort((a,b) => (b.children?1:0)-(a.children?1:0) || a.name.localeCompare(b.name));700 node.children.sort((a,b) => (b.children?1:0)-(a.children?1:0) || a.name.localeCompare(b.name));

668 node.children.forEach(c => render(c, ul));701 node.children.forEach(c => render(c, ul));


670 const li = document.createElement('li'); li.appendChild(det); parent.appendChild(li);703 const li = document.createElement('li'); li.appendChild(det); parent.appendChild(li);

671 }} else {{704 }} else {{

672 const li = document.createElement('li'); li.className = 'file';705 const li = document.createElement('li'); li.className = 'file';

673 li.innerHTML = `<span class="dot" style="background:${{colors[node.ext]||'#6b7280'}}"></span>${{node.name}}<span class="size">${{fmt(node.size)}}</span>`;706 li.innerHTML = `<span class="dot" style="background:${{colors[node.ext]||'#6b7280'}}"></span>${{esc(node.name)}}<span class="size">${{fmt(node.size)}}</span>`;

674 parent.appendChild(li);707 parent.appendChild(li);

675 }}708 }}

676 }}709 }}


715 748 

716Skill-Beschreibungen werden in den Kontext geladen, damit Claude weiß, was verfügbar ist. Alle Skill-Namen sind immer enthalten, aber wenn Sie viele Skills haben, werden Beschreibungen gekürzt, um in das Zeichenbudget zu passen, was die Schlüsselwörter entfernen kann, die Claude benötigt, um Ihre Anfrage zu erfüllen. Das Budget skaliert dynamisch bei 1% des Kontextfensters, mit einem Fallback von 8.000 Zeichen.749Skill-Beschreibungen werden in den Kontext geladen, damit Claude weiß, was verfügbar ist. Alle Skill-Namen sind immer enthalten, aber wenn Sie viele Skills haben, werden Beschreibungen gekürzt, um in das Zeichenbudget zu passen, was die Schlüsselwörter entfernen kann, die Claude benötigt, um Ihre Anfrage zu erfüllen. Das Budget skaliert dynamisch bei 1% des Kontextfensters, mit einem Fallback von 8.000 Zeichen.

717 750 

718Um das Limit zu erhöhen, setzen Sie die Umgebungsvariable `SLASH_COMMAND_TOOL_CHAR_BUDGET`. Oder kürzen Sie Beschreibungen an der Quelle: Front-load den wichtigsten Anwendungsfall, da jeder Eintrag unabhängig vom Budget auf 1.536 Zeichen begrenzt ist.751Um das Limit zu erhöhen, setzen Sie die Umgebungsvariable `SLASH_COMMAND_TOOL_CHAR_BUDGET`. Um Budget für andere Skills freizugeben, setzen Sie Einträge mit niedriger Priorität auf `"name-only"` in [`skillOverrides`](#override-skill-visibility-from-settings), damit sie ohne Beschreibung aufgelistet werden. Sie können auch den Text `description` und `when_to_use` an der Quelle kürzen: Stellen Sie den wichtigsten Anwendungsfall an den Anfang, da der kombinierte Text jedes Eintrags unabhängig vom Budget auf 1.536 Zeichen begrenzt ist.

719 752 

720## Verwandte Ressourcen753## Verwandte Ressourcen

721 754 

statusline.md +10 −11

Details

134 134 

135**Wann es aktualisiert wird**135**Wann es aktualisiert wird**

136 136 

137Ihr Skript wird nach jeder neuen Assistentnachricht ausgeführt, wenn sich der Berechtigungsmodus ändert oder wenn der Vim-Modus umgeschaltet wird. Aktualisierungen werden mit 300 ms entprellt, was bedeutet, dass schnelle Änderungen zusammengefasst werden und Ihr Skript einmal ausgeführt wird, wenn sich die Dinge beruhigen. Wenn eine neue Aktualisierung ausgelöst wird, während Ihr Skript noch läuft, wird die laufende Ausführung abgebrochen. Wenn Sie Ihr Skript bearbeiten, werden die Änderungen erst bei Ihrer nächsten Interaktion mit Claude Code angezeigt, die eine Aktualisierung auslöst.137Ihr Skript wird nach jeder neuen Assistentnachricht ausgeführt, nachdem `/compact` abgeschlossen ist, wenn sich der Berechtigungsmodus ändert oder wenn der Vim-Modus umgeschaltet wird. Aktualisierungen werden mit 300 ms entprellt, was bedeutet, dass schnelle Änderungen zusammengefasst werden und Ihr Skript einmal ausgeführt wird, wenn sich die Dinge beruhigen. Wenn eine neue Aktualisierung ausgelöst wird, während Ihr Skript noch läuft, wird die laufende Ausführung abgebrochen. Wenn Sie Ihr Skript bearbeiten, werden die Änderungen erst bei Ihrer nächsten Interaktion mit Claude Code angezeigt, die eine Aktualisierung auslöst.

138 138 

139Diese Trigger können ruhig werden, wenn die Hauptsitzung untätig ist, z. B. während ein Koordinator auf Hintergrund-Subagenten wartet. Um zeitbasierte oder extern bezogene Segmente während untätiger Perioden aktuell zu halten, setzen Sie [`refreshInterval`](#manually-configure-a-status-line), um den Befehl auch auf einem festen Timer erneut auszuführen.139Diese Trigger können ruhig werden, wenn die Hauptsitzung untätig ist, z. B. während ein Koordinator auf Hintergrund-Subagenten wartet. Um zeitbasierte oder extern bezogene Segmente während untätiger Perioden aktuell zu halten, setzen Sie [`refreshInterval`](#manually-configure-a-status-line), um den Befehl auch auf einem festen Timer erneut auszuführen.

140 140 


161| `cost.total_duration_ms` | Gesamtverstrichene Zeit seit Sitzungsbeginn in Millisekunden |161| `cost.total_duration_ms` | Gesamtverstrichene Zeit seit Sitzungsbeginn in Millisekunden |

162| `cost.total_api_duration_ms` | Gesamtzeit, die auf API-Antworten wartet, in Millisekunden |162| `cost.total_api_duration_ms` | Gesamtzeit, die auf API-Antworten wartet, in Millisekunden |

163| `cost.total_lines_added`, `cost.total_lines_removed` | Geänderte Codezeilen |163| `cost.total_lines_added`, `cost.total_lines_removed` | Geänderte Codezeilen |

164| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Kumulative Token-Zählungen über die Sitzung |164| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Token-Zählungen, die sich derzeit im Kontextfenster befinden, aus der letzten API-Antwort. Die Eingabe umfasst Cache-Lesevorgänge und -Schreibvorgänge. Vor v2.1.132 waren diese kumulative Sitzungssummen |

165| `context_window.context_window_size` | Maximale Kontextfenstergröße in Token. Standardmäßig 200.000 oder 1.000.000 für Modelle mit erweitertem Kontext. |165| `context_window.context_window_size` | Maximale Kontextfenstergröße in Token. Standardmäßig 200.000 oder 1.000.000 für Modelle mit erweitertem Kontext. |

166| `context_window.used_percentage` | Vorberechneter Prozentsatz der Kontextfensternutzung |166| `context_window.used_percentage` | Vorberechneter Prozentsatz der Kontextfensternutzung |

167| `context_window.remaining_percentage` | Vorberechneter Prozentsatz des verbleibenden Kontextfensters |167| `context_window.remaining_percentage` | Vorberechneter Prozentsatz des verbleibenden Kontextfensters |


215 "total_lines_removed": 23215 "total_lines_removed": 23

216 },216 },

217 "context_window": {217 "context_window": {

218 "total_input_tokens": 15234,218 "total_input_tokens": 15500,

219 "total_output_tokens": 4521,219 "total_output_tokens": 1200,

220 "context_window_size": 200000,220 "context_window_size": 200000,

221 "used_percentage": 8,221 "used_percentage": 8,

222 "remaining_percentage": 92,222 "remaining_percentage": 92,


272 272 

273 **Felder, die `null` sein können**:273 **Felder, die `null` sein können**:

274 274 

275 * `context_window.current_usage`: `null` vor dem ersten API-Aufruf in einer Sitzung275 * `context_window.current_usage`: `null` vor dem ersten API-Aufruf in einer Sitzung und erneut nach `/compact`, bis der nächste API-Aufruf es erneut füllt

276 * `context_window.used_percentage`, `context_window.remaining_percentage`: können früh in der Sitzung `null` sein276 * `context_window.used_percentage`, `context_window.remaining_percentage`: können früh in der Sitzung `null` sein

277 277 

278 Behandeln Sie fehlende Felder mit bedingtem Zugriff und Null-Werte mit Fallback-Standardwerten in Ihren Skripten.278 Behandeln Sie fehlende Felder mit bedingtem Zugriff und Null-Werte mit Fallback-Standardwerten in Ihren Skripten.


280 280 

281### Kontextfenster-Felder281### Kontextfenster-Felder

282 282 

283Das `context_window` Objekt bietet zwei Möglichkeiten, die Kontextnutzung zu verfolgen:283Das `context_window` Objekt beschreibt das Live-Kontextfenster aus der letzten API-Antwort. Ab v2.1.132 spiegeln `total_input_tokens` und `total_output_tokens` die aktuelle Kontextnutzung wider, nicht kumulative Sitzungssummen.

284 284 

285* **Kumulative Summen** (`total_input_tokens`, `total_output_tokens`): Summe aller Token über die gesamte Sitzung, nützlich zur Verfolgung des Gesamtverbrauchs285* **Kombinierte Summen** (`total_input_tokens`, `total_output_tokens`): Token, die sich derzeit im Kontextfenster befinden. `total_input_tokens` ist die Summe von `input_tokens`, `cache_creation_input_tokens` und `cache_read_input_tokens`; `total_output_tokens` sind die Ausgabe-Token aus der letzten Antwort. Beide sind `0` vor der ersten API-Antwort.

286* **Aktuelle Nutzung** (`current_usage`): Token-Zählungen aus dem letzten API-Aufruf, verwenden Sie dies für einen genauen Kontextprozentsatz, da er den tatsächlichen Kontextzustand widerspiegelt286* **Pro-Komponenten-Nutzung** (`current_usage`): die gleichen Token-Zählungen nach Kategorie aufgeschlüsselt. Verwenden Sie dies, wenn Sie Cache-Treffer separat von frischer Eingabe benötigen.

287 287 

288Das `current_usage` Objekt enthält:288Das `current_usage` Objekt enthält:

289 289 


296 296 

297Wenn Sie den Kontextprozentsatz manuell aus `current_usage` berechnen, verwenden Sie die gleiche Eingabe-only-Formel, um `used_percentage` zu entsprechen.297Wenn Sie den Kontextprozentsatz manuell aus `current_usage` berechnen, verwenden Sie die gleiche Eingabe-only-Formel, um `used_percentage` zu entsprechen.

298 298 

299Das `current_usage` Objekt ist `null` vor dem ersten API-Aufruf in einer Sitzung.299Das `current_usage` Objekt ist `null` vor dem ersten API-Aufruf in einer Sitzung und erneut unmittelbar nach `/compact`, bis der nächste API-Aufruf es erneut füllt.

300 300 

301## Beispiele301## Beispiele

302 302 


1011 1011 

1012**Kontextprozentsatz zeigt unerwartete Werte**1012**Kontextprozentsatz zeigt unerwartete Werte**

1013 1013 

1014* Verwenden Sie `used_percentage` für genauen Kontextzustand anstelle von kumulativen Summen1014* Verwenden Sie `used_percentage` für den einfachsten genauen Kontextzustand

1015* Die `total_input_tokens` und `total_output_tokens` sind kumulativ über die Sitzung und können die Kontextfenstergröße überschreiten

1016* Der Kontextprozentsatz kann sich von der `/context` Ausgabe unterscheiden, je nachdem, wann jeder berechnet wird1015* Der Kontextprozentsatz kann sich von der `/context` Ausgabe unterscheiden, je nachdem, wann jeder berechnet wird

1017 1016 

1018**OSC 8-Links nicht anklickbar**1017**OSC 8-Links nicht anklickbar**

Details

24In den meisten Terminals können Sie auch Shift+Enter drücken, aber die Unterstützung variiert je nach Terminal-Emulator:24In den meisten Terminals können Sie auch Shift+Enter drücken, aber die Unterstützung variiert je nach Terminal-Emulator:

25 25 

26| Terminal | Shift+Enter für Zeilenumbruch |26| Terminal | Shift+Enter für Zeilenumbruch |

27| :------------------------------------------------------------------------------ | :-------------------------------------------------------- |27| :---------------------------------------------------------------------- | :-------------------------------------------------------- |

28| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal | Funktioniert ohne Setup |28| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funktioniert ohne Setup |

29| VS Code, Cursor, Windsurf, Alacritty, Zed | Führen Sie `/terminal-setup` einmal aus |29| VS Code, Cursor, Windsurf, Alacritty, Zed | Führen Sie `/terminal-setup` einmal aus |

30| Windows Terminal, gnome-terminal, JetBrains IDEs wie PyCharm und Android Studio | Nicht verfügbar; verwenden Sie Ctrl+J oder `\` dann Enter |30| gnome-terminal, JetBrains IDEs wie PyCharm und Android Studio | Nicht verfügbar; verwenden Sie Ctrl+J oder `\` dann Enter |

31 31 

32Für VS Code, Cursor, Windsurf, Alacritty und Zed schreibt `/terminal-setup` Shift+Enter und andere Tastenbelegungen in die Konfigurationsdatei des Terminals. In VS Code, Cursor und Windsurf wird auch `terminal.integrated.mouseWheelScrollSensitivity` in den Editor-Einstellungen für sanfteres Scrollen im [Vollbildmodus](/de/fullscreen) gesetzt. Vorhandene Bindungen und Einstellungen bleiben erhalten; wenn Sie eine Meldung wie `VSCode terminal Shift+Enter key binding already configured` sehen, wurde keine Änderung vorgenommen. Führen Sie `/terminal-setup` direkt im Host-Terminal aus, nicht in tmux oder screen, da es in die Konfiguration des Host-Terminals schreiben muss.32Für VS Code, Cursor, Windsurf, Alacritty und Zed schreibt `/terminal-setup` Shift+Enter und andere Tastenbelegungen in die Konfigurationsdatei des Terminals. In VS Code, Cursor und Windsurf wird auch `terminal.integrated.mouseWheelScrollSensitivity` in den Editor-Einstellungen für sanfteres Scrollen im [Vollbildmodus](/de/fullscreen) gesetzt. Vorhandene Bindungen und Einstellungen bleiben erhalten; wenn Sie eine Meldung wie `VSCode terminal Shift+Enter key binding already configured` sehen, wurde keine Änderung vorgenommen. Führen Sie `/terminal-setup` direkt im Host-Terminal aus, nicht in tmux oder screen, da es in die Konfiguration des Host-Terminals schreiben muss.

33 33 

vs-code.md +13 −3

Details

95* **Genehmigungsmodi**: Klicken Sie auf den Modusindikator am unteren Rand des Eingabefelds, um Modi zu wechseln. Im normalen Modus fragt Claude vor jeder Aktion um Genehmigung. Im Plan Mode beschreibt Claude, was es tun wird, und wartet auf Genehmigung, bevor es Änderungen vornimmt. VS Code öffnet den Plan automatisch als vollständiges Markdown-Dokument, in dem Sie Inline-Kommentare hinzufügen können, um Feedback zu geben, bevor Claude beginnt. Im Auto-Accept-Modus nimmt Claude Bearbeitungen vor, ohne zu fragen. Legen Sie den Standard in den VS Code-Einstellungen unter `claudeCode.initialPermissionMode` fest.95* **Genehmigungsmodi**: Klicken Sie auf den Modusindikator am unteren Rand des Eingabefelds, um Modi zu wechseln. Im normalen Modus fragt Claude vor jeder Aktion um Genehmigung. Im Plan Mode beschreibt Claude, was es tun wird, und wartet auf Genehmigung, bevor es Änderungen vornimmt. VS Code öffnet den Plan automatisch als vollständiges Markdown-Dokument, in dem Sie Inline-Kommentare hinzufügen können, um Feedback zu geben, bevor Claude beginnt. Im Auto-Accept-Modus nimmt Claude Bearbeitungen vor, ohne zu fragen. Legen Sie den Standard in den VS Code-Einstellungen unter `claudeCode.initialPermissionMode` fest.

96* **Befehlsmenü**: Klicken Sie auf `/` oder geben Sie `/` ein, um das Befehlsmenü zu öffnen. Zu den Optionen gehören das Anhängen von Dateien, das Wechseln von Modellen, das Umschalten von erweitertem Denken, das Anzeigen der Plannutzung (`/usage`) und das Starten einer [Remote Control](/de/remote-control)-Sitzung (`/remote-control`). Der Abschnitt „Anpassen" bietet Zugriff auf MCP servers, hooks, memory, permissions und plugins. Elemente mit einem Terminal-Symbol werden im integrierten Terminal geöffnet.96* **Befehlsmenü**: Klicken Sie auf `/` oder geben Sie `/` ein, um das Befehlsmenü zu öffnen. Zu den Optionen gehören das Anhängen von Dateien, das Wechseln von Modellen, das Umschalten von erweitertem Denken, das Anzeigen der Plannutzung (`/usage`) und das Starten einer [Remote Control](/de/remote-control)-Sitzung (`/remote-control`). Der Abschnitt „Anpassen" bietet Zugriff auf MCP servers, hooks, memory, permissions und plugins. Elemente mit einem Terminal-Symbol werden im integrierten Terminal geöffnet.

97* **Kontextindikator**: Das Eingabefeld zeigt, wie viel von Claudes context window Sie verwenden. Claude komprimiert automatisch bei Bedarf, oder Sie können `/compact` manuell ausführen.97* **Kontextindikator**: Das Eingabefeld zeigt, wie viel von Claudes context window Sie verwenden. Claude komprimiert automatisch bei Bedarf, oder Sie können `/compact` manuell ausführen.

98* **Erweitertes Denken**: Ermöglicht Claude, mehr Zeit für die Überlegung komplexer Probleme aufzuwenden. Aktivieren Sie es über das Befehlsmenü (`/`). Claudes Überlegungen werden im Gespräch als zusammengeklappte Blöcke angezeigt: Klicken Sie auf einen Block, um ihn zu lesen, oder drücken Sie `Ctrl+O`, um jeden Denkblock in der Sitzung zu erweitern oder zu reduzieren. Siehe [Erweitertes Denken](/de/common-workflows#use-extended-thinking-thinking-mode) für Details.98* **Erweitertes Denken**: Ermöglicht Claude, mehr Zeit für die Überlegung komplexer Probleme aufzuwenden. Aktivieren Sie es über das Befehlsmenü (`/`). Claudes Überlegungen werden im Gespräch als zusammengeklappte Blöcke angezeigt: Klicken Sie auf einen Block, um ihn zu lesen, oder drücken Sie `Ctrl+O`, um jeden Denkblock in der Sitzung zu erweitern oder zu reduzieren. Siehe [Erweitertes Denken](/de/model-config#extended-thinking) für Details.

99* **Mehrzeilige Eingabe**: Drücken Sie `Shift+Enter`, um eine neue Zeile hinzuzufügen, ohne zu senden. Dies funktioniert auch in der Freitexteingabe „Sonstiges" von Frage-Dialogen.99* **Mehrzeilige Eingabe**: Drücken Sie `Shift+Enter`, um eine neue Zeile hinzuzufügen, ohne zu senden. Dies funktioniert auch in der Freitexteingabe „Sonstiges" von Frage-Dialogen.

100 100 

101### Referenzdateien und Ordner101### Referenzdateien und Ordner


115 115 

116### Frühere Gespräche fortsetzen116### Frühere Gespräche fortsetzen

117 117 

118Klicken Sie auf die Schaltfläche **Sitzungsverlauf** oben im Claude Code-Panel, um auf Ihren Gesprächsverlauf zuzugreifen. Sie können nach Schlüsselwort suchen oder nach Zeit durchsuchen (Heute, Gestern, Letzte 7 Tage usw.). Klicken Sie auf ein beliebiges Gespräch, um es mit dem vollständigen Nachrichtenverlauf fortzusetzen. Neue Sitzungen erhalten KI-generierte Titel basierend auf Ihrer ersten Nachricht. Bewegen Sie den Mauszeiger über eine Sitzung, um Umbenennungs- und Entfernungsaktionen anzuzeigen: Benennen Sie um, um ihr einen beschreibenden Titel zu geben, oder entfernen Sie sie, um sie aus der Liste zu löschen. Weitere Informationen zum Fortsetzen von Sitzungen finden Sie unter [Häufige Workflows](/de/common-workflows#resume-previous-conversations).118Klicken Sie auf die Schaltfläche **Sitzungsverlauf** oben im Claude Code-Panel, um auf Ihren Gesprächsverlauf zuzugreifen. Sie können nach Schlüsselwort suchen oder nach Zeit durchsuchen (Heute, Gestern, Letzte 7 Tage usw.). Klicken Sie auf ein beliebiges Gespräch, um es mit dem vollständigen Nachrichtenverlauf fortzusetzen. Neue Sitzungen erhalten KI-generierte Titel basierend auf Ihrer ersten Nachricht. Bewegen Sie den Mauszeiger über eine Sitzung, um Umbenennungs- und Entfernungsaktionen anzuzeigen: Benennen Sie um, um ihr einen beschreibenden Titel zu geben, oder entfernen Sie sie, um sie aus der Liste zu löschen. Weitere Informationen zum Fortsetzen von Sitzungen finden Sie unter [Sitzungen verwalten](/de/sessions).

119 119 

120### Fortsetzen von Remote-Sitzungen von Claude.ai120### Fortsetzen von Remote-Sitzungen von Claude.ai

121 121 


399claude --worktree feature-auth399claude --worktree feature-auth

400```400```

401 401 

402Jeder worktree behält einen unabhängigen Dateizustand bei, während er die Git-Historie teilt. Dies verhindert, dass Claude-Instanzen sich gegenseitig beeinflussen, wenn sie an verschiedenen Aufgaben arbeiten. Weitere Details finden Sie unter [Führen Sie parallele Claude Code-Sitzungen mit Git worktrees aus](/de/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees).402Jeder worktree behält einen unabhängigen Dateizustand bei, während er die Git-Historie teilt. Dies verhindert, dass Claude-Instanzen sich gegenseitig beeinflussen, wenn sie an verschiedenen Aufgaben arbeiten. Weitere Details finden Sie unter [Führen Sie parallele Sitzungen mit Git worktrees aus](/de/worktrees).

403 403 

404## Verwenden Sie Drittanbieter404## Verwenden Sie Drittanbieter

405 405 


476 476 

477Alternativ klicken Sie auf „✱ Claude Code" in der **Statusleiste** (untere rechte Ecke). Dies funktioniert auch ohne offene Datei. Sie können auch die **Befehlspalette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) verwenden und „Claude Code" eingeben.477Alternativ klicken Sie auf „✱ Claude Code" in der **Statusleiste** (untere rechte Ecke). Dies funktioniert auch ohne offene Datei. Sie können auch die **Befehlspalette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) verwenden und „Claude Code" eingeben.

478 478 

479### Cmd+Esc funktioniert auf macOS nicht

480 

481Auf macOS Tahoe und später ist die System-Game-Overlay-Verknüpfung standardmäßig an `Cmd+Esc` gebunden und fängt den Tastendruck ab, bevor er VS Code erreicht. Um die Verknüpfung freizugeben:

482 

4831. Öffnen Sie die Systemeinstellungen

4842. Gehen Sie zu Tastatur, dann Tastaturkürzel, dann Game Controller

4853. Deaktivieren Sie das Kontrollkästchen für Game Overlay

486 

487Alternativ können Sie die Erweiterung an eine andere Taste binden: Öffnen Sie den VS Code [Tastaturkürzel-Editor](https://code.visualstudio.com/docs/configure/keybindings) (`Cmd+K Cmd+S`), suchen Sie nach `Claude Code: Focus input`, und weisen Sie eine neue Bindung zu.

488 

479### Claude Code antwortet nie489### Claude Code antwortet nie

480 490 

481Wenn Claude Code nicht auf Ihre Eingabeaufforderungen antwortet:491Wenn Claude Code nicht auf Ihre Eingabeaufforderungen antwortet: