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.
tengu_teal_corbel On for this account, and not off by defaultThe 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
What's wrong with this entry?
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.
- 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
commentsandreplyactions plusthread_idandtextparameters, 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_idis 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 arows_degradedtelemetry payload withdropped_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.
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.
-
v2.1.235
Artifact MCP is on by default
Both mention comment
-
v2.1.239
Artifact request schema: auto_reply gated, embeds compiled out
Both mention comment
-
v2.1.239
Artifact watch entries gain unread-comment counters behind the comments flag
Both mention comment