Unclear It is not settled whether the skill appears in the skill list when function hooks are off.
What
A mod here is a small plugin made of function hooks (code that runs at set points) that adds things like a pane, band, status line, toast or hook inside Claude Code. This release adds a way to write mods and have them load live during a session:
- Mods folder: each session can have its own mods folder. Skill text reaches it through the placeholder
${CLAUDE_DEV_MODS_DIR}, which is replaced with the folder's path. Using it starts a watcher on the folder, except when the skill is only being preloaded. - Consent prompt: when plugins appear in the folder, Claude Code asks "Enable hot reloading for this session?" with "Not now" or "Enable for this session". If you agree, it loads the mods and reloads them whenever their files change.
- Claude is told the outcome. If you decline, it is told that what it wrote is written but not loaded.
- Bundled skill: a new skill you can invoke describes itself as "Make a mod: a live pane, band, status line, toast or hook inside Claude Code (terminal or desktop Code tab), written as a plugin of function hooks that hot-reloads in this session." It ships examples:
examples/pane.tsx,band.tsx,tool-call.ts,reference.mdandtypes/claude-code.d.ts. - Resume: the chosen folder is saved in the session transcript as a
dev-modsentry, the last one winning, and restored when you resume or fork the session. A folder that does not belong to that session is dropped. - Refusals: hot-reloading is refused, with the reason given to Claude, when hooks modules are switched off, all hooks are disabled,
disableAllHooksis set, only managed hooks are allowed, policy forbids side-loaded plugins or local plugin folders, the session is in safe or bare mode, or the workspace is untrusted.
The hooks-modules checks involve the flag tengu_plugin_hooks_modules, which has not been read.
Why
This is a built-in way for Claude to build live additions to Claude Code from inside a session, with an explicit prompt before anything it wrote runs. Existing policy and hook settings still block it.
tengu_plugin_hooks_modules Not enough to sayNothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.283: 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.
Read once, for one account on one subscription tier, against v2.1.283. It isn't a statement about your account. What a flag value here can and cannot tell you
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.
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.
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.
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.
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.
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.
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.
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.
It is not settled whether the skill appears in the skill list when function hooks are off.