# Nimbalyst: a visual workspace for Claude Code, Codex and OpenCode sessions

> Nimbalyst is an MIT-licensed Electron desktop app that puts parallel coding agent sessions, WYSIWYG editors and git worktrees in one window. It is a good fit if you already run several agents and want to review their edits as rendered diffs, and a poor fit if you want a terminal-only workflow.

**nimbalyst/nimbalyst** — Nimbalyst - The open-source visual workspace for Claude Code, Codex, and OpenCode. Run multiple coding agents in parallel, edit their work visually in markdown, mockups, and diagrams, and track tasks. Free, MIT-licensed desktop app for macOS, Windows, Linux, with mobile companion for iOS and Android.

- Repository: https://github.com/nimbalyst/nimbalyst
- Website: https://nimbalyst.com/
- Stars: 1,776 · Forks: 270
- Language: TypeScript
- License: MIT
- Published: 2026-08-04 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/nimbalyst-nimbalyst

## What Nimbalyst solves for people running several coding agents at once

A single Claude Code or Codex session in a terminal is easy to follow. Three of them on the same repository are not. Each one edits files, each one leaves a branch or a dirty working tree, and the only place their work meets is git status. Nimbalyst is built around that specific mess. The README describes it as an open-source visual workspace where you "work on everything in one place: sessions, worktrees, tasks, docs, diagrams, mockups, commits, and code".

The intended user is a developer who already has a coding agent subscription or API key and wants to run more than one at a time without losing track of which session touched which file. The app is a desktop binary, not a CLI, so the audience is people who prefer reviewing rendered output over reading diffs in a terminal. A mobile companion for iOS is part of the same project; the README's download table lists macOS, Windows and Linux desktop builds, and the repository contains a packages/ios workspace written in SwiftUI.

## How parallel sessions, worktrees and the EditorHost contract fit together

The core mechanism is isolation by git worktree. The README states that parallel agent sessions each run "isolated in its own git worktree", which means two agents can edit the same logical file without overwriting each other, and the merge problem is deferred to normal git. Sessions are then tracked on a kanban board, where the README says you can "search, resume, and link sessions to the files they touched". That linking is the part that distinguishes it from simply opening several terminals: a session and its touched files are two views of the same record.

The editing layer sits on top. Built-in WYSIWYG editors cover markdown, mockups, Mermaid, Excalidraw, CSV, data models and code in Monaco, and the README says that "you and the coding agent edit the same files". Review happens as red/green diffs inside the rendered document, with per-edit accept or reject.

The extension story is architectural rather than a plugin marketplace. According to the README, every editor, "including the built-in ones, goes through the same EditorHost contract", so a custom editor is not a second-class citizen. The repository reflects that split: packages/extension-sdk, packages/extensions and packages/runtime are separate workspaces, and the README mentions current extensions for an Astro website editor, a visual git log, mindmap, slides and a 3D object editor. Content is stored as plain files, which the README frames as "no proprietary store to migrate out of".

One boundary is worth naming. The README states that the collaboration sync server, reached at wss://sync.nimbalyst.com, "is a separate project". Real-time collaboration therefore depends on a service that is not in this repository, and the README does not describe a self-hosted alternative.

## Installing Nimbalyst and reviewing your first agent edit

There is no package manager install. The README points at prebuilt binaries on the releases page: a .dmg for macOS Apple Silicon and macOS Intel, a .exe for Windows, and an AppImage for Linux. The stated requirements are macOS 12+ (both architectures), Windows 10+, and Linux without a version floor.

After launching, the README's Getting Started list runs in this order: create or open a document, write in markdown, ask the AI assistant to edit, then step through the suggested edits and accept or reject them. The first two steps are keyboard-driven.

```bash
# Create a new document
Cmd/Ctrl+N
```

Once a document exists, the agent work happens in the Agent Manager view, which the README lists as step 5. That is where you start more than one session and where the kanban board lives.

If you would rather build from source, the README gives a three-command path for the Electron app. Note the engine requirements in the root package.json: node >=24 and npm >=11.

```bash
# Install dependencies (npm 7+ required per the README)
npm install

# Start the Electron app in dev mode
cd packages/electron && npm run dev

# Build a local Mac binary
cd packages/electron && npm run build:mac:local
```

For signed macOS builds, the repository ships .env.example with the variables the notarization step reads: APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, and an optional SKIP_NOTARIZE flag. The same file shows commented-out ANTHROPIC_API_KEY and OPENAI_API_KEY entries and an LMSTUDIO_BASE_URL default of http://127.0.0.1:1234.

## Where Nimbalyst gets in the way

The app is Electron, and the README does not discuss memory or startup cost, so anyone evaluating it on a constrained machine is guessing until they run it. The repository is large: a monorepo with packages for electron, runtime, ios, collab-protocol, extension-sdk and extensions, plus a playwright config, a vitest config and a long list of custom check scripts such as check:collab-client-boundaries and check:runtime-host-boundary. Contributing to the internals is not a small commitment.

