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]$ pks agentics runner claude-login hetznerLog in interactively on an SSH target
$ pks agentics runner claude-login hetzner --project myorg/myprojectDisambiguate when several projects share a target
A devcontainer job on a remote runner runs headless. If the target's Claude credentials Docker volume is empty, the spawn stalls on an interactive OAuth login that nobody is there to complete. runner claude-login opens that login once, by hand, and populates the volume so every later job runs unattended.
finally block.pks agentics runner claude-login hetzner
The command resolves the target's SSH key, builds a one-off container login command, and launches it. Target and project resolution match runner status: omitting TARGET auto-selects the only registered target or opens an interactive picker when more than one is registered, and --project is required when several projects share the target.
Follow the login prompts in the container. When you are done, press Ctrl+D to exit — that finishes the session and leaves the credentials in the volume.
pks agentics runner status hetzner
The credentials-volume warning should no longer appear.
The login uses the project credential scope — the same default a job uses when its agent definition does not set a scope. Run this once per SSH target and owner/project before dispatching devcontainer jobs there.
| Flag | Description |
|---|---|
--project <owner-project> | Disambiguate when more than one project was handed off to this target. |
-v, --verbose | Enable verbose output. |
| Argument | Required | Description |
|---|---|---|
TARGET | no | SSH target label or host. Auto-selected when only one target is registered; an interactive picker is shown otherwise. |
project scope; a job whose agent definition sets a different credentials scope reads a different volume.