[Ongoing Billing Issue] Infinite billing glitch; OpenAI continues to bill our org illegally

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_hosted sandbox (OpenAI-Beta: agents=v1)
    • GET /v1/agents/sessions/{session_id}
    • GET /v1/agents/sessions/{session_id}/turns
    • GET /v1/agents/sessions/{session_id}/events?stream=true
    • POST /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

  1. Agents session with environment.type = openai_hosted.
  2. Turns finish (GET .../turns shows none in progress).
  3. GET session still in_progress.
  4. 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
  1. Event stream with no active turn_id still emitted agent.session.environment.ready and agent.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, 9 failed, 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.

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_hosted sandbox (OpenAI-Beta: agents=v1)
    • GET /v1/agents/sessions/{session_id}
    • GET /v1/agents/sessions/{session_id}/turns
    • GET /v1/agents/sessions/{session_id}/events?stream=true
    • POST /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

  1. Agents session with environment.type = openai_hosted.
  2. Turns finish (GET .../turns shows none in progress).
  3. GET session still in_progress.
  4. 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
  1. Event stream with no active turn_id still emitted agent.session.environment.ready and agent.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, 9 failed, 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.

Billing screenshots

Day 1:

Day 2 (sept 28 shot up):

Day 3 (sept 29 shot up):

Stuck session:

Error during delete: