Repo Storage is completely free during our early beta.
Your code is indexed and made searchable using our latest, state-of-the-art embedding and re-rank models with a simple import:
morph-v4-embedding for code understanding
morph-v4-rerank for top-tier code search quality
No setup or configuration is needed. Enjoy the best results with Morph’s new semantic search stack—at no cost, while in beta.
Push automatically triggers code embedding for semantic search—no vector DB setup, no infrastructure management. Use waitForEmbeddings() to know when processing is complete (3-100s depending on repo size).Each commit is indexed separately, letting you search specific branches or historical commits. See Semantic Search for search usage.
Push triggers embeddings in the background (fire-and-forget by default). For testing or when you need immediate search results, use waitForEmbeddings():
┌──────────────────────────────────────────────────────────────┐│ YOUR CODE → SEARCHABLE │└──────────────────────────────────────────────────────────────┘ morph.git.push() │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 1. SMART CHUNKING │ │ Parse code into semantic units (functions, classes) │ │ Not arbitrary line splits—real code structure │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 2. CODE EMBEDDING │ │ Convert chunks to vectors with morph-v4-embed │ │ Understands code semantics, not just keywords │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 3. READY TO SEARCH │ │ Indexed and searchable in 3-100s │ └─────────────────────────────────────────────────────────┘ SEARCH FLOW morph.codebaseSearch.search({ query: "auth logic" }) │ ▼ ┌─────────────────────────────────────────────────────────┐ │ STAGE 1: Fast Retrieval │ │ Find 50 candidates by embedding similarity (~130ms) │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ STAGE 2: Precision Reranking │ │ Score candidates with morph-v4-rerank (~700ms) │ │ Return top 10 most relevant results │ └─────────────────────────────────────────────────────────┘ │ ▼ Results ranked by relevance to your query
Why is search so accurate?
Two-stage retrieval: fast embedding similarity finds candidates, then cross-attention reranking scores each one precisely. This beats single-stage approaches.
Why is it so fast?
Content-addressable caching. Identical code chunks share embeddings across repos and commits. Most pushes only embed changed code—unchanged functions are instant.
What about large repos?
Tree-sitter parsing extracts semantic chunks (functions, classes) instead of arbitrary splits. Large files don’t create oversized chunks that hurt search quality.
Each commit is indexed separately, so you can search historical versions of your code. Perfect for debugging or comparing implementations across time. Specify commitHash in search to query specific versions.
Zero infrastructure – No vector databases, no embedding pipelines, no DevOps.AI-first design – Store agent conversations and browser recordings alongside code changes.Production-ready – State-of-the-art chunking, embeddings, and reranking built in.Git-native – Works with your existing Git workflow. No new tools to learn.Progress visibility – Know when embeddings are done with polling (Stripe-style async jobs).