{"name":"tengu_hover_rest","slug":"tengu-hover-rest","family":"flag","title":"Feature flags","noun":"feature flag","description":"The new storage layer now touches nearly every part of the product but is never actually created.","description_source":"entry","described_by":{"version":"2.1.227","anchor":"a-new-storage-backend-is-wired-through-nearly-everything-but"},"presence":{"first_seen":"2.1.221","removed_in":null,"in_current_build":true,"newest_mined":"2.1.309","builds":77,"mined_builds":150,"first_cited":{"version":"2.1.227","released_at":"2026-08-10 20:56:57","spans":8}},"aliases":[],"entries":[{"version":"2.1.304","anchor":"tengu-hover-rest-gates-storage-backend-transcript-and-mailbo","heading":"Teammate mailboxes in diskless sessions now explain why nothing was read or written","line":"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","released_at":"2026-10-19 19:47:15","reason":"gate cited by this entry"},{"version":"2.1.301","anchor":"tengu-hover-rest-gate-guards-storage-key-only-transcripts-an","heading":"New errors for sessions without a local disk","line":"In sessions with no local disk, reading stored transcripts and writing teammate messages now fail clearly unless a remote store is available","released_at":"2026-10-15 14:34:23","reason":"gate cited by this entry"},{"version":"2.1.248","anchor":"an-in-memory-storage-backend-is-bundled-but-off-by-default","heading":"An in-memory storage backend is bundled but off by default","line":"A full in-memory storage backend ships, off unless you set an environment variable.","released_at":"2026-08-27 20:35:36","reason":"gate cited by this entry, found in this entry's text"},{"version":"2.1.248","anchor":"a-memory-only-config-write-mode-exists-and-nothing-in-this-b","heading":"A memory-only config write mode exists, and nothing in this build turns it on","line":"Config can save to memory only, but nothing in this build enables that mode.","released_at":"2026-08-27 20:35:36","reason":"gate cited by this entry, found in this entry's text"},{"version":"2.1.248","anchor":"transcript-store-fence-is-wired-but-nothing-in-this-build-ca","heading":"Transcript store fence is wired but nothing in this build can trip it","line":"A latch can make a session stop writing its transcript, but nothing can trip it here.","released_at":"2026-08-27 20:35:36","reason":"gate cited by this entry, found in this entry's text"},{"version":"2.1.242","anchor":"on-disk-storage-layer-gains-symlink-and-permission-rules-per","heading":"On-disk storage layer gains symlink and permission rules per data type","line":"Where Claude Code stores your data gains per-type symlink and file-permission rules, off by default.","released_at":"2026-08-24 19:16:14","reason":"gate cited by this entry, found in this entry's text"},{"version":"2.1.238","anchor":"plaintext-credential-store-gained-an-in-process-cache","heading":"Plaintext credential store gained an in-process cache","line":"Plaintext credential reads could come from memory instead of the file, but only under off-by-default storage.","released_at":"2026-08-20 18:01:54","reason":"gate cited by this entry, found in this entry's text"},{"version":"2.1.238","anchor":"a-second-plugin-asset-cache-cleaner-exists-switched-off-in-t","heading":"A second plugin asset-cache cleaner exists, switched off in this build","line":"An alternative plugin cache cleaner exists, but you still get the old file-timestamp scan.","released_at":"2026-08-20 18:01:54","reason":"gate cited by this entry, found in this entry's text"},{"version":"2.1.238","anchor":"claude-code-hover-rest-gives-a-local-override-for-the-new-cr","heading":"CLAUDE_CODE_HOVER_REST gives a local override for the new credential and settings storage","line":"You can pin the new credential and settings storage backend yourself with one environment variable.","released_at":"2026-08-20 18:01:54","reason":"gate cited by this entry, found in this entry's text"},{"version":"2.1.238","anchor":"the-v5-storage-choice-reads-the-environment-variable-first","heading":"The v5 storage choice reads the environment variable first","line":"An environment variable now takes priority over the server flag when picking the new storage backend.","released_at":"2026-08-20 18:01:54","reason":"gate cited by this entry, found in this entry's text"}],"entries_total":29,"docs":[],"docs_total":0,"gates":[{"version":"2.1.304","state":"off","account":false,"baseline":false,"code_default":false},{"version":"2.1.301","state":"off","account":false,"baseline":false,"code_default":false},{"version":"2.1.248","state":"off","account":false,"baseline":false,"code_default":false},{"version":"2.1.242","state":"off","account":false,"baseline":false,"code_default":null},{"version":"2.1.238","state":"off","account":false,"baseline":false,"code_default":false},{"version":"2.1.236","state":"off","account":false,"baseline":false,"code_default":false},{"version":"2.1.235","state":"off","account":false,"baseline":false,"code_default":false},{"version":"2.1.234","state":"off","account":false,"baseline":false,"code_default":false},{"version":"2.1.227","state":"off","account":false,"baseline":false,"code_default":false}],"related":[{"name":"tengu_1p_event_batch_config","slug":"tengu-1p-event-batch-config","description":"Default `{}`. Batch settings for Claude Code's first-party event logger: `scheduledDelayMillis` (falls back to `OTEL_LOGS_EXPORT_INTERVAL`, then `10000`), `maxExportBatchSize` (default `200`) and `maxQueueSize` (default `8192`), plus `skipAuth`, `maxAttempts`, `path` and `baseUrl` passed to the exporter. When the value changes during a session, the logger is flushed and rebuilt with the new settings."},{"name":"tengu_account_plugins_sync_enabled","slug":"tengu-account-plugins-sync-enabled","description":"Plugins you enabled on claude.ai can be pulled to your machine, but only your account server can enable it."},{"name":"tengu_account_skills_sync_enabled","slug":"tengu-account-skills-sync-enabled","description":"Account skills-sync eligibility logic generalized into a reusable descriptor"},{"name":"tengu_adopt_claim","slug":"tengu-adopt-claim","description":"Stale adopted session claims now return their data marked stale instead of being discarded"},{"name":"tengu_adopt_link","slug":"tengu-adopt-link","description":"Adopting an agent's transcript now hard-links the file, copying only when linking is impossible."},{"name":"tengu_adopt_relink","slug":"tengu-adopt-relink","description":"On startup, subagent transcripts stored as symlinks are converted to hard links or copies."},{"name":"tengu_advisor_unknown_content","slug":"tengu-advisor-unknown-content","description":"Advisor output you couldn't see now shows an error or a clear \"declined to advise\" message."},{"name":"tengu_agent_frontmatter_mode_widening_carry_ignored","slug":"tengu-agent-frontmatter-mode-widening-carry-ignored","description":"An agent definition's permissionMode can no longer widen the mode inherited from its parent context."},{"name":"tengu_agent_hooks_origin_untrusted","slug":"tengu-agent-hooks-origin-untrusted","description":"Agents in untrusted folders can no longer define inline MCP servers; trust the project to allow it."},{"name":"tengu_agent_list_attach","slug":"tengu-agent-list-attach","description":"Default `false`. When `CLAUDE_CODE_AGENT_LIST_IN_MESSAGES` is unset or not a recognised boolean, `true` sends the `Agent` tool's list of agent types as `agent_listing_delta` attachments in the conversation (after the first, only the added and removed types) and leaves it out of the tool description. A truthy `CLAUDE_CODE_DISABLE_ATTACHMENTS` or `CLAUDE_CODE_SIMPLE` keeps the list in the description."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/flag\/tengu-hover-rest","family_url":"https:\/\/changelogs.core-directive.com\/reference\/flag.json"}