Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-code

Recommend your plugin from your CLI changedplugins/cli-hints

Nearest release: v2.1.283, published under an hour after upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 25 Sep 2026 18:09 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 22 Oct 2026 18:07 UTC.

Upstream edited
Recorded here
Lines+7added
Lines−7removed
From line 4 where the diff opens
First seen 25 Sep 2026 this site's first read of the page
Recorded edits5to this page, all time

The whole hunk

from line 4, old and new numbered
/
lines
from line 4
44 
55If you maintain a CLI or SDK, your tool can prompt Claude Code users to install your plugin. When your CLI detects that it's running inside Claude Code, have it write a one-line `<claude-code-hint />` tag to stderr. Claude Code removes the line from Bash and PowerShell tool output before the model sees the output, then shows the user a one-time install prompt.
66 
7This page applies only if your plugin is listed in `claude-plugins-official` or another marketplace with one of Anthropic's [official marketplace names](/docs/en/plugins/security#official-marketplace-names). The community marketplace, `claude-community`, isn't one of them.
7This page applies only if your plugin is listed in `claude-plugins-official` or another marketplace with one of Anthropic's [official marketplace names](/docs/en/plugins/security.md#official-marketplace-names). The community marketplace, `claude-community`, isn't one of them.
88 
99> [!NOTE]
1010>
11> To publish a plugin, see [Publish and distribute a plugin](/docs/en/plugins/publish).
11> To publish a plugin, see [Publish and distribute a plugin](/docs/en/plugins/publish.md).
1212 
1313## Emit the hint
1414 
from line 19
1919* **`CLAUDECODE`**: set by every Claude Code version. IDE extensions also set it in their integrated terminals, so a gate on `CLAUDECODE` alone also emits the tag when a person runs your CLI themselves in one of those terminals
2020* **`CLAUDE_CODE_CHILD_SESSION`**: set only in subprocesses Claude Code itself starts. Use it when you can require v2.1.172 or later
2121 
22The [environment variables reference](/docs/en/env-vars) has the details.
22The [environment variables reference](/docs/en/env-vars.md) has the details.
2323 
2424The following examples gate on `CLAUDECODE` for the widest reach and emit a hint for a plugin named `example-cli` in the official marketplace:
2525 
from line 81
8181The prompt appears only in interactive terminal sessions. In `claude -p` runs, in subagent runs, and in hook command output, the tag is stripped and no prompt is shown. All of these checks must also pass:
8282 
8383* **Official and installable**: `value` names a plugin that Claude Code finds in its local copy of an official marketplace, that isn't already installed, and that no policy blocks
84* **Analytics on**: a session where Claude Code's analytics are off never prompts, for example one with `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, or `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` set, or one on a third-party provider such as Amazon Bedrock, where the [automatic telemetry opt-out](/docs/en/data-usage#default-behaviors-by-api-provider) applies
84* **Analytics on**: a session where Claude Code's analytics are off never prompts, for example one with `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, or `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` set, or one on a third-party provider such as Amazon Bedrock, where the [automatic telemetry opt-out](/docs/en/data-usage.md#default-behaviors-by-api-provider) applies
8585* **Frequency limits**: one prompt per session, one prompt ever per plugin regardless of the user's answer, and none once 100 plugins have been prompted for on that machine
8686* **Not turned off**: the user hasn't chosen **No, and don't show plugin installation hints again**
8787* **Local, attended session**: the session's workspace is local rather than on a cloud or remote machine, and the session isn't running unattended. For example, a session started with `--cloud`, one serving Remote Control, or an agent-team teammate never prompts
from line 110
110110 
111111The dialog names the first word of the shell command Claude ran, so users can spot a mismatch. Each answer has one effect:
112112 
113* **Yes, install**: installs the plugin at [user scope](/docs/en/plugins/install)
113* **Yes, install**: installs the plugin at [user scope](/docs/en/plugins/install.md)
114114* **No, and don't show plugin installation hints again**: turns off future hint prompts for that user
115115* **No answer for 30 seconds**: counts as **No**
116116 
117117## Next steps
118118 
119* [Publish and distribute a plugin](/docs/en/plugins/publish): the routes for distributing a plugin, including the official marketplace, which the hint requires
120* [Plugin commands reference](/docs/en/plugins/cli-reference#plugin-install): the shell command that installs the same plugin outside a session
119* [Publish and distribute a plugin](/docs/en/plugins/publish.md): the routes for distributing a plugin, including the official marketplace, which the hint requires
120* [Plugin commands reference](/docs/en/plugins/cli-reference.md#plugin-install): the shell command that installs the same plugin outside a session
121121 
Feedback