OpenHands Agent Canvas
A self-hosted control center for coding agents — run OpenHands, Claude Code, Codex, or any ACP agent
- Source repo
- OpenHands/OpenHands
- Stars
- ★ 91k
- Last updated
- today
- License
- MIT
- Primary language
- TypeScript
- FA score
- 76/100 · Good
At a glance
- How it runs
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- Typical use
- Automatically decompose a GitHub issue into tasks and hand them to an agent
- Not a fit if
- Users wanting an out-of-the-box coding assistant; this repo is mainly an orchestration layer
- Teams needing a stable release; the project is beta and mid-migration
- Source review
- 76/100 · Good
What does this agent do, and when should you use it?
OpenHands was originally known as an autonomous software-engineering agent; this repository has since repositioned as Agent Canvas — a self-hosted developer control center for starting agent conversations and automating everyday tasks (like generating a report that publishes to Slack, or decomposing a GitHub issue into tasks). It can run agent backends locally, in Docker, remotely, or in the cloud, and lets you switch between the built-in OpenHands agent, Claude Code, Codex, or any other Agent-Client Protocol (ACP) compatible agent.
Provides a self-hosted console for starting conversations and configuring automation workflows; connects to agent backends running locally, in Docker containers, on VMs, or in the cloud, and integrates with third-party services like Slack, GitHub, Linear, and Notion, triggering automations on a schedule or via webhook events.
- Automatically decompose a GitHub issue into tasks and hand them to an agent
- Generate a recurring report and publish it to a Slack channel automatically
- Self-host on internal company infrastructure to manage multiple agent backends centrally
- Switch between the built-in OpenHands agent and third-party agents like Claude Code, Codex, or Gemini as needed
How do you install or deploy this agent?
This repository is currently mid-migration: the console frontend source now lives in OpenHands/agent-canvas, and the agent/Agent Server source lives in OpenHands/software-agent-sdk. Follow the Self-Hosting section of the official docs (docs.openhands.dev) for current local/VM deployment steps rather than relying on this repo's older install instructions directly.
How do you use this agent?
Once deployed, start a conversation from the console, pick which agent backend to use (built-in OpenHands, Claude Code, Codex, etc.), describe the task, or configure an automation trigger (scheduled or webhook-based) for the console to dispatch to that backend.
What are this agent's strengths and limitations?
- Not locked to a single agent — switch between local, Docker, remote, and cloud backends
- Built-in automation that integrates with common collaboration tools like Slack, GitHub, and Linear
- Large accumulated community (80k+ stars) with a rich ecosystem and discussion history
- Fully self-hostable, suiting teams with data-compliance requirements
- The repository is mid-migration, with source split across newer repos, making it a bit harder to find the current implementation right now
- Positioning has shifted from a single autonomous coding agent to a more general control center — if you just want an out-of-the-box coding assistant, this may not be the most direct choice
- Actual security and effectiveness depend heavily on the specific agent backend you connect; this repo is primarily an orchestration layer
How does this agent compare with similar options?
Unlike single-vendor terminal coding agents such as Claude Code or Codex CLI, OpenHands Agent Canvas positions itself as an "agent orchestration console" — it isn't an agent itself, but a self-hosted interface for managing and dispatching to multiple agent backends plus automation. If you just need a coding assistant you can run in a terminal, Codex CLI or opencode is more direct; if you need unified orchestration and automation across multiple agents and backends, Agent Canvas fits that use case better.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| OpenHands Agent Canvas This agent | 76 · Good | CLIFree + model costs | ★ 91k | today | TypeScript | — |
| Kandev | 74 · Some gaps | CLIFree + model costs | ★ 986 | today | Go | Codex · Claude Code |
| Vicoa | 52 · Major gaps | Desktop appFree + model costs | ★ 518 | 11d ago | Python | Codex · Claude Code |
| Warren | 76 · Good | Self-hosted serviceFree + model costs | ★ 505 | 5d ago | TypeScript | Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: AGENTS.md details telemetry architecture, emphasizing user consent control (setTelemetryConsent) and hard disable (configureTelemetry(false)), and explicitly forbids components from directly calling opt_in/opt_out_capturing, reflecting least privilege. Data flow transparency is high, clearly listing telemetry data flow (PostHog) and event properties. Sensitive data handling: explicitly forbids placing device codes, API keys, etc. in X-OpenHands-Client headers, and limits credential exposure in live E2E. Dependency security: dependabot weekly updates and npm ci in CI, but no vulnerability scanning evidence. External effects: telemetry events and automation behavior are clear, but no user confirmation mechanism for external actions. Rollback: no configuration or state rollback mechanism mentioned. Source attribution: telemetry events attach immutable properties, but code source attribution not addressed. Deductions: rollback mechanism missing, external effects lack user confirmation.
Evidence shows: AGENTS.md is internally consistent, detailing runtime services, test frameworks, and telemetry architecture without contradictions. Dependency availability: runtime packages (sirv, httpxy) and build dependencies are listed, but no availability guarantees. Failure messages: live E2E runner explains missing credentials, but general error handling not covered. Deductions: dependency availability not guaranteed, failure messages limited.
Evidence shows: Audience is clearly developers and self-hosters, scenarios include local, Docker, cloud backends. Capability boundaries clear, distinguishing local vs cloud backends and live E2E vs mock-LLM tests. Trigger precision: live E2E runs only under specific conditions, but no user-trigger mechanism. Environment fit: supports multiple deployment methods (npm, Docker, source, Electron) and provides Windows guide. Deductions: trigger precision not user-interactive.
Evidence shows: Information architecture clear with README, docs, AGENTS.md. Install notes detailed for npm, Docker, source, Windows. Naming stability: version and changelog present, but no naming conventions. Examples and FAQ: quickstart and docs links, but no FAQ. Known limitations: README warns about no-sandbox risks, but not comprehensive. License MIT, clear. Versioning has changelog and release-please, but no detailed changelog. Maintenance responsibility: CI and dependabot, but maintainers not specified. Deductions: naming conventions not specified, FAQ missing, known limitations not comprehensive.
Evidence shows: Output usability: UI and CLI provided, but no output format specification. Marginal value: automation, multi-backend support, but not quantified. Cost-benefit: CI and tests, but no performance data. Deductions: output format not specified, marginal value and cost-benefit lack quantification.
Evidence shows: Claim traceability: AGENTS.md describes test frameworks and CI, but no specific test results. Cross-source corroboration: README and docs, but no independent verification. Fact-inference separation: AGENTS.md distinguishes descriptions and instructions, but inferences not explicitly labeled. Deductions: lack of test results and independent verification.
- The repository includes telemetry with a default PostHog key, which may send data externally; set VITE_DO_NOT_TRACK=1 or configure your own key when deploying.
- Running the agent-server without a sandbox gives the agent full filesystem access, posing a security risk.
- Live E2E tests require LLM credentials and may expose them in CI; ensure fork PRs are skipped.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
1.29.0 (2026-10-20) <!-- Release notes generated using configuration in .github/release.yml at main --> What's Changed Features * feat(backends): show full organization names in the backend selector by @ak684 in https://github.com/OpenHands/OpenHands/pull/18667 * feat(launchers): read public skills from the bundled extensions package by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/18683 * feat(agent-profiles): choose skills per profile from the server catalog by @simonrosenberg in https://github.com/OpenHands/OpenHands/pull/18686 …View on GitHub ↗ -
Release notes excerpt
1.28.1 (2026-10-19) <!-- Release notes generated using configuration in .github/release.yml at main --> What's Changed Maintenance * chore: bump agent-server to 1.56.0 by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/18670 * chore: remove merged PR artifacts by @all-hands-bot in https://github.com/OpenHands/OpenHands/pull/18570 Full Changelog: https://github.com/OpenHands/OpenHands/compare/v1.28.0...v1.28.1 --- …View on GitHub ↗ -
Release notes excerpt
1.28.0 (2026-10-19) <!-- Release notes generated using configuration in .github/release.yml at main --> What's Changed Features * feat(verify-openhands): executable known bugs and a repeatable fix proof by @enyst in https://github.com/OpenHands/OpenHands/pull/18348 * feat(i18n): add Bahasa Indonesia (id) locale by @analisaperlengkapan in https://github.com/OpenHands/OpenHands/pull/18067 * feat: add close control to Getting started checklist by @DevinVinson in https://github.com/OpenHands/OpenHands/pull/18185 …View on GitHub ↗