Find a file
Shantur Rathore 6fe942fca9
Some checks failed
Release Binaries / release (push) Has been cancelled
Release v0.18.0 - Compact mobile UI, tool expansion controls, smoother streaming, session fixes and Winget automation (#568)
## Thanks for contributions

- [@shantur](https://github.com/shantur):
[#535](https://github.com/NeuralNomadsAI/CodeNomad/pull/535),
[#556](https://github.com/NeuralNomadsAI/CodeNomad/pull/556),
[#557](https://github.com/NeuralNomadsAI/CodeNomad/pull/557),
[#562](https://github.com/NeuralNomadsAI/CodeNomad/pull/562),
[#563](https://github.com/NeuralNomadsAI/CodeNomad/pull/563),
[#564](https://github.com/NeuralNomadsAI/CodeNomad/pull/564),
[#565](https://github.com/NeuralNomadsAI/CodeNomad/pull/565),
[#567](https://github.com/NeuralNomadsAI/CodeNomad/pull/567)
- [@pascalandr](https://github.com/pascalandr):
[#533](https://github.com/NeuralNomadsAI/CodeNomad/pull/533),
[#551](https://github.com/NeuralNomadsAI/CodeNomad/pull/551)
- [@JDis03](https://github.com/JDis03):
[#484](https://github.com/NeuralNomadsAI/CodeNomad/pull/484),
[#536](https://github.com/NeuralNomadsAI/CodeNomad/pull/536)
- [@aayurt](https://github.com/aayurt):
[#552](https://github.com/NeuralNomadsAI/CodeNomad/pull/552)

## Highlights

- **Compact mode is much better on mobile**: The message UI has been
redesigned for compact layouts, with cleaner controls and a denser
conversation view that works better on smaller screens.
- **Tool output is easier to control**: New tool-level expansion
settings let you choose how much tool-call detail you want to see,
making busy sessions easier to scan.
- **Streaming output feels steadier**: Bash output, tool output, and
assistant responses now stay pinned more reliably while streaming,
reducing jumps and missed updates.
- **Project sessions are scoped more accurately**: Session lists now
respect the active project more consistently, so switching projects is
less likely to show unrelated sessions.
- **Tab closing is more dependable**: Closing tabs has been tightened up
to avoid cases where the wrong tab behavior could interrupt your
workflow.

## What’s Improved

- **Cleaner compact conversation layout**: Message blocks, message
sections, tool calls, permissions, questions, todos, and task output
have all been polished for a more readable compact experience.
- **More useful tool-call presentation**: Tool calls now have a stronger
registry-backed rendering path, clearer titles, improved status display,
and better per-tool output handling.
- **Better follow behavior near the bottom of sessions**: The session
view now tracks bottom-follow intent more carefully, helping the app
stay with new output when you expect it to.
- **Smoother live session creation**: Session-created events from the
live event stream are now handled directly, so new sessions appear more
reliably without manual refreshes.
- **Improved permission denial feedback**: Denied permissions now
produce simpler, less noisy feedback in the conversation.

## Fixes

- **More reliable autoscroll during long responses**: Hold-mode
assistant autoscroll, message-part tool output autoscroll, and streaming
bash output pinning were stabilized.
- **Less duplicated streaming text**: SSE part deltas are throttled and
buffered more carefully to prevent stale delta text from being
duplicated in streamed messages.
- **Better session list isolation**: Project session list requests are
now scoped so sessions from one project do not bleed into another
project’s list.
- **More stable tab management**: A tab close bug was fixed to make
multi-session navigation safer.
- **Release pipeline reliability**: Winget release automation is now
wired into the release workflow so Windows package updates can be
published more consistently.

## Docs

- **New contributor guide**: A `CONTRIBUTING.md` guide was added to help
new contributors set up the project and understand the development
workflow.
- **Winget release docs updated**: Supporting documentation for Winget
release automation was refreshed.

### Contributors

- [@shantur](https://github.com/shantur)
- [@pascalandr](https://github.com/pascalandr)
- [@JDis03](https://github.com/JDis03)
- [@aayurt](https://github.com/aayurt)

**Full Changelog**:
[v0.17.0...v0.18.0](https://github.com/NeuralNomadsAI/CodeNomad/compare/v0.17.0...v0.18.0)

## Merged Pull Requests

### [@shantur](https://github.com/shantur)

- PR [#535](https://github.com/NeuralNomadsAI/CodeNomad/pull/535)
“fix(ui): simplify permission denial feedback”
- PR [#556](https://github.com/NeuralNomadsAI/CodeNomad/pull/556)
“fix(ui): keep streaming bash output pinned”
- PR [#557](https://github.com/NeuralNomadsAI/CodeNomad/pull/557) “WIP:
Compact mode message UI redesign”
- PR [#562](https://github.com/NeuralNomadsAI/CodeNomad/pull/562)
“fix(ui): handle session created SSE events”
- PR [#563](https://github.com/NeuralNomadsAI/CodeNomad/pull/563)
“feat(ui): Add tool level expansion settings.”
- PR [#564](https://github.com/NeuralNomadsAI/CodeNomad/pull/564)
“Improve compact mobile UI controls”
- PR [#565](https://github.com/NeuralNomadsAI/CodeNomad/pull/565)
“fix(ui): scope project session list requests”
- PR [#567](https://github.com/NeuralNomadsAI/CodeNomad/pull/567)
“fix(ui): keep message-part tool output auto-scroll synced”

### [@pascalandr](https://github.com/pascalandr)

- PR [#533](https://github.com/NeuralNomadsAI/CodeNomad/pull/533) “fix:
stabilize hold-mode assistant autoscroll”
- PR [#551](https://github.com/NeuralNomadsAI/CodeNomad/pull/551) “fix:
wire Winget automation into release pipeline”

### [@JDis03](https://github.com/JDis03)

- PR [#484](https://github.com/NeuralNomadsAI/CodeNomad/pull/484) “docs:
add CONTRIBUTING.md guide for new contributors”
- PR [#536](https://github.com/NeuralNomadsAI/CodeNomad/pull/536)
“fix(ui): throttle SSE part deltas and prevent stale delta text
duplication”

### [@aayurt](https://github.com/aayurt)

- PR [#552](https://github.com/NeuralNomadsAI/CodeNomad/pull/552)
“Bugfix/tab close bug”
2026-06-21 18:26:38 +01:00
.github fix: wire Winget automation into release pipeline (#551) 2026-06-13 17:51:24 +01:00
.opencode revert: remove tracked NomadWorks task artifacts (#531) 2026-06-08 17:20:31 +01:00
dev-docs refactor message stream layout 2025-12-02 19:23:05 +00:00
docs fix: wire Winget automation into release pipeline (#551) 2026-06-13 17:51:24 +01:00
images Move screenshots to correct folder 2025-11-21 21:59:58 +00:00
packages fix(ui): keep message-part tool output auto-scroll synced (#567) 2026-06-21 18:09:03 +01:00
scripts chore: TASK-075 automate Winget updates on release (#513) 2026-06-03 09:03:46 +02:00
temp Bump to v0.11.2 2026-02-17 18:47:21 +00:00
.gitignore chore: ignore local artifacts and add cloudflare lockfile 2026-01-22 16:42:47 +00:00
AGENTS.md Improve compact mobile UI controls (#564) 2026-06-19 13:52:26 +01:00
BUILD.md Rename electron app package to @neuralnomads/codenomad-electron-app 2025-11-21 00:10:31 +00:00
CONTRIBUTING.md docs: add CONTRIBUTING.md guide for new contributors (#484) 2026-06-13 14:01:04 +02:00
LICENSE chore(license): add MIT license 2026-02-02 11:22:49 +00:00
package-lock.json fix(ui): scope project session list requests (#565) 2026-06-19 17:42:12 +01:00
package.json Bump version to 0.18.0 2026-06-19 13:55:00 +01:00
README.md docs: add auth requirement and self-signed cert warning to quick-start (#481) 2026-05-26 22:29:42 +02:00

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.

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.

Platform Formats
macOS DMG, ZIP (Universal: Intel + Apple Silicon)
Windows NSIS Installer, ZIP (x64, ARM64)
Linux AppImage, 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:

Package Description
packages/server Core logic & CLI — workspaces, OpenCode proxy, API, auth, speech
packages/ui SolidJS frontend — reactive, fast, beautiful
packages/electron-app Desktop shell — process management, IPC, native dialogs
packages/tauri-app Tauri 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