All configuration lives in ~/.aimux/config.yaml. Every setting is optional. Defaults are shown below.
runtime : " local " # WHERE: local | container
execution : " local " # WHERE tools run: local | hybrid
shell : " /bin/zsh " # WHICH: shell binary
session_manager : " tmux " # SESSION: tmux | direct
# terminal emulator: auto-detected (not configurable)
endpoint : " localhost:5001 "
prompt_template : " Work on the following task: {title} \n\n Details: {notes} \n\n Additional instructions: {user_prompt} \n\n When done, summarize what you did. "
image : " ghcr.io/my-org/agent-sandbox:latest "
Enable or disable agent providers. Unknown providers default to enabled.
Field Type Default Description enabledbool trueWhether to discover agents from this provider binarystring auto-detect Override the binary path for this provider
aimux has six orthogonal configuration axes:
Value Status Description localSupported Default. Agent runs as a process on your machine containerSupported Agent runs inside a Podman/Docker container
Value Status Description /bin/zshSupported Default if $SHELL is zsh /bin/bashSupported /bin/fishSupported
Value Status Description localSupported Default. Tools execute on the same machine as the agent hybridPlanned Agent runs locally, tool calls forwarded to remote host (K8s pod or SSH)
Value Status Description tmuxSupported Default. Sessions persist after detach directSupported Agent runs in foreground, dies when terminal closes
Emulator Detection Used for iTerm2 $TERM_PROGRAM == "iTerm.app"Jump-to-session via split pane Others Fallback tmux pane
Field Type Default Description refresh_intervalstring "2s"How often to scan for agents runtimestring "local"WHERE: "local" or "container" shellstring $SHELLWHICH shell for agent sessions. Falls back to $SHELL, then /bin/sh executionstring "local"WHERE tools run: "local" or "hybrid" session_managerstring "tmux"HOW terminal sessions are managed
Field Type Default Description skip_permissionsbool falseAlways pass --dangerously-skip-permissions on resume
Field Type Default Description auto_titlebool falseGenerate titles via LLM on session discovery title_modelstring "flash"LLM for title generation: "flash", "haiku", "sonnet", "opus" api_keystring env var API key for title generation (overrides GOOGLE_API_KEY / ANTHROPIC_API_KEY)
macOS notification settings. All default to sensible values.
Field Type Default Description enabledbool trueMaster switch for all notifications on_waitingbool trueNotify when agent needs permission on_errorbool trueNotify when agent crashes on_idlebool falseNotify when agent finishes a turn on_donebool trueNotify when agent finishes soundbool falsePlay macOS notification sound bellbool trueTerminal bell on attention events desktopbool truemacOS Notification Center alerts
OTEL/HTTP export settings for sending traces to MLflow, Jaeger, or any OTLP-compatible backend.
Field Type Default Description endpointstring OTLP/HTTP endpoint (e.g., "localhost:5001") insecurebool trueUse HTTP instead of HTTPS headersmap Extra HTTP headers for the export endpoint mlflow.experiment_idstring MLflow experiment ID for trace grouping
Embedded OTLP/HTTP receiver for collecting live telemetry from agents.
Field Type Default Description enabledbool falseEnable the OTEL receiver portint 4318Port to listen on
Pre-configured directories for the agent launcher.
Field Type Default Description directorieslist []Directories shown at the top of the launcher’s directory picker
Google Tasks integration for task-driven agent launches.
Field Type Default Description backendstring "auto"Task backend: "auto", "mcp", or "api" mcp_endpointstring MCP server endpoint URL for tasks default_liststring Default task list ID prompt_templatestring see above Template for agent prompts. Placeholders: {title}, {notes}, {user_prompt}
Automatically archive idle sessions after a duration of inactivity.
Field Type Default Description auto_archive_afterstring "" (disabled)Idle duration before auto-archiving (e.g., "1h", "30m")
Project file badge rules. Badges extract values from project files and display them alongside session names.
Field Type Default Description pathstring File path relative to the project root json_pathstring JSONPath expression to extract the badge value labelstring Prefix label shown before the extracted value colorstring Hex color for the badge (e.g., "#22C55E")
Named runtime environments for launching agents in containers or sandboxed modes.
image : " ghcr.io/my-org/agent-sandbox:latest "
Field Type Default Description typestring Runtime type: "local", "container", or "openshell" enginestring Container engine: "podman" or "docker" (container type only) imagestring Container image to use (container type only) sandboxbool falseEnable sandbox policy (openshell type only)
You can place a .aimux/config.yaml inside any project directory. Project-local settings override the global ~/.aimux/config.yaml for sessions running in that directory. This is useful for per-project badge rules, runtime overrides, or notification preferences.
See Kubernetes Quickstart for full setup guide.
Field Type Default Description enabledbool falseEnable K8s agent discovery redis_urlstring Redis connection string (required when enabled) team_idstring Redis key prefix for team isolation namespacestring "agents"K8s namespace for agent deployments kubeconfigstring auto Path to kubeconfig (omit for in-cluster) otel_endpointstring OTEL collector URL for remote agent traces
The web dashboard exposes a REST API on http://127.0.0.1:<port>. All endpoints return JSON.
Method Path Description GET/api/agentsList active agents. Query params: filter, sort POST/api/agents/launchLaunch a new agent session POST/api/agents/{id}/killKill an agent by session ID or PID POST/api/agents/{id}/archiveArchive an agent session GET/api/agents/{id}/traceGet trace for an agent GET/api/agents/{id}/diffGet file diffs for an agent session
Method Path Description GET/api/historyList session history with metadata GET/api/searchSearch session content DELETE/api/sessions/{id}Delete a session POST/api/sessions/{id}/annotateAdd an annotation to a session turn GET/api/sessions/{id}/annotationsGet annotations for a session POST/api/sessions/metaUpdate session metadata (tags, notes) GET/api/sessions/metaGet session metadata GET/api/sessions/diffsGet file diffs from a session file POST/api/sessions/generate-titlesGenerate LLM titles for sessions POST/api/sessions/{id}/export/jsonlExport session as JSONL POST/api/sessions/{id}/export/otelExport session traces via OTEL
Method Path Description GET/api/traceFast trace lookup POST/api/trace/subscribe/{sessionId}Subscribe to live trace updates POST/api/trace/unsubscribe/{sessionId}Unsubscribe from trace updates
Method Path Description GET/api/costsCost breakdown by project GET/api/healthBasic health check GET/api/health/providersProvider health: enabled status and binary availability
Method Path Description GET/api/teamsList team configurations from ~/.claude/teams/
Method Path Description GET/api/pluginsList loaded plugins GET/api/plugins/{name}/dataGet plugin data POST/api/insightRun a plugin insight
Method Path Description GET/api/tasks/listsList Google Tasks lists GET/api/tasksList tasks POST/api/tasks/{id}/completeMark a task as complete POST/api/tasks/{id}/reopenReopen a completed task
Method Path Description GET/api/directories/browseBrowse filesystem directories GET/api/directories/recentList recently used directories GET/api/quick-launchGet quick launch directory list
Method Path Description GET/POST/api/terminal/{session}WebSocket terminal connection GET/POST/api/terminal-resume/{id}Resume a terminal session
Method Path Description GET/api/eventsServer-Sent Events stream for live updates