Come funziona
Claude Code imposta la variabile di ambienteCLAUDECODE a 1 per ogni comando che esegue attraverso gli strumenti Bash e PowerShell, e per i comandi hook. A partire dalla versione 2.1.172 imposta anche CLAUDE_CODE_CHILD_SESSION a 1 negli stessi sottoprocessi. Quando la tua CLI vede una di queste variabili, scrive un tag <claude-code-hint /> auto-chiudente in stderr. Nei comandi hook il tag di suggerimento viene rimosso e ignorato. Solo l’output degli strumenti Bash e PowerShell attiva il prompt di installazione.
Quando Claude Code riceve l’output del comando, esegue le seguenti operazioni:
- Scansiona le righe di suggerimento e le rimuove prima che l’output raggiunga il modello
- Verifica che il suggerimento sia destinato a un plugin in un marketplace ufficiale di Anthropic
- Verifica che il plugin non sia già installato e che non sia stato suggerito in precedenza
- Mostra all’utente un prompt di installazione che nomina il comando che ha emesso il suggerimento
Emetti il suggerimento
Condiziona l’emissione su una variabile di ambiente in modo che il marcatore sia improbabile che appaia quando un utente esegue direttamente la tua CLI, quindi scrivi il tag su stderr sulla sua propria riga. Scegli quale variabile controllare:CLAUDECODE: impostata su ogni versione di Claude Code, quindi raggiunge il maggior numero di sessioni. È anche impostata nelle sessioni tmux e nei sottoprocessi del server MCP stdio che Claude Code avvia. Le estensioni IDE la impostano anche nei loro terminali integrati, dove un utente potrebbe eseguire direttamente la tua CLI.CLAUDE_CODE_CHILD_SESSION: impostata solo nei sottoprocessi che Claude Code stesso genera, come le chiamate di strumenti, i comandi hook e i comandi della riga di stato, quindi il tag normalmente non raggiunge un terminale umano. Un processo di lunga durata che è stato avviato all’interno di una sessione, come un server tmux, acquisisce la variabile, quindi le shell avviate successivamente da quel processo mostrano comunque il tag grezzo. Richiede Claude Code v2.1.172 o successivo, quindi le sessioni su versioni precedenti non ricevono il suggerimento.
CLAUDECODE per la massima copertura e emettono un suggerimento per un plugin denominato example-cli nel marketplace ufficiale:
example-cli con il nome del tuo plugin nel marketplace ufficiale.
Scegli dove emettere
Controlli quali percorsi di codice emettono il suggerimento. Claude Code deduplica per plugin, quindi emettere ad ogni invocazione non ha alcun aspetto negativo. I punti di contatto che funzionano bene includono:| Posizionamento | Perché funziona |
|---|---|
Output di --help | Claude spesso esegue help quando esplora una CLI sconosciuta |
| Errori di sottocomando sconosciuto | Raggiunge il momento in cui Claude è confuso sulla tua interfaccia |
| Accesso o successo dell’autenticazione | L’utente è già in uno stato mentale di configurazione |
| Messaggio di benvenuto al primo avvio | Un momento di onboarding naturale |
Cosa vede l’utente
Quando il suggerimento supera tutti i controlli, Claude Code mostra un prompt come il seguente:- Una volta per plugin: dopo che il prompt viene mostrato, Claude Code registra il plugin e non lo suggerisce mai più, indipendentemente dalla risposta dell’utente.
- Una volta per sessione: su tutte le CLI della macchina, al massimo un suggerimento di prompt appare per sessione di Claude Code.
Formato del suggerimento
Il suggerimento è un tag auto-chiudente con tre attributi obbligatori.| Attributo | Obbligatorio | Descrizione |
|---|---|---|
v | Sì | Versione del protocollo. 1 è l’unico valore supportato |
type | Sì | Tipo di suggerimento. plugin è l’unico valore supportato |
value | Sì | Identificatore del plugin nella forma name@marketplace |
Requisiti
Claude Code applica due condizioni prima di agire su un suggerimento. I suggerimenti che non superano nessuno dei due controlli vengono scartati:- Riga propria: il tag deve occupare la sua propria riga. Un tag incorporato a metà riga, ad esempio all’interno di un’istruzione di log, viene ignorato. Gli spazi bianchi iniziali e finali sulla riga sono consentiti.
- Marketplace ufficiale: il
valuedeve fare riferimento a un plugin in un marketplace controllato da Anthropic comeclaude-plugins-official. I suggerimenti che puntano ad altri marketplace vengono silenziosamente scartati.
- Scrivi in stderr: stderr mantiene il tag fuori dalle pipeline di shell come
example-cli deploy | jq. Claude Code scansiona entrambi i flussi, quindi anche stdout funziona. - Condiziona su una variabile di ambiente: emetti solo quando
CLAUDECODEoCLAUDE_CODE_CHILD_SESSIONè impostato. Vedi Emetti il suggerimento per come i due variabili differiscono.
Inserisci il tuo plugin nel marketplace ufficiale
Il protocollo di suggerimento ha effetto solo per i plugin elencati nel marketplace ufficiale di Anthropic,claude-plugins-official. Anthropic cura quel marketplace a sua discrezione, e i moduli di invio in-app aggiungono plugin al marketplace della comunità invece, che il protocollo di suggerimento non controlla. Se stai lavorando con un contatto partner di Anthropic, contattalo per coordinare un elenco nel marketplace ufficiale.
Vedi anche
- Crea plugin: costruisci il plugin che la tua CLI consiglia
- Crea e distribuisci un marketplace di plugin: ospita plugin al di fuori del marketplace ufficiale
- Variabili di ambiente: riferimento completo per
CLAUDECODEe variabili correlate