{"version":"2.1.293","anchor":"device-hooks-account-flag-read-changes-tool-serving-flag-re","canonical_anchor":"new-flag-off-status-text-and-remote-served-shell-settings","heading":"Device hooks registration reads a new account flag and reports when it is switched off","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.293\/e\/device-hooks-account-flag-read-changes-tool-serving-flag-re","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.293","markdown":"### Device hooks registration reads a new account flag and reports when it is switched off\n\nDevice hooks registration now checks a tool-serving flag, and reports \"not switched on for your account\" rather than failing when the flag says off\n\n**Unclear.** What the new tool-serving check falls back to when the server sends nothing is not known.\n\n**What**\n\nDevice hooks are hooks (your own commands that run at set points) registered from your machine so they also apply in remote sessions. Whether registration happens depends on server-side account flags, and this release changes which ones it reads.\n\n- Registration used to read `tengu_violin_wood` and `tengu_violin_amati` directly, and failed with `account flags not served yet` if neither had been served. It now asks a tool-serving check (`isToolServingEnabled` \/ `getToolServingFlagAnsweredOff`) and falls back only to `tengu_violin_amati`. Both flags still default to false in the code.\n\n- When a flag answers off, registration records the flag's name and stops cleanly instead of erroring.\n\n- Two new registration outcomes appear: `flag_off`, counted as OK, and `flag_unanswered`, counted as a failure.\n\n- The status text for `flag_off` reads \"not switched on for your account\", next to existing statuses such as `muted` and `stale`.\n\n- The list of recorded event names gains `remote_served_shell_settings_compare` and `session_strip_sessions_list`, and loses `projects_setup_item_apply` and `projects_setup_resolve`.\n\nThe flag server returned on for `tengu_violin_amati`, for this site's account and for the anonymous baseline, a change since the previous reading. It returned off for `tengu_violin_wood`. No reading of either has been taken under this release yet.\n\n**Why**\n\nIf device hooks are not active for your account, Claude Code now says so plainly rather than reporting a failure. The flag that controls them has moved, so `tengu_violin_wood` may no longer be what decides.\n\n- Flag `tengu_violin_amati`: Off by default, switched on for this account (read for one account on one subscription tier against v2.1.293; this account: on, anonymous baseline: on, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Flag `tengu_violin_wood`: Off in both readings (read for one account on one subscription tier against v2.1.293; this account: off, anonymous baseline: off, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}