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:
- Manually invoke
/wakeupevery session (defeats the purpose) - Rely on Claude's memory to invoke it (fragile, slow)
- Accept that memory loading and greetings won't happen
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