Path A
For you or your team.
As many sandboxes as each engineer has work in flight, on one org and one bill.
$remote new claude --name claude-pr-481claude-pr-481 running
Give every developer a persistent, isolated computer, provision ephemeral sandboxes on demand, and control every environment through one API.
4 vCPU · 8 GB · hardware-isolated · from $0.033/hr
Provisioning a machine
Its own microVM, booting. Usually a few seconds.
| Sandbox | Agent | Age | ||
|---|---|---|---|---|
running1 | ||||
codex-migrate | codex | 42m | ||
stopped1 | ||||
docs-preview | codex | 260m | ||
Path A
As many sandboxes as each engineer has work in flight, on one org and one bill.
Welcome back Matthew!
Sonnet 5 with high effort · Claude API ·Matthew's Org/codeTry "fix typecheck errors"$remote new claude --name claude-pr-481claude-pr-481 running
Path B
A hardware-isolated microVM per user, per session, or per task, from your own code.
POST /v1/orgs/$ORG/sandboxes
{ "endUserId": "u_8321", "mode": "ephemeral" }
201 Created
{
"sandbox": {
"id": "sb_9f2k",
"end_user_id": "u_8321",
"status": "provisioning"
}
}A sandbox lasts until you delete it. Sleep one and wake it days later, mid-thought.
4 vCPU and 8 GB from $0.033/hr, below every comparable price sheet we checked. Asleep, it's free.
Every sandbox is its own hardware-isolated microVM. No shared kernel, no upgrade tier.
Underneath everything is a hardware-isolated microVM: root, Docker, real ports, a persistent disk, and a snapshot when it sleeps. The API is the front door, whether the machines are for your engineers or for the people using your product.
**+
*@-=-=-#%%##**
%###=-=-=-#####-=-=-=%%#%**+
+%@%#-=---=# ###---=--%%###*+
*%%##=-=-=-=# #-=-=-=-=-=-%#*
**%##---=---# #=---=---=---#*
%###=-=-=-=# #=-=-=-=-=-=-###**+
*%#%#--------- #------------#######*
+#*##-=-=-=-=-=-= #=-=-=-=-=-=-########
###=-#*#-----------### -------------######-%
#=%%-=-####=-=-=-=-=-=-=-=-=-### -=-=-=-=-=-=-########
%-####=-=----------------------------##--------------##%##@%*
#=---=-=###=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--#:---###
*##-##--##--=-=###=-=----------------------------####%@##+
*###.%%#-##=-####--=-=###=-=-=-=-=-=-=-=-=-=-=--###@--##+
#%##++@#####@#-##--####-----=###=--------------####-@%%+
#%%* ####%**#--##--####----=-=###=-=----##%%---##
+%## #####**@--##--####-----=-=#####--%#%*
*#%* %#### *%=-##=-####--=-##=--##%
+##* *#### +##-##----%+ +**#*
+*%# ####* +**+
*#%*
#-=---=--###
#-=-=-=-=-=-=-=-=-=#
#--=---=---=---=---=##
#-=-=-=-=-=-=-=-=-=-=#:
=#####=-------------###
-------=-#####-=-=-###
###---------##.#
###--=##
The CLI, the TUI, the web console, the desktop app, and an agent over MCP are five views of the same live sandboxes, not five products.
console.remotehost.aiThe fleet, billing, and a live terminal in the browser.Desktopremotehost.ai/downloadsEach sandbox as a workspace, on macOS, Linux, and Windows.CLI$ remote new claudeCreate, attach, sleep, and wake from a shell or a CI job.TUI$ remoteThe whole fleet in your terminal, from bare remote.APIPOST /v1/sandboxesDrive sandboxes from your own code or your own product.MCP$ remote mcp setupYour agent makes and drives its own sandboxes.
+******+
**%%#####=-#---#%#*+
*#@###%#***#=-#***%##:-%%+
+*@##%#+ *=-* **%:-%#+
###%#+ *=:* +*@:-#
+@#@* *=-* #%-%*
#### =- #-:#
###* =- *-:%
###* =: *-:#
*##* =- *-:*
@:# =: #-%
#-#+ =- +--*
#:# **## =: #%** #:%
=:%#@##%% =- #@##%%#-:
###@#* =: *#%###
++-# -- *#-*
+%=%* =: *%#@+
##===%%** -: **#%####*
+-.%#@-====###### #-:# ###########%%#=#+
*-%+ +*#%###------=----------::######** +@-#
#:% #-.# %##
+%-%+ -: +%#@+
+#-%* -. +@#%+
#-:#+ :: +####
+%::#+ *:.* +###%+
*%--%* *:.* *###%+
+#%--%#*+ *:.* **%%##@#+
+*#@#####@:.%#####%%*+
+***%:.%****
+#%+
+*#%% %##*+
+#%+=+=# #=-=-@#*
*%+======# #-=----:%+
#=+=+=+===# #=------:-#
%==========# #----:-:-::#
%=+===+=====# #=-=--:-::::#
==========-=# #----:-::::..
%===========-# #=----::::::.@
=-===-=-=-=-=# #--:-::::.:...
==-===-===-=-# #---:-::::.:.:
%-=---=------# #:-::::.:....%
#=---=-------# #-::::::.....#
##### #####
*%:::::#### #####. ..@+
+#::::::::# #:.......#+
+#.:.:.:# #......#*
*%%:.# #:.%#*
A microVM typically boots in under a second. The harness is up, your repo is cloned, and a tmux session is waiting: work in progress, never an empty box.
+****#%#%===+===+===+===+===%#%#%#%#%+
*%##############=================#####:.:.*
*--=---=---=---=---=-=-=-=-=-=-#.:.:.:.:.:
*-----+=+----------------------...........
*----- +-#%%*----------------..:.:.:.:.:
*-----= =-+#*+----------------.........:.
--=---=---=---=---=---=---=--::.:.:.:.:.%
------------------------------..........#
=--%%%%*#*#*##+++++#=--------:..:.:.:.:.%
%--%%%%%%%%%%%%%%%%%%%%%------.........:#
%-=---=-#+++++**#*#*%%%%--=--::.:.:.:.:.#
#----------------------------:..........*
%----------------------------:..:.:.:.:.*
*----------------------------:.....:...:*
*-=---=---=---=---=---=---=--::.:.:.:.:.*
*----------------------------:..........+
*----------------------------:..:.:.:.:.
----------------------------:.....:...:
-=-=#=---=---=---=---=---=--::.:.:.:.:.
---=%%%%#**#+=#-------------:.......:.@
---+%%%%%%%%%%%%%%##**------::.:.:.:.:#
%-----#=+##*#%%%%%%%%*------:.....:...%
#=---=---=---=--#++***---=--::.:.:.:.:*
%---%%%*##+=##--------------#.......#*
#---%%%%%%%%%%%%##*#+=------::.:.:.##+
*-----==+*#*%%%%%%%%%*------:.....#*
+----=---=---=-#++*###---=--.:.:#@+
#######:------------------:..#%+
+*#%%----######-----------.:##
***%#-----######---#%*
+**%#%---=-#%+
**##
#%%
##
Full systemd, Docker, background processes, real ports, its own filesystem. Anything that needs a machine rather than a request handler runs here unchanged.
#%%
+ #-# %%#
+### #-# ##%#%##****
#%##.. #-# -----#--:*
*#=##.... #-# #----#--::+
*%##....... #-# #---#-=:::
#%=-#######.. ### #--#--::.:
*-=-===========-#### #-# #-#--::::#
------------=-=-=======-=-=##### ##--::.:.%
---------------------=-=-==============##### #--::::.:#
%-----------------------------------=-=-=-===-=-=-=-=--::.:.:.*
#----------------------------------------------=-=-===-:.:.::@+
#-----------------------------------------------------:.:.:.@+
*=----------------------------------------------------::.:::*
*----------------------------------------------------::.:.:*
+%:---------------------------------------------------.:::#
****%#%:-----------------------------------------::.:%
+**##%%---------------------------------.:%+
***#%#%:-:-------------------:..*
***##%%-:-----------.*
+***#%#@:-:%
+#%=-=-=-%#+
*#####=####*
+#####***** *-----::...*
*%===-===-=-## *-=----::..*
*-=-#########.. =----::...*
#=---------:.:. -=----::.. %*****+
----------.... -----::..###=-=-=-=-=#
----------:... -=----::.###-=-=-=-=-###
----------.... =----::..#-#----####...
=---------:.:. -=----::.#-#------#:.:.
----------.... -----::..#=#------#....
#####... -=----::.#-#------#..:.
####:..#=#------:....
####.:.:#
Docker, the GitHub and Linear CLIs, language servers, and the runtimes a repo expects ship in the image. The agent's first move is the work, not twenty minutes of apt.
****##%#%#%#%#%#%#%#%#***+
+##%===========########===========%%**
#%=-=-=-=-=-=-=-=#--###.#-=-=-=-=-=-=-=-@*
#=================######=================#
=##-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=###
%=-=######======================######...@
#------------#############:.:.:......#
*%#####-------------:-:-:::::::#######
+%=-=-=-=-=-##################=-=-=-=-=-@+
#===-===-===-===-=#######===-===-===-===-%
%#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-##
*=-###-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=###..#
*@----######-=-=-=-=-=-=-=-=######....%#
+####-=-=----------:-:-:-::::::.:.:####+
########:---:-:-:-::::::########
##### #####
@=##=-=-=-=-=-############=-=-=-=-=-##.%
+#-=-####--=---=---=---=---=---####...#+
+#%-=----##################::.:.:%#+
*##%--------:-:-::::::::%%#*
******##%******+
*#### ####*
+*%###%#* *###==%#+
+###%#+ *#@-=#+
+@:@* #%=%+
#=:+ +--#
*+=% ##:#
#==@#+ +#%-#%
+%===@#*+ **%%#:#%*
+*%-====### ####:::#%#+
*###-=========###################=----:-::#%**
#####:-----------:-:-::::#####
Ephemeral sandboxes take the work with them when they go. These sleep and wake from their own snapshot: same filesystem, same branch, same half-finished dev server.
************ ***********+
#-----------* *-----------#
# :* *- #
# :* *- @
% :* *- #
#-:::-:::-::+ *:#:-:::-:::%
%+ +#
## ##
+%* +@+
*###########* #% %* +###########*
*- :# %* *% #: :*
*- :% +@ %* #- :*
*- ## ## #% %- :*
*- :% +#+ +#+ #- :*
**********##* ## %* +##**********
**%#*+ @+ *% +*%%#+
*%%#+ +@ %* **%#*+
+##%* %# *% *#%#*
+##%*+ % @ +###*+
*# %*
##%#%#%#%* ##%#%#%#%#
*-===-===-% #===-===-=*
#--------## %#--------#
#--:---:-:* *-:---:---#
#%#%#%#%#% #%#%#%#%##
:-:-:-:-:: --:-:-:-::
-:---:---: ---:---:-:
--:-:-:-:: :-:-:-:-::
:-:-:-:-: -:-:-:-:-
-:---:--- --:---:--
:-:-:-:-: -:-:-:-:-
-:-:-:-:- :---:---:
*%#% %# %%##
#-=-####===#
############
-:---:---:-:
--:-:-:-:-::
---:---:---:
+***********
The CLI, the TUI, the desktop app, and the web console all attach to the same live sandbox and read the same fleet. The API drives any of it from your own code.
*##%###%###%###%###%###%###%###%###%###%###%###%###%###%###%###%###%#
=:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-::*
--#::-:::-:::-:::-:::-:::-:::-:::-:::-#::-:::-:::-:::-:::-:::-:::-##:
@:#:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:#:-:-:-:-:-:-:-:-:-:-:-:-:-:#::
#-:::######################:::::::::::#::################:::::::::#:.
%:-:-######################:-:-:-:-:-:#:-################:-:-:-:-:#::
#-:#:-:::-:::-:::-:::-:::-:::-:::-:::-#::###################### #:%
#--#-#%%%%%%%%%%%%%%%:-:-:-:-:-:-:-:-:#:-###################### #:%
*-:::::::::::::::::::::::::::::####:::#:::::::::::::::::::::::::::#:#
*--#-:##################%%%%%%# :-:#:-%%%%%%%%%%%%#-:-:-:-:-:-:#:%
*-:#:-###############===#-:::-: ::-#::-:::-:::-:::-:::-:::-:::-#:#
*--#-:###################:-:-:-:-:-:-:#:-:-:-:-:-:-:-:-:-:-:-:-:-:#:*
-:#::###################:::::::::::::#############################:*
--#-:-:-########:-:-:-:-:-:-:-:-:-:-:#:-:-:-:-:-:-:-:-:-:-:-:-:-:#:*
-:#:-#%%%%######-:::-:::-:::-:::-:::-#::-:::-:::-::#######::-:::-#:*
%-#-:-:-:-:-:-:-:-:-:#######:-:-:-:-:%:-%%%%%%%%%%########:-:-:-:#:+
#:#::#%%%%%%%%%%%%%%%%%#####:::::::::%::::::::::::::::::::::::::##:
#-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:%:-:-:-#########-:-:-:-:-:-#-:
%:::-:::-:::-:::-::###::-:::-:::-:::-%::%%%%#########:::-:::-:::#::
#-:#:#%%%%%%%%%%%%%%##:-:-:-:-:-:-:-:%:-:-:-:-:-:-:-:-:-:-:-:-:-#-%
*::#:::::::::::::::::::::::::::::::::%::::::::::::::::::::::::::#:%
*-:::-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:%:-:-:-:-:-:-:-:-:-:-:-:-:-#-#
*-:#-:::-:::-:::-:::-:::-:::-:::-:::-%::-:::-:::-:::-:::-:::-:::#:%
+-:#:-:-:-:-:-:-:-:-:-:-:-:-:-###############################-:-::#
-:#####################:::::::::::::::.:.#%##%###%###%**********+
@:::::##%#%#%#%#%#%#***********%-:-:%
%:::-# ********+
*#%#%#%#%#@-=#-:-:#-===-===-=%*
*=-=-=-=-=-=-######=-=-=-=-=-=-#
*==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-%+
#-=#################-:-:-:::##%#*
#@#%#%#%#%#*********
###
%%%
%%%%
####
A teammate attaches to the sandbox you are already in and lands in the same session: your panes, your scrollback, your running processes. No screen share, no second copy.
Previews
Start pnpm dev and open localhost from the sandbox, exactly as you would on your laptop. RemoteHost detects the port, opens the app in your browser, and keeps hot reload intact. No tunnel, port configuration, or new workflow.
$ pnpm dev ▲ Next.js 15.5.23 - Local: http://localhost:3000 ✓ Ready in 1.4s $ open localhost:3000 $
Start Next, Vite, Storybook, Rails, or another dev server the usual way. RemoteHost detects every bound port automatically.
Hot reload and its WebSocket travel through the preview connection. Save a change and the browser updates as it would on your laptop.
Every preview has an authenticated HTTPS URL for your team. Public review links can expire and be revoked without disrupting the sandbox.
A Firecracker microVM is the same machine wherever it boots, so the region is a placement decision rather than a different product. Tell us where your data has to live and we will put a fleet there. On Enterprise, swap in your own compute and run the same sandbox on Firecracker hosts you already own. Talk to us about either.
us-east4 · Firecracker microVMThe same lifecycle from a shell. Create, list, attach, and sleep from wherever your agents already run, with nothing in the loop but remote.
curl -fsSL https://remotehost.ai/install | sh curl -fsSL https://remotehost.ai/install | shremote new is the base primitive. Add an agent name and Claude Code or Codex boots inside the sandbox as it provisions, so it's ready the moment you remote attach.
Verbs, not config. remote ssh is plain OpenSSH and every command exits non-zero on failure, so the lifecycle drops straight into a Makefile or a CI job.
remote new [agent]Create and enter a sandboxremote claudeBoot Claude Code inside oneremote lsList every sandbox you can reachremote attach <host>Attach by name or idremote ssh <host> -c '…'A shell or command over OpenSSHremote sleep <host>Snapshot it and stop billingremote wake <host>Bring it back from that snapshotremote metrics <host>CPU, memory, and disk pressureStarter, Pro, and Max scale one engineer from a first sandbox to agents that never stop. Business gives the whole team a shared org on dedicated capacity, priced by the seat. Overage is off until you turn it on, and you can cap machine-hours on the org or a single project below that.
For an engineer proving the workflow before rolling it out to the team.
For one engineer keeping several agents busy around the clock.
For the engineer whose agents never stop.
Every plan runs on the same control plane. When you outgrow ours, Business adds a shared org, and Enterprise can run sandboxes on hardware you own. Your projects, agents, repos, and history stay exactly where they are either way.
One sandbox with 4 vCPU and 8 GB, running for an hour, at each provider's published rate. Read from their price sheets on 2026-09-11.
The full comparison: a month at your scale, and what each sandbox can do