mrkeyoor.com_
Sat 31 Oct 15:01 UTC
LLM Toolsevaluationupdated 25 Oct 2026

OpenHands review

OpenHands Agent Canvas is a browser interface for managing coding agents across local, remote, and cloud backends. Its README describes support for OpenHands and external ACP agents, with a separate automation service for scheduled and event-triggered work. Our recorded run checked repository dependency installation, a build, and an unfinished test command; it did not verify a working agent deployment.

+465stars / 7d
Verdict

OpenHands Agent Canvas is worth evaluating when managing agents across several execution backends solves a specific workflow problem. Our October 14, 2026 run at commit 0e9ce19 completed dependency installation and a build, but left tests unfinished at the 900-second cutoff. It did not establish deployment readiness or coding performance. Before adoption, verify the launcher in the documented environment, reconcile the dependency and audit records, and assess the documented filesystem and browser-key boundaries. The timeout alone does not show that the product is broken.

We ran it

Lab card: what happened when we ran OpenHandsScreenshot of OpenHands (openhands.dev)
Install✓ · 47s1959 packages · 1057 MB
Build✓ · 24s
Tests✗ timed out · 900sran, no count parsed
Known vulns422 critical · 19 high · 18 moderate · 3 low (npm audit)
Repo2650 files~416,090 lines of source · 22.5 MB · 20 CI workflows · tests dir

Answers from our run

Does OpenHands build from source?

Dependencies installed in 47 seconds (1959 packages), and the build succeeded in 24 seconds. We cloned commit 0e9ce19 into a clean Debian container with 3 CPUs and no project-specific setup.

Do OpenHands's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Does OpenHands have known vulnerabilities in its dependencies?

npm audit flagged 42 known advisories in the dependency tree, including 2 critical at the time of our run.

Who should not use OpenHands?

Developers expecting the direct launcher to restrict the agent's access to the host filesystem.

What are the alternatives to OpenHands?

Aider, Cline. OpenHands Agent Canvas is worth evaluating when managing agents across several execution backends solves a specific workflow problem.

Setup2/5Dependency installation and build completed at commit 0e9ce19 on October 14, 2026. CLI launch, backend connectivity, credentials, and a usable agent workflow remain unverified.
Docs4/5The supplied README, self-hosting guide, and ACP guide give specific prerequisites, authentication rules, workspace-sharing limits, and browser-key warnings. This rates documentation specificity, not verified execution of every instruction.
Community2/5The README provides GitHub issue and Slack support routes. The supplied evidence does not measure response times, active contributors, or successful support outcomes, so participation remains uncertain.
Maturity2/5The recorded build passed, but tests ended at a 900-second timeout and no operational coding workload was checked. The rating reflects limited operational evidence, not a conclusion that the timeout proves a product defect.

Discussed on

  1. hnShow HN: OpenHands, an open source alternative to Devin, Codex, and Jules11 points

Who it’s for

Developers who need a shared browser interface for agents running on different machines.
Teams prepared to manage Agent Servers, provider credentials, backend keys, and separate workspaces.
Engineers evaluating scheduled or webhook-triggered agent work who can operate the automation service.

Who it’s NOT for

Developers expecting the direct launcher to restrict the agent's access to the host filesystem.
Teams expecting separate conversation containers to prevent conflicting edits in a shared workspace.
Operators requiring registered backend keys to be unreadable by scripts on the Canvas browser origin.
Users treating our successful repository build as verification of CLI installation, agent authentication, or completed coding work.
Users expecting Pi and OpenCode on OpenHands Cloud: the supplied ACP guide limits those providers to local or self-hosted backends.

Setup reality

In our recorded run on October 14, 2026, at commit 0e9ce19, the dependency-install step completed in 47 seconds and the build completed in 24 seconds. The test command timed out at 900 seconds with exit code 124. Passing jsdom cases appear in its tail, but there is no final suite result or established cause for the timeout.

