Skip to content

v0.45.0

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Oct 21:48

Nebula v0.45.0 is out. Sessions you can move between worktrees and projects, sessions that can ask each other questions, side-by-side diffs with images and Mermaid in previews, worktree deletes that check for unsaved work first, and a long list of launch and status fixes from contributors.

🚚 Move work where it belongs

  • Move a session. m on a card (or Move to… in its menu) lists every other checkout, this project's first and then other projects' as project ▸ branch; Enter moves the session, which resumes on the same conversation. You can also drag a card onto another band or project tab. A drop asks first; turn that off with Settings › Sessions › confirm_drag_move. An idle session moves right away, and a busy one moves when its turn ends.
  • nebula spawn --worktree <branch> starts the sibling session in that branch's worktree, cutting it first if needed, and --base <ref> picks the start point. Anything the launch would refuse is refused before git cuts a worktree.
  • Moved or renamed project folders. A project tab whose folder is gone asks whether to locate it: y opens a path-completing Locate project prompt. Its worktrees, git links and sessions follow it to the new folder.

🤝 Sessions that talk to each other

  • nebula sessions / read / ask. Any agent can list every session across projects, read another session's recent context (nebula read <session> --lines N), or ask it a question and get the answer back (nebula ask <session> "…"). Claude and Pi are told when to use them.
  • nebula sbx opens nebula inside a local Docker sandbox, so agents never see this machine's files. The nebula-sbx container is kept between runs, so its daemon, sessions and logins survive; nebula sbx NAME gives a separate sandbox and --image picks the base. (#112)

🔎 Read it without leaving

  • Side-by-side diffs. When the pane is at least 90 columns wide, g opens diffs old-left/new-right with line numbers on both sides; Ctrl+s toggles unified and remembers your choice. Settings › Appearance › source_control_graph adds a read-only commit GRAPH under CHANGES, where you can unfold a commit into its files. Thanks @kaminskypavel (#138, #146).
  • Images and Mermaid in previews. File tabs, the tree browser and nebula open show PNG, JPEG, GIF, WebP and SVG images, and .mmd files and ```mermaid blocks render when mmdc is on your PATH. Settings › Appearance › inline_graphics (auto … off).
  • Links you can click. Claude Code's OSC 8 hyperlinks survive nebula's pane, so Cmd-click opens them. Thanks @kaminskypavel (#160).
  • A columns layout, and settings search. Settings › Appearance › Worktree layout › columns shows Projects, Worktrees and Sessions as three side-by-side lists. Thanks David Budac (#139). In Settings, / searches every tab by label, hint or hotkey chord (/^f).

🔔 Status you can trust

  • MCP input turns the session red. A Claude session whose MCP server asks for your input used to stay yellow. It now goes red like a permission prompt. Thanks @yobazy (#173).
  • Codex leaves yellow when it's done. Without its completion hook, Codex's finished turn was missed. Nebula now reads Codex's terminal idle signal instead. Thanks @TommoDotCommo (#175).
  • No more view jumps. A turn finishing in another project could flip the recency sort and move the cursor to that project's session. The sort no longer reads the clock.

🧹 Worktrees that look after themselves

  • Delete checks for work in progress first. d on a band, a card delete that takes its worktree, and Shift+D now list processes still working in the checkout, uncommitted files and how recently they changed, and commits its base branch doesn't have. Thanks @DrewBradfordXYZ (#170).
  • Deleted checkouts drop their rows. A worktree removed with rm -rf or Finder instead of git (locked ones included) loses its row on the next sync. A session whose checkout is gone refuses to start, and its pane says how to get it back. Thanks @DrewBradfordXYZ (#164, #127).
  • Opt-in merged cleanup. Settings › Sessions › auto_cleanup_merged removes a linked worktree once its PR is merged, but only if it is clean, idle and still at the merged head. Merged-PR matching also stops painting main purple from an old PR.

🛠 Launches that just work

  • Claude starts on macOS again. A stdin change made every Claude agent exit with EINVAL: invalid argument, kqueue. The agent now gets its own PTY back, even when an rc file clears NEBULA_PANE_TTY. Thanks @DrewBradfordXYZ (#166).
  • rc autostart, WSL2, and nested Claude. Shell rc hooks that autostart a program no longer swallow agent launches (#130). WSL2 falls back to /tmp/nebula-$UID when XDG_RUNTIME_DIR is unmanaged, and WSL1 says it is unsupported (#131). nebula started from inside a Claude Code session no longer passes that session's identity on, so its agents keep their transcripts. Thanks @DrewBradfordXYZ (#120).
  • Relaunch and relocation fixes. Full-screen agents like Grok Build are painted after a relaunch, not left blank until a resize. Thanks @michael-dg (#171). A nebula worktree relocation that loses its conversation now says so. Thanks @DrewBradfordXYZ (#165). The daemon releases a client's connection as soon as it hangs up. Thanks @isactornberg (#116).

⚠️ Heads up

Protocol version is now 51 (oldest compatible 49), so a v0.44.0 daemon can't talk to the new TUI: run nebula kill before the new TUI attaches.

curl -fsSL https://raw.githubusercontent.com/AgentSystemLabs/nebula/main/install.sh | sh