Preserving other-vendor reasoning across upgrades is off unless an experiment or env var turns it on.
What
A setting decides whether reasoning text produced by a non-Claude model survives an upgrade to a different model instead of being discarded. It is off unless the tengu_luminous_whistle experiment turns it on, and CLAUDE_CODE_LUMINOUS_WHISTLE overrides either way. Even then it only applies when a separate precondition holds.
Details
- Decided once per session and reset on clear, resume, spare claim and remote attach.
- Logs
api_keep_thinking_on_upgradewhen it either keeps or rejects the thinking text.
Evidence
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Names in the bundleCLAUDE_CODE_LUMINOUS_WHISTLE
Flag reading moved
The flag server now returns on for tengu_luminous_whistle, read as this account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved
The flag server now returns nothing at all, having stopped carrying it for tengu_luminous_whistle, read as this account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
One source agreesOne thing we can check says the same as this entry.
The name it cites is new in this build
New in this build: CLAUDE_CODE_LUMINOUS_WHISTLE