Skip to content

vibe-tree

v0.2.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

claude claude-code desktop-app gemini-cli git-worktree typescript
+1 more
vibe-coding

Summary

AI summary

Updates New, feat, and fix across a mixed release.

Full changelog

Run AI coding agents in parallel, one git worktree each, from your desktop, browser, or phone.

This is the first big release since 0.0.1 and it touches nearly everything.

Highlights

One backend everywhere. Desktop and web now share the same server core. Terminal sessions live on the server, so they survive page reloads, window switches, and dropped connections. Close the tab, come back, your agent is still working.

Fleet status. See every agent at a glance: working, needs input, or done. A ding plays when an agent finishes or asks a question, so you can stop babysitting terminals.

Browser preview. When your agent starts a dev server, VibeTree detects the URL and can open the app in a preview pane right next to the terminal. Code on the left, running app on the right.

Changes dock. Review the diff without leaving the worktree. Staged and unstaged views, a maximize mode for real reviews, and a switch to flip between changes and preview. Select a file and send a note straight to the agent as a prompt.

Works on your phone. The web app is an installable PWA. Pair with a QR code and check on your agents from the couch.

New

  • Agent presets: drop an agent command in .vibetree/config.json and launch it with one click
  • vibetree CLI: list, add, and remove worktrees, check status, and run an agent from any terminal
  • Worktree lifecycle hooks: .vibetree/hooks/post-create and pre-remove for setup and cleanup scripts
  • Server directory picker: browse the server and discover repos when opening a project from the web
  • Keyboard shortcuts for new worktree, switching worktrees, and toggling changes, shown in menus and on the welcome screen
  • Onboarding for first run on desktop and a redesigned welcome screen with recent projects
  • Unified titlebar on desktop with window controls blended into the app, Linear style
  • Refreshed design: compact monochrome UI, consistent spacing, cleaner dialogs
  • Toasts, loading skeletons, and a live session indicator

Fixed

  • Keystrokes no longer duplicate when a worktree has multiple terminals
  • Terminal resize is smooth and correct with split terminals, plus draggable split dividers
  • pnpm dev:desktop no longer fails with spawn npx EACCES
  • Git status parsing no longer miscounts files with unstaged-only changes
  • Terminal output no longer overflows or hugs the pane border

Install

Grab the build for your platform from the assets below: dmg or zip for macOS (Intel and Apple Silicon), exe for Windows, AppImage or deb for Linux.

macOS note: builds are not yet signed with an Apple Developer ID. If macOS blocks the app, right-click it and choose Open, or run:

xattr -cr /Applications/VibeTree.app

To run from source: pnpm install && pnpm dev:desktop, or pnpm dev:all for the server and web app.

