tengu_cozy_teapot
A Claude Code feature flag, read out of the shipped bundle. It was in the build from v2.1.271 and was gone by v2.1.317.
A remotely gated A/B test can loosen the bash-first system prompt wording.
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.260.
In the changelogs
3Releases whose published page names tengu_cozy_teapot.
-
v2.1.307
Subagent transcript uploads can now be cancelled and have a row limit
Uploading a subagent's transcript can now stop cleanly when cancelled, and an upload that is cancelled or too large is kept as still owed
gate cited by this entry
-
v2.1.274
New bash-first prompt steer variant experiment slot
A new bashFirstSteerVariant experiment slot was added, gated by tengu_cozy_teapot and overridable via CLAUDE_CODE_COZY_TEAPOT
named in this entry, gate cited by this entry, found in this entry's text
-
v2.1.260
Auto-mode 'bash-first' system-prompt wording is A/B'd behind a remote gate, falling back to the strict wording
A remotely gated A/B test can loosen the bash-first system prompt wording.
named in this entry, found in this entry's text, gate cited by this entry
Gate readings
2| Release | Resolved | This account | Anonymous | Compiled default |
|---|---|---|---|---|
| v2.1.307 read on another version | Not enough to say | no value returned | no value returned | not a boolean we can read |
| v2.1.274 read on another version | Not enough to say | no value returned | no value returned | not a boolean we can read |
Two arms, because they disagree: this account is the one account this site reads and anonymous is a baseline with no identity attached. A reading says nothing about your account, and off cannot rule out a rollout both readings sit outside of. What these readings can and cannot show.
Flag server, over time
8| Read as | Reading | From | Until | Version installed |
|---|---|---|---|---|
| anonymous | "strict" | 2026-10-17T05:30:04Z | 2026-11-06T12:30:05Z | v2.1.302 to v2.1.318 |
| this account | "strict" | 2026-09-10T21:47:12Z | 2026-11-06T12:30:05Z | v2.1.268 to v2.1.318 |
| anonymous | no longer carried | 2026-10-17T05:25:57Z | 2026-10-17T05:25:57Z | v2.1.302 |
| anonymous | "strict" | 2026-09-09T19:30:07Z | 2026-10-17T05:10:04Z | v2.1.266 to v2.1.302 |
| this account | no longer carried | 2026-09-10T21:46:45Z | 2026-09-10T21:46:45Z | v2.1.268 |
| this account | "strict" | 2026-09-09T20:10:06Z | 2026-09-10T17:40:05Z | v2.1.267 |
| this account | no longer carried | 2026-09-09T19:55:04Z | 2026-09-09T19:55:04Z | v2.1.266 |
| this account | "strict" | 2026-09-09T19:51:36Z | 2026-09-09T19:51:36Z | v2.1.267 |
One row per unbroken stretch of one reading, newest first, from snapshots taken every twenty-five minutes or so. No longer carried is not off: it means the flag server stopped returning the gate at all, which is what a retired experiment looks like. The version column is what was installed when the reading was taken, not what caused it.
First cited
1The earliest release whose published evidence quoted tengu_cozy_teapot was v2.1.260, 3 Sep 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
10Build by build
45One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the feature flag does. All feature flags.