Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

tengu_hover_rest

flag in the build JSON

A Claude Code feature flag, read out of the shipped bundle. It has been in the build since v2.1.221, including the newest one read.

The new storage layer now touches nearly every part of the product but is never actually created.

Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.227.

First seen v2.1.221 3 Aug 2026
Last seen v2.1.308 22 Oct 2026
Builds76 / 149on this box, as of v2.1.308
Written about v2.1.227 first named in a changelog, 10 Aug 2026
v2.1.221in the build not in the build never minedv2.1.308

In the changelogs

29

Releases whose published page names tengu_hover_rest.

  1. v2.1.304
    Teammate mailboxes in diskless sessions now explain why nothing was read or written

    When a diskless session has no storage for teammate messages, Claude Code now logs that nothing was read or written and lists the likely causes

    gate cited by this entry

  2. v2.1.301
    New errors for sessions without a local disk

    In sessions with no local disk, reading stored transcripts and writing teammate messages now fail clearly unless a remote store is available

    gate cited by this entry

  3. v2.1.248
    An in-memory storage backend is bundled but off by default

    A full in-memory storage backend ships, off unless you set an environment variable.

    gate cited by this entry, found in this entry's text

  4. v2.1.248
    A memory-only config write mode exists, and nothing in this build turns it on

    Config can save to memory only, but nothing in this build enables that mode.

    gate cited by this entry, found in this entry's text

  5. v2.1.248
    Transcript store fence is wired but nothing in this build can trip it

    A latch can make a session stop writing its transcript, but nothing can trip it here.

    gate cited by this entry, found in this entry's text

  6. v2.1.242
    On-disk storage layer gains symlink and permission rules per data type

    Where Claude Code stores your data gains per-type symlink and file-permission rules, off by default.

    gate cited by this entry, found in this entry's text

  7. v2.1.238
    Plaintext credential store gained an in-process cache

    Plaintext credential reads could come from memory instead of the file, but only under off-by-default storage.

    gate cited by this entry, found in this entry's text

  8. v2.1.238
    A second plugin asset-cache cleaner exists, switched off in this build

    An alternative plugin cache cleaner exists, but you still get the old file-timestamp scan.

    gate cited by this entry, found in this entry's text

  9. v2.1.238
    CLAUDE_CODE_HOVER_REST gives a local override for the new credential and settings storage

    You can pin the new credential and settings storage backend yourself with one environment variable.

    gate cited by this entry, found in this entry's text

  10. v2.1.238
    The v5 storage choice reads the environment variable first

    An environment variable now takes priority over the server flag when picking the new storage backend.

    gate cited by this entry, found in this entry's text

  11. v2.1.236
    Global config writes now pass the storage handle explicitly

    Settings writes now name their storage, so config can follow whichever backend a session uses.

    gate cited by this entry, found in this entry's text

  12. v2.1.236
    Cheaper storage listings and bounded settings watchers

    Listing your sessions is cheaper now that per-key statistics are skipped.

    gate cited by this entry, found in this entry's text

  13. v2.1.236
    Version 5 session storage is decided once per process

    Whether the newer session storage is used is decided once at startup and cannot change mid-session.

    gate cited by this entry, found in this entry's text

  14. v2.1.235
    Terminal recordings can be stored under storage v5 with a 'recording' namespace

    Terminal (asciicast) recordings can now be listed and renamed through storage v5's 'recording' namespace instead of only the filesystem

    gate cited by this entry

  15. v2.1.235
    The "storage v5" backend gains four more subsystems, none of which can run: the backend factory returns nothing

    Four more subsystems route through the unfinished 'storage v5' backend, but it still can't run in this build

    gate cited by this entry

  16. v2.1.235
    Command queue became an instance with a subscribable snapshot, and commands can be 'passive'

    Command queue is now an instance with a subscribable snapshot, and commands can be marked 'passive'

    gate cited by this entry

  17. v2.1.235
    Plugin version cache gains a staged publish path with concurrency and debris handling

    Plugin version caching now stages a publish and handles concurrent writers and leftover debris

    gate cited by this entry, found in this entry's text

  18. v2.1.235
    Remote settings can now be primed from the storage backend instead of a disk probe

    Remote settings can now be loaded from a storage-backend view instead of only probing disk

    gate cited by this entry, found in this entry's text

  19. v2.1.234
    Credentials and transcript tails can be read through the storage backend

    Credentials and transcript tails can be read from the new storage backend, but the flag is off.

    named in this entry, gate cited by this entry, found in this entry's text

  20. v2.1.234
    Deleting a session from a transcript has a storage-backend implementation

    Deleting a session from a transcript has a new backend routine with retries, disabled here.

    named in this entry, gate cited by this entry, found in this entry's text

  21. v2.1.234
    Next-generation storage is pinned to one decision per process

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

    named in this entry, gate cited by this entry, found in this entry's text

  22. v2.1.234
    Precomputed session resolution on resume, gated off

    Resume can report which session it resolved against an expected id, but the flag is off.

    named in this entry, gate cited by this entry, found in this entry's text

  23. v2.1.234
    Global config file watching can move onto the storage backend

    Your global config can be watched through the storage backend instead of the file, falling back if it fails.

    gate cited by this entry, found in this entry's text

  24. v2.1.234
    Resume reads the pre-compaction sidecar ahead of time

    Resume can fetch pre-compaction state early to cut a wait, but the flag is off.

    named in this entry, gate cited by this entry, found in this entry's text

  25. v2.1.234
    Plugin cache link materialization rewritten

    Turning plugin symlinks into real files now survives interruption and refuses unsafe targets.

    gate cited by this entry, found in this entry's text

  26. v2.1.234
    Restarting Claude Code hands the conversation over explicitly, and reports failure

    Restarting via /update or /tui now carries your conversation over explicitly and says so if the restart fails.

    gate cited by this entry, found in this entry's text

  27. v2.1.234
    Storage backend writes are now pinned behind a flag and pass explicit file modes

    Saved data can route through a new storage backend with explicit file permissions, but the flag is off.

    named in this entry, gate cited by this entry, found in this entry's text

  28. v2.1.227
    A new storage backend is wired through nearly everything, but never built

    The new storage layer now touches nearly every part of the product but is never actually created.

    gate cited by this entry, found in this entry's text

  29. v2.1.227
    A new storage backend is wired through the product but returns nothing

    A new storage layer is plumbed everywhere but builds nothing, so files are still read directly.

    gate cited by this entry, found in this entry's text

