Skip to content
/

OpenHands

openhands · All-Hands-AI/OpenHands · ★ 75k · last commit 2026-05-26

Primitive shape 27 total
Skills 25 Subagents 2
00

Summary

OpenHands — Summary

OpenHands (All-Hands AI) is an AI-driven software development platform with a web GUI, REST API, CLI, and composable Python SDK, built around the CodeActAgent architecture that executes code in a sandboxed Docker container. With 74,000+ stars and a 77.6% SWE-bench score, it is the highest-benchmarked open-source coding agent in this batch. OpenHands ships 25+ "skills" (markdown files with triggers and knowledge for specific tasks: GitHub, GitLab, Kubernetes, code review, security, Docker, etc.) and a .openhands/microagents/ directory for project-specific agents. The platform supports both local GUI (React SPA + FastAPI) and a hosted cloud service at app.all-hands.dev. Sandboxed Docker execution makes it unique: the agent runs code in a container, not on the host machine.

OpenHands differs from all seed frameworks in that it is the most complete "software development platform" in the corpus — not just a CLI tool or behavior layer, but a full stack from SDK to cloud service with Docker sandbox isolation, SWE-bench optimization, and enterprise features (Kubernetes deployment, RBAC, Jira/Slack integration). Seed frameworks like superpowers and BMAD-method are behavior layers on top of Claude Code; OpenHands is a competing agent platform that replaces Claude Code entirely.

01

Overview

OpenHands — Overview

Origin

Created by All-Hands AI (formerly known as the OpenDevin project). Renamed from OpenDevin to OpenHands. The project has academic roots — published as a paper (arxiv.org/abs/2511.03690) and cited at NeurIPS 2024. Backed by institutional investment and used by engineers at major tech companies (TikTok, Netflix, Apple, Google, Amazon, etc.).

Philosophy

OpenHands is designed around the principle that AI agents should operate like human developers: reading code, writing code, running tests, browsing the web, and fixing bugs — all within a sandboxed environment.

From README:

"There are a few ways to work with OpenHands:

  • SDK: composable Python library containing all agentic tech
  • CLI: familiar to Claude Code or Codex users
  • Local GUI: REST API + React SPA, similar to Devin or Jules
  • Cloud: hosted deployment"

The Devin comparison is deliberate — OpenHands positions itself as the open-source equivalent of Devin.

CodeActAgent Architecture

The primary agent (CodeActAgent) represents a key design choice:

  • Agent writes code to implement tasks
  • Code is executed in a Docker sandbox (not on the host)
  • Agent observes execution results and iterates
  • This enables safe execution of untrusted/experimental code

SWE-bench Score: 77.6%

77.6% on SWE-bench verified is exceptional — among the highest of any open-source agent. This benchmark score is front-and-center in the README, indicating academic/research credibility.

Skills System

OpenHands ships 25+ markdown "skills" (knowledge documents with triggers). These are different from slash-commands — they are knowledge injected when specific triggers are mentioned. Examples: github, gitlab, kubernetes, code-review, security, docker, npm, azure_devops.

02

Architecture

OpenHands — Architecture

Distribution

Multiple modes:

# CLI
pip install openhands-ai  # or uvx openhands

# Docker (Local GUI)
docker pull docker.all-hands.dev/all-hands-ai/openhands:0.40
docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.40-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/.openhands-state:/.openhands-state \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.40

Source Layout

openhands/
  server/           # FastAPI REST API
  app_server/       # Application server
  analytics/        # Usage analytics
frontend/           # React SPA (Local GUI)
openhands-ui/       # UI components
skills/             # 25+ skill markdown files
.openhands/
  microagents/
    documentation.md  # Documentation writing microagent
    glossary.md       # Glossary microagent

Container Architecture

OpenHands uses a two-container architecture:

  1. App container: the OpenHands server (openhands:0.40)
  2. Runtime/sandbox container: where agent code actually executes (runtime:0.40-nikolaik)

The sandbox container is isolated from the host. The agent interacts with it via Docker socket.

SDK

Available separately: github.com/OpenHands/software-agent-sdk
Python library for composable agent logic. Used by enterprise and cloud deployments.

Required Runtime

  • Docker (for GUI and sandbox)
  • Python 3.11+ (for CLI/SDK)

Target AI Tools

  • Anthropic Claude (recommended)
  • OpenAI GPT
  • Any OpenAI-compatible endpoint
  • Google Gemini (via Minimax for free tier)
  • Others via LiteLLM
03

Components

OpenHands — Components

Skills (knowledge/trigger documents)

25+ markdown files in skills/. Each has a YAML frontmatter with triggers and optional type.

Skill Triggers Purpose
github.md github, git GitHub API usage, PR creation
gitlab.md gitlab GitLab operations
bitbucket.md bitbucket Bitbucket operations
azure_devops.md azure Azure DevOps operations
code-review.md /codereview Full code review analysis
security.md security Security-focused code review
docker.md docker Docker operations
kubernetes.md kubernetes, k8s Kubernetes operations
npm.md npm npm package management
ssh.md ssh SSH operations
onboarding.md onboarding New user onboarding
agent_memory.md memory Agent memory operations
fix_test.md fix test Fix failing tests
update_test.md update test Update test files
fix-py-line-too-long.md Fix Python line length issues
pdflatex.md pdflatex LaTeX compilation
swift-linux.md swift Swift on Linux
add_agent.md Add new agent
address_pr_comments.md Address PR review comments
add_repo_inst.md Add repository instructions
agent-builder.md Build new agents
update_pr_description.md Update PR description
flarglebargle.md flarglebargle (test/example skill)
codereview-roasted.md Alternative code review style
default-tools.md Default tool usage instructions

Microagents (.openhands/microagents/)

File Type Purpose
documentation.md knowledge Documentation writing with source attribution
glossary.md knowledge Project terminology

Agents (agenthub)

The CodeActAgent is the primary agent. Other agents exist in the agenthub (not visible in public repo contents but referenced in docs).

REST API (FastAPI)

OpenHands server provides REST API for:

  • Conversation management
  • Agent execution
  • File operations
  • Git operations

Local GUI

React SPA at http://localhost:3000 providing:

  • Chat interface
  • File browser
  • Terminal
  • Agent activity monitoring

Enterprise Features (source-available)

In enterprise/ directory:

  • Multi-user support
  • RBAC and permissions
  • Slack/Jira/Linear integrations
  • Conversation sharing
  • Kubernetes deployment
05

Prompts

OpenHands — Prompts

Prompt 1: Code Review Skill

Source: skills/code-review.md — the /codereview triggered skill

Technique: Persona + structured output format + scope constraint + exception handling (release PRs from trusted authors). The longest and most complete skill in the corpus.

---
triggers:
- /codereview
---

PERSONA:
You are an expert software engineer and code reviewer with deep experience in modern programming best practices, secure coding, and clean code principles.

TASK:
Review the code changes in this pull request or merge request, and provide actionable feedback to help the author improve code quality, maintainability, and security. DO NOT modify the code; only provide feedback.

The skill then defines 3 review scenarios, output format with emoji markers, and a critical exception:

RELEASE PR POLICY:
If the PR author is @mamoodi and the PR is a release PR (e.g., version bumps, changelog updates...), and nothing looks suspicious in the diff, approve the PR without requesting changes.

This shows real-world pragmatism: hard-coding a trusted committer bypass for release PRs.


Prompt 2: GitHub Knowledge Skill

Source: skills/github.md

Technique: Tool-usage instructions embedded in knowledge context. The skill explicitly tells the agent HOW to do GitHub operations (use API, not browser).

You have access to an environment variable, `GITHUB_TOKEN`, which allows you to interact with the GitHub API.

<IMPORTANT>
You can use `curl` with the `GITHUB_TOKEN` to interact with GitHub's API.
ALWAYS use the GitHub API for operations instead of a web browser.
ALWAYS use the `create_pr` tool to open a pull request
</IMPORTANT>

The skill then provides explicit git commands for pushing:

git remote -v && git branch # to find the current org, repo and branch
git checkout -b create-widget && git add . && git commit -m "Create widget" && git push -u origin create-widget

Prompt 3: Documentation Microagent

Source: .openhands/microagents/documentation.md

Technique: Epistemic humility enforcement — the agent is forced to cite sources for every fact.

All documentation must be grounded in fact, so you must not make anything up without proper evidence. When you have finished writing documentation, convey to the user what reference source, including web pages, source code, or other sources of documentation you referenced when writing each new fact in the documentation. If you cannot reference a source for anything do not include it in the pull request.

Prompting Techniques Used

  1. PERSONA + TASK separation: Skills clearly separate who the agent is from what it does
  2. Structured output format: Code review uses emoji markers + file path + line number format
  3. Explicit tool constraints: "ALWAYS use the GitHub API" prevents the agent from trying to use a browser
  4. Exception handling in prompt: Trusted-committer bypass for release PRs
  5. Source attribution enforcement: Documentation agent must cite every fact
  6. Trigger-based injection: Skills are injected only when relevant triggers are detected
09

Uniqueness

OpenHands — Uniqueness and Positioning

Differs from Seeds

OpenHands is the most complete "software development platform" in both this batch and the seed frameworks — not just a CLI tool or behavior layer, but a full stack from SDK to cloud service. All seed frameworks (superpowers, BMAD-method, spec-kit, agent-os, etc.) augment how an existing agent (Claude Code) behaves; OpenHands IS the agent platform and replaces Claude Code entirely. The Docker sandbox isolation (execute agent code in a container, not on the host) is unique in the entire corpus — no other framework ships container-level isolation. The 77.6% SWE-bench score is the highest verifiable benchmark score in this research corpus. The 25+ trigger-activated skills (not slash-commands, not methodology documents) represent a novel knowledge injection pattern.

Key Differentiators

  1. Docker sandbox isolation: Agent-executed code runs in a container, not on the host machine. This is the only framework in this batch with true process/filesystem isolation for agent actions.

  2. 77.6% SWE-bench score: Highest verifiable benchmark performance in this corpus. This is an academic/research credential that influences enterprise adoption.

  3. Trigger-activated skills: Unlike slash-commands (explicit invocation) or session hooks (always on), skills inject context when specific keywords are detected. This is more contextually appropriate than always-on injection.

  4. Full platform stack: SDK → CLI → Local GUI → Cloud → Enterprise. The only framework in this corpus with all five deployment modes.

  5. Release PR policy in code review skill: Hard-coding a trusted committer exception in the code review prompt is a pragmatic real-world pattern not found in academic/research-oriented frameworks.

  6. Academic credentials: Published paper, NeurIPS 2024, Princeton/Stanford authorship (indirectly via SWE-bench relationship). The only framework with this level of academic backing.

Observable Failure Modes

  1. Docker complexity: The two-container architecture (app + sandbox) is significantly more complex to set up than simple CLI tools
  2. Enterprise features are source-available, not open-source: The enterprise/ directory requires a license for >1 month use
  3. Skills are knowledge, not automation: The 25+ skills inject knowledge but don't automatically execute tasks — users must still trigger them
  4. Container startup latency: Spinning up a sandbox container per session adds latency vs. in-process execution
  5. Cloud free tier is Minimax model: Free tier uses a specific model that may not match enterprise expectations
04

Workflow

OpenHands — Workflow

Standard Workflow (Local GUI or Cloud)

  1. Connect — open http://localhost:3000 (local) or app.all-hands.dev (cloud)
  2. Configure provider — select Claude, GPT, or other LLM
  3. Request — enter task description
  4. Agent execution loop:
    • Agent writes code
    • Code executed in Docker sandbox
    • Agent observes output
    • Agent iterates until task complete
  5. Review — see agent's actions in activity log
  6. Output — modified files, PRs created, tests passing

CLI Workflow

openhands "Fix the failing tests in the auth module"

Similar to Claude Code usage pattern.

GitHub Integration Workflow

  1. Connect GitHub repository
  2. OpenHands can:
    • Read issues
    • Write code to fix issues
    • Create PRs
    • Review PRs (/codereview trigger)
    • Update PR descriptions

Microagent Trigger Workflow

Skills are triggered by keyword mentions in requests:

  • User says "review this github PR" → github skill context injected
  • User says "/codereview" → code-review.md skill activated

Phases + Artifacts Table

Phase Artifact
Request processing Plan in conversation
Code writing Files in sandbox
Code execution Test/build output
PR creation GitHub/GitLab PR
Code review Structured review comments

Approval Gates

Gate Type Notes
Action confirmation yes-no Configurable per-deployment
PR creation N/A Agent creates PR automatically
"Do NOT mark ready to review unless explicitly asked" human-required Documented in github.md skill
06

Memory Context

OpenHands — Memory and Context

State Storage

State Storage Scope
Conversation history ~/.openhands-state/ Global
Skills skills/*.md Shared, versioned in repo
Microagents .openhands/microagents/ Project
Docker sandbox state Container ephemeral filesystem Session
Cloud sessions Server-side database Global (cloud)

Skills as Triggered Memory

Skills are not loaded into context all at once — they are injected when their triggers appear in user requests. This selective injection:

  • Reduces context overhead
  • Ensures relevant knowledge is available when needed
  • Prevents irrelevant information from polluting context

Docker Sandbox Isolation

Each session runs in a sandbox container (runtime:*). The agent's files and execution exist within the container. At session end, changes are either committed to git (persisted) or discarded (container destroyed).

Cross-Session State

~/.openhands-state/ persists conversation history and settings locally. In cloud mode, server-side database persists state.

Microagents as Project Memory

.openhands/microagents/ provides project-specific knowledge injected for specific task types. The documentation.md microagent is activated when documentation-related tasks are requested.

Context Compaction

Not explicitly documented. The server-side architecture likely implements compaction but it is not surfaced in public documentation.

07

Orchestration

OpenHands — Orchestration

Multi-Agent

Yes via the SDK. The agent-builder.md skill and the Software Agent SDK support composing multiple agents. Enterprise deployments support multi-user, multi-agent setups.

Orchestration Pattern

Sequential by default (single CodeActAgent). The SDK enables more complex patterns.

Isolation Mechanism

Docker container per session. This is the most complete isolation in this entire corpus:

  • Agent code executes in sandbox container (runtime:*)
  • Sandbox is isolated from the host
  • Docker socket mount allows agent to manage the container

This is qualitatively different from git worktrees (other frameworks) — it's full process and filesystem isolation.

Multi-Model

Configurable. OpenHands supports multiple providers via LiteLLM. No built-in per-role model routing but configurable per agent.

Execution Mode

Interactive-loop (GUI/CLI). Event-driven in cloud (triggered by GitHub issues/PRs).

Crash Recovery

The Docker container approach means crashes don't affect the host. The sandbox can be restarted. ~/.openhands-state/ provides session persistence.

Context Compaction

Not explicitly documented for the open-source version.

Consensus Mechanism

None in the open-source version.

Prompt Chaining

Yes via CodeActAgent: the agent writes code, runs it, observes output, and writes more code based on observations. This is an implicit chain where execution output becomes the next prompt context.

08

Ui Cli Surface

OpenHands — UI and CLI Surface

CLI

Name: openhands
Install: pip install openhands-ai or uvx openhands
Similar to: Claude Code or Codex experience (per README)

Local GUI (Web Dashboard)

Available via Docker at http://localhost:3000:

  • Stack: React SPA + FastAPI REST API
  • Similar to: Devin or Jules (per README)
  • Features:
    • Chat interface
    • File browser
    • Terminal (agent's sandbox)
    • Agent activity log
    • Provider configuration

Cloud GUI (OpenHands Cloud)

Hosted at app.all-hands.dev:

  • Free tier via Minimax model
  • GitHub/GitLab account sign-in
  • Source-available features (enterprise features visible in enterprise/ directory)
  • Multi-user support (enterprise)
  • RBAC (enterprise)
  • Slack/Jira/Linear integrations (enterprise)

SDK

github.com/OpenHands/software-agent-sdk — separate repository:

  • Composable Python library
  • Run locally or scale to 1000s of agents in cloud
  • Custom tools, multi-agent teams, connectors, scheduled automations

Observability

  • Activity log (visible in GUI) — every agent action shown
  • GitHub/GitLab integration — PR comments and status checks visible in code platform
  • Cloud: conversation sharing (enterprise)
  • Server logs

Enterprise Deployment

  • Kubernetes deployment (via kind/ directory)
  • RBAC and permissions
  • Slack/Jira/Linear integrations
  • Conversation sharing
  • Self-hosted enterprise via VPC

Related frameworks

same archetype · same primary tool · same memory type

Claude-Flow / Ruflo ★ 55k

Eliminates single-agent context limits and sequential bottlenecks by orchestrating fault-tolerant swarms of specialized AI agents…

Hermes Agent (NousResearch) ★ 168k

Self-improving personal AI agent with closed learning loop, 7 terminal backends, and messaging gateway — not tied to any AI…

OpenCode ★ 165k

Terminal-first AI coding agent with multi-model routing, native desktop app, and a typed .opencode/ configuration system for…

DeerFlow ★ 70k

Long-horizon superagent that researches, codes, and creates by orchestrating parallel sub-agents with isolated contexts in Docker…

oh-my-openagent (omo) ★ 60k

Multi-provider AI agent orchestration for OpenCode: escape vendor lock-in by routing Sisyphus (Claude/Kimi/GLM) and Hephaestus…

gpt-engineer ★ 55k

ARCHIVED — the original LLM-driven code generation experiment that generates entire applications from a prose specification file.