Skip to content

Settings Reference

Complete reference for all AgentMux settings. Settings are stored in settings.json and edited directly in your default editor.

Settings is now a real pane view with its own UI sections (Appearance / Terminal / Agent / Sounds / Network / Files / Advanced) — it’s registered as defwidget@settings in the widget bar (unpinned by default, reachable from the widget bar’s overflow) and also reachable from the hamburger menu:

  1. Click the hamburger icon (≡) at the start of the tab bar.
  2. Select Settings.
  3. AgentMux opens (or focuses) the Settings pane.

Editing settings.json directly still works and is reflected in the pane — use the command palette (“Open Settings File”) if you want the raw file instead of the UI.

The hamburger menu also includes inline submenus for the most-changed preferences so you don’t have to touch the file directly:

  • Theme ▸ Pick from Default, Midnight, High Contrast, Monokai, Nord, Dracula, Tokyo Night, Catppuccin, or Gruvbox. Selection persists across restart (writes window:theme).
  • Opacity ▸ Global window translucency from 100% down to 35% in 5% steps (writes window:opacity + window:transparent). For per-window control, use the InstancePanel slider — click the version chip in the status bar. See Window appearance.

Under Midnight specifically, the agent pane background is pure black; other panes use the theme’s deep-navy --main-bg-color.

Settings live under the channel’s data dir, so every version that binds to the same channel reads and writes the same settings.json:

ModePath
Installed / Portable~/.agentmux/channels/<channel>/config/settings.json (default channel: stable)
Dev (task dev)~/.agentmux/dev/<branch>/<clone-id>/config/settings.json

The <channel> segment is stable by default for Installed and downloaded Portable builds, local-<branch> for locally-packaged builds, or whatever AGENTMUX_CHANNEL=<name> overrides to. Dev mode keys on the git branch plus a per-clone hash so two checkouts of the same branch don’t collide. Override the ~/.agentmux/ root with AGENTMUX_HOME_OVERRIDE for tests. See Multi-instance & dev mode for the full layout.

SettingTypeDefaultDescription
term:fontsizenumber12Font size in pixels
term:fontfamilystring"JetBrains Mono"Font family
term:themestring"default-dark"Terminal color theme
term:scrollbacknumber1000Scrollback buffer lines
term:copyonselectbooleantrueAuto-copy text on selection
term:transparencynumber0.5Pane transparency (0.0–1.0)
term:localshellpathstring"/bin/bash"Default shell executable
term:localshelloptsarray[]Shell launch arguments
term:disablewebglbooleanfalseDisable WebGL renderer (falls back to Canvas)
term:allowbracketedpastebooleantrueEnable bracketed paste mode
term:shiftenternewlinebooleanfalseShift+Enter creates newline
term:agentmaxruntimehoursnumber0Max runtime for an agent pane in hours (0 = unlimited)
term:agentidletimeoutminsnumber0Idle timeout for an agent pane in minutes (0 = unlimited)
term:predictiveechobooleantrueShow typed characters locally before PTY echo confirms them. Disable for strict server-echo-only behavior.
term:predictiveecho:thresholdmsnumber0Only predict when rolling p50 round-trip ≥ this value (ms). 0 = always predict once armed.
SettingTypeDefaultDescription
window:themestring"default"UI color theme. One of default, midnight, high-contrast, monokai, nord, dracula, tokyo-night, catppuccin, gruvbox. Easier to switch from the hamburger menu’s Theme submenu.
window:transparentbooleanfalseEnable window transparency
window:blurbooleanfalseBlur background (macOS only)
window:opacitynumber1.0Window opacity (0.0–1.0). The hamburger menu’s Opacity submenu (global) and the InstancePanel per-window slider both clamp to 0.35–1.0; direct edits to settings.json accept any number. Windows only — see Window appearance.
window:bgcolorstring""Custom background color
window:zoomnumber1.0Global zoom factor
window:tilegapsizenumber3Gap between panes in pixels
window:showmenubarbooleanfalseShow native menu bar
window:nativetitlebarbooleanfalseUse native title bar
window:confirmclosebooleanfalseConfirm before closing window
window:savelastwindowbooleantrueRestore last window size and position
window:dimensionsstring""Saved window dimensions (WxH)
window:reducedmotionbooleanfalseReduce animations
window:magnifiedblockopacitynumber0.6Opacity of background when a pane is magnified
window:magnifiedblocksizenumber0.9Size of magnified pane (0.0–1.0)
window:magnifiedblockblurprimarypxintegerPrimary blur radius (px) behind a magnified pane
window:magnifiedblockblursecondarypxintegerSecondary blur radius (px) behind a magnified pane
window:maxtabcachesizenumber10Maximum cached tabs
window:disablehardwareaccelerationbooleanfalseDisable GPU acceleration
SettingTypeDefaultDescription
app:globalhotkeystring""Global activation hotkey
app:defaultnewblockstring""Default pane type for new panes
app:defaultmodelstring""Default model for new agent panes (e.g. "claude-sonnet-4-6"). When blank, the Launch Agent modal uses the model from the selected Memory bundle, or the provider’s default if none is set.
app:showoverlayblocknumsbooleanfalseShow pane numbers as overlay
app:dismissarchitecturewarningbooleanfalseSuppress the architecture-mismatch notice
SettingTypeDefaultDescription
cmd:envobject{}Environment variables passed to all shell processes
SettingTypeDefaultDescription
telemetry:enabledbooleanfalseEnable the local Sysinfo pane’s metrics sampler. Despite the name, this isn’t analytics or crash-reporting — it’s a purely local CPU/memory/disk/network sampling loop for the Sysinfo widget; nothing is ever sent off-device. Off by default.
telemetry:intervalnumber1.0Metrics collection interval in seconds
telemetry:numpointsnumber120Number of history data points to track
SettingTypeDefaultDescription
conn:wshenabledbooleantrueEnable wsh shell integration on remote connections
conn:askbeforewshinstallbooleantruePrompt before installing wsh on remote hosts
SettingTypeDefaultDescription
network:lan_discoverybooleanfalseAdvertise this instance + browse for peer AgentMux instances via mDNS. Off by default — on Windows, flipping it on triggers the firewall prompt for UDP 5353. See LAN discovery for the toggle in the HostPopover (preferred over editing this file directly, since the UI flips the daemon live without a restart).
SettingTypeDefaultDescription
widget:showhelpbooleantrueShow Help widget in top bar
widget:icononlybooleanfalseIcon-only widget bar (no labels)
blockheader:showblockidsbooleanfalseDisplay pane IDs in pane headers
preview:showhiddenfilesbooleanfalseShow hidden files in file previews
tab:presetstring""Default tab layout preset

MCP servers are configured per-agent in a Memory bundle, not via a global settings.json key. The agent runtime materializes the bundle’s mcp_servers field into the agent’s .mcp.json at launch and the AgentMux MCP server is auto-injected alongside any user-defined entries.

See Memory bundles for the bundle schema (including the mcp_servers field).

AgentMux respects these environment variables:

VariablePurpose
AGENTMUX_HOME_OVERRIDEOverride the ~/.agentmux/ root (intended for tests)
AGENTMUX_RUNTIME_MODESet by the launcher; consumers read it to know they’re running installed/portable/dev
AGENTMUX_DATA_DIR, AGENTMUX_CONFIG_DIR, AGENTMUX_LOG_DIR, …Per-instance paths exported by the launcher; never set these manually
CLAUDE_CONFIG_DIRPer-instance Claude Code auth/config dir; AgentMux sets this automatically
CODEX_HOMEPer-instance Codex CLI auth dir
GEMINI_CLI_HOMEPer-instance Gemini CLI auth dir
GEMINI_FORCE_FILE_STORAGEtrue — required for Gemini CLI auth-dir isolation
OPENCLAW_HOMEPer-instance OpenClaw auth dir
KIMI_SHARE_DIRPer-instance Kimi Code CLI auth dir
COPILOT_HOMEPer-instance GitHub Copilot CLI auth dir
PI_HOMEPer-instance Pi auth dir
CLAUDE_API_KEYOptional fallback for Claude agent panes (OAuth is the primary path)
OPENAI_API_KEYOptional fallback for Codex agent panes (OAuth is the primary path)
GEMINI_API_KEYOptional fallback for Gemini agent panes (OAuth is the primary path)

The per-provider *_HOME / *_CONFIG_DIR variables are set automatically by AgentMux at launch (sourced from each provider’s authConfigDirEnvVar field in PROVIDERS). Setting them manually is only useful when scripting an out-of-AgentMux workflow against the same auth dirs.

For installed and portable release builds (v0.41.1+), state is split across version-scoped paths (one set per release, isolated so concurrent versions can’t collide) and channel-wide paths (shared across all versions of the same channel, so they survive upgrades). Dev builds (task dev) skip the version-scoping and use a single per-(branch, clone) dir.

PurposePathScope
Config (settings.json, per-provider auth-config-dir homes)~/.agentmux/channels/<channel>/config/Channel-wide
Agent definitions~/.agentmux/channels/<channel>/agents/Channel-wide
SQLite stores (objects, filestore, sagas)~/.agentmux/channels/<channel>/versions/<v>/data/db/Version-scoped
Launcher event log (JSONL)~/.agentmux/channels/<channel>/versions/<v>/data/launcher-events.logVersion-scoped
Logs — host (rotated daily, 7-day retention)~/.agentmux/channels/<channel>/versions/<v>/logs/Version-scoped
Logs — sidecar (rotated daily)~/.agentmux/logs/agentmuxsrv-v<v>.log.<date>Account-wide
CEF cache (cookies, local storage, IndexedDB)~/.agentmux/channels/<channel>/versions/<v>/cef-cache/Version-scoped
Account-wide state (dictionaries, cross-channel shared)~/.agentmux/shared/Account-wide
Dev mode root~/.agentmux/dev/<branch>/<clone-id>/Per-(branch × clone), no version split

See Data layout and Multi-instance & dev mode for the full layout and the historical migration from per-version → channels → channels-plus-version-scoped-runtime.