codex - 💡(How to fix) Fix Separate chat text, code block, terminal, and UI font settings in the macOS desktop app

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…

The current Appearance settings expose only two font options:

  • UI Font

  • Code Font

However, these settings currently control four distinct font use cases:

Current SettingAffects
UI FontApplication UI + chat text
Code FontCode blocks/inline code + terminal

These are fundamentally different types of content with different typography requirements. The current coupling makes it difficult to customize the reading experience and can introduce UI consistency and layout issues.

Root Cause

  • Reduced risk of UI layout regressions caused by content-font customization
RAW_BUFFERClick to expand / collapse

What variant of Codex are you using?

26.527.31326 (3390)

What feature would you like to see?

Summary

The current Appearance settings expose only two font options:

  • UI Font

  • Code Font

However, these settings currently control four distinct font use cases:

Current SettingAffects
UI FontApplication UI + chat text
Code FontCode blocks/inline code + terminal

These are fundamentally different types of content with different typography requirements. The current coupling makes it difficult to customize the reading experience and can introduce UI consistency and layout issues.

Problem

1. Chat text font and UI font are different concerns

The current UI Font setting controls both:

  • Application UI (sidebar, settings panels, dialogs, menus, buttons)

  • Normal chat text

In practice, users often want different fonts for these two purposes.

For example:

  • UI: SF Pro, Inter, Helvetica

  • Chat text: Charter, New York, Source Serif, Literata

Currently, changing the chat reading font also changes the entire application UI. This makes it impossible to optimize chat readability independently from the interface typography.

In addition, changing fonts for content reading can unintentionally affect interface layout. For example, issue #17427 demonstrates how font-related customization can create problems in parts of the application that are unrelated to chat content.

2. Code font and terminal font are different concerns

The current Code Font setting controls both:

  • Inline code

  • Fenced code blocks

  • Integrated terminal

These are different use cases and often benefit from different font choices.

For code displayed inside chats, users may prefer a font that complements the surrounding text and provides good readability for short snippets. Examples include:

  • Monaspace Argon

  • Monaspace Krypton

  • Berkeley Mono

  • JetBrains Mono

For terminal usage, users often prioritize:

  • Strict monospacing

  • Compact width

  • Dense information display

  • Powerline/Nerd Font glyph support

Examples include:

  • Iosevka

  • Iosevka Term

  • MesloLGS NF

  • JetBrains Mono NL

Using the same font for both code blocks and terminals often results in inconsistent sizing, spacing, and visual appearance.

Proposed solution

Separate font configuration into three independent settings per theme:

Text Font

Used for:

  • User messages

  • Assistant responses

  • General chat content

Code Font

Used for:

  • Inline code

  • Fenced code blocks

  • Syntax-highlighted code

Terminal Font

Used for:

  • Integrated terminal only

The application UI (sidebar, settings panels, menus, dialogs, etc.) could continue using the system default UI font and would not necessarily need a user-configurable setting.

Alternatively, if UI font customization is considered important, it could remain as a separate advanced setting rather than being tied to chat text.

Benefits

  • Better readability for long conversations

  • Independent customization of reading and interface typography

  • Better terminal usability

  • More consistent visual hierarchy between text, code, and terminal content

  • Reduced risk of UI layout regressions caused by content-font customization

  • Greater flexibility for multilingual users

  • Better support for users with strong typography preferences

Example configuration

A user might reasonably want:

  • UI Font: System default (SF Pro)

  • Text Font: Source Serif 4

  • Code Font: Monaspace Krypton

  • Terminal Font: Iosevka Term

This configuration is currently not possible because chat text is tied to the UI Font setting and terminal text is tied to the Code Font setting.

Additional information

No response

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 Separate chat text, code block, terminal, and UI font settings in the macOS desktop app