- Book: AI Agents Pocket Guide
- Also by me: Thinking in Go (2-book series) — Complete Guide to Go Programming + Hexagonal Architecture in Go
- My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools
- Me: xgabriel.com | GitHub
If your product still calls Claude Sonnet 4.6, the text it returns has carried an invisible watermark since November 3, and the response looks no different. That day's entry in the Claude API release notes opens with "Text generated by Claude Mythos 5, Claude Opus 4.7, and Claude Sonnet 4.6 carries Anthropic's text watermark," on the platforms Anthropic lists.
The same entry carries a catch that only applies to one of the three. On Sonnet 4.6, text generated for a request that sets temperature, top_p or top_k to a non-default value "might not carry it." If you set any of them and you count on the watermark being there, you have a gap.
What changed on November 3
Anthropic has been marking text from new models since the EU deadline. Its support page says Claude models launched in the EU on or after August 2, 2026 support machine-readable marking at launch, and that older models get a transition period while Anthropic adds it. The November 3 entry moves three of those older models over: Mythos 5, Opus 4.7 and Sonnet 4.6 (release notes).
The support page's model table lists text marking on Anthropic's own surfaces and through cloud partners (AWS, Google Cloud, Microsoft Foundry) for models including Fable 5.1 and 5, Mythos 5.1 and 5, Opus 5.5, 5, 4.8 and 4.7, Sonnet 5.5, 5 and 4.6, and Haiku 5.5. Cloud-partner coverage varies by model, and older models such as Opus 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 show narrower coverage. For Mythos 5, Opus 4.7 and Sonnet 4.6 there is one footnote: "Rollout on Amazon Bedrock will complete by November 10" (support page). If you call those models through Bedrock this week, some responses may not be marked yet.
The marks are not limited to the API. The support page lists the Claude apps, Claude Code, Claude Cowork and Claude Tag as well, worldwide. Techweez reported the expansion on November 2, the day before it took effect. It reports that Anthropic applies the mark worldwide because it can't yet limit it by region.
How the watermark works, per Anthropic
The method is a version of Google DeepMind's SynthID-Text, according to Anthropic's explainer, first published on August 14 and updated on September 1. When the model picks between near-equivalent words, a secret key and the preceding words decide the pick instead of an arbitrary random number. "Nothing is added to the text and there are no hidden characters," the explainer says.

The mark is in Claude's word choices. There's no extra character to strip out.
The developer docs spell out what that means for your integration. The watermark "adds no tokens or hidden characters and carries no information about you or your organization." You don't need to change requests or response parsing. Your token bill and your string handling stay the same.
A few limits come straight from Anthropic's explainer:
- Detection only says Claude was "likely involved with the content at some point." It does not say Claude wrote it.
- Detection doesn't work well on short passages.
- Light edits probably won't remove the mark. A rewrite that replaces every word will.
- Translations are marked, because Claude picks every word.
- Code "has generally less watermarking than some other forms of text," since exact output leaves few free choices. Comments can still carry it.
That last point matters if your agents write docs, commit messages or PR descriptions. Prose like that has plenty of free word choices. Generated code with few comments has fewer.
The Sonnet 4.6 sampling catch
The text watermark docs give one instruction for anyone who relies on the mark: "omit all three parameters from your requests, including any that a framework or client library sets for you."

Of the three models added on November 3, only Sonnet 4.6 can lose the mark to a non-default temperature, top_p or top_k.
Why Sonnet 4.6 and not the other two? The migration guide for API version 2026-10-21 doesn't mention the watermark, but it shows what sets Sonnet 4.6 apart. Claude 4.7 and later models already accept only the default sampling values. Sonnet 4.6 still accepts others. The guide's own example is a request that lowered temperature for more consistent output, which is exactly the case the caveat covers. The support page names one more model with the same caveat: text from Opus 4.6 generated with a non-default temperature, top_p or top_k may also lack the mark.
The new API version closes this from the other side. In 2026-10-21, a request that sends temperature, top_p or top_k "returns a 400 error, even at the parameter's default value," and the latest SDK majors drop the three parameters (migration guide). Without them, a request samples at the defaults, including a temperature of 1.0. The guide also says that if a request relies on a non-default value, you can keep that request on 2023-06-01. On Sonnet 4.6, that is the combination where the watermark may be missing.
So the first job is to find every place that sets them. Start with a plain search of your code and config:
grep -rnE "temperature|top_p|top_k" src/ config/
Then look at what your framework or wrapper sends by default, because the docs call that out explicitly. A Sonnet 4.6 request that sets none of the three looks like this with the Python SDK:
import anthropic
client = anthropic.Anthropic()
msg = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
# no temperature, top_p or top_k
messages=[{"role": "user", "content": "Summarize this"}],
)
print(msg.content[0].text)
If that request lowered temperature for repeatable output, removing it changes how Sonnet 4.6 samples. The migration guide says no other setting replaces it. Decide which matters more for that call before you change it.
What you can and can't check yourself
Watermark detection is in private preview, and you can't run it on your own output unless you qualify. The support page says detection is "available to eligible organizations as required under EU law": regulators, law enforcement, media, fact-checkers, independent researchers, educational organizations and EU civil society groups. It is "also available for enterprises who are similarly obligated to verify watermarking." Everyone else can register interest through a form.
Files are different. Claude adds C2PA Content Credentials to generated files like PNG and JPEG, and the support page points to a free Claude Content Checker for those.
Two sentences on the support page should stop anyone from building an "AI detector" on top of this. "A detected mark provides a signal that content was processed by Claude, but is not fully conclusive." And: "Lack of a detected mark doesn't mean the content wasn't AI-generated or processed." Neither the support page nor the docs page describes a way to turn the watermark off.
If you ship Claude output in the EU
The legal driver is Article 50(2) of the EU AI Act, which applies from August 2, 2026. It asks providers of systems that generate synthetic text to make outputs "marked in a machine-readable format" and "detectable as artificially generated or manipulated." Anthropic signed the EU's Code of Practice on transparency of AI-generated content in July, per its explainer.
Your own obligations are a separate question. The support page tells developers that "you should independently assess what Article 50 requires of your products and services." I'm not a lawyer, and this isn't legal advice. As engineering work, though, the list for this week is short:
- List every call to Mythos 5, Opus 4.7 and Sonnet 4.6, and which platform serves it.
- For Bedrock traffic on those models, treat marking as incomplete until November 10.
- For Sonnet 4.6, find every
temperature,top_pandtop_k, including ones your framework adds. - If a later step outside Claude (another model or a person) replaces every word of Claude's output, expect the mark to be gone.
- If you need to verify marks for compliance, request detection access now rather than in an audit.
Is anything in your stack still pinning Sonnet 4.6 at a low temperature, and do you need the mark on that output? Tell me in the comments.
If this was useful
Agents now write a lot of the text that ships: PR descriptions, release notes, support replies. The AI Agents Pocket Guide covers the patterns and guardrails for building agents like that, including where a human or a policy check sits between the model and what goes out. I also build Hermes IDE, a free, source-available IDE for running Claude Code and other coding agents on macOS, Windows and Linux (GitHub), so weigh the mention accordingly.

Top comments (0)