You do not need the desktop to work in a VM. The daemon speaks SSH, so your own terminal, scp and your scripts reach a VM directly, and a coding agent runs its commands in a VM the same way.
The daemon's SSH gate listens on port 2222, and the username picks where you land:
scp, sftp and -L/-R forwarding all work.ssh -p 2222 demo@this-host # into the VM "demo" (auto-starts it) scp -P 2222 app.py demo@this-host:~/ # scp, sftp, -L/-R all work ssh -p 2222 -L 8000:localhost:8000 demo@this-host # tunnel a VM port ssh -p 2222 exe@this-host # the lobby, at its prompt ssh -p 2222 exe@this-host ls --json # or one lobby command
The port is ssh_listen in Windows → Configuration; off there turns the gate off.
The lobby's commands are ls, new, start, stop, rm, ip, code, expose, unexpose and routes, and help lists them with their arguments. ls, new, start and routes take --json, for scripts and agents.
code runs the built-in agent in a VM, and expose publishes a VM port. The coding agent and Publishing to the web say more.
~/.ssh.~/.exe/ssh/.~/.exe/ssh/authorized_clients, in authorized_keys format. Add your phone or laptop key there; edits apply immediately.There is no first-come key adoption, so the gate is safe to leave on a LAN.