Skip to content

frg init --show --global reports hooks not installed after successful frg init --global #20

Description

@abbykearns

Description

frg init --global reports success and writes the hook entries into
~/.claude/settings.json, but frg init --show --global immediately
afterward reports forge_hooks_installed: false.

Reproduction

Fresh install of frg from the v0.14.0 prebuilt macOS aarch64 release
asset (not built from source), placed at ~/.local/bin/frg.

$ frg --version
frg 0.14.0

$ frg init --global
Installed forge hooks (global) at /Users/abbykearns/.claude/settings.json
Restart Claude Code to activate hooks.

$ frg init --show --global
{
  "forge_hooks_installed": false,
  "hook_schema_version": "1",
  "hook_status": "not_installed",
  "settings_path": "/Users/abbykearns/.claude/settings.json"
}

But the hooks are actually present in the settings file:

$ cat /Users/abbykearns/.claude/settings.json
{
  ...
  "hooks": {
    "PostToolUse": [
      {
        "hooks": [
          { "command": "frg hook 2>/dev/null || true", "type": "command" }
        ],
        "matcher": "Bash"
      },
      {
        "hooks": [
          { "command": "frg hook 2>/dev/null || true", "type": "command" }
        ],
        "matcher": "Read"
      }
    ],
    "PreToolUse": [
      {
        "hooks": [
          { "command": "frg hook 2>/dev/null || true", "type": "command" }
        ],
        "matcher": "Read"
      }
    ]
  },
  ...
}

Expected

frg init --show --global should report forge_hooks_installed: true /
hook_status: installed once frg init --global has written the hook
entries, matching the actual content of settings.json.

Actual

--show reports the hooks as not installed even though they are present
in the settings file exactly as frg init --global wrote them.

Environment

  • frg 0.14.0 (prebuilt frg-macos-aarch64.tar.gz release asset)
  • macOS 26.2 (BuildVersion 25C56), Darwin 25.2.0, arm64 (Apple Silicon)
  • Claude Code settings.json had no prior hooks key before running frg init --global

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