grove

Settings

A full-page settings view, opened with Cmd+,. Five sections — General, Editor, Keybindings, Git / GitHub, and a raw JSON editor. There is no Save button: every change applies and persists immediately.

General

  • Themegrove (default), dark, or light.
  • Markdown stylenord (default) or reading (wider leading, narrow column) for rendered notes. See Markdown editor.
  • Open links in Grove browser — on by default; web links open in the embedded browser. Shift-click always escapes to the OS browser.
  • Default agent — which agent CLI a bare new chat launches (claude by default).

Editor

  • Font size — applies to the editor and diffs (clamped 8–32).

Keybindings

Every rebindable action with its current binding — edits apply live. The read-only cheatsheet is on Cmd+/. See Keyboard shortcuts.

Git / GitHub

  • Default base branch — the base new tasks fork from when detection needs an override (default main). See Design philosophy.
  • PRs default to draft — what the PR button preselects.
  • Worktree setup script — edits scripts.setup in your repo's committed grove.json without you needing to know the format; it's the same file a hand-edit would touch, and it runs whenever a task worktree materializes. See Tasks and worktrees.

JSON

The whole settings object as editable JSON. It won't commit while it fails to parse — a parse error shows inline instead of eating your edits.

Where settings live

Settings persist in the app's local storage, per machine — there's no sync and no settings file on disk. Two exceptions:

  • The worktree setup script is not a Grove setting at all — it reads and writes your workspace's grove.json, which you can commit.
  • Disabled language servers (toggled from the process monitor, not this page) are mirrored to the backend so disabled languages stay off across restarts.