Skip to main content
Install the desktop preview for macOS, Windows, or Linux to use Agent Canvas without setting up npm or a source checkout. The agent-canvas launcher can run the Canvas client with Agent Server, Automation Server, and ingress as an all-in-one local stack. Use npm or npx for direct local execution, or Docker for a containerized stack with explicit project mounts. You can also run the client separately and connect it to an existing backend.
Treat agents and ACP processes as untrusted: they can run shell commands, read files, write files, and use connected tools within their execution environment. Agent Canvas is the client and does not provide isolation. If the backend runs directly on your machine, the agent can act with your user account’s permissions. Use a container, sandbox, or VM to define a tighter boundary. Before exposing backend services to a network you do not control, review VM / Self-Hosted Installation.

Choose An Install Method

For an installer, choose the desktop preview below. For a browser setup, use npx for a quick first run or npm for a reusable agent-canvas command. Use Docker when you specifically want sandboxing.

Desktop App (Preview Build)

The desktop app is an early preview for user testing. It bundles Node.js and uv, starts its local backend automatically, and does not require you to install npm packages, clone the source, or keep a terminal open. Skip the command-line prerequisites and installation sections below.
Preview builds may have rough edges. The macOS app is not yet signed with an Apple Developer ID or notarized, so Gatekeeper may block it; see desktop troubleshooting. Windows may show a SmartScreen prompt. Current installers support Apple silicon and Intel Macs, and x64 Windows and Linux.
Download the file for your operating system from the Assets list on the latest OpenHands release. Replace <version> in the filenames below with the release version. Older builds are on the releases page.

macOS

  1. Download OpenHands-Agent-Canvas-<version>-universal.dmg from the latest release assets.
  2. Open the disk image and drag OpenHands Agent Canvas to Applications.
  3. Launch OpenHands Agent Canvas from Applications.
The universal disk image includes Node.js and uv for both Apple silicon and Intel Macs.

Windows

  1. Download OpenHands-Agent-Canvas-Setup-<version>.exe from the latest release assets.
  2. Run the installer. If Windows SmartScreen prompts you, confirm that the installer came from the official OpenHands release before continuing.
  3. Launch OpenHands Agent Canvas from the Start menu.

Linux

Choose a package from the latest release assets:
  • AppImage: Download OpenHands.Agent.Canvas-<version>.AppImage, make it executable in your file manager’s permissions or with chmod +x, then run the file.
  • Debian / Ubuntu: Download agent-canvas_<version>_amd64.deb, install it with your package manager (for example, sudo apt install ./agent-canvas_<version>_amd64.deb), then launch OpenHands Agent Canvas from your applications menu.

First Launch

During startup, select Show details to view and copy the live startup log if startup takes longer than expected or fails. Once the app opens, follow First Time Setup to configure a model and open a workspace. The desktop app can also run conversations in DigitalOcean sandboxes. See DigitalOcean Managed Agents.

Troubleshooting and Lifecycle

If macOS reports that the app is damaged or cannot be opened, first confirm that you downloaded it from the official OpenHands release. After moving it to Applications, clear its quarantine attribute in Terminal, then launch it again:
To stop the app, quit OpenHands Agent Canvas from its application menu. To run it again, launch the installed app. To update it, download and install the latest desktop release; Settings > Application also shows the installed version and can check for updates. To uninstall, quit the app and move it to the Trash on macOS, uninstall it from Installed apps on Windows, or remove the AppImage or Debian package on Linux. Please join the OpenHands Slack community to share preview feedback and open an issue for problems you find.

Verify Prerequisites

These prerequisites apply to the npm, npx, and Docker methods. Desktop installer users can go directly to First Time Setup.
Install Node.js 24 or later and uv, then verify both tools are available:
If uv or uvx is missing, install uv before starting Agent Canvas. The local agent server runtime uses it.
Termux and other mobile Linux environments are not a primary supported target. For the most reliable local setup, use macOS, Linux, Windows with PowerShell, or Windows with WSL2.

Install And Run

Install the published package globally:
Start the full local stack:
Agent Canvas starts on http://localhost:8000 by default. If your browser does not open automatically, open that URL manually.

Confirm It Started

After startup:
  1. Open http://localhost:8000.
  2. Confirm the default local backend shows as connected.
  3. Open Settings > LLM and configure a model.
  4. Choose Open Workspace before starting a conversation if you want the agent to work in a specific folder.
  5. Return to the home screen and start a conversation.
If the page does not load, check the terminal where Agent Canvas is running. Common causes are a missing prerequisite, a busy port, or Docker not running.

Run Agent Canvas Again

After you close the terminal or restart your computer, start Agent Canvas with the same command you used to install it. Keep that terminal or Docker container running while you use the browser UI.
If the UI opens but the backend is disconnected or a model cannot respond, use Troubleshooting to identify the affected part of the stack.

Common Startup Options

If port 8000 is already in use, start Agent Canvas on another port:

Environment Variables

Session Keys And The API-Key Prompt

Agent Canvas uses different credentials for connecting to a backend and accessing a model: A model-provider key will not unlock a local backend. OH_SECRET_KEY is a separate encryption secret for stored settings; do not enter it at the API-key prompt.

Recover When Docker Asks For A Key

The prompt is expected when automatic session-key delivery is disabled. You can authenticate without recreating your settings volume:
  1. In another terminal, run docker ps and find the Agent Canvas container’s ID or name.
  2. If you started it with LOCAL_BACKEND_API_KEY, use that value. Otherwise, retrieve the generated key with the following command, replacing CONTAINER with the ID or name. This works in macOS/Linux shells and PowerShell for the default Docker configuration:
    Keep the printed key private. The generated key lives in the openhands-data volume and is reused when you restart with that volume. If you customized the state directory, use the api-key.txt path that the container logs when it first generates the key.
  3. Open http://localhost:8000/canvas, enter the backend key, and confirm the backend connects. Then configure your model separately in Settings > LLM.
For automatic connection on your own machine, stop the container and rerun the localhost-only Docker command above with the opt-in and the same volume. If the browser retained an old key after you changed the backend key or switched volumes, update the key in the backend connection settings, or open a private browser window and enter the current key.

Configure Your Own Docker Backend Key

To supply a key instead of using the generated one, set LOCAL_BACKEND_API_KEY in your host environment to a strong, unique secret, then add -e LOCAL_BACKEND_API_KEY to docker run. Docker passes the environment value into the container. Supply the same value on subsequent runs; an explicitly configured key takes precedence over the generated key file and does not replace that file. When automatic key delivery is disabled, users must enter this value in the UI. Do not enable automatic delivery to bypass authentication on a shared or public deployment.

Stop Agent Canvas

Return to the terminal running Agent Canvas and press Ctrl+C.

Update Agent Canvas

Stop Agent Canvas, then reinstall the latest package:
Your settings and conversation data are stored outside the package or image: in ~/.openhands for npm and npx, and in the openhands-data volume for Docker. Pulling a new image does not change the volume.
Recover or reset: Use Troubleshooting when the browser is blank, a port is busy, the backend is unreachable, a model or API key fails, or an update or uninstall is stuck. It also explains clean removal and reinstall.

Uninstall Agent Canvas

Stop any running Agent Canvas process, then uninstall the package:
If Windows reports that uv.exe or another file is in use, close terminals running Agent Canvas, stop related processes, and run the uninstall command again.
Uninstalling the package or image does not automatically remove your persisted data. To delete local settings, secrets, and conversation history, remove ~/.openhands for npm and npx, or the openhands-data volume for Docker. If you bound ~/.openhands in an older Docker setup, remove that directory too.

Next Steps