feat(settings): Claude category — new-session defaults (T-457)

A Settings → Claude category sets per-user defaults for NEW sessions: model,
effort, and permission mode (generic schema selects persisting
app.claude.default*). The pane reads them at spawn — effort flows through the
existing --effort flag (SpawnSpec.effort); model and permission mode are sent
as control requests right after a fresh (non-resume, non-fork) session starts.
'default'/unset values are no-ops, leaving the CLI's own defaults.

The optional "settings changed — apply to current sessions?" prompt is filed
as T-470: it needs a custom control (a generic select can't prompt), so it's
a clean follow-up on the T-452 escape hatch.

Tests: defaultEffortFlag sentinel handling; the category contributes the three
default fields. The thin pane-side applySessionDefaults is covered by the gate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-17 19:58:11 +02:00
co-authored by Claude Opus 4.8
parent d9eadf295a
commit ea670fd077
8 changed files with 147 additions and 0 deletions
+4
View File
@@ -61,6 +61,10 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
toggling extensions arrives with third-party (Lua) support; built-ins stay
always-on for now. (T-456)
- **Settings → Claude category.** New-session defaults — model, effort, and
permission mode — seed fresh sessions (effort via `--effort` at spawn;
model and permission applied right after start). (T-457)
### Changed
- **Theme picker relabelled "Theme…".** The ⌘K theme picker's command title