Skip to content
← Blog

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?

OperationEndpointKeeps diskKeeps memory and open appsResultWorks on
SuspendPOST /computers/{id}/suspendYesYesSame computer, suspendedRunning Linux without a GPU, not billed by the hour
ResumePOST /computers/{id}/resumeYesYesSame computer, back to runningA suspended computer
StopPOST /computers/{id}/stopYes (archived)NoSame computer, frozen, host releasedRunning Linux and Windows
StartPOST /computers/{id}/startYes (restored)Only if it was suspended to storageSame computer, runningfrozen, stopped, or suspended in storage
RestartPOST /computers/{id}/restartYesNoSame computer, rebooted in placeA computer on its host that is not suspended
ForkPOST /computers/{id}/forkYes (copied)Yes (copied)New computer, runningRunning Linux only
ClonePOST /computers/{id}/cloneYes (copied)NoNew computer, fresh bootLinux 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).

bash
# 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 200 with status: "suspended", or 202 with status: "suspending" while memory is still being saved. Poll GET /computers/{id}/suspension until it reads suspended (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 202 it answers carries expected_seconds (Resume computer).
  • Both calls are idempotent. Suspending an already suspended computer returns 200; resuming a running one returns 200 with status: "running" (Resume computer).
  • Suspend is for Linux computers without a GPU. Others return 400 with suspend_unsupported. A computer billed by the hour returns 409 with HOURLY_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).

bash
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 400 with STOP_UNSUPPORTED (Stop computer).
  • It can be async. Send ?async=true, a JSON body { "async": true }, or Prefer: respond-async to get 202 with an operation_id and poll_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_id and can land on a different host with a different address and ports, so re-fetch GET /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).

bash
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:

json
{
  "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).

bash
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 frozen and has no VM to copy, so Clone answers 400 with NOT_CLONABLE; start it first. A source asleep in storage returns 409 with computer_asleep until you resume or start it (Clone computer).
  • name is optional, unique in the workspace, and 1 to 255 characters. A name already in use returns 409 with NAME_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?

CloneFork
CopiesThe disk: files, installed apps, browser sessionsThe disk and live memory: open apps, windows, running processes
The copy startsFrom a fresh bootWhere the source was
SourceLinux or Windows; start a stopped one firstRunning, Linux only
NameYour 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?

SuspendStop
SavesMemory and diskDisk only
Comes back withOpen windows and running processesA fresh boot from the archived disk
Bring it back withResume (or Start, if moved to storage)Start
Time to come backSeconds on its host; about a minute from storageA cold boot, which can take considerably longer than a normal request
Where it waitsOn its host, or moved to storageAn archive in object storage; host released
OS supportLinux without a GPULinux 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:

  1. Keep the UUID, not the instance_id. A computer started from its archive, or woken from storage, gets a new instance_id and can land on a different host with a different address and ports. Store the id (UUID) as your handle and read connection details fresh from GET /computers/{id} (Start computer, Resume computer).
  2. Poll, do not retry blindly. Async start and stop return a poll_url. Poll every two seconds until the operation reads succeeded, failed, or needs_review. needs_review means 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 returns 409 until then (Get computer operation).
  3. 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:

CodeSeen onWhat the agent should do
suspend_in_progress (409)Start, stop, resume, clone, restartWait until the status shows suspended, then retry
computer_asleep (409)Clone, forkResume or start the source first
NOT_FORKABLE (409)ForkStart the source if it is not running; for Windows or an older VM type, clone instead
NOT_CLONABLE (400)CloneThe source has no VM, usually because it was stopped; start it first
HOURLY_USE_STOP (409)SuspendThe computer is billed by the hour; call stop instead
OPERATION_IN_PROGRESS (409)Start, stopPoll the pending operation instead of sending the opposite action
OPERATION_NEEDS_REVIEW (409)Start, stopWait; Orgo is checking the last operation
upgrade_required (402)Start, resume, restartThe workspace plan no longer funds running computers; a person must upgrade
DISK_QUOTA_EXCEEDED (403)Clone, forkThe 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 409 with unsupported_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_UNSUPPORTED to 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).