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.221 Home All releases olderv2.1.220 v2.1.222newer

New artifact comment threads: read, reply, resolve

Not switched on
Useful3 Signal5
Artifacts Notable not in their notes

Reading, replying to and resolving comment threads on published artifacts is built in but off unless enabled.

Full artifact comment threads with reply and resolve actions sit behind CLAUDE_CODE_ARTIFACT_COMMENTS, off by default.

Feature flag
tengu_teal_corbel 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.221: 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.221. It isn't a statement about your account. What a flag value here can and cannot tell you

CLAUDE_CODE_ARTIFACT_COMMENTS
What

A whole subsystem for reading and replying to comment threads on published Claude artifacts is present in this build but switched off absent a server value.

Details
  • It fetches comment threads from the artifact frame host JSON, posts replies via /api/frame/comments/, and resolves threads via the same path plus /resolve.
  • The Artifact tool gains comments and reply actions plus thread_id and text parameters, and a response schema carrying threads, comments, resolved/activated flags and span_quote. Reply text is plain text capped at 4096 bytes of UTF-8.
  • Schema fields, tool prompt section, permission text and result rendering are all added conditionally: the code checks whether thread_id is in the built schema to decide whether to append the Comments prompt section, so with the gate off the actions do not exist at all.
  • Threads are heavily sanitised: control and default-ignorable characters stripped, anchor paths capped at 10 " > " segments and 1024 chars, span quotes byte-capped. Degraded fields are counted into a rows_degraded telemetry payload with dropped_threads, dropped_comments, degraded_fields.
  • Gate: te.CLAUDE_CODE_ARTIFACT_COMMENTS ?? Je("tengu_teal_corbel", !1), an env var override over a remote-config gate whose in-source fallback is off.
Evidence

rate limited — comment replies spend the user's budget; do not retry now, 'reply' posts a reply into one comment thread (pass url, thread_id, text), reply only: the reply text. Plain text, at most 4096 bytes of UTF-8., 'comments' reads the comment threads on a published artifact (pass url). 'reply' posts a reply into one comment thread (pass url, thread_id, text)

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.221 →