codex - 💡(How to fix) Fix Feature: full-grid table borders (row separators) in TUI markdown renderer

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…

Code Example

┌─────┬─────┐
H1H2├─────┼─────┤   ← only separator
│ a   │ b   │
│ c   │ d   │
│ e   │ f   │
└─────┴─────┘

---

┌─────┬─────┐
H1H2├─────┼─────┤
│ a   │ b   │
├─────┼─────┤
│ c   │ d   │
├─────┼─────┤
│ e   │ f   │
└─────┴─────┘

---

[tui]
table_row_separator = "header_only"   # default, current behavior
# or
table_row_separator = "always"        # full-grid style
RAW_BUFFERClick to expand / collapse

What variant of Codex are you using?

CLI (TUI), version 0.131.0-alpha.9, macOS arm64

What feature would you like to see?

Add an option to draw a horizontal separator between every row in TUI markdown tables, not only between the header and the body.

Today render_table_lines() in codex-rs/tui/src/markdown_render.rs emits:

┌─────┬─────┐
│ H1  │ H2  │
├─────┼─────┤   ← only separator
│ a   │ b   │
│ c   │ d   │
│ e   │ f   │
└─────┴─────┘

I would like a "full grid" mode where each row is separated:

┌─────┬─────┐
│ H1  │ H2  │
├─────┼─────┤
│ a   │ b   │
├─────┼─────┤
│ c   │ d   │
├─────┼─────┤
│ e   │ f   │
└─────┴─────┘

Why this matters

  • When cells contain multi-line content (wrapped links, <br>, long inline code), it becomes hard to tell where one row ends and the next begins without a divider.
  • Many readers (Claude Code TUI, tabulate(..., tablefmt="grid"), most SQL CLIs in "grid" mode, tty-table) draw per-row dividers by default, so users coming from those tools expect the same.
  • It's a pure rendering choice — the underlying data parsing in PR #22052 already supports it; only the border emission loop needs to add ├─┼─┤ after each body row.

Suggested API

A new [tui] config key in ~/.codex/config.toml:

[tui]
table_row_separator = "header_only"   # default, current behavior
# or
table_row_separator = "always"        # full-grid style

Three values would also be reasonable: "none" (ASCII-only), "header_only", "always".

Scope

  • Touch only render_table_lines() and add a config field.
  • Narrow-pane vertical fallback path is unaffected.
  • Fenced code blocks with | are unaffected (they don't go through this renderer).

Additional information

Related PR: #22052 (responsive markdown tables in TUI, merged 2026-05-10). Related closed issues: #22015, #15449, #14308, #8259, #1246.

Happy to send a PR if the team is open to this — the change is ~10 lines plus a config field and a snapshot test.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Feature: full-grid table borders (row separators) in TUI markdown renderer