Scut

Usage

Configure Claude Code

Claude Code · hooks

Install, inspect, and remove scut entries in Claude Code settings.

Scut manages Claude Code project and user settings by merging scut-owned entries into settings.json. It preserves unrelated keys and foreign hook groups.

Install hooks

Project scope writes .claude/settings.json:

scut claude config install

User scope writes ~/.claude/settings.json:

scut claude config install --scope=user

Preview changes without writing:

scut claude config install --dry-run
scut claude config install --dry-run --json

Installed entries

By default, Claude setup installs only the entries with real behavior: the post-tool-use formatter hook and the status line. Every other supported hook event remains installable explicitly with --only (for example --only=session-start,stop). The formatter entry looks like this:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "scut claude hook post-tool-use",
            "statusMessage": "Formatting..."
          }
        ]
      }
    ]
  }
}

Status and uninstall

Inspect scut-owned entries:

scut claude config status
scut claude config status --scope=both --json

Remove scut-owned entries while preserving foreign settings:

scut claude config uninstall
scut claude config uninstall --scope=user

A bare uninstall removes every scut-owned entry, including hooks that were installed explicitly with --only. Pass --only to uninstall to remove a narrower set.