Skip to main content

0.2.3

A shorter command (eln), a web app tab to approve and merge, tasks from Linear and other tools, several machines working as one, and a lighter terminal UI.

Install​

curl -fsSL https://github.com/ElanvitalAI/elanous/releases/latest/download/install.sh | bash # one line

npm had not been updated for 0.2.3; the one-line installer above is the way to install this release.

Read this first — behaviour changes​

  • Tailnet devices paste a token once. Header-based same-origin trust now applies only to the browser on the daemon's own machine (a direct loopback connection with no proxy in front). A phone or laptop that opens the web app through the tailnet link pastes its token once; the "not connected" banner names the exact setting.
  • Short command eln. eln is installed next to elanous; the old mda alias is gone. An existing eln that is not ours is never overwritten.
  • elanous schedule migrate|adopt|release|delete show what they would do by default. Add --yes to apply.
  • elanous task / elanous tasks manage the task manager's tasks (list · show · approve) instead of printing a retirement notice.
  • Tasks from outside wait for your approval. Tasks that arrive from Linear, a webhook or another agent are queued as waiting; rules under tox.external.autoRun can run some automatically.
  • Harness runs on Kubernetes pods merge only after the same checks pass on the host machine, so a change that is green only on Linux no longer reaches main. A run stopped by a provider, quota or credential problem keeps its branch and does not open a draft pull request.
  • Saved Telegram links — up to 30 more a day are absorbed, separately from the daily cap of 10.
  • Obsidian — when no vault is configured, elanous looks in ~/Documents/Obsidian.
  • The web app can merge. The new Approvals tab has a merge button; it works only with the owner token.
  • The terminal UI is one essential layout. The rich layout, virtual windows and their commands and tools are gone. A config that still sets dashboard.uiMode loads without error.

New​

  • Approvals tab in the web app (after Intake): the summary, files and checks of a pull request waiting for approval, a direct link /approvals?pr=<n>, and approve-and-merge. On an installed copy, set the repository once: elanous config set intake.approvals.repo <owner>/<name>.
  • Tasks from other tools — a Linear connector (elanous connector linear set-key | sync | set-webhook-secret; the Basic plan is enough), an intake endpoint POST /v1/tasks, and elanous tasks list · show · approve. An approved [dev] task runs through the harness; other tasks go to an agent with tools. See Tasks and intake.
  • Several machines — give each machine an id, the duties it takes and its rank for a seat (elanous machine set | show); hand the coordinator seat over or let a lower-ranked machine take it when the holder stops (elanous role handoff | accept | watch | status); machines without a daemon join as light members. See Multi-machine setup.
  • Other agents can use elanous — an MCP tool elanous_task_submit, running an elanous agent over MCP and collecting its result, and each ACP session's own working folder. A Claude Code plugin is included as a preview (claude --plugin-dir integrations/elanous-agent).
  • Web terminal — open an agent's terminal from a link (elanous agent-mission prints it on its first lines; harness runs print a [surface-link] line), a single input path, and reopening a terminal id attaches to the live shell instead of starting another one.
  • Web chat — the first message is no longer lost when a session is adopted, slash commands run on Enter, and controls that did nothing are gone.
  • Intake — one box in the web app with a live preview of how the text is read; the same classifier on every surface; a Telegram link saved as a note is marked absorbed so the daily run does not absorb it again.
  • Costs — one-off model calls (classification, summaries) are recorded with a role; elanous usage runs --by role.
  • Workflows — webhook signature checks (auth: hmac) and a task node that files a task.
  • Harness — elanous harness stop <runId> stops a run's process and its pod jobs; --pod-memory high gives a pod run more memory (goals that touch the web app get it automatically).
  • Agent missions — elanous agent-mission capabilities shows each coding CLI's MCP servers, connectors and login state; when you take over the terminal, the mission waits instead of stopping.
  • Skills — omni-digest (summarise a link, post or file) ships with elanous. It needs an xAI API key; describing images and video frames also needs AWS_S3_BUCKET.
  • Voice — the free voice fallback uses only programs that are installed (edge-tts, macOS say).

Security​

  • The MCP endpoint no longer trusts a loopback connection that came through a proxy (for example tailscale serve).
  • See the tailnet token change above.

Documentation​

New and updated pages: Multi-machine setup, Tasks and intake, Recommended programs, Web app, Terminal, Chat, Graph engineering.