Client or integration
Codex App
Provider or upstream service
CommandCode (command-code)
OpenCodex version
2.31.0
Endpoint or capability
/v1/models, generated Codex model catalog, and /v1/responses image input
Current behaviour
OpenCodex's built-in CommandCode model registry does not declare image input for several models whose upstream route accepts images. Consequently, the generated Codex model catalog exposes those targets as text-only. In Codex App, Image / multimodal becomes unavailable when one of these targets participates in a combo, even when every selected route has been verified to accept image input.
End-to-end image probes succeeded for these CommandCode routes:
gpt-5.6-luna
gpt-5.6-sol
MiniMaxAI/MiniMax-M3
moonshotai/Kimi-K3
meta/muse-spark-1.2
meta/muse-spark-1.2-contributor
openai/ox-alpha
deepseek/deepseek-v4-flash-vision-exp
The issue is not only cosmetic: capability intersection in combo models treats an absent/unknown image declaration as text-only, so one incomplete target disables image input for the whole combo.
Separate real-request probes did not deliver the image for deepseek/deepseek-v4-flash, deepseek/deepseek-v4-pro, zai-org/GLM-5.2, zai-org/GLM-5.3, and xai/grok-4.6. Those routes should not be marked image-capable without upstream fixes and verification.
Expected behaviour
OpenCodex should declare input_modalities: ["text", "image"] for CommandCode models that demonstrably accept image input, and preserve that capability when generating the Codex catalog and combo intersections.
Unknown models should remain conservative. Image capability should not be inferred merely from a family name or marketing profile; it should be backed by provider metadata or an end-to-end request test.
Minimal redacted request or reproduction
# 1. Start OpenCodex 2.31.0 and inspect model metadata.
curl -s http://127.0.0.1:10100/v1/models \
-H "Authorization: Bearer REDACTED" \
| jq '.data[] | select(.id | contains("gpt-5.6-luna"))'
# 2. Select a combo containing command-code/gpt-5.6-luna in Codex App.
# Observe that Image / multimodal is disabled because the CommandCode target
# is projected as text-only/unknown.
# 3. Send the same small image directly through /v1/responses to that target.
# The model correctly identifies unique content from the image, proving that
# the route accepts image input.
Actual response or error
Codex App capability UI:
Image / multimodal
Unavailable until every selected target supports image input.
No provider request error is required to trigger the bug: incomplete model metadata disables the client capability before the request can be made.
Upstream documentation
CommandCode model profiles are available through the CommandCode service/dashboard. I could not find a stable public specification that provides machine-readable input modalities for every route; therefore the capability list above is based on redacted end-to-end image probes.
Suggested mapping or implementation notes
Add explicit image modalities to the built-in CommandCode registry for the verified routes above, or ingest authoritative capabilities from CommandCode if an endpoint is available.
Please keep image capability and reasoning-effort metadata as independent fields when merging custom/provider rows. A custom image override should fill only the modality gap and must not erase inherited reasoning levels.
A regression test could assert:
- verified image-capable CommandCode models retain
image through /v1/models and generated Codex catalog projection;
- combo image capability is enabled only when every target declares image support;
- unknown or experimentally failing routes remain text-only;
- custom modality overrides preserve reasoning metadata.
Additional context
Observed on macOS with Codex App and OpenCodex proxy on 127.0.0.1:10100. Local registry patching confirms that adding explicit modalities restores the Codex App image toggle, while direct provider probes distinguish working routes from models that merely advertise vision elsewhere.
Client or integration
Codex App
Provider or upstream service
CommandCode (
command-code)OpenCodex version
2.31.0Endpoint or capability
/v1/models, generated Codex model catalog, and/v1/responsesimage inputCurrent behaviour
OpenCodex's built-in CommandCode model registry does not declare
imageinput for several models whose upstream route accepts images. Consequently, the generated Codex model catalog exposes those targets as text-only. In Codex App, Image / multimodal becomes unavailable when one of these targets participates in a combo, even when every selected route has been verified to accept image input.End-to-end image probes succeeded for these CommandCode routes:
gpt-5.6-lunagpt-5.6-solMiniMaxAI/MiniMax-M3moonshotai/Kimi-K3meta/muse-spark-1.2meta/muse-spark-1.2-contributoropenai/ox-alphadeepseek/deepseek-v4-flash-vision-expThe issue is not only cosmetic: capability intersection in combo models treats an absent/unknown image declaration as text-only, so one incomplete target disables image input for the whole combo.
Separate real-request probes did not deliver the image for
deepseek/deepseek-v4-flash,deepseek/deepseek-v4-pro,zai-org/GLM-5.2,zai-org/GLM-5.3, andxai/grok-4.6. Those routes should not be marked image-capable without upstream fixes and verification.Expected behaviour
OpenCodex should declare
input_modalities: ["text", "image"]for CommandCode models that demonstrably accept image input, and preserve that capability when generating the Codex catalog and combo intersections.Unknown models should remain conservative. Image capability should not be inferred merely from a family name or marketing profile; it should be backed by provider metadata or an end-to-end request test.
Minimal redacted request or reproduction
Actual response or error
No provider request error is required to trigger the bug: incomplete model metadata disables the client capability before the request can be made.
Upstream documentation
CommandCode model profiles are available through the CommandCode service/dashboard. I could not find a stable public specification that provides machine-readable input modalities for every route; therefore the capability list above is based on redacted end-to-end image probes.
Suggested mapping or implementation notes
Add explicit image modalities to the built-in CommandCode registry for the verified routes above, or ingest authoritative capabilities from CommandCode if an endpoint is available.
Please keep image capability and reasoning-effort metadata as independent fields when merging custom/provider rows. A custom image override should fill only the modality gap and must not erase inherited reasoning levels.
A regression test could assert:
imagethrough/v1/modelsand generated Codex catalog projection;Additional context
Observed on macOS with Codex App and OpenCodex proxy on
127.0.0.1:10100. Local registry patching confirms that adding explicit modalities restores the Codex App image toggle, while direct provider probes distinguish working routes from models that merely advertise vision elsewhere.