Unclear It is not known where the stored scores are used, or whether they are sent anywhere.
What
Claude Code now scores each prompt you type for how strongly it asks for security work, and keeps those scores for the session.
- A score of 2 means audit or vulnerability-hunting wording such as 'security audit' or 'find vulnerabilities'.
- A score of 1 means any mention of 'security', or words starting with 'vuln' or 'exploit'.
- Phrases like 'social security' and 'dependency injection' do not count.
- Only nonzero scores are kept, in a
_securityCheckRequestScoresmap keyed by each message's id. These sit with the signals Claude Code uses to choose tips. - Scoring is skipped when one of the other checks that sort prompts into kinds has already matched.
Separately, the description of the classifierContext hook field changed. A hook is a script you set up to run at certain moments. Behind an internal check, the description now says that inner REPL calls, as well as remote-engine shells, produce no per-result line. Before, it named only remote-engine shells.
Why
Your prompts are now sorted by whether they look like a security request. The members do not show where the scores are used. Their placement next to tip signals points to a security-related tip. If you write hooks that read classifierContext, note that inner REPL calls also leave no per-result line there.
It is not known where the stored scores are used, or whether they are sent anywhere.