Skip to main content
A run’s results normally stay in .ancha/runs/ on the computer that ran it. --upload sends a finished run to your hosted workspace as well, where the console shows it to anyone with access to the workspace.
Output
Uploading needs a workspace: ancha login on your computer, or ANCHA_SERVER_URL and ANCHA_API_KEY in CI. The worlds of the run still ran wherever ancha run put them; a saved login keeps them on your computer. See ancha run and ancha runs.

What is uploaded

The upload also records the CLI version and, in a git repository, the commit the run tested.

What is redacted

Before the files leave your computer, the values of the variables the agent got through --pass-env, agent.pass_env or --inherit-env, and the values in .ancha/openrouter.env, are replaced with [redacted] wherever they appear. The tools’ fake credentials are not secrets and stay as they are. Your API key for the workspace is never part of a run.

Limits

  • The agent’s log is cut to its last 4 MB per attempt.
  • Each upload is at most 50 MB.
  • A workspace keeps up to 500 MB of results. When it is full, an upload is refused with a hint, and the run keeps its own exit code; make room by deleting old runs in the console with Delete run.
  • Uploading the same run again replaces its copy in the workspace.

The Runs page

The Runs page of the console lists uploaded runs next to the runs the workspace ran itself, and it works while the workspace machine is asleep. Each run opens at https://app.ancha.io/runs/<run id> with its attempts, checks and evidence, read-only. Delete run removes an uploaded run from the workspace; the copy in .ancha/runs/ on your computer is untouched. Uploading does not use the workspace’s machine time.

When an upload fails

A failed upload is a warning: ancha run keeps the run’s own exit code and prints why the upload failed, and ancha runs upload <run id> tries again. Pass --upload-required to make a failed upload fail the command, for a CI job whose results must arrive. A run started with --detach uploads when it finishes; ancha wait <run id> and ancha status <run id> say where the results went.

CI

Store the workspace URL and a key from Settings as secrets, run the worlds on the CI runner with --local, and upload the results:
.github/workflows/ancha.yml
Leave out --local to run the worlds in the workspace instead; that uses its machine time. See CI.