Skip to content

Start here

Install, platforms and updates

9 min read

The published OpenEng engines (Terminal, Kubernetes, Data and the AI engine) install with one command from openeng.app. The script picks the binary for your operating system and CPU, checks its SHA-256 checksum when it can, installs it to ~/.local/bin, and puts that folder on your PATH. The app engines then keep themselves up to date; the AI engine has no release feed yet, so re-run its installer to update. The Git and Chat engines aren't published yet.

Engines and installers

EngineBinaryUsed byStatus
Terminalopeneng-terminalterminal.openeng.appPublished
Kubernetesopeneng-kubernetesk8s.openeng.appPublished
Dataopeneng-datadata.openeng.appPublished
Gitopeneng-gitgit.openeng.appNot published yet
Chatopeneng-chatchat.openeng.appNot published yet
OpenEng AIopenengapp.openeng.app, the Web ConsolePublished for Linux x86_64. Starting it requires an active Pro plan.

Terminal

bash
curl -fsSL https://openeng.app/engine/terminal/install.sh | bash

Kubernetes

bash
curl -fsSL https://openeng.app/engine/kubernetes/install.sh | bash

Data

bash
curl -fsSL https://openeng.app/engine/data/install.sh | bash

OpenEng AI

bash
curl -fsSL https://openeng.app/engine/install.sh | bash

The same commands are on openeng.app/download.

Note

The Git and Chat web apps are live, but their engines haven't been published yet. Their installer scripts exist, but they stop with no git engine binary published for <os>/<arch> yet (or chat), and nothing is installed.

Platforms

The binaries published on openeng.app as of September 25, 2026:

EngineLinux x86_64Linux ARM64macOS (Apple silicon and Intel)Windows
Terminal✓ 0.0.4—✓ 0.0.3Through WSL
Kubernetes✓ 0.0.5✓ 0.0.5✓ 0.0.4Through WSL
Data✓ 0.0.4—✓ 0.0.3Through WSL
Git, Chat————
OpenEng AI (openeng)✓——Through WSL
  • Linux builds are the current releases, from September 19, 2026.

  • macOS builds are the previous releases; the release notes say the new macOS builds follow. Each engine updates itself when a newer build for your platform is published.

  • Windows has no native builds. Run the Linux installer inside WSL, for example:

    bash
    wsl bash -c 'curl -fsSL https://openeng.app/engine/terminal/install.sh | bash'
    

    Each engine also has a PowerShell script, install.ps1, but it only prints a WSL command like this one, because there is no Windows binary to install. The bash installer refuses to run in Git Bash, MSYS or Cygwin (Windows shell detected).

On a platform without a binary, the installer stops with no <app> engine binary published for <os>/<arch> yet and installs nothing.

The AI engine also needs a sandbox for its built-in local models. openeng runs its built-in model weights only inside a sandbox. On Linux, including WSL, that needs a working systemd user session or bubblewrap with unprivileged user namespaces; containers and CI runners often have neither. Without one, the engine starts but refuses the built-in local models; hosted, external-CLI and Ollama (catalog) models still work (Local models need a sandbox).

What the installer does

  1. Detects your platform. It reads the OS (Linux or macOS) and the CPU (x86_64/amd64, or arm64/aarch64).
  2. Downloads the binary over HTTPS: openeng-<app>-<os>-<arch> from https://openeng.app/engine/<app>/bin/, or openeng-<os>-<arch> from https://openeng.app/engine/bin/ for the AI engine. It rejects anything that isn't a binary, such as a web page returned in its place.
  3. Checks the SHA-256 checksum against the .sha256 file published next to the binary, when it can fetch that file and finds sha256sum or shasum; it prints checksum verified when it did. On a mismatch it deletes the download and stops. If it can't fetch the checksum or finds no hash tool, it installs the binary without checking it and doesn't warn you, so if you don't see checksum verified, check the download yourself.
  4. Runs the binary once with --help to make sure it works on this machine. On macOS it also clears the quarantine flag, because the beta engines are not code-signed.
  5. Installs it as ~/.local/bin/openeng-<app> (the AI engine is ~/.local/bin/openeng).
  6. Updates your PATH if that folder isn't on it: it adds an export PATH=… line to whichever of ~/.bashrc, ~/.zshrc and ~/.profile exist, and asks you to open a new terminal.
  7. Creates ~/.openeng, the folder every OpenEng engine keeps its files in.

The AI installer then downloads the default chat model with openeng pull chat, which is a few GB. Set OPENENG_NO_MODELS=1 to skip it; the engine downloads the models a config needs when it starts with that config.

Installer options

Set these in the environment of the bash that runs the script:

  • OPENENG_BIN_DIR: where the binary is installed. Default: ~/.local/bin.
  • OPENENG_TERMINAL_URL, OPENENG_KUBERNETES_URL, OPENENG_DATA_URL: where an app installer downloads binaries from. Default: https://openeng.app/engine/<app>/bin.
  • OPENENG_ENGINE_URL: where the AI installer downloads the binary from. Default: https://openeng.app/engine/bin.
  • OPENENG_NO_MODELS=1: AI installer only; skips the default model download.
bash
curl -fsSL https://openeng.app/engine/terminal/install.sh | OPENENG_BIN_DIR="$HOME/bin" bash

Check a download yourself

Every binary has a checksum file at the same URL plus .sha256. To check a binary by hand:

