One daemon covers 4 workloads on Apple Silicon
ArcBox presents 4 workload types behind abctl: Docker-compatible containers, Firecracker sandboxes, persistent Linux machines, and macOS guests. Local Kubernetes is part of the container tier. A Docker socket proxies commands to a guest dockerd, while the daemon also owns virtual-machine lifecycle, networking, filesystem sharing, and host integration. That consolidation is attractive on a development Mac, particularly when one team otherwise maintains separate tools for containers, full VMs, and disposable agent jobs.
The measured repository is correspondingly large: 1,289 files, about 326,994 source lines, and a 32.1 MB checkout. Rust crates span the hypervisor, VirtIO devices, networking, OCI runtime, APIs, CLI, daemon, privileged helper, guest agent, fleet work, and SDKs. Buying into ArcBox means buying into this whole runtime boundary. A failure in networking or lifecycle code can affect several user-facing modes even when the command names make them look separate.
Docker compatibility in v0.7.0 still has a foreground hang
ArcBox v0.7.0 creates a Docker context and forwards Docker CLI, Compose, image, volume, build, mount, port, and exec operations to a guest engine. The README also puts wider Docker Engine API coverage on its unfinished list. Open issue 268 documents one visible gap: docker run --rm alpine echo hello prints its output but the foreground CLI never returns. Detached execution is the reporter's workaround, which is awkward for scripts and normal shell use.
Our checkout installed 748 packages before compilation began, and it contained a tests directory plus 11 CI workflow files. Those are serious project signals, yet they do not cancel an open P1 compatibility report. Migration tools can import Docker Desktop or OrbStack resources, and some enable commands change Docker or Kubernetes contexts. Run a dry migration first, save the machine-readable plan, and test foreground containers, Compose stacks, bind mounts, volume data, ports, and cleanup before removing the old runtime.
What happened when we ran it
Our run installed 748 Rust packages in 22 seconds inside an unprivileged container with 3 CPUs and 12 GB of RAM. Compilation continued for 587 seconds and then exited with code 101. The log ended with Rust error E0308 while compiling arcbox-core. Rustc said the expression influenced the error type and suggested wrapping it in error::CoreError::Net. The log does not show a completed library or executable build.
The test step also exited with code 101 after 147 seconds. Its tail shows the same arcbox-core compile error and the same CoreError::Net suggestion, followed by a warning that the build failed while other jobs finished. No tests reached a reported pass or fail result because compilation stopped first. Our test method used a Linux Rust image, while ArcBox targets macOS; the log itself does not attribute E0308 to that platform difference.
Agent sandboxes require M3 and macOS 15
The sandbox feature requires an Apple Silicon M3 or newer Mac running macOS 15 or newer with the Virtualization.framework backend. abctl claude builds a Firecracker microVM image and runs Claude Code inside it. Permission prompts are disabled by default because the microVM is intended to be the isolation boundary; --no-bypass keeps them. The Anthropic credential is forwarded for the session, while unrelated host variables and OAuth state are excluded.
Each sandbox begins with an empty /workspace, and nothing from the host is mounted automatically. Files must be cloned or copied in, then copied out before the sandbox is stopped or removed because that destroys its writable layer. The checkout's 11 CI workflows and tests directory show attention to automation, but our failed compile left that isolation code untested in the lab. Security-sensitive adopters need their own escape, network, secret-forwarding, and deletion checks on supported M3 hardware.
Source contributors need internal signing credentials
The measured contributor guide requires macOS 13 or newer, Xcode command-line tools, roughly 500 MB of disk, musl cross-compilation tools, and a Developer ID certificate with an approved provisioning profile. It says those signing files are distributed internally and that ad hoc signing will not work for the restricted virtualization and networking entitlements. An outside contributor can read and compile parts of the code, but cannot follow the documented full daemon run path without coordination from ArcBox.
A root helper changes routes, resolver files, the Docker socket link, and command links. The guide says debug builds skip peer authentication and manual mode creates a broadly writable helper socket, choices intended for local development. Across about 326,994 source lines, that privileged boundary deserves more scrutiny than the 32.1 MB checkout size suggests. Keep debug helpers off shared Macs, inspect every requested host mutation, and use the packaged build for product evaluation unless ArcBox supplies contributor signing access.
v0.7.0 is active, public-beta software
GitHub recorded the last push on August 31, 2026, 2,451 stars, and 41 combined issues and pull requests. Release v0.7.0 shipped on August 15, and a v0.8.0 release pull request was still open when checked. Another open fix addresses a Homebrew cask path where abctl daemon start could not locate the daemon. Those dates and patches show active maintenance, while the public-beta label and breaking release notes set the right expectation for change.
The 22-second install proves that our harness could resolve 748 packages. The 587-second build failure and 147-second test failure prevent a recommendation based on source quality at commit 55b384b. ArcBox remains interesting for a Mac team that needs all 4 workload types and can tolerate beta work. Trial the signed package on supported hardware, preserve rollback, and delay a full switch until the Docker commands and isolation cases your team relies on pass locally.

