Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 1476Tools index

Previous survey · No. 1431 ·

Pricing
Open Source
Type
TOOL
Use case
Coding
Interfaces
Desktop
GitHub
23 stars
Latest release
v0.2.16
Date

About

Hydra is an open-source, local-first terminal desktop built in Rust that discovers existing agent sessions on a machine (from tools like Claude Code, Codex CLI, Cursor Agent, and others), keeps them alive as retained PTY sessions after the app closes, and can be reached from a browser without opening an inbound port. The local desktop is Apache-2.0 licensed, while a separate proprietary 'Hydra Remote' component handles hosted browser access and is not included in this repo.

What it does

Hydra is a desktop terminal app for macOS and Linux built around coding agents. A background service holds each running shell, so quitting the window leaves Claude Code or Codex jobs working, and reopening reattaches to them. It reads the history files that about ten agent CLIs keep on disk, so a conversation started in another terminal can be picked up inside a project. Terminal output is drawn natively on the GPU, not in a web page. The optional Remote feature relays the same sessions to a phone or browser.

Why it's ranked here

The engineering is careful where it counts. The session service accepts connections only from the same operating system user, refuses to delete a socket another live instance still holds, and reaps its child processes on shutdown. The security documents say plainly what is not protected, namely other programs running as you. The code is MIT licensed, and the published source includes the remote agent, browser engine and signaling broker, not just the desktop. The limit is scope: the hosted account and relay service stay closed, so self-hosting Remote means building your own identity and enrollment layer.

What's good

Sessions outlive the interface by design, not by accident: the service owning the terminals is a separate process from the window. History discovery runs locally and the README states transcript content is not sent to the vendor. The dashboard can only send a fixed set of typed requests to the Rust side, so it cannot run arbitrary commands. A developer preview lets outside Python scripts list, watch and type into live sessions, with a check that refuses input aimed at a stale session.

Tradeoffs

Provider history formats belong to each agent vendor and can change without notice, so discovery support is maintained one provider at a time. Amp and Factory can be launched but their history is not read. Remote in official packages depends on a private hosted service. The project documents that platform UI still needs physical testing on macOS, Wayland and X11, and Windows is not qualified. The license moved from Apache 2.0 to MIT, so older copies carry the earlier grant.

How to use it well

Pick it if you run several agent CLIs across projects and keep losing sessions when a terminal window closes. Point a new project at a folder where you already used an agent, resume from the list, then split panes per agent. If tmux or Zellij already covers persistence for you, the gain is the agent history browser and native desktop view. A reboot still ends processes; supported agents resume as new ones. Treat the local control socket as full account access.

Technical notes+

Cargo workspace (MSRV 1.88, MIT) with members pty-daemon, maestro-renderer, maestro-shell, maestro-protocol, maestro-local-services, maestro-extension-api, maestro-app and hydra-launcher; hydra-agent is excluded and built separately. pty-daemon/src/main.rs binds the socket with a 077 umask and pins 0600, calls peercred::authorize on every accept, uses prepare_socket_path to unlink only a socket proven stale, and caps per-client outbound queues at OUT_QUEUE_BYTES (32 MiB). hydra-launcher/src/main.rs places the socket under XDG_RUNTIME_DIR, TMPDIR or /tmp and keeps at most ten 0600 launch logs. hydra-agent/src/remote_access.rs retires a replayable signed authority file that is now never read. Crate names keep the maestro prefix for data compatibility.

Observed

License
MIT for first-party code; earlier releases were published under Apache 2.0
Language
Rust workspace with a React dashboard rendered in the platform WebView
Platforms
macOS and Linux (native Wayland and X11); Windows not qualified
Install
Homebrew cask on macOS, shell installer for Ubuntu/Debian, or build from source with cargo
Interfaces
Desktop app, maestro-app CLI subcommands, and a local Unix-socket JSON protocol
Open/closed split
Hosted account, enrollment, billing and relay infrastructure are private; agent, browser engine and broker source are public
Local trust model
Daemon socket excludes other OS users via peer credentials; no isolation from same-user processes

Read from README.md, Cargo.toml, docs/architecture.md, docs/public-private-boundary.md, hydra-launcher/src/main.rs, pty-daemon/src/main.rs, maestro-protocol/src/lib.rs, maestro-app/src/cli.rs, hydra-agent/src/lib.rs, hydra-agent/src/remote_access.rs, FAQ.md, LICENSE, SECURITY.md, docs/developer/local-control-quickstart.md.

What it can do

  • Keep agent sessions alive as retained PTY sessions after the app closes

    PTY session → Persistent running session

Tags

terminalagentic-codingrustptyclaude-codecodexdeveloper-toolssession-management

Tech Stack

Rust

Media

Hydra

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.