Repository navigation
0.138.0: A terminal study can run on Modal
humanish 0.138.0 can run a terminal study's shell on Modal as well as E2B. Set
execution.target: modal-terminal and execution.runtimeAuth: openai-env, sign in with
modal token new, and install the optional modal package beside humanish. The sandbox runs as a
non-root user with sudo, as on E2B, lives up to Modal's 24 hours, is journaled and reclaimed by id
like an E2B sandbox, and is priced at Modal's sandbox rate. Desktop studies still run on E2B or a
local VM.
Added
- A terminal study can run its shell on Modal.
execution.target: modal-terminalcreates the
sandbox with Modal's JavaScript SDK (modal, a new optional peer, like@e2b/desktop) in an app
namedhumanish, in the environmentMODAL_ENVIRONMENTor the Modal profile names. It runs
Modal's VM runtime with 2 cores (4 vCPU) and 4 GiB, from a Debian image Modal builds in your
workspace on first use from the same pinned base and package snapshot as the local guest recipe,
and lives up to Modal's 24 hours instead of the E2B plan's ceiling. Commands run asuserwith
passwordless sudo, as on E2B. The run needsMODAL_TOKEN_IDandMODAL_TOKEN_SECRET, which key
discovery reads from~/.modal.tomlaftermodal token new, andexecution.runtimeAuth: openai-env: Modal can add a key to outbound requests only from a Secret stored in your
workspace, so the defaultopenai-egressis refused on Modal. AnegressAllowlist becomes
Modal's domain and CIDR allowlists. Receipts and owner lines namemodal,humanish reclaim
kills and searches by tag through Modal, and the cost line prices the requested size at Modal's
sandbox rate (resourceSource: modal.create). Desktop studies still run on E2B or a local VM
(#1788).
Checked live
- Three live Modal terminal runs of the first-contact study (
openai-env, 8-minute cap) gradedshare_readywith 16 checks. Each participant installed humanish, ran the dry-run flow and reported that it had no keys for a live run, as the E2B release dogfood does. Each sandbox's cleanup was confirmed by id, and its cost line priced at Modal's rate. - A Modal run killed with SIGKILL after its receipt landed was reclaimed:
reclaim --checkreported the sandbox running,reclaimkilled it by id and reportedclean, and Modal listed no container afterwards. This ran twice. - Earlier live runs found three differences from E2B that the release handles: Modal's default gVisor runtime blocks
sudo(sandboxes use Modal's VM runtime), a Modal command's stdin stays open unless closed (Codex waited on it), and Modal reports a terminated sandbox finished a moment afterterminatereturns.
The release changes nothing a participant sees or does, and nothing the analysis reads, on E2B or local studies, so the efficacy benchmark was not rerun; the 0.133.0 result stands.