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.
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 anduv, 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.
<version> in the filenames below with the release version. Older builds are on the releases page.
macOS
- Download
OpenHands-Agent-Canvas-<version>-universal.dmgfrom the latest release assets. - Open the disk image and drag OpenHands Agent Canvas to Applications.
- Launch OpenHands Agent Canvas from Applications.
uv for both Apple silicon and Intel Macs.
Windows
- Download
OpenHands-Agent-Canvas-Setup-<version>.exefrom the latest release assets. - Run the installer. If Windows SmartScreen prompts you, confirm that the installer came from the official OpenHands release before continuing.
- 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 withchmod +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: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.- npm
- Docker
- npx
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
- npm
- Docker
- npx
- From Source
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:- Open
http://localhost:8000. - Confirm the default local backend shows as connected.
- Open
Settings > LLMand configure a model. - Choose
Open Workspacebefore starting a conversation if you want the agent to work in a specific folder. - Return to the home screen and start a conversation.
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.- npm
- npx
- Docker
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:-
In another terminal, run
docker psand find the Agent Canvas container’s ID or name. -
If you started it with
LOCAL_BACKEND_API_KEY, use that value. Otherwise, retrieve the generated key with the following command, replacingCONTAINERwith 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 theopenhands-datavolume and is reused when you restart with that volume. If you customized the state directory, use theapi-key.txtpath that the container logs when it first generates the key. -
Open
http://localhost:8000/canvas, enter the backend key, and confirm the backend connects. Then configure your model separately inSettings > LLM.
Configure Your Own Docker Backend Key
To supply a key instead of using the generated one, setLOCAL_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
- npm
- npx
- Docker
Return to the terminal running Agent Canvas and press
Ctrl+C.Update Agent Canvas
- npm
- npx
- Docker
Stop Agent Canvas, then reinstall the latest package:
~/.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
- npm
- npx
- Docker
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.~/.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.

