Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.227 Home All releases olderv2.1.226 v2.1.228newer
Claude Code v2.1.227

Refusing peer messages when cross-session messaging is off is now a distinct case

Not switched on
Useful2 Signal3
Cross-Session Messaging not in their notes

Sending messages between your Claude sessions stays off, and refusals now name the kill switch explicitly.

Cross-session messaging sits behind CLAUDE_CODE_HARBOR_KITE or a remote flag, off by default and never on Windows.

Feature flag
tengu_harbor_kite On for this account, and not off by default

The flag server returned on for the one account this site reads, and nothing in this release compiles it off by default. The compiled default is shown below, and says which it is when we cannot read one: a fifth of gates compile in a string or a number rather than on or off, and most published releases have no gate table behind them at all. No client can see what the server returns for your account.

This account: on · anonymous baseline: on · compiled default in v2.1.227: on

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.227. It isn't a statement about your account. What a flag value here can and cannot tell you

CLAUDE_CODE_HARBOR_KITE
What

Cross-session messaging, which lets one Claude Code session send messages to another, stays off unless the tengu_harbor_kite remote flag (which falls back to off) or the CLAUDE_CODE_HARBOR_KITE environment variable is set, and it is never available on Windows. When it is off, inbound messages from other sessions are now refused as a kill switch rather than a generic refusal.

Details
  • The log says the message was refused because cross-session messaging is disabled, and telemetry records the cause as kill_switch instead of refused.
  • Messages already held for delivery are dropped with "gate off — dropped N parked peer message(s)" and receipted as expired rather than denied.
Evidence

cross-session messaging disabled (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.

See this entry in the whole of v2.1.227 →