Skip to content
Theme:

Settings & Themes

Aether’s terminal UI is powered by Wisp. UI preferences live in Wisp’s settings file, while agent configuration options (models, reasoning, servers) are advertised by the Aether ACP server at runtime.

Stored in ~/.wisp/settings.json:

{
"theme": { "file": "catppuccin.tmTheme" },
"statusLine": {
"separator": " · ",
"left": ["cwd", "gitRef"],
"right": [
"agent",
"mode",
{ "type": "model", "maxWidth": 32 },
"reasoning",
"context",
"serverHealth"
]
}
}

The top-level fields are theme, statusLine, and contentPadding. contentPadding sets the number of blank columns of padding around the conversation content (default 2, minimum 2). Status line segments are described below.

Override the home directory with WISP_HOME:

Terminal window
export WISP_HOME=~/my-wisp-config

Each left and right entry is a segment. Shorthand names are strings; segments that take options use an object form.

SegmentFormDescription
cwd"cwd" or { "type": "cwd", "maxWidth": 40 }Current working directory (truncatable).
gitRef"gitRef"Active git branch or tag.
agent"agent"Active agent name.
mode"mode"Active mode (user-invocable agent profile).
model"model" or { "type": "model", "maxWidth": 32 }Active model (truncatable).
reasoning"reasoning"Current reasoning effort, when applicable.
context"context"Context window usage indicator.
serverHealth"serverHealth"MCP server connection health summary.
text{ "type": "text", "value": "...", "style": "muted" }Arbitrary fixed text. style is optional.

text segment styles: primary, secondary, muted, info, success, warning, error.

Themes are TextMate .tmTheme files. Place them in ~/.wisp/themes/ and reference by filename in settings.

  • Directory~/.wisp/
    • settings.json
    • Directorythemes/
      • catppuccin.tmTheme
      • dracula.tmTheme
      • nord.tmTheme

The theme colors the entire UI: conversation text, syntax highlighting, diff rendering, status line, and overlays.

Open with /settings. The overlay shows all configurable options:

  • Model — Override the model used by the currently active agent runtime
  • Reasoning effort — Set thinking budget (also cyclable with Tab)
  • Mode — Switch to a different user-invocable agent profile, including its prompts, MCP servers, tools, model, and provider settings (also cyclable with Shift+Tab)
  • MCP servers — View connected servers and their status
  • Provider logins — Authenticate with providers that require it

These options are advertised by the agent — the terminal UI discovers them at session start. Different agents may expose different options.

The terminal UI doesn’t know about models or reasoning levels directly. Instead:

  1. The agent sends SessionConfigOption entries describing available settings
  2. The UI renders them in the settings overlay
  3. When you change a value, the selection is sent back to the agent
  4. The agent applies the change

The Tab (reasoning) and Shift+Tab (mode) shortcuts cycle through the most common agent-provided options. In Aether-backed sessions, mode changes are applied at the next safe prompt boundary. The current turn completes or is cancelled normally, and the next prompt uses the selected agent profile. Model changes remain scoped to the currently active agent runtime.

Some agents or MCP servers require authentication. The settings overlay shows:

  • Provider logins — Start OAuth flows or enter API keys
  • MCP server auth — Authenticate individual MCP servers

Authentication state is managed by the agent, not stored locally.