Bug
When using gpt-5.4 with ComputerTool, the SDK sends acknowledged_safety_checks: null in computer_call_output items. The GA computer tool API rejects this field entirely:
Error code: 400 - {'error': {'message': '`acknowledged_safety_checks` is not supported for the "computer" tool.', 'type': 'invalid_request_error', 'param': 'input', 'code': None}}
Root Cause
In agents/run_internal/tool_execution.py line ~1895, acknowledged is initialized as None. For GA requests, there are no pending_safety_checks, so it stays None. This None is passed to ComputerAction.execute (line ~1925), which puts it into ComputerCallOutput(acknowledged_safety_checks=None) at tool_actions.py line ~172.
The Pydantic model serializes None as "acknowledged_safety_checks": null in the API request, which the GA computer endpoint rejects.
Expected Behavior
For the GA computer tool path, acknowledged_safety_checks should not be included in the ComputerCallOutput when it is None.
Fix
Either:
- Only pass
acknowledged_safety_checks to ComputerCallOutput when it's not None:
# tool_actions.py line ~172
**({"acknowledged_safety_checks": acknowledged_safety_checks} if acknowledged_safety_checks else {}),
- Or only pass it to
ComputerAction.execute when not None (in tool_execution.py).
Versions
openai-agents==0.12.5
openai==2.29.0
- Model:
gpt-5.4-2026-03-05
Related
Bug
When using
gpt-5.4withComputerTool, the SDK sendsacknowledged_safety_checks: nullincomputer_call_outputitems. The GAcomputertool API rejects this field entirely:Root Cause
In
agents/run_internal/tool_execution.pyline ~1895,acknowledgedis initialized asNone. For GA requests, there are nopending_safety_checks, so it staysNone. ThisNoneis passed toComputerAction.execute(line ~1925), which puts it intoComputerCallOutput(acknowledged_safety_checks=None)attool_actions.pyline ~172.The Pydantic model serializes
Noneas"acknowledged_safety_checks": nullin the API request, which the GAcomputerendpoint rejects.Expected Behavior
For the GA
computertool path,acknowledged_safety_checksshould not be included in theComputerCallOutputwhen it isNone.Fix
Either:
acknowledged_safety_checkstoComputerCallOutputwhen it's notNone:ComputerAction.executewhen notNone(intool_execution.py).Versions
openai-agents==0.12.5openai==2.29.0gpt-5.4-2026-03-05Related