Skip to content

Pi ChatGPT LLM integration fails after tool calls due to missing encrypted reasoning #1

@exe-dev-github-integration

Description

@exe-dev-github-integration

Summary

Pi's exe.dev ChatGPT LLM integration can fail immediately after a tool call with a Responses API 404:

OpenAI API error (404): 404 Item with id 'rs_...' not found. Items are not persisted when `store` is set to false. Try again with `store` set to true, or remove this item from your input.

Repro

On an exe.dev VM with the Pi exe.dev extension installed:

pi -p --mode json --session-dir /tmp/pi-repro-firecrawl \
  --model openai/gpt-5.5@chatgpt-llm --thinking off \
  'use firecrwal to crawl any page'

The first assistant turn reads the firecrawl-crawl skill, then the next Responses request fails with the 404 above.

Cause

The generic OpenAI Responses provider sends store: false. The exe.dev extension also rewrites ChatGPT-mode payloads with store: false. ChatGPT Responses can still return reasoning output items, which Pi stores in thinkingSignature and replays after a tool call.

Without include: ["reasoning.encrypted_content"], the stored reasoning item only contains an rs_... id. Since store was false, the backend cannot resolve that id on the next request.

Expected fix

For ChatGPT-mode Responses integration models:

  • mark the generated model config as reasoning-capable
  • request reasoning.encrypted_content in the ChatGPT payload rewrite while preserving existing include values

This mirrors the Codex Responses provider behavior, which uses store: false and always includes encrypted reasoning for replay.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions