Status: unsupported experimental. These surfaces are source-available but outside the supported v3 product contract. They are hidden from default
hack --help(seehack help --all) and print a warning when invoked.
This is a beta workflow.
Start with Core docs if you are new to hack, and use Beta workflows
for the rest of the remote path.
Use this guide to connect one remote machine as a hack execution node and run a project on it.
Beta: multi-node execution is still being validated and is not part of the core local-dev path.
- A host machine (controller) with
hackinstalled. - A remote machine with
hackinstalled. - SSH access from host to remote (
user@host). - A reachable gateway endpoint on the remote (
http://<host>:7788or tailnet URL).
GitHub is optional here. You only need it if the repo is private on GitHub and the remote machine cannot already clone it with its own credentials.
Run on the remote machine:
hack init --auto --no-discovery
hack gateway enable
hack daemon restartIf you use Tailscale, verify both devices are online in the same tailnet before pairing.
Run on the host machine:
hack node pair \
--source "<user@remote-host>" \
--endpoint "http://<remote-host>:7788" \
--name "<display-name>" \
--labels macbook,remote \
--defaulthack node pair now auto-bootstraps passwordless SSH for the provided source.
If you need to repair SSH outside pairing, run:
hack node ssh setup --source "<user@remote-host>"Validate:
hack node list
hack node status --node <node-id>
hack node routes statusFrom your project directory on the host machine:
hack config set "controlPlane.execution.mode" "local_edit_remote_run"
hack config set "controlPlane.execution.nodeId" "<node-id>"
hack up --target autohack dispatch run \
--project <name|id> \
--node default \
--branch <branch> \
--runner generic \
-- "pwd"If this project is private and the remote node cannot clone it directly, repair native Git access on the remote machine first:
gh auth loginOptional remote check:
ssh <user@remote-host> 'hack node workspace list --json'Controller route bridge check:
hack node routes status --jsonHack Desktop v3 no longer exposes remote-node and topology management as a supported UI surface. Use the CLI for remote pairing and route repair.
Could not auto-detect --endpoint:- pass
--endpointexplicitly.
- pass
command not found: hackduring pairing:- install
hackon remote or pass--remote-hackwith the full path.
- install
Connection closed by ... port 22:- confirm username and shell access with
ssh <user@host> "echo ok".
- confirm username and shell access with
- Local project URL fails after remote dispatch (
https://<project>.hack):- run
hack node routes statusthenhack node routes repair. - if global proxy is down, run
hack global upand retry.
- run
- Remote bootstrap fails on a private repo:
- configure native Git access on the remote first.
- verify
git cloneorgh auth statusworks outside Hack, then retry.