Skip to content
All Docs pages

Reference

Settings and themes

What you can change, what a repository can change on your behalf, and why every accent is a shade of blue.


Settings is a place you go rather than a dialog that covers what you were doing. So is Setup. Both open from the sidebar footer and replace the session view, because they are somewhere you read rather than a question to answer before continuing.

Sections

  • Appearance. Scheme and accent.
  • Defaults. Default permission mode, effort, model, notification level, concurrency limits, the agent cap per squad, whether squads start with a plan gate, and whether destructive actions confirm.
  • Repositories. The repositories Fleet knows about, the default one, the GitHub organisation the browser lists, and where clones land.
  • Per-repository settings. Setup and archive scripts, run scripts, included file globs, environment variables, and quick action prompt overrides.
  • Roles. The editable half of a squad member's prompt. See roles.
  • MCP. Your own servers, plus any a repository declared. See MCP servers.
  • Checkpoints. Whether one is taken before each turn.
  • Shell. Terminal behaviour.

Two settings layers

Per-repository settings come from two places: Fleet's own store, and the repository's checked-in .fleet/settings.json.

The repository file wins where it declares something, and Fleet shows you which layer owns each key rather than pretending you are editing something you are not. Anything the parser could not use is listed as a problem, because a settings file that half parsed and said nothing is the same silent failure as no settings file at all.

That file is how a team shares one workflow: the same setup script, the same run scripts, the same .env.local glob, for everyone who opens the repository in Fleet.

Themes are two axes

A scheme and an accent, chosen independently.

Four schemes: Midnight and Graphite are dark, Cream and Paper are light. Three accents: Blue, Violet, Indigo.

That is twelve themes from a small amount of CSS, and adding one accent adds four combinations rather than one.

Why every accent is blue to violet

Not taste. Cyan, amber, green and red already mean running, blocked on you, done and failed, so an accent anywhere near one of them makes status ambiguous. That leaves the blue to violet band, and a test asserts the hue range so it stays that way.

The accent is interactive chrome only: selection, focus, links, the send button. It never carries status, which is what keeps it out of the way of the four colours that do.

Status is shape as well as colour

The status dot varies its form, not just its hue: a glyph for blocked and for failed, a glowing dot for running, a hollow ring for idle, a rounded square for an orchestrator. Colour alone would not survive a red-green deficiency in a sidebar that dense.

Notifications

Three levels: off, only when something is blocked on you, or everything. The default is the middle one, because the premise of the app is that you walk away from four agents and want to know when one needs you.

Notifications are invisible in a development build, and macOS silently drops them for an unsigned app, so a packaged signed build is the only place to check them.

Motion

Everything is under 300ms, entries fade in from 97 per cent rather than from nothing, and pressable things scale slightly under a real pointer but not under a tap. With reduced motion turned on in macOS, nothing animates.