Skip to main content
Your organization keeps agents in a library, under a name you choose. Runs name an agent from the library with --agent. Every agent needs a valid contract.yaml.

Upload a local agent

The agent is saved under the name in its contract. To save it under another name, for example to keep two versions, pass --name. Uploading to a name that exists replaces that agent, and runs that start afterwards use the new version.

Install an agent from GitHub

The Valkyrie CLI clones the repository on your machine with Git, including submodules, and uploads it. A /tree/BRANCH/FOLDER URL installs only FOLDER from branch BRANCH. Submodules must be HTTPS GitHub repositories, and the branch name can’t contain /.

List agents

Page through the list with h and l, and quit with q. To print every agent without paging, add --all. For scripts, add --format json.

Download an agent

This extracts the agent into ./agents/my-agent. The output directory defaults to the current directory. If the target exists, the download stops unless you pass --overwrite, which replaces it only after the download succeeds.

Remove an agent

Removing an agent deletes it from the library, and you can’t undo it. The CLI asks you to confirm first.

Limits

  • An agent can be at most 1 GiB compressed, 5 GiB extracted, and 100,000 files and directories. A larger upload fails with HTTP 413.
  • valkyrie run start --agent ./path uploads a local directory under its contract name, and fails if an agent of that name exists. To replace one, use valkyrie agent push.
To manage agents from Python, use client.agents.