Microsoft eXecution Container embeds the sandbox launcher in your application. That model may suit an editor or agent that executes code across desktop platforms. Our source run stopped at compilation, so the adoption decision still requires checking your intended SDK and backend on each supported host.
The SDK embeds execution in your application
The MXC README describes Rust, .NET and Node SDKs. Your application supplies the container type, containment rules and workload command. MXC validates the request, selects a backend and launches the workload.
Persistent containers have provision, start, execute, stop and deprovision operations. An application using that lifecycle needs to decide when to stop a workspace and what to preserve. Consider MXC when those operations belong in application code and you are prepared to validate the resulting access restrictions.
What happened when we ran it
Our sandbox installed MXC commit e157fa4 in 40 seconds with 170 dependencies, then failed the build after 51 seconds and the test step after 29 seconds. Both failures returned exit 101. The October 9, 2026 run used 3 CPUs, 12 GB RAM and image label lab-rust:1. That label does not establish actual runtime or operating-system versions.
Both log tails show error E0425: windows-future 0.3.2 calls windows_threading::submit, which the compiler cannot find. Compilation ends with 16 errors in windows-future. The test step stopped at compilation too, so these results contain no passing-test count. The excerpts do not establish why the function was unavailable or support prescribing a dependency pin.
The checkout had 2,300 files, about 303,580 source lines and a 17.9 MB footprint. The scan found 21 CI workflow files and a tests directory, with no Dockerfile detected. Those observations establish neither upstream CI success nor a completed isolation check. The recorded timings do not measure workload speed.
Packaged SDKs need a separate evaluation
The README directs application developers to install an SDK through their package manager rather than clone the repository. The Node and .NET packages include native runtime assets. The Rust crate builds the MXC SDK, engine and selected backends into the consuming application.
Our failed repository build leaves those consumer routes unverified. The supplied source instructions name Rust 1.93, Node.js 24 or later, npm and backend-specific platform prerequisites. These requirements are separate from the versions actually used in the lab, which the supplied configuration does not establish.
The supplied release metadata identifies v1.0.1, dated October 17, 2026. It postdates our October 9 run at commit e157fa4. That run does not establish whether v1.0.1 builds or runs successfully.
Check policy and diagnostics on each host
The README lists ProcessContainer as the Windows default, Bubblewrap as the Linux default and Seatbelt as the macOS default. It describes network host filtering as backend dependent. A shared request format therefore does not establish equal enforcement across hosts.
Issue #1725, opened November 11, 2026, reports that Seatbelt denial capture can mark an incomplete report complete when macOS drops log messages. This is an upstream reporter's account about diagnostics, separate from our compilation failure. It supports checking whether a deliberately forbidden operation was denied rather than relying only on a report's completeness flag. We did not reproduce the issue.
Audit mode and telemetry require explicit choices
Microsoft warns that --audit turns off all sandbox security for the workload being analyzed. Never use it to run untrusted code. The README describes audit mode as a way to reconstruct a ProcessContainer policy for a trusted tool on supported Windows releases. Use trusted workloads for that process, then review the resulting grants.
Official Microsoft builds send required diagnostic data for the development 1.1.0-alpha request contract. Published 0.9.0-alpha and 1.0.0 requests keep optional telemetry. The README says that optional collection requires run opt-in, Windows user consent and administrative permission. Required collection needs no user consent or per-request opt-in, and administrative policy does not block it.
Build configuration matters too. The README says local open-source debug builds are not configured to route telemetry to Microsoft. Windows release builds from source use the bundled signed telemetry component and are routed unless built without routing using the documented configuration. Telemetry is a no-op on non-Windows platforms. Check the request contract and distribution you intend to ship before accepting the defaults.
Bubblewrap and gVisor fit different integration points
Bubblewrap constructs Linux sandboxes and leaves security policy to its caller. Consider it directly when Linux is your only target and your application will construct and validate the sandbox arguments. Its README says the protection provided depends on those arguments.
gVisor is an application kernel with an OCI runtime called runsc. The runsc runtime integrates with Docker and Kubernetes. Consider it when sandboxed execution belongs in an existing container platform.
These recommendations concern documented integration models. We measured neither alternative and have no comparative performance or isolation results.
What to require before adoption
The supplied GitHub metadata records a last push on November 11, 2026. That establishes later repository activity, without showing that our October compiler failure is fixed. Support responsiveness, production behavior and maintenance reliability remain unassessed.
The README explains consumer packages, backend choices, audit risks and telemetry boundaries. We assign no numerical documentation rating because the integration instructions were not reproduced sufficiently to support a usability judgment.
Before adopting MXC, require your intended SDK to launch a harmless command and deny a forbidden file read on each actual host you support. Record the SDK version, backend and host for each result. These are proposed acceptance checks, not tests completed in our run.

