A coding agent
that lives where
you actually work
.
Elyra is a self-extensible AI coding agent for the terminal — unified across 30+ models, scriptable from the ground up, and yours to shape. No editor lock-in. No subscription. No telemetry.
Prefer a window? Elyra Workspace runs this agent in a thread for each task, beside Claude Code, Codex and Pi, on macOS with Apple silicon.
- Tokens
- −30%
- Providers
- 30+
- Price
- Free
Elyra Desktop is not being continued.
There will be no new versions of it. Use Elyra Workspace instead: a native app where you run Elyra, and Claude Code, Codex, Pi and other agents beside it, in a thread for each task, with Git, a browser, a terminal and your files in the same window.
Workspace runs the terminal edition of Elyra, so install that once with
npm i -g @elyracode/coding-agent; it reads the same
~/.elyra/agent/ directory, so your settings and credentials carry over, and the
sessions you had in Desktop stay there, to continue in the terminal edition. Workspace is for macOS on Apple silicon;
on Linux, use the terminal edition. The terminal edition goes on as before.
Save up to 30%
on every project
Elyra auto-selects cheap, fast models for simple tasks — file reads, small edits, lookups — and reserves powerful frontier models for the work that actually needs them.
- Token-aware routing per turn, not per session
- Pinned when Anthropic is configured: Claude Haiku 5.5 for the fast tier, Opus 5.5 for the powerful one; without it, cost-based ranking
- Cost tracking across all 30+ providers
- Context compaction keeps long sessions cheap
-
Override anytime with
/modelorCtrl+P
turn 1 · read package.json → claude-haiku ($0.0003) turn 2 · grep for usages → gpt-4o-mini ($0.0008) turn 3 · refactor auth flow → claude-sonnet ($0.041) turn 4 · summarize changes → claude-haiku ($0.0004) ────────────────────────────────── session total $0.042 vs. all-sonnet $0.061 saved 31%
Most agents pick a side.
Elyra picks yours.
One vendor, one editor, one workflow — most tools decide for you. Elyra is built around the opposite assumption: that the person at the keyboard knows best, and the agent should adapt.
Independent & private
No accounts. No telemetry. No paid tier. Your keys, your data, your machine.
Zero vendor lock-in
OpenAI, Anthropic, Google, Mistral, Bedrock, local models — one unified streaming API.
Built to be extended
Tools, skills, prompt templates, themes, providers. Drop-in extensions in a single file.
Features
Everything in one binary
A complete agent runtime — tools, sessions, memory, UI — installed with a single npm command.
Unified streaming API with cost tracking across OpenAI, Anthropic, Google, Mistral, Bedrock and more.
Read, write, edit, bash, grep, find. Everything an agent needs, with safety rails.
Branching sessions, context compaction, HTML export, full audit trail. Since 0.9.41 a session also keeps its prompt cache warm while you think: Anthropic's cache expires after five minutes, and the pause to read a diff is usually longer than that, so a tiny ping four minutes in keeps the next turn a cache read rather than a re-send of the whole conversation. Two pings, then it stops, because past a quarter of an hour you are doing something else. And a standing instruction you add mid-conversation with /system stays in the session, survives compaction, and is marked as coming from you rather than from a tool.
Custom tools, skills, prompt templates, themes and hooks — discovered automatically.
A cloned repository can no longer make Elyra run code just by being opened. Project packages, project extensions, MCP server definitions and the settings that change how commands run — shellPath, shellCommandPrefix, npmCommand, autoExtensions and autoSkills — take effect only once you trust the directory, and Elyra lists exactly what would run before it asks. AGENTS.md, skills, prompt templates, themes and every other setting work as before, trusted or not. Trust this folder, its parent, or this session only; /trust and elyra trust change your mind later. Print, JSON, RPC and MCP modes never prompt, so in a script an untrusted project simply runs without its gated configuration unless you pass --trust-project.
Elyra uses the MCP servers you already configured for Claude Code, Cursor or VS Code, through two stable tools, mcp_search and mcp_call, instead of loading every server's schemas into the prompt; with no servers it adds nothing and costs nothing, and it comes with the npm install (the standalone binary builds run elyra install npm:@elyracode/mcp once). An app that starts Elyra can hand it servers for that one process in the ELYRA_MCP_SERVERS environment variable, in the .mcp.json format (Elyra Workspace passes its agent gateway this way), and it is read in every project, trusted or not, since whoever sets it already controls the process. The other way, elyra --mode mcp serves Elyra to Claude Desktop, Cursor and other hosts: elyra_task runs the agent read-only unless you say edit, elyra_review reviews your uncommitted changes with a model from another vendor, and elyra_decisions lists the recorded architecture decisions.
Differential rendering, markdown, syntax highlighting, image and editor support.
Lit components for embedding chat, artifacts and model pickers in your app.
Auto-selects cheap models for simple tasks, powerful ones for complex work.
If a provider is down or rate-limited, turns auto-retry on an equivalent model from another vendor. /review --cross gets a second opinion from a different vendor entirely.
Elyra records per-model outcomes — turn success, edit failures, retries, failovers, latency, cost — to a local ledger and demotes demonstrably unreliable models in failover ranking. Since 0.9.37 the ledger also recommends: /routing-stats ends with one concrete suggestion per tier — switch a pinned model when a measured alternative is meaningfully better, which means a higher success rate or equal success at under 60% of the cost per turn. And every commit the agent makes carries an Elyra-Cost: trailer — spend since the previous commit, the model, the turns — so a team reads AI cost per change in git log (gitCostTrailer: false to stop). Since 0.9.38 routing picks the thinking level per turn as well as the model; your session level is a ceiling it only ever lowers. Only ids, counters and timings; never prompts or code, nothing leaves disk. Inspect with elyra doctor routing.
Persists project knowledge across sessions — no re-explaining your stack.
TALL, VILT, RILT and more. Auto-detected. Drop-in expert context per stack.
/init detects your stack, creates AGENTS.md, blueprints and snippets directories, and suggests extensions.
/snippet sends saved instructions from .elyra/snippets/ — release flows, review checklists, canned prompts.
/swarm build, review and refactor pipelines chain focused agent stages with visual progress.
Ecosystem
An ecosystem that grows with you
Install only what you need. Every package is opt-in and works standalone.
Core libraries
@elyracode/coding-agent
The Elyra CLI — TUI, sessions, project setup (/init), memory, snippets, tools, and SDK
Read docs for @elyracode/coding-agent@elyracode/agent-core
General-purpose agent runtime — transport abstraction, state management, attachments
Read docs for @elyracode/agent-core@elyracode/ai
Unified LLM API — automatic model discovery and provider configuration
Read docs for @elyracode/ai@elyracode/tui
Terminal UI library with differential rendering for text-based applications
Read docs for @elyracode/tui@elyracode/web-ui
Reusable web components for AI chat interfaces powered by @elyracode/ai
Read docs for @elyracode/web-uiExtensions
@elyracode/anna
Anna.js — Markdown presentations with terminal animations, code playgrounds and Mermaid
Read docs for @elyracode/anna@elyracode/subagents
Delegate to focused child agents — scout, reviewer, planner, worker, oracle
Read docs for @elyracode/subagents@elyracode/swarm
Multi-agent pipelines — /swarm build, review and refactor with visual progress
Read docs for @elyracode/swarm@elyracode/test-gen
Test generation — Pest for Laravel, Vitest for TypeScript
Read docs for @elyracode/test-gen@elyracode/perf-tools
Performance analysis — N+1 queries, missing indexes, eager loading
Read docs for @elyracode/perf-tools@elyracode/design-tools
Browser preview, screenshots, Tailwind consistency
Read docs for @elyracode/design-tools@elyracode/design-lookup
Extract design systems from any website — colors, typography, spacing, components
Read docs for @elyracode/design-lookup@elyracode/browser-tools
Playwright in the agent's hands — navigate, click, fill, verify behaviour, run specs
Read docs for @elyracode/browser-tools@elyracode/flux-ui
Flux UI tools — live component index, page generator
Read docs for @elyracode/flux-ui@elyracode/db-tools
Query MySQL, ClickHouse and SQLite with schema awareness
Read docs for @elyracode/db-tools@elyracode/http-tools
API testing, OpenAPI parsing, live docs fetch
Read docs for @elyracode/http-tools@elyracode/git-intel
Git intelligence — session briefings, commit messages, PR descriptions
Read docs for @elyracode/git-intel@elyracode/docker
Docker — container exec, log tailing, compose operations, .env sync
Read docs for @elyracode/docker@elyracode/herd
Laravel Herd — environment detection, services, error logs, .env sync
Read docs for @elyracode/herd@elyracode/laravel-starters
Fetch official Laravel 13.x starter kits
Read docs for @elyracode/laravel-starters@elyracode/i18n-tools
Localization — find hardcoded strings, missing translations across locales
Read docs for @elyracode/i18n-tools@elyracode/lsp-typescript
TypeScript LSP — go-to-definition, find-references, diagnostics, hover
Read docs for @elyracode/lsp-typescript@elyracode/lsp-php
PHP/Laravel LSP — go-to-definition, find-references, diagnostics, hover
Read docs for @elyracode/lsp-php@elyracode/lsp-rust
Rust LSP (rust-analyzer) — go-to-definition, find-references, diagnostics, hover
Read docs for @elyracode/lsp-rust@elyracode/grove
Grove integration — daemon state, runtimes, services, sites, logs and .env sync checks
Read docs for @elyracode/grove@elyracode/seo
SEO & LLM optimization — audit, llms.txt, schema.org, meta tags
Read docs for @elyracode/seo@elyracode/workflows
Code-orchestrated pipelines — prompt, run, if, parallel steps with template interpolation
Read docs for @elyracode/workflows@elyracode/laravel
Deep Laravel project understanding — models, relationships, routes, architecture analysis
Read docs for @elyracode/laravel@elyracode/btw
Side conversations — /btw, /btw:inject, /btw:summarize, /btw:thread for parallel questions
Read docs for @elyracode/btw@elyracode/youtrack
YouTrack — issue CRUD, comments, tags, links, projects, knowledge base, time tracking
Read docs for @elyracode/youtrack@elyracode/felagi
Félagi — issues, comments, time and the stopwatch, knowledge base, projects, agent runs
Read docs for @elyracode/felagi@elyracode/jev-tools
Jev — calibrated yes/no, choice and score judgements as probabilities, not prose; an opt-in gate that asks whether a shell command is destructive
Read docs for @elyracode/jev-tools@elyracode/semantic-index
Local semantic code search — embed your codebase and find code by meaning, not keywords
Read docs for @elyracode/semantic-indexStack profiles
@elyracode/stack-tall
TALL — Tailwind, Alpine, Laravel, Livewire 4, Flux UI
Read docs for @elyracode/stack-tall@elyracode/stack-rilt
RILT — React 19, Inertia 2, Laravel, shadcn/ui
Read docs for @elyracode/stack-rilt@elyracode/stack-silt
SILT — Svelte 5, Inertia, Laravel, Tailwind
Read docs for @elyracode/stack-silt@elyracode/stack-primevue
PrimeVue 4 — 80+ components for Vue 3
Read docs for @elyracode/stack-primevue@elyracode/stack-filament
Filament v5 — admin panels, resources, multi-tenancy
Read docs for @elyracode/stack-filament@elyracode/stack-laravel-ai
Laravel AI SDK — agents, tools, embeddings, vector stores
Read docs for @elyracode/stack-laravel-ai@elyracode/stack-elyra-framework
Elyra Framework — Rust + Svelte 5 desktop apps: container, commands, ORM, facades
Read docs for @elyracode/stack-elyra-frameworkCommunity registry
Discover extensions, stack profiles, themes and skills published by the community.
Learn
Learn it by building something
A reference tells you what a command does. A course tells you when you would reach for it. These build one real product from a vague idea to something shipped, and introduce each feature exactly where it earns its keep.
Quickstart
Up and running in minutes
# 1. Install $ npm install -g @elyracode/coding-agent # 2. Configure a provider $ export OPENAI_API_KEY=sk-... $ export ANTHROPIC_API_KEY=sk-ant-... # 3. Run it in your project $ cd my-project && elyra # 4. Optional: add stack profile $ npm install -g @elyracode/stack-tall
Comparison
Why developers choose Elyra
Most agents are a cloud product with a chat box. Elyra is a tool you own — and the architecture shows it.
Quiet tools
for serious
software work.
Install once. Bring your own keys. Keep your sessions on your machine. Shape Elyra to fit how you actually build.