What's Changed

  • feat: implement git status and diff functionalities in the application by @Krishnachaitanyakc in https://github.com/sahithvibudhi/vibe-tree/pull/6
  • Fix theme inconsistencies in terminal and git diff view by @Krishnachaitanyakc in https://github.com/sahithvibudhi/vibe-tree/pull/8
  • Add Option to delete worktree by @nithish08 in https://github.com/sahithvibudhi/vibe-tree/pull/13
  • impl: monorepo architecture by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/19
  • Make web app functional by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/20
  • make terminal theme match to app theme by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/27
  • remove white border lines on dark theme by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/28
  • web app - to create worktrees by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/29
  • Feature/auto load projects with path by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/31
  • allow mobile lan connections by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/33
  • feat: open terminal links in default browser instead of in-app browser by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/34
  • Add workflow build by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/35
  • fix: resolve terminal newline rendering issue on mobile browsers by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/37
  • Multiple features by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/40
  • Remove convertEol to allow Option+Enter for newlines when entering Claude prompt by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/41
  • feat: Add terminal search functionality with xterm-addon-search by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/42
  • feat: Launch file dialog directly when clicking plus button by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/43
  • feat: Add horizontal terminal split functionality by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/44
  • feat: Add custom terminal font settings by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/45
  • fix: Launch terminal shells as login shells to match iTerm2 PATH by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/46
  • using fix ports for webapp as of now by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/47
  • Feature/user login webapp by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/48
  • Fix/login page UI webapp by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/49
  • Feature/docker for web app by @sathvik-palley in https://github.com/sahithvibudhi/vibe-tree/pull/50
  • feat: Add terminal setting to control locale environment variables by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/51
  • feat: Add quit confirmation dialog by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/52
  • feat: Add drag-and-drop file support to terminal by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/53
  • fix: Use exact match for protected branch names in worktree deletion by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/54
  • feat: Add deletion reporting dialog with PTY process cleanup by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/55
  • feat: Add robust PTY process cleanup with MVC pattern by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/56
  • feat: Add View > Stats menu to monitor active PTY processes by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/57
  • fix: Replace process.exit with electronApp.close() in E2E tests by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/62
  • feat: Add size limits and scrolling to stats dialog by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/61
  • Revert PR #61: fix-stats-dialog merge by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/64
  • fix: Terminal split cannot be closed by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/60
  • Improve stats dialog by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/65
  • Fix PTY spawn slot cleanup by waiting for exit event by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/59
  • Add unit tests for PTY process cleanup when closing projects by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/58
  • feat: Add flexible custom build script for macOS with product name customization by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/68
  • feat: Display detailed error backtraces and specific messages when terminal close fails by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/67
  • Fix terminal split close race condition by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/69
  • feat: Add system diagnostics to stats dialog for posix_spawn failure diagnosis by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/70
  • Revert terminal split close race condition fix by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/71
  • feat: Improve process display in stats dialog with sortable table by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/72
  • Sort worktrees alphabetically with main branch first by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/73
  • Improve worktree panel UI with enhanced typography and layout by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/74
  • feat: Add terminal command scheduler with repeat functionality by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/75
  • feat: Add launch-with-project script for automated testing by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/76
  • feat: Add scheduler history to reuse previous commands by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/77
  • feat: Add resize functionality to worktree list panel by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/78
  • fix: Make worktree list scrollable within app height by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/79
  • refactor: Use setTimeout instead of setInterval for repeating scheduler by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/80
  • feat: Add comprehensive posix_spawn diagnostics button to stats dialog by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/84
  • fix: Prevent overlapping scheduler executions causing gibberish terminal input by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/82
  • fix: Persist scheduler state when switching between projects by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/85
  • feat: Add blue color indicator for worktrees with active terminals by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/87
  • feat: Add PTY device tracking to diagnostics by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/86
  • fix: Prevent race condition in scheduler stop causing extra command executions by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/88
  • fix: Resolve worker teardown timeout by properly handling recursive scheduler promises by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/89
  • fix: Prevent terminal links from opening in in-app browser by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/91
  • feat: Add visual indicator for worktrees with active schedulers by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/92
  • refactor: Extract git repo creation logic into shared e2e test helper by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/94
  • feat: Implement fork-per-terminal architecture with PTY isolation by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/95
  • refactor: Simplify initialization and remove reload functionality by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/98
  • fix: Remove ELECTRON_RUN_AS_NODE from terminal shell environment by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/102
  • fix: Remove process.exit(0) from global teardown to fix CI failure reporting by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/104
  • fix: Clean up terminal DOM cache when worktree is deleted by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/100
  • feat: Add husky pre-commit hook to disallow waitForTimeout in tests by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/103
  • fix: Add dark mode styling to terminal search input by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/106
  • feat: Add native OS notifications for Claude Code CLI completion by @phamvmnhut in https://github.com/sahithvibudhi/vibe-tree/pull/105
  • feat: Add confirmation dialog when closing a project by @phuongnd08 in https://github.com/sahithvibudhi/vibe-tree/pull/107
  • Restructure: unified server architecture, terminal persistence, worktree hooks, PWA, onboarding by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/109
  • Design pass: compact, aligned, monochrome UI by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/110
  • UX improvements: status indicators, toasts, shortcuts, skeletons, agent ding by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/111
  • Redesign the welcome screen in the VS Code / Cursor style by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/112
  • Server directory picker and repo discovery on the landing page by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/113
  • Mission control: desktop fixes, unified chrome, fleet status, presets, diff-to-prompt, CLI by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/115
  • Pane workspace: browser preview, Changes drawer, unified dock switch by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/116
  • release: bump versions to 0.2.0 by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/117
  • ci: allow cutting a release via workflow dispatch by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/118
  • fix: prebuild workspace packages for every dev entry point by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/119
  • ci: drop the pnpm store prune step from the release workflow by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/120
  • ci: fix the native rebuild step in the release workflow by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/121
  • ci: pin the Windows node-gyp override to a Node 20 compatible major by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/122
  • fix: add the package metadata the deb target requires by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/123
  • Quiet desktop chrome: sidebar parity, slim titlebar, segmented views by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/124
  • ci: build Windows releases on windows-2022 by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/125
  • ci: harden the release pipeline after the monorepo move by @sahithvibudhi in https://github.com/sahithvibudhi/vibe-tree/pull/127

New Contributors

  • @Krishnachaitanyakc made their first contribution in https://github.com/sahithvibudhi/vibe-tree/pull/6
  • @nithish08 made their first contribution in https://github.com/sahithvibudhi/vibe-tree/pull/13
  • @sathvik-palley made their first contribution in https://github.com/sahithvibudhi/vibe-tree/pull/20
  • @phuongnd08 made their first contribution in https://github.com/sahithvibudhi/vibe-tree/pull/34
  • @phamvmnhut made their first contribution in https://github.com/sahithvibudhi/vibe-tree/pull/105

Full Changelog: https://github.com/sahithvibudhi/vibe-tree/compare/v0.0.1...v0.2.0

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track vibe-tree

Get notified when new releases ship.

Sign up free

About vibe-tree

Execute Claude Code tasks in parallel git worktrees.

All releases →

Related context

Beta — feedback welcome: [email protected]