bash
curl -fsSLO https://openeng.app/engine/terminal/bin/openeng-terminal-linux-x86_64
curl -fsSL https://openeng.app/engine/terminal/bin/openeng-terminal-linux-x86_64.sha256
sha256sum openeng-terminal-linux-x86_64    # on macOS: shasum -a 256 openeng-terminal-linux-x86_64

The hash that sha256sum prints must equal the one in the .sha256 file. The checksum confirms the download matches the file openeng.app serves. It isn't a signature: the beta engines aren't code-signed, and the checksum comes from the same place as the binary. For an app engine's newest build, the release record on releases.openeng.app lists the same checksum from a separate site (The release feed).

Start the engine

Engineering apps. Open the app in your browser and sign in. The app shows a start command with a one-time key, for example:

bash
openeng-terminal serve --oauth=<one-time key>

Run it, and the app connects on its own (walkthrough). The Terminal installer's closing hint leaves out the key. Without one, the engine prints cannot start: the engine requires --oauth=<one-time key> (copy it from the Connect screen) and exits.

OpenEng AI. Start the engine with your OpenEng key, an API key you create in the Console under Deploy → API keys:

bash
openeng serve --key=<your OpenEng key>
# or
OPENENG_KEY=<your OpenEng key> openeng serve

The engine registers the key with the OpenEng API, which requires an active Pro plan. Pro launches in Q4 2026 and can't be purchased yet (Plans & billing). As of September 25, 2026 the OpenEng AI services the engine registers with aren't live yet, on any plan (status). Without a key, the engine prints cannot start: no OpenEng key (--key=<key> or OPENENG_KEY). Generate one in the Console (Pro required). The OpenEng AI quickstart covers the rest, and the engine reference lists every command and flag.

Updates

Engineering app engines

For Terminal, Kubernetes and Data, updates are automatic and can't be turned off:

  • At every start, before it signs in, the engine asks releases.openeng.app for the latest release for its platform. If there's a newer one, it downloads it, checks its SHA-256 checksum (no valid checksum, no install), confirms the new binary reports the expected version, swaps it in and restarts into it. That start already runs the new version.
  • While it runs, the engine checks again every 30 minutes. A newer version is downloaded, checked and staged without interrupting you. Terminal, Kubernetes and Data then show a banner, "Engine update … ready — restart the engine to apply it", with a Restart engine button that restarts the engine into the new version; the app reconnects on its own. Otherwise the update applies the next time you start the engine. The first such restart after updating from Terminal or Data 0.0.3, or Kubernetes 0.0.4, asks for a fresh one-time key once; updating at the next start needs nothing.
  • If releases.openeng.app can't be reached, the engine starts the version you have and tries again later. A download with the wrong checksum or version is never installed.
  • The current macOS builds, which are older releases, still use the release service's former address; the next macOS builds move to releases.openeng.app. Keep that in mind if you allow outbound traffic by host name.

The OpenEng AI engine

As of September 25, 2026 there is no engine release in the feed; re-run the installer to update.

The openeng engine is built to check releases.openeng.app when it starts and then every six hours, sending your OpenEng key with each check. When the feed has a newer version, it downloads it, checks its SHA-256 checksum, and applies it the next time the engine starts. A release marked critical, or a running version below the minimum supported version, is swapped in right away, and the engine tells you to restart it; it never stops itself in the middle of work. Set OPENENG_SELF_UPDATE=0 to turn updates off, and with them the checks that send the key (engine updates).

Release notes

releases.openeng.app lists the releases of the Terminal, Kubernetes, Data and Git engines with their changelogs (Git has a release record but no published binary; the AI engine and Chat have no feed yet). The same data is public JSON, for terminal, kubernetes, data and git (the release feed):

text
https://releases.openeng.app/v1/<product>/stable/latest
https://releases.openeng.app/v1/<product>/stable/versions

Uninstall

For an app engine, using Terminal as the example:

  1. Stop the engine: press Ctrl+C in the terminal where it runs.

  2. Delete the binary:

    bash
    rm ~/.local/bin/openeng-terminal
    

    If you installed with OPENENG_BIN_DIR, delete it from that folder instead.

  3. Remove the PATH line the installer added to ~/.bashrc, ~/.zshrc or ~/.profile. It follows a # OpenEng Terminal Engine comment. Keep it if another OpenEng engine lives in the same folder.

  4. Optionally, delete the engine's data: rm -rf ~/.openeng/terminal. This removes everything the engine saved on this machine, such as terminal groups, history and saved connections.

The AI engine is ~/.local/bin/openeng; its files, including downloaded models, are in ~/.openeng itself (the ~/.openeng layout). ~/.openeng is shared by every OpenEng engine, so delete the whole folder only if you use none of them.

Troubleshooting

no … engine binary published for <os>/<arch> yet. Your platform isn't in the table above. Git and Chat have no engine yet; Terminal and Data have no Linux ARM64 build.

checksum mismatch for …. The download was damaged or altered on the way. The installer has already deleted it; run the command again. If it keeps happening, check for a proxy that rewrites downloads.

the downloaded engine did not run. The binary doesn't run on this machine (wrong platform or a corrupt download). Run the installer again.

command not found right after installing. The new PATH line only applies to new terminals. Open a new one, or run the export PATH=… line the installer printed.

Windows shell detected. You ran the bash installer in Git Bash, MSYS or Cygwin. Use WSL.

macOS warns about an unidentified developer. The installer clears the quarantine flag, but some proxies and antivirus tools set it again. Clear it yourself: xattr -d com.apple.quarantine ~/.local/bin/openeng-terminal.