Your product lead plans the work in Grove. You and your coding agent build it. Grove hands your agent a whole project, ready to build: the outcomes it must deliver, the product decisions already made, and a way to ask when something is unclear. When you ship, Grove checks the code against the plan.
For a short walkthrough, see Quick start for builders. This article covers the setup in full.
How the work flows
Your product lead marks a project Ready to build.
You pick it up. Your agent copies the project's plan into your repo and builds from it.
You ask when the plan is unclear. Your agent raises a thread, and your product lead answers in Grove.
You link your pull request to the project, and say which outcomes it delivers.
Grove reads the merged code and checks it against each outcome. Your product lead reviews and marks the work done.
The plan holds the product decisions: what to build and how it behaves. How you build it is up to you.
Install the Grove CLI
In Grove, click your picture at the bottom right, then Connect your agent.
Open the Build from specs tab.
Copy the command under Install the Grove CLI, and run it in your terminal.
You need:
Node.js 22 or later.
curl, andsha256sumorshasum. Most macOS and Linux systems have them.On Windows: WSL or Git Bash.
The installer checks the download before it installs it. It puts the CLI in ~/.grove/.
If your terminal doesn't recognize grove afterwards, add this line to your shell startup file (~/.zshrc or ~/.bashrc), then open a new terminal:
export PATH="$HOME/.grove/bin:$PATH"
Sign in
grove login
Your browser opens. Sign in with your Grove account. The terminal then shows "Logged in as" and your email. If the browser doesn't open, the terminal shows a link to open yourself. Sign-in times out after 2 minutes.
Grove saves your sign-in in ~/.grove/auth.json. To sign out, run grove logout.
Work in more than one workspace
The CLI works in one workspace at a time.
grove workspace listshows your workspaces. The active one has a*.grove workspace switchlets you pick another one.
Set up your repo
You do this once for each repo. Paste this prompt to your coding agent:
Set Grove up in this repo: install the Grove CLI if it isn't already, run `grove init`, do what it says, and open a PR for it.
grove init prints a short instruction. Your agent adds it to CLAUDE.md, AGENTS.md, and GEMINI.md at the root of your repo, so every coding agent reads it. The instruction tells the agent to run grove when it starts work in a worktree. Merge the pull request.
Grove keeps its working files in a .grove/ folder. Add .grove/ to your .gitignore.
What grove tells your agent
When your agent runs grove with nothing after it, Grove says what this worktree is for:
A project is assigned: Grove names it, and lists what the pull request must carry.
No project is assigned yet: Grove helps your agent find one. If your branch name has a project ID in it, such as
p-003-move-a-visit, Grove suggests that project. Your agent still asks you before it picks one up.No project applies: you recorded that with
grove project assign --none, and Grove stops asking.
Grove also says when a project's plan has changed since your agent last copied it. See Pick up a project and stay in sync.
Keep the CLI up to date
grove upgrade
When a newer version is out, the CLI tells you. If your version is too old to work with Grove, every command stops and says "Run: grove upgrade."