Gate readings

9
ReleaseResolvedThis accountAnonymousCompiled default
v2.1.304 read on another version Off in both readings off off off
v2.1.301 read on another version Off in both readings off off off
v2.1.248 Off in both readings off off off
v2.1.242 Off in both readings off off not a boolean we can read
v2.1.238 Off in both readings off off off
v2.1.236 Off in both readings off off off
v2.1.235 Off in both readings off off off
v2.1.234 Off in both readings off off off
v2.1.227 read on another version Off in both readings off off off

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

12
Read asReadingFromUntilVersion installed
anonymous off 2026-10-17T05:30:04Z 2026-10-22T19:05:05Z v2.1.302 to v2.1.308
this account off 2026-09-10T21:47:12Z 2026-10-22T19:05:05Z v2.1.268 to v2.1.308
anonymous no longer carried 2026-10-17T05:25:57Z 2026-10-17T05:25:57Z v2.1.302
anonymous off 2026-08-19T04:25:04Z 2026-10-17T05:10:04Z v2.1.233 to v2.1.302
this account no longer carried 2026-09-10T21:46:45Z 2026-09-10T21:46:45Z v2.1.268
this account off 2026-09-08T20:36:15Z 2026-09-10T17:40:05Z v2.1.263 to v2.1.267
this account no longer carried 2026-09-08T20:34:58Z 2026-09-08T20:34:58Z v2.1.265
this account off 2026-09-06T02:40:05Z 2026-09-08T18:45:05Z v2.1.261 to v2.1.263
this account no longer carried 2026-09-06T02:36:19Z 2026-09-06T02:36:19Z v2.1.263
this account off 2026-08-14T22:10:05Z 2026-09-06T01:55:04Z v2.1.232 to v2.1.261
anonymous no longer carried 2026-08-19T04:20:14Z 2026-08-19T04:20:14Z v2.1.233
anonymous off 2026-08-14T22:10:05Z 2026-08-19T03:45:04Z v2.1.232 to v2.1.233

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

8

The earliest release whose published evidence quoted tengu_hover_rest was v2.1.227, 10 Aug 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.

ReleaseDateThe span that was quoted
v2.1.22710 Aug 2026joining a plugin load that an earlier caller started without the storage backend (tengu_hover_rest); this caller's backend is not used for it
v2.1.23417 Aug 2026tengu_hover_rest
v2.1.23417 Aug 2026tengu_hover_rest read ${String(e)} at a second pin in this process; keeping the first decision
v2.1.23619 Aug 2026tengu_hover_rest read
v2.1.23820 Aug 2026let e = V.CLAUDE_CODE_HOVER_REST ?? it("tengu_hover_rest", !1);
v2.1.23820 Aug 2026tengu_hover_rest served a

2 further spans in the ledger name it. The list above is the earliest first and stops at 6.

Presence across releases

1
BuildsHow manyDatesReading
v2.1.221 – v2.1.30876 builds3 Aug 2026 → 22 Oct 2026 ◆in the build

Build by build

76

One 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.

