Skip to main content
With the OpenAI Responses protocol, you may encounter an error like the following (common with agent tools such as Codex CLI / OpenCode):
This is usually related to reasoning.encrypted_content. This field is used in stateless scenarios to pass “encrypted reasoning state fragments” between multiple turns of requests, improving multi-turn consistency.

When do you run into this problem?

Typical triggering scenarios:
  • You use a tool such as Codex / OpenCode to call the Responses endpoint
  • The tool automatically adds include: ["reasoning.encrypted_content"] to the request, and in the next request sends back the reasoning.encrypted_content (or the type:"reasoning" item) returned last time
  • Meanwhile, Poixe, as an aggregation gateway, schedules across multiple Keys / multiple organizations (org/project) for capacity and stability This causes the “encrypted fragment generated in the previous turn” to mismatch the “organization/Key actually hit in the next turn”, triggering a verification failure (the organization_id did not match you see)
In short: an encrypted reasoning fragment is not a session credential that works across organizations/Keys, and it is easy to trip over in load-balanced / multi-Key proxy environments.

How Poixe handles it: filtering encrypted-reasoning fields

To avoid this kind of hard error that “blows up starting from the second turn”, Poixe makes a compatibility trade-off on Responses requests, mainly including:
  1. Removing include.reasoning.encrypted_content from the request (so the upstream does not return this field)
  2. Cleaning up reasoning fragments in the historical items of the request body
    • Deleting items with type: "reasoning", as well as all encrypted_content fields
This means that even if Codex / OpenCode automatically carries these parameters, they will be filtered out and removed once they reach Poixe, ensuring that organization mismatch errors are not triggered under multi-Key scheduling.

Impact and notes

  • Filtering does not “delete your conversation content”; your input/messages are still forwarded normally
  • However, in stateless multi-turn flows, without the “reasoning continuation boost” from reasoning.encrypted_content, some agent tasks may show:
    • Reduced multi-turn consistency
    • Repeated planning and a stronger sense of lost context (this is a side effect of the inherent conflict between the upstream mechanism design and the proxy architecture)

Need help?

If you confirm that the missing field causes a major functional problem (for example, Codex/OpenCode multi-turn does not work properly or quality clearly degrades), please contact us and we will evaluate a better compatibility strategy together.

Contact Us

Report compatibility issues or suggest improvements

References

Azure reference (corroboration of the same concept)

Community discussions / Issues (troubleshooting references)