How do you pause, fork, or clone an AI agent's computer?
What suspend, stop, fork, clone, and restart keep, and when to use each.
TL;DR
Orgo has five lifecycle calls for a computer, and each one keeps a different amount of state:
- Suspend (
POST /computers/{id}/suspend) pauses a running computer with memory and disk saved, so open windows and running processes pick up where they were on Resume. Only for Linux computers without a GPU that are not billed by the hour. - Stop (
POST /computers/{id}/stop) archives the disk only and releases the host, so a stopped computer uses no compute. Processes and memory are gone; Start boots it again from the archive. - Fork (
POST /computers/{id}/fork) copies a running Linux computer including live memory, so a second computer carries on from the same moment. The source pauses briefly while its memory is copied. - Clone (
POST /computers/{id}/clone) copies the disk (files, installed apps, browser sessions) into a new computer that boots fresh. Start a stopped computer before you clone it. - Restart (
POST /computers/{id}/restart) reboots in place. The disk is kept; memory and processes are not.
Rule of thumb from the docs: clone a computer to reuse its setup, fork it to try two next steps from the same moment (Clone computer). Suspend when the agent will be back soon and needs its open apps; stop when you only need the files.
What is an agent computer lifecycle?
An agent computer lifecycle is the set of operations that pause a cloud computer, shut it down, copy it, or reboot it. For an AI agent this matters more than for a normal server, because the agent's working context often lives in the desktop itself: a logged-in browser tab, a half-filled form, an app window in a particular state.
On Orgo, a computer is a full desktop with a browser, reachable through the API and over VNC, and it runs until you stop it (llms.txt). The statuses that matter here are running, suspending, suspended, resuming, and frozen. A computer you stop reads frozen.
Orgo provides the computer, not the agent. Bring Claude computer use, OpenAI's CUA, Hermes Agent, OpenClaw, or your own loop (llms.txt). New to agents driving a desktop? Start with What is computer use?
What does each operation keep?
| Operation | Endpoint | Keeps disk | Keeps memory and open apps | Result | Works on |
|---|---|---|---|---|---|
| Suspend | POST /computers/{id}/suspend | Yes | Yes | Same computer, suspended | Running Linux without a GPU, not billed by the hour |
| Resume | POST /computers/{id}/resume | Yes | Yes | Same computer, back to running | A suspended computer |
| Stop | POST /computers/{id}/stop | Yes (archived) | No | Same computer, frozen, host released | Running Linux and Windows |
| Start | POST /computers/{id}/start | Yes (restored) | Only if it was suspended to storage | Same computer, running | frozen, stopped, or suspended in storage |
| Restart | POST /computers/{id}/restart | Yes | No | Same computer, rebooted in place | A computer on its host that is not suspended |
| Fork | POST /computers/{id}/fork | Yes (copied) | Yes (copied) | New computer, running | Running Linux only |
| Clone | POST /computers/{id}/clone | Yes (copied) | No | New computer, fresh boot | Linux or Windows; start a stopped one first |
Sources: Suspend, Resume, Stop, Start, Restart, Fork, Clone.
How do you pause an AI agent's computer without losing its work?
Use Suspend, then Resume. Suspend saves memory and disk, so the agent's open windows and running processes continue where they were (Suspend computer).
# Pause, memory included
curl -X POST https://www.orgo.ai/api/computers/$COMPUTER_ID/suspend \
-H "Authorization: Bearer $ORGO_API_KEY"
# Later: pick up where it left off
curl -X POST https://www.orgo.ai/api/computers/$COMPUTER_ID/resume \
-H "Authorization: Bearer $ORGO_API_KEY"What to expect:
- Suspend returns
200withstatus: "suspended", or202withstatus: "suspending"while memory is still being saved. PollGET /computers/{id}/suspensionuntil it readssuspended(Suspend computer). - A suspended computer may be moved off its host to storage. A computer still on its host resumes in seconds; one in storage wakes in about a minute, and the
202it answers carriesexpected_seconds(Resume computer). - Both calls are idempotent. Suspending an already suspended computer returns
200; resuming a running one returns200withstatus: "running"(Resume computer). - Suspend is for Linux computers without a GPU. Others return
400withsuspend_unsupported. A computer billed by the hour returns409withHOURLY_USE_STOP; stop it instead (Suspend computer).
You can also let the computer suspend itself. On paid plans, auto_stop_minutes on PATCH /computers/{id}/resize sets the idle minutes before a running computer suspends itself; 0 means always-on (Resize computer). Auto-stop is off by default (API reference).
How do you shut down an agent computer and stop paying for compute?
Use Stop. Orgo archives the disk to object storage, keeps files, installed software, and configuration, and releases the host, so a stopped computer uses no compute (Stop computer).
curl -X POST "https://www.orgo.ai/api/computers/$COMPUTER_ID/stop?async=true" \
-H "Authorization: Bearer $ORGO_API_KEY"Things an agent should know before it calls Stop:
- Memory is not kept. Processes and other in-memory state are lost; only the disk survives (Stop computer). If the agent needs its open apps as they are, suspend instead.
- Linux and Windows only. Other operating systems and physical devices return
400withSTOP_UNSUPPORTED(Stop computer). - It can be async. Send
?async=true, a JSON body{ "async": true }, orPrefer: respond-asyncto get202with anoperation_idandpoll_url. Without it, the call waits up to 300 seconds (Stop computer). - Start brings it back. Start restores the archived disk and boots it. The computer gets a new
instance_idand can land on a different host with a different address and ports, so re-fetchGET /computers/{id}afterwards (Start computer). - Hourly computers still pay for the disk. A computer billed by the hour, like a free account's computer, pays a lower rate while stopped. On a free account, when the credit runs out the computer stops and its files are kept for 7 days, then deleted.
How do you fork an AI agent's computer mid-task?
Use Fork when you want two agents (or two attempts) to continue from the same moment. Fork copies a running Linux computer including what is in its memory, and the copy comes up running with the same apps, windows, and processes open (Fork computer).
curl -X POST https://www.orgo.ai/api/computers/$COMPUTER_ID/fork \
-H "Authorization: Bearer $ORGO_API_KEY"The answer is 201 with the new computer. Use its id as the fork's handle:
{
"id": "7f3a9c21-5e8b-4d0a-b6c4-1e2f3a4b5c6d",
"name": "agent-1 (fork)",
"status": "running",
"fly_instance_id": "c58e1a04"
}Where forking fits an agent workflow:
- Branch before a risky step. Fork right before the agent submits a form or runs a destructive command, so a copy from before that step exists.
- Try two next steps. Run one strategy on the source and another on the fork, then keep the one that worked. This is the docs' own framing (Fork computer).
- Hand off a live session. Give a reviewer or a second agent a copy of the exact desktop state while the first agent keeps working.
Limits: the source must be a running Linux computer on a VM type that can fork live. A source that is not running, a Windows computer, or an older VM type returns 409 with NOT_FORKABLE. The source pauses while its memory is copied, about two seconds according to the docs, and longer for a computer with a lot of memory. The fork gets a new UUID, a new instance_id, and auto-stop set to always-on (Fork computer).
How do you clone an agent computer to reuse its setup?
Use Clone when you have configured one computer (installed apps, signed in, added files) and want more like it. Clone copies the full disk, including installed software, files, and browser sessions, into a new computer that starts from a fresh boot (Clone computer).
curl -X POST https://www.orgo.ai/api/computers/$COMPUTER_ID/clone \
-H "Authorization: Bearer $ORGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "agent-2"}'Notes:
- Clone the source while it is running. A computer you stopped reads
frozenand has no VM to copy, so Clone answers400withNOT_CLONABLE; start it first. A source asleep in storage returns409withcomputer_asleepuntil you resume or start it (Clone computer). nameis optional, unique in the workspace, and 1 to 255 characters. A name already in use returns409withNAME_TAKEN(Clone computer).- Cloning is a disk copy, so stop applications that need an application-consistent backup before cloning (Clone computer).
If you are creating many identical computers, a template is the reproducible, versioned way to define one. Cloning is the fast way to copy one you already set up by hand. Orgo templates and triggers covers the template route.
Clone vs fork: which one should an agent use?
| Clone | Fork | |
|---|---|---|
| Copies | The disk: files, installed apps, browser sessions | The disk and live memory: open apps, windows, running processes |
| The copy starts | From a fresh boot | Where the source was |
| Source | Linux or Windows; start a stopped one first | Running, Linux only |
| Name | Your name, or agent-1 (clone) | agent-1 (fork) |
Sources: Clone computer, Fork computer.
Pick clone for "give me another computer set up like this one." Pick fork for "give me another computer exactly where this one is right now."
Suspend vs stop: which one saves more?
| Suspend | Stop | |
|---|---|---|
| Saves | Memory and disk | Disk only |
| Comes back with | Open windows and running processes | A fresh boot from the archived disk |
| Bring it back with | Resume (or Start, if moved to storage) | Start |
| Time to come back | Seconds on its host; about a minute from storage | A cold boot, which can take considerably longer than a normal request |
| Where it waits | On its host, or moved to storage | An archive in object storage; host released |
| OS support | Linux without a GPU | Linux and Windows |
Sources: Suspend, Resume, Stop, Start.
Suspend is not offered on computers billed by the hour (409 HOURLY_USE_STOP). Stop an hourly computer instead. Plans are on the pricing section.
What breaks after a lifecycle change, and how should an agent handle it?
Three rules keep an agent loop from losing its computer:
- Keep the UUID, not the
instance_id. A computer started from its archive, or woken from storage, gets a newinstance_idand can land on a different host with a different address and ports. Store theid(UUID) as your handle and read connection details fresh fromGET /computers/{id}(Start computer, Resume computer). - Poll, do not retry blindly. Async start and stop return a
poll_url. Poll every two seconds until the operation readssucceeded,failed, orneeds_review.needs_reviewmeans the host's answer was lost. Orgo checks the computer on its own and resolves the operation within about two hours at most, and a second start or stop returns409until then (Get computer operation). - Reconnect streams. A restart keeps the computer's ports and VNC password, but open VNC and terminal WebSockets drop during the reboot (Restart computer).
Common error codes, framed as what the agent should do next:
| Code | Seen on | What the agent should do |
|---|---|---|
suspend_in_progress (409) | Start, stop, resume, clone, restart | Wait until the status shows suspended, then retry |
computer_asleep (409) | Clone, fork | Resume or start the source first |
NOT_FORKABLE (409) | Fork | Start the source if it is not running; for Windows or an older VM type, clone instead |
NOT_CLONABLE (400) | Clone | The source has no VM, usually because it was stopped; start it first |
HOURLY_USE_STOP (409) | Suspend | The computer is billed by the hour; call stop instead |
OPERATION_IN_PROGRESS (409) | Start, stop | Poll the pending operation instead of sending the opposite action |
OPERATION_NEEDS_REVIEW (409) | Start, stop | Wait; Orgo is checking the last operation |
upgrade_required (402) | Start, resume, restart | The workspace plan no longer funds running computers; a person must upgrade |
DISK_QUOTA_EXCEEDED (403) | Clone, fork | The source disk is larger than the plan's per-computer storage |
Sources: the error tables on each endpoint page linked above.
What do forks and clones count against?
A fork or clone is a new computer, so it counts against the workspace owner's plan: a computer slot, the account's RAM and vCPU, the per-computer size limit, and storage for the copied disk. Running out of any of those returns 403 (Fork computer, Clone computer). A source billed by the hour or by its own subscription returns 409 with HOURLY_QUOTE_REQUIRED, because a copy needs its own purchase. Plans are on the pricing section.
When should you not use these?
- Mac and iPhone. These computers can't be stopped, suspended, forked, or cloned. Clone answers
409withunsupported_os, and Stop on a Mac suggests Restart instead. - GPU computers. Suspend is not available on computers with a GPU (Suspend computer). On a dedicated GPU host, Restart needs
{"clear_disk": true}and clears everything outside/workspace. - Dedicated machines. A computer on a dedicated machine that Orgo manages directly answers
DEVICE_LIFECYCLE_UNSUPPORTEDto Suspend, Stop, Fork, and Clone; contact support (Clone computer). - Database-consistent backups. Clone is a disk copy; stop the applications first (Clone computer).
- Permanent removal. None of these calls deletes a computer. Use
DELETE /computers/{id}for that.
FAQ
Can I pause an AI agent's cloud computer and resume it later with the same open apps? Yes, on Linux computers without a GPU that are not billed by the hour. Suspend saves memory and disk; Resume continues with the same windows and processes (Suspend computer).
What is the difference between suspend and stop on Orgo? Suspend keeps memory and disk. Stop keeps only the disk, releases the host, and uses no compute while stopped (Stop computer).
What is the difference between fork and clone? Fork copies disk and live memory, so the copy carries on from the same moment. Clone copies the disk, so the copy boots fresh (Clone computer).
Does forking interrupt the original computer? Briefly. The source pauses while its memory is copied, about two seconds according to the docs, then carries on (Fork computer).
Can I fork a Windows computer?
No. Fork needs a running Linux computer; Windows returns 409 with NOT_FORKABLE. Clone works instead (Fork computer).
Can I clone a stopped computer?
Not directly. A stopped computer has no VM to copy, so Clone answers 400 with NOT_CLONABLE. Start it, then clone it.
Does a clone keep browser logins? Clone copies the full disk, including browser sessions (Clone computer). Some sites may still ask the new computer to sign in again.
How long does it take to resume a suspended computer? Seconds if it is still on its host, about a minute if it was moved to storage (Resume computer).
Why did my computer's address change after start?
Starting from the archive, or waking from storage, gives the computer a new instance_id and can place it on a different host. Keep the UUID and re-fetch GET /computers/{id} (Start computer).
Can an agent make the computer suspend itself when idle?
Yes, on paid plans. Set auto_stop_minutes with PATCH /computers/{id}/resize while the computer is running; 0 means always-on (Resize computer).