Hive is a native macOS application that combines git worktree management with AI-powered coding assistance. It allows you to work on multiple branches simultaneously without the hassle of stashing and switching.
Yes, Hive is free and open source under the MIT license.
Currently, Hive is macOS-only. Windows and Linux support are planned for future releases.
No! Hive handles all the worktree complexity for you. If you can use git branches, you can use Hive.
- macOS 12.0 (Monterey) or later
- Node.js 20+ (for development only)
- Git 2.20+ (for worktree support)
- At least 4GB RAM
- 500MB free disk space
The easiest way is via Homebrew:
brew tap morapelker/hive
brew install --cask hiveAlternatively, download the .dmg file from GitHub Releases.
This is macOS's Gatekeeper protection. To fix:
- Right-click on Hive in Applications
- Select "Open"
- Click "Open" in the dialog
- This only needs to be done once
If installed via Homebrew:
brew upgrade hiveOtherwise, download the latest version from GitHub Releases.
A worktree is a linked working copy of your repository. Think of it as having multiple copies of your repo, each on different branches, without duplicating the entire .git history.
By default, worktrees are stored in:
~/.hive-worktrees/{project-name}/{worktree-name}
Yes, if you have existing git worktrees, Hive will detect and manage them.
Archiving a worktree:
- Removes it from the active list
- Preserves the branch
- Moves files to
~/.hive-archive - Keeps session history searchable
Yes, use the "Unbranch" option to remove both the worktree and its associated branch.
Hive uses city names (Tokyo, Paris, London, etc.) to make worktrees memorable and fun. It's easier to remember "the Tokyo worktree" than "feature/user-auth-refactor-v2".
Hive has 200+ city names. If all are used, it adds version suffixes (tokyo-v1, tokyo-v2). You can also rename worktrees.
Hive's Connections feature allows you to link two worktrees together, creating a bridge between different branches. This enables you to reference code from one branch while working in another, share AI session context, and maintain awareness of related changes across your project.
Common scenarios include:
- Keeping your main branch visible while working on features
- Comparing different implementations side-by-side
- Working on related frontend and backend branches simultaneously
- Sharing AI session context between branches
- Reviewing changes with full context from both branches
- Ensuring compatibility between branches during development
- Open the first worktree
- Click the Connections icon (🔌) in the toolbar
- Select "Connect to Worktree"
- Choose the worktree you want to connect to
- The connection is established immediately
Yes! A single worktree can connect to up to 3 other worktrees simultaneously. Each connection appears in its own tab in the connections panel.
Connected worktrees can share:
- File references (read-only by default)
- AI session context (when enabled in settings)
- Git status and change information
- Terminal output (optional)
- Build and test status
No, connections don't synchronize changes. Each worktree remains independent. Connections provide visibility and context, not synchronization. You can view and reference files from connected worktrees but changes stay in their respective branches.
Yes! Connections are saved and will be restored when you reopen Hive. You can also save connection patterns as templates for quick reuse.
Yes, when AI session sharing is enabled, you can reference code from connected worktrees. For example: "Apply the same pattern used in the connected worktree's authentication system."
The connection becomes "broken" and shows a red indicator. You can either disconnect or wait until the worktree is restored. The connection configuration is preserved in case you want to restore it later.
Three ways:
- Click the connection icon and select "Disconnect"
- Use the keyboard shortcut
Cmd+Shift+D - Right-click on the connection in the panel and choose "Disconnect"
Yes! After setting up a connection pattern you use frequently (like "feature branch + main"), you can save it as a template. Then quickly apply that template to new worktrees.
Connections are lightweight and don't impact performance significantly. File references are loaded on-demand, and only metadata is kept in memory. With 3 or fewer connections per worktree, there's negligible overhead.
Look for these indicators:
- 🔗 icon in the worktree sidebar
- Badge showing number of connections
- Green highlight when actively connected
- Connection panel showing all linked worktrees
- OpenCode SDK - Default provider with full features
- Claude Code SDK - Anthropic's Claude assistant
It depends on your configuration:
- OpenCode: May require API key depending on setup
- Claude Code: Requires Anthropic API key
- Open Settings (
Cmd+,) - Navigate to AI Providers
- Enter your API keys
- Keys are stored locally and encrypted
AI sessions can:
- Read and write files
- Run terminal commands (with permission)
- Search your codebase
- Refactor code
- Generate tests
- Debug issues
- Answer questions about your code
Yes. All AI interactions happen directly between your machine and the AI provider's API. Hive doesn't store or transmit your code to any intermediary servers.
- OpenCode: Full undo/redo support
- Claude Code: Undo only (rewind functionality)
Common reasons:
- Internet connection issues
- API rate limits reached
- Invalid or expired API key
- Session timeout (usually after 30 minutes of inactivity)
- Limit open worktrees to 10-15
- Close unused file tabs
- Disable unused language servers in settings
- Check Activity Monitor for memory usage
- Restart Hive if it's been running for days
Hive respects .gitignore by default. To show ignored files:
- Open Settings
- Toggle "Show ignored files"
- Ensure the language server is installed
- Check Settings → Language Servers
- Restart the language server from the command palette
- Some languages require additional setup (see documentation)
To completely reset Hive:
- Quit Hive
- Delete
~/.hivedirectory - Delete
~/Library/Application Support/hive - Restart Hive
Warning: This will remove all projects, settings, and session history.
Logs are stored in:
~/Library/Logs/hive/
Use Console.app or tail -f ~/Library/Logs/hive/main.log to view them.
- Database:
~/.hive/hive.db(SQLite) - Worktrees:
~/.hive-worktrees/ - Archives:
~/.hive-archive/ - Logs:
~/Library/Logs/hive/ - Settings:
~/Library/Application Support/hive/
Hive doesn't automatically backup data. We recommend:
- Using Time Machine for system backups
- Backing up
~/.hivefor settings and history - Your git repositories are already backed up via git
Not yet, but this feature is on our roadmap. For now, you can manually copy the ~/.hive directory.
Hive includes optional, anonymous usage analytics via PostHog. You can disable this in Settings → Privacy.
Ensure you have write permissions to:
- The repository directory
~/.hive-worktrees/
This usually means:
- The repository is corrupted
- The
.gitdirectory is missing - You're in a subdirectory without git initialized
Set your git identity:
git config --global user.name "Your Name"
git config --global user.email "your@email.com"Check:
- Disk space (need at least 100MB free)
- Git version (
git --versionshould be 2.20+) - Repository isn't bare or corrupted
Yes! Hive works great with monorepos. Each worktree can focus on different parts of your monorepo.
Yes, with limitations. Submodules are supported but may require manual initialization in each worktree.
Yes, place hooks in your repository's .git/hooks/ directory. They'll apply to all worktrees.
Worktrees are regular git checkouts, so they work with any CI/CD system. Push from a worktree and your CI/CD will trigger normally.
Not directly, but you can:
- Use git commands on worktree directories
- Access the SQLite database at
~/.hive/hive.db - Use the command palette for common operations
Create an issue on GitHub with:
- Steps to reproduce
- Expected vs actual behavior
- System information
- Screenshots if applicable
Open a discussion or create a feature request.
- User Guide - Detailed usage instructions
- Contributing - How to contribute
- Architecture - Technical deep dive
See our Contributing Guidelines. We welcome:
- Bug fixes
- Feature additions
- Documentation improvements
- Translations
Not yet, but join our GitHub Discussions to connect with other users.
Still have questions? Open a discussion and we'll help!