Dark mode, light mode and themes
Appearance
Section titled “Appearance”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.
Themes
Section titled “Themes”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.
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.
Details
Section titled “Details”- Appearance is stored per device under the key
offsite.client.theme_appearance_mode; valueslight,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.