> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mirage.strukto.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# E2B

> Run captured command lines in an existing E2B sandbox.

`E2BRuntime` connects to a live [E2B](https://e2b.dev) sandbox by id. Create
it with E2B's CLI or SDK. Programs accessing Mirage mounts as ordinary files
require Mirage and FUSE inside the sandbox, with mounts at the same paths
as the host workspace. Sandbox creation and cleanup remain with your application.

See the [Sandbox overview](/python/runtime/sandbox) for the shared image and
matching mount-prefix setup.

## Install

```bash theme={null}
pip install mirage-ai[e2b]
```

## Configure

```yaml theme={null}
runtimes:
  - name: e2b
    captures: ["python3", "pip"]
    config:
      sandbox_id: ${E2B_SANDBOX_ID}
      api_key: ${E2B_API_KEY}
  - workspace
```

`api_key` is optional when `E2B_API_KEY` is set. The runtime connects on the
first captured line and reuses the sandbox client until the workspace closes.
Closing the workspace leaves the sandbox running.

The same configuration in application code is:

```python theme={null}
from mirage.runtime.sandbox.e2b import E2BRuntime

runtime = E2BRuntime(
    captures=["python3", "pip"],
    config={"sandbox_id": "sandbox-id"},
)
```

The runtime uses E2B's `AsyncSandbox`, with independent stdin and output
for concurrent commands.

Use the native E2B SDK runtime for E2B commands. SSH remains useful for
general remote hosts and persistent MCP stdio connections.

Templates, CPU and memory sizing, networking, and lifecycle controls remain
E2B settings.

## Standard input

Piped input goes directly to stdin, followed by EOF. Commands without input
start with stdin closed.

<Warning>
  Cancellation attempts to kill the foreground E2B command and disconnects
  its event stream. It does not guarantee termination of every descendant
  process. E2B also applies its SDK command timeout, currently 60 seconds by default, to
  both runaway and legitimate long-running commands. See
  [Resource limits](/python/runtime/sandbox#resource-limits).
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.