Live demo · Agents in sandboxes

Give an agent a desktop.
Get back a document.

This demo shows Claude operating Apache OpenOffice on a GNOME desktop 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.

Follow a request into a finished document

Watch the agent use desktop applications, then inspect the artifact it produces.

Try this experiment · expected results

  1. 1Choose a task

    Select a preset task and start the agent. Runs take about two minutes; busy desktops may use recorded playback.

    Expected: The desktop shows the agent operating an application through screen observations and input.

  2. 2Inspect the finished file

    Compare the final document with the original task and download it when available.

    Expected: The output is a document you can inspect, not just a text description of the agent’s actions.

claude computer use · gnome · apache openofficeOpen in new tab

The agent operates OpenOffice inside a network-isolated Chalk sandbox. Compare its desktop actions with the document it produces.

Built on Chalk

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 Chalk 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.

Deploy your own

Put your own app on the desktop

Clone the example, store a Chalk 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 Chalk 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"
Implementation details

How the example works

  • 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.

More capabilities

  • 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.