CLI Reference
Elide supports multiple sub-commands organized by function.
Usage Syntax
Usage:
elide srcfile.{js|ts|jsx|tsx|py|kts...} [OPTIONS] [--] [ARG...]
or: elide {script} [OPTIONS] [--] [ARG...]
or: elide build|test|project [OPTIONS] [TASKS...]
or: elide info|help [OPTIONS]
or: elide run|serve [OPTIONS] [FILE] [ARG...]
or: elide javac|kotlinc|jar|javadoc|... [OPTIONS] [SOURCES...]Manage, configure, and run polyglot applications with Elide.
Server Commands
serve
HTTP server with static file serving and an interactive TUI dashboard.
$ elide serve ./public # serve static files
$ elide serve --host 0.0.0.0 --port 8080 ./dist # custom bind
$ elide serve --no-tui ./public # plain log output| 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, use plain log output. |
The subject argument is a directory to serve static files from.
dev
Development server with live-reload, file watching, and an interactive TUI dashboard. Automatically enables dev mode.
$ 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. |
Runner Commands
run
Run a script file or a snippet of code. Elide selects an appropriate language if given a clearly identifiable source file.
$ elide run app.js
$ elide run script.py
$ 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
Run a polyglot script, server, or interactive shell in test mode.
$ elide testProject Commands
init
Initialize a new Elide project.
$ elide initbuild
Run the project build or a build script.
$ elide build
$ elide build --no-cache
$ elide build --inspect| Flag | Description |
|---|---|
—inspect | Inspect the build. |
—no-cache | Disable build cache. |
install
Resolve and install all project dependencies.
$ elide install
$ elide install --slim
$ elide install --with npm| Flag | Description |
|---|---|
—slim | Slim installation mode. |
—with | Additional ecosystems to install for. |
project
Manage Elide projects defined by elide.pkl or other manifests.
$ elide projectLicensing Commands
pro
Manage Elide Pro licensing.
Subcommands:| Command | Description | |
|---|---|---|
pro activate | Activate Elide Pro with a license token. | |
`pro use | FILE>` | Install an offline license key or file. | |
pro whoami | Display current license information. | |
pro yeet | Remove the current license. |
$ elide pro activate elide_pro_1234567890abcdef
$ elide pro use /path/to/license.key
$ elide pro whoami
$ elide pro yeetLifecycle Commands
upgrade
Self-update the Elide binary using TUF (The Update Framework) for verified, secure updates.
$ elide upgrade
$ elide upgrade --check
$ elide upgrade --channel preview| Flag | Default | Description |
|---|---|---|
—check | false | Check for updates without applying. |
—force | false | Force update even if on latest version. |
—channel | release | Release channel (release, preview, nightly). |
info
Show information about the current Elide installation.
$ elide info
$ elide info --cargo-lockfile # print embedded Cargo.lock| Flag | Description |
|---|---|
—cargo-lockfile | Print the embedded Cargo.lock and exit. |
JVM Toolchain Commands
These commands expose embedded JVM tools. All accept tool-specific flags after--.
| Command | Description |
|---|---|
javac | Java compiler (up to JDK 25). |
kotlinc | Kotlin compiler. |
jar | Build and manage Java Archives. |
javadoc | Generate Java documentation. |
javap | Java class file disassembler. |
native-image | GraalVM Native Image compiler. |
jib | Container image builder for JVM/native apps. |
javaformat | Java code formatter. |
ktfmt | Kotlin code formatter. |
mvn | Embedded Maven build tool. |
$ elide javac -- [JAVAC_OPTIONS] [SOURCES...]
$ elide kotlinc -- [KOTLINC_OPTIONS] [SOURCES...]
$ elide jar -- [TOOL_OPTIONS] [FILES...]
$ elide native-image [OPTIONS]Developer Tools
lsp
Run an LSP (Language Server Protocol) instance for an Elide project.
$ elide lspmcp
Run an MCP (Model Context Protocol) server for an Elide project.
$ elide mcp
$ elide mcp --mode stdio
$ elide mcp --mode http --host localhost --port 8123| Flag | Default | Description |
|---|---|---|
—mode | none | Operating mode: stdio or http. |
—host | localhost | Bind host (HTTP mode). |
—port | 8123 | Bind port (HTTP mode). |
help
Show the documentation you are reading right now in the terminal.
$ elide help
$ elide help "something to search"To show documentation in languages other than your own:
$ elide help --lang fr
$ elide help -lukTo show all supported languages:
$ elide help --languagesGlobal Options
All commands support these global options:
| Option | Description |
|---|---|
-h, --help |
Show help text for any command. |
-V, --version |
Print version information and exit. On Linux x86_64, --version is intercepted before runtime init for instant response. |
-v, --verbose |
Enable verbose output (debug logging). Sets ELIDE_LOG=debug. |
--debug |
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. |
Elide supports argument files (argfiles). Prefix a filename with @ to read options from that file, one per line. Arguments after -- are never expanded.
Exit Codes
| Code | Meaning |
|---|---|
0 |
Successful execution or --help / --version. |
1 |
Generic failure: invalid arguments, server error, configuration error, license gate block, EAP expired, initialization failure. |
2 |
Exception in user code (guest language runtime error). |
On Linux x86_64, --version exits via a raw syscall(exit_group, 0) before the Rust runtime initializes, so the exit code is always 0.
Environment Variables
| Variable | Description |
|---|---|
ELIDE_LOG |
Log level (trace, debug, info, warn, error). Overridden by --verbose and --debug. |