Support auto-invoke of skills via settings.json (SessionStart hook)

Resolved 💬 3 comments Opened Jun 4, 2026 by ftacorn Closed Jul 9, 2026

Currently, hooks in settings.json can't invoke skills — they execute in a sandbox that lacks access to the Skill tool. This blocks a common use case: auto-invoking a session-bookend skill like /wakeup at startup.

Current Workaround

CLAUDE.md can instruct Claude to invoke /wakeup, but this relies on Claude remembering to do it — it's not automatic.

Desired Behavior

Allow SessionStart hooks to invoke skills by name, with an optional condition to skip if the first message will be a / command:

{
  "hooks": {
    "SessionStart": [
      {
        "type": "skill",
        "skill": "wakeup",
        "skipIf": "firstMessageIsCommand"
      }
    ]
  }
}

Or a simpler form:

{
  "autoInvokeSkillOnStart": "wakeup",
  "skipIfFirstMessageIsCommand": true
}

Why This Matters

Session-bookend skills (wakeup/sleepytime) are most useful when they fire automatically. Without native support, users must either:

  1. Manually invoke /wakeup every session (defeats the purpose)
  2. Rely on Claude's memory to invoke it (fragile, slow)
  3. Accept that memory loading and greetings won't happen

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