Skip to content

Latest commit

 

History

1,612 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EnsoCode

EnsoCode

One Developer. An Entire Fleet of Autonomous Coding Agents.

Download · Website · News · Community · 简体中文

Latest release Downloads Stars macOS, Windows, Linux MIT

EnsoCode desktop workspace and mobile companion

Same session on two screens: desktop workbench and phone companion.

Cart discounts need an urgent change, slow-query alerts are firing, and the design-system buttons still need padding. Pin three repos in the sidebar, give each task its own session, and let agents work in parallel. Diffs, terminals, and milestones land on the timeline while you review. Step away without losing the thread: approvals and turns stream to your phone over an end-to-end encrypted link.


Why EnsoCode

EnsoCode is a local-first desktop agent workbench on Electron, powered by the pi coding agent harness. It is built to orchestrate, supervise, and collaborate with a team of specialized agents — not to answer one prompt at a time.

  • Task isolation: Repos stay in the sidebar. One conversation per task. Same-repo parallelism can opt into Git worktrees (enso/*) so working trees do not collide.
  • Hierarchical dispatch: Short, self-contained work goes to Subagents (isolated context, report, then exit). Multi-step collaboration goes to Coworkers (own tab, lasting memory, you can jump in anytime).
  • Review in the stream: Diffs sit in the timeline. Three approval levels (full review, auto-accept edits, full access), plus Git checkpoints with one-click rewind.
  • Desk-free continuity: Pair a PWA phone companion with a QR code. End-to-end encryption; the relay forwards ciphertext only.
  • Remote work: Native SSH projects, or pair another EnsoCode desktop as a remote node.
  • Bring what you already have: Import local Claude Code, Codex, and Cursor configs, keys, MCP servers, and session history.

From install to first review

  1. Download the latest build from GitHub Releases.
  2. Connect a model in Settings — or import providers from Claude Code, Codex, or Cursor.
  3. Pin a project in the sidebar.
  4. Start a session. Dispatch Subagents for one-shot work, or hire a Coworker for a longer thread.
  5. Review the result. Inspect diffs, change the approval level, rewind a checkpoint if needed.

No EnsoCode account. Model traffic goes to the provider you configured.


Core capabilities

1. Multi-task orchestration

Mode What it does
Projects & sessions Several local repos in the sidebar. Each conversation has its own timeline, model, preset, pin, and archive state.
Git worktree isolation Work on the main copy by default, or switch to an enso/* worktree for parallel branches.
Subagents One-shot workers (scout, tester, reviewer, worker, …) in isolated context. They return a report and exit.
Coworkers Long-lived peers in their own tabs. Watch, steer, or chat without stuffing the parent context.
Background processes Dev servers, watchers, and long builds sit as live capsules above the composer.

2. Review, safety, checkpoints

Feature What it does
Embedded diffs Reads, patches, and edits expand in the stream or the side panel.
Three approval modes Full manual approval, auto-accept edits, or full access — switchable while a session runs.
Git checkpoints Lightweight snapshots in refs/enso-checkpoints (up to 50 per session) before destructive writes.

3. Keep a long task moving

Feature What it does
Goal tracking (/goal) Pin the outcome. The agent drives up to 25 auto-turns; pause or resume anytime.
Steer & queue Queue follow-ups while it runs; edit or drop them, or interrupt immediately.
Transient retries Network blips and provider 5xx retry with a visible countdown.
Dockable side panel Files, session changes, split terminals, and an embedded browser.

Files, Changes, Terminal, and Browser in the side panel

Files, Changes, Terminal, and Browser stay next to the conversation.

4. Phone companion and remote nodes

  • Phone companion: Scan a QR code. Review history, approve, answer questions, steer. Relay sees ciphertext only.
  • Desktop remote node: Pair two EnsoCode machines and operate sessions that live on the other desk.
  • SSH projects: Run against a remote tree over SSH without mirroring the repo locally.

QR pairing for the phone companion

Pair in seconds. Encryption keys stay on the devices.

5. Extensibility

Feature What it does
Skills, MCP, slash, @ /skill: pills, @ file and session autocomplete, multi-server MCP.
Runtime presets Bundle model policy, skills, MCP, and system prompt.
Import Scan local Claude Code, Codex, and Cursor setups; import keys, skills, MCP, instructions, and history.
Appearance Ghostty terminal palettes, light/dark, background image, glass opacity.
Status line Tokens, cost, elapsed time, context use, coworker count, approval mode.

Appearance settings: themes and terminal palettes

Themes, Ghostty palettes, and live preview.


Local-first, precisely

Local-first does not mean “never touches the network.”

Data Where it goes
Conversations Local JSONL on this machine
Settings Local app data
API keys Local settings (Main process). Not sent to the phone catalog
Pairing secrets OS encrypted storage when available
SSH passwords System keychain
EnsoCode telemetry None
Model requests Direct to the provider or endpoint you configure
Phone / remote node Optional. Default relay forwards ciphertext only; same LAN can connect directly

There is no EnsoCode account and no Enso-hosted model proxy. If you use a remote model, that provider receives the context for the request under its own policy. The phone companion is optional; skip pairing and nothing leaves the desktop except model calls you make.


Download

Download the latest release →

Platform Package
macOS .dmg (Apple Silicon / Intel)
Windows EnsoCode-Setup-<version>.exe
Linux .AppImage / .deb

Development

Run EnsoCode from source

Requirements: Node.js >= 22, pnpm >= 10.

pnpm install
pnpm dev
pnpm build:mac    # .dmg / .zip
pnpm build:win    # .exe
pnpm build:linux  # .AppImage / .deb
pnpm typecheck
pnpm lint
pnpm test
Self-host the phone relay

The public default is https://enso-relay.j3.do. To run your own, see packages/relay/README.md:

  • Cloudflare Worker (recommended): pnpm --filter @enso/relay release.
  • Go binary: download enso-relay-linux-amd64 / enso-relay-linux-arm64 from the GitHub Release, chmod +x, run it.

Point Settings → Devices → Relay URL at your instance.


Links


Community

  • Linux.Do — Share, discuss, and follow development with the community.

License

MIT. See LICENSE.

About

One Developer. An Entire Fleet of Autonomous Coding Agents. Local-first desktop agent workbench built on Electron + pi.

Resources

Stars

115 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages