Migration: CLI is now
@isol8/cli (installed as isol8 command).isol8 CLI.
Global option
Enables debug logs for CLI internals and engine operations.
isol8 run
isol8 run streams output by default. Use --no-stream only when you want buffered output after execution completes.Input and runtime flags
Script file path. Runtime is auto-detected from extension unless
--runtime is provided.Inline code to execute.
Force runtime instead of extension-based detection.
Explicit stdin payload for the execution process.
Security and resource flags
Sets the network egress mode for the container.
none: Blocks all network access (default).filtered: Routes traffic through a proxy with whitelist/blacklist enforcement.host: Allows full host network access (use with extreme caution).
--install is used and --net is not explicitly provided, CLI automatically uses filtered.Adds a regex pattern to the whitelist in
filtered mode. Only hostnames matching at least one allow pattern will be permitted.Blacklist pattern for filtered mode.
Timeout in milliseconds for package installation and code execution.
Memory limit (
512m, 1g, etc.).CPU limit as fraction/cores.
Maximum number of processes.
Maximum output size before truncation.
/sandbox tmpfs size./tmp tmpfs size.State and behavior flags
Use persistent mode (
mode=persistent).Keep container alive after execution finishes.
Disable realtime streaming and use buffered
execute() path.Install package before execution.In
filtered mode, CLI automatically merges default runtime package registry hosts into the allowlist.
Explicit --net is never overridden.Inject secret env vars and mask values in output.
Write stdout to local file.
Override runtime image.
Enable network request logs in results (filtered mode).
Remote execution flags
Execute against remote
isol8 serve instance.API key for remote execution (
ISOL8_API_KEY fallback).Examples
isol8 setup
@isol8/cli setup
Comma-separated Python dependencies for custom image.
Comma-separated Node dependencies for custom image.
Comma-separated Bun dependencies for custom image.
Comma-separated Deno modules to pre-cache.
Comma-separated apk packages for bash runtime.
Force rebuild even when hashes indicate cache hit.
isol8 serve
Port for server listener. Resolution order is
--port > ISOL8_PORT > PORT > 3000.
If the selected port is occupied, the CLI prompts to choose a different port or automatically finds an available one.API key for bearer auth. If omitted,
ISOL8_API_KEY environment variable is used.Force re-download of standalone server binary.
Enable debug logs for server internals.
For full server behavior and endpoints, see the Server docs tab: Server overview and Server routes.
isol8 build
Runtime base image to extend.
Package to bake into the image. Supports repeated flags and comma-separated values.
Optional alias tag (for example
my-registry/ml-image:latest) applied to the built hashed image.Force rebuild even if current inputs resolve to an existing up-to-date image.
isol8 config
isol8 cleanup
Print resolved config as JSON.
isol8 cleanup
Skip confirmation prompt.
Also remove isol8 Docker images.
FAQ
What is the difference between `--persistent` and `--persist`?
What is the difference between `--persistent` and `--persist`?
--persistent sets execution mode to persistent (reuses container state across runs). --persist keeps the container alive after a run for inspection/debugging.Do I need `--key` for `isol8 serve` every time?
Do I need `--key` for `isol8 serve` every time?
No.
isol8 serve accepts --key, but it can also read the API key from ISOL8_API_KEY.Why does `isol8 run` print output in real time?
Why does `isol8 run` print output in real time?
Streaming is the default behavior. Use
--no-stream if you want buffered output only after the run completes.Troubleshooting quick checks
[ERR] API key requiredonserveor remoterun: pass--keyor setISOL8_API_KEY.- Runtime not detected from file extension: pass
--runtime <name>explicitly. - No output appears while command runs: check if
--no-streamis enabled. - Filtered mode still blocks host: verify
--allowregex matches hostname exactly.