~/content/web

Web

Using OpenCode in your browser.

last_updated: "2026-01-20"

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

##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. :::


##Configuration

You can configure the web server using command line flags or in your config file.

###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:

bash
  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.

###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

###Server Status

Click "See Servers" to view connected servers and their status.

OpenCode Web - See Servers


##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:

bash
{
  "server": {
    "port": 4096,
    "hostname": "0.0.0.0",
    "mdns": true,
    "cors": ["https://example.com"]
  }
}

Command line flags take precedence over config file settings.

Comments (Coming Soon)

Configure Giscus in environment variables to enable comments.