openhands
OpenHands CLI - Terminal User Interface for OpenHands AI Agent
What it is and what it does
OpenHands is a command-line interface for running an AI agent that can automate software development tasks. It connects to language models (via configurable LLM settings) and executes actions like writing code, running tests, and fixing bugs either interactively in your terminal or headlessly in CI pipelines. The package ships with multiple modes: a terminal UI for interactive development, IDE integration for editors like VSCode and JetBrains, a headless mode for automation, and a web interface for browser-based access.
The agent stores configuration locally under ~/.openhands/ and supports Model Context Protocol (MCP) servers to extend its capabilities. It includes confirmation modes to control whether actions require approval, can be auto-approved, or validated by an LLM-based security analyzer. The package depends on 13 runtime libraries including Textual for the terminal UI, Pydantic for configuration, and the OpenHands SDK and tools packages that provide the core agent functionality.
Use it for:
- Run an interactive AI agent in your terminal to write code, debug issues, or refactor files in real time.
- Integrate OpenHands into CI/CD pipelines to automate code generation, testing, or bug fixes without manual intervention.
- Use headless mode to execute one-off development tasks from scripts or scheduled jobs with JSON output for parsing.
- Connect IDE plugins (Zed, VSCode, JetBrains) to OpenHands for in-editor AI-assisted development.
- Deploy a web-based GUI server to share an AI agent interface across a team or run tasks on OpenHands Cloud.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
OpenHands is a CLI tool that runs an AI agent in your terminal, IDE, browser, or CI pipeline to automate development tasks like writing code, fixing bugs, and running tests.
Yes, if you need an AI agent for development automation and are willing to commit to Python 3.12. The package is actively maintained, has no known vulnerabilities, low install friction, and offers multiple modes (terminal, headless, web, IDE) for different workflows. The strict Python 3.12 requirement is a real constraint—verify your environment supports it before installing.
Install
openhands on PyPI
pip
pip install openhandsuv
uv add openhandspoetry
poetry add openhandsInstalling openhands
Before you install
Low install friction with a pure-Python wheel distribution. Requires Python 3.12 specifically; the package is actively maintained with a recent release.
License in practice
MIT license is permissive and places no restrictions on use, modification, or redistribution in commercial or private projects.
Quickstart
pip install openhands
openhands
# Or in headless mode:
openhands --headless -t "Write unit tests for auth.py"
Requires Python 3.12 exactly (not 3.11 or 3.13); the package pins to 3.12.* only.
Verify before relying
- Whether the 13 runtime dependencies (including textual, pydantic, httpx, and others) are all stable and well-maintained.
- Performance characteristics and resource consumption when running agents locally versus on OpenHands Cloud.
- How the MCP server integration works in practice and what additional setup is required beyond the CLI.
Package facts
| License | MIT (permissive) |
| Python support | capped below the current Python release (==3.12.*) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 13 — agent-client-protocol, httpx, openhands-sdk, openhands-tools, openhands-workspace, pydantic, pyperclip, rich, streamingjson, textual-autocomplete, textual-serve, textual, typer |
| Maintenance | actively maintained — 98 days since the last release |
| First released | |
| Downloads | 1,107,523/month — #4,361 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: openhands-1.16.0-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
kimi-cliKimi CLI is a terminal-based AI agent that…
unclear · top 15,000 on PyPI
openhands-agent-serverProvides a REST and WebSocket API server for…
unclear · top 5,000 on PyPI
openhands-aciProvides tools and interfaces for AI agents to…
permissive · top 5,000 on PyPI
openhands-aiOpenHands is a self-hosted developer control…
permissive · top 5,000 on PyPI
openhands-toolsProvides Python and REST APIs for building AI…
unclear · top 5,000 on PyPI
openhands-sdkOpenHands SDK provides Python and REST APIs for…
unclear · top 5,000 on PyPI
openhands-workspaceProvides Python and REST APIs for building…
unclear · top 15,000 on PyPI
autokerenAn agentic coding CLI with an interactive…
permissive · top 15,000 on PyPI
altimate-datapilot-cliA CLI tool that provides an AI assistant…
permissive · top 15,000 on PyPI
mistral-vibeMistral Vibe is a command-line coding assistant…
permissive · top 5,000 on PyPI