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.223 ·

New "unclassified" message-origin kind for injected turns

Injected turns with no traceable source are now explicitly tagged and framed as non-user content.

Under the hood New Features
JSON All of v2.1.223
Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
0Signal: worth watching, 1 to 5
ElsewhereArea: what it touches
New FeaturesKind: in v2.1.223,
New FeaturesSection of the release
What

Injected turns whose ingress classification finds no provenance now carry an explicit origin kind instead of an undefined one, and their content is framed to the model as coming from a non-user source.

Details
  • The SDK origin union gains w.literal("unclassified"), documented as "Injected turn whose ingress classification found no provenance. Framed by the harness as a non-user source in both drains; never presumed human, never host-replayed."
  • Synthetic turns whose inbound classification produced nothing are tagged { kind: "unclassified" } rather than left undefined.
  • Such content is prefixed with the existing non-user banner text before it reaches the model.
  • The banner literal was hoisted into a shared constant and is only prepended if not already present.
Evidence

Injected turn whose ingress classification found no provenance.

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.223 →

Feedback