CodeNomad

May 26, 2026 ยท View on GitHub

The AI Coding Cockpit for OpenCode

CodeNomad transforms OpenCode from a terminal tool into a premium desktop workspace โ€” built for developers who live inside AI coding sessions for hours and need control, speed, and clarity.

OpenCode gives you the engine. CodeNomad gives you the cockpit.

Multi-instance workspace


Features

  • ๐Ÿš€ Multi-Instance Workspace
  • ๐ŸŒ Remote Access
  • ๐Ÿง  Session Management
  • ๐ŸŽ™๏ธ Voice Input & Speech
  • ๐ŸŒณ Git Worktrees
  • ๐Ÿ’ฌ Rich Message Experience
  • ๐Ÿงฉ SideCars
  • โŒจ๏ธ Command Palette
  • ๐Ÿ“ File System Browser
  • ๐Ÿ” Authentication & Security
  • ๐Ÿ”” Notifications
  • ๐ŸŽจ Theming
  • ๐ŸŒ Internationalization

Getting Started

๐Ÿ–ฅ๏ธ Desktop App

Available as both Electron and Tauri builds โ€” choose based on your preference.

Download the latest installer for your platform from Releases.

PlatformFormats
macOSDMG, ZIP (Universal: Intel + Apple Silicon)
WindowsNSIS Installer, ZIP (x64, ARM64)
LinuxAppImage, deb, tar.gz (x64, ARM64)

๐Ÿ’ป CodeNomad Server

Run as a local server and access via browser. Perfect for remote development.

npx @neuralnomads/codenomad --password <your-password> --launch

Authentication required: The server requires a password on first run. You can pass it via --password, the CODENOMAD_SERVER_PASSWORD environment variable, or create an auth.json file (see Server Documentation).

Self-signed certificate: On first launch with HTTPS enabled (the default), your browser will show a "Your connection is not private" warning. This is expected โ€” the server generates a local self-signed certificate automatically. Click Advanced โ†’ Proceed to localhost to continue. For local-only use without the warning, run with --https=false --http=true.

See Server Documentation for flags, TLS, auth, and remote access.

๐Ÿงช Dev Releases

Bleeding-edge builds from the dev branch:

npx @neuralnomads/codenomad-dev --password <your-password> --launch

SideCars

SideCars let you open local web tools inside CodeNomad as tabs.

Configuration
  • Name: Display name used in CodeNomad
  • Port: Local HTTP or HTTPS service running on 127.0.0.1:<port>
  • Base path: Mounted under /sidecars/:id
  • Prefix mode:
    • Preserve prefix forwards the full /sidecars/:id/... path upstream
    • Strip prefix removes /sidecars/:id before forwarding the request upstream
VSCode (OpenVSCode Server)

Run with Docker:

docker run -it --init -p 8000:3000 -v "${HOME}:${HOME}:cached" -e HOME=${HOME} gitpod/openvscode-server --server-base-path /sidecars/vscode

Add SideCar as:

  • Name: VSCode
  • Port: http://127.0.0.1:8000
  • Base path: /sidecars/vscode
  • Prefix mode: Preserve prefix
Terminal (ttyd)

Run with:

ttyd --writable zsh

Add SideCar as:

  • Name: Terminal
  • Port: http://127.0.0.1:7681
  • Base path: /sidecars/terminal
  • Prefix mode: Strip prefix

Requirements

  • OpenCode CLI โ€” must be installed and in your PATH
  • Node.js 18+ โ€” for server mode or building from source

Development

CodeNomad is a monorepo built with:

PackageDescription
packages/serverCore logic & CLI โ€” workspaces, OpenCode proxy, API, auth, speech
packages/uiSolidJS frontend โ€” reactive, fast, beautiful
packages/electron-appDesktop shell โ€” process management, IPC, native dialogs
packages/tauri-appTauri desktop shell (experimental)

Quick Start

git clone https://github.com/NeuralNomadsAI/CodeNomad.git
cd CodeNomad
npm install
npm run dev

Troubleshooting

macOS: "CodeNomad.app is damaged and can't be opened"

Gatekeeper flag due to missing notarization. Clear the quarantine attribute:

xattr -dr com.apple.quarantine /Applications/CodeNomad.app

On Intel Macs, also check System Settings โ†’ Privacy & Security on first launch.

Linux (Wayland + NVIDIA): Tauri App closes immediately

WebKitGTK DMA-BUF/GBM issue. Run with:

WEBKIT_DISABLE_DMABUF_RENDERER=1 codenomad

See full workaround in the original README.


Community

Star History


Built with โ™ฅ by Neural Nomads ยท MIT License