Grove CLI

Grove opens a Zellij session with one tab per git worktree, each with LazyGit, a shell and an AI agent.

  • 81 ★ on the repository
  • Last commit
CLI

Extended access

Why this level

  • The installer downloads and runs a script, installs packages through Homebrew and edits the shell profile.
  • Agents in the panes work with full access to their own worktree.
All reasons and checks

thisguymartin/grove

Install

Manual install

bash <(curl -fsSL https://raw.githubusercontent.com/thisguymartin/grove/main/install/install.sh)

The recommended README installer for bash and zsh: it asks which agent to install. Read the script before running it.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The installer downloads and runs a script, installs packages through Homebrew and edits the shell profile.
  • Agents in the panes work with full access to their own worktree.

This is third-party code. Review the repository files before installing.

What it does

Grove starts a Zellij session for a repository. Each branch sits in its own git worktree and gets a tab with three panes: LazyGit, a working shell and the chosen agent (`claude`, `gemini`, `opencode` or `codex`). The first tab shows a status overview with the branches that need attention first. Running `grove` again attaches to the live session without restarting agents or shells. Branches are created with `grove new` and `grove add`, removed with `grove rm` and `grove prune`, and tabs switch with `Alt+Left` and `Alt+Right`.

Who it is for. Developers who run several branches in parallel with one agent each, without constant stashing and switching.

Good fit when

  • A feature and an urgent bugfix are in progress at once, and each branch needs its own agent.
  • An agent session should stay in the background and be resumed with `grove`.
  • You want an overview of which branches have open pull requests and failing checks.
  • Stale branches should be removed together with their worktrees via `grove prune`.

Not a fit when

  • Work happens in one branch and git worktrees are not needed.
  • The workspace should live in a graphical environment, not a terminal.
  • Homebrew cannot be used: the README installer relies on `brew`.

Example request

Create a worktree for the fix-login branch, run `grove` and open the agent in the new tab.

Limitations

The README installer uses Homebrew for dependencies, and Zellij asks permission to load the bundled `zjstatus` plugin. Grove does not replace agents: one of the CLIs is required and is installed during setup or separately. On fish, installation goes through a pipe and needs the `--agent` flag. The repository states no license, so clarify the terms of use with the author. The project is a set of shell scripts for now, and there are no ready packages for other package managers.

How to disable. Delete the Grove clone (`~/.local/share/grove` by default) and the `source` line for `git-worktree-aliases.sh` from `~/.zshrc` or `~/.bashrc`. The `~/.config/grove/config` file can be deleted too.

FAQ

Which agents does Grove support?

Codex, OpenCode, Claude Code and Gemini CLI. The installer installs only the one you pick.

What does `grove up --fresh` do?

It replaces the repository session with a new one. Plain `grove` attaches to the existing session and restarts nothing.

How do I get the stock Zellij bars back?

Launch `GROVE_ZELLIJ_BAR=stock grove` to keep the native Zellij bars instead of the Grove bar.

How do I clean up finished branches?

`grove rm` removes a branch and its worktree, and `grove prune` clears finished branches in bulk.

What does the first tab show?

A live status table where branches that need attention come first. For typed git, checks and agent status you can set `GROVE_STATUS_BIN`.

Discussion

No questions or reviews yet.

CLI tools

A git worktree CLI built for running Claude Code and Codex in parallel: the wt command, a plugin, and automation hooks

CLIExtended access12.5KRepository stars

A Git client with a built-in MCP server for Windows, macOS and Linux: an agent reads repos, PRs, issues and CI logs, read-only

MCP serverBroad access248Repository stars

A Zellij sidebar showing the status of Claude Code, Codex and other agents per tab: working, waiting, done or failed

PluginExtended access75Repository stars

gitai is an open source-control server for hundreds of agents: landing by compare-and-swap, server-side history and the graft CLI.

CLIExtended access1KRepository stars

A skill that splits changes into logical Conventional Commits and safely handles branches, pushes and pull requests.

SkillExtended access105Repository stars

A local gate in front of git push: the branch goes through review, tests, docs and lint in a separate worktree before it reaches the remote with a PR

CLIBroad access9.2KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
Grove (this card)no81
cmuxno28,779a native macOS terminal with agent notifications; Grove is a layer on top of Zellij and git worktrees
tmux-ideyes567shows agent state in tmux sessions; Grove creates a tab per worktree and launches the agents itself

README in short

The README explains the tab layout, gives a one-line install and a manual path. It then lists commands, settings and a way to test the Zellij layout.

README badge

Report a problem