Grove documentation
Grove is self-hosted code search. It clones the repositories of your GitHub, GitLab and Bitbucket organizations, indexes them with Zoekt and universal-ctags, and makes them searchable from a web app, a browser extension and any AI assistant that speaks the Model Context Protocol.


Using Grove
- Search syntax: text and regex queries, filters such as
repo:,file:andlang:, and how to search a specific branch, tag or commit. - Code navigation: browsing files, blame and history, and jumping between definitions and references.
- Commit and diff search: searching commit messages, and finding the commits that added or removed a line.
- Saved searches and contexts: bookmarking and scheduling queries, alerts, and reusable search scopes.
- AI assistants (MCP): connecting Claude Code, GitHub Copilot and other MCP clients.
- Browser extension: definitions and references directly on your code host.
Running Grove
- Deployment: requirements, the container image, storage and databases.
- Configuration: every environment variable, with defaults.
- Authentication: OIDC sign-in, API keys, service tokens and proxy headers.
- Code hosts: connecting GitHub, GitLab and Bitbucket and choosing what gets indexed.
Quick tour
- Search. Type in the search bar on any page. Press / to focus it. The Text / Regex toggle decides how free text is read; filters like
repo:work in both. - Narrow down. The sidebar on the results page counts matches per language and repository; click one to add it as a filter.
- Open a file. Click a result to open the code viewer at that line. Hover an identifier to find its references or definition.
- Keep it. Save search bookmarks the query; Download exports the results.
- Connect your tools. Set me up in the top bar creates an API key and shows the configuration for Claude Code, GitHub Copilot and the browser extension.