fix: enforce max turns from claude args (#1607)

This commit is contained in:
ulofiai
2026-08-07 07:55:06 -07:00
committed by GitHub
parent 1623c36729
commit 6ef6450f51
4 changed files with 111 additions and 1 deletions
+11
View File
@@ -208,6 +208,17 @@ export async function runClaudeWithSdk(
throw new Error("No result message received from Claude");
}
if (
resultMessage.subtype === "success" &&
!resultMessage.is_error &&
sdkOptions.maxTurns !== undefined &&
resultMessage.num_turns > sdkOptions.maxTurns
) {
const message = `Claude reported a successful result after ${resultMessage.num_turns} turns, exceeding the configured maximum of ${sdkOptions.maxTurns}`;
core.error(message);
throw new Error(message);
}
// subtype "success" with is_error:true means the run errored without producing
// a real result — treat it as failure so CI does not show a misleading green check.
const isSuccess =