github / github/gh-aw

[aw-failures] [P1] Design Decision Gate hangs silently mid-tool-use in Claude Code CLI step

Open
#53,619 1 comment 1 reaction 2 assignees Claimed by @pelikhan View on GitHub
agentic-workflows automation bug cookie
Dominant language
Go
Stars
5.1k
Forks
541
Avg merge
5h 46m
Merged PRs (30d)
760

Description

### Fix: Design Decision Gate hangs silently mid-tool-use in the Claude Code CLI step

Fix the Design Decision Gate workflow's Claude Code CLI step — it hangs and dies mid-`Read` of the PR diff with zero error signal, hitting 2 runs in a single day.

**Affected workflow:** `.github/workflows/design-decision-gate.lock.yml` ("Design Decision Gate")
**Runs:** [§32101513747](https://github.com/github/gh-aw/actions/runs/32101513747) (2026-08-18 05:05 UTC), [§32089118620](https://github.com/github/gh-aw/actions/runs/32089118620) (2026-08-18 01:41 UTC)

### Evidence

Captured log tail (run 32101513747)

The agent reads `/tmp/gh-aw/agent/adr-prefetch-summary.json` and `/tmp/gh-aw/agent/pr.json`, then issues a `Read` on `/tmp/gh-aw/agent/pr.diff` (24 files, 182 business-logic additions). The captured log stops there — no `tool_result`, no further assistant turn, no `##[error]`/exit code line anywhere in the 50-line tail.

Run 32089118620 (same workflow, ~3.5h earlier) also failed but its step-level logs were unavailable during this investigation pass (transient API connectivity issue) — confirmed only via run metadata that it failed at the same workflow.

### Probable root cause

Timeout/hang signature, not a clean failure: the CLI process appears to be killed while blocked on a large-diff `Read`, and nothing in the workflow surfaces that as a distinguishable error — the log just goes silent.

### Proposed remediation

1. Add an explicit step-level timeout with a clear `##[error]` message when the Claude Code CLI step exceeds its budget, instead of a bare kill.
2. Cap or paginate the diff size handed to the agent — large `Read` calls on `pr.diff` are the apparent hang point in both failures.
3. Watch the next few Design Decision Gate runs for size-correlation; add a diff-size guard before invoking the gate if confirmed.

### Success criteria

Design Decision Gate runs complete (pass or fail) without silent mid-tool-use termination; timeouts show an explicit error in logs; similarly-sized PR diffs no longer trigger the hang.

**Parent:** #53129
Related to #53129

> Generated by [🔍 [aw] Failure Investigator (6h)](https://github.com/github/gh-aw/actions/runs/32109525808) · agent · 251.3 AIC · ⌖ 6.96 AIC · ⊞ 5.9K · [◷](https://github.com/search?q=repo:github%2Fgh-aw+is:issue+%22gh-aw-workflow-call-id:+github%2Fgh-aw%2Faw-failure-investigator%22&type=issues)
> - [x] expires on Aug 24, 2026, 11:21 PM UTC-08:00

---

### Correction — this is not a silent hang, it's a 429 invocation-cap failure. Keep this open.

**One-sentence rationale:** Design Decision Gate's run today fails fast and loud with `Maximum LLM invocations exceeded (30 / 30)`, a non-retryable rate-limit guard — not the silent hang this issue currently describes.

**Fresh occurrence (2026-08-20):** Design Decision Gate — [§32394421229](https://github.com/github/gh-aw/actions/runs/32394421229). Claude Code CLI harness logs confirm `isRateLimitError=true` and treat the condition as non-retryable, terminating the run immediately once the 30-invocation cap is hit.

**Why this stays open:** no commit since this issue opened has touched this workflow's `.md`/`.lock.yml` with a targeted fix — the one nearby commit doesn't address the invocation cap. Not closing per the tool-denial-limit rule.

**Proposed remediation:** raise the per-run LLM invocation cap for this workflow, or split its task into smaller steps so it stays under 30 invocations. Update the issue title/description to reflect the real failure mode (429 cap, not hang) so future triage isn't misled.> Generated by [🔍 [aw] Failure Investigator (6h)](https://github.com/github/gh-aw/actions/runs/32406250112) · agent · 238.8 AIC · ⌖ 7.28 AIC · ⊞ 5.9K · [◷](https://github.com/search?q=repo:github%2Fgh-aw+is:issue+%22gh-aw-workflow-call-id:+github%2Fgh-aw%2Faw-failure-investigator%22&type=issues)

---

### Update (2026-08-22) — reproduced again today, keep this open

Design Decision Gate failed at the "Execute Claude Code CLI" step again: [§32548469031](https://github.com/github/gh-aw/actions/runs/32548469031) (2026-08-22 03:15 UTC). Given the prior correction on this issue (2026-08-20) established the real failure mode as the 30/30 LLM-invocation cap (`Maximum LLM invocations exceeded`), not a silent hang, today's recurrence is most likely the same cap being hit again rather than a new hang — but I could not confirm the exact error line for this run: `gh run view`/log download hit transient `api.github.com` connectivity errors during this investigation pass, same class of gap noted for run 32089118620 earlier in this issue's history.

Not closing — no commit since this issue opened touches `design-decision-gate.md`/`.lock.yml` with a fix for either the invocation cap or the diff-size hang theory, so the underlying condition (whichever it is) is still unaddressed.> Generated by [🔍 [aw] Failure Investigator (6h)](https://github.com/github/gh-aw/actions/runs/32558404501) · agent · 191.4 AIC · ⌖ 11.4 AIC · ⊞ 6.4K · [◷](https://github.com/search?q=repo%3Agithub%2Fgh-aw+is%3Aissue+%22gh-aw-workflow-call-id%3A+github%2Fgh-aw%2Faw-failure-investigator%22&type=issues)

---

### Fix: Design Decision Gate hangs silently mid-tool-use in the Claude Code CLI step

Fix the Design Decision Gate workflow's Claude Code CLI step — it hangs and dies mid-`Read` of the PR diff with zero error signal, hitting 2 runs in a single day.

**Affected workflow:** `.github/workflows/design-decision-gate.lock.yml` ("Design Decision Gate")
**Runs:** [§32101513747](https://github.com/github/gh-aw/actions/runs/32101513747) (2026-08-18 05:05 UTC), [§32089118620](https://github.com/github/gh-aw/actions/runs/32089118620) (2026-08-18 01:41 UTC)

### Evidence

Captured log tail (run 32101513747)

The agent reads `/tmp/gh-aw/agent/adr-prefetch-summary.json` and `/tmp/gh-aw/agent/pr.json`, then issues a `Read` on `/tmp/gh-aw/agent/pr.diff` (24 files, 182 business-logic additions). The captured log stops there — no `tool_result`, no further assistant turn, no `##[error]`/exit code line anywhere in the 50-line tail.

Run 32089118620 (same workflow, ~3.5h earlier) also failed but its step-level logs were unavailable during this investigation pass (transient API connectivity issue) — confirmed only via run metadata that it failed at the same workflow.

### Probable root cause

Timeout/hang signature, not a clean failure: the CLI process appears to be killed while blocked on a large-diff `Read`, and nothing in the workflow surfaces that as a distinguishable error — the log just goes silent.

### Proposed remediation

1. Add an explicit step-level timeout with a clear `##[error]` message when the Claude Code CLI step exceeds its budget, instead of a bare kill.
2. Cap or paginate the diff size handed to the agent — large `Read` calls on `pr.diff` are the apparent hang point in both failures.
3. Watch the next few Design Decision Gate runs for size-correlation; add a diff-size guard before invoking the gate if confirmed.

### Success criteria

Design Decision Gate runs complete (pass or fail) without silent mid-tool-use termination; timeouts show an explicit error in logs; similarly-sized PR diffs no longer trigger the hang.

**Parent:** #53129
Related to #53129

> Generated by [🔍 [aw] Failure Investigator (6h)](https://github.com/github/gh-aw/actions/runs/32109525808) · agent · 251.3 AIC · ⌖ 6.96 AIC · ⊞ 5.9K · [◷](https://github.com/search?q=repo:github%2Fgh-aw+is:issue+%22gh-aw-workflow-call-id:+github%2Fgh-aw%2Faw-failure-investigator%22&type=issues)
> - [x] expires on Aug 24, 2026, 11:21 PM UTC-08:00

---

### Correction — this is not a silent hang, it's a 429 invocation-cap failure. Keep this open.

**One-sentence rationale:** Design Decision Gate's run today fails fast and loud with `Maximum LLM invocations exceeded (30 / 30)`, a non-retryable rate-limit guard — not the silent hang this issue currently describes.

**Fresh occurrence (2026-08-20):** Design Decision Gate — [§32394421229](https://github.com/github/gh-aw/actions/runs/32394421229). Claude Code CLI harness logs confirm `isRateLimitError=true` and treat the condition as non-retryable, terminating the run immediately once the 30-invocation cap is hit.

**Why this stays open:** no commit since this issue opened has touched this workflow's `.md`/`.lock.yml` with a targeted fix — the one nearby commit doesn't address the invocation cap. Not closing per the tool-denial-limit rule.

**Proposed remediation:** raise the per-run LLM invocation cap for this workflow, or split its task into smaller steps so it stays under 30 invocations. Update the issue title/description to reflect the real failure mode (429 cap, not hang) so future triage isn't misled.> Generated by [🔍 [aw] Failure Investigator (6h)](https://github.com/github/gh-aw/actions/runs/32406250112) · agent · 238.8 AIC · ⌖ 7.28 AIC · ⊞ 5.9K · [◷](https://github.com/search?q=repo:github%2Fgh-aw+is:issue+%22gh-aw-workflow-call-id:+github%2Fgh-aw%2Faw-failure-investigator%22&type=issues)

---

### Update (2026-08-22) — reproduced again today, keep this open

Design Decision Gate failed at the "Execute Claude Code CLI" step again: [§32548469031](https://github.com/github/gh-aw/actions/runs/32548469031) (2026-08-22 03:15 UTC). Given the prior correction on this issue (2026-08-20) established the real failure mode as the 30/30 LLM-invocation cap (`Maximum LLM invocations exceeded`), not a silent hang, today's recurrence is most likely the same cap being hit again rather than a new hang — but I could not confirm the exact error line for this run: `gh run view`/log download hit transient `api.github.com` connectivity errors during this investigation pass, same class of gap noted for run 32089118620 earlier in this issue's history.

Not closing — no commit since this issue opened touches `design-decision-gate.md`/`.lock.yml` with a fix for either the invocation cap or the diff-size hang theory, so the underlying condition (whichever it is) is still unaddressed.> Generated by [🔍 [aw] Failure Investigator (6h)](https://github.com/github/gh-aw/actions/runs/32558404501) · agent · 191.4 AIC · ⌖ 11.4 AIC · ⊞ 6.4K · [◷](https://github.com/search?q=repo:github%2Fgh-aw+is:issue+%22gh-aw-workflow-call-id:+github%2Fgh-aw%2Faw-failure-investigator%22&type=issues)

---

### Design Decision Gate failed twice more today (2026-08-23) — but with two DIFFERENT root causes, not the large-diff hang this issue tracks

**One-sentence rationale:** don't fold these into the "silent hang on large diff" root cause below — the auto-diagnostic bot identified a distinct guardrail trip, and this workflow now has 3 separate open issues (#53619, #54898, #54462) for 3 separate failure modes, which needs consolidated triage.

**New occurrences today:**
- [§32643440704](https://github.com/github/gh-aw/actions/runs/32643440704), 13:47 UTC — auto-diagnosed by GH Actions as **"Engine Max Runs Exceeded"**: the `claude` engine hit the workflow's `max-runs` guardrail and could not continue (tracked separately as #55088).
- [§32654551225](https://github.com/github/gh-aw/actions/runs/32654551225), 17:21 UTC — same `Execute Claude Code CLI` step failure, but the captured 50-line tail is only an MCP tool-schema dump (no visible error) — same "cause unclear, low evidence" shape flagged by the prior investigation cycle for this workflow's other failures.

**Action:** these are NOT the diff-size hang described above. If `max-runs` is being hit legitimately (task needs more invocations), raise the limit; if it's a runaway retry loop, that's a distinct bug from the hang. Recommend a dedicated pass across Design Decision Gate's now-3 open issues (#53619, #54898, #54462) plus this new max-runs signature to determine whether they share one underlying flakiness source (e.g., large/complex PR diffs triggering multiple failure surfaces) or are truly independent bugs.

**References:**
- https://github.com/github/gh-aw/actions/runs/32643440704
- https://github.com/github/gh-aw/actions/runs/32654551225> Generated by [🔍 [aw] Failure Investigator (6h)](https://github.com/github/gh-aw/actions/runs/32659532313) · agent · 194.8 AIC · ⌖ 8.85 AIC · ⊞ 6.4K · [◷](https://github.com/search?q=repo%3Agithub%2Fgh-aw+is%3Aissue+%22gh-aw-workflow-call-id%3A+github%2Fgh-aw%2Faw-failure-investigator%22&type=issues)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.