[BUG] Hooks systemMessage no longer displaying after 1.0.115 update
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?
Hooks documentation says systemMessage field is for "// Optional warning message shown to the user", and my hook implementation uses it for warnings intended for the user. The latest changelog says "Show condensed output for post-tool hooks to reduce visual clutter", which seems to mean hiding the message, which is less than ideal.
Message is still visible in transcript mode, but the idea here was to surface warnings during the working flow as a user alert mechanism. If this isn't what systemMessage is intended for anymore, is there another way? What does systemMessage do now?
What Should Happen?
systemMessage should be displayed to the user as a warning. If I have to add another parameter to opt into this, that's fine, but I'd like to be able to show user facing messages.
Error Messages/Logs
Steps to Reproduce
Create a Stop hook that runs with a JSON result including a system message. Expected behavior is the previous yellow text with the warning. Current behavior is no text displayed.
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
1.0.113
Claude Code Version
1.0.115
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
WSL (Windows Subsystem for Linux)
Additional Information
_No response_
6 Comments
It appears as if the reason field may also not be getting passed to Claude. That is, I don't see it and Claude also claims he doesn't see it, though it's still showing in the transcript view.
I was using output from the post-hook to show me the number of linting issues left to fix -- can we at least get some way of reverting to prior behavior, please?
@stevencowles The primary way this manifested for me was caused by an error in my code, I can confirm that it's now working again for me. I was able to effectively debug exactly what was happening by using
claude --debug, see if that works for you? You should be able to output to the systemMessage field and have it show up.@cahaseler I was not using systemMessage -- can confirm it works, though -- cheers!
Perfect! Yea, the adjustment to make for something like a post tool lint hook is to still use block and reason to pass the message back to Claude (possibly with the full lint output), and then you can add systemMessage to send the user a shorter note or count or something.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.