diff --git a/agents/runner.py b/agents/runner.py index 92c5e70..fe760b0 100644 --- a/agents/runner.py +++ b/agents/runner.py @@ -233,7 +233,7 @@ def run_agent( return { "success": success, "error": result.get("error") if not success else None, - "output": parsed_output if parsed_output else output_text, + "output": output_text if parsed_output is None else parsed_output, "raw_output": output_text, "role": role, "model": model, @@ -310,7 +310,8 @@ def _run_claude( result["tokens_used"] = parsed.get("usage", {}).get("total_tokens") result["cost_usd"] = parsed.get("cost_usd") # Extract the agent's actual response, converting to string if needed - content = parsed.get("result") or parsed.get("content") + result_val = parsed.get("result") + content = result_val if result_val is not None else parsed.get("content") if content is not None: result["output"] = content if isinstance(content, str) else json.dumps(content, ensure_ascii=False)