Skip to main content
The CLI mirrors the Python API. run is local, --remote is cloud, deploy freezes.
Authentication: set CYCLS_API_KEY in the environment or a .env file, or assign cycls.api_key in Python. CYCLS_BASE_URL overrides the default https://api.cycls.ai. Target syntax: every command that takes a file accepts path.py, or path.py::name to select one of several decorated objects in that file. Each command imports the file, so keep it free of top-level side effects such as a bare .run() or .deploy() call.

Command summary

cycls init

Scaffold a starter agent at <name>.py.
The command fails if the file already exists.

cycls run

Watch the file and any copied files, and rerun on every save.
Argument binding rules: an annotated parameter converts through its annotation, so n: int receives an int. An unannotated parameter is parsed as a Python literal, so --data "[1,2]" becomes a list. Anything else stays a string. Behavior by target:
  • Functions rerun locally in Docker, or on a warm cloud executor with --remote. Remote print() output streams back live.
  • Apps and agents serve on localhost:8080, or on https://dev-<name>.cycls.ai with --remote, where each save hot swaps the running application.
A save during a run queues the next run rather than killing the current one. With @cycls.local_entrypoint, the entrypoint always runs locally and the verbs inside it decide where work happens, so --remote does not apply and is rejected.

cycls deploy

Build and publish to Cycls Cloud.
The deployment name comes from the decorator’s name= or the function name. Redeploying a name updates it in place. See Deploy for sizing, limits and the isolation boundary.

cycls shell

Open an interactive bash session inside the target’s built image, the same environment run and deploy execute in.
Builds or reuses the cached image, drops you in /app, and cleans up on exit.

cycls ls

Development artifacts appear here too: exec-* are function executors and dev-* are app dev services. Both scale to zero and cost nothing while idle. cycls rm removes them.

cycls rm

Deleting a deployment detaches its volumes and leaves their data intact. Redeploying the same name reattaches them.

cycls logs

Field reference and examples: Logs, cost and SQL.

cycls cost

Requires cycls.LLM().price(...) on the agent. Without it, spend reports as zero.

cycls sql

Pass - as the query to force reading stdin. Tables and example queries: Logs, cost and SQL.

cycls volume

put and get talk to storage directly, so transfers do not pass through the API and file size is effectively unlimited. delete refuses while any deployment has the volume attached and names them in the error. Deleted volumes stay recoverable for seven days.

cycls version

Next

Build your first agent

A guided build from an empty directory to a deployed URL.