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

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.
| Platform | Formats |
|---|
| macOS | DMG, ZIP (Universal: Intel + Apple Silicon) |
| Windows | NSIS Installer, ZIP (x64, ARM64) |
| Linux | Tauri deb, Electron portable tar.gz (x64) |
The Tauri deb is currently built and installation-tested on Ubuntu 24.04. Compatibility with older Debian-based distributions is not yet guaranteed.
๐ป CodeNomad Server
Run as a local server and access via browser. Perfect for remote development.
npx @neuralnomads/codenomad --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 --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:
- 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:
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-tauri
See full workaround in the original README.
Community

Built with โฅ by Neural Nomads ยท MIT License