Skip to main content

Grove CLI command reference

Every Grove CLI command, what it does, and its main options.

Written by Jack Meyers

This page lists every command in the Grove CLI. For the details of any command, run grove help and the command's name, such as grove help "project assign".

Commands follow the pattern grove <thing> <action>, such as grove project list. Projects are named by their ID, such as P-042. Initiatives are named by their slug, as grove initiative list shows it.

Account and setup

Command

What it does

grove

Shows what this worktree is assigned to, and what its pull request must carry. Your coding agent runs it when it starts work.

grove login

Signs you in through your browser. Saves a token at ~/.grove/auth.json.

grove logout

Deletes the saved token.

grove upgrade

Updates the CLI to the latest version.

grove init

Prints the instruction to add to your repo's CLAUDE.md, AGENTS.md, and GEMINI.md. Safe to run again. It only prints.

grove workspace list

Lists your workspaces. The active one is marked with *.

grove workspace switch [slug]

Switches the active workspace. With no slug, it shows a picker.

grove help [command]

Shows help.

Find and read projects

Command

What it does

grove project list

Lists every project you can see, by initiative, with its ID, names, and status. Filters: --initiative, --status, --priority, --lead, --member, --mine, --assigned-here. Repeat a filter to match any of its values.

grove project view <P-NNN>

Prints the project's spec: the summary with its outcomes, then the requirements. Use --summary or --requirements for one.

grove project show <P-NNN>

Prints every detail Grove holds about the project, such as status, priority, dates, lead, and members.

grove initiative list

Lists every initiative, with its status and how many projects are built. Filters: --status, --priority.

grove initiative show <slug>

Prints every detail Grove holds about the initiative.

grove initiative view <slug>

Prints the initiative's plan: Opportunity and Solution, Scope with its projects, and other documents.

grove file list [path]

Lists the files Grove holds for your assigned project, or at a path.

Pick up and sync a project

Command

What it does

grove project assign <P-NNN>

Picks up a project: copies its files into .grove/tree/, points .grove/project at them, moves the project to Building, and adds you to its members.

grove project assign --none

Records that no project applies to this worktree. Grove stops asking.

grove project unassign <P-NNN>

Clears the assignment on this worktree.

grove project sync <P-NNN>

Refreshes the project's local files from Grove. Local edits to those files are overwritten.

Threads

Command

What it does

grove thread raise <P-NNN> --message "..."

Raises a point for a person to answer. Add --document for one document, and --quote for a passage. Use --initiative <slug> for an initiative. Use --dry-run to test without posting.

grove thread list <P-NNN>

Lists a project's threads, one row each.

grove thread show <thread ID>

Prints one thread, with every post.

grove thread reply <thread ID> --message "..."

Adds a reply. A reply reopens a closed thread.

grove thread settle <thread ID>

Closes a thread. Add --message to post the decision first.

When your coding agent writes a post, it adds --agent with its own name. The post then shows as, for example, "Claude (on behalf of Sam)."

Write documents and Scratchpad files

Command

What it does

grove project summary write <P-NNN>

Replaces the project's summary with a whole new document, from stdin or --from-file.

grove project outcomes write <P-NNN>

Replaces only the outcomes list in the summary.

grove project requirements write <P-NNN>

Replaces the project's Requirements with a whole new document.

grove artifact create <P-NNN> --kind document|visual --name "..."

Adds a document or a visual to the project's Scratchpad.

grove artifact read <path>

Prints a Scratchpad file.

grove artifact revise <path>

Replaces a Scratchpad file, or one section of it with --section. Rename it with --name.

Grove checks each document against its standard. If a document doesn't meet it, Grove says why, and writes nothing. Before you write one, grove project view says when to raise a thread instead.

Create and organize work

Command

What it does

grove project create --initiative <slug>

Creates a project in an initiative, as Unplanned. Name it with --short-name and --long-name.

grove project set <P-NNN>

Changes a project's details: --short-name, --long-name, --status, --priority, --lead, --member, --add-member, --target, --start.

grove project move <P-NNN> --initiative <slug>

Moves a project to another initiative.

grove project archive <P-NNN>...

Archives projects. This can't be undone.

grove initiative create <name> --description "..."

Creates an initiative.

grove initiative set <slug>

Changes an initiative's details: --name, --description, --short-description, --lead, --target, --start, --priority, --status.

grove initiative archive <slug>...

Archives initiatives and every project in them. This can't be undone.

These commands don't ask you to confirm. When your coding agent runs them, it should check with you first.

Results you may see

  • Posted or Settled: it worked.

  • Rejected: it didn't work. Running it again unchanged fails the same way.

  • UNKNOWN: Grove couldn't tell if it worked. Check before you run it again. For example, run grove thread list before you raise a thread again, so you don't raise it twice.

Related articles

Did this answer your question?