Register a machine as a self-hosted Agentics runner, start the job-polling daemon, hand it off to an SSH target, and clean up its containers.
pks agentics runner <command> [options]$ pks agentics runner register myorg/myprojectRegister this machine for one owner/project
$ pks agentics runner startStart the daemon on the first saved registration
$ pks agentics runner start --project myorg/myprojectStart for a project, auto-registering if needed
$ pks agentics runner cleanup --dry-runList orphaned containers without removing them
$ pks agentics runner status hetznerCheck a runner handed off to an SSH target
A runner is the process that claims Assembly Line Platform jobs and executes them on your hardware. pks agentics runner covers its whole life: registering the machine against one owner/project, starting the polling daemon, moving it to a remote SSH target when the local machine cannot run Docker, and removing the containers it leaves behind.
pks agentics runner start polls {server}/api/owners/{owner}/projects/{project}/runners/jobs on an interval. Each cycle it recomputes and advertises a capability set — alp_operator, chat-session:v1, devcontainer-session:v1, and chat-llm:v1 — from what the machine can do right now, then dispatches whatever job the server hands back.
runner register owner/project obtains the per-runner bearer token and saves it locally.runner start uses the first saved registration, or the one named by --project.runner status, runner logs, and runner stop drive the remote tmux session.git_push and git_distribute run in the runner process. chat_llm runs on a backgrounded task so an open chat tab does not block the poll loop. Devcontainer work runs the spawn lifecycle: claim, in progress, container spawn, agent exec, completed.runner cleanup finds containers labelled pks.agentics.fingerprint that no live runner process owns.Registration binds this machine to one owner/project and yields a bearer token. The daemon authenticates with that token, polls for jobs, and reports state transitions back to the server. For projects hosted on github.com, runner register also walks you through a GitHub device-code login so the runner can clone without prompting, then verifies that the resulting token actually reaches that specific repository.
Docker decides the shape of the run. With Docker, the runner advertises the spawn capabilities and executes devcontainer jobs. Without it, the runner advertises the reduced set and leaves devcontainer jobs queued for another runner.
Note. If Docker becomes available mid-run, spawn capabilities are not re-enabled. A runner that started degraded stays degraded for its whole process lifetime — restart it to pick up spawn mode.
register · start · cleanup · status · logs · stop · claude-login
status, logs, stop, and claude-login operate on a runner that was handed off to a registered SSH target. They do nothing for a runner running locally in the foreground.
Run an interactive Claude Code login on an SSH target so its credentials volume is populated and later devcontainer spawns can run headless.
pks agentics runner claude-login [TARGET] [options]
Find and remove Docker containers left behind by a previous Agentics runner process, with a dry run first and a confirmation before anything is deleted.
pks agentics runner cleanup [options]
Register this machine as a named runner for one owner/project, store its bearer token, and confirm the runner can clone the project repository.
pks agentics runner register <OWNER_PROJECT> [options]
Run the long-lived Agentics daemon that polls a project for jobs, advertises its capabilities, and executes devcontainer, git, and chat work.
pks agentics runner start [options]
Check the remote tmux session of a runner handed off to an SSH target, see its last output lines, and get warned about a missing credentials volume.
pks agentics runner status [TARGET] [options]
Kill the remote tmux session of a runner handed off to an SSH target, stopping that runner daemon immediately and without a confirmation prompt.
pks agentics runner stop [TARGET] [options]