Agent support is uneven and the README says so. Codex and Claude Code are listed plainly; OpenCode and GitHub Copilot are marked alpha, and a Gemini provider is mentioned without a maturity label. If your workflow depends on a provider that is still alpha, treat it as experimental.

Telemetry is on by default. The README states that Nimbalyst sends anonymous usage analytics to PostHog, with a randomly generated anonymous ID, and that it does not collect usernames, emails, IP addresses, file contents, file paths or API keys. Opting out means going to Settings, Advanced, Analytics. For a team with a policy against third-party analytics in developer tooling, that default matters, and the README does not describe a build-time flag to disable it.

The wrong-tool case is narrow but real. If you run one agent at a time in a terminal and read diffs there, the visual layer adds a window you do not need. The README also does not document rollback behaviour for accepted edits beyond git itself, so anyone expecting an in-app undo history for agent changes should check before relying on it.

## Nimbalyst versus Obsidian, Cursor and a plain terminal

Obsidian is the closest comparison in the search data and the least similar in practice. Obsidian is a local markdown knowledge base with a plugin ecosystem; Nimbalyst is a workspace whose primary object is an agent session, with markdown editors attached. The README's session kanban, worktree isolation and red/green diff review have no equivalent in Obsidian. If your goal is notes, Nimbalyst is the wrong shape.

Cursor is the opposite trade. It is an editor with an agent built in, so the agent is a feature of the editing surface. Nimbalyst assumes the agent is external (Claude Code, Codex, OpenCode, Copilot) and builds the management layer around it. That means Nimbalyst does not replace your agent subscription or your model choice, and it also means it does not compete on autocomplete or inline completion quality.

Against a plain terminal plus git, the difference is the review loop. In a terminal you read a diff as text. In Nimbalyst the README describes stepping through proposed edits in the rendered document, which is a meaningful change for markdown, Mermaid diagrams and mockups where the text diff is a poor representation of the result. For a pure code change in a language you know well, the terminal is faster and has no install step.

## Licence, release cadence and what upgrades cost you

The repository is MIT licensed, and the README repeats that the app is "Free and MIT licensed". The presence of a separate LICENSING.md alongside LICENSE is worth reading before you redistribute anything; the repository does not spell out what it adds, so treat it as an open question rather than assume MIT covers every asset. Bundled fonts, icons and example assets can carry their own terms, and this article cannot give legal advice on that.

Upgrades are automatic. The README states that Nimbalyst checks for updates and notifies you, and that Help, Check for Updates triggers a manual check. Fresh installs sit on the stable channel and only receive promoted releases. The alpha channel is opt-in under Settings, Advanced, Release Channel, and the README warns directly that alpha builds "are rougher and may break". You can revert to stable at any time.

The cost of staying current is low in effort but not zero in risk: an Electron app that auto-updates will change under you, and the release history shows several patches within days of each other. If you pin a version for a team, the README does not describe a way to disable the updater, only to change channel.

## Conclusion

Adopt Nimbalyst if you already run Claude Code or Codex on real repositories and the bottleneck is reviewing what they changed rather than launching them. Skip it if your work is a single terminal session on a small script, or if you cannot accept anonymous PostHog analytics, since opt-out lives in Settings, Advanced, Analytics and the README does not describe a build-time disable. Before committing, verify that the .dmg, .exe or AppImage for your platform matches the README's stated requirements (macOS 12+ on Apple Silicon or Intel, Windows 10+, Linux), and check the alpha and beta labels the README puts on OpenCode and Copilot support.

## FAQ

### Is Nimbalyst free to use?

Yes. The README describes it as free and MIT licensed, and the repository's LICENSE file is MIT. There is no pricing tier mentioned in the README.

### What is Nimbalyst?

It is an open-source visual workspace, distributed as a desktop app for macOS, Windows and Linux, for running coding agents such as Claude Code and Codex. It combines WYSIWYG editors, parallel agent sessions isolated in git worktrees, task tracking and built-in git tooling.

### Which coding agents does Nimbalyst support?

The README lists Codex and Claude Code as supported, with OpenCode and GitHub Copilot marked alpha, plus a Gemini provider. The README does not state which version of each agent is required.

### Does Nimbalyst send telemetry?

The README states that it sends anonymous usage analytics to PostHog using a randomly generated anonymous ID, and that it does not collect usernames, emails, IP addresses, file contents or file paths. You can opt out under Settings, Advanced, Analytics.

### Is there an Android version of Nimbalyst?

The README and the download table mention an iOS companion app only, and the repository contains a packages/ios workspace written in SwiftUI. No Android build is documented in the README.

### Can I build Nimbalyst from source?

Yes. The README gives npm install, then cd packages/electron && npm run dev to start in dev mode, and npm run build:mac:local for a local Mac binary. The root package.json requires node >=24 and npm >=11.

## Sources

- [Official documentation](https://nimbalyst.com/)
- [Official README](https://github.com/nimbalyst/nimbalyst#readme)
- [Project repository](https://github.com/nimbalyst/nimbalyst)
- [Release notes](https://github.com/nimbalyst/nimbalyst/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/nimbalyst-nimbalyst
