Skip to main content
An 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 as cat. 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

Every clis 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: