Manage, configure, and run polyglot applications with Elide.
Licensing Tiers
Elide commands fall into two tiers:
Tier
Commands
Requirement
Free / Community
run, serve, dev, build, test, install, init, info, help, upgrade, pro, lsp, mcp, all JVM tools, all language runners
None
Premium (Elide Pro)
fwd, orb (netorb), tun (tunnel), crt (cert)
Active Elide Pro license or unexpired EAP build (30-day grace period)
Premium commands that are gated by EAP show an amber warning banner with remaining days. Expired EAP or release builds without a license show a red block banner and exit with code 1. The tun command requires a full license (no EAP grace). The fwd, orb, and crt commands allow EAP grace.
Certain premium _features_ activated via PKL configuration (Tailscale, auto-HTTPS, forward proxy, L4 proxy) are also license-gated at the config level, regardless of which command loads them.
Server Commands
serve -- Free
Production-grade HTTP server with static files, JS/TS handlers, compression (brotli/zstd/gzip), ETag/304, rate limiting, TLS, H/1.1 + H/2, and an interactive TUI dashboard.
Enable dev mode: live-reload SSE endpoint, HTML script injection, relaxed caching.
-c, --config <FILE>
none
Path to a PKL configuration file.
--check-config / --validate
false
Validate configuration and exit without starting the server. Exits 0 on success, 1 on failure. Similar to nginx -t.
--reactors <N>
1
Number of reactor (event loop) threads.
--workers <N>
0 (auto)
Total number of worker threads across all reactors.
--workers-per-reactor <N>
0
Worker threads per reactor. Takes precedence over --workers.
--pin-reactors
false
Pin each reactor thread to its own CPU core (Linux only).
--recv-pool-max <N>
auto
Maximum recv buffers retained per size class in each reactor's pool.
--admin-port <PORT>
none
Enable admin API on this TCP port (binds to --admin-host).
--admin-host <ADDR>
127.0.0.1
Bind address for the admin API.
--admin-socket <PATH>
none
Enable admin API on a Unix domain socket (Unix only). Mutually exclusive with --admin-port.
--admin-token <TOKEN>
none
Bearer token for admin API authentication.
The subject argument accepts a directory (static file serving) or a .js/.mjs/.ts/.mts file (JS/TS handler dispatch via CQ).
dev -- Free
Development server with live-reload, file watching, and an interactive TUI dashboard. Automatically enables dev mode.
shell
$ elide dev ./public
$ elide dev --no-tui ./public
$ elide dev --no-watch ./public
$ elide dev --port 8080 ./public
Flag
Default
Description
--host <ADDR>
127.0.0.1
Hostname or IP to bind to.
--port <PORT>
3000
Port to serve on.
--no-tui
false
Disable the TUI dashboard.
--no-watch
false
Disable file watching.
Premium Networking Commands
fwd -- Premium (license or EAP)
Forward proxy with optional MITM TLS interception, access control, host blocking, and L4 (TCP) relay. Includes an interactive TUI and JSON-lines output mode.
Bind to Tailscale IP, use Tailscale-issued TLS. Unix only.
--funnel
false
Expose via Tailscale Funnel (public internet access). Unix only.
--tailscale-direct
false
Standalone Tailscale node (no tailscaled daemon).
--tailscale-auth-key <KEY>
none
Pre-auth key for --tailscale-direct.
--tun
false
Create a TUN device for system-wide tunnel routing.
--auto-https <PROVIDER>
none
Enable auto-HTTPS via ACME.
--domain <DOMAINS>
none
Domain(s) to provision ACME certificates for (comma-separated).
--acme-email <EMAIL>
none
ACME contact email.
--acme-staging
false
Use ACME staging environment (untrusted certs, for testing).
--dns-challenge <PROVIDER>
none
DNS-01 challenge provider (cloudflare, webhook).
--derp
false
Run a DERP relay server alongside the HTTP server.
--derp-port <PORT>
3340
DERP relay port.
--admin-port <PORT>
none
Admin API port.
--admin-host <ADDR>
127.0.0.1
Admin API bind address.
--admin-socket <PATH>
none
Admin API Unix socket (Unix only).
--admin-token <TOKEN>
auto if non-loopback
Bearer token for admin API.
--no-tui
false
Disable the TUI.
--json
false
Output in JSON format.
tun -- Premium (license required)
WireGuard tunnel, Tailscale connectivity, and DERP relay. Requires a full Elide Pro license (no EAP grace period).
Subcommands:tun up -- Bring up a system-wide WireGuard tunnel via Tailscale. Creates a TUN device, authenticates with the Tailscale coordination server, establishes WireGuard tunnels, and routes traffic. Requires root or CAP_NET_ADMIN.
shell
$ elide tun up --auth-key tskey-auth-...
$ elide tun up --auth-key tskey-auth-... --exit-node$ elide tun up --auth-key tskey-auth-... --advertise-routes 10.0.0.0/24,192.168.1.0/24
$ elide tun up --auth-key tskey-auth-... --json
Flag
Default
Description
--auth-key <KEY>
required
Pre-authentication key for Tailscale.
--control-url <URL>
Tailscale production
Tailscale control server URL.
--dev <NAME>
elide0
TUN device name.
--mtu <N>
1280
MTU for the TUN interface.
--accept-routes
false
Accept routes advertised by peers (subnet routing).
--exit-node
false
Advertise this node as an exit node.
--use-exit-node <PEER>
none
Route all traffic through a specific peer.
--advertise-routes <CIDRs>
none
Advertise local subnets to the tailnet (comma-separated).
--self-signed
false
Generate a self-signed TLS certificate.
--serve <PORT>
none
Also start an HTTP server on the tunnel.
--foreground
true
Run in the foreground.
--verbose
false
Enable verbose logging.
--json
false
Output in JSON format.
tun down -- Tear down the tunnel. Currently handled by stopping the tun up process (Ctrl+C).
Flag
Description
—force
Force teardown even with active connections.
tun status -- Show tunnel status, connected peers, and routes. Queries the local tailscaled daemon.
Flag
Description
—peers
Show detailed peer information.
—routes
Show routing table.
—derp
Show DERP relay connections.
—json
Output in JSON format.
tun derp -- Run a standalone DERP relay server.
Flag
Default
Description
—host
0.0.0.0
Bind address.
—port
3340
Listen port.
—mesh-with
none
Connect to other DERP servers for multi-region relay (comma-separated).
—tls-cert
none
TLS certificate file.
—tls-key
none
TLS key file.
—stun-port
none
Enable STUN on this port (default: 3478).
—json
false
Output in JSON format.
PKI Commands
crt -- Premium (license or EAP)
Certificate and PKI management with local CA, system trust store integration, ACME renewal, and format conversion. All subcommands support --json for structured output.
Subcommands:crt ca -- Create or show a local Certificate Authority.
Run a script file or a snippet of code. If no code is given, start an interactive REPL session. Elide selects an appropriate language if given a clearly identifiable source file.
shell
$ elide run app.js
$ elide run script.py
$ elide repl
$ elide run --debugger app.js
$ elide run --coverage app.js
Flag
Description
—debugger[=MODE]
Enable debugger (auto, cdp, dap).
—profiler[=MODE]
Enable profiler (cputracing, cpusampling).
—coverage[=MODE]
Enable code coverage collection.
—lsp
Enable LSP features.
—insights
Activate insight scripts.
test -- Free
Run a polyglot script, server, or interactive shell in test mode.
shell
$ elide test
Language-Specific Commands
js, node -- Run JavaScript. Equivalent to elide run --javascript ....
shell
$ elide js app.js
$ elide node app.js
python -- Run Python. Equivalent to elide run --python ....
shell
$ elide python script.py
ruby -- Run Ruby. Equivalent to elide run --ruby ....
Activate debugging features and trace-level logging. Sets ELIDE_LOG=trace.
-q, --quiet
Squelch most output.
-p, --project <PATH>
Path to a specific project directory.
--color
Force color mode.
--no-color
Force no-color mode.
--timeout <DURATION>
Timeout to apply when exiting (human-readable, e.g. 30s, 5m).
--locale <LOCALE>
Override the display locale.
--use-version <VERSION>
Delegate to a specific installed Elide version.
--ignore-version
Ignore .elideversion and --use-version; run the current binary.
--no-telemetry
Disallow telemetry. Has no effect on unlicensed EAP builds.
--no-sidecar
Disable sidecar process; forces UDP fallback for telemetry on Linux.
--cloud
Enable cloud connection (overrides default for subcommand).
--no-cloud
Disable cloud connection.
--no-native
Disallow native access.
--debugger[=MODE]
Enable debugger (auto, cdp, dap).
--profiler[=MODE]
Enable profiler (cputracing, cpusampling).
--coverage[=MODE]
Enable code coverage.
-X, --vm <KEY=VALUE>
Set a VM/engine property (can be repeated).
--insights <FILES>
Activate insight scripts.
--crash
Immediately crash (for testing).
--
Separator between Elide options and positional parameters / script arguments.
Tip: Argfiles
Elide supports argument files (argfiles). Prefix a filename with @ to read options from that file, one per line. Arguments after -- are never expanded.