[FEATURE] Force table rendering independent of terminal width / font size
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Claude Code chooses between rendering structured data as a table vs. a list based on the terminal's available character-column count. This couples two things that should be independent: font size / zoom (a readability and accessibility preference) and layout choice (table vs. list).
When running a large font or a zoomed-in display — often for accessibility reasons — fewer character-columns fit, so Claude Code silently falls back to a list layout. The result is that the users who most need readable output are the ones who can't get tables, even when the data would be perfectly legible as a table at their font size.
Crucially, this isn't a hard width limit. There's a reliable trick that proves the table renders fine at the large font: temporarily shrink the font (more columns become available), let Claude render a table, then zoom back in — the table persists as a table. So the table/list decision is sampled once at render time from the column count available then; it's never re-evaluated, and the large font is not actually too narrow to display the table.
Proposed Solution
Add a way to force table rendering independent of live terminal width. Any of:
- A settings.json option such as forceTableRendering: true
- A configurable minColumnWidth / column-threshold override
- A flag to always prefer tables (let them wrap or scroll horizontally rather than degrade to a list)
Things that do not work today:
- Fullscreen TUI mode (/tui fullscreen)
- CLAUDE_CODE_NO_FLICKER=1
Both affect repaint behavior only, not the width-detection threshold, so the list fallback still occurs. The only working workaround is the manual shrink-font → render → zoom-back trick, which has to be repeated and is awkward as an accessibility accommodation.
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
Interactive mode (TUI)
Use Case Example
- Set a large terminal font / zoom in significantly (e.g., for low vision).
- Ask Claude something that produces tabular output.
- Observe it renders as a list instead of a table.
- Shrink the font, re-run → it now renders a table. Zoom back in → the table persists, confirming the large font can display it.
Additional Context
This is fundamentally an accessibility gap: large-font and zoom users are pushed into a degraded layout precisely because of the accommodation they need. Decoupling layout choice from live font size / terminal width would resolve it.