Docker and microsandbox
The container runtimes AI Fix and Implement run in, and what each one needs.
On this page
AI Fix and Implement story run their agent in a sandbox: a disposable container on your own computer. To make one, Limn needs a container runtime, such as Docker Engine, Colima or Podman. Every route on this page is free. Limn finds the runtime by itself; you install it once.
#What you need
- A container runtime that is running, from the table below.
- At least 8 GB of memory, 4 CPUs and 60 GB of disk given to the runtime.
- Network access to pull the sandbox image (about 1.3 GB) the first time.
Nothing else in Limn needs a runtime. Without one, reviews, the CI review and the merge resolver work as normal; AI Fix and Implement show one line with How to set up.
#Set it up
| Computer | Recommended (free) | Steps |
|---|---|---|
| Mac (Apple Silicon or Intel) | Colima | brew install colima docker, then colima start --cpu 4 --memory 8 --disk 60 |
| Linux | Docker Engine or Podman | Install from your distribution’s packages. Add yourself to the docker group, or run Podman without root. |
| Windows | WSL2 with Docker Engine | Run Limn inside WSL2, and install Docker Engine in that Linux. |
- Install and start the runtime for your computer.
- Open Settings → Sandbox and press Check again. Limn shows the runtime it found, for example Runs in Colima on this computer.
- Start an AI Fix or an Implement session. The first one downloads the sandbox image, which takes minutes; later ones start in seconds.
Runs in Colima on this computer. Check again
#Docker, Colima and Podman
These all run the sandbox as a Docker-style container. Limn finds the docker command and checks that it answers. On a Mac and on Windows the container also runs inside a virtual machine, which is a second wall around it. On Linux a container shares your computer's kernel.
To use Podman, start Limn with SANDBOX_CLI=podman. Podman is less tested than Docker.
#microsandbox
microsandbox runs each sandbox as a small virtual machine with its own kernel, on an Apple Silicon Mac or on Linux with KVM. It is a beta product, and Limn's support for it is new and less tested than Docker's.
An Intel Mac cannot run microsandbox. On Linux it needs access to /dev/kvm. The choice is made when Limn starts and stays fixed until it restarts.
#What a sandbox can and cannot do
- It holds copies of the workspace's repositories, and only the files Limn put in. It has no writable view of your own files.
- It has no GitHub credentials and no access to the Docker socket. The AI credential stays on your computer; Limn adds it to the AI provider's requests on the way out.
- Its only way to the network is Limn's allow-list: the AI provider, package registries and GitHub downloads by default. Every request is logged in the session's Network panel.
- It cannot reach services you already run on your computer, Docker Desktop's included: the filter refuses your computer's own addresses. Integration tests use the services you pick in Settings → Sandbox, which Limn starts for each session.
- Work leaves only as a set of changes that Limn checks and you push.
Allowing a host
When a tool in the sandbox needs a host that is not allowed, the Network panel lists it as blocked. Press Allow for this session, or Always allow to add it to the workspace's Hosts always allowed in Settings → Sandbox. See Settings → Sandbox and AI and the sandbox.
#Resources and clean-up
- Each session may use 4 CPUs, 8 GB of memory and 30 GB of disk by default. Change these per workspace in Settings → Sandbox, under Resources.
- At most four sessions are open on this computer at a time, and three of them build at once.
- A session with nothing to do closes after 15 minutes; its changes are kept.
- When a session ends, for any reason, Limn removes its containers, network and volumes. Every few minutes, and when it starts, it also removes any of its own that no open session uses.
- Settings → Sandbox says how many Limn sandboxes are running, and Stop all stops them.
#Troubleshooting
| What you see | What to do |
|---|---|
| No container runtime is running on this computer. | Start the runtime (colima start, Docker Desktop, or sudo systemctl start docker), then press Check again in Settings → Sandbox. |
| permission denied … docker.sock (Linux) | Add yourself to the docker group and sign in again, or use Podman without root. |
| The first session waits a long time for the sandbox image | The image is about 1.3 GB. If the download fails, Limn builds it on your computer, which takes longer. |
| No space left on device | Stop Limn, run limn sandbox prune, and give the runtime more disk (colima start --disk 100). |
| A tool cannot reach a host | Allow the host in the Network panel. |
| Behind a company proxy or VPN | Set the runtime’s own proxy so it can pull images. Inside the sandbox, requests still go through Limn’s allow-list. |
| microsandbox is installed but not used | msb doctor must pass. An Intel Mac cannot run it; Linux needs /dev/kvm. |
| Sandboxes still running after you closed the tab | A session with nothing to do closes after 15 minutes. To stop them now, select Stop all in Settings → Sandbox. |
For more, see Troubleshooting.