Both default on, so nothing changes on upgrade — flip them in preferences to shorten replies.
2. Bug fix: new chat left the old conversation in the right pane
The pane rendered the highlighted row's transcript. Vicinae exposes no way to set the selected row (GenericListView resets or preserves selection on its own terms), so when ⌘N prepended a new chat the selection could stay where it was and the pane kept rendering the previous conversation.
The pane now derives from the active session rather than the row, so it follows the chat the user is actually in regardless of what is selected. Switching conversations stays explicit — Return on an empty search bar, or the action panel.
Side benefit: mount now reads only session summaries, not every transcript. That removes the per-mount cost of loading every conversation body.
3. Smart session resume
Start New Chat After (default 1 hour) starts a fresh chat when the command opens and the last conversation is older than the window. Never restores the always-reopen behaviour for people who want to stay in their last chat.
Old conversations are never deleted — they just sort into their recency section in the sidebar.
Also
The setup screen lists all three new values, so the current configuration is visible without opening preferences.
Verification
Setup screen renders Show Tool Calls: Shown, Show Reasoning: Shown, Start New Chat After: After 1 hour
tsc --noEmit clean, eslint . clean
127 tests passing across 10 files (was 113 across 9) — added preferences.test.ts covering timeout parsing, defaults, and the display toggles
vici build succeeds
## 1. Two new display preferences
| Preference | Default | Effect |
| --- | --- | --- |
| **Show Tool Calls** | on | Lists the tools Lam called under each answer |
| **Show Reasoning** | on | Includes the model's thinking trace |
Both default **on**, so nothing changes on upgrade — flip them in preferences to shorten replies.
## 2. Bug fix: new chat left the old conversation in the right pane
The pane rendered the **highlighted row's** transcript. Vicinae exposes no way to set the selected row (`GenericListView` resets or preserves selection on its own terms), so when ⌘N prepended a new chat the selection could stay where it was and the pane kept rendering the previous conversation.
The pane now derives from the **active session** rather than the row, so it follows the chat the user is actually in regardless of what is selected. Switching conversations stays explicit — Return on an empty search bar, or the action panel.
Side benefit: mount now reads only session summaries, not every transcript. That removes the per-mount cost of loading every conversation body.
## 3. Smart session resume
`Start New Chat After` (default **1 hour**) starts a fresh chat when the command opens and the last conversation is older than the window. `Never` restores the always-reopen behaviour for people who want to stay in their last chat.
Old conversations are **never deleted** — they just sort into their recency section in the sidebar.
## Also
The setup screen lists all three new values, so the current configuration is visible without opening preferences.
## Verification
- Setup screen renders `Show Tool Calls: Shown`, `Show Reasoning: Shown`, `Start New Chat After: After 1 hour`
- `tsc --noEmit` clean, `eslint .` clean
- **127 tests passing** across 10 files (was 113 across 9) — added `preferences.test.ts` covering timeout parsing, defaults, and the display toggles
- `vici build` succeeds
Three things.
1. Two new display preferences. "Show Tool Calls" and "Show Reasoning"
control whether each answer lists the tools Lam called and the model's
thinking trace. Both default on, so nothing changes on upgrade.
2. Fix: starting a new chat left the previous conversation in the right
pane. The pane rendered the highlighted row's transcript, and Vicinae
exposes no way to set the selected row, so the selection could stay put
when cmd+N prepended a new chat. The pane now derives from the active
session rather than the row, so it follows the chat the user is
actually in whatever the selection happens to be. A side benefit is
that mount now reads only session summaries, not every transcript.
3. "Start New Chat After" (default 1 hour) starts a fresh chat when the
command opens and the last conversation is older than the window.
"Never" restores the old always-reopen behaviour, for people who want
to stay in their last chat. Old conversations are never deleted; they
just sort into their recency section.
The setup screen lists all three so the current values are visible without
opening preferences.
Verified: setup renders "Show Tool Calls: Shown", "Show Reasoning: Shown",
"Start New Chat After: After 1 hour" with 17 models reachable. typecheck,
eslint, 127 tests and vici build all pass.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
1. Two new display preferences
Both default on, so nothing changes on upgrade — flip them in preferences to shorten replies.
2. Bug fix: new chat left the old conversation in the right pane
The pane rendered the highlighted row's transcript. Vicinae exposes no way to set the selected row (
GenericListViewresets or preserves selection on its own terms), so when ⌘N prepended a new chat the selection could stay where it was and the pane kept rendering the previous conversation.The pane now derives from the active session rather than the row, so it follows the chat the user is actually in regardless of what is selected. Switching conversations stays explicit — Return on an empty search bar, or the action panel.
Side benefit: mount now reads only session summaries, not every transcript. That removes the per-mount cost of loading every conversation body.
3. Smart session resume
Start New Chat After(default 1 hour) starts a fresh chat when the command opens and the last conversation is older than the window.Neverrestores the always-reopen behaviour for people who want to stay in their last chat.Old conversations are never deleted — they just sort into their recency section in the sidebar.
Also
The setup screen lists all three new values, so the current configuration is visible without opening preferences.
Verification
Show Tool Calls: Shown,Show Reasoning: Shown,Start New Chat After: After 1 hourtsc --noEmitclean,eslint .cleanpreferences.test.tscovering timeout parsing, defaults, and the display togglesvici buildsucceeds