Configuration
tui
Controls how concurrent scripts are displayed.
"tui": "off" | "tabbed" | "merged""off"
Default
No TUI. Normal single-process execution.
"tabbed"
Sidebar with workspace list, selected workspace’s logs on the right. See Tabbed Mode.
"merged"
Interleaved log stream with colored labels and filter toggles. See Merged Mode.
You can also use the object form for additional options:
{
"tui": {
"mode": "tabbed",
"cleanExit": true
}
}mode
TUI display mode. Accepts "off", "tabbed", or "merged".
cleanExit
When true, suppresses the log dump on TUI exit. By default, all buffered output is printed to stdout when the TUI exits.
repo
Controls how miso discovers and orchestrates workspaces.
"repo": "miso" | "turbo" | "nx""miso"
Default
Miso orchestrates directly. Workspace membership is auto-detected — independent of this setting — from a pnpm-workspace.yaml (checked first) or a workspaces field in your root package.json. Uses concurrent in task config for companion scripts.
"turbo"
Delegates orchestration to Turborepo, miso provides the TUI. turbo must be available in your PATH.
"nx"
Delegates orchestration to Nx, miso provides the TUI. nx must be available in your PATH.
You can also use the object form to configure per-task behaviour:
{
"repo": {
"mode": "miso",
"tasks": {
"build": {
"dependsOn": ["^build"]
},
"dev": {
"concurrent": ["db:convex", "docker:run"]
}
}
}
}dependsOn
Array of task names to run before this one. The ^ prefix (e.g. "^build") means run the task in upstream workspace dependencies first, reading the dependency graph from each workspace’s package.json.
concurrent
Companion scripts run alongside the main task in the shared TUI. Three forms: a bare name resolves in the scope declaring it (root list → root, a member’s list → that member), #name resolves at the repo root explicitly, and @member/script resolves inside the named workspace member. The root list spawns once per run — including during member fan-out — and an entry that resolves nowhere fails the launch. In turbo/nx mode, declaring a task here opts it into miso’s direct orchestration instead of delegation. Full grammar in Monorepos.
Commands not listed in tasks, or listed without dependsOn, run all workspaces in parallel.