Elyra Desktop
Elyra Desktop is the Elyra coding agent in a window: the same agent loop, tools, providers, sessions and extensions as the terminal edition, built with Rust (Tauri 2) and Svelte 5. It reads and writes the same ~/.elyra/agent/ directory — settings, credentials, sessions, skills, prompt templates, themes, memory and decision logs — so you can run both against the same projects and switch between them mid-session.
It is free to use, like the terminal edition. Downloads and updates come from elyracode.com/elyra; the source is not published.
Which edition?
Terminal (elyra) |
Desktop | |
|---|---|---|
| Install | npm i -g @elyracode/coding-agent |
A disk image or AppImage/deb from the download section |
| Runs on | macOS, Linux, Windows, anywhere Node 20+ runs | macOS on Apple silicon; Linux on x86_64 and ARM64 |
| Sessions, settings, skills | ~/.elyra/agent/ |
The same directory, unchanged |
| Extensions | Node on PATH |
A bundled extension host; extensions themselves still need Node 20+ on PATH (or ELYRA_NODE) |
| Updates | npm update -g or /update |
/update, or the banner on start; signed and installed in place |
| Themes | The six reference themes | The same six, plus Tokyo Night as the default; custom themes in ~/.elyra/agent/themes/ hot-reload |
Everything the terminal edition can do, the desktop edition does with the same slash commands: /tree, /rewind, /fork, /compact, /goal, /review, /bisect, /replay, /learn, /share, /doctor, /decisions, /config, /update. The usage guide applies to both.
Installing
macOS
Download the disk image, open it and drag Elyra Desktop to Applications. The build is for Apple silicon, signed with a Developer ID and notarized by Apple, so it opens without warnings. No Intel build is offered: it has not been run on Intel hardware, and shipping one nobody has run would be worse than shipping none.
Linux
Two packages per architecture, x86_64 and ARM64 (aarch64):
-
AppImage — one file, no installation. Make it executable and run it:
chmod +x Elyra-Desktop-*-linux-x86_64.AppImage ./Elyra-Desktop-*-linux-x86_64.AppImageThis is the package the in-app updater replaces, so use it if you want
/updateto work. -
deb — for Debian and Ubuntu (22.04 or later, which provides WebKitGTK 4.1):
sudo apt install ./Elyra-Desktop-*-linux-x86_64.deb
Both need libwebkit2gtk-4.1, which apt pulls in for the deb and the AppImage expects on the system.
Checking what you downloaded
Every download has a .sha256 beside it on the download page:
shasum -a 256 Elyra-Desktop-0.1.0-arm64.dmg
Updates
Elyra Desktop checks https://elyracode.com/elyra/desktop/latest.json for a newer version. /update downloads and installs it and restarts; the banner on start offers the same when a release is installable. Every update is verified against a public key compiled into the application before it is installed — a manifest or a download that does not carry the right signature is refused, whatever it says.
Release notes are in the Elyra Desktop changelog. The terminal edition's are in the Elyra changelog; the two are versioned separately.
Providers and credentials
All nine provider protocols — Anthropic, OpenAI completions and responses, OpenAI Codex, Azure OpenAI, Google, Vertex, Mistral, Bedrock — and the OAuth logins (Anthropic, OpenAI Codex, GitHub Copilot, Google Antigravity, Gemini CLI, Cloud Code) with a token refresher. Credentials are stored where the terminal edition stores them, so a login in one is a login in the other. See Providers.
Extensions
Elyra Desktop ships its own extension host, a Node sidecar that loads the same TypeScript extensions the terminal edition does over a JSONL protocol. It is bundled with the application; the extensions it loads run under the Node 20+ found on your PATH (or named by ELYRA_NODE). Extension tools, commands, dialogs, status lines and widgets appear in the window. /reload re-discovers extension paths; /config turns individual extensions, skills, prompts and themes on or off.
Extensions that shell out to the terminal edition (elyra -p …) need it installed separately: the desktop bundle carries the extension host, not the elyra command.