Empfehlen Sie Ihr Plugin von Ihrer CLI aus
Geben Sie einen einzeiligen Marker von Ihrer CLI aus, damit Claude Code Benutzer auffordert, Ihr offizielles Plugin zu installieren.
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.
Claude Code entfernt die Hinweiszeile aus der Befehlsausgabe, bevor sie an das Modell gesendet wird, sodass der Marker nie in der Konversation erscheint und nicht zur Token-Nutzung zählt. 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. Wenn Ihre CLI diese Variable 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:
- Scannt nach Hinweiszeilen und entfernt sie, bevor die Ausgabe das Modell erreicht
- Überprüft, dass der Hinweis auf ein Plugin in einem offiziellen Anthropic-Marketplace abzielt
- Überprüft, dass das Plugin nicht bereits installiert ist und nicht zuvor aufgefordert wurde
- 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.
Geben Sie den Hinweis aus
Geben Sie die Ausgabe an die CLAUDECODE Umgebungsvariable ab, damit der Marker nie im Terminal eines menschlichen Benutzers erscheint. Schreiben Sie dann das Tag auf stderr auf seiner eigenen Zeile.
Die folgenden Beispiele geben einen Hinweis für ein Plugin namens example-cli im offiziellen Marketplace aus:
if (process.env.CLAUDECODE) {
process.stderr.write(
'<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />\n',
)
}
import os, sys
if os.environ.get("CLAUDECODE"):
print(
'<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />',
file=sys.stderr,
)
if os.Getenv("CLAUDECODE") != "" {
fmt.Fprintln(os.Stderr,
`<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />`)
}
[ -n "$CLAUDECODE" ] &&
printf '%s\n' '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />' >&2
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:
| Platzierung | Warum es funktioniert |
|---|---|
--help Ausgabe |
Claude führt häufig Hilfe aus, wenn eine unbekannte CLI erkundet wird |
| Fehler bei unbekanntem Unterbefehl | Erreicht den Moment, in dem Claude über Ihre Schnittstelle verwirrt ist |
| Anmeldungs- oder Authentifizierungserfolg | Der Benutzer ist bereits in einer Einrichtungsmentalität |
| Willkommensnachricht beim ersten Ausführen | Ein natürlicher Onboarding-Moment |
Was der Benutzer sieht
Wenn der Hinweis alle Überprüfungen besteht, zeigt Claude Code eine Aufforderung wie die folgende an:
─────────────────────────────────────────────────────────────
Plugin-Empfehlung
Der Befehl example-cli schlägt vor, ein Plugin zu installieren.
Plugin: example-cli
Marketplace: claude-plugins-official
Offizielle Integration für example-cli-Bereitstellungen
Möchten Sie es installieren?
❯ 1. Ja, example-cli installieren
2. Nein
3. Nein, und zeige mir keine Plugin-Installationshinweise mehr
─────────────────────────────────────────────────────────────
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:
- 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.
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.
<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />
| Attribut | Erforderlich | Beschreibung |
|---|---|---|
v |
Ja | Protokollversion. 1 ist der einzige unterstützte Wert |
type |
Ja | Hinweistyp. plugin ist der einzige unterstützte Wert |
value |
Ja | Plugin-Identifier in der Form name@marketplace |
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
valuemuss auf ein Plugin in einem von Anthropic kontrollierten Marketplace wieclaude-plugins-officialverweisen. 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 | jqheraus. Claude Code scannt beide Streams, daher funktioniert auch stdout. - Gate on
CLAUDECODE: Geben Sie nur aus, wenn dieCLAUDECODEUmgebungsvariable gesetzt ist. Dies verhindert, dass der Marker Benutzern angezeigt wird, die Ihre CLI direkt ausführen.
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
- Erstellen Sie Plugins: Erstellen Sie das Plugin, das Ihre CLI empfiehlt
- Erstellen und verteilen Sie einen Plugin-Marketplace: Hosten Sie Plugins außerhalb des offiziellen Marketplace
- Umgebungsvariablen: Vollständige Referenz für
CLAUDECODEund verwandte Variablen