Every codebase remembers its bugs.

Now your agent
does too.

ScarTissue indexes your repo's history of fixes and warns when a PR is about to reintroduce a regression your team has already paid for.

2,940 incidents indexed across LangChain, Next.js, FastAPI, OpenAI, Anthropic SDK, and LangChainJS  ·  catches regressions before they merge

How it works

Three steps. No setup ceremony.

Point ScarTissue at any GitHub repo. Within minutes you have a regression-detection layer riding on top of every PR your team opens.

01

Index

Mine your repo's full git history. Every fix commit becomes a data point in your scar tissue index.

02

Review

Paste any PR URL. ScarTissue cross-references every hunk against known regression patterns.

03

Warn

Receive targeted warnings with matched prior commits, severity ratings, and proposed fixes.

Install

Wire it up in under a minute.

Drop the MCP config into your agent of choice. ScarTissue becomes a tool your model can call from inside any chat or PR review.

Prerequisites: Install via pip, then grab three API keys.

Available on PyPI
  1. pip install scartissue-mcp
  2. Anthropic API key from console.anthropic.com
  3. Nia API key from app.trynia.ai (free tier available)
  4. GitHub personal access token from github.com/settings/tokens
~/.claude/mcp.json
{  "mcpServers": {    "scartissue": {      "command": "scartissue-mcp",      "env": {        "ANTHROPIC_API_KEY": "sk-ant-...",        "NIA_API_KEY": "nia_...",        "GITHUB_TOKEN": "ghp_..."      }    }  }}

After installing, ask your agent to index a repo first:

"index langchain-ai/langchain using scartissue"

Indexing takes 5-15 minutes per repo and only needs to be done once. You can also try the web interface above for instant access to pre-indexed repos.

Or skip the install

Use the web interface.

Paste any GitHub PR URL and watch ScarTissue cross-reference every hunk against your indexed history in real time. No CLI, no local install.

Live example

A regression caught before it shipped.

A real pattern from langchain-ai/langchain. The PR removed the cleanup path. ScarTissue matched it to the original fix and emitted a high-confidence warning.

PR hunklangchain/callbacks/manager.py
40
async def on_llm_end(self, response, **kwargs):
41
coros = []
42
for handler in self.handlers:
43
try:
44
coros.append(handler.on_llm_end(response, **kwargs))
45
finally:
46
await handler.aclose()
47
+
coros.append(handler.on_llm_end(response, **kwargs))
HIGH
Async iterator cleanup removed — resource leak under task cancellation
langchain/callbacks/manager.py:350
Removing the try/finally block that called handler.aclose() mirrors the pattern that caused file handles and HTTP connections to leak in the v0.0.318 regression.
c891de3·fix: ensure astream cleanup on generator cancellation
Surface area

Runs where you work.

Same engine, three places. Whether you live in a terminal, a browser, or GitHub itself, ScarTissue meets you there.

Available

Your terminal

Native MCP integration for Claude Code, Codex CLI, and Gemini CLI. Ask your agent to review any PR — it returns warnings, severity, and proposed fixes inline.

Available

Web interface

Paste any PR URL and watch ScarTissue cross-reference every hunk against the indexed history in real time. Post warnings back to GitHub in one click.

Coming soon

GitHub bot

Automatically reviews every PR your team opens and posts warnings as inline review comments. Zero-config once installed on your org.