Skip to main content
Wenn Sie eine CLI oder ein SDK verwalten und ein Plugin im offiziellen Anthropic-Marketplace haben, kann Ihr Tool Claude Code-Benutzer auffordern, dieses Plugin zu installieren. Ihre CLI schreibt einen einzeiligen Marker auf stderr, wenn sie erkennt, dass sie in Claude Code ausgeführt wird. Claude Code liest den Marker, entfernt ihn aus der Ausgabe und zeigt dem Benutzer eine einmalige Installationsaufforderung an. Das Protokoll erfordert keine zusätzlichen Befehle und ändert nicht, was Ihre CLI für Benutzer außerhalb von Claude Code ausgibt. Diese Seite ist für CLI- und SDK-Verwalter. Wenn Sie nach der Installation von Plugins suchen, siehe Plugins entdecken und installieren.

Funktionsweise

Claude Code setzt die CLAUDECODE Umgebungsvariable auf 1 für jeden Befehl, den es über die Bash- und PowerShell-Tools ausführt, und für hook-Befehle. Ab v2.1.172 setzt es auch CLAUDE_CODE_CHILD_SESSION auf 1 in denselben Subprozessen. Wenn Ihre CLI eine dieser Variablen sieht, schreibt sie ein selbstschließendes <claude-code-hint />-Tag auf stderr. Bei hook-Befehlen wird das Hinweis-Tag entfernt und ignoriert. Nur die Ausgabe von Bash- und PowerShell-Tools löst die Installationsaufforderung aus. Wenn Claude Code die Befehlsausgabe empfängt, führt es folgende Schritte aus:
  1. Scannt nach Hinweiszeilen und entfernt sie, bevor die Ausgabe das Modell erreicht
  2. Überprüft, dass der Hinweis auf ein Plugin in einem offiziellen Anthropic-Marketplace abzielt
  3. Überprüft, dass das Plugin nicht bereits installiert ist und nicht zuvor aufgefordert wurde
  4. Zeigt dem Benutzer eine Installationsaufforderung an, die den Befehl benennt, der den Hinweis ausgegeben hat
Claude Code installiert ein Plugin nie automatisch. Der Benutzer bestätigt immer.

Hint ausgeben

Hint-Prompts werden nur für Plugins ausgelöst, die im offiziellen Anthropic-Marketplace aufgelistet sind. Siehe Bringen Sie Ihr Plugin in den offiziellen Marketplace, bevor Sie die Integration bereitstellen. Geben Sie die Ausgabe basierend auf einer Umgebungsvariablen frei, damit die Markierung wahrscheinlich nicht angezeigt wird, wenn ein Mensch Ihre CLI direkt ausführt. Schreiben Sie dann das Tag auf stderr auf einer eigenen Zeile. Wählen Sie, welche Variable überprüft werden soll:
  • CLAUDECODE: wird auf jeder Claude Code-Version gesetzt, daher erreicht es die meisten Sitzungen. Es wird auch in tmux-Sitzungen und stdio-MCP-Server-Subprozessen gesetzt, die Claude Code startet. IDE-Erweiterungen setzen es auch in ihren integrierten Terminals, wo ein Mensch Ihre CLI direkt ausführen kann.
  • CLAUDE_CODE_CHILD_SESSION: wird nur in Subprozessen gesetzt, die Claude Code selbst startet, wie z. B. Tool-Aufrufe, Hook-Befehle und Statuszeilen-Befehle, daher erreicht das Tag normalerweise kein menschliches Terminal. Ein langlebiger Prozess, der innerhalb einer Sitzung gestartet wurde, wie z. B. ein tmux-Server, erfasst die Variable, daher zeigen Shells, die später von diesem Prozess aus gestartet werden, immer noch das rohe Tag.
Die folgenden Beispiele geben CLAUDECODE für maximale Reichweite frei und geben einen Hint für ein Plugin namens example-cli im offiziellen Marketplace aus:
Ersetzen Sie example-cli durch den Namen Ihres Plugins im offiziellen Marketplace.

Wählen Sie, wo Sie ausgeben

Sie kontrollieren, welche Code-Pfade den Hinweis ausgeben. Claude Code dedupliziert nach Plugin, daher hat die Ausgabe bei jeder Aufrufen keinen Nachteil. Berührungspunkte, die gut funktionieren, sind:

Was der Benutzer sieht

