[BUG] Mobile app (Android): Claude Code code blocks render in a proportional font, not monospace
Summary
In the Claude Code chat view of the Android app, fenced code blocks are rendered in the same proportional (sans-serif) font as body text instead of a monospaced font. Fixed-width rendering is the one property a code block is expected to guarantee, and losing it breaks any content whose meaning depends on column alignment.
Impact
This is worse than cosmetic because of how Claude formats output in practice: Claude very frequently puts ASCII tables inside code blocks (column-aligned with |, +---+, or padded spaces). Rendered proportionally the columns no longer line up at all, and those tables become effectively unreadable on mobile — you can see there's a table there, but you can't read across a row. The same applies to:
- tree/directory listings (
├──,└──) - diffs and aligned column output (
git status,ls -l,df, benchmark tables) - any ASCII diagram
- leading-whitespace-sensitive code (Python indentation is much harder to eyeball)
- distinguishing visually similar glyphs (
l/1/I,0/O,rn/m) in identifiers, hashes, and paths
Since reading agent output is most of what the mobile app is used for, this makes a large fraction of Claude Code sessions hard to follow from a phone.
Expected behavior
Fenced code blocks (and inline code) in the Claude Code chat view use a monospaced font, matching the web app and desktop app, so that column-aligned content stays aligned.
Actual behavior
Code blocks are drawn in the same proportional font as surrounding prose. Character advance widths vary, so every column-aligned construct is skewed.
Steps to reproduce
- Open the Android app and start or resume a Claude Code session.
- Ask for output that Claude renders as an ASCII table inside a code block — e.g. "summarize these results as an ASCII table in a code block", or run something like
git status,ls -l, or a benchmark whose output is column-aligned. - Observe that the code block's text is proportionally spaced and the columns do not line up.
For a minimal case, ask Claude to emit exactly this in a fenced block; the two rows should align, and they don't:
| iiiii | mmmmm |
| MMMMM | lllll |
Environment
- Platform: Android (mobile app), Claude Code chat view
- Comparison: the same content renders correctly monospaced in the web app and desktop app, so this looks specific to the Android renderer's code-block text style rather than to the content being sent
Notes on related issues
Checked for duplicates; these are related but distinct:
- #12238 — markdown tables unreadable on mobile (closed; about table layout, not code-block font)
- #65073 — mobile inline code applied ligature substitution to
<=/>=(closed; implies a code font was in use for inline code at least at one point) - #83867 — request to apply the dyslexic-friendly chat font to the desktop Code tab
I did not find an open issue covering "Android code blocks are not monospaced."
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