{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreig7jdulisnf765xdhc64nqudkwb3rwdjvuzubvblr3f6tcv52qj4y",
"uri": "at://did:plc:5sgu76a53rz3n6unbykmovqy/app.bsky.feed.post/3mm33gvr2q672"
},
"description": "OpenHands (formerly OpenDevin) is an open-source platform for AI software engineering agents. Unlike Cursor or Windsurf which are IDEs with AI assistance, OpenHands is a platform where AI agents operate autonomously, writing code, executing shell commands, browsing the web, and iterating until a task is complete.\n\n\nHow OpenHands Works\n\nOpenHands runs agents inside isolated Docker containers. The agent has access to:\n\n * A full Linux shell (bash)\n * File system access (scoped to the project direc",
"path": "/engineering-glossary/openhands/",
"publishedAt": "2026-05-17T19:20:52.000Z",
"site": "https://sahilkapoor.com",
"tags": [
"Cursor",
"Windsurf",
"Ollama",
"Mcp Model Context Protocol",
"Argocd",
"Langchain",
"Docker"
],
"textContent": "OpenHands (formerly OpenDevin) is an open-source platform for AI software engineering agents. Unlike Cursor or Windsurf which are IDEs with AI assistance, OpenHands is a platform where AI agents operate autonomously, writing code, executing shell commands, browsing the web, and iterating until a task is complete.\n\n## How OpenHands Works\n\nOpenHands runs agents inside isolated Docker containers. The agent has access to:\n\n * A full Linux shell (bash)\n * File system access (scoped to the project directory)\n * A browser (Playwright-controlled for web interaction)\n * Jupyter notebook execution for Python tasks\n\n\n\nThe isolation ensures the agent can't affect your host system, a key safety property when running autonomous code.\n\n## Agent Architecture\n\nOpenHands uses a planner-executor loop:\n\n 1. User provides a task (e.g., \"implement OAuth login for this Express app\")\n 2. Agent plans steps using an LLM (configurable: Claude, GPT-4o, or a local model via Ollama)\n 3. Agent executes each step: reads files, writes code, runs commands, observes output\n 4. Agent corrects itself when execution fails\n 5. When complete, agent presents the result\n\n\n\n## Resolver and SWE-bench\n\nOpenHands includes a \"Resolver\" agent specialized for GitHub Issues, it clones a repo, reads the issue, implements a fix, and submits a PR. On the SWE-bench benchmark (real GitHub issues from popular repos), OpenHands achieves competitive scores against commercial tools.\n\n## MCP Support\n\nOpenHands integrates with Mcp Model Context Protocol servers, allowing agents to use external tools (databases, APIs, internal services) through a standardized interface. This extends what the agent can do beyond the local filesystem.\n\n## Self-Hosting\n\nOpenHands is MIT-licensed and runs locally or on a server. Teams use it for batch automation, running agents overnight on queues of tasks. Combine with Argocd for GitOps-triggered agent runs, or simply run it via Docker Compose.\n\n## Related Terms\n\n * Cursor, IDE-based alternative with tighter editor integration\n * Mcp Model Context Protocol, protocol OpenHands uses for external tool access\n * Langchain, agent orchestration framework; OpenHands is a complete platform rather than a framework\n * Ollama, run local models as the OpenHands backend\n * Docker, OpenHands runs every agent in a Docker container for isolation\n\n",
"title": "OpenHands",
"updatedAt": "2026-05-18T20:04:05.958Z"
}