Feature request
Add a mechanism for mid-session hook configuration reload so edits to
~/.claude/settings.json or hook-script bodies take effect without exiting
the session and re-launching via claude --resume.
Use cases
-
Iterating on hook scripts during development. Current loop:
edit hook script → exit session → claude --resume → test → repeat.
The exit/resume round-trip is the single biggest friction point in
authoring SessionStart, UserPromptSubmit, Stop, and PostToolUse hooks.
-
Picking up settings.json edits made by parallel sessions or by
skill-driven config changes (e.g., an update-config skill that
adds a permission rule mid-session — currently the change doesn't
take effect until next session).
-
Recovering from a misconfigured hook without losing in-flight
session context. A blocking UserPromptSubmit hook with a typo
currently requires session restart, which discards conversation
memory built up over hours of work.
Proposed UX (any one of these would close the gap)
/reload-hooks built-in slash command — explicit, operator-
triggered, predictable. Lowest implementation cost.
- Automatic file-watcher on
settings.json + hook-script paths —
zero-friction; matches nodemon / watchexec precedent.
- SIGHUP-equivalent process signal — Unix-idiomatic; matches
nginx -s reload, systemctl reload, shell hash -r. Useful for
tooling integration (e.g., a watcher process external to Claude Code).
Prior art
nginx -s reload / systemctl reload <unit> (signal-based config reload)
- Shell
hash -r (PATH cache invalidation)
nodemon / watchexec / air (file-watcher dev loops)
- VS Code "Reload Window" command
Acceptance criteria
Filed from
Operator-friction encountered during hook-driven workflow development
in @TroyBertolino's private project (2026-05-03).
Feature request
Add a mechanism for mid-session hook configuration reload so edits to
~/.claude/settings.jsonor hook-script bodies take effect without exitingthe session and re-launching via
claude --resume.Use cases
Iterating on hook scripts during development. Current loop:
edit hook script → exit session →
claude --resume→ test → repeat.The exit/resume round-trip is the single biggest friction point in
authoring SessionStart, UserPromptSubmit, Stop, and PostToolUse hooks.
Picking up
settings.jsonedits made by parallel sessions or byskill-driven config changes (e.g., an
update-configskill thatadds a permission rule mid-session — currently the change doesn't
take effect until next session).
Recovering from a misconfigured hook without losing in-flight
session context. A blocking
UserPromptSubmithook with a typocurrently requires session restart, which discards conversation
memory built up over hours of work.
Proposed UX (any one of these would close the gap)
/reload-hooksbuilt-in slash command — explicit, operator-triggered, predictable. Lowest implementation cost.
settings.json+ hook-script paths —zero-friction; matches
nodemon/watchexecprecedent.nginx -s reload,systemctl reload, shellhash -r. Useful fortooling integration (e.g., a watcher process external to Claude Code).
Prior art
nginx -s reload/systemctl reload <unit>(signal-based config reload)hash -r(PATH cache invalidation)nodemon/watchexec/air(file-watcher dev loops)Acceptance criteria
~/.claude/settings.json(and project-localsettings.local.json) without restarting the session.on the next matching event.
directory) is preserved across the reload.
settings.jsondoes notcrash the session; old config remains active until reload succeeds.
Filed from
Operator-friction encountered during hook-driven workflow development
in @TroyBertolino's private project (2026-05-03).