[BUG] duplicate for 69380 Plugin hooks.json does not register the MessageDisplay hook event (other events load fine)
RE-ISSUE of https://github.com/anthropics/claude-code/issues/69380
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
What happened
A plugin that declares a MessageDisplay hook in its hooks/hooks.json never gets that hook fired — even though every other hook event in the same manifest (UserPromptSubmit, PreToolUse, PostToolUse, Stop, PreCompact) loads and fires correctly. Moving the identical MessageDisplay entry into ~/.claude/settings.json makes it work immediately (no restart needed).
Steps to reproduce
Install a plugin whose hooks/hooks.json includes a MessageDisplay entry shaped exactly like its other (working) hook entries:
"MessageDisplay": [
{ "hooks": [ { "type": "command", "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/message-display.js", "timeout": 10 } ] }
]
Use the VS Code extension panel.
The MessageDisplay hook never fires (no on-screen effect); the plugin's other hooks fire normally.
Move that same entry into ~/.claude/settings.json hooks → it fires immediately.
Expected
MessageDisplay should register from a plugin hooks.json like every other hook event.
Actual
Only MessageDisplay fails to wire from a plugin manifest; the byte-identical entry in settings.json works.
Environment
Claude Code 2.1.181, VS Code extension, Windows 11
Plugin installed via the plugins array in ~/.claude/settings.json (absolute path)
Reproduced by @Non-Dev-Contributor; plugin: pleasedodisturb/chronoclaude
On macOS, the plugin-loaded MessageDisplay does fire — so this may be Windows- or install-method-specific.
Notes
Surfaced while resolving https://github.com/anthropics/claude-code/issues/44763. The plugin's MessageDisplay entry is byte-identical in shape to its working UserPromptSubmit/Stop entries, so this looks like a loader gap for the MessageDisplay event type rather than a manifest error. Workaround for affected users is to register MessageDisplay directly in settings.json.
What Should Happen?
Hey, you shouldn't close bugs as duplicate of auto-closed bugs, please fix your github actions!!!!!
Error Messages/Logs
Steps to Reproduce
ugh
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
no
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_