--- title: Web description: Using OpenCode in your browser. --- OpenCode can run as a web application in your browser, providing the same powerful AI coding experience without needing a terminal. ![OpenCode Web - New Session](../../assets/web/web-homepage-new-session.png) ## Getting Started Start the web interface by running: ```bash opencode web ``` This starts a local server on `127.0.0.1` with a random available port and automatically opens OpenCode in your default browser. :::caution If `OPENCODE_SERVER_PASSWORD` is not set, the server will be unsecured. This is fine for local use but should be set for network access. ::: :::tip[Windows Users] For the best experience, run `opencode web` from [WSL](/docs/windows-wsl) rather than PowerShell. This ensures proper file system access and terminal integration. ::: --- ## Configuration You can configure the web server using command line flags or in your [config file](/docs/config). ### Port By default, OpenCode picks an available port. You can specify a port: ```bash opencode web --port 4096 ``` ### Hostname By default, the server binds to `127.0.0.1` (localhost only). To make OpenCode accessible on your network: ```bash opencode web --hostname 0.0.0.0 ``` When using `0.0.0.0`, OpenCode will display both local and network addresses: ``` Local access: http://localhost:4096 Network access: http://192.168.1.100:4096 ``` ### mDNS Discovery Enable mDNS to make your server discoverable on the local network: ```bash opencode web --mdns ``` This automatically sets the hostname to `0.0.0.0` and advertises the server as `opencode.local`. You can customize the mDNS domain name to run multiple instances on the same network: ```bash opencode web --mdns --mdns-domain myproject.local ``` ### CORS To allow additional domains for CORS (useful for custom frontends): ```bash opencode web --cors https://example.com ``` ### Authentication To protect access, set a password using the `OPENCODE_SERVER_PASSWORD` environment variable: ```bash OPENCODE_SERVER_PASSWORD=secret opencode web ``` The username defaults to `opencode` but can be changed with `OPENCODE_SERVER_USERNAME`. --- ## Using the Web Interface Once started, the web interface provides access to your OpenCode sessions. ### Sessions View and manage your sessions from the homepage. You can see active sessions and start new ones. ![OpenCode Web - Active Session](../../assets/web/web-homepage-active-session.png) ### Server Status Click "See Servers" to view connected servers and their status. ![OpenCode Web - See Servers](../../assets/web/web-homepage-see-servers.png) --- ## Attaching a Terminal You can attach a terminal TUI to a running web server: ```bash # Start the web server opencode web --port 4096 # In another terminal, attach the TUI opencode attach http://localhost:4096 ``` This allows you to use both the web interface and terminal simultaneously, sharing the same sessions and state. --- ## Config File You can also configure server settings in your `opencode.json` config file: ```json { "server": { "port": 4096, "hostname": "0.0.0.0", "mdns": true, "cors": ["https://example.com"] } } ``` Command line flags take precedence over config file settings.