System Requirements

A system with a modern processor and a minimum of 4GB RAM is recommended to run OpenHands.

Prerequisites

Start the App

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.40-nikolaik

docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.40-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.40

You’ll find OpenHands running at http://localhost:3000!

Setup

After launching OpenHands, you must select an LLM Provider and LLM Model and enter a corresponding API Key. This can be done during the initial settings popup or by selecting the Settings button (gear icon) in the UI.

If the required model does not exist in the list, in Settings under the LLM tab, 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.

Getting an API Key

OpenHands requires an API key to access most language models. Here’s how to get an API key from the recommended providers:

Consider setting usage limits to control costs.

Setting Up Search Engine

OpenHands can be configured to use a search engine to allow the agent to search the web for information when needed.

To enable search functionality in OpenHands:

  1. Get a Tavily API key from tavily.com.
  2. Enter the Tavily API key in the Settings page under LLM tab > Search API Key (Tavily)

For more details, see the Search Engine Setup guide.

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 and runtime:$VERSION, with the version number. For example, 0.9 will automatically point to the latest 0.9.x release, and 0 will point to the latest 0.x.x release.
  • For the most up-to-date development version, replace $VERSION in openhands:$VERSION and runtime:$VERSION, with main. This version is unstable and is recommended for testing or development purposes only.

Next Steps