Personalization
One theme drives the whole app, not just the terminal. Pick a font with proper CJK fallback, a cursor, an app icon, and a UI language.
Moshi's appearance settings are meant to make long terminal sessions readable on different devices and lighting conditions — but they also do something most terminals don't: a single theme drives the whole app, not just the shell pane.
Themes are global
When you switch themes in Moshi, you change the terminal palette and the surrounding app chrome at the same time — sheets, buttons, settings rows, the home screen, the inbox. There is no separate "app theme" to fight with the "terminal theme."
This means a few things in practice:
- Pick Catppuccin Mocha and your Settings sheet, your inbox cards, and your terminal all share one hue.
- Pick Solarized Light and the entire app flips to a light surface set, with iOS keyboard and system bars in light mode automatically.
- Each theme has a single accent color used everywhere a primary action lives: the active toolbar pill, the focus ring on a button, the Pro badge. Dracula's purple, Nord's frost, Gruvbox's mustard yellow — that's the same color across all surfaces.
The app background sits one small elevation step away from the terminal background on purpose, so the terminal viewport reads as a distinct surface instead of dissolving into the chrome. You see the terminal as something resting on top of the app, not as the app itself.
Built-in themes
Moshi ships nine themes grouped by mode in Settings -> Theme:
- Dark: Moshi (default), Dracula, Nord, Solarized Dark, Gruvbox, Catppuccin Mocha
- Light: Solarized Light, Catppuccin Latte, GitHub Light, Rosé Pine Dawn
Some themes are Pro-only.
Light themes get extra care under the hood — the 256-color ramp used by tools like htop, btop, and Neovim status lines is inverted so light grays render dark on bright backgrounds, and reverse-video text stays readable. You should not see "invisible" status lines or selection highlights on a light theme.
Fonts
Open Terminal Fonts to pick the terminal font and font size.
The default is JetBrains Mono, embedded in the app. Three additional Latin monospace fonts are available as on-demand downloads:
- Iosevka — narrow, programming-oriented, slab-serif
i/ldistinction. - Ioskeley — Iosevka derivative with a stronger personality and wider glyphs.
- DejaVu Sans Mono — wide, classic, generous spacing.
On-demand fonts download the first time you select them and stay on the device until you delete them.
CJK fonts
Picking a CJK font in Moshi works differently from picking a Latin one. CJK fonts here are glyph fallbacks, not primary fonts.
When you select Noto Sans Mono CJK JP, SC, TC, or KR:
- ASCII / Latin characters keep rendering in the default monospace face — your code, file paths, and prompt symbols still look like a code font.
- Japanese, Chinese, or Korean characters in the same line are filled in by the chosen CJK font.
- Glyphs stay vertically aligned with the Latin grid so a mixed-language line of, say, code with Japanese comments doesn't fight itself.
The four CJK options correspond to:
- Noto Sans JP — Japanese.
- Noto Sans SC — Simplified Chinese.
- Noto Sans TC — Traditional Chinese.
- Noto Sans KR — Korean.
Pick the one that matches the language you most often see in tmux, your shell prompt, or your git log output. They are large fonts, so they download on demand and can be deleted when no longer needed.
If you primarily work in English with the occasional Japanese filename, you do not need a CJK font enabled — iOS will fall back to a system CJK face. The CJK options here are for users who regularly read CJK content in the terminal and want consistent, properly-spaced glyphs.
Cursor
Cursor style can be:
- Block.
- Underline.
- Bar.
Cursor blinking can be turned on or off separately.
Glass effect
The glass effect changes the terminal background treatment. Turn it off if you prefer a flatter terminal surface or want maximum contrast.
App icon
Alternate app icons are available from Settings. Some icons are Pro features.
Language
The app language can follow the system automatically or be pinned to a supported locale. This is the UI language only — terminal output is whatever your shell and tools produce on the host.
Active sessions layout
Moshi stores a preference for active session layout. Depending on device and app state, sessions can be presented as cards or a denser list. Use the layout that makes switching fastest for your workflow.