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 |
--override-with-envs | Apply environment variables (LLM_API_KEY, LLM_MODEL, LLM_BASE_URL) to override stored settings |
--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 |
|---|---|
/help | Display available commands |
/new | Start a new conversation |
/history | Toggle conversation history |
/confirm | Configure confirmation settings |
/condense | Condense conversation history |
/skills | View loaded skills, hooks, and MCPs |
/feedback | Send anonymous feedback about CLI |
/exit | Exit the application |
Command Palette
PressCtrl+P (or Ctrl+\) to open the command palette for quick access to:
| Option | Description |
|---|---|
| History | Toggle conversation history panel |
| Keys | Show keyboard shortcuts |
| MCP | View MCP server configurations |
| Maximize | Maximize/restore window |
| Plan | View agent plan |
| Quit | Quit the application |
| Screenshot | Take a screenshot |
| Settings | Configure LLM model, API keys, and other settings |
| Theme | Toggle color theme |
Changing Your Model
Via Settings UI
- Press
Ctrl+Pto open the command palette - Select Settings
- Choose your LLM provider and model
- Save changes (no restart required)
Via Configuration File
Edit~/.openhands/agent_settings.json and change the model field:
Via Environment Variables
Temporarily override your model without changing saved configuration:--override-with-envs are not persisted.
Environment Variables
| Variable | Description |
|---|---|
LLM_API_KEY | API key for your LLM provider |
LLM_MODEL | Model to use (requires --override-with-envs) |
LLM_BASE_URL | Custom LLM base URL (requires --override-with-envs) |
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/agent_settings.json | LLM configuration and agent settings |
~/.openhands/cli_config.json | CLI preferences (e.g., critic enabled) |
~/.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

