Live demo · Agents in sandboxes

Give an agent a desktop.
Get back a document.

Claude works a GNOME desktop running Apache OpenOffice inside a Chalk sandbox with no network. It reads the screen, clicks and types through menus and dialogs, and saves a finished spreadsheet or memo. You watch every move, then download the file.

What should it make?

Pick a task, or describe a document of your own, and run the agent. A run takes about two minutes. When both live desktops are busy, the presets play back a recorded run of the same task.

claude computer use · gnome · apache openofficeOpen in new tab

How it works

A computer use agent needs a real computer to use, and one you can afford to let a model drive. Chalk gives it a throwaway desktop that can't reach anything.

1. Pick a task

Choose a spreadsheet, a memo, or an invoice, or describe your own document in a sentence. The task is all the agent gets: no file templates, no API into the office suite.

2. A desktop in a sandbox

A gVisor sandbox runs a full GNOME desktop with Apache OpenOffice on a 1024×768 display. It has no network at all; a warm pool keeps one booted so runs start in seconds.

3. Claude looks at the screen

Claude gets screenshots through the computer toolset and answers with actions: clicks, typing, shortcuts, scrolling. It batches several per turn and checks its work with a fresh screenshot.

4. Actions become real input

Each action runs as an xdotool command inside the sandbox, against the same X display you are watching. The agent drives menus, dialogs and the chart wizard like a person would.

5. You watch it live

The screen streams to this page a few times a second, view only: visitors have no input path into the desktop. The step log shows each action and the agent's notes.

6. Download the document

When the agent saves, the file is pulled out of the sandbox, rendered to PDF through OpenOffice's own API, and handed to you. Then the sandbox is destroyed.

Getting started

Put your own app on the desktop

Clone the example, store a model gateway key as a Chalk secret, and deploy. The desktop is an ordinary Chalk image, so swapping OpenOffice for your own Linux application is a change to a few lines.

The agent loop is the plain Messages API with the computer toolset: no framework, about two hundred lines including all seventeen actions. It runs outside the sandbox, so the desktop never sees a key.

chalk-ai/computer-use-agent
git clone https://github.com/chalk-ai/computer-use-agent
cd computer-use-agent
chalk login

# One time: store a model gateway key for the server that runs the agent.
# Paste the key that `chalk router api-key create` prints.
chalk secrets set CHALK_ROUTER_API_KEY

# Serve this demo from a scaling group in your environment...
./deploy.py

# ...then run a task against it from your terminal.
./run_cli.py https://<web_url> --prompt "A packing list spreadsheet with a total weight row"

What Chalk handles

The model brings the hands and eyes. Chalk brings the machine it's safe to use.

No network, no secrets

The desktop has an empty egress allowlist and holds no credentials. The agent loop and the model gateway key live in the server, outside the sandbox.

Desktops on demand

A sandbox boots the whole GNOME session in about six seconds, and a warm pool hides even that. Run one for a visitor, or a fleet for an eval.

One gateway for every model

The computer toolset goes through the Chalk model gateway like any other request, with prompt caching keeping each screenshot-heavy turn cheap.

Any app, not just a browser

The image is yours: office suites, design tools, legacy desktop software. If it runs on Linux, an agent can operate it in a sandbox.

Every run is observable

Each screenshot the agent saw, each action it took and the model's notes come back as events, so runs can be replayed, audited, or scored.

Open source

The desktop image, the agent loop, the xdotool action layer and this page's backend are Apache-2.0 on GitHub. Swap the app, the prompt or the model.

Give your agents a computer

Back-office automation, legacy desktop apps, or evals of agents that use software. Talk to an engineer about running them in sandboxes next to your data.