Reference
Runtime Paths
Config paths, catalog paths, runtime directories, and socket files.
All paths below depend on the active profile.
Config Root
Config profiles root:
~/.config/aimux/Active profile directory:
~/.config/aimux/<profile>/<profile> is resolved from AIMUX_PROFILE, then AIMUX_RUNTIME_PROFILE, then
default.
Files Under the Active Profile Directory
| Path | Purpose |
|---|---|
aimux.config.ts | preferred typed config file |
aimux.config.js | fallback typed config file |
aimux.json | app-managed runtime preferences |
aimux-sessions.json | session catalog and workspace snapshots |
aimux-snippets.json | snippet catalog |
Config Loader Search Order
The user config loader checks these files in order:
aimux.config.tsaimux.config.js
If neither exists, the runtime uses the defaults from @brimveyn/aimux-config.
Runtime Directory
The daemon and terminal manager use a runtime directory separate from the config directory.
If XDG_RUNTIME_DIR is set:
<XDG_RUNTIME_DIR>/aimux-<profile>/Otherwise:
~/.local/state/aimux-<profile>/Socket Paths
Inside the runtime directory:
| Path | Purpose |
|---|---|
daemon.sock | app-facing daemon socket |
terminal-manager.sock | long-lived terminal manager socket |
Examples for the default profile when XDG_RUNTIME_DIR=/run/user/1000:
/run/user/1000/aimux-default/daemon.sock
/run/user/1000/aimux-default/terminal-manager.sockExample for a sanitized profile name Dev Sandbox:
<runtime-base>/aimux-dev-sandbox/daemon.sock
<runtime-base>/aimux-dev-sandbox/terminal-manager.sockSecurity Notes
The runtime ensures:
- runtime directories exist
- runtime directories are tightened to
0700on a best-effort basis - socket permissions are tightened on a best-effort basis
The runtime also checks for obvious socket-security issues such as:
- missing socket
- path is not a socket
- socket owned by a different user
- socket writable by group or others
Related Docs
../concepts/profiles.md../concepts/config-and-state.mdcli.md