> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Reviews für einen Pull Request lesen und anfordern

> Lesen Sie Code-Review-Ergebnisse zu Ihrem GitHub-Pull-Request, reagieren Sie darauf oder verwerfen Sie sie, und fordern Sie mit `@claude review` ein Review an.

Code Review ist ein verwalteter Dienst, den ein Owner in Ihrer Claude-Organisation für eine Reihe von GitHub-Repositorys aktiviert. Sobald er aktiviert ist, prüft Claude Pull Requests in diesen Repositorys und veröffentlicht seine Ergebnisse als Inline-Kommentare, als Zusammenfassung im Review-Text und als Check Run mit dem Namen **Claude Code Review**. Ein Review genehmigt oder blockiert Ihren Pull Request nie, und der Check Run endet nie mit einem Fehlschlag.

Ein Owner legt für jedes Repository fest, [wann Reviews ausgeführt werden](/docs/de/code-review-setup#set-when-reviews-run) und [wie gründlich sie sind](/docs/de/code-review-setup#set-the-default-review-level).

<Note>
  Wenn Ihr Plan Code Review nicht umfasst, können Sie Ihren Branch trotzdem in einer Claude Code-Sitzung von Claude prüfen lassen: siehe [Lokal mit `/code-review` prüfen](/docs/de/code-review-local).
</Note>

<h2 id="severity-levels">
  Schweregrade
</h2>

Claude veröffentlicht jedes Ergebnis als Inline-Kommentar an den betroffenen Zeilen und kennzeichnet es mit einem von drei Schweregraden:

| Markierung | Schweregrad | Bedeutung |
| :- | :- | :- |
| 🔴 | Important | Ein Fehler, der vor dem Mergen behoben werden sollte |
| 🟡 | Nit | Ein kleineres Problem, das eine Behebung wert ist, aber nicht blockiert |
| 🟣 | Pre-existing | Ein Fehler, der in der Codebasis existiert, aber nicht durch diesen PR eingeführt wurde |

Wenn das Review seine Begründung aufgezeichnet hat, enthält das Ergebnis einen eingeklappten Abschnitt **Why this was flagged**. Klappen Sie ihn auf, um zu lesen, warum Claude das Problem gekennzeichnet und wie es das Problem verifiziert hat.

Informationen dazu, wie Sie ändern, was Claude in Ihrem Repository kennzeichnet oder wie es Schweregrade einstuft, finden Sie unter [Code Review anpassen](/docs/de/code-review-customize).

<h2 id="respond-to-findings">
  Auf Ergebnisse reagieren
</h2>

Sie können mergen, ohne auf ein Ergebnis zu reagieren, sofern die eigenen Regeln Ihres Repositorys dies nicht verlangen. Wenn dessen Branch-Schutz [die Auflösung von Konversationen verlangt](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-conversation-resolution-before-merging), lösen Sie den Thread jedes Ergebnisses auf, bevor Sie mergen.

Um ein Ergebnis zu erledigen, lösen Sie seinen Thread auf oder pushen Sie eine Korrektur.

* **Ohne Codeänderung verwerfen**: Lösen Sie den Thread selbst auf GitHub auf. Eine Antwort allein verwirft ein Ergebnis nicht.
* **Das Problem beheben**: Ändern Sie den Code und pushen Sie. Das nächste Review des Pull Requests löst den früheren Thread auf, wenn es das Problem als behoben einstuft, unabhängig davon, ob dieses Review automatisch bei Ihrem Push ausgeführt wird oder Sie es anfordern.
* **Erklären oder widersprechen**: Antworten Sie auf den Kommentar. Claude antwortet nicht sofort, und eine Antwort startet kein Review. Das nächste Review des Pull Requests liest die Antworten auf seine früheren Ergebnisse und kann den Thread auflösen oder eine Folgeantwort veröffentlichen. Wenn dieselbe Art von Ergebnis immer wieder auftaucht, bitten Sie einen Maintainer, eine Regel zu [`REVIEW.md`](/docs/de/code-review-customize#choose-what-to-write-in-review-md) hinzuzufügen.

Um dieses nächste Review ohne Push zu erhalten, schreiben Sie `@claude review` als [Pull-Request-Kommentar auf oberster Ebene](#comment-commands).

<h2 id="check-run-output">
  Ausgabe des Check Runs
</h2>

Der Link **Details** am Check Run **Claude Code Review** öffnet die Ergebnisse in einer nach Schweregrad sortierten Tabelle, einschließlich aller Ergebnisse, deren Inline-Kommentar GitHub nicht angenommen hat:

| Schweregrad | Datei:Zeile | Problem |
| - | - | - |
| 🔴 Important | `src/auth/session.ts:142` | Token-Aktualisierung steht in einer Race Condition mit dem Logout, wodurch veraltete Sitzungen aktiv bleiben |
| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` gibt bei fehlerhafter Eingabe stillschweigend 0 zurück |

Ein Ergebnis, das eine Zeile hat, aber nicht als Inline-Kommentar veröffentlicht wurde, erscheint als Annotation im Tab **Files changed** an den betroffenen Zeilen. Important-Ergebnisse werden rot angezeigt, Nits gelb und bereits vorhandene Fehler grau.

Der Check Run endet als neutral oder als übersprungen, wenn ein automatisches Review nicht ausgeführt wurde, weil ein Push keine Dateien geändert hat. Er endet nie mit einem Fehlschlag, sodass ein abgeschlossenes Review keinen erforderlichen Check fehlschlagen lässt. Wenn Sie keine Ergebnisse sehen oder ein Review nicht ausgeführt wurde, siehe [Fehlerbehebung bei Code Review](/docs/de/code-review-troubleshooting).

<h3 id="read-the-result-from-a-script">
  Das Ergebnis aus einem Skript lesen
</h3>

Um einen Merge zu steuern oder eine Zusammenfassung aus Ihrem eigenen CI zu veröffentlichen, parsen Sie die letzte Zeile des Details-Texts mit `gh` und jq. Diese Zeile ist ein maschinenlesbarer Kommentar.

<Steps>
  <Step title="Die Check-Run-ID ermitteln">
    Listen Sie in Ihrer Shell die Check Runs des Commits auf und nehmen Sie die `id` des Runs `Claude Code Review`. Ersetzen Sie `OWNER` und `REPO` durch den Owner und Namen Ihres Repositorys und `<commit-sha>` durch den Head-Commit des Pull Requests:

    ```bash theme={null}
    gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'
    ```
  </Step>

  <Step title="Die Anzahl pro Schweregrad lesen">
    Lesen Sie die Anzahlen aus diesem Check Run und ersetzen Sie dabei `CHECK_RUN_ID` durch die ID:

    ```bash theme={null}
    gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \
      --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'
    ```

    Dies gibt ein JSON-Objekt mit einer Anzahl pro Schweregrad aus, dessen Schlüssel alphabetisch sortiert sind, zum Beispiel `{"nit": 1, "normal": 2, "pre_existing": 0}`. Die Anzahlen enthalten Ergebnisse aus früheren Reviews des Pull Requests, deren Threads noch offen sind.
  </Step>

  <Step title="Auf das Ergebnis reagieren">
    Lassen Sie Ihr Skript diese Fälle behandeln:

    * **`normal` ist größer als null**: Lassen Sie den Job fehlschlagen, wenn Sie den Merge steuern möchten. Der Schlüssel `normal` enthält die Anzahl der Important-Ergebnisse, Claude hat also mindestens einen Fehler gefunden, der vor dem Merge behoben werden sollte.
    * **Die Zeile fehlt**: Behandeln Sie dies als fehlendes Urteil und nicht als null Ergebnisse. Ein Check Run für ein Review, das fehlgeschlagen ist, eine Zeitüberschreitung hatte, abgebrochen oder durch ein neueres ersetzt wurde, hat keine solche Zeile, und auch manche abgeschlossene Reviews haben keine.
  </Step>
</Steps>

<h2 id="request-a-review">
  Ein Review anfordern
</h2>

Wenn Ihr Pull Request ein Entwurf ist oder aus einem Fork stammt, wird er von automatischen Reviews übersprungen; [fordern Sie das Review daher mit einem Kommentarbefehl an](#review-drafts-and-pull-requests-from-forks). Um ein Review für Ihren Pull Request zu erhalten, wählen Sie eine dieser Möglichkeiten:

* **Öffnen oder als bereit markieren**: In einem Repository mit der Einstellung **Once after PR creation** oder **After every push** startet ein Review, wenn Sie den Pull Request öffnen oder erneut öffnen oder einen Entwurf als bereit für das Review markieren.
* **Einen Befehl kommentieren**: Veröffentlichen Sie [`@claude review`](#comment-commands) im Pull Request.
* **Einen Commit pushen**: Ein Push startet ein Review in einem Repository mit der Einstellung **After every push** oder bei einem Pull Request, den Sie mit `@claude review always` abonniert haben.
* **Auf Re-run klicken**: Nachdem ein Review bei einem Pull Request, der nicht aus einem Fork stammt, fehlgeschlagen ist oder eine Zeitüberschreitung hatte, [führen Sie es erneut aus](/docs/de/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review), und zwar über den Check Run.
* **Auf den automatischen Wiederholungsversuch warten**: Ein Review, dessen Sitzung unterbrochen wurde, wird einmal automatisch erneut versucht. Die [Zusammenfassung des Check Runs](/docs/de/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review) gibt an, wann dies geschieht.

<h3 id="comment-commands">
  Kommentarbefehle
</h3>

Veröffentlichen Sie einen dieser Befehle als Kommentar im Pull Request:

| Befehl | Was er bewirkt | Wann Sie ihn verwenden |
| :- | :- | :- |
| `@claude review` | Startet ein einzelnes Review, ohne den PR für künftige Pushes zu abonnieren | Sie möchten jetzt ein Review, etwa bei einem Pull Request in einem Repository mit der Einstellung Manual, oder in den anderen Modi sofort ein weiteres Review |
| `@claude review always` | Startet ein Review und abonniert den PR künftig für durch Pushes ausgelöste Reviews | Sie möchten, dass jeder nachfolgende Push ein neues Review startet, etwa bei einem PR mit hoher Priorität in einem Repository mit der Einstellung Manual |
| `@claude review once` | Wie `@claude review`: startet ein einzelnes Review ohne Abonnement | Dieselben Fälle wie bei `@claude review` |

Damit einer dieser Befehle ein Review startet, müssen alle diese Bedingungen erfüllt sein:

* Veröffentlichen Sie ihn als neuen Pull-Request-Kommentar auf oberster Ebene, nicht als Inline-Kommentar an einer Diff-Zeile und nicht als Text eines Reviews. Das Bearbeiten eines früheren Kommentars zählt nicht.
* Setzen Sie den Befehl an den Anfang des Kommentars, mit `always` in derselben Zeile wie der Rest des Befehls. Groß- und Kleinschreibung spielt keine Rolle.
* Sie benötigen die Berechtigung write, maintain oder admin für das Repository. Claude prüft dies bei GitHub für jede Person, die kommentiert, und Kommentare von Bots starten keine Reviews.
* Der Pull Request muss geöffnet sein.

Wenn der Befehl angenommen wird, erscheint im Pull Request ein Check Run **Claude Code Review** mit dem Titel **Code review queued...**. Der Titel ändert sich zu **Code review in progress...**, wenn das Review startet. Claude reagiert möglicherweise auch mit 👀 auf Ihren Kommentar, aber diese Reaktion kann auch erscheinen, wenn kein Review startet; achten Sie daher stattdessen auf den Check Run.

Wenn bereits ein Review für den neuesten Commit des Pull Requests läuft, startet eine neue Anfrage kein zweites.

<Note>
  Vor einem Update im Juli 2026 hat `@claude review` den PR für durch Pushes ausgelöste Reviews abonniert. Wenn Sie sich auf dieses Verhalten verlassen haben, kommentieren Sie stattdessen `@claude review always`.
</Note>

<h3 id="what-a-later-review-covers">
  Was ein späteres Review abdeckt
</h3>

Ein späteres Review, das von selbst startet, etwa nach einem Push, konzentriert sich auf das, was sich seit dem letzten Review geändert hat, und veröffentlicht weniger Nits und bereits vorhandene Ergebnisse. Seine Zusammenfassung zählt, was es ausgelassen hat, in einer Zeile, die mit „found and not posted“ oder „outside the scope of this re-review and not posted.“ endet.

Um ein Review zu erhalten, das nichts davon auslässt, kommentieren Sie [`@claude review`](#comment-commands). Es deckt wieder den gesamten Pull Request ab.

<h3 id="review-drafts-and-pull-requests-from-forks">
  Entwürfe und Pull Requests aus Forks prüfen lassen
</h3>

Automatische Reviews überspringen beide, fordern Sie das Review daher mit einem Kommentarbefehl an:

* **Pull-Request-Entwürfe**: Ein Kommentarbefehl wird auch bei einem Entwurf ausgeführt, sodass Sie ein Review anfordern können, bevor Sie den Pull Request als bereit markieren. Pushes auf einen Entwurf starten keine Reviews, auch nicht nach `@claude review always`. Das Abonnement wird wirksam, sobald Sie den Pull Request als bereit markieren.
* **Pull Requests aus Forks**: Claude prüft einen Pull Request aus einem Fork nicht automatisch, unabhängig von der Einstellung **Review runs** des Repositorys. Um ein Review zu starten, kommentieren Sie `@claude review` im Pull Request. Die [Bedingungen für Kommentarbefehle](#comment-commands) gelten weiterhin, und der benötigte Schreibzugriff bezieht sich auf das Basis-Repository, nicht auf den Fork.

Bei einem Pull Request aus einem Fork funktioniert auch `@claude review always`, abonniert den Pull Request aber nicht für Reviews bei späteren Pushes. Ein Klick auf **Re-run** am Check Run startet dort kein Review.

<h3 id="use-code-review-alongside-the-claude-code-github-action">
  Code Review zusammen mit der Claude Code GitHub Action verwenden
</h3>

Wenn im Repository auch die [Claude Code GitHub Action](/docs/de/github-actions) im interaktiven Modus mit ihrer Standard-Auslösephrase `@claude` läuft, startet ein `@claude review`-Kommentar auch die Action. Um die beiden voneinander zu trennen, setzen Sie die Eingabe `trigger_phrase` der Action auf eine andere Phrase.

<h2 id="related-resources">
  Verwandte Ressourcen
</h2>

* [Fehlerbehebung bei Code Review](/docs/de/code-review-troubleshooting): ein Review, das nicht gestartet wurde, fehlgeschlagen ist oder aus Budgetgründen übersprungen wurde
* [Code Review](/docs/de/code-review): was der Dienst ist und wie ein Review abläuft
* [Code Review einrichten](/docs/de/code-review-setup): für Owner – Code Review aktivieren und festlegen, wann und auf welcher Stufe Reviews ausgeführt werden
* [Code Review anpassen](/docs/de/code-review-customize): mit `REVIEW.md` und `CLAUDE.md` ändern, was Claude kennzeichnet
* [Kosten und Nutzung von Code Review](/docs/de/code-review-costs): wie Reviews abgerechnet werden und wo das Ausgabenlimit festgelegt wird
* [Lokal mit `/code-review` prüfen](/docs/de/code-review-local): ein Review Ihres Branches in einer Claude Code-Sitzung ausführen
