CLI reference

Every command below is checked against the shipping binary by the build. If a command is renamed and this page is not, the build fails.

icloser is the Executor. It creates workspaces, holds permissions, drives the Runtime and reports what happened.

The same binary also answers to icli. On Windows, if something else on your PATH already answers to icloser, the installer says so and names what you would get — use icli there.

Getting connected

CommandWhat it does
icloser pairCreate a workspace, ask for permissions once, and print a QR code. Run it once, in your project directory.
icloser qrDraw the current workspace's code again. Does not create anything. Use this when the code scrolled away or a second device needs to join — not pair, which would make a new empty workspace.
icloser runPoll for tasks and execute them. Keep it running.
icloser consoleWhat state this machine is in, where the console is, what to do next. Works without a workspace.
icloser openOpen the local console in a browser; prints the address in a non-interactive shell.

Permissions

icloser permsWhat this device is currently allowed to do.
icloser grant readAdd a tier on this machine. Grants only ever add — the six tiers are read, write, exec, web, push, danger, and a grant never carries across to another device.
icloser grant write
icloser grant exec
icloser approval listWhat is waiting for you.

Workspaces and devices

icloser workspacesEvery workspace on this machine; the arrow marks the current one.
icloser workspace listThe same view through the workspace subcommand.
icloser statusWorkspace identity, and the agent view recovered from it.
icloser agentsWho is running and which workspace each is bound to. Reach for this first when switching workspaces appears to do nothing.
icloser device listMachines that have come for work.

Runtime and environment

icloser runtimesWhich coding agents are installed here and what each can hold. Runs only --version on each — it spends none of your model quota.
icloser runtimes --jsonThe same, machine-readable.
icloser runtime listThe Runtimes in this workspace.
icloser run --runtime-kind claudePin the adapter kind instead of identifying it from the executable name.
icloser env probeProbe the developer toolchain on this machine.
icloser env bootstrapInstall what registered employees are missing.

Tasks and AI Employees

icloser task listTasks in this workspace.
icloser task resultWhat a task produced.
icloser task diffWhat a task changed.
icloser employee listRegistered roles.
icloser skill listThe global skill catalogue.

Keeping it running

icloser daemon installKeep the Executor resident. It starts at login; on macOS and Linux it is also restarted if it dies. On Windows it is a scheduled task and needs no password — prefer it to service install, which takes your Windows password on the command line.
icloser daemon statusWhether it is resident, and what it thinks it is doing.
icloser service statusThe platform service view (Windows service, launchd, systemd).
icloser logs -n 50The last 50 lines from the resident agent.

Diagnostics

icloser versionWhich build this is. Say this first in any report. It takes no flags.
icloser doctorOne answer to “can this machine work right now”.

Configuration

Command line beats environment variable beats ~/.kernelhub/config.json.

FlagVariableWhat
--apiKERNELHUB_APIGateway address.
--wsKERNELHUB_WSWorkspace uuid.
--tokenKERNELHUB_TOKENWorkspace access token — handed out once, when the workspace is created.
--deviceKERNELHUB_DEVICEThis device's id; defaults to the hostname.
--pathKERNELHUB_PATHThe working directory on this machine.
--runtimeKERNELHUB_RUNTIMEWhich Runtime command to drive. Left empty, the resolver picks the best available.

The Runtime uses your own login. KernelHub does not hold, and does not need, any model API key.

Next: Version & diagnostics — what to run, and what to send us.