[BUG] Status line won't show if "disableAllHooks": true
Status Fixed / completed
Maintainer reply ✓ Yes — dicksontsai
Activity 5 comments · opened Nov 16, 2025 · closed Nov 16, 2025
💡 Likely answer: A maintainer (dicksontsai, collaborator)
responded on this thread — see the highlighted reply below.
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?
Statusline won't show up if you have set "disableAllHooks": true.
What Should Happen?
<img width="1379" height="697" alt="Image" src="https://github.com/user-attachments/assets/815bd05a-5d80-4974-bb16-a9509aae52cc" />
The above is the behaviour users see when we don't have "disableAllHooks": true in the user's settings.json
If the user has set that though:
<img width="1368" height="774" alt="Image" src="https://github.com/user-attachments/assets/e46a1fc5-4d28-47c2-afb1-9fc8a625ccff" />
/doctor response:
> /doctor
Diagnostics
└ Currently running: npm-global (2.0.42)
└ Path: /opt/homebrew/Cellar/node/23.7.0/bin/node
└ Invoked: /opt/homebrew/bin/claude
└ Config install method: global
└ Auto-updates: default (true)
└ Update permissions: Yes
└ Search: OK (vendor)
I don't see any mention of this in the debug files either.
Error Messages/Logs
No errors associated with status line visible in logs, doctor also gives you nothing.
Steps to Reproduce
- Set
"disableAllHooks": truee.g.:
/Users/username/Projects/claude/config/settings.json
{
"includeCoAuthoredBy": false,
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test)",
"Bash(npm run build)",
"Bash(git status)",
"Bash(git diff)",
"Bash(git log)"
],
"deny": [
"Read(.env)",
"Read(.env.*)",
"Edit(.env)",
"Edit(.env.*)",
"Bash(npm run package)"
],
"ask": [
"Bash(npm install)",
"Bash(git commit)",
"Bash(git push)"
]
},
"model": "haiku",
"disableAllHooks": true,
"statusLine": {
"type": "command",
"command": "npx -y ccstatusline@latest",
"padding": 0
},
"alwaysThinkingEnabled": true
}
- statusline won't show
- remove
"disableAllHooks": true, - statusline will show
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.0.42 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
5 Comments
I would say this is working as intended. Status line also runs a custom bash command, so the security posture is essentially the same as other hooks.
What's your particular use case for disabling hooks, which to me implies that you prefer to keep certain hooks registered?
Thanks @dicksontsai, that's a fair point! I'm actually building an open source Claude config GUI, and I was testing different settings, one of which was
"disableAllHooks": true. At first I didn't noticed my statusline disappeared when I added that until later when I investigated further.I think you are right about the behaviour. The only question then is - should we see at least a debug line in the debug files to state the reason why the statusline wasn't loaded?
Sure, I can add that.
Thank you! Feel free to close this issue, appreciate the swift response from your side @dicksontsai
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.