fix: Handle claude CLI exit code 1 for successful responses
Claude CLI returns exit code 1 even when successfully generating output. Check for stdout content before failing on non-zero exit codes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
4176f51e7d
commit
4aa5d01588
|
|
@ -224,6 +224,12 @@ def call_model(model: ModelConfig, prompt: str, cwd: Path) -> str:
|
||||||
cwd=str(cwd),
|
cwd=str(cwd),
|
||||||
shell=True,
|
shell=True,
|
||||||
)
|
)
|
||||||
|
# Check if we got output even if returncode is non-zero
|
||||||
|
# (claude CLI returns 1 even on successful prompt responses)
|
||||||
|
if result.stdout.strip():
|
||||||
|
return result.stdout
|
||||||
|
|
||||||
|
# Only raise error if we got nothing useful
|
||||||
if result.returncode != 0:
|
if result.returncode != 0:
|
||||||
raise PatchGenerationError(f"AI command failed ({result.returncode}): {result.stderr.strip()}")
|
raise PatchGenerationError(f"AI command failed ({result.returncode}): {result.stderr.strip()}")
|
||||||
return result.stdout
|
return result.stdout
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue