Silos
Start and supervise cloud computers for coding and desktop agents, inspect their work, and handle machine access and files safely.
View as MarkdownA Silo is a cloud computer for an agent. It can hold a repository checkout, the agent's tools, a terminal, and a browser desktop. Builds, Automations, Twice, Estelle CI, and desktop tasks can use Silos, so their work continues without tying up your computer.
Estelle Cloud is where you supervise those machines and their sessions. Use Orchestra for a build's plan and Sessions for its code review.
#When to use a Silo
- Delegate a coding task that should run independently of your laptop.
- Run a browser or desktop workflow that needs a cloud machine.
- Watch an agent work, answer a question, or take control of its desktop.
- Keep a working environment available while you move between tasks.
A Silo reaches the public internet. Estelle opens no tunnel into a private network, and localhost inside a Silo is the Silo itself, so a Silo cannot reach an app that only runs on your laptop or behind your firewall. Give it the repository instead, so it builds and runs its own copy.
A running machine and a ready agent are different states. Wait for the session to show that the agent received its task before treating the launch as working.
#Start an agent
The usual route is to describe the work in Agent mode and allow its proposal. To start one yourself:
Open the launcher
Open Estelle Cloud → Machines and choose Start a fresh agent.
Set the work and environment
Enter the task and repository as
owner/name, then choose the available agent and Keep setting. Where the launcher offers model or spend-cap settings, review them before starting.Choose saved when you want an environment that can retain its filesystem, installed tools, and browser state while it remains available. Choose ephemeral for a machine that is discarded when its work finishes. Saved retention is not a backup: a stopped machine's uncommitted files are not a safe place to keep the only copy of your work.
Start and follow the session
Choose Start. The launcher reports capacity or setup refusals before a machine starts when it can. Follow the new session from the Board, and read its own status for agent readiness and task delivery.
You can also start from a Prism finding or failed check with Fix with AI, from an Automation, or from your editor with estelle_launch_agent.
#Launch from your editor over MCP
Ask your coding agent to launch a cloud agent with estelle_launch_agent. Its main fields are:
| Field | Meaning |
|---|---|
repo | Repository as owner/name |
harness | codex or claude-code |
task | What the cloud agent should do |
launch_key | Your 8–128 character identifier for this launch; reusing it attaches to the existing launch instead of creating a second machine |
retention | saved (the default) or ephemeral |
ref | Optional branch, tag, or commit to check out |
You can also pass relevant file paths, decisions, commands, and open questions from the current session. The launch uses credits. Read the reply for both machine state and whether the agent and task are ready.
#Supervise work
The Board groups agents by whether they need you, are working, are idle, or have settled. Open a card to inspect its session. If an agent is waiting for an answer, reply on its card. Other available controls let you message, wake, recall, or stop the machine; the result says whether the action was confirmed.
The Session view has five tabs:
| Tab | Use it for |
|---|---|
| Worklog | The operations recorded for the session. Move between entries or return to the latest. |
| Git | Any session diff available here. For pull-request diffs and code review, use Sessions instead. |
| Desktop | The machine's screen, when the session is bound to a running Silo. |
| Terminal | A read-only view of the agent's current terminal. Send messages from the Board rather than typing here. |
| Files | Any file content available here. Sessions is the fuller file-review and editing surface. |
Estelle Cloud can report that no session diff or file contents are available. That means the data was not read; it does not prove the agent made no changes.
#Use a desktop safely
Choose Open the desktop, then Take control only when you need to operate the machine. Coordinate with the agent first so your input does not conflict with its current action.
Do not paste a desktop URL into chat, tickets, or other shared places. Do not enter production credentials into a machine unless that access is necessary for the task.
#Repository setup
A Silo reads the repository's declared Python and Node requirements during setup:
- Python uses declarations such as
.python-version,runtime.txt, and project metadata. Only CPython is supported. - Node uses declarations such as
.nvmrc,.node-version, andpackage.json. Node 18, 20, 22, and 24 are available. - Go and Rust requirements can be detected and reported, but those toolchains are not installed.
If a required Python or Node version cannot be provided, setup reports TOOLCHAIN-BLOCKED and does not start the agent. Fix the declaration or provide a compatible project setup rather than treating later test failures as code failures.
#Pause, stop, and retain work
A paused machine retains its recorded state and stops using compute credits; wake it to continue. A stopped machine is shut down. Its session history and anything already pushed remain available, but uncommitted files and machine-local state do not.
Finished runs normally shut down their machines unless another step already needs the environment. The session, branch, commits, and pull request are the durable record of the work. Save important changes to a branch rather than relying on a Silo as permanent storage.
Running Silo time and the agent's work can appear as separate usage. The launcher shows current capacity and retention restrictions before you start. See Plans and credits.