Codemod Grep searches private and organization repositories you have granted Codemod access to. Public structural search across open-source repositories lives at grep.codemod.com.
Prerequisites
- Sign in to Codemod.
- Connect GitHub or GitLab so repositories appear in your scope.
- Index the repositories you want to search. Listing and searching never start indexing automatically.
Search indexed code
1
Open Grep
Go to Grep in the Codemod app.
2
Index repositories (first run)
If no repositories are searchable yet, select the repositories to index and start indexing. Wait until they show as searchable before you run a query.When some repositories are already searchable, use Add repositories to index more without leaving the search studio.
3
Choose a mode and write a query
Pick Pattern, Regex, or YAML, then enter the query. Optionally narrow by language, repository, and path filter.
4
Review matches
Results group by repository and file, with snippets, exact line ranges, and links back to GitHub or GitLab. Use pagination to load more files when the result set continues.
Query modes
Pattern and YAML run through Codemod’s indexed ast-grep engine. Regex runs as a PostgreSQL regular expression against decrypted snapshot content inside the database. Interactive Grep does not execute user-authored JavaScript.
Filters
- Language: search all indexed languages in scope, or limit to one or more parsers.
- Repositories: omit the filter to search every searchable repository in the current scope, or select a subset.
- Path: optional
glob,contains,prefix, orbasenamefilter to limit which files are considered.
language is authoritative for the rule.
Results
Successful searches return:- Match counts and truncated state when limits apply
- File-grouped snippets with exact ranges (not full source files)
- Provider links to the indexed commit on GitHub or GitLab
- Partial failures for repositories that are not indexed, lack the selected language, or fail during execution
Grep MCP
MCP clients can search the same repository scope through the Grep MCP endpoint:Create Insights dashboards from Grep
Use Grep for exploratory searches, then promote a useful query into a persistent Insights dashboard. The dashboard keeps the query and repository scope as editable configuration so you can track the same pattern over time—with Insights features such as timeseries trends, table breakdowns, and group-by dimensions like repository or codeowner (team ownership). Grep finds the matches. Insights turns that search into ongoing visibility.1
Run a Grep search
Complete a Pattern, Regex, or YAML search against the repositories you care about. Refine language and path filters until the results look right.
2
Create an Insights dashboard
After results load, choose Create Insights dashboard. Name the dashboard, confirm which repositories to include (up to 10), and select the languages to track.
3
Review and extend in Insights
Open the new dashboard to see the generated match-total and repository-breakdown widgets. From there, add timeseries charts, ownership breakdowns, formulas, or additional queries using the normal Insights editor.
- The exact query, mode, optional path filter, and selected repositories
- Count-oriented widgets for total matches and per-repository breakdown
- Languages you chose at creation time (fewer languages usually compute faster)
- Match snippets, file paths, or individual result rows from the Grep UI
Regex dashboards use Insights/JSSG regex semantics, which can differ slightly from interactive Grep’s PostgreSQL regex results.
Troubleshooting
Related docs
Insights
Track pattern adoption and migration progress with dashboards.
ast-grep YAML queries
Reuse ast-grep rules in Insights widgets.
Wish
Ask Codemod Wish to search or index repositories from chat.
GitHub integration
Grant repository access so Grep can index and search your code.