Skip to main content

Installation

Choose an installation method based on your needs:

MethodWhen to use
DockerRuns in an isolated container, separated from your host system.
Bare MetalThe AI works directly on your machine, on your real files, tools, and environment.
Docker ComposeYou already run Open WebUI with Docker Compose and want to add Open Terminal to it.

Select your method below, then follow the steps.

Requires Docker.

1. Start the container

docker run -d \
  --name open-terminal \
  --restart unless-stopped \
  -p 8000:8000 \
  -v open-terminal:/home/user \
  -e OPEN_TERMINAL_API_KEY=your-secret-key \
  ghcr.io/open-webui/open-terminal

Replace your-secret-key with a password of your choice.

Command breakdown
FlagPurpose
-dRun in background
--name open-terminalContainer name for reference
--restart unless-stoppedAuto-restart on reboot
-p 8000:8000Expose on http://localhost:8000
-v open-terminal:/home/userPersist files across restarts
-e OPEN_TERMINAL_API_KEY=...Authentication key

2. Verify

Open http://localhost:8000/docs in your browser. You should see the Open Terminal API page.

Auto-generated API key

If no API key was set, one is generated automatically. Find it with:

docker logs open-terminal
OpenShift

For OpenShift restricted SCC, use ghcr.io/open-webui/open-terminal:openshift through Terminals. That image supports restricted non-root pods, but not runtime package installs, Docker socket access, the iptables egress firewall, or OPEN_TERMINAL_MULTI_USER=true.


Run as an MCP server

Open Terminal can also run as a Model Context Protocol server with open-terminal mcp, exposing the terminal to MCP-compatible clients. This needs the optional mcp extra (which pulls in FastMCP).

Option A: Run without installing:

uvx --from "open-terminal[mcp]" open-terminal mcp

Option B: Install with pip:

pip install "open-terminal[mcp]"
open-terminal mcp

By default the server uses the stdio transport (the client launches the process and talks to it over standard input/output), so most MCP clients just need the command above.

To serve over HTTP instead, switch to the streamable-http transport. The --host and --port flags apply only to this transport (defaults: host 0.0.0.0, port 8000):

open-terminal mcp --transport streamable-http --host 127.0.0.1 --port 8000

The --config (path to a TOML config file) and --cwd (working directory for the server process) flags work the same as for open-terminal run.


Looking for the whole machine?

Open WebUI Computer is your entire computer in a browser tab: files, terminal, git, editor, and AI, accessible from any device. It also connects to Open WebUI via its gateway API.

Next step

Connect to Open WebUI →

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.