With Python
To run OpenHands in headless mode with Python:- Ensure you have followed the Development setup instructions.
- Run the following command:
config.toml file.
Working with Repositories
You can specify a repository for OpenHands to work with using--selected-repo or the SANDBOX_SELECTED_REPO environment variable:
Note: Currently, authentication tokens (GITHUB_TOKEN, GITLAB_TOKEN, or BITBUCKET_TOKEN) are required for all repository operations, including public repositories. This is a known limitation that may be addressed in future versions to allow tokenless access to public repositories.
With Docker
Set environment variables and run the Docker command:
Note: If you used OpenHands before version 0.44, run mv ~/.openhands-state ~/.openhands to migrate your conversation history.
The -e SANDBOX_USER_ID=$(id -u) is passed to the Docker command to ensure the sandbox user matches the host user’s
permissions. This prevents the agent from creating root-owned files in the mounted workspace.
Additional Options
Common command-line options:-d "/path/to/workspace"- Set working directory-f task.txt- Load task from file-i 50- Set max iterations-b 10.0- Set budget limit (USD)--no-auto-continue- Interactive mode
poetry run python -m openhands.core.main --help for all options.
Set export LOG_ALL_EVENTS=true to log all agent actions.
