Boring Terminal
view raw

Configuration

Boring Terminal has one configuration file:

~/Library/Application Support/boringterminal/config

Press ⌘, (Boring Terminal › Open Configuration) to open it. If it doesn't exist yet, the app writes a commented starter file first.

Format

Plain key = value lines. # starts a comment; blank lines are ignored; values may be quoted.

# ~/Library/Application Support/boringterminal/config
font-family = "SF Mono"
font-size = 14

Keys

Key Type Default Notes
font-family string system monospace (SF Mono) must be a monospaced family
font-size number 13 6–72

That is the whole surface, on purpose. Bold, italic, and bold-italic faces are picked from the family where they exist and synthesized where they don't; per-character fallback (emoji, CJK, symbols) is automatic and never changes the cell size. There are no theme, opacity, padding, or cursor keys today.

Hot reload

The file is watched. Save it and every open session re-renders with the new font immediately. No restart, no reload command.

Strictness

The file is validated as a whole:

  • An unknown key or invalid value rejects the entire file.
  • At launch, a rejected file is logged and ignored; the app starts with defaults rather than refusing to start.
  • On reload, a rejected file keeps the current settings.
  • A font-family that isn't installed or isn't monospaced falls back to the system monospace font.

Not in the file

Sidebar visibility (⌘B) and sidebar width (drag the edge) are remembered automatically as app state. They are direct manipulations, not configuration.

Text size works the same way: ⌘+, ⌘−, and ⌘0 scale the terminal font temporarily, within the same 6–72 point bounds, and never rewrite the file. Changing font-size in the file resets the temporary scale to the new value.

Version 0.6.0, a universal DMG for macOS 13 and later. If the download did not start, download it directly or get it from the GitHub releases.

First launch

Releases are not yet notarized, so Gatekeeper refuses a plain double-click the first time. Any one of these works, once:

More detail in the install docs.