Grove One terminal for you and your AI agent.

Connect a folder once. The menu bar, CLI, and built-in MCP server start, inspect, and stop the same real terminal processes.

macOS 15+ · Apple Silicon and Intel · signed and notarized

Grove showing project scripts and a running development server
Grove's menu bar popover with scripts and their current state

Grove reads the project you already have.

It follows workspace globs, finds every supported manifest, and keeps packages from different ecosystems separate. No new config file. No list to maintain.

package.jsondeno.jsonpyproject.tomlCargo.tomlgo.modMakefile.grove/scripts.json
Grove's main window with monorepo packages, scripts, live logs, and a detected port
One monorepo. Seven packages. Twenty-five scripts. Nothing configured.

See the whole stack run.

Put up to four live terminals side by side. Logs keep their color, ports become links, and failures stay visible until you check them.

Four Grove terminal panes showing tests, a web server, an API, and a watcher
tests exited 1
Grove explaining a failed test run with Apple's on-device model

Read the cause, not the last 200 lines.

Press Explain and Apple's on-device model summarizes the end of the log. Grove removes anything shaped like a token or password before the model sees it.

On device. No log upload.

Your agent runs the process you can see.

The CLI and MCP server control the running Grove app through a local unix socket. When an agent starts dev, it appears in your menu bar with the same logs, port, and stop control.

Read the agent docs
grove
# see everything Grove found
$ grove list

# start a server and wait for its port
$ grove start dev --wait-for-port
✓ dev is running at http://localhost:4321

# stream only the latest output
$ grove logs dev --follow

It behaves like a terminal because it is one.

01

Real terminals

Grove runs every script on a pseudo-terminal. Colors, progress bars, prompts, and signals behave like they do in your shell.

02

Whole process groups

Stop a script and Grove stops its children too. No abandoned dev servers. No mystery port still listening after the parent exits.

03

Your shell environment

Grove resolves your interactive shell once, then reuses it. Version managers work without adding startup time to every run.

Stop hunting for the terminal that is still running.

Free and open source · macOS 15 or later