Show local image previews in the TUI
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 54/100
Research direction
Start by reviewing the linked proof-of-concept commit and the codex-tui test suite. Trace how final responses, terminal resizing, transcript scrolling, and codex resume are handled, keeping internal image reads separate from explicitly referenced images. Done means Kitty previews work with the stated fallbacks and remain correct across those states.
Written by the indexing model from the issue text.
Description
What variant of Codex are you using?
Codex CLI (TUI), tested in Kitty
What feature would you like to see?
When Codex references a local image in its final response, it would be useful to show a small preview directly below the path.
Right now, every referenced image has to be opened separately. This becomes inconvenient when working on UI, screenshots, generated images, or other visual tasks.
The original path should remain visible and clickable. The preview should preserve the image's aspect ratio and remain available after resizing the terminal, scrolling through the transcript, or reopening the session with codex resume.
Only images explicitly referenced in the final response should be shown. Images that Codex opened internally while working should not appear in the transcript.
On terminals without the required image support, or when a file is missing or cannot be decoded, Codex should simply leave the path as normal text.
Additional information
I built a proof of concept for this behavior:
https://github.com/Kpyruy/codex/commit/aaea18d724554c8ec108ba9c3a26a40a7fb6e8f8
It uses the Kitty graphics protocol and supports PNG, JPG/JPEG, WebP, and GIF files. Previews are reconstructed from the saved final response and the session working directory, so they also work after codex resume without storing image data in the conversation history.
The targeted image, streaming, and resume tests pass locally, as does the full codex-tui test suite.
I am opening an issue first as requested in the contribution guidelines. If this approach fits the project's direction, I would be happy to prepare a pull request if invited.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- Avg merge
- 1m
- Merged PRs (30d)
- 1k
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from openai/codex
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug CLI windows-os
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
macOS sandbox blocks hw.optional.arm64 sysctl, causing Flutter to misdetect Apple Silicon as x64 Openbug CLI sandbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug CLI TUI
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
CLI config enhancement skills
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
A-linter
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oxc-project/oxc#26863 ·