Claude Code now checks a fallback source to detect if InstructionsLoaded hooks are configured
The InstructionsLoaded hook fires when a CLAUDE.md file or a rules file is loaded into context, at session start or later when files are lazily loaded. Claude Code's internal check for whether any InstructionsLoaded hooks are registered now falls back to consulting sbe("InstructionsLoaded") instead of always assuming none are active when it can't find any.
This makes detection of configured InstructionsLoaded hooks more reliable, reducing the chance that a hook that's actually set up gets incorrectly treated as absent.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
* Your [`InstructionsLoaded` hooks](/docs/en/hooks#instructionsloaded) don't fire when Claude reads it directly. They fire as usual when a `CLAUDE.md` imports or symlinks to itmemory see the edit
What `sbe` checks or where it sources its answer from is not stated in the finding.
Anthropic's documentation has since written up InstructionsLoaded, on How Claude remembers your project.