The stored dependency summary records 1,959 packages and 1,057 MB. That is not the number npm reported adding: the install tail says it added 1,379 packages. The stored npm audit summary reports 42 findings: 2 critical, 19 high, 18 moderate, and 3 low. The install-time tail separately reports 40. These records have not been reconciled, and audit coverage is unknown. Neither the dependency count nor an install-tail count establishes the scope of the stored audit result.

The recorded environment has 3 CPUs, 8 GB of RAM, and image label lab-node:22. That label does not establish the actual Node.js runtime version; the detector's nodeMajor value of 24 is not a runtime-version check either. Both the commit README and current README require Node.js 24 or later and uv for the direct launcher. The current source instructions additionally specify npm 11.12.1 and npm ci. These current instructions do not describe a new run of the measured commit.

No installed-binary check, running-stack check, authenticated agent session, Docker isolation test, or completed coding workload is recorded. Dependency installation and a successful build establish only those completed steps.

A successful build leaves the agent workflow unverified

OpenHands Agent Canvas can put agents running on different machines behind one browser interface. Our recorded build succeeded, but we did not verify that interface operating an authenticated agent or completing a coding task. That distinction matters if you are using this review to decide whether to deploy it.

The README describes Canvas as the control center, with execution handled by the Agent Server and scheduled or event-triggered work handled by the automation service. These are documented capabilities, rather than outcomes demonstrated by our run.

What our October 14 run established

Our stored run began on October 14, 2026, at 03:46:21 UTC and checked commit 0e9ce191390f535347ff17055038c45eeef3fedf. Its install output identifies @openhands/agent-canvas@1.27.1. The recorded container configuration has 3 CPUs, 8 GB of RAM, and image label lab-node:22.

Recorded step Result Limit
Repository dependency installation Completed in 47 seconds, exit 0 Does not establish that the published CLI was installed or launched
Build Completed in 24 seconds, exit 0 Does not establish a working Agent Server or authenticated agent
Test command Timed out at 900 seconds, exit 124 No final suite result or verified exhaustive test count

The test tail contains passing jsdom cases, including backend conversation storage and Docker runtime package checks. Those are test-output observations, not evidence that we ran a Docker deployment. The tail does not explain why the command exceeded the cutoff. It could not establish a complete suite pass, and the timeout does not diagnose a product defect.

No installed-binary check, running-stack check, authenticated conversation, or completed coding workload is recorded. There is no measured task speed, model quality, or deployment reliability result here.

Footprint and audit figures need separate labels

The stored summary records 1,959 dependency packages and 1,057 MB. The raw install tail instead says npm added 1,379 packages. We retain the stored footprint measurement without describing it as the number of packages downloaded or added. The supplied record does not reconcile the two counting scopes.

The stored npm audit summary reports 42 findings: 2 critical, 19 high, 18 moderate, and 3 low. The install-time output separately reports 40 findings, including 1 low. These observations come from different parts of the record; we cannot explain the difference from the supplied evidence. Audit coverage is unknown, and the record provides no advisory identities or dependency paths for assessing deployment exposure. These findings do not establish 42 exploitable flaws in Canvas.

The repository scan records 2,650 files, about 416,090 lines of source, and 22.5 MB, plus 20 CI workflow files and a tests directory. It detected no Dockerfile or Compose file. That scan does not establish the absence of upstream Docker support: the README documents Docker launch options.

Follow the launcher requirements, then verify the runtime

The README at the measured commit requires Node.js 24 or later and uv for the direct npm launcher. The current README retains those requirements and adds npm 11.12.1 and npm ci to its source-development instructions. It explicitly distinguishes contributor dependency resolution from installation of the published Canvas package.

Our image label, lab-node:22, does not prove which Node.js executable ran. The detector's nodeMajor value of 24 also does not substitute for a recorded runtime-version command. The successful build therefore establishes neither compatibility with Node.js 22 nor verification of the documented launcher environment.

The ACP guide explains that the Agent Server starts an external agent's CLI and supplies its credentials. A local provider login can be reused; a fresh container generally needs credentials supplied explicitly. OpenCode's documented free-model path is an exception. The guide also limits Pi and OpenCode to local or self-hosted backends, including Docker, rather than OpenHands Cloud.

