Running OpenHands
System Requirements
- MacOS with Docker Desktop support
- Linux
- Windows with WSL and Docker Desktop support
A system with a modern processor and a minimum of 4GB RAM is recommended to run OpenHands.
Prerequisites
MacOS
Docker Desktop
- Install Docker Desktop on Mac.
- Open Docker Desktop, go to
Settings > Advanced
and ensureAllow the default Docker socket to be used
is enabled.
Linux
Windows
WSL
- Install WSL.
- Run
wsl --version
in powershell and confirmDefault Version: 2
.
Docker Desktop
- Install Docker Desktop on Windows.
- Open Docker Desktop, go to
Settings
and confirm the following:
- General:
Use the WSL 2 based engine
is enabled. - Resources > WSL Integration:
Enable integration with my default WSL distro
is enabled.
The docker command below to start the app must be run inside the WSL terminal.
Start the App
The easiest way to run OpenHands is in Docker.
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.27-nikolaik
docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.27-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.27
You'll find OpenHands running at http://localhost:3000!
You can also connect OpenHands to your local filesystem, run OpenHands in a scriptable headless mode, interact with it via a friendly CLI, or run it on tagged issues with a github action.
Setup
Upon launching OpenHands, you'll see a Settings page. You must select an LLM Provider
and LLM Model
and enter a corresponding API Key
.
These can be changed at any time by selecting the Settings
button (gear icon) in the UI.
If the required model does not exist in the list, you can toggle Advanced
options and manually enter it with the correct prefix
in the Custom Model
text box.
The Advanced
options also allow you to specify a Base URL
if required.
Now you're ready to get started with OpenHands.
Versions
The docker command above pulls the most recent stable release of OpenHands. You have other options as well:
- For a specific release, replace $VERSION in
openhands:$VERSION
andruntime:$VERSION
, with the version number. We use SemVer so0.9
will automatically point to the latest0.9.x
release, and0
will point to the latest0.x.x
release. - For the most up-to-date development version, replace $VERSION in
openhands:$VERSION
andruntime:$VERSION
, withmain
. This version is unstable and is recommended for testing or development purposes only.
You can choose the tag that best suits your needs based on stability requirements and desired features.
For the development workflow, see Development.md.
Are you having trouble? Check out our Troubleshooting Guide.