Skip to content

Clear the turn timeout when the turn ends - #130

Merged
Octember merged 1 commit into
mainfrom
claude/iterate
Sep 9, 2026
Merged

Octember merged 1 commit into
mainfrom
claude/iterate

Conversation

@Octember

@Octember Octember commented Sep 9, 2026

Copy link
Copy Markdown
Owner

The 21:56 UTC restart was a crash: a resident turn ended at 21:46:44 on a stream error, the SDK removed its child-process listeners, and the 600s AbortSignal.timeout fired at 21:56:44 into a child with no error listener. Uncaught AbortError, exit 1, systemd restart. Every turn that ends early on an error event repeats this.

turn() now owns an AbortController and a timer, and clears the timer in finally.

🤖 Generated with Claude Code

…orts a dead child ten minutes later

AbortSignal.timeout kept firing after the SDK had removed its child listeners, so any turn ending on an error event crashed the process at the timeout (21:56 UTC restart).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Octember
Octember merged commit 1af5c8f into main Sep 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant