Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.238 ·

Plugin marketplaces and archives can mint HTTP headers from a command

Marketplaces and plugins can run a command to mint short-lived HTTP headers for fetching archives.

Use it now Notable New Features
JSON All of v2.1.238
Use it nowTier: how much it should matter to you
3Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
PluginsArea: what it touches
New FeaturesKind: in v2.1.238,
What probably matters to youSection of the release
What

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.

Details
  • 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_NAME for marketplaces, CLAUDE_CODE_PLUGIN_NAME / CLAUDE_CODE_PLUGIN_ARCHIVE_URL for 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_changed or entry_archive_url_changed.
  • An entry declaring a helper must be strict:false so 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-dir have 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".
Evidence

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.

Read from
Feature flag
tengu_plugin_command_source_refresh Not enough to say

Nothing 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: on

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

Since it was published

The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.

Confirmed since Anthropic's documentation has since written up allowManagedHooksOnly, on MCP, plugins, skills, and hooks. Claude Code [managed settings](/docs/third-party/claude-desktop/code#interaction-with-claude-code%E2%80%99s-own-managed-settings) deployed on the device govern these hooks as they do in the Claude Code CLI: `disableAllHooks` turns them off… third-party/claude-desktop/extensions see the edit
Confirmed since Anthropic's documentation has since written up headersHelper, on MCP, plugins, skills, and hooks. | `.mcp.json` | MCP servers bundled with this plugin. A JSON object keyed by server name: `{"mcpServers": {"<name>": {"type": "http", "url": "...", "oauth": true}}}`. A remote entry uses `type` (`http` or `sse`), not `transport`, and suppo… third-party/claude-desktop/extensions see the edit
How sure we are
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up headersHelper, on MCP, plugins, skills, and hooks.
Anthropic's release notes agreePlugin marketplaces: headersHelper on a url marketplace or a catalog entry runs a command that mints HTTP headers (e.g. a short-lived token)…

See this entry in the whole of v2.1.238 →

Feedback