openai / openai/codex

[Android Remote] Clipboard images are rejected despite advertised image MIME support

Open
#44,642 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug remote
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using?

ChatGPT Android 1.2026.251.

What subscription do you have?

Not disclosed; the behavior appears client-side and is reproducible before sending a message.

What platform is your computer?

Remote host platform: not relevant; the issue also reproduces with a PC-hosted Codex session.
Affected client: ChatGPT Android on Android 16.
Reproduction input method: Samsung Keyboard 5.9.30.97.

What issue are you seeing?

In a Codex Remote task, selecting an image from the Android keyboard clipboard does not attach it. ChatGPT displays this toast:

ChatGPT에 이미지를 추가할 때 삼성 키보드나 클립보드를 사용할 수 없어요.

Approximate English translation: "Samsung Keyboard or the clipboard cannot be used when adding images to ChatGPT."

The same clipboard image attaches successfully in a normal, non-Remote ChatGPT conversation in the same Android app. This confirms that Android clipboard-image insertion itself is working and that the failure is specific to the Codex Remote composer.

Scope isolation:

  • Text clipboard paste works in the same Remote composer.
  • The same clipboard image attaches successfully in a normal ChatGPT conversation in the same Android app.
  • The Remote composer's + photo picker works.
  • Image paste works in the PC Codex client.
  • The same failure occurs when the Android app controls a PC-hosted Codex session, so it is not specific to the remote host environment.
  • Therefore this is specific to rich-content delivery from the Android IME into the Codex Remote composer, not a general keyboard or clipboard failure.
What steps can reproduce the bug?
  1. On ChatGPT Android, open a Codex Remote task.
  2. Focus the message composer.
  3. Open the Android keyboard's clipboard panel.
  4. Tap a copied image.
  5. Observe that no attachment is added and the toast above appears.
  6. Open a normal, non-Remote ChatGPT conversation in the same app.
  7. Tap the same clipboard image and observe that it attaches successfully.

This reproduces consistently on the versions listed above.

What is the expected behavior?

The selected clipboard image should be attached, matching the normal ChatGPT composer and the Codex Remote + photo-picker behavior.

Additional information

Runtime inspection while the Remote composer is focused reports:

  • package: com.openai.chatgpt
  • contentMimeTypes=[*/*, image/*, video/*]
  • privateImeOptions=null

A local inspection of the installed APK found that the Remote composer uses CodexRemotePromptComposer / CodexRemoteThreadReplyComposer. Its receive-content callback returns the original rich-content payload unchanged. The Compose receive-content path consequently treats the payload as unconsumed, and the final commitContent fallback returns false. The + picker uses a separate Remote image-picker and attachment-preparation path, which explains why the picker succeeds while IME clipboard images fail.

This also creates an API mismatch: the editor advertises image MIME support to the IME but rejects the delivered image content.

Possible fix: route IME commitContent / receive-content payloads into the existing Remote attachment-preparation path. If rich-content insertion is intentionally unsupported, the Remote editor should not advertise image MIME types.

No account identifiers, thread IDs, unique device identifiers, network addresses, or user image contents are included.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating CodexRemotePromptComposer and CodexRemoteThreadReplyComposer, then inspect their receive-content callback and the existing Remote image-picker attachment-preparation path. Compare how clipboard image content and text paste are handled. Done means an Android keyboard clipboard image attaches in the Remote composer like the + photo picker, while text paste continues to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.