CLI reference
sky — agents like fly.io apps
npm i -g @agentsky/sky. The CLI speaks only the public API, so everything it does the raw API can do too.
auth
| command | what it does |
|---|---|
sky auth login | opens the browser to authorize this machine; mints a personal token (read+write) |
sky auth login --no-browser | prints a URL to open anywhere; polls until approved (headless/CI bootstrap) |
sky auth whoami | who the current token acts as, resolved universe, scopes |
sky auth logout | forgets the stored token (revoke it in Settings → API tokens) |
Config lives at ~/.config/sky/config.json. CI needs no login or config — set SKY_API_TOKEN (and optionally SKY_API_URL).
launch / deploy / clone
| command | what it does |
|---|---|
sky launch | scaffolds ./agent.toml if absent, creates the agent from it, stamps the slug back into the file |
sky deploy | re-applies ./agent.toml to the existing agent (prompt + settings; idempotent) |
sky clone [--harness] [--new] [--dry-run] [-y] [--open] | clones your local agent (Claude Code first) into the cloud: instructions, model, secretless MCP servers — never secrets or session history. Linked machines re-run it to sync the prompt; --new launches fresh |
agent
| command | what it does |
|---|---|
sky agent create [--type --llm --name] [-f file] | flags-only create; bare create = the instant default |
sky agent list · show <slug> | agents in the current universe |
sky agent message <slug> "…" [--detach] | send one message and stream the turn until idle |
sky agent chat <slug> | interactive REPL over the standing stream |
sky agent interrupt <slug> | abort the in-flight turn |
sky agent logs <slug> [-f] [--since 1h] | pod logs; -f follows live |
sky agent destroy <slug> | tear down the pod and delete the agent (admin scope) |
universe / secrets
| command | what it does |
|---|---|
sky universe list · create <slug> · switch <slug> · show | grouping boundary; switch scopes every later command |
sky secrets set <slug> KEY=VALUE … | set values for keys declared in the spec (write-only) |
sky secrets list <slug> · unset <slug> KEY | set/unset status; values never come back |
A full session
bash
$ npm i -g @agentsky/sky
$ sky auth login
Logged in as dev@example.com (universe: dev-3f2a)
$ sky launch
Scaffolded agent.toml — edit it anytime; re-apply with `sky deploy`.
Launched research-agent (hermes · deepseek-v4-pro)
$ sky agent message research-agent "What can you do?"
I'm a persistent research agent — give me a topic and I'll dig in.
$ sky secrets set research-agent NOTION_TOKEN=secret_…
set NOTION_TOKEN