Summary
Our Agents API session with an OpenAI-hosted sandbox is stuck `in_progress` after every turn already completed or failed. Cancel returns 202 but nothing changes; DELETE returns 409 (session must be durably idle or failed without required actions before deletion). The sandbox stays connected and we cannot stop it.
OpenAI is still billing container time for this stuck session — a bug we have no control over. We followed the docs (cancel + delete) and it failed. We contacted through the help center and the AI supported created Case Number: 16201148 - it has been several days and we haven’t heard back. The charges kept accruing, so we had to remove our card to stop the damage.
Please refund the credits billed for this stuck sandbox. Charging us for a platform bug we cannot fix is unfair.
Environment
- Surface: API
- Endpoint or feature: Agents API sessions with
openai_hostedsandbox (OpenAI-Beta: agents=v1)GET /v1/agents/sessions/{session_id}GET /v1/agents/sessions/{session_id}/turnsGET /v1/agents/sessions/{session_id}/events?stream=truePOST /v1/agents/sessions/{session_id}/events(agent.session.input.cancel)DELETE /v1/agents/sessions/{session_id}
- Model:
gpt-6-luna(service_tier: fast) - SDK and version, if applicable:
curl(no SDK)
Stuck session: sess_07c5d8f8fa221c53006abaee97f3948197b14ee08794e686c5
Agent: agent_a97e39d25a66451d9f80c78576c4ab996c16f779aa16481883
Environment: ccarenv_b64_Y2NhcmVudl82YWJhZWU5ODY2YzQ4MTkxODg3MWNmYTE5ZDE4NTlkOA (openai_hosted)
Bug
After all turns had already completed or failed, the session stayed status: in_progress (required_actions: [], error: null). Cancel was accepted but did not change status. Delete is rejected. The hosted sandbox stayed connected with no active turn.
Expected: session becomes idle or failed when turns are terminal; cancel idles it; DELETE succeeds; hosted container stops.
Reproduction
- Agents session with
environment.type = openai_hosted. - Turns finish (
GET .../turnsshows none in progress). GETsession stillin_progress.- Cancel, then delete:
curl -X POST "https://api.openai.com/v1/agents/sessions/$SESSION_ID/events" \
-H "OpenAI-Beta: agents=v1" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"events":[{"type":"agent.session.input.cancel"}]}'
# HTTP 202; status remains in_progress
curl -X DELETE "https://api.openai.com/v1/agents/sessions/$SESSION_ID" \
-H "OpenAI-Beta: agents=v1" \
-H "Authorization: Bearer $OPENAI_API_KEY"
# HTTP 409
- Event stream with no active
turn_idstill emittedagent.session.environment.readyandagent.session.environment.connected.
POST .../sessions/{id}/cancel returns 404; cancel only via the events API above.
Same project: at least one other session stuck the same way; other sessions were idle/failed as expected.
Diagnostics
- Exact error and HTTP status:
HTTP 409
{
"error": {
"type": "conflict_error",
"code": "conflict_error",
"message": "session must be durably idle or failed without required actions before deletion",
"param": null
}
}
Cancel: HTTP 202, no status change after ~3 minutes of polling (still in_progress days later).
Session snapshot (queried 2026-10-01, Europe/London):
-
status:in_progress;required_actions:[];error:null -
created_at:1790635672= 2026-09-28T22:47:52Z -
last_active_at:1790693097= 2026-09-29T14:44:57Z -
Turns: 14
completed, 9failed, 0 active (has_more: false) -
Latest turn ended 2026-09-29T14:44:56Z with
connection_failed(MCP server unreachable). Other failed turns:connection_failed,rate_limit_exceeded. -
Request ID: not captured.
-
When / how often: last turn activity 2026-09-29 14:44:57 UTC; cancel/delete 2026-10-01 ~13:00–14:15 UTC. Reproduced on ≥2 sessions; not all sessions in the project.




