{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreicga2bjwpaleelivmyp3idbm4dpl4wwjyykwqjm3633wfxpavwbui",
    "uri": "at://did:plc:lk3jfj3zq4k4wxnk474axylu/app.bsky.feed.post/3mggh5qwwslm2"
  },
  "path": "/t/store-false-breaks-multi-turn-computer-use/1375928#post_1",
  "publishedAt": "2026-03-06T22:50:04.000Z",
  "site": "https://community.openai.com",
  "tags": [
    "@-"
  ],
  "textContent": "## Summary\n\nWhen using the Responses API with `store: false` and the computer tool, multi-turn conversations fail on the second turn. The API returns output items (reasoning, message, computer_call) with server-generated `id` fields. When those items are sent back as conversation history in the next request, the API tries to resolve those IDs against server-side storage — which doesn’t exist because `store: false` was set.\n\n## Two failure modes\n\n### 1. 404 — reasoning item present\n\nIf the response’s `output` array is passed back verbatim (including the `reasoning` item with its `rs_` prefixed ID), the API returns **404 Not Found**.\n\n### 2. 500 — reasoning item omitted, other IDs remain\n\nThe 404 error message suggests removing the unresolvable item. If you strip the `reasoning` item (which has an empty `summary` and no useful content anyway), the request gets past the 404 — but then the API returns **500 Internal Server Error**.\n\n## Expected behavior\n\nThe API should accept verbatim playback of the output items it returned, or the docs should describe what transformations are needed for `store: false` multi-turn.\n\n## Reproduction\n\nThis attached script exercises both cases with a single minimal request body.\n\n\n    set -euo pipefail\n    set -a; source .env; set +a\n\n    : \"${OPENAI_API_KEY:?Set OPENAI_API_KEY}\"\n\n    # 1x1 red PNG as a minimal valid screenshot\n    TINY_PNG=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==\"\n\n    COMMON=(-s -H \"Authorization: Bearer $OPENAI_API_KEY\" -H \"Content-Type: application/json\")\n\n    REASONING_ITEM='{\n          \"id\": \"rs_083ff13b99ce487d0169ab5455d3c4819a9e2efe7f45534b3c\",\n          \"type\": \"reasoning\",\n          \"summary\": []\n        },'\n\n    send_request() {\n      local reasoning_item=\"$1\"\n      curl \"${COMMON[@]}\" https://api.openai.com/v1/responses -d @- <<EOF\n    {\n      \"instructions\": \"You are controlling a browser-based kanban app through the built-in computer tool.\",\n      \"input\": [\n        {\n          \"content\": [\n            { \"text\": \"what's on the desktop\", \"type\": \"input_text\" }\n          ],\n          \"role\": \"user\"\n        },\n        ${reasoning_item}\n        {\n          \"id\": \"msg_083ff13b99ce487d0169ab545999d0819aa3edf6123fdab1f9\",\n          \"type\": \"message\",\n          \"status\": \"completed\",\n          \"content\": [\n            { \"type\": \"output_text\", \"text\": \"\" }\n          ],\n          \"role\": \"assistant\"\n        },\n        {\n          \"id\": \"cu_083ff13b99ce487d0169ab5459c7e4819a9f0c36ae97db6e86\",\n          \"type\": \"computer_call\",\n          \"status\": \"completed\",\n          \"actions\": [{ \"type\": \"screenshot\" }],\n          \"call_id\": \"call_2dugsE4CytbpbsqMriR5KV5C\"\n        },\n        {\n          \"type\": \"computer_call_output\",\n          \"call_id\": \"call_2dugsE4CytbpbsqMriR5KV5C\",\n          \"output\": {\n            \"type\": \"computer_screenshot\",\n            \"image_url\": \"${TINY_PNG}\"\n          }\n        }\n      ],\n      \"model\": \"gpt-5.4\",\n      \"reasoning\": { \"effort\": \"low\" },\n      \"store\": false,\n      \"tools\": [{ \"type\": \"computer\" }]\n    }\n    EOF\n      echo \"\"\n    }\n\n    echo \"--- Test 1: with reasoning item → expect 404 ---\"\n    send_request \"$REASONING_ITEM\"\n\n    echo \"--- Test 2: reasoning removed → expect 500 ---\"\n    send_request \"\"\n\n\n\n### Prerequisites\n\n  * `OPENAI_API_KEY` set in the environment (or in a `.env` file in the working directory)\n  * `curl` and `bash`\n\n\n\n### Running\n\nThe script runs two requests and prints the API error response for each.\n\n## Environment\n\n  * Model: `gpt-5.4`\n  * Endpoint: `POST /v1/responses`\n  * Tool: `computer`\n  * `store: false`\n\n",
  "title": "`store: false` breaks multi-turn computer-use"
}