Skip to content

01 · Magazine

OpenHands: Open-Source Platform for Coding Agents

OpenHands (formerly OpenDevin) explained: components, getting started with the SDK, typical tasks, costs and comparison with Devin and Claude Code.

· Reviewed

OpenHands is an open-source platform for coding agents. An OpenHands agent works in an isolated environment, reads and changes code, runs commands and tests and can prepare pull requests. The project started in 2024 under the name OpenDevin as an open answer to Devin and was later renamed OpenHands. You can run OpenHands yourself, connect any common language model and build your own agents with an SDK. This article explains its components, how to get started, its strengths and its limitations.

Fact sheet (as of October 2026)

Characteristic Details
License MIT
GitHub around 90,000 stars (as of October 2026)
Languages Python (agent SDK), TypeScript (interface, client)
Models Your choice, e.g. Claude, GPT, Gemini or open models via OpenAI-compatible endpoints
Deployment Local, your own server, OpenHands Cloud or Enterprise in your own VPC
Cloud pricing Individual free for one person with up to 10 conversations per day, with your own API key or model usage at cost; Enterprise on request

The components

Component Purpose
Software Agent SDK Python library (plus TypeScript and REST interfaces) for building your own coding agents with tools for the terminal, files and task planning
Agent Server REST API that runs several agents on one machine or in Docker or Kubernetes environments
Agent Canvas Web interface for starting, observing and controlling agents
CLI Command-line agent based on the SDK, similar to Claude Code or Codex CLI
Automation Server Starts agents on a schedule or in response to events, such as new issues
OpenHands Cloud / Enterprise Hosted version with integrations for GitHub, GitLab, Bitbucket, Slack, Jira and Linear; Enterprise can also be self-hosted

Where the agent runs code depends on the backend you choose: directly on your machine, in Docker containers, on a VM or in the cloud. Only with Docker, a VM or the cloud is execution separated from your system.

Getting started

Starting the interface locally

npm install -g @openhands/agent-canvas
agent-canvas

You need Node.js and uv. Important: this variant starts the agent server directly on your machine, without a sandbox. The agent then has full access to your file system. For isolated execution, use the Docker image or start with OH_CONVERSATION_RUNTIME=docker agent-canvas; each conversation then runs in its own container. After starting it, you enter the model provider and API key in the interface and connect a repository.

Building your own agent with the SDK

import os
from openhands.sdk import LLM, Agent, Conversation, Tool
from openhands.tools.file_editor import FileEditorTool
from openhands.tools.task_tracker import TaskTrackerTool
from openhands.tools.terminal import TerminalTool

llm = LLM(model="<provider/model-name>", api_key=os.environ["LLM_API_KEY"])

agent = Agent(
    llm=llm,
    tools=[
        Tool(name=TerminalTool.name),
        Tool(name=FileEditorTool.name),
        Tool(name=TaskTrackerTool.name),
    ],
)

conversation = Conversation(agent=agent, workspace=os.getcwd())
conversation.send_message("Read the README and write three facts about the project to FACTS.txt.")
conversation.run()

The official documentation describes how to install the SDK and provides further examples. Check the current package names there, since the project's structure has changed several times in recent versions.

Typical tasks

  • Fixing failing tests: The agent runs the tests, analyzes the failure and proposes a fix.
  • Addressing review comments: Comments from a pull request are worked through.
  • Resolving merge conflicts and updating dependencies.
  • Working on issues: Through the GitHub integration or the Automation Server, an agent starts when a new issue with a specific label appears.
  • Implementing small features and scripts from a description.

Strengths

  • Open and self-hostable: MIT license, can run on your own infrastructure.
  • Free choice of model: You use the model that fits your tasks and budget, including open models.
  • SDK for your own agents: You can build OpenHands into your own tools and pipelines as a component.
  • Active community and regular releases.

Limitations

  • Operations take effort: If you do not use the cloud, you have to manage Docker, the sandbox, updates and credentials yourself.
  • Quality depends on the model: With smaller or cheaper models, the success rate drops significantly.
  • Model costs: Long sessions with large repositories consume many tokens.
  • Rapid change: Components and names have changed several times. Older tutorials often no longer apply.

OpenHands compared

OpenHands Devin Claude Code
License MIT Proprietary Proprietary
Self-hosting Yes No Runs locally in the terminal
Model choice Free Set by the vendor Claude models
Building your own agents Software Agent SDK API Claude Agent SDK

You can find a detailed analysis of Devin under Devin AI.

Who is OpenHands for?

  • Development teams that want to use coding agents without handing their code to a third-party cloud
  • Platform teams that want to integrate agents into their own CI pipelines and internal tools
  • Research and teaching, where open, traceable agents matter

If you do not want to run your own infrastructure, OpenHands Cloud or a commercial agent such as Devin or Claude Code is simpler.

Frequently asked questions

Is OpenHands the same as OpenDevin?

Yes. The project started in 2024 as OpenDevin and was later renamed OpenHands.

How much does OpenHands cost?

The software is free (MIT). You pay for model usage with your provider. OpenHands Cloud is free for individuals (up to 10 conversations per day) if you use your own API key or have OpenHands bill model usage at cost. Enterprise offerings are available on request.

Do I need Docker?

Not necessarily, but it is recommended for safe use. The npm installation starts the agent without a sandbox directly on your machine, with full access to the file system. It only runs isolated with the Docker image or with OH_CONVERSATION_RUNTIME=docker. The SDK can also work directly in the local working directory; you should only do either in a non-critical environment.

Sources

Last reviewed:

Market notes

Get the next analysis by email

New articles and changes in the directory, at most once a week.