import { morph } from 'morph'Better, faster, cheaper search via subagents
Use cases
Code Search · Log Search · Package Search. Read the docs →
const result = await morph.warpGrep.execute({ query: 'Find where billing invoices are emailed', repoRoot: './my-project',}) // Clean results, no context pollutionconsole.log(result.contexts) // Relevant code onlyconsole.log(result.summary) // Search findingsSearch codebases without
blowing context
Isolated context window
Searches your codebase in a separate context window. Your main agent only sees clean results—never raw grep output or dead-end searches.
import { morph } from 'morph' // WarpGrep searches in isolationconst result = await morph.warpGrep.execute({ query: 'Find where billing invoices are generated', repoRoot: '.', excludes: ['node_modules', '.git'], includes: ['src/**/*.ts']}) // Returns only relevant code sectionsfor (const ctx of result.contexts) { console.log(ctx.file, ctx.content)}Multi-turn reasoning
Up to 36 parallel tool calls across 3 turns. Reasons about what to search, runs grep/read/list_dir in parallel, returns relevant code in seconds.
Best-in-class F1 score
WarpGrep achieves 0.73 F1 in just 3.8 steps—3x fewer than comparable agentic approaches. Deep logic queries show 2x-6x better performance.
WarpGrep achieves 0.73 F1 in 3.8 steps — 3x fewer than comparable agentic approaches
Parallel breadth-first search

What engineers say after running WarpGrep on real codebases.
“WarpGrep has been awesome for me. Other alternatives don't work at scale on larger code bases IME.”
“everyone should try @morphllm's WarpGrep, it's really good and quite fast for the subagents it's handling, basically a cheaper way to get better context. my Opus 4.5 bill is much more in control now.”
Search any GitHub repo. No clone required.
Point WarpGrep at any public GitHub repository and search it remotely. Ask complex questions about unfamiliar codebases without downloading a single file.
Search pytorch/pytorch, facebook/react, or any repo by name
Pin specific branches or tags for version-locked search
Works as an MCP tool, SDK call, or in the playground