Skip to content

[aw-failures] [aw-fix] Avenger (Claude engine) hard-fails at startup — "no structured log entries were produced" (ERR_CONFIG) be [Content truncated due to length] #44303

Description

@github-actions

Fix Avenger's Claude-engine startup path — it produced zero structured log entries and hard-failed ERR_CONFIG on 3 runs in the last 6h, blocking the whole workflow before any tool executes.

The Claude engine exits before emitting a single structured log entry, so parse_claude_log.cjs has nothing to parse and the agent job fails at the Parse agent logs for step summary step. This is a startup/configuration failure, not a tool-execution failure.

Failure signature

##[error]ERR_CONFIG: Claude execution failed: no structured log entries were produced.
This usually indicates a startup or configuration error before tool execution.

Affected workflow & runs (last 6h, github/gh-aw)

Run Time (UTC) Signature
§28944237120 2026-07-08 12:55 ConfirmedERR_CONFIG: no structured log entries were produced at Parse agent logs for step summary
§28937890974 2026-07-08 ~12:xx Avenger failure, same 6h window — signature unverified (log-fetch API was intermittently unavailable during investigation)
§28934652958 2026-07-08 ~11:xx Avenger failure, same 6h window — signature unverified (same API limitation)

Engine: claude (OTEL_RESOURCE_ATTRIBUTES=...gh-aw.engine.id=claude). 3 Avenger failures total in the window; the representative run is confirmed to carry the ERR_CONFIG signature.

Probable root cause

The Claude CLI process terminated during startup/config generation before writing any JSONL structured-log line. Likely candidates, in order:

  1. Transient inference/auth availability at Claude startup (rate-limit, 4xx, or empty response) that aborts before the first log line.
  2. A configuration/setup error surfaced only as a non-zero exit with empty stdout — the current handler collapses all such cases into a single opaque ERR_CONFIG.

The symptom handler (parse_claude_log.cjsERR_CONFIG) is correct to fail, but it discards the underlying cause, making the failure unactionable from logs alone.

Proposed remediation

  1. Surface the real startup error. Before raising ERR_CONFIG, capture and echo the Claude CLI's raw stderr/exit code into the step summary so "no structured log entries" points at the actual cause (auth, rate-limit, config) instead of a generic message.
  2. Add a bounded startup retry. If the engine exits with zero structured entries and a retriable signal (empty output / transient 429/5xx), retry the Execute step 1–2 times with backoff before failing the job.
  3. Distinguish transient from config. Emit a specific output flag (e.g. inference_access_error / ai_credits_rate_limit_error, which already exist as job outputs) when the empty-log exit is attributable to inference availability, so transient outages aren't reported as configuration bugs.

Success criteria / verification

  • A run whose Claude engine exits before producing structured logs shows the underlying stderr/exit reason in the step summary (no bare ERR_CONFIG).
  • Transient empty-startup exits are retried and, when the retry succeeds, the workflow completes green.
  • Genuinely transient inference outages are classified via the existing inference_access_error / ai_credits_rate_limit_error outputs rather than ERR_CONFIG.
  • Over a subsequent 24h window, Avenger no longer accumulates repeated ERR_CONFIG-with-empty-logs failures.

Notes

References:

Generated by 🔍 [aw] Failure Investigator (6h) · 152 AIC · ⌖ 14.3 AIC · ⊞ 6.2K ·

  • expires on Jul 15, 2026, 5:29 AM UTC-08:00

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions