Settings

User preferences file and common keys.

Location

~/.config/diffing/settings.json

Per-repo UI session state (panel sizes, drafts, etc.) lives under ~/.diffing/<repo>-<hash>/ — not browser localStorage.

Common keys

Defaults may evolve; inspect your file or product source for the latest schema. Representative fields:

KeyRole
defaultMode"web" | "tui" interactive default
themeTheme id (default rose-pine)
diffStyle"split" | "unified"
defaultTabSizeFallback tab width (editorconfig wins)
editorIDEdefault | vscode | zed | vim | neovim | ghostty
lineDiffTypeword | word-alt | char | none
lineWrapboolean
diffIndicatorsclassic | bars | none
showLineNumbersboolean
tuiMouseEnabledboolean
fontSizebase code font size (px)
hapticssounds / haptics in web UI
setupCompletedAtfirst-run wizard marker
staged / untrackeddefault inclusion toggles
aiModelpersisted Ask AI model id (source/credential/provider/model)
aiReasoningEffortoptional model-specific reasoning effort
aiServiceTieroptional model-specific service tier
aiRailWidthshared diff/plan Ask AI rail width (px)
aiPrivacyAcknowledgedcontext-sharing notice acknowledged
aiSettingsExpandedAI connections section expanded/collapsed

AI provider secrets are never stored in this file. Direct BYOK keys use the OS credential vault or session memory; OpenCode/Cursor-managed keys stay in those runtimes. See AI assistance.

Theme

Change in UI with g t or settings. 52 themes — see Themes.

Mode

diffing mode web
diffing mode tui