I log every Claude Code hook event to a file, so I can measure what a session actually looks like instead of guessing. One person’s use, May to September. Across 35.7 hours I measured, the main thread produced no tool event at all for 4.43 hours of it, 12.4% of the time, while work was happening. The longest silent stretch was 126 minutes. Subagents were doing the work; the main thread just had nothing to say. This matters if you build anything that watches a session: a “no output for N minutes means it is stuck” rule fires false alarms constantly unless N is large. When I tested a 30-minute timeout against the log, it produced zero false “still working” readings. The fix for my own setup was to watch subagent events, not the main thread. SubagentStart and SubagentStop carry agent_id, so silence from the main thread plus live subagents means “working”, and silence from everything means “done or waiting”. Anyone else measured how long their main thread goes quiet? submitted by /u/Green-Winter9648
Originally posted by u/Green-Winter9648 on r/ClaudeCode
