Self-hosted agent UI

One interface for every agent.

nui is a web UI for interactive AI agent sessions. Ask the home launcher to route work, or run Claude Code, pi, codex, opencode, and API agents on your machine, in Docker, or on a remote server — with sessions, extensions, MCP, and custom ADL agents in one place.

nui web UI showing a chat session with an AI agent.

Built-in agents

nui Claude Code pi codex opencode Anthropic API OpenAI Gemini OpenRouter Ollama

Sessions

Chat, switch, and resume — without leaving the browser.

Type a task on the home screen and the nui master agent routes it to the right specialist — or open a session with any built-in or installed agent. Send prompts, attach files, and use @ mentions for context. Switch between past sessions from the sidebar; preferences persist across reloads.

Explore features →
# Start the server and open the UI
nui server --open

# Launch with a specific agent and prompt
nui server -a claude-code -m "Review the README" -w . --open

Custom agents

ADL agents, Docker harnesses, and extensions.

Define custom agents in YAML with the Agent Definition Language — pick a harness, set a system prompt, and run locally, in sandboxes, Docker containers, or on remote servers. Install extensions that contribute harnesses, MCP servers, skills, and agents.

ADL and custom agents →
name: Review Agent
harness:
  type: claude-code
  sandbox: none
systemPrompt: |
  You are a code reviewer. List issues by severity and suggest fixes.

MCP integration

Expose nui to Cursor, Claude Desktop, and other MCP hosts.

Run nui mcp to expose agent tools to external MCP clients. nui also injects built-in MCP servers into harnesses for human-in-the-loop prompts, inline visualizations, agent memory, and home-launcher routing.

MCP integration →
{
  "mcpServers": {
    "nui": {
      "command": "nui",
      "args": ["mcp"],
      "env": { "NUI_URL": "http://127.0.0.1:8080" }
    }
  }
}

Headless runs

Script agent runs from the terminal or CI.

Use nui run for headless agent execution against a running server. Schedule recurring runs with nui schedule. Evaluate ADL agents with nui agent eval — no browser required.

CLI reference →
# Headless run (server must be running)
nui run -a claude-code -m "Review README" -w . --wait

# Auto-start server if not running
nui run -m "Summarize changes" -w . --spawn --wait

First run

Install and try it in two minutes.

Install the CLI with the one-liner below, or download the desktop app from GitHub Releases (it bundles the CLI and installs it on first launch).

curl -fsSL https://nui.plmbr.dev/install.sh | sh

  1. Install. Run the curl one-liner above, or grab the desktop package / CLI archive from GitHub Releases.
  2. Start. Run nui server (listens on :8080), or open the desktop app.
  3. Open the UI. Pick an agent and a working directory. nui creates a session on first launch.
  4. Chat. Send a prompt, attach files, or use @ mentions for context.

Full install guide →