Timeline tool markers now follow the Message content filters: a marker disappears when the tool type it shows (its icon; the outline's representative tool for indexed history) is hidden there, and the Nothing preset removes every tool marker. As with hidden tools before, the transcript's active marker and markers with an active permission stay visible, so highlighting and reveal keep following the transcript. Collapsed tools keep their marker. Because the rail now follows those filters, the separate "Show tool calls in the timeline" preference is removed everywhere it surfaced: Settings > General, the View menu item in the renderer, Electron and Tauri hosts, the palette command, its shortcut catalog entry (72 actions, 23 initially unbound) and its strings in all ten locales and the help. Saved values are ignored; the server schema passes unknown keys through, and hosts ignore an extra field from older renderers. The never-updated expandedMessageIds timeline input is dropped. Intended default change: tool markers are visible with the Balanced preset unless their type is hidden in Message content. Validation: new timeline-tool-filters browser test (hidden, Other-routed and collapsed tools, Nothing/Everything presets, a hidden active marker shown and highlighted); view-menu, a real Electron View menu, hotkeys-settings, transcript-presets, render-cost, history-navigation and other timeline suites (one local-environment failure that also fails on unmodified dev); related unit tests; UI typecheck; rustfmt check of view_menu.rs. Independent review approved after the active-marker fix.
7 KiB
Settings and layout
Open settings and identify the scope
- Open Settings from the home page or command palette.
- Select a section. Local Electron and Tauri windows open or focus one native Preferences window; browser and remote views use the embedded settings screen.
- Check the setting's scope and any Save action before leaving.
Most switches apply immediately. Editors such as speech, palettes and Mission preferences have explicit saving controls. A failed save is not confirmation that the change took effect; reopen or refresh the relevant section before retrying.
| State | What it controls |
|---|---|
| CodeNomad configuration | UI preferences, speech, SideCars and server settings for clients using that configuration. A UI “Device” badge is not a promise of isolation from another client sharing the configuration. |
| Window/project-tab layout | Open panels, selected tabs, reader state and restorable drafts/layout. These are not OpenCode configuration. |
| Global/Project OpenCode settings | Native plugin/configuration changes at their displayed scope. Project controls require an active project/Location. |
| Desktop data profile | Native windows, restore state and browser storage, independently of the configuration file and shared OpenCode service. See Desktop windows and data. |
Changing display preferences does not restart OpenCode or replay a prompt. Native configuration, service maintenance and credentials have separate effects: see OpenCode setup, Providers and Integrations.
Language and appearance
- In General, select Language: English, Spanish, French, Russian, Japanese, Simplified Chinese, Hebrew, German, Nepali or Turkish.
- Choose Appearance mode: Auto, Light or Dark. Auto follows the operating system.
- Choose a palette for the displayed appearance. Light and dark selections are saved independently; Auto uses the matching one.
- For custom colors, use the swatches and Save; Reset restores that palette's colors. Use New to name a separate palette.
The UI updates without restarting a conversation. Hebrew uses right-to-left layout; code and technical values remain readable in their own direction. Language selection changes interface text, not the language of existing messages or agent instructions. Native operating-system menus may remain English.
If colors become hard to read, select a built-in palette or reset the edited one. Switching palettes can ask you to discard unsaved color edits; it does not discard a conversation draft.
Panels and Status sections
- Use Left panel and Right panel at the outer header corners, or their View menu items, to show or hide each panel.
- Open Customize right panel in the right panel. Use checkboxes to choose built-in tabs and Status sections; at least one Status section remains visible.
- Drag right-panel tabs to reorder them. Use Reset to restore built-in layout choices.
Status includes token information, Yolo mode, provider Usage, background processes, MCP and Plugins. Hiding a section does not disable its service or revoke permissions. Narrow layouts float panels over the conversation instead of squeezing it; opening one floating panel closes the other.
Built-in layout is window layout, not a project mutation. Extension checkboxes are different: they activate code across all projects using the configuration. Reset does not change extension consent. See Panel extensions.
Transcript detail and composer size
- Open Chat to choose transcript detail defaults. Presets are Nothing, Minimal, Balanced and Everything; individual changes produce Custom.
- Adjust thinking, tool inputs/outputs, diagnostics and token details, or use the conversation's Message content popup for the shared visibility controls.
- In General, adjust Message timeline, Diff view and Follow-up behavior as needed.
- Resize the composer using its resize control; long drafts scroll inside the field.
Visibility and expansion settings only change presentation. They do not remove stored tools/reasoning or compact the model context. See History and cleanup for destructive operations.
Composer height follows the visible conversation, including the software keyboard: minimum 8% with a 44 px floor, maximum 60%. Manual height is remembered proportionally; narrow width and long text do not raise those limits. An expanded permission/question temporarily minimizes the composer without changing its saved height or draft. Collapse or settle the request to resume resizing.
Notifications and badges
- Open Notifications and choose Request if permission has not been granted.
- Enable Enable notifications.
- Choose Session needs input, Session becomes idle, and whether to Notify when the app is focused.
Browser/OS permission belongs to the device and application origin; a saved preference cannot override a denial. If blocked, enable notifications in browser or operating-system settings, then return here. Unsupported environments keep the control disabled.
The bell/history unread count drives the browser favicon dot and native application badge. Native badges aggregate live main windows; they are not a count of running sessions or proof that an OS notification was delivered. PWA launcher badges are not provided by this feature.
Advanced options
- Open Advanced.
- Change only the behavior you need; switches save through CodeNomad preferences. Edit Environment Variables separately when changing session execution environment.
- Check the resulting view or next send rather than restarting the shared service speculatively.
| Option | Effect and caution |
|---|---|
| Auto-cleanup blank sessions | Cleans blank sessions when creating new ones; leave off if you want to retain them. |
| Keep subagent idle markers | Retains unseen idle markers until viewed rather than hiding them after five seconds. |
| Focus existing window on second launch | Native desktop only; changes second-launch window behavior, not tab creation. |
| Provider credit balance | Shows supplemental balances in Usage; it does not buy credits or switch accounts. |
| Hide whitespace-only changes | Omits whitespace/line-ending-only unstaged files from Changes and its bulk actions; staged files stay visible. See Files. |
| Hold long assistant replies | Stops automatic following when a streaming reply grows beyond the viewport. |
| Environment Variables | Applied server-side before each prompt or session command; reads do not update already-running execution. See OpenCode setup. |
For keyboard configuration use Keyboard shortcuts; for voice controls use Voice input and playback. Startup restore and deleting saved desktop profiles are covered in Desktop windows and data.