171 171
172| Feld | Beschreibung |172| Feld | Beschreibung |
173| - | - |173| - | - |
174| `model.id`, `model.display_name` | Aktuelle Modellkennung und Anzeigename |174| `model.id`, `model.display_name` | Kennung und Anzeigename des aktuellen Modells |
175| `cwd`, `workspace.current_dir` | Aktuelles Arbeitsverzeichnis. Beide Felder enthalten denselben Wert; `workspace.current_dir` wird für Konsistenz mit `workspace.project_dir` bevorzugt. |175| `cwd`, `workspace.current_dir` | Aktuelles Arbeitsverzeichnis. Beide Felder enthalten denselben Wert; `workspace.current_dir` wird aus Gründen der Konsistenz mit `workspace.project_dir` bevorzugt. |
176| `workspace.project_dir` | Verzeichnis, in dem Claude Code gestartet wurde, das sich von `cwd` unterscheiden kann, wenn sich das Arbeitsverzeichnis während einer Sitzung ändert |176| `workspace.project_dir` | Verzeichnis, in dem Claude Code gestartet wurde. Es kann sich von `cwd` unterscheiden, wenn sich das Arbeitsverzeichnis während einer Sitzung ändert |
177| `workspace.added_dirs` | Zusätzliche Verzeichnisse, die über `/add-dir` oder `--add-dir` hinzugefügt wurden. Leeres Array, wenn keine hinzugefügt wurden |177| `workspace.added_dirs` | Zusätzliche Verzeichnisse, die über `/add-dir` oder `--add-dir` hinzugefügt wurden. Leeres Array, wenn keine hinzugefügt wurden |
178| `workspace.git_worktree` | Git-Worktree-Name, wenn sich das aktuelle Verzeichnis in einem verknüpften Worktree befindet, der mit `git worktree add` erstellt wurde. Fehlt im Haupt-Worktree. Wird für jeden Git-Worktree gefüllt, im Gegensatz zu `worktree.*`, das nur während einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) vorhanden ist. |178| `workspace.git_worktree` | Name des Git-Worktrees, wenn sich das aktuelle Verzeichnis in einem verknüpften Worktree befindet, der mit `git worktree add` erstellt wurde. Fehlt im Haupt-Arbeitsbaum. Wird für jeden Git-Worktree befüllt, im Gegensatz zu `worktree.*`, das nur vorhanden ist, solange sich die Sitzung in einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) befindet |
179| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Repository-Identität, die aus dem `origin` Remote geparst wird, zum Beispiel `"github.com"`, `"anthropics"`, `"claude-code"`. Fehlt außerhalb eines Git-Repositorys oder wenn kein `origin` Remote konfiguriert ist. Für ein gitlab.com-Projekt, das in Untergruppen verschachtelt ist, ist `owner` der vollständige Namespace-Pfad mit Schrägstrichen, wie `"group/subgroup"`. Vor v2.1.260 fehlte `workspace.repo` für diese Projekte |179| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identität des Repositorys, ermittelt aus dem Remote `origin`, zum Beispiel `"github.com"`, `"anthropics"`, `"claude-code"`. Fehlt außerhalb eines Git-Repositorys oder wenn kein Remote `origin` konfiguriert ist. Bei einem gitlab.com-Projekt, das in Untergruppen verschachtelt ist, ist `owner` der vollständige Namespace-Pfad mit Schrägstrichen, etwa `"group/subgroup"`. Vor v2.1.260 fehlte `workspace.repo` bei solchen Projekten |
180| `cost.total_cost_usd` | Geschätzte Sitzungskosten in USD, berechnet auf der Client-Seite zum Listenpreis, es sei denn, eine [`modelPricing`](https://code.claude.com/docs/de/settings-reference#modelpricing) Tabelle ist in Kraft. Kann sich von Ihrer tatsächlichen Rechnung unterscheiden. Wird auf \$0 zurückgesetzt, wenn `/clear` eine neue Sitzung startet |180| `cost.total_cost_usd` | Geschätzte Sitzungskosten in USD, clientseitig zum Listenpreis berechnet, sofern keine [`modelPricing`](https://code.claude.com/docs/de/settings-reference#modelpricing)-Tabelle aktiv ist. Kann von Ihrer tatsächlichen Rechnung abweichen. Wird auf \$0 zurückgesetzt, wenn `/clear` eine neue Sitzung startet |
181| `cost.total_duration_ms` | Gesamtverstrichene Zeit seit Sitzungsbeginn in Millisekunden |181| `cost.total_duration_ms` | Gesamte reale Laufzeit (Wall-Clock-Zeit) der Sitzung in Millisekunden. Summiert sich über Fortsetzungen hinweg auf und schließt Zeiträume nicht ein, in denen die Sitzung nicht läuft |
182| `cost.total_api_duration_ms` | Gesamtzeit, die auf API-Antworten wartet, in Millisekunden |182| `cost.total_api_duration_ms` | Gesamte Wartezeit auf API-Antworten in Millisekunden |
183| `cost.total_lines_added`, `cost.total_lines_removed` | Geänderte Codezeilen |183| `cost.total_lines_added`, `cost.total_lines_removed` | Geänderte Codezeilen |
184| `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 |184| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Anzahl der Token, die sich aktuell im Kontextfenster befinden, aus der letzten API-Antwort. Die Eingabe umfasst Cache-Lese- und -Schreibvorgänge |
185| `context_window.context_window_size` | Maximale Kontextfenstergröße in Token. Standardmäßig 200.000 oder 1.000.000 für Modelle mit erweitertem Kontext. |185| `context_window.context_window_size` | Maximale Größe des Kontextfensters in Token. Standardmäßig 200000 oder 1000000 bei Modellen mit erweitertem Kontext. |
186| `context_window.used_percentage` | Vorberechneter Prozentsatz der Kontextfensternutzung |186| `context_window.used_percentage` | Vorberechneter Prozentsatz des genutzten Kontextfensters |
187| `context_window.remaining_percentage` | Vorberechneter Prozentsatz des verbleibenden Kontextfensters |187| `context_window.remaining_percentage` | Vorberechneter Prozentsatz des verbleibenden Kontextfensters |
188| `context_window.current_usage` | Token-Zählungen aus dem letzten API-Aufruf, beschrieben in [Kontextfenster-Felder](#context-window-fields) |188| `context_window.current_usage` | Token-Anzahlen aus dem letzten API-Aufruf, beschrieben unter [Felder des Kontextfensters](#context-window-fields) |
189| `exceeds_200k_tokens` | Ob die Gesamttoken-Zählung (Eingabe-, Cache- und Ausgabe-Token kombiniert) aus der letzten API-Antwort 200k überschreitet. Dies ist ein fester Schwellenwert unabhängig von der tatsächlichen Kontextfenstergröße. |189| `exceeds_200k_tokens` | Ob die gesamte Token-Anzahl (Eingabe-, Cache- und Ausgabe-Token zusammen) aus der letzten API-Antwort 200k überschreitet. Dies ist ein fester Schwellenwert, unabhängig von der tatsächlichen Größe des Kontextfensters. |
190| `fast_mode` | Ob [Schnellmodus](https://code.claude.com/docs/de/fast-mode.md) für die Sitzung aktiviert ist |190| `fast_mode` | Ob der [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) für die Sitzung aktiviert ist |
191| `effort.level` | Aktueller Reasoning-Aufwand (`low`, `medium`, `high`, `xhigh` oder `max`). Spiegelt den Live-Sitzungswert wider, einschließlich Änderungen von `/effort` während der Sitzung. Fehlt, wenn das aktuelle Modell den Effort-Parameter nicht unterstützt |191| `effort.level` | Aktueller Reasoning-Aufwand (`low`, `medium`, `high`, `xhigh` oder `max`). Spiegelt den aktuellen Sitzungswert wider, einschließlich Änderungen über `/effort` während der Sitzung. Fehlt, wenn das aktuelle Modell den Effort-Parameter nicht unterstützt |
192| `thinking.enabled` | Ob erweitertes Denken für die Sitzung aktiviert ist |192| `thinking.enabled` | Ob Extended Thinking für die Sitzung aktiviert ist |
193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Prozentsatz des 5-Stunden- oder 7-Tage-Ratenlimits verbraucht, von 0 bis 100 |193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Verbrauchter Prozentsatz des 5-Stunden- bzw. 7-Tage-Rate-Limits, von 0 bis 100 |
194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Unix-Epochensekunden, wenn das 5-Stunden- oder 7-Tage-Ratenlimit-Fenster zurückgesetzt wird |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Unix-Epoch-Sekunden, zu denen das 5-Stunden- bzw. 7-Tage-Rate-Limit-Fenster zurückgesetzt wird |
195| `rate_limits.spend_limit.used_percentage`, `rate_limits.spend_limit.resets_at` | Hinter einem Claude-Apps-Gateway, wie viel Ihres Ausgabenlimits Sie verbraucht haben und wann sein Zeitraum zurückgesetzt wird. Siehe [Ausgabenlimit-Felder](#spend-limit-fields). Erfordert Claude Code v2.1.251 oder später |195| `rate_limits.spend_limit.used_percentage`, `rate_limits.spend_limit.resets_at` | Hinter einem Claude-Apps-Gateway: wie viel Ihres Ausgabenlimits Sie verbraucht haben und wann dessen Zeitraum zurückgesetzt wird. Siehe [Felder des Ausgabenlimits](#spend-limit-fields). Erfordert Claude Code v2.1.251 oder höher |
196| `rate_limits.spend_limit.used_usd`, `rate_limits.spend_limit.limit_usd`, `rate_limits.spend_limit.period` | Ihre geschätzten Ausgaben und Ihr Limit in US-Dollar sowie der Zeitraum des Limits. Diese Felder können fehlen. Siehe [Ausgabenlimit-Felder](#spend-limit-fields). Erfordert v2.1.284 oder später sowohl bei Claude Code als auch beim Gateway |196| `rate_limits.spend_limit.used_usd`, `rate_limits.spend_limit.limit_usd`, `rate_limits.spend_limit.period` | Ihre geschätzten Ausgaben und Ihr Limit in US-Dollar sowie der Zeitraum des Limits. Diese Felder können fehlen. Siehe [Felder des Ausgabenlimits](#spend-limit-fields). Erfordert v2.1.284 oder höher sowohl bei Claude Code als auch beim Gateway |
197| `prompt_cache` | Die [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md) Statistiken der Sitzung für die Hauptkonversation: Hit-Ratio, Misses und ob der Cache warm ist. Siehe [Prompt-Cache-Felder](#prompt-cache-fields) für jedes Feld. Fehlt bis zur ersten API-Antwort der Hauptkonversation. Erfordert Claude Code v2.1.251 oder später |197| `prompt_cache` | Die [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md)-Statistiken der Sitzung für die Hauptkonversation: Trefferquote, Misses und ob der Cache warm ist. Alle Felder finden Sie unter [Felder des Prompt-Caches](#prompt-cache-fields). Fehlt bis zur ersten API-Antwort der Hauptkonversation. Erfordert Claude Code v2.1.251 oder höher |
198| `session_id` | Eindeutige Sitzungskennung |198| `session_id` | Eindeutige Sitzungskennung |
199| `session_name` | Sitzungsname. Verwendet den benutzerdefinierten Namen, der mit dem `--name` Flag oder `/rename` gesetzt wurde, wenn einer vorhanden ist, andernfalls den von der KI generierten Sitzungstitel. Der [Standard-Anzeigename](https://code.claude.com/docs/de/sessions.md#name-your-sessions), wie `my-app-3f`, füllt dieses Feld nicht. Fehlt, wenn die Sitzung weder einen benutzerdefinierten Namen noch einen von der KI generierten Titel hat |199| `session_name` | Sitzungsname. Verwendet den benutzerdefinierten Namen, der mit dem Flag `--name` oder mit `/rename` festgelegt wurde, sofern vorhanden, andernfalls den KI-generierten Sitzungstitel. Der [Standard-Anzeigename](https://code.claude.com/docs/de/sessions.md#name-your-sessions), etwa `my-app-3f`, befüllt dieses Feld nicht. Fehlt, wenn die Sitzung weder einen benutzerdefinierten Namen noch einen KI-generierten Titel hat |
200| `prompt_id` | UUID, die die Benutzereingabe identifiziert, die gerade verarbeitet wird. Entspricht dem [`prompt.id` Attribut auf OpenTelemetry-Ereignissen](https://code.claude.com/docs/de/monitoring-usage#event-correlation-attributes). Fehlt bis zur ersten Benutzereingabe |200| `prompt_id` | UUID, die den aktuell verarbeiteten Benutzer-Prompt identifiziert. Entspricht dem [Attribut `prompt.id` bei OpenTelemetry-Ereignissen](https://code.claude.com/docs/de/monitoring-usage#event-correlation-attributes). Fehlt bis zur ersten Benutzereingabe |
201| `transcript_path` | Pfad zur Gesprächstranskriptdatei |201| `transcript_path` | Pfad zur Transkriptdatei der Konversation |
202| `version` | Claude Code-Version |202| `version` | Version von Claude Code |
203| `output_style.name` | Name des aktuellen Ausgabestils |203| `output_style.name` | Name des aktuellen Ausgabestils |
204| `vim.mode` | Aktueller Vim-Modus (`NORMAL`, `INSERT`, `VISUAL` oder `VISUAL LINE`), wenn [Vim-Modus](https://code.claude.com/docs/de/interactive-mode.md#vim-editor-mode) aktiviert ist |204| `vim.mode` | Aktueller Vim-Modus (`NORMAL`, `INSERT`, `VISUAL` oder `VISUAL LINE`), wenn der [Vim-Modus](https://code.claude.com/docs/de/interactive-mode.md#vim-editor-mode) aktiviert ist |
205| `agent.name` | Agent-Name bei Ausführung mit dem `--agent` Flag oder konfigurierter Agent-Einstellung |205| `agent.name` | Name des Agenten bei Ausführung mit dem Flag `--agent` oder bei konfigurierten Agenteneinstellungen |
206| `pr.number`, `pr.url` | Offener Pull Request für den aktuellen Branch. Spiegelt das PR-Badge in der Fußzeile wider. In einem Repository mit einem GitLab-Remote füllt Claude Code diese Felder stattdessen aus der offenen [Merge Request](https://code.claude.com/docs/de/interactive-mode.md#gitlab-merge-requests) des Branches, daher ist `pr.number` die Merge-Request-Nummer. Merge-Request-Daten erfordern Claude Code v2.1.234 oder später. Fehlt, wenn nicht in einem Git-Repository, bis ein Pull Request oder eine Merge Request gefunden wird, oder sobald sie zusammengeführt oder geschlossen wird |206| `pr.number`, `pr.url` | Offener Pull Request für den aktuellen Branch. Entspricht dem PR-Badge in der Fußzeile. In einem Repository mit einem GitLab-Remote befüllt Claude Code diese Felder stattdessen aus dem offenen [Merge Request](https://code.claude.com/docs/de/interactive-mode.md#gitlab-merge-requests) des Branches, sodass `pr.number` die Nummer des Merge Requests ist. Daten zu Merge Requests erfordern Claude Code v2.1.234 oder höher. Fehlt außerhalb eines Git-Repositorys, bis ein Pull Request oder Merge Request gefunden wird, oder sobald dieser gemergt oder geschlossen wird |
207| `pr.review_state` | Review-Status des offenen PR: `approved`, `pending`, `changes_requested` oder `draft`. Kann unabhängig fehlen, auch wenn `pr` vorhanden ist |207| `pr.review_state` | Review-Status des offenen PR: `approved`, `pending`, `changes_requested` oder `draft`. Kann unabhängig fehlen, auch wenn `pr` vorhanden ist |
208| `pr.kind` | `mr`, wenn `pr` eine [GitLab-Merge-Request](https://code.claude.com/docs/de/interactive-mode.md#gitlab-merge-requests) beschreibt. Fehlt bei GitHub-Pull-Requests, daher funktionieren Skripte, die vor diesem Feld geschrieben wurden, weiterhin. Für eine Merge Request setzt Claude Code `review_state` auf `approved`, wenn GitLab meldet, dass sie zusammenführbar ist, `pending` für jeden anderen offenen Status und `draft` für einen Entwurf. Erfordert Claude Code v2.1.234 oder später |208| `pr.kind` | `mr`, wenn `pr` einen [GitLab Merge Request](https://code.claude.com/docs/de/interactive-mode.md#gitlab-merge-requests) beschreibt. Fehlt bei GitHub Pull Requests, sodass Skripte, die vor Einführung dieses Felds geschrieben wurden, weiterhin funktionieren. Bei einem Merge Request setzt Claude Code `review_state` auf `approved`, wenn GitLab ihn als mergebar meldet, auf `pending` bei jedem anderen offenen Zustand und auf `draft` bei einem Entwurf. Erfordert Claude Code v2.1.234 oder höher |
209| `worktree.name` | Name des aktiven Worktree. Nur während einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) vorhanden |209| `worktree.name` | Name des aktiven Worktrees. Nur vorhanden, solange sich die Sitzung in einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) befindet |
210| `worktree.path` | Absoluter Pfad zum Worktree-Verzeichnis |210| `worktree.path` | Absoluter Pfad zum Worktree-Verzeichnis |
211| `worktree.branch` | Git-Branch-Name für den Worktree (zum Beispiel `"worktree-my-feature"`). Fehlt bei Hook-basierten Worktrees |211| `worktree.branch` | Name des Git-Branches für den Worktree (zum Beispiel `"worktree-my-feature"`). Fehlt bei Hook-basierten Worktrees |
212| `worktree.original_cwd` | Das Verzeichnis, in dem Claude sich befand, bevor es den Worktree betrat |212| `worktree.original_cwd` | Das Verzeichnis, in dem sich Claude vor dem Wechsel in den Worktree befand |
213| `worktree.original_branch` | Git-Branch, der vor dem Betreten des Worktree ausgecheckt wurde. Fehlt bei Hook-basierten Worktrees |213| `worktree.original_branch` | Git-Branch, der vor dem Wechsel in den Worktree ausgecheckt war. Fehlt bei Hook-basierten Worktrees |
214 214
215> **Vollständiges JSON-Schema**215> **Vollständiges JSON-Schema**
216>216>
217> Ihr Statuszeilen-Befehl empfängt diese JSON-Struktur über stdin:217> Ihr Statuszeilen-Befehl erhält diese JSON-Struktur über stdin:
218>218>
219> ```json theme={null}219> ```json theme={null}
220> {220> {
330> }330> }
331> ```331> ```
332>332>
333> **Felder, die möglicherweise fehlen** (nicht in JSON vorhanden):333> **Felder, die fehlen können** (nicht im JSON vorhanden):
334>334>
335> * `session_name`: erscheint, wenn ein benutzerdefinierter Name mit `--name` oder `/rename` gesetzt wurde, oder sobald ein von der KI generierter Sitzungstitel vorhanden ist. Der Standard-Anzeigename, wie `my-app-3f`, füllt dieses Feld nicht335> * `session_name`: erscheint, wenn ein benutzerdefinierter Name mit `--name` oder `/rename` festgelegt wurde oder sobald ein KI-generierter Sitzungstitel existiert. Der Standard-Anzeigename, etwa `my-app-3f`, befüllt es nicht
336> * `prompt_id`: erscheint nur nach der ersten Benutzereingabe336> * `prompt_id`: erscheint erst nach der ersten Benutzereingabe
337> * `workspace.git_worktree`: erscheint nur, wenn sich das aktuelle Verzeichnis in einem verknüpften Git-Worktree befindet337> * `workspace.git_worktree`: erscheint nur, wenn sich das aktuelle Verzeichnis in einem verknüpften Git-Worktree befindet
338> * `workspace.repo`: erscheint nur in einem Git-Repository mit einem konfigurierten `origin` Remote338> * `workspace.repo`: erscheint nur innerhalb eines Git-Repositorys mit konfiguriertem Remote `origin`
339> * `effort`: erscheint nur, wenn das aktuelle Modell den Reasoning-Effort-Parameter unterstützt339> * `effort`: erscheint nur, wenn das aktuelle Modell den Parameter für den Reasoning-Aufwand unterstützt
340> * `vim`: erscheint nur, wenn Vim-Modus aktiviert ist340> * `vim`: erscheint nur, wenn der Vim-Modus aktiviert ist
341> * `agent`: erscheint nur bei Ausführung mit dem `--agent` Flag oder konfigurierter Agent-Einstellung341> * `agent`: erscheint nur bei Ausführung mit dem Flag `--agent` oder bei konfigurierten Agenteneinstellungen
342> * `pr`: erscheint nur, während ein offener PR oder eine GitLab-Merge-Request für den aktuellen Branch gefunden wird, und wird entfernt, sobald sie zusammengeführt oder geschlossen wird. `pr.review_state` und `pr.kind` können unabhängig fehlen342> * `pr`: erscheint nur, solange für den aktuellen Branch ein offener PR oder GitLab Merge Request gefunden wird, und wird entfernt, sobald dieser gemergt oder geschlossen wird. `pr.review_state` und `pr.kind` können unabhängig fehlen
343> * `worktree`: erscheint nur während einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md). Wenn vorhanden, können `branch` und `original_branch` auch bei Hook-basierten Worktrees fehlen343> * `worktree`: erscheint nur, solange sich die Sitzung in einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) befindet. Wenn vorhanden, können `branch` und `original_branch` bei Hook-basierten Worktrees ebenfalls fehlen
344> * `rate_limits`: erscheint nur für Claude.ai Pro und Max Abonnenten, oder hinter einem Claude-Apps-Gateway, das ein Ausgabenlimit für Sie setzt, und nur nach der ersten API-Antwort in der Sitzung. Jedes Fenster (`five_hour`, `seven_day`, `spend_limit`) kann unabhängig fehlen, und Claude Code verwirft ein Fenster, sobald seine `resets_at` Zeit verstrichen ist. Verwenden Sie `jq -r '.rate_limits.five_hour.used_percentage // empty'`, um Abwesenheit elegant zu handhaben.344> * `rate_limits`: erscheint nur für Abonnenten von claude.ai Pro und Max oder hinter einem Claude-Apps-Gateway, das ein Ausgabenlimit für Sie festlegt, und erst nach der ersten API-Antwort in der Sitzung. Jedes Fenster (`five_hour`, `seven_day`, `spend_limit`) kann unabhängig fehlen, und Claude Code entfernt ein Fenster, sobald dessen `resets_at`-Zeitpunkt verstrichen ist. Verwenden Sie `jq -r '.rate_limits.five_hour.used_percentage // empty'`, um fehlende Werte sauber zu behandeln.
345> * `prompt_cache`: erscheint nach der ersten API-Antwort der Hauptkonversation. Siehe [Prompt-Cache-Felder](#prompt-cache-fields)345> * `prompt_cache`: erscheint nach der ersten API-Antwort der Hauptkonversation. Siehe [Felder des Prompt-Caches](#prompt-cache-fields)
346>346>
347> **Felder, die `null` sein können**:347> **Felder, die `null` sein können**:
348>348>
349> * `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üllt349> * `context_window.current_usage`: `null` vor dem ersten API-Aufruf in einer Sitzung und erneut nach `/compact`, bis der nächste API-Aufruf es wieder befüllt
350> * `context_window.used_percentage`, `context_window.remaining_percentage`: können früh in der Sitzung `null` sein350> * `context_window.used_percentage`, `context_window.remaining_percentage`: können früh in der Sitzung `null` sein
351>351>
352> Behandeln Sie fehlende Felder mit bedingtem Zugriff und Null-Werte mit Fallback-Standardwerten in Ihren Skripten.352> Behandeln Sie in Ihren Skripten fehlende Felder mit bedingtem Zugriff und `null`-Werte mit Fallback-Standardwerten.
353 353
354### Kontextfenster-Felder354### Felder des Kontextfensters
355 355
356Das `context_window` Objekt beschreibt das Live-Kontextfenster aus der letzten API-Antwort.356Das Objekt `context_window` beschreibt das aktuelle Kontextfenster aus der letzten API-Antwort.
357 357
358* **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.358* **Kombinierte Summen** (`total_input_tokens`, `total_output_tokens`): Token, die sich aktuell im Kontextfenster befinden. `total_input_tokens` ist die Summe aus `input_tokens`, `cache_creation_input_tokens` und `cache_read_input_tokens`; `total_output_tokens` sind die Ausgabe-Token aus der letzten Antwort. Beide sind vor der ersten API-Antwort `0`.
359* **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.359* **Nutzung pro Komponente** (`current_usage`): dieselben Token-Anzahlen, aufgeschlüsselt nach Kategorie. Verwenden Sie dies, wenn Sie Cache-Treffer getrennt von neuer Eingabe benötigen.
360 360
361Das `current_usage` Objekt enthält:361Das Objekt `current_usage` enthält:
362 362
363* `input_tokens`: Eingabe-Token im aktuellen Kontext363* `input_tokens`: Eingabe-Token im aktuellen Kontext
364* `output_tokens`: generierte Ausgabe-Token364* `output_tokens`: generierte Ausgabe-Token
365* `cache_creation_input_tokens`: Token, die in den Cache geschrieben wurden365* `cache_creation_input_tokens`: in den Cache geschriebene Token
366* `cache_read_input_tokens`: Token, die aus dem Cache gelesen wurden366* `cache_read_input_tokens`: aus dem Cache gelesene Token
367 367
368Für die Bedeutung der Cache-Felder und deren Abrechnung siehe [Cache-Leistung überprüfen](https://code.claude.com/docs/de/prompt-caching.md#check-cache-performance).368Was die Cache-Felder bedeuten und wie sie abgerechnet werden, erfahren Sie unter [Cache-Leistung prüfen](https://code.claude.com/docs/de/prompt-caching.md#check-cache-performance).
369 369
370Das `used_percentage` Feld wird nur aus Eingabe-Token berechnet: `input_tokens + cache_creation_input_tokens + cache_read_input_tokens`. Es enthält keine `output_tokens`.370Das Feld `used_percentage` wird ausschließlich aus Eingabe-Token berechnet: `input_tokens + cache_creation_input_tokens + cache_read_input_tokens`. Es enthält keine `output_tokens`.
371 371
372Wenn Sie den Kontextprozentsatz manuell aus `current_usage` berechnen, verwenden Sie die gleiche Eingabe-only-Formel, um `used_percentage` zu entsprechen.372Wenn Sie den Kontext-Prozentsatz manuell aus `current_usage` berechnen, verwenden Sie dieselbe Formel, die nur Eingabe-Token berücksichtigt, damit der Wert mit `used_percentage` übereinstimmt.
373 373
374Das `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.374Das Objekt `current_usage` ist vor dem ersten API-Aufruf in einer Sitzung `null` und erneut unmittelbar nach `/compact`, bis der nächste API-Aufruf es wieder befüllt.
375 375
376### Ausgabenlimit-Felder376### Felder des Ausgabenlimits
377 377
378Hinter einem [Claude-Apps-Gateway mit Ausgabenlimits](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code) beschreibt das `rate_limits.spend_limit` Objekt das Ausgabenlimit, das für Sie gilt. Es erscheint nach der ersten API-Antwort der Sitzung und erfordert Claude Code v2.1.251 oder später. Ihr Skript erhält seine Felder nach unterschiedlichen Zeitplänen:378Hinter einem [Claude-Apps-Gateway mit Ausgabenlimits](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code) beschreibt das Objekt `rate_limits.spend_limit` das Ausgabenlimit, das für Sie gilt. Es erscheint nach der ersten API-Antwort der Sitzung und erfordert Claude Code v2.1.251 oder höher. Ihr Skript erhält seine Felder in unterschiedlichen Intervallen:
379 379
380* `used_percentage` und `resets_at`: kommen mit jeder Antwort, daher sind sie immer vorhanden, wenn `spend_limit` vorhanden ist. `used_percentage` reicht von 0 bis 100 oder über 100, sobald Sie das Limit überschreiten, und `resets_at` sind die Unix-Epochensekunden, wenn der Zeitraum des Limits zurückgesetzt wird.380* `used_percentage` und `resets_at`: werden mit jeder Antwort geliefert und sind daher immer vorhanden, wenn `spend_limit` vorhanden ist. `used_percentage` reicht von 0 bis 100 oder liegt über 100, sobald Sie das Limit überschreiten, und `resets_at` gibt die Unix-Epoch-Sekunden an, zu denen der Zeitraum des Limits zurückgesetzt wird.
381* `used_usd`, `limit_usd` und `period`: Ihre bisherigen geschätzten Ausgaben und Ihr Limit in US-Dollar sowie der Zeitraum, den das Limit abdeckt, einer von `daily`, `weekly` oder `monthly`. Das Gateway [berechnet `used_usd` aus Token-Zählungen](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits#how-requests-are-priced), daher handelt es sich um eine Schätzung und nicht um einen abgerechneten Betrag. Claude Code liest sie in einer separaten Anfrage vom Gateway, etwa alle fünf Minuten, während Sie Anfragen senden. Die Dollarbeträge können etwa fünf Minuten älter sein als `used_percentage`, sodass die beiden kurzzeitig voneinander abweichen können. Erfordert v2.1.284 oder später sowohl bei Claude Code als auch beim Gateway.381* `used_usd`, `limit_usd` und `period`: Ihre bisherigen geschätzten Ausgaben und Ihr Limit in US-Dollar sowie der Zeitraum, den das Limit abdeckt, einer der Werte `daily`, `weekly` oder `monthly`. Das Gateway [berechnet `used_usd` aus Token-Anzahlen](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits#how-requests-are-priced), daher handelt es sich um eine Schätzung und nicht um einen abgerechneten Betrag. Claude Code liest diese Werte in einer separaten Anfrage vom Gateway, etwa alle fünf Minuten, während Sie Anfragen senden. Die Dollarbeträge können etwa fünf Minuten älter sein als `used_percentage`, sodass die beiden Werte kurzzeitig voneinander abweichen können. Erfordert v2.1.284 oder höher sowohl bei Claude Code als auch beim Gateway.
382 382
383Behandeln Sie `used_usd`, `limit_usd` und `period` als optional, auch wenn `spend_limit` vorhanden ist. Ihr Skript erhält den Prozentsatz vor ihnen, und sie bleiben aus, wenn Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` setzen, wodurch diese Anfrage ausgeschaltet wird. Lesen Sie jedes Feld in Ihrem Skript mit einem Fallback, zum Beispiel `jq -r '.rate_limits.spend_limit.used_usd // empty'`.383Behandeln Sie `used_usd`, `limit_usd` und `period` als optional, auch wenn `spend_limit` vorhanden ist, da Ihr Skript den Prozentsatz vor ihnen erhält. Lesen Sie jedes dieser Felder in Ihrem Skript mit einem Fallback, etwa `jq -r '.rate_limits.spend_limit.used_usd // empty'`. Vor Claude Code v2.1.295 fehlten sie dauerhaft, wenn Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt hatten, da dadurch diese Anfrage deaktiviert wurde.
384 384
385### Prompt-Cache-Felder385### Felder des Prompt-Caches
386 386
387Das `prompt_cache` Objekt fasst zusammen, wie die Hauptkonversation der Sitzung den [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md) nutzt. Claude Code berechnet es aus den Cache-Token-Zählungen in den API-Antworten, daher funktioniert es bei jedem Anbieter.387Das Objekt `prompt_cache` fasst zusammen, wie die Hauptkonversation der Sitzung den [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md) nutzt. Claude Code berechnet es aus den Cache-Token-Anzahlen in den Antworten der API, daher funktioniert es bei jedem Anbieter.
388 388
389Das Objekt erscheint nach der ersten API-Antwort der Hauptkonversation. Claude Code zählt Subagent-Anfragen nicht in diese Statistiken ein. Erfordert Claude Code v2.1.251 oder später.389Das Objekt erscheint nach der ersten API-Antwort der Hauptkonversation. Claude Code zählt Anfragen von Subagenten nicht in diese Statistiken ein. Erfordert Claude Code v2.1.251 oder höher.
390 390
391Die Tabelle listet jedes Feld mit seiner Bedeutung auf. Zeitstempel sind Unix-Epochensekunden, die gleiche Einheit wie `rate_limits.*.resets_at`. Eine kurze Statuszeile zeigt normalerweise ein oder zwei davon; `warm` und `hit_ratio` fassen den Cache-Status am direktesten zusammen.391Die Tabelle listet jedes Feld mit seiner Bedeutung auf. Zeitstempel sind Unix-Epoch-Sekunden, dieselbe Einheit wie bei `rate_limits.*.resets_at`. Eine kurze Statuszeile zeigt in der Regel ein oder zwei dieser Felder an; `warm` und `hit_ratio` fassen den Cache-Zustand am direktesten zusammen.
392 392
393| Feld | Beschreibung |393| Feld | Beschreibung |
394| - | - |394| - | - |
395| `warm` | Ob das zwischengespeicherte Präfix noch innerhalb seiner TTL liegt. `false`, wenn die letzte Antwort keine Cache-Token gemeldet hat, auch wenn `caching_observed` `true` ist |395| `warm` | Ob sich das zwischengespeicherte Präfix noch innerhalb seiner TTL befindet. `false`, wenn die letzte Antwort keine Cache-Token gemeldet hat, selbst wenn `caching_observed` `true` ist |
396| `caching_observed` | Ob eine Antwort dieser Sitzung Cache-Token gemeldet hat. `false` bedeutet, dass Prompt-Caching ausgeschaltet ist, oder Ihr Anbieter oder Gateway meldet es nicht |396| `caching_observed` | Ob eine Antwort in dieser Sitzung Cache-Token gemeldet hat. `false` bedeutet, dass Prompt-Caching deaktiviert ist oder Ihr Anbieter bzw. Gateway es nicht meldet |
397| `ttl` | [Cache-Lebensdauer](https://code.claude.com/docs/de/prompt-caching.md#cache-lifetime) des aktuellen zwischengespeicherten Präfix: `"5m"` oder `"1h"` |397| `ttl` | [Cache-Lebensdauer](https://code.claude.com/docs/de/prompt-caching.md#cache-lifetime) des aktuell zwischengespeicherten Präfixes: `"5m"` oder `"1h"` |
398| `expires_at` | Wann das zwischengespeicherte Präfix seine TTL verlässt und kalt wird, in Epochensekunden. `null`, wenn die letzte Antwort keine Cache-Token gemeldet hat |398| `expires_at` | Zeitpunkt in Epoch-Sekunden, zu dem das zwischengespeicherte Präfix seine TTL verlässt und kalt wird. `null`, wenn die letzte Antwort keine Cache-Token gemeldet hat |
399| `requests` | API-Anfragen, die für die Hauptkonversation dieser Sitzung aufgezeichnet wurden |399| `requests` | Für die Hauptkonversation in dieser Sitzung erfasste API-Anfragen |
400| `misses` | Anfragen, die Inhalte erneut verarbeitet haben, die der Cache bereits enthielt: mehr als 5% und mindestens 2.000 Token von dem, was die Anfrage aus dem Cache hätte lesen können, ohne dass eine Komprimierung oder ein Löschen von alten Tool-Ergebnissen den Mangel an Cache-Lesevorgängen erklärt |400| `misses` | Anfragen, die Inhalte erneut verarbeitet haben, die sich bereits im Cache befanden: mehr als 5 % und mindestens 2.000 Token dessen, was die Anfrage aus dem Cache hätte lesen können, ohne dass eine Komprimierung oder das Leeren von Tool-Ergebnissen den Rückgang der Cache-Lesevorgänge erklärt |
401| `expected_rebuilds` | Cache-Neuerstellungen, die einer Komprimierung oder einem Löschen von alten Tool-Ergebnissen folgten |401| `expected_rebuilds` | Neuaufbauten des Caches, die auf eine Komprimierung oder das Leeren alter Tool-Ergebnisse folgten |
402| `hit_ratio` | Cache-Read-Token als Bruchteil aller Eingabe-Token dieser Sitzung, von 0 bis 1. Der Nenner zählt Cache-Lesevorgänge, Cache-Schreibvorgänge und nicht zwischengespeicherte Eingaben. `null`, während diese Zählungen alle null sind |402| `hit_ratio` | Cache-Lese-Token als Anteil aller Eingabe-Token in dieser Sitzung, von 0 bis 1. Der Nenner umfasst Cache-Lesevorgänge, Cache-Schreibvorgänge und nicht zwischengespeicherte Eingaben. `null`, solange diese Anzahlen alle null sind |
403| `cache_write_tokens` | Alle Token, die diese Sitzung in den Cache geschrieben wurden, einschließlich des anfänglichen Schreibvorgangs der ersten Anfrage |403| `cache_write_tokens` | Alle in dieser Sitzung in den Cache geschriebenen Token, einschließlich des initialen Schreibvorgangs der ersten Anfrage |
404| `miss_recache_tokens` | Token, die von den als Misses gezählten Anfragen in den Cache geschrieben wurden |404| `miss_recache_tokens` | Token, die von den als Misses gezählten Anfragen in den Cache geschrieben wurden |
405| `last_miss_at` | Wann der letzte Miss aufgetreten ist, in Epochensekunden. `null`, während die Sitzung keine Misses hat |405| `last_miss_at` | Zeitpunkt des letzten Misses in Epoch-Sekunden. `null`, solange die Sitzung keine Misses hat |
406| `last_miss_cause` | Was Claude Code als wahrscheinliche Ursache des letzten Miss identifiziert hat, beschrieben unter [Letzte Miss-Ursache](#last-miss-cause). Erfordert Claude Code v2.1.260 oder später |406| `last_miss_cause` | Was Claude Code als wahrscheinliche Ursache des letzten Misses ermittelt hat, beschrieben unter [Ursache des letzten Misses](#last-miss-cause). Erfordert Claude Code v2.1.260 oder höher |
407| `miss_causes` | Wie viele der diagnostizierten Misses dieser Sitzung jede Ursache hatten, mit den gleichen Ursachennamen wie `last_miss_cause` als Schlüssel. Erfordert Claude Code v2.1.260 oder später |407| `miss_causes` | Wie viele der diagnostizierten Misses dieser Sitzung die jeweilige Ursache hatten, geordnet nach denselben Ursachennamen wie bei `last_miss_cause`. Erfordert Claude Code v2.1.260 oder höher |
408| `recache_tokens_if_cold` | Token, die die nächste Anfrage erneut zwischenspeichert, wenn der Cache bis dahin kalt geworden ist. `null` unmittelbar nach einer Komprimierung oder einem Löschen von alten Tool-Ergebnissen, bis die nächste Anfrage die Größe der umgeschriebenen Konversation aufzeichnet |408| `recache_tokens_if_cold` | Token, die die nächste Anfrage erneut zwischenspeichert, falls der Cache bis dahin kalt geworden ist. `null` direkt nach einer Komprimierung oder dem Leeren alter Tool-Ergebnisse, bis die nächste Anfrage die Größe der neu geschriebenen Konversation erfasst |
409 409
410Claude Code zeigt die gleichen Statistiken im Terminal auf der [`/usage` Befehlszeile `Prompt cache (main)`](https://code.claude.com/docs/de/costs#prompt-cache-statistics).410Claude Code zeigt dieselben Statistiken im Terminal an, in der [Zeile `Prompt cache (main)` des Befehls `/usage`](https://code.claude.com/docs/de/costs#prompt-cache-statistics).
411 411
412#### Letzte Miss-Ursache412#### Ursache des letzten Misses
413 413
414Das `last_miss_cause` Objekt meldet, was Claude Code als wahrscheinliche Ursache des letzten Miss identifiziert hat. Sein `causes` Array enthält einen oder mehrere Ursachennamen, wie `tools_changed`, `system_prompt_changed`, `ttl_expired_5m` oder `likely_server_side`. Das Objekt ist `null`, bis der erste Miss der Sitzung auftritt, und erneut, wenn Claude Code keine Ursache für den letzten Miss identifizieren konnte. Erfordert Claude Code v2.1.260 oder später.414Das Objekt `last_miss_cause` gibt an, was Claude Code als wahrscheinliche Ursache des letzten Misses ermittelt hat. Sein Array `causes` enthält einen oder mehrere Ursachennamen, etwa `tools_changed`, `system_prompt_changed`, `ttl_expired_5m` oder `likely_server_side`. Das Objekt ist bis zum ersten Miss der Sitzung `null` und erneut immer dann, wenn Claude Code keine Ursache für den letzten Miss ermitteln konnte. Erfordert Claude Code v2.1.260 oder höher.
415 415
416Zwei Ursachen fügen Zählungen zum Objekt hinzu:416Zwei Ursachen fügen dem Objekt Zählwerte hinzu:
417 417
418* `tools_added` und `tools_removed`: mit `tools_changed`, wie viele Tools zur Anfrage hinzugefügt oder aus ihr entfernt wurden418* `tools_added` und `tools_removed`: bei `tools_changed`, wie viele Tools der Anfrage hinzugefügt oder aus ihr entfernt wurden
419* `system_char_delta`: mit `system_prompt_changed`, die Änderung der Länge des System-Prompts in Zeichen419* `system_char_delta`: bei `system_prompt_changed`, die Änderung der Länge des System-Prompts in Zeichen
420 420
421## Beispiele421## Beispiele
422 422