Enable full governed automation
Understand Restricted mode and configure Docker or Podman for governed terminal and code execution.
Maia does not require Docker or Podman for its core application. A secure container runtime is required for command-capable requests made by governed gateway users: terminal commands, Python or other code, Office automation, and delegated agents that use those tools.
Why the secure runtime matters
Governance decides which host paths a person may read or change. The secure runtime is the second boundary: Maia starts a Linux container for that person and mounts only the paths Governance grants. Read-only grants are mounted read-only. Without that boundary, a shell or Python process could see more of the host than the file policy allows.
If the secure runtime is unavailable, Maia returns secure_execution_unavailable and does not run the command. It never falls back to unrestricted host execution.
Understand the two operating modes
| Mode | Available | Unavailable |
|---|---|---|
| Full automation | Chat, gateways, Governance, approvals, audit, safe file tools, governed terminal/code, Office/Python automation, and delegated command execution. | Nothing is blocked by runtime readiness; file policy and approvals still apply. |
| Restricted mode | Chat, gateways, Governance, approvals, audit, path-checked file reads, and supported staged file changes. | Gateway terminal, arbitrary shell/code, command-based Office automation, and delegated agents that need those tools. |
Restricted mode is a supported safe state, not broken file authorization. A missing runtime does not grant extra access and does not require you to remove or recreate file policies.
Configure it during installation
The Maia installer checks runtime readiness after installing the application:
- If Docker or Podman is ready, the installer confirms Full automation.
- If it is missing on a supported Linux distribution, the installer can offer to install rootless Podman through the system package manager. It asks before using
sudo. - On Windows/WSL and macOS, the installer prints the required operating-system or desktop step. It does not silently accept software licenses, change Docker Desktop settings, or install a macOS system package.
- If you skip or cannot finish the step, Maia installation completes in Restricted mode.
Configure or repair it later
maia secure-runtime status
maia secure-runtime setup
status explains the current mode, why it matters, what remains available, what is blocked, and the exact steps for the detected system. setup performs only the safe automated portion and leaves desktop or license decisions to the operator.
maia update also checks readiness after updating. The update itself remains successful in Restricted mode and never installs system software unattended. If the summary reports Restricted mode, run maia secure-runtime setup.
Windows with WSL2
- Install Maia inside a WSL2 distribution such as Ubuntu. Native PowerShell is not the Maia runtime.
- In Windows, install and start Docker Desktop and use its WSL 2 backend.
- Open Docker Desktop Settings → Resources → WSL Integration.
- Enable the same distribution that runs Maia, then choose Apply & restart.
- Return to the WSL terminal and verify both client and server:
docker version - Recheck Maia:
maia secure-runtime status
Confirm the selected WSL distribution, not only the default distribution. If the WSL Integration page is absent, Docker Desktop may be using Windows containers; switch it to Linux containers.
Linux
Rootless Podman is the preferred Linux path because it can run containers as the Maia user without a permanent root daemon. Start with the guided command:
maia secure-runtime setup
For a manual installation, use the command for your distribution or follow the official Podman installation guide:
# Ubuntu / Debian
sudo apt-get update
sudo apt-get -y install podman
# Fedora / CentOS Stream / compatible RHEL family
sudo dnf -y install podman
# Arch / Manjaro
sudo pacman -S --noconfirm podman
# openSUSE
sudo zypper --non-interactive install podman
Verify as the same user that runs Maia:
podman version
podman info
maia secure-runtime status
Docker Engine is also supported. Install it from the official Docker Engine guide, start the engine, verify that the Maia user can run docker version, then recheck Maia.
macOS
macOS needs a small Linux virtual machine because Linux containers require a Linux kernel.
- Install Podman with the official macOS installer. Docker Desktop is also supported.
- Create the Podman machine once:
podman machine init - Start it now and after a later shutdown when needed:
podman machine start - Verify and recheck Maia:
podman version maia secure-runtime status
If Podman is already installed but its machine is stopped, maia secure-runtime setup can offer to start it. If you use Docker Desktop instead, open the application, wait for the engine to report ready, run docker version, and recheck Maia.
After the status becomes Full automation
- Return to the original Slack, Discord, or other gateway conversation.
- Retry the same request. Maia replaces the affected execution environment at the next request boundary.
- Do not add another file grant unless the response is a genuine path authorization denial.
maia secure-runtime status reports Full automation. The user does not need a new thread, and the administrator does not need to restart the gateway.