Skip to content
OpenSourceSoftware.ai

GitHub stars

92,204
—Awaiting first sync

Awaiting first sync

No measured star history yet

What is OpenHands?

OpenHands is built around Agent Canvas, a browser interface for starting, watching and automating AI coding agents. It runs on your own machine by default, and it can connect to several agent servers at once, such as a laptop for personal work and a shared server for the team.

OpenHands is a self-hosted control center for AI coding agents, called Agent Canvas. In the browser you start conversations with the built-in OpenHands agent, or with Claude Code, Codex and Gemini CLI, and run them on your laptop, in Docker or on your own server. Agents can also run on a schedule or react to GitHub and Slack events.

Core capabilities

  • Run the OpenHands agent, Claude Code, Codex or Gemini CLI from one browser interface.
  • Bring your own model: use any provider key and keep up to 10 saved model profiles.
  • Run agents on a schedule or on GitHub and Slack events, for example to turn issues into pull requests.

One interface for several coding agents

Each conversation keeps its own history, and you can branch one from any message to try another approach. Besides the built-in OpenHands agent, Canvas can drive Claude Code, Codex and Gemini CLI, which use their own subscription login or API key. For the OpenHands agent you bring your own model: any model supported by litellm, with an optional custom base URL. Repository guidance goes in AGENTS.md, and MCP servers add outside tools.

  • Coding agents
  • Bring your own LLM
  • MCP
  • AGENTS.md

Agents that run on a schedule or on events

The agent-canvas launcher includes an Automation Server that starts agents on a schedule or in response to events. Prebuilt templates cover Issue to Pull Request, a GitHub PR Review Assistant, a GitHub Repository Monitor and a Slack Channel Monitor. Automations run on whichever backend is active, so the same template works on a laptop or a shared server.

  • Automations
  • GitHub
  • Slack
  • Pull requests

Run it yourself and keep the licence in mind

Install it with npm (Node.js 24 or later and uv), run the ghcr.io/openhands/agent-canvas Docker image with a mounted projects folder, or give each conversation its own Docker container. By default the agent can reach the whole machine it runs on, so the project's guide asks for a firewall, a strong API key and public mode on any shared server. The repository is MIT licensed with no commercial folder. OpenHands Cloud and Enterprise are separate paid services.

  • Self-hosted
  • Docker
  • MIT
  • Security

Where it fits

Use cases

  1. 01

    Turn issues into pull requests

    Start the prebuilt Issue to Pull Request automation, point it at your repositories and pick a model profile. The agent implements each issue it picks up and creates a pull request for your team to review.

  2. 02

    Get a first review on every pull request

    Set up the GitHub PR Review Assistant from the workflow templates, which connect to GitHub through an MCP server. It reviews pull requests and posts its feedback as a comment before a person looks.

  3. 03

    Share one always-on agent with the team

    Start Agent Canvas in public mode on a small cloud server with a long API key, and put nginx with TLS in front of it. Teammates add that server as a backend from their own Agent Canvas and send it work such as code review and dependency updates.