Summary
claude-code-action consistently fails since ~2026-08-23 20:47 UTC (still failing as of 2026-08-24): the Claude Agent SDK session returns a result event with is_error: true, num_turns: 1, duration_ms in the 200-280ms range, and total_cost_usd: 0 — with no assistant message, no tool call, and no actual work performed — despite subtype: "success" on the same result object. Reproduced across 3 action versions and 2 models, so this doesn't look like a version-specific regression on our side.
Environment
- Action versions tested:
v1.0.160 (2026-06-29), v1.0.199 (2026-08-21), v1.0.201 (2026-08-23) — all reproduce identically.
- Models tested:
claude-sonnet-4-6 (production workflow) and claude-haiku-4-5 (isolated repro below) — both affected.
- Auth:
anthropic_api_key input (direct API key, not OAuth/Bedrock/Vertex).
- Trigger: both
pull_request and manual workflow_dispatch reproduce it.
Minimal repro
- uses: anthropics/claude-code-action@v1.0.160
id: probe
continue-on-error: true
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: |
--max-turns 3
--model claude-haiku-4-5
--allowedTools "Read"
prompt: |
Read README.md, then respond with "OK".
Result event captured from the run log:
{"type": "system", "subtype": "init", "message": "Claude Code initialized", "model": "claude-haiku-4-5"}
{"type": "result", "subtype": "success", "is_error": true, "duration_ms": 220, "num_turns": 1, "total_cost_usd": 0, "permission_denials_count": 0}
No event in between — no assistant turn, no Read tool call, nothing. The SDK goes straight from init to an is_error: true result in ~220ms.
With --json-schema (our production config on gardien.yml)
Adding --json-schema '{"type":"object","properties":{"verdict":{"type":"string","enum":["A","B","C"]}},"required":["verdict"]}' to the same config turns this into a hard action failure:
##[error]--json-schema was provided but Claude did not return structured_output. Result subtype: success
##[error]Action failed with error: --json-schema was provided but Claude did not return structured_output. Result subtype: success
Also worth noting: the action logs Set session_id: <uuid> internally right before this error, but steps.<id>.outputs.session_id is empty afterward — the session_id output isn't populated on this failure path, even though a session_id clearly exists internally.
Impact on our side
We use claude-code-action for 4 automated review/monitoring workflows (PR review bot, an issue-triage bot, a staging/main drift auditor, and an hourly production monitor). All 4 depend on --json-schema + steps.*.outputs.structured_output to turn a review verdict into a pass/fail CI check (rather than parsing free-text comments, which we'd previously found fragile). Since this started, our PR-review bot fails on every single PR with zero real review performed, and we've had to bypass required-status-check protection to keep merging. We initially suspected a version regression (the floating @v1 tag had just moved to a new release with an Agent SDK bump) and pinned to progressively older versions, but the failure reproduces identically all the way back to v1.0.160 (2026-06-29) and with --json-schema removed entirely — so it doesn't look like something we can route around with a version pin.
Question
Is this a known incident (API-side or Agent SDK-side) rather than an action bug? Happy to provide full run logs / workflow files if useful.
Summary
claude-code-actionconsistently fails since ~2026-08-23 20:47 UTC (still failing as of 2026-08-24): the Claude Agent SDK session returns a result event withis_error: true,num_turns: 1,duration_msin the 200-280ms range, andtotal_cost_usd: 0— with no assistant message, no tool call, and no actual work performed — despitesubtype: "success"on the same result object. Reproduced across 3 action versions and 2 models, so this doesn't look like a version-specific regression on our side.Environment
v1.0.160(2026-06-29),v1.0.199(2026-08-21),v1.0.201(2026-08-23) — all reproduce identically.claude-sonnet-4-6(production workflow) andclaude-haiku-4-5(isolated repro below) — both affected.anthropic_api_keyinput (direct API key, not OAuth/Bedrock/Vertex).pull_requestand manualworkflow_dispatchreproduce it.Minimal repro
Result event captured from the run log:
{"type": "system", "subtype": "init", "message": "Claude Code initialized", "model": "claude-haiku-4-5"} {"type": "result", "subtype": "success", "is_error": true, "duration_ms": 220, "num_turns": 1, "total_cost_usd": 0, "permission_denials_count": 0}No event in between — no assistant turn, no
Readtool call, nothing. The SDK goes straight frominitto anis_error: trueresult in ~220ms.With
--json-schema(our production config ongardien.yml)Adding
--json-schema '{"type":"object","properties":{"verdict":{"type":"string","enum":["A","B","C"]}},"required":["verdict"]}'to the same config turns this into a hard action failure:Also worth noting: the action logs
Set session_id: <uuid>internally right before this error, butsteps.<id>.outputs.session_idis empty afterward — the session_id output isn't populated on this failure path, even though a session_id clearly exists internally.Impact on our side
We use
claude-code-actionfor 4 automated review/monitoring workflows (PR review bot, an issue-triage bot, a staging/main drift auditor, and an hourly production monitor). All 4 depend on--json-schema+steps.*.outputs.structured_outputto turn a review verdict into a pass/fail CI check (rather than parsing free-text comments, which we'd previously found fragile). Since this started, our PR-review bot fails on every single PR with zero real review performed, and we've had to bypass required-status-check protection to keep merging. We initially suspected a version regression (the floating@v1tag had just moved to a new release with an Agent SDK bump) and pinned to progressively older versions, but the failure reproduces identically all the way back tov1.0.160(2026-06-29) and with--json-schemaremoved entirely — so it doesn't look like something we can route around with a version pin.Question
Is this a known incident (API-side or Agent SDK-side) rather than an action bug? Happy to provide full run logs / workflow files if useful.