Your project and tools are ready from the start, so the agent can work without using your laptop.
Your project, tools, and setup are ready before the agent begins.
A Linux machine boots from the sandbox image your project declares. It is its own isolated machine: its own filesystem, its own process table, its own network. Nothing is shared with another session.
The machine clones the project repo into /workspace. Your agents, skills, memory, connectors and triggers arrive with it, because all of them are files in that repo.
The machine cuts a branch named after the session. Every edit, commit and stray file the session produces lives on that branch and nowhere else.
OpenCode runs inside the machine as the agent harness, with your models, your tools and your secrets injected at runtime. The machine is ready. The agent begins.
Your agent can use the tools it needs, just as it would on a regular computer.
Nothing on the machine is precious. A bad install, a wrong migration, a wiped directory — the machine goes away and takes it with it. Only what the agent commits survives.
The repo is cloned, the tools are installed and the dependencies are resolved before the agent starts. There is no setup step, and no local machine is involved at any point.
Long work does not depend on your tab. Close the laptop and the machine keeps going; open the session tomorrow and the work is where the agent left it.
Run many agents at once without mixing up their work. You review every result before it joins your main project.
and every other session you start, each on its own machine
Two agents edited the same file? git has handled that for twenty years. It is a merge. Nothing reaches main without a person approving it.
Choose the tools and resources each agent needs once. Every new session uses that setup automatically.
# the machine every session of this project bootssingulacomp_version: 2runtime: opencode sandbox: default: python templates: - slug: python name: Python 3.12 image: python:3.12-slim cpu: 2 memory: 4 disk: 20 agents: researcher: # this agent gets the python machine sandbox: python# the repo is already here. nothing to set up.$ pwd/workspace # the branch is named after the session$ git branch --show-current9f4c2b7e-1d83-4a6f-b0c2-5e71a9d4c188 # root on a real machine — install whatever the job needs$ uv pip install pandas duckdb$ python analyze.py > report.md # only what it commits survives the machine$ git commit -am "add the q3 revenue report"$ singulacomp cr→ change request opened toward mainYour agents, instructions, and shared knowledge stay in files you can read, change, and track.
An agent rewriting its own prompt shows up the same way a code change does: a commit, on a branch, in a change request someone reads.
The repo is the company. Fork it, branch it, roll it back, or hand it to a new machine — the whole configuration comes with it.
Each agent works separately, so one session cannot interfere with another.