The OpenHands Software Agent SDK is a set of Python and REST APIs for building agents that work with code.
You can use the OpenHands Software Agent SDK for:
- One-off tasks, like building a README for your repo
- Routine maintenance tasks, like updating dependencies
- Major tasks that involve multiple agents, like refactors and rewrites
Importantly, agents can either use the local machine as their workspace, or run inside ephemeral workspaces (e.g. in Docker or Kubernetes) using the Agent Server.
You can even use the SDK to build new developer experiences: it’s the engine behind the OpenHands CLI and OpenHands Cloud.
Get started with some examples or check out the docs to learn more.
Quick Start
Here's what building with the SDK looks like:
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="anthropic/claude-sonnet-4-5-20250929", api_key=os.getenv("LLM_API_KEY"), ) agent = Agent( llm=llm, tools=[ Tool(name=TerminalTool.name), Tool(name=FileEditorTool.name), Tool(name=TaskTrackerTool.name), ], ) cwd = os.getcwd() conversation = Conversation(agent=agent, workspace=cwd) conversation.send_message("Write 3 facts about the current project into FACTS.txt.") conversation.run() print("All done!")
For installation instructions and detailed setup, see the Getting Started Guide.
Documentation
For detailed documentation, tutorials, and API reference, visit:
https://docs.openhands.dev/sdk
The documentation includes:
- Getting Started Guide - Installation and setup
- Architecture & Core Concepts - Agents, tools, workspaces, and more
- Guides - Hello World, custom tools, MCP, skills, and more
- API Reference - Agent Server REST API documentation
Examples
The examples/ directory contains comprehensive usage examples:
- Standalone SDK (
examples/01_standalone_sdk/) - Basic agent usage, custom tools, and microagents - Remote Agent Server (
examples/02_remote_agent_server/) - Client-server architecture and WebSocket connections - GitHub Workflows (
examples/03_github_workflows/) - CI/CD integration and automated workflows
Contributing
For development setup, testing, and contribution guidelines, see DEVELOPMENT.md.
Community
- Join Slack - Connect with the OpenHands community
- GitHub Repository - Source code and issues
- Documentation - Complete documentation
Cite
@misc{wang2025openhandssoftwareagentsdk,
title={The OpenHands Software Agent SDK: A Composable and Extensible Foundation for Production Agents},
author={Xingyao Wang and Simon Rosenberg and Juan Michelini and Calvin Smith and Hoang Tran and Engel Nyst and Rohit Malhotra and Xuhui Zhou and Valerie Chen and Robert Brennan and Graham Neubig},
year={2025},
eprint={2511.03690},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2511.03690},
}
