Skip to content

Doom loop circuit breaker allows infinite loops in headless mode #657

@anandgupta42

Description

@anandgupta42

Problem

When doom_loop permission is auto-accepted (headless mode or doom_loop: "allow" in config), the per-tool repeat counter resets to 0 every 30 calls and loops run indefinitely. Observed in production telemetry: a single session made 10,943 apply_patch calls and 1,791 todowrite calls in 4 hours, consuming ~98.8M input tokens.

Root Cause

The existing doom loop detection asks permission every 30 calls of the same tool, then resets the counter. In headless/automated environments where permission is auto-accepted, the counter resets and the loop continues with no upper bound.

Expected Behavior

Sessions should escalate and eventually force-stop when the same tool is called excessively, regardless of permission configuration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions