Skip to main content
Agent Canvas is an open-source control surface for agentic work. It gives you one browser UI for conversations, files, terminal output, model configuration, backends, and automations. By default, Agent Canvas runs on your own machine. You can also connect the same UI to backends running in Docker, on a VM, on Modal, or in OpenHands Cloud.

When To Use Agent Canvas

Use Agent Canvas when you want a self-hosted or local browser UI for agents that can work with real files, terminals, tools, and automations.

How Agent Canvas Works

Agent Canvas has four pieces to understand:
Settings, secrets, LLM configuration, MCP servers, skills, conversations, and automations are scoped to the active backend. Switching backends switches the environment the agent is using.

Choosing A Trust Boundary

Before installing, decide where you want the agent to run and what files it should be able to access.
Agent Canvas can run agents that execute shell commands, read files, write files, and use connected tools. Only connect a backend to files, secrets, and networks that you are willing to let the agent use.

Model Access

Agent Canvas supports several model access patterns:
  • Direct provider key — enter an API key from Anthropic, OpenAI, Google, or another supported provider.
  • OpenHands Cloud key — use an OpenHands Cloud API key for verified hosted models.
  • ACP agent subscription login — use a signed-in provider, such as Claude Code, Codex, or Gemini, when the backend runs on the same machine as that login.
  • Local or OpenAI-compatible provider — connect providers such as Ollama, LM Studio, LiteLLM, or a compatible gateway through model settings.
See LLM Profiles and Model Configuration and ACP Agents for details.

How It Fits With Other OpenHands Products

Before You Start

For the normal local setup, you need:
  • Node.js 22.12 or later
  • npm
  • A model access path, such as a provider API key, OpenHands Cloud LLM key, ACP subscription login, or local model server
  • A folder, repository, or project workspace for the agent to work in
For a sandboxed local setup, use Docker instead of the direct npm backend path.

Where To Go Next