Marketplaces and plugins can run a command to mint short-lived HTTP headers for fetching archives.
tengu_plugin_command_source_refresh Not enough to sayNothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.238: off
Read once, for one account on one subscription tier, against v2.1.238. It isn't a statement about your account. What a flag value here can and cannot tell you
What's wrong with this entry?
A marketplace or plugin entry can declare headersHelper, a shell command whose JSON stdout becomes the HTTP headers used to fetch that marketplace or plugin archive, so short-lived tokens replace static headers. It runs only on explicit install, update or refresh, after you have seen the exact command, and is controlled by the kill switch tengu_plugin_command_source_refresh, which defaults to on. Managed settings disableCommandPluginSources and allowManagedHooksOnly block it entirely.
- The command's output overrides static
headers, is inherited by same-origin archive downloads from that marketplace, is memoised with an expiry, and is re-run on later refreshes. - It runs from the Claude config home rather than the session working directory, and receives
CLAUDE_CODE_MARKETPLACE_URL/CLAUDE_CODE_MARKETPLACE_NAMEfor marketplaces,CLAUDE_CODE_PLUGIN_NAME/CLAUDE_CODE_PLUGIN_ARCHIVE_URLfor plugin archives. - Consent is enforced by comparison: if the command, or the archive URL it fetches, changed since it was displayed, the install refuses and reports
entry_helper_unshown,entry_helper_changedorentry_archive_url_changed. - An entry declaring a helper must be
strict:falseso its full manifest is inlined and reviewable before anything runs. - Sources that are not operator-authored have credential environment variables stripped, their values redacted out of whatever env is passed, and routing/identity headers (
host,cookie,x-forwarded-,proxy-, and similar) dropped from the result. - Marketplaces added via
--add-dirhave their declared helpers stripped; remote managed-settings declarations require separate verification. - Values must be printable ASCII and short enough for the install consent pane to display. Outcomes report to
plugin_headers_helper; when the kill switch is off the log reads "headersHelper not run — disabled by the plugin command kill switch".
CLAUDE_CODE_PLUGIN_ARCHIVE_URL, Command that prints a JSON object of HTTP headers, headersHelper not run \u2014 disabled by the plugin command kill switch
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.229
Managed setting to block command-sourced plugins
Both mention disable command source allow managed hook only
-
v2.1.229
Plugins can be installed from a command that produces the plugin directory
Both mention disable command source allow managed hook only
-
v2.1.229
Marketplaces can ship a plugin built by running a local command
Both mention disable command source allow managed hook only