# A bloated Linear backlog is mostly the same issue, filed again.

A free, read-only tool that reads one Linear team, finds duplicate and related issues by meaning, and lists the open issues your merged pull requests already finished. Issue text is embedded on your machine.

## Why it happens

A backlog grows one reasonable issue at a time: a bug reported twice in different words, a follow-up nobody linked, an issue a pull request finished last month. Linear can mark a duplicate once you know, but finding them across hundreds of issues is the hard part.

## What emBEADings does

It reads one Linear team through the API, embeds the issue text on your machine, and gives you a short, ranked list: issues that mean the same thing, related issues with no link, and open issues your merged pull requests already did. It never writes to Linear.

## Try it

```sh
pipx install embeadings
export LINEAR_API_KEY=lin_api_...          # a personal API key

embead --source linear --linear-team ENG triage
embead --source linear --linear-team ENG neighbors ENG-123 --orphans-only
embead --source linear --linear-team ENG superseded --since 2026-10-01 --repo ~/code/app
```

## Questions

### Does it change anything in Linear?

No. The Linear adapter only reads. You mark duplicates and close issues in Linear yourself.

### Do my issues get sent to an AI service?

No. Issue text is embedded locally with a small open model. Only the Linear API itself is called.

### Can it tell me which issues a merged pull request already fixed?

Yes. embead superseded reads your merged commits from git and lists open issues they name by ID, then ranks the rest by how closely they match each commit.

emBEADings is free and open source (MIT): https://github.com/CantrellJax/embeadings. Made by Jackson Cantrell (https://jacksoncantrell.com). Listed in the Beads community tools: https://beads.gascity.com/community-tools
