τ-mux persiste ses réglages dans ~/Library/Application Support/hyperterm-canvas/settings.json. Le panneau de réglages (⌘,) écrit ce fichier, tout comme les bascules de la palette et les verbes RPC comme claude.auto_approve — ces chemins persistent et s’appliquent en direct. L’édition à la main fonctionne aussi, mais τ-mux ne surveille pas le fichier : une modification externe n’est prise en compte qu’au prochain lancement (et sera écrasée si l’application écrit ses réglages avant).
Schéma : AppSettings dans src/shared/settings.ts. Défauts : DEFAULT_SETTINGS. Validation : validateSettings (schémas par champ dans settings.schema.ts : une valeur hors bornes ou mal typée retombe sur le défaut au lieu de casser l’application).
Cette page liste tous les champs, avec le défaut lu depuis DEFAULT_SETTINGS.
Champ Type Défaut Effet shellPathstring ""Shell binary. Empty = $SHELL. New surfaces only — existing shells keep running. scrollbackLinesnumber 10000Lines retained in the scrollback buffer per surface. fontFamilystring 'JetBrainsMono Nerd Font Mono', 'JetBrains Mono', 'Berkeley Mono', 'SF Mono', 'Menlo', monospaceTerminal font stack. fontSizenumber 13Terminal font size in px. lineHeightnumber 1Line-height multiplier (0.8–2.0). cursorStyle"block" | "bar" | "underline""block"Terminal cursor shape. cursorBlinkboolean trueBlink the terminal cursor. terminalRenderer"dom" | "webgl""dom"Experimental GPU renderer. Falls back to DOM automatically on unsupported hardware, init failure, or context loss — the settings panel shows a live “running on DOM — reason” hint when it has. It shipped enabled in v0.4.9 and rendered panes blank on some setups; a one-time migration in v0.4.12 reset a persisted webgl back to dom. Command palette: “Use WebGL/DOM Terminal Renderer”.terminalOsc94Enabledboolean trueHonour OSC 9;4 progress sequences (per-pane progress chip).
Champ Type Défaut Effet themePresetstring "tau"Named theme preset. See Themes . chromeTheme"system" | "graphite-dark" | "graphite-light" | "high-contrast""system"App chrome theme, independent of the terminal palette. accentColorstring "#6fe9ff"Primary accent (cyan — focus, selection, human identity). secondaryColorstring "#ffc56b"Secondary accent (amber — agent identity). foregroundColorstring "#d6e2e8"Default terminal foreground. bgBasestring "0, 0, 0"Terminal background as an r, g, b triple, combined with terminalBgOpacity. terminalBgOpacitynumber 1Terminal background opacity, 0–1. ansiColorsobject 16-colour TAU palette The full ANSI 16 (black…brightWhite). terminalBloomboolean falseWebGL bloom layer over the terminal. bloomIntensitynumber 0Bloom strength, 0–2. legacyBloomIntensitynumber 0Snapshot of the pre-TAU bloom value, kept so the migration is reversible. bloomMigratedToTauboolean falseInternal migration marker — do not set by hand. paneGapnumber 2Gap between panes in px, 0–20. sidebarWidthnumber 320Sidebar width in px, 200–600. layoutVariant"bridge" | "cockpit" | "atlas""bridge"Chrome layout variant.
Champ Type Défaut Effet workspaceCardDensity"compact" | "comfortable" | "spacious""comfortable"Vertical density of workspace cards. workspaceCardShowMetaboolean trueShow the meta row (cwd, branch). workspaceCardShowStatsboolean trueShow CPU / memory / pane stats. workspaceCardShowPanesboolean trueShow the per-pane list. workspaceCardShowManifestsboolean trueShow the package.json / Cargo.toml card. workspaceCardShowFileExplorerboolean trueShow the inline file explorer. workspaceFileExplorerShowHiddenboolean falseInclude dotfiles in the file explorer. workspaceFileExplorerMaxEntriesnumber 200Cap on entries listed per directory. workspaceCardShowStatusPillsboolean trueShow ht set-status pills on the card. workspaceCardShowProgressboolean trueShow the progress bar (ht set-progress, OSC 9;4). statusBarKeysstring[] ["workspace","panes","cpu","mem","procs","fg","cwd","branch","ht-all","ports","time"]Which segments the bottom status bar renders, in order. htStatusKeyOrderstring[] []Explicit ordering for ht set-status keys; unlisted keys follow. htStatusKeyHiddenstring[] []ht set-status keys to hide.
Champ Type Défaut Effet notificationSoundEnabledboolean truePlay finish.mp3 when a sidebar notification arrives. notificationSoundVolumenumber 1Arrival-cue volume, 0–1. notificationOverlayEnabledboolean trueShow the transient on-screen notification overlay. notificationOverlayMsnumber 6000How long the overlay stays up, in ms.
Voir l’intégration Claude Code .
Champ Type Défaut Effet claudeAutoApproveboolean falseAuto-accept the permission prompt Claude Code shows in a terminal pane by sending Enter. Only fires for that terminal prompt — never the τ-mux approval modal, never the Claude Code pane — pauses itself after a burst, and logs every approval to the pane’s sidebar log. Off by default: this grants unattended consent for commands the agent asks to run. claudeAutoApproveDelayMsnumber 700Delay before the Enter keystroke, 0–10000 ms. The prompt is re-checked when the delay expires, so a prompt you answered yourself never receives a stray Enter.
Champ Type Défaut Effet browserSearchEngine"google" | "duckduckgo" | "bing" | "kagi""google"Engine used when the address bar input isn’t a URL. browserHomePagestring ""Page opened for a new browser surface. Empty = blank. browserForceDarkModeboolean falseAsk pages to render in dark mode. browserInterceptTerminalLinksboolean falseOpen links clicked in a terminal in a browser pane instead of the system browser. browserPartitionMode"shared" | "per-surface""per-surface"Cookie/storage partitioning across browser panes.
Champ Type Défaut Effet packageRunner"bun" | "npm" | "pnpm" | "yarn""bun"Command used to run package.json scripts from the sidebar.
Voir auth & durcissement .
Champ Type Défaut Effet webMirrorPortnumber 3000Mirror listen port, 1–65535. autoStartWebMirrorboolean falseStart the mirror at launch. webMirrorBind"127.0.0.1" | "0.0.0.0""0.0.0.0"Bind address. 0.0.0.0 exposes the mirror to your whole LAN — set webMirrorAuthToken before enabling it there. webMirrorAuthTokenstring ""Shared token for mirror access. Empty means authentication is off. rpcSocketRequireTokenboolean trueRequire the per-boot token for state-mutating ht socket calls. On by default since v0.4.12; every first-party client presents it automatically.
Voir le pont Telegram .
Champ Type Défaut Effet telegramEnabledboolean falseRun the long-poll bot service. telegramBotTokenstring ""BotFather token. telegramAllowedUserIdsstring ""Comma-separated Telegram user ids allowed to talk to the bot. Fail-closed: empty rejects everyone. telegramNotificationsEnabledboolean falseForward sidebar notifications to Telegram. telegramNotificationButtonsEnabledboolean falseAdd inline action buttons to forwarded notifications. telegramAskUserEnabledboolean falseForward ht ask questions to Telegram (answer from your phone).
Objet imbriqué — voir auto-continue .
Champ Type Défaut Effet autoContinue.engine"off" | …"off"Which decision engine runs. off disables the feature entirely. autoContinue.dryRunboolean trueDecide and log, but never send the continue keystroke. autoContinue.cooldownMsnumber 3000Minimum gap between continues. autoContinue.maxConsecutivenumber 5Runaway guard — pauses after this many consecutive continues. autoContinue.modelProviderstring "anthropic"Provider for the model-backed engine. autoContinue.modelNamestring "claude-haiku-4-5-20251001"Model used by the model-backed engine. autoContinue.modelApiKeyEnvstring "ANTHROPIC_API_KEY"Env var read for that provider’s key.
Champ Type Défaut Effet auditsGitUserNameExpectedstring | null nullExpected git config user.name; the startup audit warns on drift. null disables the check.
La plupart des champs s’appliquent en direct dès la sauvegarde. Exceptions :
shellPath — nouvelles surfaces seulement.
webMirrorPort, webMirrorBind, webMirrorAuthToken — redémarrez un miroir actif (pris en compte au démarrage automatique depuis la v0.3.161).
autoStartWebMirror — au lancement seulement (le miroir se bascule à la main à tout moment).
rpcSocketRequireToken — s’applique immédiatement aux nouvelles connexions socket ht.
terminalRenderer — s’applique aux panneaux créés ensuite.
τ-mux lit ce fichier au lancement et le réécrit à chaque changement de réglage ; il ne le surveille pas . Éditez-le donc application fermée, ou préférez le panneau / la palette / le RPC, qui s’appliquent immédiatement. Les champs inconnus sont supprimés au chargement (avertissement dans le log) et les valeurs invalides retombent sur leur défaut.
$EDITOR ~ /Library/Application \ Support/hyperterm-canvas/settings.json