CLI Commands

Networking & Sharing

Connect & share

heyvm bind <id> <port>        # proxy a sandbox port to a public hostname
heyvm connect <heyo://url>    # connect to a shared sandbox
heyvm ssh <id>                # SSH into a sandbox
heyvm ssh-proxy <…>           # SSH via the proxy
heyvm share <id>              # produce a shareable link
heyvm expose <id> <port>      # publish a port
heyvm unexpose <id> <port>    # unpublish a port
heyvm port-forward <id> <port>  # forward a sandbox port to localhost
heyvm display <id>            # open a remote display
heyvm display-connect <…>     # connect to a display

heyvm bind

Proxies a port inside a sandbox to a public https://<subdomain> hostname.

heyvm bind my-sandbox 8080
Flag Purpose
--private Restrict the URL to members of your account
--format json or text (default)

The public hostname is inferred, in order, from the API_HOSTNAME environment variable, --cloud-url, --auth-url, and finally the environment you last logged into. You only need to set API_HOSTNAME to override that inference — after heyvm login it is not required.

Local sandboxes: bind prints a URL, but the CLI does not currently register the subdomain with the cloud, so requests to it return Endpoint not found. For same-machine access use heyvm create --open-port (or, on apple_virt, the guest IP directly); for off-host access use heyvm share. See macOS Capabilities.

heyvm port-forward

Forwards a port from inside the sandbox to a listener on 127.0.0.1, tunnelled over SSH.

heyvm port-forward my-sandbox 5000            # listen on localhost:5000
heyvm port-forward my-sandbox 5000 -p 18734   # listen on localhost:18734
Flag Purpose
-p, --host-port Local port to listen on (default: same as the sandbox port)
--format json or text (default)

This requires an SSH server inside the guest, so it works on apple_virt, firecracker, kvm, and libvirt. On backends without one — including apple_container — it fails with Sandbox has no SSH port; use heyvm create --open-port HOST:GUEST at creation time instead.

Local P2P proxy

heyvm proxy start             # start the P2P proxy
heyvm proxy list              # list proxy entries
heyvm proxy sync              # sync proxy state
heyvm proxy add <…>           # add a proxy entry

Software-defined network (SDN)

The network subcommand manages cross-machine networking through the cloud:

heyvm network members             # list network members
heyvm network nodes               # list nodes
heyvm network register-node <…>   # register this node
heyvm network heartbeat-node      # send a node heartbeat
heyvm network delete-node <id>    # remove a node
heyvm network agent               # run the network agent
heyvm network services            # list services
heyvm network register-service <…># register a service
heyvm network expose-service <…>  # expose a service
heyvm network resolve <name>      # resolve a service name
heyvm network dial <name>         # dial a service
heyvm network sync-hosts          # sync host aliases
heyvm network delete-service <id> # remove a service

Webhooks

heyvm webhook create <…>      # create a webhook
heyvm webhook list            # list webhooks
heyvm webhook delete <id>     # delete a webhook

For the always-on daemon and the standalone proxy/relay binaries, see Proxies & Relay.