For an evaluation, first confirm the required runtime and launcher, then check backend connectivity and authentication with a disposable project. Those are proposed next steps, not checks completed in our run.

Separate containers can still share project files

The README warns that the direct launcher gives the agent full access to the host filesystem. Its multiple-sandbox option places each new conversation's execution in a separate container, while Canvas and the outer Agent Server remain on the host.

Conversations mounting the same host workspace still share its files. Use separate directories or worktrees when agents need independent checkouts. Container separation alone does not prevent conflicting edits, and our run did not test the isolation of any deployment mode.

Browser origin is a separate access boundary

The self-hosting guide warns that the bundled OpenVSCode editor shares Canvas's browser origin. It says scripts running on that origin can read localStorage containing session API keys for registered backends. This is an upstream-documented design concern, not a security finding from our sandbox.

The guide recommends restricting network access and using an explicit backend key with public mode for exposed installations. Those controls govern access to the service; they do not isolate scripts sharing a browser origin. Evaluate that storage boundary before registering sensitive backends. Keep this concern separate from the dependency audit totals, whose affected paths are not supplied.

Choose the interface you need

Aider's README describes terminal pair programming, codebase mapping, and automatic Git commits. It is a relevant option when your main need is making and reviewing repository changes through a terminal workflow.

Cline's README describes editor integrations with reviewable diffs and command approval, alongside CLI and desktop options. Choose its editor integration when that is where you want to review agent work. Its auto-approve option means human approval is configurable.

These are workflow comparisons from their primary documentation, not comparative test results. Canvas has a clear reason to evaluate when switching execution backends and operating automations are part of the requirement. Our measurements do not establish that it performs those tasks better than either alternative.

How to read the scores

These are editorial evidence ratings, not benchmarks. Setup ease rates the work needed to reach a verified usable workflow; docs rates the specificity of the supplied operating guidance; community rates demonstrated support and participation; maturity rates evidence of dependable operation. On each scale, 1 means little supporting evidence or major unresolved work, 2 means substantial uncertainty, 3 means useful evidence with material limits, 4 means strong evidence with bounded gaps, and 5 requires broad corroboration. Unknown adoption or compatibility earns no extra credit.

Setup ease is 2/5 because dependency installation and a build completed, while the running stack remains unverified. Docs is 4/5 because the supplied guides explain prerequisites, credentials, workspace sharing, and browser-key exposure. Community is 2/5 because contribution and support routes are documented, but their responsiveness and participation were not measured. Maturity is 2/5 because this evaluation lacks a complete test result and an operational workload check. The timeout is an evidence limit, not proof of faulty software.

Before committing a valuable workspace, reproduce setup with recorded runtime versions, obtain a complete test result, investigate the audit findings against your dependency paths, and verify an authenticated task in the deployment mode you intend to use.

Alternatives

ProjectWhat it isPick it when
Aider gh↗Terminal pair programming with codebase mapping and Git integration.Choose Aider when terminal pair programming and Git-based review of changes fit your workflow. Its README describes automatic commits and familiar Git tools for inspecting and undoing changes; we did not test it here.
Cline gh↗A coding agent available through editor integrations, a CLI, and a desktop app.Choose Cline's editor integration when reviewing edit diffs and controlling command approval inside your editor are the priority. Its README also documents auto-approval, so approval behavior depends on configuration. We did not test it here.

What people are saying

  1. [github-trending] OpenHands/OpenHands

Sources

  1. OpenHands Agent Canvas README
  2. Agent Canvas self-hosting guide
  3. ACP agents and authentication
  4. Canvas backend keys in origin-readable localStorage, issue 16492
  5. OpenHands v1.27.1 release
  6. OpenHands repository facts and activity
  7. Aider README
  8. Cline README

More llm tools reviews

ironclaw · infinity · Claude-Code-Game-Studios · OmniRoute · harnessrouter · pi-subagents · the whole board →

Related reading