Bringing terminals, file browsing, and local code review to the browser.
Fast path: install the latest prebuilt release for your machine.
curl -fsSL https://github.com/bmarimuthu-nv/Maglev/releases/latest/download/install.sh | sh
maglev --versionThe release installer detects macOS Intel/Apple Silicon, Linux x64/arm64, Linux glibc/musl, and Windows x64 from Git Bash/MSYS. It installs maglev to $HOME/.local/bin by default.
Common variants:
# Install somewhere else
curl -fsSL https://github.com/bmarimuthu-nv/Maglev/releases/latest/download/install.sh | MAGLEV_INSTALL_DIR="$HOME/bin" sh
# Install a specific release tag
curl -fsSL https://github.com/bmarimuthu-nv/Maglev/releases/latest/download/install.sh | MAGLEV_VERSION="v0.16.5" shIf maglev is not found after install:
export PATH="$HOME/.local/bin:$PATH"- Persistent session list that survives browser disconnects and Maglev backend restarts.
- Auto-connect browser sessions back to running terminals when the page or backend reconnects.
- Auto-respawn terminals when the Maglev backend restarts, with optional per-terminal startup commands.
- Code diff and review views for inspecting changes and leaving comments.
- File browser support for each session, including sessions running inside worktrees.
- Worktree support for creating isolated coding sessions from the web UI.
Pick the setup that matches where your sessions will run:
| Use case | Best fit | Open the UI from |
|---|---|---|
| Local laptop or devbox | Hub and sessions on the same machine | The URL printed by maglev hub start |
| SSH workstation | Hub on the remote machine, browser through an SSH tunnel | The forwarded URL on your laptop |
| Slurm/HPC node | Server on a reachable login/VNC node, hub inside the allocation | The URL printed by maglev hub start --remote |
Local
Use this when your browser and coding sessions run on the same machine.
maglev hub start --name localOpen the printed URL. The port is auto-picked; pin it only if you want a stable URL:
maglev hub start --name local --port 3006Create sessions from the web UI. maglev hub start also starts the matching runner.
SSH Workstation
Use this when Maglev runs on a remote workstation and your browser reaches it through SSH.
On the remote workstation:
maglev hub start --name devbox --host 127.0.0.1On your laptop, forward the printed port. Example, if the hub prints http://127.0.0.1:43891:
ssh -L 43891:127.0.0.1:43891 user@devboxThen open http://localhost:43891.
For a stable tunnel command, pin the remote hub port:
maglev hub start --name devbox --host 127.0.0.1 --port 3006
ssh -L 3006:127.0.0.1:3006 user@devboxSlurm / HPC
Use this when sessions run on allocated nodes that your browser cannot reach directly.
Assumption: the login node and Slurm node/container share the same home directory. At minimum, share ~/.maglev, because the server writes connection and auth state there.
On the stable login, VNC, or jump node:
maglev auth github login
maglev server service install --port <some port> --public-url http://<login-or-vnc-host>:<some port>If you later change the server port or public URL:
maglev server service restart --port <some port> --public-url http://<login-or-vnc-host>:<some port>Inside the Slurm allocation:
maglev hub start --name "<custom_name>" --remoteOpen the URL printed by maglev hub start --remote. If ~/.maglev/server-url already contains the right server URL, you can omit --server-url.