Skip to content

Dark mode, light mode and themes

Offsite follows the system by default and can be pinned:

Mode Behaviour
Automatic follows macOS / iOS appearance
Light always light
Dark always dark

The setting is per device, so your Mac can stay dark while your phone follows the sun.

Three themes ship with the app — Classic, Blue and Her — and you can edit them in the Command Center.

A theme is two separate palettes, and the split matters:

Palette Controls Example
App theme cards, sidebar, dialogs, buttons, badges, dividers the chrome around your work
Terminal theme the terminal surface only — foreground, background, cursor, the 16 ANSI colours, dim opacity what your CLI draws

They are never mixed. Terminal colours are for terminal content; app colours are for app chrome. That is why editing your terminal background does not tint the sidebar, and why an app accent colour can be near-black without making text disappear.

Light appearance Dark appearance app theme — card chrome terminal theme — content app theme — card chrome terminal theme — content The bottom line is a dim ANSI colour — the one agent CLIs use for questions and the first thing to become unreadable if a palette is tuned for one mode only
Two palettes, one card. Everything outside the inner surface comes from the app theme; everything inside it, including the sixteen ANSI colours, comes from the terminal theme.

The terminal palette matters more than it looks

Section titled “The terminal palette matters more than it looks”

Agent CLIs use indexed and dim ANSI colours heavily — Claude’s question text is a dim colour, not the default foreground. Offsite installs the full 16-colour palette plus foreground, background and cursor into every live terminal, on both platforms. If you edit those values, edit them for both appearances: a colour that only reads on dark will be invisible in light mode.

  • Appearance is stored per device under the key offsite.client.theme_appearance_mode; values light, dark, automatic.
  • Theme profiles ship as JSON (classic, blue, her) and the Command Center writes your edits on top of the selected profile.
  • App colours have roles that are enforced in the codebase: canvas colours are for backgrounds and fills, text colours for text, icons and carets. The caret and selection tint always come from the primary text colour, never the accent — the accent is a canvas-group colour and may legitimately be very dark.
  • Diff and code surfaces resolve their own palette, with addition and deletion colours defined separately from the general UI.
  • The docs site you are reading uses the same palette family, which is why lime appears as a darkened olive in light mode: raw lime fails contrast on paper.