Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions