fix(hooks): remove Stop hook that caused 30s timeouts (gt-quoj)
CI / Check for .beads changes (push) Has been skipped
CI / Check embedded formulas (push) Failing after 18s
CI / Test (push) Failing after 1m33s
CI / Lint (push) Failing after 22s
CI / Integration Tests (push) Successful in 1m22s
CI / Coverage Report (push) Has been skipped
Windows CI / Windows Build and Unit Tests (push) Has been cancelled
CI / Check for .beads changes (push) Has been skipped
CI / Check embedded formulas (push) Failing after 18s
CI / Test (push) Failing after 1m33s
CI / Lint (push) Failing after 22s
CI / Integration Tests (push) Successful in 1m22s
CI / Coverage Report (push) Has been skipped
Windows CI / Windows Build and Unit Tests (push) Has been cancelled
The Stop hook with `gt costs record` was causing 30-second timeouts on every session stop due to beads socket connection issues. Since cost tracking is disabled anyway (Claude Code doesn't expose session costs), this hook provided no value. Changes: - Remove Stop hook from settings-autonomous.json and settings-interactive.json - Remove Stop hook validation from claude_settings_check.go - Update tests to not expect Stop hook The cost tracking infrastructure remains in costs.go for future use when Claude Code exposes session costs via API or environment variable. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -335,8 +335,8 @@ func (c *ClaudeSettingsCheck) checkSettings(path, _ string) []string {
|
||||
// All templates should have:
|
||||
// 1. enabledPlugins
|
||||
// 2. PATH export in hooks
|
||||
// 3. Stop hook with gt costs record (for autonomous)
|
||||
// 4. gt nudge deacon session-started in SessionStart
|
||||
// 3. gt nudge deacon session-started in SessionStart
|
||||
// Note: Stop hook was removed (gt-quoj) - cost tracking is disabled
|
||||
|
||||
// Check enabledPlugins
|
||||
if _, ok := actual["enabledPlugins"]; !ok {
|
||||
@@ -359,10 +359,9 @@ func (c *ClaudeSettingsCheck) checkSettings(path, _ string) []string {
|
||||
missing = append(missing, "deacon nudge")
|
||||
}
|
||||
|
||||
// Check Stop hook exists with gt costs record (for all roles)
|
||||
if !c.hookHasPattern(hooks, "Stop", "gt costs record") {
|
||||
missing = append(missing, "Stop hook")
|
||||
}
|
||||
// Note: Stop hook with gt costs record was removed in gt-quoj.
|
||||
// Cost tracking is disabled - Claude Code doesn't expose session costs.
|
||||
// The Stop hook was causing 30s timeouts on session stop with no benefit.
|
||||
|
||||
return missing
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user