Basic Usage
Global Options
| Option | Description |
|---|---|
-v, --version | Show version number and exit |
-t, --task TEXT | Initial task to seed the conversation |
-f, --file PATH | Path to a file whose contents seed the conversation |
--resume [ID] | Resume a conversation. If no ID provided, lists recent conversations |
--last | Resume the most recent conversation (use with --resume) |
--exp | Use textual-based UI (now default, kept for compatibility) |
--headless | Run in headless mode (no UI, requires --task or --file) |
--json | Enable JSONL output (requires --headless) |
--always-approve | Auto-approve all actions without confirmation |
--llm-approve | Use LLM-based security analyzer for action approval |
--exit-without-confirmation | Exit without showing confirmation dialog |
Subcommands
serve
Launch the OpenHands GUI server using Docker.| Option | Description |
|---|---|
--mount-cwd | Mount the current working directory into the container |
--gpu | Enable GPU support via nvidia-docker |
web
Launch the CLI as a web application accessible via browser.| Option | Default | Description |
|---|---|---|
--host | 0.0.0.0 | Host to bind the web server to |
--port | 12000 | Port to bind the web server to |
--debug | false | Enable debug mode |
cloud
Create a new conversation in OpenHands Cloud.| Option | Description |
|---|---|
-t, --task TEXT | Initial task to seed the conversation |
-f, --file PATH | Path to a file whose contents seed the conversation |
--server-url URL | OpenHands server URL (default: https://app.all-hands.dev) |
acp
Start the Agent Client Protocol server for IDE integrations.| Option | Description |
|---|---|
--resume [ID] | Resume a conversation by ID |
--last | Resume the most recent conversation |
--always-approve | Auto-approve all actions |
--llm-approve | Use LLM-based security analyzer |
--streaming | Enable token-by-token streaming |
mcp
Manage Model Context Protocol server configurations.mcp add
Add a new MCP server.| Option | Description |
|---|---|
--transport | Transport type: http, sse, or stdio (required) |
--header | HTTP header for http/sse (format: "Key: Value", repeatable) |
--env | Environment variable for stdio (format: KEY=value, repeatable) |
--auth | Authentication method (e.g., oauth) |
--enabled | Enable immediately (default) |
--disabled | Add in disabled state |
mcp list
List all configured MCP servers.mcp get
Get details for a specific MCP server.mcp remove
Remove an MCP server configuration.mcp enable
Enable an MCP server.mcp disable
Disable an MCP server.login
Authenticate with OpenHands Cloud.| Option | Description |
|---|---|
--server-url URL | OpenHands server URL (default: https://app.all-hands.dev) |
logout
Log out from OpenHands Cloud.| Option | Description |
|---|---|
--server-url URL | Server URL to log out from (if not specified, logs out from all) |
Interactive Commands
Commands available inside the CLI (prefix with/):
| Command | Description |
|---|---|
/settings | Open the settings configuration menu |
/new | Start a new conversation |
/help | Show all available commands |
/mcp | View MCP server status |
Environment Variables
| Variable | Description |
|---|---|
LLM_API_KEY | API key for your LLM provider |
LLM_MODEL | Model to use |
OPENHANDS_CLOUD_URL | Default cloud server URL |
OPENHANDS_VERSION | Docker image version for openhands serve |
Exit Codes
| Code | Meaning |
|---|---|
0 | Success |
1 | Error or task failed |
2 | Invalid arguments |
Configuration Files
| File | Purpose |
|---|---|
~/.openhands/settings.json | LLM and general settings |
~/.openhands/mcp.json | MCP server configurations |
~/.openhands/conversations/ | Conversation history |
See Also
- Installation - Install the CLI
- Quick Start - Get started
- MCP Servers - Configure MCP servers

