Skip to main content

Organizations & devices

The deploy commands act on a specific controller inside a specific organization. The CLI remembers both so you don't have to pass them every time: pick an organization with driverforge org, then a target device (controller) with driverforge device. Both require you to be signed in.

Preview

The driverforge CLI is in preview. Commands and flags documented here may change before the stable release. Follow along or share feedback on our roadmap.

How the target is chosen

When you run a deploy command (deploy, sync, agent), the CLI resolves the controller in this order:

  1. An explicit --device <name|id> flag
  2. The remembered controller for the active organization
  3. An interactive picker (when nothing is remembered)

Pass --select to any deploy command to force the picker and re-choose. The CLI never silently picks a default — deploying to the wrong controller is risky, so the choice is always explicit.

Why the IP, not the hostname

A Control4 controller's hostname (e.g. core1-000FFF…) is an identifier, not a resolvable DNS name, so the CLI connects by IP address. Selecting a controller also pins its TLS certificate fingerprint, so the CLI can verify it's talking to the right one on later deploys.

Commands

In your prompt

Using the Spaceship prompt? A small zsh section can show the active org and controller right in your shell prompt, so you always know what a deploy will target.