Guides
Run Muse Code on a remote server over SSH
Add an SSH host as a project in Helicon 0.18 or newer. Helicon runs muse serve on the remote machine inside the project folder over a passwordless ssh connection and speaks MSP over it, so the code never leaves the server. You need a key-based ssh login and the muse CLI signed in on the server.
Last updated · Markdown version
How it works
When you start a thread in an SSH project, Helicon runs ssh <host> 'cd /path/to/project && exec muse serve' on your laptop. Muse Code runs on the server, inside the project folder, and talks to Helicon over the SSH connection using MSP, the same protocol it speaks to any local client. Nothing is synced or copied.
- The server's Muse login is the one used. Local account profiles do not apply to SSH projects.
- Your laptop has to stay connected. If it sleeps or the network drops, the session ends, and Helicon notices within about 45 seconds.
- Host aliases, ports, users, jump hosts and keys come from your
~/.ssh/config, as when you typesshyourself.
Make ssh work without a password
Helicon runs ssh in batch mode: it never types a password or answers a prompt. Create a key and copy it to the server.
ssh-keygen -t ed25519
ssh-copy-id you@devbox.example.comGive the host a short name in ~/.ssh/config:
Host devbox
HostName devbox.example.com
User you
IdentityFile ~/.ssh/id_ed25519Then ssh devbox echo ok should print ok without asking anything. If it asks you to confirm the host key, answer yes once.
Install Muse Code on the server
Install the muse CLI on the server and run muse login there once. Then check that muse is on the PATH for non-interactive ssh commands, which is what Helicon uses:
ssh devbox 'command -v muse'If that prints nothing, your shell only sets PATH for interactive logins. Add the folder that holds muse to PATH in ~/.zshenv for zsh, or near the top of ~/.bashrc for bash.
When something goes wrong
| Helicon says | Fix |
|---|---|
| Host key verification failed | Run ssh devbox once in a terminal and accept the host key |
| Permission denied (publickey) | The key is not on the server: rerun ssh-copy-id or check IdentityFile |
| Could not find ssh on this machine | Install the OpenSSH client |
| Connection refused or timed out | Check the host, port and VPN with ssh devbox echo ok |
| Muse is not found when a thread starts | Fix PATH on the server as above |
What SSH projects do not do yet
- The file viewer panel.
- The skills list.
- Attaching files. Images still work.
- Creating a remote folder or cloning a repository onto the server from Helicon.
Threads, approvals, inline diffs and past sessions on the server all work. Create folders and clones over ssh first, then add them.
SSH projects or the remote daemon
With SSH projects the Helicon app runs on your laptop and only Muse runs on the server, so local and remote projects share one window. With the remote daemon the whole Helicon server runs on the remote machine and you open it in a browser, which suits reaching it from any device.
Run Muse Code on a remote server over SSH with Helicon
Set up a key-based ssh login. ssh to the host must work without a password prompt.
ssh devbox echo okSign in to Muse Code on the server. Install the muse CLI there and sign in once.
muse loginCheck muse is on the remote PATH. Non-interactive ssh commands must find it.
ssh devbox 'command -v muse'Add the SSH host in Helicon. Add project, then SSH host, then type the host name.
Pick the folder and start a thread. Browse the server's folders from your home folder and choose the project.
Frequently asked questions
Does my code leave the server?
No. Muse Code runs on the server and reads the files there. Helicon only receives the conversation, tool output and diffs over the ssh connection.
Which Muse account do SSH projects use?
Whichever account is signed in with muse login on the server. Helicon's local account profiles do not apply to SSH projects.
Does the agent keep running if my laptop sleeps?
No. Muse runs as part of the ssh session, so the session ends when the connection drops. Use the remote daemon if you need it to outlive your laptop.
Which version of Helicon do I need?
0.18.0 or newer.
Keep reading
- Remote daemonPut the Helicon daemon and the muse CLI on the machine that holds your code, then open the same UI in a browser from anywhere you trust the network.
- Remote daemon and web UIThe same Helicon UI ships as a web app pointed at a daemon on another machine, so a laptop can supervise Muse Code running on a workstation or a server.
- Remote developmentRun the daemon and the muse CLI on the machine that holds the repository, then supervise from a browser on a laptop. Same UI, same sidebar, same approvals.
Same Muse Code. Same subscription. Better interface.
Free and MIT licensed. Signed Windows installer, universal macOS DMG, and a web build against a daemon you run.