Format Markdown tables so that they are readable by humans
Resolved 💬 36 comments Opened Dec 18, 2025 by PaulRBerg Closed May 11, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor)
responded on this thread — see the highlighted reply below.
What feature would you like to see?
Markdown tables generated by Codex are not readable by humans - their whitespaces are off.
Additional information
<img width="1071" height="217" alt="Image" src="https://github.com/user-attachments/assets/40d51be6-869d-43c8-bc8b-aed8680484f1" />
36 Comments
Not just this but even text outputs, it almost feels like codex is afraid of spacing
Related: https://github.com/openai/codex/issues/1618
any updates on this? OpenCode has this and this is basically a quick prompt to fix
@guyisra, we generally prioritize features based on upvotes. There are many features ahead of it in the queue.
added https://github.com/openai/codex/pull/10335
+1
I agree that human-readable tables are preferable for terminal output.
However, for repository files, diff-friendly formatting is usually better.
If columns are realigned, even a single change can rewrite the entire table, causing noisy diffs and breaking
git blame.Minimal spacing keeps the change to one line.
So repository files should stay diff-friendly, and only CLI/terminal output should be human-readable.
---
Human-friendly (aligned columns)
Good for terminal output.
But a small change rewrites the whole table, and
git blamebecomes unreliable.---
Diff-friendly
Minimal diffs. Git-friendly.
git blameremains accurate.Better for repository files.
Maybe Codex can generate diff-friendly tables but use a Markdown renderer to display the table in the chat?
I think this problem maybe more important for normal users,who work with text and chat.
I dug into the current Rust TUI implementation and found that markdown tables appear to be unsupported in the renderer today, which seems to explain why table output still shows up as effectively raw pipe syntax in the transcript.
Root cause on
main:codex-rs/tui/src/markdown_render.rs, the pulldown-cmark options only enableENABLE_STRIKETHROUGH; table parsing is not enabled.Tag::Table(_),Tag::TableHead,Tag::TableRow, andTag::TableCell, but currently ignores all of them in bothstart_tag(...)andend_tag(...).So this looks less like a spacing-only problem and more like missing table support in the Rust TUI markdown renderer.
A focused implementation path would be:
codex-rs/tui_app_server/src/markdown_render.rs, since it has the parallel implementationmarkdown_render_tests.rsdoes not appear to cover themIf this direction matches the intended solution, I’d be happy to help sketch a concrete implementation plan.
Follow-up: I implemented a concrete draft fix on my fork and tried to open an upstream PR, but GitHub rejected
createPullRequestfor my account on this repository.Implementation branch:
Compare view against
openai/codex:main:What is included:
codex-rs/tuicodex-rs/tui_app_serverVerification I ran locally:
cargo test -p codex-tuicargo test -p codex-tui-app-serverIf this direction matches the intended solution and you would like an invited PR instead, I can re-open the contribution through the preferred flow.
this problem need to be fixed
bump
Can we get some attention to this issue please?
@shrinidhi4u, we generally prioritize feature requests based on upvotes. This feature request has received a fair number of upvotes so it will likely reach the front of the priority queue soon.
When will Codex be upgrading its formatting and readability to keep up with other clients/apps which have had this basic stuff for years?
this is very much needed, reading raw md table is a pain
Came here to say that this is a crime:
<img width="740" height="447" alt="Image" src="https://github.com/user-attachments/assets/a61a71f0-1975-4e75-bace-5f4aa0660eda" />
Claude Code renders tables quite nicely -- and they're adaptive! So if the table grows too much and overflows, or if the screen is narrow, it'll switch to a stack of blocks separated by a divider.
This is reason that i only use codex app not codex cli. Terrible table. Table is a common format to organize information and increasing information density, so so so common. But cant work well in codex cli.
Yikes... can openai not vibe code a fix for this? It's crazy the TUI agent responses are spitting out markdown code for tables... looks so jank.
Use the below prompt. It will fix the render of table
This fixed the table for me https://github.com/openai/codex/issues/8259#issuecomment-4256642378
Obviously anyone can vibe code a fix that isn't the point though. We shouldn't have to build our own every time a new release comes out for such a foundational feature.
It's probably an intentional mask for a bug to avoid doing platform compatibility testing. I say bug because u don't typically implement markdown and skip basic functionality unless it caused issues. Streaming tables can be tricky based on everyone's terminal support.
I think it's definitely worth prioritizing though. Markdown is the LLM's native tongue. The client should support it.
Adding another real-world repro from today: Codex CLI returned a Markdown table for a service reachability report, and in the terminal it was shown as raw pipe syntax instead of a rendered table. The user explicitly asked whether Codex CLI cannot render Markdown because the output was hard to scan.
This is not just cosmetic. Tables are one of the most common formats for status reports, test matrices, service checks, code review findings, and release summaries. When the CLI shows raw Markdown, the agent has to avoid Markdown tables and fall back to manually aligned plain text.
Desired behavior:
Claude Code handles this class of output much more cleanly today. Codex CLI would benefit a lot from native Markdown table rendering rather than requiring every agent response to work around the display layer.
Please 😭
The way this is being handled is similar to Apple's delay in rolling out the copy-paste feature
Been also bothered by this, made an app that renders selected markdown in popover.
It's been working well enough for me as a workaround, so I released it. May mitigate your pain until the issue is resolved.
repo: https://github.com/Liooo/glance.md
<img width="800" height="551" alt="Image" src="https://github.com/user-attachments/assets/07e29d99-26d9-42fb-9a46-ea7d6cba5583" />
+1.
Hard for humans to read table output from codex cli. Unfortunately, I'm a human.
Please improve this. It's very common to have tables in responses.
I've been using Codex for the past few months as a DL researcher, and it's absolutely terrible. I spend countless hours looking at tables every day. Meanwhile, I don't see any real changes in Codex CLI itself. Please find a solution, it's unbearable.
I validated a local implementation for this with a deliberately small scope: rich TUI transcript rendering only, leaving generated repository Markdown and raw output mode unchanged.
What I found:
pulldown_cmark::Options::ENABLE_TABLES.Tag::Table,TableHead,TableRow, andTableCellare currently ignored in the markdown renderer.Header: value; otherwise wrapped tables become harder to read than raw Markdown.I have this working locally with focused renderer tests, streaming coverage, and
instasnapshots for wide table rendering, narrow fallback, streamed TUI output, and raw-mode preservation.If maintainers want this direction, I can open an invited PR. If you prefer app-server renderer parity in the same PR, I can include that as well; otherwise I would keep the first PR TUI-only and small.
Three
-are also valid and good.| Animals | Nature | Colors |
| --- | --- | --- |
| cat | sun | red |
| Hippopotamus | sky | blue |
| fox | sea | green |
It passed markdownlint-cli2.
Fix this please
I'm trying to use Codex and GPT 5.5 for data analysis and comparison, and it's just not working because of this problem. Tables are all scrambled. Most other CLIs have this right.
Having to constantly ask Codex to fix its tables is the number one issue that's preventing me from using it as a daily driver.
Please fix it.
Please fix this.
Codex CLI has improved the output a lot on spacing. Please improve also on the table view and equation rendering.
seems like it will be in the new release https://github.com/openai/codex/pull/22052
This will be addressed in the next release of the CLI (0.131.0).