Settings
Terminal Settings
The integrated terminal that powers Spruce's session views has its own settings page: Settings → Terminal. It used to live as a section inside Preferences; it's been promoted to a first-class page so it can grow without crowding the rest of your app-wide settings.
Fields
- Shell — drop-down of shells Spruce detected on your machine, plus a Custom... option. The first entry is the platform default.
- Custom Shell Path — appears when Custom... is selected. Absolute path to the shell executable (e.g.
/opt/homebrew/bin/fish). - Shell Arguments — space-separated args passed on launch. Typically
-lfor a login shell. - WebGL renderer — toggle GPU-accelerated rendering. Leave on for best performance; turn off if you see a blank terminal (rare; usually a driver issue).
- Native terminal app — drop-down of detected native terminal apps (Terminal.app, iTerm2, Ghostty, Windows Terminal, …). Used by the Open in native terminal button on each session. Leave blank for the OS default.
Below the form, Effective configuration shows what shell + args Spruce will actually launch given your overrides (or auto-detect when nothing's set), and Reset to Defaults clears every override at once.
Where this applies
- Every embedded terminal in a session view uses these settings.
- "Open in native terminal" (per-session button) uses the Native terminal app field for which app to spawn.
- Changes apply to new terminal sessions only. Existing sessions keep running under their previous shell.
Where else you'll see this
- Sessions tool. Each session inherits the configured shell. See Sessions.
- Open in native terminal. The button on each session reads the Native terminal app preference.
Related
- Shell Configuration — full reference for the shell field, platform defaults, and the working-directory rules.
- Sessions — the surface that uses these settings.
- Platform Notes — platform-specific terminal behaviour and PTY quirks.
- Global Preferences — the rest of the app-wide settings page.