openclaw - ✅(Solved) Fix [Bug]: `openai-codex/gpt-5.4` is listed/configurable as image-capable, but `image` tool fails with `No media-understanding provider registered for openai-codex` [1 pull requests, 2 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#53708Fetched 2026-04-08 01:24:32
View on GitHub
Comments
2
Participants
1
Timeline
3
Reactions
0
Participants
Timeline (top)
commented ×2cross-referenced ×1

openai-codex/gpt-5.4 appears in model listing as supporting image + text, and OpenClaw accepts it as the configured image model, but the actual image tool fails at runtime with:

No media-understanding provider registered for openai-codex

This makes the current behavior internally inconsistent: model metadata/config says image-capable, but the image-analysis runtime cannot use the provider.

Root Cause

  • model listing says image-capable
  • config accepts it as image model
  • runtime image tool fails because openai-codex is not registered as a media-understanding provider

PR fix notes

PR #56678: fix: normalize openai-codex and github-copilot provider IDs for media-understanding

Description (problem / solution / changelog)

Summary

When using openai-codex (Codex OAuth) or github-copilot as a provider, the image/media-understanding tool fails with:

No media-understanding provider registered for openai-codex

Both providers route through OpenAI models that fully support vision, but normalizeMediaProviderId() did not map them to "openai", so the registry lookup couldn't find the OpenAI media-understanding adapter.

Changes

  • src/media-understanding/provider-id.ts — Added normalization rules: openai-codex → openai and github-copilot → openai, matching the existing gemini → google pattern.
  • src/media-understanding/provider-registry.test.ts — Added two tests confirming both provider variants resolve to the openai media-understanding provider.

Test plan

  • All 5 existing + new media-understanding tests pass (pnpm vitest src/media-understanding)
  • Pre-commit hooks (lint, typecheck) pass
  • Manual verification: configure openai-codex as primary provider → image tool should work without fallback

Changed files

  • src/media-understanding/provider-id.ts (modified, +14/-0)
  • src/media-understanding/provider-registry.test.ts (modified, +43/-0)

Code Example

openclaw models image-fallbacks clear
openclaw models set-image openai-codex/gpt-5.4
openclaw models status

---

No media-understanding provider registered for openai-codex

---

openclaw models image-fallbacks clear
openclaw models set-image openai-codex/gpt-5.4
openclaw models status

---

No media-understanding provider registered for openai-codex
RAW_BUFFERClick to expand / collapse

Summary

openai-codex/gpt-5.4 appears in model listing as supporting image + text, and OpenClaw accepts it as the configured image model, but the actual image tool fails at runtime with:

No media-understanding provider registered for openai-codex

This makes the current behavior internally inconsistent: model metadata/config says image-capable, but the image-analysis runtime cannot use the provider.

Environment

  • OpenClaw version: 2026.3.23-2 (from openclaw status)
  • Install method: npm/global install
  • Auth path: openai-codex OAuth
  • OS: Linux
  • Using openai-codex/gpt-5.4

What I observed

openclaw models list indicates that:

  • openai-codex/gpt-5.4 supports image + text

I then set it as the image model:

openclaw models image-fallbacks clear
openclaw models set-image openai-codex/gpt-5.4
openclaw models status

Status then showed:

  • Image model: openai-codex/gpt-5.4
  • Image fallbacks (0): -

So config accepted the model successfully.

However, when the assistant tried to analyze an image using the built-in image tool, runtime failed with:

No media-understanding provider registered for openai-codex

Expected behavior

One of these should be true:

  1. If openai-codex/gpt-5.4 is not actually supported for the image tool, it should not be listed as image-capable and should be rejected by models set-image.

  2. If it is supported, the image tool should be able to invoke it successfully and should not fail with missing media-provider registration.

Actual behavior

  • model listing says image-capable
  • config accepts it as image model
  • runtime image tool fails because openai-codex is not registered as a media-understanding provider

Why this seems important

This is especially confusing because onboarding/docs/UI can make openai API-key auth and openai-codex OAuth feel closely related, but in practice they seem to behave differently in runtime/tool support. The current behavior makes it look like openai-codex/gpt-5.4 supports image input when the actual image-analysis path does not.

Repro

  1. Authenticate with OpenAI Codex OAuth
  2. Confirm openai-codex/gpt-5.4 is listed as supporting image + text
  3. Run:
openclaw models image-fallbacks clear
openclaw models set-image openai-codex/gpt-5.4
openclaw models status
  1. Use the built-in image tool on any image
  2. Observe runtime failure:
No media-understanding provider registered for openai-codex

Question

Is this:

  • intended separation between model metadata and image-tool runtime support,
  • missing media-provider registration for openai-codex,
  • or a regression/bug in model capability exposure?

extent analysis

Fix Plan

To resolve the issue, we need to register openai-codex as a media-understanding provider.

Here are the steps:

  • Check if openai-codex has a media-understanding provider implementation.
  • If it does, register it in the media_providers configuration.
  • If not, consider using a different model that has a registered media-understanding provider.

Example code to register a media provider:

# media_providers.py
from openclaw.media import MediaProvider

class OpenAICodexMediaProvider(MediaProvider):
    def __init__(self, model_name):
        self.model_name = model_name

    def analyze_image(self, image):
        # Implement image analysis using openai-codex
        pass

# Register the media provider
media_providers = {
    'openai-codex': OpenAICodexMediaProvider('openai-codex/gpt-5.4')
}

Then, update the openclaw configuration to use the registered media provider:

openclaw config set media_providers.openai-codex OpenAICodexMediaProvider

Verification

After registering the media provider, verify that the image tool can analyze images without failing:

  1. Run the image tool on an image.
  2. Check the output for successful image analysis.

Extra Tips

  • Ensure that the openai-codex model is correctly configured and authenticated.
  • If using a different model, verify its media-understanding provider registration.
  • Refer to the openclaw documentation for more information on media providers and configuration.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

One of these should be true:

  1. If openai-codex/gpt-5.4 is not actually supported for the image tool, it should not be listed as image-capable and should be rejected by models set-image.

  2. If it is supported, the image tool should be able to invoke it successfully and should not fail with missing media-provider registration.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING