Hands-off mode is a small auto-executor that runs on your own machine. It picks up the directives you send from the Hub, runs headless Claude Code in the right repo, and reports the result back to the timeline — with zero terminal babysitting.
DirectorHub works fully without it — the Claude Code connector already lets you pull work and report back by hand. Hands-off mode removes the last bit of friction: instead of triggering each directive in a terminal, a small program called directorhub-watcher runs quietly on your machine, watches for the directives you send, and executes them for you.
It's the same pull-only bridge — the Hub never reaches into your machine. The ignition key stays on your side: you install it, you choose which projects it may touch, and you can pause it at any moment.
From any session, address a directive to the executor — a small, concrete task tied to that project.
Running on your machine, it sees the directive on its next poll, acknowledges it, and the timeline shows “working (auto-executor)”.
On a fresh directive/… branch in the mapped repo, with a strict tool allow-list — read, edit, build, test, commit. Never push.
A full report lands on the timeline as an executor round and the directive is marked resolved — you review the branch when you're ready.
One global npm install:
npm i -g directorhub-watcherRun init. It asks for the Hub URL (directorhub.app), your token (reused from Claude Code if found), then you pick which projects to watch and map each to a local repo path — use an absolute path (e.g. /Users/you/Git/project). Optionally enable autostart.
directorhub-watcher initRun it in the foreground, or install autostart so it runs on login and survives reboots:
directorhub-watcher start # foreground
directorhub-watcher autostart # background, on loginFrom a session in a whitelisted project, address a task to @executor. The watcher picks it up and runs it — no terminal needed.
directive/… branch.spawn claude ENOENT. The watcher can't find the Claude Code CLI. Make sure claude is installed and re-run directorhub-watcher init so it re-detects the absolute path.init — ~ is not expanded.directorhub-watcher status.claude -p failed, the reason (its stderr tail) is included.directorhub-watcher status # running state + watched projects
directorhub-watcher stop # stop the watcher
directorhub-watcher autostart --off # remove autostart