in_process machine runs a runtime
inside Mirage, so Python or JavaScript runs where Mirage runs, with no
container or host of its own. Each entry names its runtime:
runtime also takes a runtime you registered in code, or a
./file.py:Class (Python) or ./file.mjs:Class (TypeScript) reference. The
entry’s other keys are the runtime’s settings.
Files
A runtime here reaches the workspace’s mounts directly, under the same mount modes, permissions and policies ascat. Monty, WASI and QuickJS have no host
files or network; Pyodide’s access depends on where it runs, see its
containment; a custom runtime reaches
what its code reaches. For hostile code, prefer a machine with a kernel
boundary: a host with a sandbox, or a
machine provider.
CLIs
Everyclis entry names its
machine. A registered CLI, such as slack, or one made from an MCP server
runs only here. A script runs here on the first entry that runs its
language, or on the runtime it names: