Web Interface

jcode includes a browser-based interface for users who prefer a visual UI over the terminal. The web UI provides chat, file browsing, terminal access, and full agent control.

Starting the Web Server

jcode web

Options:

Flag Default Description
--port 8080 HTTP server port
--host 127.0.0.1 Server host/interface

Then open http://localhost:8080 in your browser.

By default, the server binds to 127.0.0.1 (localhost only). Use --host 0.0.0.0 to allow access from other machines.

Features

Chat Interface

Send messages to the agent and see streaming responses. Tool calls and results are displayed inline, just like in the TUI.

File Browser

Browse your project directory and view file contents directly in the browser.

Built-in Terminal

Open a full PTY terminal in the browser. Run any command as if you were in a local terminal.

Session Management

List, view, and switch between sessions. Start a new session or resume a previous one.

Model & Settings

Switch models, toggle approval mode, and manage configuration — all from the web interface.

Theme / Dark Mode

Toggle between Light, Dark, and System themes from the settings dialog. The theme preference is persisted in localStorage and applied instantly across all components. When set to System, the UI follows your OS appearance preference automatically.

Project Switching

Switch between different project directories without restarting the server.

API Endpoints

The web server exposes a REST API for programmatic access:

Endpoint Description
POST /api/chat Send a message to the agent
POST /api/stop Cancel current execution
GET /api/events SSE stream of agent events
GET /api/sessions List sessions
POST /api/sessions Create new session
GET /api/models List available models
POST /api/model Switch active model
POST /api/mode Switch agent mode
GET /api/todos Get current todo items
GET /api/files Browse directory
POST /api/exec Execute a shell command
POST /api/approval Approve/reject a tool call
GET /api/mcp List MCP servers and status
GET /api/skills List available skills
POST /api/pty Create a terminal session
GET /api/channel Get channel connection status
POST /api/channel/login Start channel login (returns QR code)
POST /api/channel/logout Disconnect channel
POST /api/channel/enable Enable notifications
POST /api/channel/disable Disable notifications

The REST API makes it easy to integrate jcode into your own tools and workflows.