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.234 Home All releases olderv2.1.233 v2.1.235newer
Claude Code v2.1.234

Next-generation storage is pinned to one decision per process

Not switched on
Useful1 Signal3
Storage Backend not in their notes

The new storage layer's on/off decision is now made once per process, and the backend is still an empty stub.

tengu_hover_rest is pinned once per process; the backend it selects is an empty stub, so no path is taken.

Feature flag
tengu_hover_rest Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.234: on

Read once, for one account on one subscription tier, against v2.1.234. It isn't a statement about your account. What a flag value here can and cannot tell you

tengu_hover_rest
What

The gate that decides whether Claude Code uses its new storage layer, an internal flag named tengu_hover_rest, was previously consulted at each use. It is now read once and pinned for the lifetime of the process, and roughly two dozen storage paths were re-guarded so they check that pin rather than simply acting on a backend handle being passed in. The backend itself is an empty stub in this build, so none of these paths can actually be taken.

Details
  • The gate defaults to off, so unmodified installs keep the existing file-based storage.
  • A non-boolean value logs "tengu_hover_rest served a ${typeof e}, not a boolean; treating it as off" and is treated as off.
  • A later read that disagrees with the pinned answer logs "tengu_hover_rest read ${String(e)} at a second pin in this process; keeping the first decision" and the first answer stands.
  • Re-guarded call sites include the auth cache read and delete, plugin marketplace, registry and manifest caches, skills cache, skill and SKILL.md reads, skill writes, the auto-updater lock, transcript cleanup and sidecars, session order, group files and session pins, memory and context loading, agent dispatch writes and mailbox files, task-list writes, quota state, logout, and the message queue swap.
  • A stray backend handle can no longer half-activate the new path, and a mid-process flag flip can no longer split one session between the old file paths and the new ones.
  • The factory that would construct the new backend returns nothing unconditionally in this build, so no new-format storage is created and no session can run on it regardless of the gate.
Evidence

tengu_hover_rest read ${String(e)} at a second pin in this process; keeping the first decision, tengu_hover_rest, keeping the first decision, at a second pin in this process; keeping the first decision, read ${String(e)} at a second pin in this process; keeping the first decision

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