Client or integration
Codex App
Area
Proxy and routing
Summary
With Codex App connected to OpenCodex and using a routed OpenAI-compatible Responses provider, an image request completed successfully upstream, but the generated image was not displayed in the conversation. The session contained a completed image_generation_call with valid image data, without a corresponding usable image file or displayable assistant image message.
Expected: when this supported hosted-image path returns a valid result, the local Codex client should receive a usable image output, including a displayed image or accessible artifact.
This report concerns hosted image results returned inside /v1/responses, not a failed standalone /v1/images/generations request. The original Responses request returned HTTP 200. The evidence establishes a persistence/display compatibility gap in this configuration; it does not establish that OpenCodex alone is the root cause.
Reproduction
- Use OpenCodex 2.64.0 with Codex App connected to its local proxy. The separate Desktop application build was not recorded.
- Configure a keyed
openai-responses provider and select its routed model. Provider and model identifiers below are placeholders.
- Ask the built-in image tool to generate a simple landscape.
- For the failing attempt, the provider returned a hosted
image_generation_call in the Responses output, with status: completed and a non-empty result.
- Observe that the conversation does not show the generated image. Inspecting the session and decoding the result locally confirms that complete image data was received.
The live failure was captured once and reproduced by replaying that captured response through the local delivery code. Tool selection can choose a different path, so this is not a claim that every image request fails. A client-side image tool call using the standalone Images route and native generated-image output worked in the same environment.
Version
2.64.0
Operating system
macOS (exact version omitted for privacy)
Provider and model
An OpenAI-compatible Responses provider; adapter: openai-responses; authMode: key. Provider and model names are withheld for privacy. example-provider and example-model below are placeholders.
Logs or error output
Sanitized diagnostic summary; payload, identifiers and exact sizes omitted.
Method/path: POST /v1/responses
HTTP status: 200
Output item type: image_generation_call
Output item status: completed
Result: non-empty base64
Decoded image: valid PNG
Observed client behavior: no displayed image or usable local image artifact for this result
Screenshots and supporting files
No raw session logs or full image payloads are attached.
A local compatibility prototype in the Responses delivery layer validates and saves hosted image results, then emits an assistant message containing a local image reference for loopback Codex clients. Raw upstream replay items are preserved; generic/remote clients are left unchanged. The prototype passed 11 targeted tests covering SSE/JSON delivery, terminal snapshots, invalid image data, normal tool/text output, and client scoping. After restarting the local service, a live request produced a valid PNG and a displayable assistant image message. This is local validation only, not a claim of full repository CI coverage or an accepted upstream design.
Related reports and changes:
Would maintainers prefer a narrowly scoped local-client display adapter in OpenCodex, or should this hosted-result handling be addressed exclusively in the Codex client? A follow-up PR can include the regression fixture and proposed compatibility boundary.
Redacted configuration
Illustrative shape only; provider and model identifiers are placeholders, and endpoints and credentials are omitted.
{
"providers": {
"example-provider": {
"adapter": "openai-responses",
"authMode": "key",
"models": ["example-model"]
}
}
}
Checks
Client or integration
Codex App
Area
Proxy and routing
Summary
With Codex App connected to OpenCodex and using a routed OpenAI-compatible Responses provider, an image request completed successfully upstream, but the generated image was not displayed in the conversation. The session contained a completed
image_generation_callwith valid image data, without a corresponding usable image file or displayable assistant image message.Expected: when this supported hosted-image path returns a valid result, the local Codex client should receive a usable image output, including a displayed image or accessible artifact.
This report concerns hosted image results returned inside
/v1/responses, not a failed standalone/v1/images/generationsrequest. The original Responses request returned HTTP 200. The evidence establishes a persistence/display compatibility gap in this configuration; it does not establish that OpenCodex alone is the root cause.Reproduction
openai-responsesprovider and select its routed model. Provider and model identifiers below are placeholders.image_generation_callin the Responses output, withstatus: completedand a non-emptyresult.The live failure was captured once and reproduced by replaying that captured response through the local delivery code. Tool selection can choose a different path, so this is not a claim that every image request fails. A client-side image tool call using the standalone Images route and native generated-image output worked in the same environment.
Version
2.64.0
Operating system
macOS (exact version omitted for privacy)
Provider and model
An OpenAI-compatible Responses provider; adapter:
openai-responses; authMode:key. Provider and model names are withheld for privacy.example-providerandexample-modelbelow are placeholders.Logs or error output
Screenshots and supporting files
No raw session logs or full image payloads are attached.
A local compatibility prototype in the Responses delivery layer validates and saves hosted image results, then emits an assistant message containing a local image reference for loopback Codex clients. Raw upstream replay items are preserved; generic/remote clients are left unchanged. The prototype passed 11 targeted tests covering SSE/JSON delivery, terminal snapshots, invalid image data, normal tool/text output, and client scoping. After restarting the local service, a live request produced a valid PNG and a displayable assistant image message. This is local validation only, not a claim of full repository CI coverage or an accepted upstream design.
Related reports and changes:
generating; this report hascompleted.generating; that condition differs from this capture.Would maintainers prefer a narrowly scoped local-client display adapter in OpenCodex, or should this hosted-result handling be addressed exclusively in the Codex client? A follow-up PR can include the regression fixture and proposed compatibility boundary.
Redacted configuration
Illustrative shape only; provider and model identifiers are placeholders, and endpoints and credentials are omitted.
{ "providers": { "example-provider": { "adapter": "openai-responses", "authMode": "key", "models": ["example-model"] } } }Checks