software-mansion / voyager
git clone https://github.com/software-mansion/voyager.git
v0.2.0 Β· 2d ago
π₯ on GitHub Trending today
Desktop app that connects to running Erlang, Elixir, or Gleam BEAM nodes to inspect processes, supervision trees, ETS tables, and runtime stats.
Why you might care
Gives a graphical view of a live BEAM system without adding a dependency or hook to your app; it loads a small helper module in memory over Erlang distribution and writes nothing to disk. Works with OTP 27+ nodes, including remote ones over SSH, and exposes the same data via MCP for coding agents.
Star history starts 2026-10-23; the chart appears after the second daily snapshot.
Seen on GitHub Trending
- 2026-10-23 β #4 daily in elixir Β· +5 β
GitHub topics
Links
- GitHub: github.com/software-mansion/voyager
- Homepage: https://voyager.swmansion.com/
- Releases Β· Issues Β· Hacker News mentions
README excerpt
Voyager Observe, debug, and understand running BEAM systems A desktop app that connects to any BEAM node and shows you what is actually going on inside it Website Β· Download Β· Give feedback Β· License https://github.com/user-attachments/assets/8aa3f69e-a692-4b9d-9bf5-75d972f6370f ## Overview Voyager is a desktop app that inspects running BEAM systems through one interface instead of a patchwork of shell commands copy-pasted into `iex`. It connects to any OTP 27+ node, local or remote, over plain Erlang distribution and surfaces the information the BEAM already exposes, in a form that is actually pleasant to read: - **Node info** β memory and IO usage, schedulers, system limits, and running applications - **Supervision trees** β a graphical, navigable view of each application's process hierarchy - **Processes** β rank processes by memory, reductions, or message queue length, and drill into any one of them - **ETS tables** β list tables, browse their contents, look up keys, and search with match specs - **MCP server** β the same data for coding agents such as Claude Code or Cursor, so they can inspect a live system instead of guessing from source code No setup is required on the target node. On connect, Voyager compiles and loads a small helper module (`voyager_agent`) into the node's memory and gathers everything else over RPC; nothing is written to the node's disk, and all rendering and storage happens on your machine. ### Why Voyager - **No setup on the target** β no dependency in your app, no hook in your release. If the node is distributed and runs OTP 27+, Voyager can attach to it. - **The whole BEAM, not one framework** β Erlang, Elixir, Gleam. Voyager speaks the distribution protocol, not framework internals. - **Production without a remote shell** β connect over SSH and inspect a deployed node directly, instead of opening a shell and piecing the picture together by hand. - **First-class AI support** β the same data is exposed over MCP, so a coding agent can read a live system instead of guessing from source code. - **Built to be read** β a graphical, navigable view of process hierarchies and runtime numbers, which also makes it a good way to learn how OTP actually behaves. ## Installation Download the latest build for your platform from the website. Voyager currently ships for: - macOS (Apple Silicon) - macOS (Intel) - Linux (x64) β distributed as an AppImage, see docs/linux_appimage_guide.md for how to run and install it The app checks for a new release on startup and can install it in place; the current version and update status are under **Settings β Updates**. ## Connecting to a node Voyager connects to any distributed node running **OTP 27 or later**, either directly or through an SSH tunnel to a host that can reach it, which is the usual path to a production node behind a bastion. Start the node with a name and a cookie, then enter both in the connect form: [code] Check out the connection guide for other setups or if
Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.