@gneubig: Claude dynamic workflows seemed pretty cool and I wanted an open-source version, so I made one. This one improves the t…
Summary
OpenHands released an open-source software agent SDK inspired by Claude's dynamic workflows, enabling developers to build agents for code tasks such as test coverage improvement.
View Cached Full Text
Cached at: 05/29/26, 03:36 AM
Claude dynamic workflows seemed pretty cool and I wanted an open-source version, so I made one. This one improves the test coverage of your entire repo, but you should be able to swap out the prompt and do anything else: https://github.com/OpenHands/software-agent-sdk/pull/3426…
OpenHands/software-agent-sdk
Source: https://github.com/OpenHands/software-agent-sdk
OpenHands Software Agent SDK
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="gpt-5.5",
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.
For local development from this repository, run make build to install the workspace dependencies and pre-commit hooks.
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
- Agent Server API Reference - REST API reference for the remote agent server
Examples
The examples/ directory contains comprehensive usage examples:
- Standalone SDK (
examples/01_standalone_sdk/) - Basic agent usage, custom tools, and skills - 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
Skills for modern package tooling
If you enable public skills with AgentContext(load_public_skills=True), the default
OpenHands/extensions marketplace includes, for example, uv and deno skills.
Agents can automatically pick up current package-management guidance for repositories
that use markers like uv.lock, deno.json, deno.jsonc, or deno.lock.
See examples/01_standalone_sdk/03_activate_skill.py for a minimal example that
turns on public skill loading.
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},
}
Thank You to Our Contributors
Trusted by Engineers at
ClaudeDevs (@ClaudeDevs): New in Claude Code (research preview): dynamic workflows.
Claude writes an orchestration script on the fly, then spins up a large fleet of coordinated subagents in parallel to take on your most complex tasks.
Use the word “workflow” in a prompt to get started.
Similar Articles
Creating an open-source version of Claude Dynamic Workflows for any harness or model
The author created an open-source tool called awman that implements Claude's dynamic workflows concept, allowing multiple agents/models to collaborate on tasks with features like leader-designed workflows, shared context, and automated remediation.
@trq212: https://x.com/trq212/status/2061907337154367865
Claude Code releases dynamic workflows, enabling Claude to create custom harnesses for tasks like research, security analysis, agent teams, and code review, all natively within the tool.
@yacinelearning: if you are interested in taking a sneak peek at what might be going on in claude code dynamic workflow feature check ou…
Claude Code introduces dynamic workflows, allowing Claude to write orchestration scripts and spawn coordinated subagents for complex tasks.
@nicht_tintin: Dynamic Workflows. Now in @tintinweb/pi-subagents for @pidotdev . @claudeai Code-compatible. Highly underrated. Thank y…
The release of pi-subagents introduces dynamic workflows and autonomous sub-agents to development environments, compatible with Claude Code for enhanced scriptable agent orchestration.
Open-source agent orchestration for Claude Code & Codex (one-command install)
An open-source agent orchestration tool that enables one-command installation for Claude Code and Codex, allowing users to create agent teams with playbooks and network recall of agents built by other developers.