Skip to content

codex install registers graphify hook-check, which is not a command in 0.9.25 (silent no-op) #2165

Description

Affected version

  • graphifyy 0.9.25 (uv tool install)
  • Windows 11, Codex CLI

Summary

graphify codex install registers a PreToolUse hook that invokes graphify hook-check. That subcommand does not exist in 0.9.25. The result is a silent no-op that costs a process spawn on every matching tool call, and gives the user a hook they believe is enforcing graph usage when it is doing nothing.

What gets written

~/.codex/hooks.json:

{
  "matcher": "Bash",
  "hooks": [
    { "type": "command", "command": "c:/users/<user>/.local/bin/graphify.EXE hook-check" }
  ]
}

Evidence it is not a real command

graphify --help lists the hook-related commands as:

hook install            install post-commit/post-checkout git hooks (all platforms)
hook uninstall          remove git hooks
hook status             check if git hooks are installed
check-update <path>     check needs_update flag and notify if semantic re-extraction is pending (cron-safe)

hook-check appears nowhere in --help. Invoking it directly, both outside and inside a repo with a valid graphify-out/graph.json:

$ graphify hook-check
$ echo $?
0

No output, exit 0 — indistinguishable from success, so nothing surfaces the misconfiguration.

Expected

Either:

  1. the installer registers whatever the current equivalent is (check-update?), or
  2. the hook entry is dropped if there is no longer a per-tool-call check, or
  3. hook-check is restored as an alias.

In all cases an unrecognized subcommand should exit non-zero rather than 0, so a stale hook fails loudly instead of silently.

Impact

Low severity, but the failure mode is bad: the user is told "Codex will now check the knowledge graph before answering codebase questions" while the mechanism that would enforce it is inert. I only found it by grepping --help after the hook never appeared to do anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions