OpenHands — Open-Source AI Software Developer
Autonomous AI software developer that can write code, run commands, browse the web, and interact with APIs. Formerly OpenDevin. Resolves 53% of SWE-bench Verified tasks. 45,000+ stars.
What it is
OpenHands (formerly OpenDevin) is an open-source autonomous AI software developer. It can write code, execute shell commands, browse the web, interact with APIs, and manage git workflows. The agent operates in a sandboxed Docker environment with full terminal access, making it capable of end-to-end software tasks: from reading an issue to submitting a pull request.
OpenHands targets development teams who want to offload routine coding tasks to an AI agent. It resolves 53% of SWE-bench Verified tasks, demonstrating strong performance on real-world software engineering problems.
How it saves time or tokens
Unlike chat-based coding assistants that suggest code snippets, OpenHands executes the full development cycle autonomously. It reads the codebase, plans changes, writes code, runs tests, and iterates on failures. This eliminates the copy-paste loop between a chat interface and your IDE. The sandboxed environment means the agent can safely try things, check results, and self-correct without risking your development machine.
How to use
- Pull the runtime image and start OpenHands:
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.20
docker run -it --rm \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.20 \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 3000:3000 \
docker.all-hands.dev/all-hands-ai/openhands:0.20
- Open
http://localhost:3000and configure your LLM API key.
- Describe the task and let OpenHands work autonomously.
Example
Giving OpenHands a coding task:
Task: Fix the pagination bug in the /api/users endpoint.
The offset parameter is ignored when limit is set to 0.
OpenHands will:
1. Read the relevant source files
2. Identify the bug in the query builder
3. Write a fix
4. Run existing tests
5. Add a test case for the edge case
6. Create a git commit
Related on TokRepo
- AI Tools for Coding — AI-powered development tools and coding agents
- AI Tools for Agents — autonomous AI agent frameworks
Common pitfalls
- OpenHands requires Docker socket access to create sandboxed environments; this is a security consideration for production machines
- Large codebases may exceed context limits; use workspace filtering to focus the agent on relevant directories
- The agent can execute arbitrary commands in its sandbox; review its actions before applying changes to your main branch
Frequently Asked Questions
OpenHands supports Claude, GPT-4, and other LLMs via API. You configure your preferred model and API key through the web interface. Performance varies by model; stronger models produce better results on complex tasks.
OpenHands runs in a sandboxed Docker container. It cannot access your host filesystem or network beyond what you explicitly mount. Review the agent's proposed changes before merging them into your main codebase.
Claude Code is an interactive CLI where you guide the AI through tasks. OpenHands is more autonomous: you describe a task and it executes the full cycle independently. Claude Code offers more control; OpenHands offers more automation.
SWE-bench Verified is a benchmark of real-world software engineering tasks from popular open-source repositories. Each task involves resolving an actual GitHub issue. OpenHands resolves 53% of these tasks autonomously.
Yes. OpenHands can interact with GitHub through its sandbox, creating branches, committing changes, and opening pull requests. You configure GitHub credentials through the interface.
Citations (3)
- OpenHands GitHub— OpenHands autonomous AI developer
- SWE-bench— SWE-bench Verified benchmark results
- OpenHands Docs— OpenHands documentation
Related on TokRepo
Source & Thanks
Created by All Hands AI. Licensed under MIT.
OpenHands — ⭐ 45,000+
Thanks for building the most capable open-source AI developer.
Discussion
Related Assets
NAPI-RS — Build Node.js Native Addons in Rust
Write high-performance Node.js native modules in Rust with automatic TypeScript type generation and cross-platform prebuilt binaries.
Mamba — Fast Cross-Platform Package Manager
A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.
Plasmo — The Browser Extension Framework
Build, test, and publish browser extensions for Chrome, Firefox, and Edge using React or Vue with hot-reload and automatic manifest generation.