Cloud coding agents that solve 87% of bug tickets same day. 77.6% SWE-bench Verified. New software-agent-sdk v1.0 architecture.
OpenHands
activeCategory leader in multi-agent orchestration — 69,352 stars (verified), $18.8M Series A, AMD hardware partnership, 455 contributors, 1M downloads/month PyPI (3.4M all-time). SWE-Bench Verified 72% with Claude 4.5 Extended Thinking (updated 2026-03-19), Multi-SWE-Bench #1 across 8 languages. Gap to #2 is enormous on every axis.

Where it wins
68,800+ stars (verified), 455 contributors — largest open-source community by 10x
4M+ downloads, accelerating
$18.8M Series A (Madrona-led) + AMD Lemonade collaboration
ICLR paper accepted 2025 — peer-reviewed research backing
MIT license, model-agnostic, self-hostable — only serious option for air-gapped deployment
Planning Agent v1.5.0 (Mar 2026) — Plan/Code mode toggle
Biweekly releases (v1.5.0 on 2026-03-11)
Where to be skeptical
SWE-bench Verified 43.2% (CodeAct) — significant gap below closed-source leaders
No disclosed revenue or paying customer count
HN engagement low (<100 pts) compared to peers — 69K stars don't translate to developer mindshare
Enterprise adoption evidence thin beyond logo slides
Development velocity plateaued relative to Codex CLI (896/mo) and Gemini CLI (709/mo)
Editorial verdict
Category leader. No other tool has the combination of open-source community (69K stars, 455 contributors), real download volume (1M/month), venture backing ($18.8M), hardware partnerships (AMD), and benchmark leadership (SWE-bench Verified 72%). Gap to #2 is enormous.
Source
Videos
Reviews, tutorials, and comparisons from the community.
OpenHands + Devstral = A Fully Local Coding Agent
Build Apps With Prompts! - OpenHands
OpenHands: Open-source AI Software Development Agents
OpenHands: AI Software Engineer - Generate Complex Apps
OpenHands: BEST AI Software Engineer
Related
Coding CLIs / Code Agents
Sandboxed agent execution, security-conscious environments, model flexibility without vendor lock-in
Teams of Agents / Multi-Agent Orchestration
End-to-end autonomous coding platform — self-hostable, model-agnostic, enterprise-validated
Software Factories
Regulated industries needing on-prem/air-gapped deployment with MIT-licensed, model-agnostic agents

Claude Code
98Anthropic's official agentic coding CLI. v2.1.81 (Mar 20) shipped `--bare`, smarter worktree resume, and improved MCP OAuth while the repo crossed 82,204 stars and logged ~14 commits/week across 10+ maintainers. Terminal-native, tool-use-driven, with deep file system + shell access, #1 SWE-bench Pro standardized (45.89%), ~4% of GitHub public commits (SemiAnalysis), $2.5B annualized revenue. 8M+ npm weekly downloads. Opus 4.6 with 1M context.
LangGraph
95#1 Python agent framework by production evidence — 40.2M PyPI downloads/month, Fortune 500 deployments (LinkedIn, Uber, Replit, Elastic, Klarna, Cloudflare, Coinbase), ~400 LangGraph Platform companies, LangSmith rated best-in-class observability. Stable v1.x API, model-agnostic, MCP support.
Pydantic AI
95#3 Python agent framework by downloads — 15.6M PyPI/month. Built by the Pydantic team. Runtime type enforcement is a genuine differentiator no other framework offers. V1 shipped with Temporal integration for durable execution and Logfire observability. Emerging pattern: 'Pydantic AI for agent logic, LangGraph for orchestration' (ZenML).
AutoGen (Microsoft)
95⚠️ MAINTENANCE MODE — Microsoft officially confirmed bug fixes and security patches only, no new features (VentureBeat 2026-02-19). 55.9K stars but only 1.57M PyPI/month — DL/star ratio of 28, the most inflated among active frameworks. Being replaced by Microsoft Agent Framework (AutoGen + Semantic Kernel merge, GA targeted ~Q2 2026). Teams on AutoGen should plan migration.
Public evidence
Only multi-agent platform with a major hardware vendor partnership for local inference. Advances agent performance and enterprise readiness utilizing AMD Lemonade Server.
Engineers at AMD, Apple, Google, Amazon, Netflix, TikTok, NVIDIA, Mastercard, and VMWare have cloned or forked the repository. Series A gives runway for cloud product development.
Early enterprise adopters report reducing code-maintenance backlogs by up to 50% and cutting vulnerability resolution times from days to minutes. Transition from research tool to production platform.
Listed among top 18 open-source AI agent projects by GitHub stars. Positioned as the leading autonomous software engineering agent.
Peer-reviewed conference paper at ICLR 2025. Evaluated across 15 benchmarks including SWE-bench and WebArena. Documents 2.1K+ contributions from 188+ contributors.
One tester reports agent completed half a test-writing task but cost $50 in API credits. Maintainer acknowledges it's 'useful for a handful of one-off tasks' but not yet mission-critical.
Tested on real project (Quarto blog migration). Found it effective but not fully autonomous — 'saved me time and mental energy' but needed 'a bit of human guidance.' Transparent about both strengths and limitations.
Used OpenHands as scaffolding framework to generate 67K trajectories for fine-tuning. Describes OpenHands as 'one of the most widely adopted open-source agent scaffolding frameworks.' Achieved 61.7% SWE-bench Verified.
Head-to-head comparison. OpenHands wins on enterprise features (RBAC, audit logs, CI/CD), web UI, and team collaboration. SWE-agent wins on benchmark credibility and academic foundation.
Stars confirm community traction far beyond any competitor in the autonomous coding category. Consistently ranked #1 open-source Devin alternative across multiple independent roundups.
Raw GitHub source
GitHub README peek
Constrained peek so you can sanity-check the source material without leaving the site.
<a name="readme-top"></a>
<div align="center"> <img src="https://assets.openhands.dev/logo-whitebackground.png" alt="OpenHands logo" width="340"> <h1 align="center" style="border-bottom: none">Agent Canvas</h1> <p align="center"> <strong>The self-hosted developer control center for coding agents and automations.</strong> </p> <p align="center"> Run OpenHands, Claude Code, Codex, Gemini, Pi, OpenCode, or any ACP-compatible agent across local, remote, and cloud backends. </p> </div> <div align="center"> </div> <div align="center"> <a href="#quickstart">Quickstart</a> | <a href="./docs/README.md">Docs</a> | <a href="./docs/SELF_HOSTING.md">Self-Hosting</a> | <a href="https://docs.openhands.dev/openhands/usage/agent-canvas/acp-agents">ACP Agents</a> | <a href="https://docs.openhands.dev/openhands/usage/agent-canvas/prebuilt-automations">Automations</a> | <a href="https://go.openhands.dev/slack">Slack</a> </div> <p align="center"> <img src="https://assets.openhands.dev/screenshot/automation-preview.png" alt="Agent Canvas automation preview" width="100%"> </p> <hr>OpenHands Agent Canvas turns your coding agents into a self-hosted, always-on engineering team. It's a developer control center for starting conversations and automating everyday tasks — like generating reports that publish to Slack or automatically decomposing GitHub issues into tasks.
It runs locally on your machine by default, but can connect to multiple “agent backends”, e.g. running agents in Docker containers, on VMs, or within your company infrastructure. You can optionally choose to run agents on OpenHands Cloud or OpenHands Enterprise infrastructure.
Agent Canvas runs the open source OpenHands agent out-of-the-box, but can use third-party agents such as Claude Code, Codex, Gemini CLI, Pi, and OpenCode.
| Self-host your way | Run agents locally, in Docker, on VMs, or anywhere you can run an agent server backend |
| Switch between different backends | Switch between local, remote, and cloud agents without losing focus |
| Create automations | Create automations and workflows that integrate with Slack, GitHub, Linear, and more. Run on a schedule or in response to webhook events |
| Integrate with the tools you use | Connect your automations with third-party services like Slack, GitHub, Notion, and more to automate workflows |
| Bring your own model | Use with any LLM |
| Use with any agent | Use with OpenHands, Claude Code, Codex, Gemini, Pi, OpenCode, or any agent with Agent-Client Protocol (ACP). |
If you have questions or feedback, please open a GitHub issue or join the #proj-agent-canvas channel in Slack.
Quickstart
You can install OpenHands to run agents on any machine: on your laptop, on a dedicated computer like a Mac Mini, or on a server in the cloud.
The most powerful way to run OpenHands is on a server in the cloud. This allows your agents to continue running even when your laptop is shut, and makes it easier to trigger your agents through third-party services like Slack, GitHub, and Datadog. See SELF_HOSTING.md for details, especially with respect to security hardening.
Notably, you can run the backend in multiple different environments, and switch between them from the same Agent Canvas frontend. E.g. you can share an Agent Server with your team for agents doing code review and dependency updates, then have your personal agents running on your laptop.
Option 1: Without a Sandbox
[!WARNING] This runs the agent-server directly on the machine you're installing on — the agent will have full access to your filesystem!
Prerequisites: Node.js 24 or later, uv
npm install -g @openhands/agent-canvas
agent-canvas
The agent-canvas command starts the full local stack by default. You can also split it when you want to run pieces separately:
agent-canvas --frontend-only # static frontend + ingress only
agent-canvas --backend-only # agent server + automation backend + ingress only
Option 2: With a Docker Sandbox
Prerequisites:
- Docker: Docker Desktop on macOS/Windows, or Docker Engine/Docker Desktop on Linux.
- A host directory for
PROJECTS_PATHcontaining the project folders you want the agent to access. Create it before starting the container.
macOS / Linux:
export PROJECTS_PATH="$HOME/projects" # directory containing your project folders
mkdir -p "$PROJECTS_PATH" "$HOME/.openhands"
docker run -it --rm \
-p 127.0.0.1:8000:8000 \
-e AGENT_CANVAS_ALLOW_LAN_SESSION_KEY=true \
-v "$HOME/.openhands:/home/openhands/.openhands" \
-v "${PROJECTS_PATH}:/projects" \
ghcr.io/openhands/agent-canvas:1.27.1 # x-release-please-version
Windows (PowerShell / Windows Terminal): See README.windows.md for the equivalent commands.
The agent will be able to access any project under PROJECTS_PATH.
Option 3: With Multiple Docker Sandboxes
Run each new conversation in its own Docker container, with its own Agent Server and tools. This is useful for running several agents concurrently. Canvas and the outer Agent Server run on your host and route conversation requests to the containers.
Prerequisites: Node.js 24 or later, uv, and a running Docker Desktop (macOS) or Docker Engine/Desktop (Linux). The user starting Canvas must be able to run docker commands.
macOS / Linux:
npm install -g @openhands/agent-canvas
OH_CONVERSATION_RUNTIME=docker agent-canvas
Open http://localhost:8000 and start a new conversation. Existing local conversations are not converted. Each container mounts its conversation's workspace and persisted state, so workspace files and conversation history survive container replacement. Conversations using the same host workspace still share those files; choose separate directories or worktrees to avoid conflicting edits.
This setting isolates conversation execution; it does not move the entire Canvas or automation service into a sandbox. For Windows, see README.windows.md.
Option 4: From Source
[!WARNING] This runs the agent-server directly on the machine you're installing on — the agent will have full access to your filesystem!
Prerequisites: Node.js 24 or later, npm, uv (for running the agent server via uvx)
git clone https://github.com/OpenHands/OpenHands.git
cd OpenHands
npm install
npm run dev
Access the UI at http://localhost:8000 for the npm/source launchers, or http://localhost:8000/canvas for the Docker image. You can add additional backends directly from the UI.
Local (npx / npm run dev) listeners bind loopback only (127.0.0.1) so the auto-injected session key is not reachable from other machines on the network. To listen on all interfaces, pass --host 0.0.0.0 (or set OH_BIND_HOST); the session key is then not injected and the UI uses the same API-key entry screen as --public.
Docker listens on all container interfaces so port publishing works, but does not inject its session key into HTML by default. The quickstart above explicitly enables injection while publishing the host port on 127.0.0.1 only. If you publish Docker on a LAN or public interface, omit AGENT_CANVAS_ALLOW_LAN_SESSION_KEY and enter the API key in the UI. Set LOCAL_BACKEND_API_KEY to a strong value, or retrieve the generated value with docker exec <container> sh -c 'cat "$STATE_DIR/api-key.txt"'. For internet-facing installs, follow self-hosting.