~cytrogen/gstack

336dbaa50d856ae9ee82d9323fd47ee57605d4ba — Garry Tan a month ago 029a7c2
fix: detect is_error from claude -p result line (ConnectionRefused was PASS)

claude -p can return subtype="success" with is_error=true when the API is
unreachable. Previously we only checked subtype, so API failures silently
passed. Now check is_error first and report as 'error_api'.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 files changed, 4 insertions(+), 1 deletions(-)

M test/helpers/session-runner.ts
M test/helpers/session-runner.ts => test/helpers/session-runner.ts +4 -1
@@ 277,7 277,10 @@ export async function runSkillTest(options: {

  // Use resultLine for structured result data
  if (resultLine) {
    if (resultLine.subtype === 'success') {
    if (resultLine.is_error) {
      // claude -p can return subtype=success with is_error=true (e.g. API connection failure)
      exitReason = 'error_api';
    } else if (resultLine.subtype === 'success') {
      exitReason = 'success';
    } else if (resultLine.subtype) {
      exitReason = resultLine.subtype;