Configuration reference#

Every key in micromux.yaml. The machine-readable source of truth is micromux.schema.json; reference it from your config for editor completion and validation:

# yaml-language-server: $schema=https://github.com/romnn/micromux/raw/main/micromux.schema.json

Top level#

KeyTypeDefaultDescription
versionstring / numberConfig format version. Use "1".
namestringdirectory nameSession name surfaced to agents via the control plane.
strictboolfalseTreat config warnings as errors.
servicesmapService definitions, keyed by id.
restartstringDefault restart policy.
healthcheckobjectDefault healthcheck timing (no test).
logsobjectDefault log retention.
uiobjectTerminal-UI options.
controlobjectControl plane and dynamic-service policy.

services.<id>#

KeyTypeDescription
commandstring / arrayRequired. Shell-like string or argv array.
namestringDisplay name for the TUI.
disabledboolLeave the service disabled when the session starts.
working_dirstringWorking directory, relative to the config. Aliases: cwd, directory.
environmentmapInline environment variables.
env_filestring / object / array.env file(s) to load. Long form is { path: … }.
depends_onarrayDependencies; each a service id or { name, condition }.
healthcheckobjectA probe with test plus timing.
portsarrayPorts the service uses (metadata; not bound by micromux).
restartstringRestart policy for this service.
logsobjectLog retention for this service.
colorboolForce color handling for this service.

depends_on[]#

A bare string (the started condition) or an object:

KeyTypeDescription
namestringRequired. The dependency’s service id.
conditionstringstarted, healthy, or completed.

healthcheck#

KeyTypeDescription
teststring / arrayThe probe command. Required on a service; absent in the top-level defaults block.
start_delaydurationGrace period before the first probe. Aliases: startup_delay, initial_delay.
intervaldurationTime between probes.
timeoutdurationPer-probe time limit.
retriesintegerConsecutive failures tolerated before unhealthy.

restart#

One of always, unless-stopped, on-failure (or on-failure:N), no (synonym never). Case-insensitive; - and _ are interchangeable.

logs#

KeyTypeDefaultDescription
retained_runsinteger5Full disk-backed runs kept, including the current run. Aliases: runs, history.
memory.max_linesinteger / unboundedIn-memory tail line bound.
memory.max_bytesinteger / unboundedIn-memory tail byte bound.
max_lines, max_bytesShorthand for the memory.* fields.

ui#

KeyTypeDefaultDescription
widthintegerInitial sidebar width, in columns.
pretty_json_logsbooltrueRender structured JSON logs as compact colored lines in the TUI.

control#

KeyTypeDefaultDescription
enabledbooltrueEnable the local control endpoint. Changes require a session restart.
dynamic_services.enabledboolfalsePermit runtime-created services.
dynamic_services.allowed_working_rootsarray["."]Allowed working-dir roots, resolved relative to the config.
dynamic_services.max_servicesinteger4Maximum live dynamic services.
dynamic_services.max_lifetimeduration / none12hDefault and maximum dynamic-service lifetime.