Skip to content

Runtime environment variables

Environment variables that configure Elide itself, such as ELIDE_HOME, ELIDE_LOG, ELIDE_ERROR_FORMAT and ELIDE_EDITOR, plus diagnostic variables and variables from other tools that Elide honors.

On this page

These variables configure Elide. Programs also see them in process.env. For application dotenv files, Java properties, file selection, and encryption, see Environment and properties.

VariablePurpose
ELIDE_HOMEInstall directory for Elide versions. Default $XDG_DATA_HOME/elide or ~/.local/share/elide.
ELIDE_AUTO_INSTALL1 downloads a pinned .elideversion without asking.
ELIDE_LOCALECLI locale, as --locale.
ELIDE_LOGLog filter, e.g. debug.
ELIDE_LOG_STYLELog color: auto, always, or never.
ELIDE_ERROR_FORMATplain forces plain uncaught-error output, as --error-format=plain.
ELIDE_REPL_HISTORYREPL history database. Default ~/.local/share/elide/repl/history.db (Linux).
ELIDE_EDITORcode or idea links error locations to VS Code or IntelliJ. Uses EDITOR if unset.
ELIDE_CRASH_ROOTDirectory for crash reports.
ELIDE_AGENT1 forces agent output; 0 turns agent detection off. See AI Agents.
ELIDE_MCP_TOKENToken for elide mcp --mode http. Random if unset.
ELIDE_DEFER_EXITLinux: 0 makes the process free its memory before it exits.
ELIDE_SYS_TMPSet by Elide: the system temporary directory.
ELIDE_HTTP_USER_AGENTUser-Agent for fetch. Default Elide/<version>.
ELIDE_HTTP_NATIVE_WORKERSv2 transport workers for a server outside an application context (default cores ÷ 4, 1 to 8). run, serve and dev ignore it; their I/O threads follow the context count.
ELIDE_NETTY_EVENT_LOOPSHTTP client and server I/O threads. Default min(4, cores).
ELIDE_TRANSPORT_V21, true, yes, or on selects --transport=v2 when no flag is given.
ELIDE_HTTP_FALLBACKv1 serves Unix domain socket requests through nio; none (default) fails them.
NODE_TLS_REJECT_UNAUTHORIZED0 disables TLS certificate checks for fetch. Warns once.
NODE_USE_SYSTEM_CA1 trusts the system certificate store for fetch.
NODE_EXTRA_CA_CERTSPEM file of extra CA certificates for fetch.
ELIDE_MAVEN_TLS_EXTRA_CAPEM file of extra CA certificates for Maven downloads.
ELIDE_MAVEN_<NAME>_USERNAME, ELIDE_MAVEN_<NAME>_PASSWORDCredentials for elide publish --to <NAME>; <NAME> is the repository name uppercased with other characters turned to _. See Maven publishing.
ELIDE_GPG_PASSPHRASEPassphrase for elide publish to sign with gpg in CI. See Maven publishing.
ELIDE_PKGST_NPM_ENDPOINTnpm proxy URL for --pkgst. Default https://npm.pkg.st.
ELIDE_PKGST_PYPI_ENDPOINTPyPI proxy URL for --pkgst. Default https://pypi.pkg.st.
ELIDE_REMOTE_CACHEShared build cache URL. See Build cache.
ELIDE_REMOTE_CACHE_TOKENBearer token for the shared cache.
ELIDE_REMOTE_CACHE_USERNAMEBasic-auth user for the shared cache.
ELIDE_REMOTE_CACHE_PASSWORDBasic-auth password for the shared cache.
ELIDE_REMOTE_CACHE_POLICYeager (default) or smart.
ELIDE_REMOTE_CACHE_PULLfalse stops downloads from the shared cache.
ELIDE_REMOTE_CACHE_PUSHfalse stops uploads to the shared cache.
ELIDE_BUILD_TELEMETRY1, a file, or a directory writes a build trace (Build Tasks).
ELIDE_KOTLINC_ABI_STRIP0 makes kotlinc --abi-only keep full code generation instead of stripping function bodies.
ELIDE_WORKER_CLASSPATH_CACHE0 turns javac --classpath-cache off.
ELIDE_WORKER_CLASSPATH_CACHE_MAX_HANDLESMost classpath JARs javac --classpath-cache keeps open. Default one per MiB of heap, between 512 and 65536.

Configuration decryption keys

Elide 1.6.2 accepts dotenvx-compatible encrypted values in dotenv and Java properties files.

VariablePurpose
DOTENV_PRIVATE_KEYPrivate key for decrypting encrypted: configuration values.
DOTENV_PRIVATE_KEY_*Additional named private keys, such as DOTENV_PRIVATE_KEY_PRODUCTION. A suffix does not select a configuration file.

Supply keys through the inherited environment or .env.keys beside selected configuration sources. Inherited assignments override matching names in key files. Key files are read only when an effective encrypted value requires decryption; their entries are not exported as application configuration. Inherited key variables retain ordinary inherited-environment visibility. Do not put private-key assignments in application dotenv or properties files: Elide rejects them. DOTENV_PUBLIC_KEY* configuration entries are metadata and are omitted from loaded values.

Keep .env.keys out of version control and use your CI secret store for inherited keys. See Encrypted values for file lookup order, supported formats, and examples.

Diagnostics

