FeaturesUpdate Notifications

Update Notifications

Get notified automatically when updates are available - no manual checking required.

How it Works

At session start (new session or after /clear), Claude Code Setup automatically:

  1. Checks base repo - Compares your installed version with the latest on GitHub
  2. Checks custom repo - If you have a custom modules repo, checks for new commits

This runs via Claude Code’s hook system at session start.

Output Examples

When an update is available:

Update available: v28 -> v29 (run /claude-code-setup)

When custom modules have updates:

Custom modules update available (run /claude-code-setup)

When everything is up to date: no output.

Configuration

The hook is configured in ~/.claude/settings.json:

{
  "hooks": {
    "SessionStart": [{
      "matcher": "startup|clear",
      "hooks": [{
        "type": "command",
        "command": "~/.claude/hooks/check-update.sh"
      }]
    }]
  }
}

Matchers

MatcherWhen it Runs
startupNew session started
clearAfter /clear command
resumeSession resumed
compactAfter context compaction

The update notification uses startup|clear to check once per session without being too frequent.

Hook Script

The update check script is located at ~/.claude/hooks/check-update.sh.

Requirements

  • jq - JSON parsing (installed automatically)
  • curl - HTTP requests for version check
  • git - For custom repo checks (optional)

Behavior

  • Exits quietly on network errors or missing dependencies
  • Takes ~100-200ms (curl with 2s timeout)
  • Only fetches a single VERSION file from GitHub raw - no API calls, no tracking

Disabling Update Notifications

To disable the update notification:

  1. Edit ~/.claude/settings.json
  2. Remove or comment out the hooks section

Or remove just the check-update hook while keeping other hooks:

{
  "hooks": {
    "SessionStart": []
  }
}