Agent Canvas is in Beta. Expect the install path, packaging, and some UI details to keep evolving.
Why Agent Canvas
- One UI to drive any agent: run conversations with OpenHands, Claude Code, Codex, or Gemini CLI through the same browser interface.
- Bring your own LLM: connect Anthropic, OpenAI, Google, or any OpenAI-compatible provider. Switch models per conversation.
- Built-in automations: schedule cron jobs or wire up event-driven workflows against GitHub, Linear, Slack, and custom webhooks.
- Run it anywhere: a single
agent-canvascommand starts the full stack locally. Self-host on a VM, or connect to OpenHands Cloud.
Key Concepts
| Concept | What It Means |
|---|---|
| Agent Canvas | A UI and backend server for running agents and automations. The agent-canvas command starts both together. |
| Backend | Any Canvas UI can securely connect to any Canvas backend: running locally, on a remote machine, or on OpenHands Cloud. Register multiple and switch between them. |
| Conversation | A single agent session tied to a backend. Each conversation has its own message history, tool calls, and file changes. |
| Automation | A workflow that runs on a cron schedule or in response to events from GitHub, Linear, Slack, or custom webhooks. Automations may start agent conversations as needed. |
How It Fits with Other OpenHands Products
- Agent Canvas: the recommended browser-based UI for running OpenHands locally or self-hosted.
- Local GUI (Legacy): legacy UI requiring Docker.
- OpenHands Cloud: a fully managed version of OpenHands.
- OpenHands SDK: the Python framework behind the agent system.
Where to Start
- Install — Use the published npm package to run Agent Canvas from your terminal.
- Connect and Manage Backends — Switch between local and remote backends.
- Customize and Settings — Configure skills, MCP servers, and backend-synced settings.
- Setup a Pre-built Automation — Get started with a ready-made automation workflow.
- VM / Self-Hosted Backend — Run a backend on a VM and connect remotely.