BuildDateStateThe record behind it
v2.1.2213 Aug 2026·addedverdict: added · default bool:false
v2.1.2224 Aug 2026·presentverdict: present · default bool:false
v2.1.2235 Aug 2026·presentverdict: present · default bool:false
v2.1.2247 Aug 2026·presentverdict: present · default bool:false
v2.1.2257 Aug 2026·presentverdict: present · default bool:false
v2.1.2268 Aug 2026·presentverdict: present · default bool:false
v2.1.22710 Aug 2026·presentverdict: present · default bool:false
v2.1.22811 Aug 2026·presentverdict: present · default bool:false
v2.1.22912 Aug 2026·presentverdict: present · default bool:false
v2.1.23113 Aug 2026·presentverdict: present · default bool:false
v2.1.23213 Aug 2026·presentverdict: present · default bool:false
v2.1.23314 Aug 2026·presentverdict: present · default bool:false
v2.1.23417 Aug 2026·presentverdict: present · default bool:false
v2.1.23518 Aug 2026·presentverdict: present · default bool:false
v2.1.23619 Aug 2026·presentverdict: present · default bool:false
v2.1.23719 Aug 2026·presentverdict: present · default bool:false
v2.1.23820 Aug 2026·presentverdict: present · default bool:false
v2.1.23921 Aug 2026·presentverdict: present · default bool:false
v2.1.24022 Aug 2026·presentverdict: present · default bool:false
v2.1.24122 Aug 2026·presentverdict: present · default bool:false
v2.1.24224 Aug 2026·presentverdict: present · default bool:false
v2.1.24324 Aug 2026·presentverdict: present · default bool:false
v2.1.24525 Aug 2026·presentverdict: present · default bool:false
v2.1.24625 Aug 2026·presentverdict: present · default bool:false
v2.1.24726 Aug 2026·presentverdict: present · default bool:false
v2.1.24827 Aug 2026·presentverdict: present · default bool:false
v2.1.25027 Aug 2026·presentverdict: present · default bool:false
v2.1.25128 Aug 2026·presentverdict: present · default bool:false
v2.1.25231 Aug 2026·presentverdict: present · default bool:false
v2.1.2571 Sep 2026·presentverdict: present · default bool:false
v2.1.2581 Sep 2026·presentverdict: present · default bool:false
v2.1.2592 Sep 2026·presentverdict: present · default bool:false
v2.1.2603 Sep 2026·presentverdict: present · default bool:false
v2.1.2614 Sep 2026·presentverdict: present · default bool:false
v2.1.2636 Sep 2026·presentverdict: present · default bool:false
v2.1.2658 Sep 2026·presentverdict: present · default bool:false
v2.1.2668 Sep 2026·presentverdict: present · default bool:false
v2.1.2679 Sep 2026·presentverdict: present · default bool:false
v2.1.26810 Sep 2026·presentverdict: present · default bool:false
v2.1.26911 Sep 2026·presentverdict: present · default bool:false
v2.1.27012 Sep 2026·presentverdict: present · default bool:false
v2.1.27114 Sep 2026·presentverdict: present · default bool:false
v2.1.27214 Sep 2026·presentverdict: present · default bool:false
v2.1.27315 Sep 2026·presentverdict: present · default bool:false
v2.1.27416 Sep 2026·presentverdict: present · default bool:false
v2.1.27517 Sep 2026·presentverdict: present · default bool:false
v2.1.27618 Sep 2026·presentverdict: present · default bool:false
v2.1.27718 Sep 2026·presentverdict: present · default bool:false
v2.1.27819 Sep 2026·presentverdict: present · default bool:false
v2.1.28022 Sep 2026·presentverdict: present · default bool:false
v2.1.28123 Sep 2026·presentverdict: present · default bool:false
v2.1.28224 Sep 2026·presentverdict: present · default bool:false
v2.1.28325 Sep 2026·presentverdict: present · default bool:false
v2.1.28428 Sep 2026·presentverdict: present · default bool:false
v2.1.28529 Sep 2026·presentverdict: present · default bool:false
v2.1.28630 Sep 2026·presentverdict: present · default bool:false
v2.1.2871 Oct 2026·presentverdict: present · default bool:false
v2.1.2882 Oct 2026·presentverdict: present · default bool:false
v2.1.2893 Oct 2026·presentverdict: present · default bool:false
v2.1.2905 Oct 2026·presentverdict: present · default bool:false
v2.1.2916 Oct 2026·presentverdict: present · default bool:false
v2.1.2926 Oct 2026·presentverdict: present · default bool:false
v2.1.2937 Oct 2026·presentverdict: present · default bool:false
v2.1.2948 Oct 2026·presentverdict: present · default bool:false
v2.1.2958 Oct 2026·presentverdict: present · default bool:false
v2.1.2969 Oct 2026·presentverdict: present · default bool:false
v2.1.29914 Oct 2026·presentverdict: present · default bool:false
v2.1.30014 Oct 2026·presentverdict: present · default bool:false
v2.1.30115 Oct 2026·presentverdict: present · default bool:false
v2.1.30216 Oct 2026·presentverdict: present · default bool:false
v2.1.30318 Oct 2026·presentverdict: present · default bool:false
v2.1.30419 Oct 2026·presentverdict: present · default bool:false
v2.1.30520 Oct 2026·presentverdict: present · default bool:false
v2.1.30621 Oct 2026·presentverdict: present · default bool:false
v2.1.30721 Oct 2026·presentverdict: present · default bool:false
v2.1.30822 Oct 2026·presentverdict: present · default bool:false

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.

Feedback