aq CLI
aq is Aquanode's laptop CLI. One command rents the cheapest GPU that matches what you asked for, provisions it, and hands you a shell.
Install and pair
The installer is a single script that resolves the latest release, verifies its SHA-256 checksum, and drops the binary in /usr/local/bin or ~/.local/bin. Nothing else to configure.
aq login pairs the CLI to your account with a device code: it prints a short code, you approve it once in the console, and the CLI holds a scoped credential from then on. No copying a token into a dotfile.
aq up — rent, provision, run
aq up --jupyter or aq up --comfyui finds the cheapest GPU matching your constraints, rents it, brings the app up, and prints the URL and credential. Narrow it with --gpu (a substring, so --gpu "RTX 4090" works), --max-price to cap the hourly rate, or --provider to pin one vendor.
If you have no SSH key registered yet, aq up registers a local one for you rather than failing with a lecture.
aq ssh — a real ssh_config alias, not a wrapper
aq ssh manages a keypair and writes a real ssh_config host block, then hands your terminal to the actual ssh binary. Because the alias aq-<name> is a genuine Host entry, everything that speaks ssh_config just works: scp, rsync, and VSCode Remote-SSH included.
It also takes -- <cmd> to run something and exit, and -L to forward a port — the usual ssh ergonomics, because it is ssh.
aq deploy — restore a snapshot onto a fresh box
aq deploy --snapshot <id> rents a new GPU and restores an existing workspace snapshot onto it in one command, optionally relaunching Jupyter or ComfyUI on the restored data — or --no-app to restore only.
The same --gpu, --max-price and --provider filters apply, which is the whole point: moving your environment to a cheaper GPU somewhere else is one command from a terminal.
Status and teardown
aq status prints a deployment's state, its URL and its credentials (hidden unless you pass --show-secrets). aq down tears the box down and stops the meter. aq whoami and aq logout cover the credential itself.
FAQ
How do I install the aq CLI?
Run the install script from the public aq-releases repository. It resolves the latest release, verifies the binary's SHA-256 checksum, and installs to /usr/local/bin or ~/.local/bin. You can override the version and install directory with AQ_VERSION and AQ_BIN_DIR.
How does aq authenticate?
aq login uses a device-pairing flow: the CLI prints a short code, you approve that code once in the console, and the CLI stores a scoped credential. There is no token to copy into a config file by hand.
Can I rent a GPU and get a shell in one command?
Yes. aq up rents the cheapest GPU matching your filters, provisions it and brings up the requested app; aq ssh then opens a shell on it. If no SSH key is registered, aq up registers a local one automatically.
Does aq ssh work with scp, rsync and VSCode Remote-SSH?
Yes. aq ssh writes a real ssh_config Host block aliased aq-<name> and delegates to the ssh binary, so any tool that reads ssh_config — scp, rsync, VSCode Remote-SSH — works with that alias unchanged.
Can I restore a snapshot from the command line?
Yes. aq deploy --snapshot <id> rents a fresh GPU and restores that snapshot onto it, optionally relaunching Jupyter or ComfyUI on the restored data, with the same --gpu, --max-price and --provider filters as aq up.
Can I build aq from source?
No — the aq source repository is private, so there is no go install path. Install from the published binaries, which are checksum-verified by the installer.