VariablePurpose
ELIDE_ENGINE_LOGPrint low-level runtime log records to stderr.
ELIDE_DIAG_STARTUPPrint startup phase timings to stderr.
ELIDE_TRANSPORT_DIAGNOSTICS1 prints network transport statistics to stderr.
ELIDE_TRACE_PROCESSORS1 prints each Java annotation processor class to stderr as it loads.

Variables from other tools

VariableRead byPurpose
LANGUAGE, LC_ALL, LC_MESSAGES, LANGCLILocale when ELIDE_LOCALE is unset, first one set wins. Give a region (fr_FR.UTF-8); a bare language such as fr is ignored.
JDK_JAVAC_OPTIONSelide javacExtra javac options, as with the JDK’s javac. Output then uses javac’s own format.
DOCKER_CONFIGContainer buildsDirectory of the Docker config.json whose auths, credHelpers and credsStore supply registry credentials. Default ~/.docker.
UV_DEFAULT_INDEX, UV_INDEX_URLPython installsPyPI index; when set, --pkgst leaves it unchanged.
NODE_REDIRECT_WARNINGSJavaScriptAppend process warnings to this file instead of stderr.

OpenTelemetry variables

Elide reads the standard OpenTelemetry variables. They override the opentelemetry block and are overridden by --otel-* flags; see Configuration. Invalid values are ignored.

VariablePurpose
OTEL_SDK_DISABLEDtrue turns telemetry off.
OTEL_SERVICE_NAMEservice.name.
OTEL_RESOURCE_ATTRIBUTESExtra resource attributes, key=value,... (percent-encoded values).
OTEL_EXPORTER_OTLP_ENDPOINTBase URL; /v1/<signal> is appended for HTTP. Creates an otlp destination if none exists.
OTEL_EXPORTER_OTLP_PROTOCOLgrpc, http/protobuf (default), or http/json.
OTEL_EXPORTER_OTLP_HEADERSRequest headers, key=value,.... Treated as secrets.
OTEL_EXPORTER_OTLP_COMPRESSIONgzip (default) or none.
OTEL_EXPORTER_OTLP_TIMEOUTRequest timeout in milliseconds. Default 10000.
OTEL_EXPORTER_OTLP_CERTIFICATEPEM file of trusted certificates, replacing the system trust store.
OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE, OTEL_EXPORTER_OTLP_CLIENT_KEYPEM client certificate chain and private key for mutual TLS. Set both.
OTEL_EXPORTER_OTLP_{TRACES,METRICS,LOGS}_*Per-signal ENDPOINT (used as given), PROTOCOL, HEADERS, COMPRESSION, TIMEOUT, CERTIFICATE, CLIENT_CERTIFICATE, CLIENT_KEY.
OTEL_TRACES_SAMPLER, OTEL_TRACES_SAMPLER_ARGalways_on, always_off, traceidratio, or parentbased_* (default parentbased_always_on), and the ratio.
OTEL_PROPAGATORStracecontext, baggage, or none, for the OpenTelemetry API in applications. Default tracecontext,baggage. Does not turn on baggage for Elide’s HTTP server and clients.
OTEL_METRIC_EXPORT_INTERVALMetric export interval in milliseconds. Default 60000.
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCEcumulative (default) or delta.
OTEL_METRICS_EXEMPLAR_FILTERtrace_based (default: measurements inside a sampled span), always_on, or always_off.
OTEL_SEMCONV_EXCEPTION_SIGNAL_OPT_INlogs records exceptions as log records only; logs/dup (default) also adds exception span events.
OTEL_{TRACES,METRICS,LOGS}_EXPORTERnone turns that signal off, for applications and Elide alike. otlp with no destination configured sends that signal to http://localhost:4318 (4317 for gRPC).

OTEL_EXPORTER_OTLP_* apply to every destination using the otlp provider. Elide adds a shorthand for the provider presets:

VariablePurpose
ELIDE_OTEL_PROVIDERAdds a destination for a provider: otlp, sentry, datadog, posthog, honeycomb, or grafana.
ELIDE_OTEL_REGIONProvider site or region, e.g. us5 (Datadog), eu (PostHog, Honeycomb), prod-us-east-0 (Grafana).
ELIDE_OTEL_SIGNALSSignals for that destination, e.g. traces,logs. Default: the provider’s default signals.
ELIDE_OTEL_BAGGAGE_INBOUNDtrue admits served requests’ baggage headers. Default false.
ELIDE_OTEL_BAGGAGE_OUTBOUNDtrue sends the current baggage on outgoing HTTP requests. Default false.
ELIDE_OTEL_BAGGAGE_ALLOWComma-separated baggage keys allowed in both directions. Default: all keys.
ELIDE_OTEL_PROFILEStrue samples guest CPU profiles at 100 per second, or set a frequency such as 49. Default off.
ELIDE_OTEL_RUNTIME_INTERNAL_TRACEStrue includes high-volume library spans such as Compio task polls. Requires runtime tracing and a configured destination. Default false.

Provider credentials come from their usual variables: SENTRY_DSN, DD_API_KEY (and DD_SITE), POSTHOG_PROJECT_TOKEN, HONEYCOMB_API_KEY, and GRAFANA_CLOUD_OTLP_CREDENTIAL (<instance id>:<token>).

Terminal
sh
ELIDE_OTEL_PROVIDER=honeycomb HONEYCOMB_API_KEY=... elide serve app.ts

Was this page helpful?