fix(install): say when Codex will not load the hooks it just registered - #22
Merged
Merged
Conversation
--check-hooks reported "Registration and runtime files match" on a Codex project that had never been trusted, while Codex was loading zero hooks. Demonstrated: the registration is byte-perfect, the runtime files match, and hooks/list returns nothing at all. The message did carry a general caveat about verifying trust through /hooks, but a reader who has just been told their registration matches has no reason to go looking, and the failure is silent on the host side too. doctor now looks for a [projects."<path>"] entry in the config under CODEX_HOME and, when it is absent, says so and names the file to add it to. Claude Code has no equivalent level and is never told this. It reports and changes nothing. It grants no trust, writes no configuration, and blocks nothing, which is the only shape appropriate here: the user must stay able to trust the project however they prefer, or not at all. Mutation check: removing the notice fails the test that asserts it appears while untrusted and disappears once trusted. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016cCs5DdUjLDkP8V3Z5x6XH
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The demonstrated problem
--check-hookson a Codex project that had never been trusted:At that same moment,
hooks/listthrough the Codex app-server returned zero hooks.Everything the message says is true — the registration is byte-perfect and the runtime files match — and none of it is what the user needs to know. The message did carry a general caveat about verifying trust through
/hooks, but a reader who has just been told their registration matches has no reason to go looking, and the failure is silent on the host side too.What changed
doctorlooks for a[projects."<path>"]entry in the config underCODEX_HOME. When it is absent it says so and names the file to add it to. Claude Code has no equivalent level and is never told this.It reports; it changes nothing
No trust is granted, no configuration is written, nothing is blocked. That is the only shape appropriate here: the user stays free to trust the project however they prefer, through the host or the file, or not at all. Anything this repository does should remain something the user can work around.
Validation
Ran 168 tests ... OK (skipped=1);--checkPASS on all five checks.Mutation check: removing the notice fails the test that asserts it appears while untrusted and disappears once trusted, and that Claude Code never receives it.
Related, verified separately
PostToolUsedelivery — listed as unverified in the 0.1.0 notes — is now observed on Claude Code with a real agent-run commit:{"event": "PostToolUse", "tool": "Bash", "command": "git commit --allow-empty -m probe", "argv": ["event", "--host", "claude-code", "--project", "…", "--event", "post-commit"]}The release notes will be corrected.
🤖 Generated with Claude Code
https://claude.ai/code/session_016cCs5DdUjLDkP8V3Z5x6XH