Wenn der Hinweis alle Überprüfungen besteht, zeigt Claude Code eine Aufforderung wie die folgende an:
Die Aufforderung benennt den Befehl, der den Hinweis erzeugt hat, damit Benutzer einen Mismatch zwischen dem Tool und dem Plugin, das es empfiehlt, erkennen können. Wenn der Benutzer nicht innerhalb von 30 Sekunden antwortet, wird die Aufforderung als Nein verworfen. Die Häufigkeit der Aufforderung ist begrenzt, und einige Sitzungen zeigen nie eine Aufforderung:
  • Einmal pro Plugin: Nachdem die Aufforderung angezeigt wurde, zeichnet Claude Code das Plugin auf und fordert es nie wieder auf, unabhängig von der Antwort des Benutzers.
  • Einmal pro Sitzung: Auf allen CLIs auf dem Computer erscheint höchstens eine Hinweisaufforderung pro Claude Code-Sitzung.
  • Nur in der Hauptinteraktiven Sitzung: Claude Code zeigt die Aufforderung nur in der Terminalsitzung an, in die der Benutzer tippt. Claude Code fordert nie für einen Befehl auf, den ein Subagent ausführt, und fordert nie auf, wenn der Benutzer Claude Code im nicht-interaktiven Modus mit dem Flag -p oder über das Agent SDK ausführt. Claude Code entfernt die Hinweiszeile trotzdem aus der Befehlsausgabe in allen diesen Fällen.
  • Telemetrie-Opt-outs: Sitzungen, in denen Analysen deaktiviert sind, zeigen nie Hinweisaufforderungen. Dies umfasst Sitzungen mit DISABLE_TELEMETRY oder CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC gesetzt, und Sitzungen bei Drittanbietern wie Amazon Bedrock oder Google Cloud’s Agent Platform, wo das automatische Telemetrie-Opt-out gilt.
Wenn Sie Ja auswählen, wird das Plugin im Benutzerbereich installiert. Wenn Sie Nein, und zeige mir keine Plugin-Installationshinweise mehr auswählen, werden alle zukünftigen Hinweisaufforderungen für den Benutzer deaktiviert.

Hinweisformat

Der Hinweis ist ein selbstschließendes Tag mit drei erforderlichen Attributen.
Attributwerte können mit doppelten Anführungszeichen zitiert oder unzitiert gelassen werden. Unzitierte Werte können keine Leerzeichen enthalten. Escape-Sequenzen werden nicht unterstützt.

Anforderungen

Claude Code erzwingt zwei Bedingungen, bevor es auf einen Hinweis reagiert. Hinweise, die eine der beiden Überprüfungen nicht bestehen, werden verworfen:
  • Eigene Zeile: Das Tag muss auf seiner eigenen Zeile stehen. Ein Tag, das in der Mitte einer Zeile eingebettet ist, z. B. in einer Log-Anweisung, wird ignoriert. Führende und nachfolgende Leerzeichen auf der Zeile sind zulässig.
  • Offizieller Marketplace: Der value muss auf ein Plugin in einem von Anthropic kontrollierten Marketplace wie claude-plugins-official verweisen. Hinweise, die auf andere Marketplaces verweisen, werden stillschweigend verworfen.
Die Hinweiszeile wird immer aus der Ausgabe entfernt, bevor sie das Modell erreicht, auch wenn die Version oder der Typ nicht erkannt wird, sodass der Marker nie zur Token-Nutzung zählt. Die verbleibende Anleitung wird empfohlen, aber nicht erzwungen. Claude Code kann nicht beobachten, ob Ihre CLI sie befolgt:
  • Schreiben Sie auf stderr: stderr hält das Tag aus Shell-Pipelines wie example-cli deploy | jq heraus. Claude Code scannt beide Streams, daher funktioniert auch stdout.
  • Gate on an environment variable: Geben Sie nur aus, wenn CLAUDECODE oder CLAUDE_CODE_CHILD_SESSION gesetzt ist. Siehe Emit the hint, um zu erfahren, wie sich die beiden Variablen unterscheiden.

Bringen Sie Ihr Plugin in den offiziellen Marketplace

Das Hinweisprotokoll wird nur für Plugins wirksam, die im offiziellen Anthropic-Marketplace aufgelistet sind, claude-plugins-official. Anthropic kuratiert diesen Marketplace nach eigenem Ermessen, und die In-App-Einreichungsformulare fügen Plugins stattdessen zum Community-Marketplace hinzu, den das Hinweisprotokoll nicht überprüft. Wenn Sie mit einem Anthropic-Partner-Kontakt zusammenarbeiten, wenden Sie sich an ihn, um die Auflistung im offiziellen Marketplace zu koordinieren.

Siehe auch