---
title: "issue-graph"
description: "Find related issues, competing changes, and unresolved follow-ups before you start work. A CLI for maintainers and coding agents."
canonical_url: "https://issue-graph.dev/"
lastUpdated: 2026-11-07
---

# issue-graph

Find related work before you start

Map related issues and pull requests across GitHub and Linear, group open work by root cause, and open the exact view in your browser.

Install with npm install -g issue-graph@latest, or try npx issue-graph@latest --help. Requires Node.js 20+. Live GitHub queries use GitHub CLI authentication; saved queries and config work offline.

## For humans

```sh
npm install -g issue-graph@latest
```

## For agents

```sh
npx skills@latest add vercel-labs/issue-graph
```

Capture a GitHub repository or a Linear workspace, filter saved work, and open the exact dashboard view before making changes. GitHub and Linear access is read-only. Captures and query history write local files. Query requires a saved capture.

## Command examples

Selected JSON fields from a public CLI capture, not live results. The website tabs only switch the displayed example; they do not run commands or call GitHub. Run Capture before the query examples.

### Capture

80 open items captured within an explicit budget

```sh
issue-graph open vercel-labs/portless --budget 80 --format json --no-open
```

```text
{
  "repo": "vercel-labs/portless",
  "saved": true,
  "open": 80,
  "linked": 0,
  "notCrawled": 40,
  "next": "issue-graph cluster vercel-labs/portless"
}
```

Captured with issue-graph 0.4.0: 2026-09-27T19:21:37.165Z. Budget: 80 items. The capture contains 80 open items and omits 40 referenced items. It is not a complete repository inventory. Heat ranks discussion signals, not severity. Queries read this saved capture without fetching GitHub.

### Prioritize

10 issues in the top 25% by Heat · first two shown

```sh
issue-graph query github:vercel-labs/portless --state open --kind Issue --heat-top 25 --view rank --json --no-open
```

```text
{
  "counts": {
    "captured": 80,
    "matched": 10,
    "visible": 10,
    "ranked": 10
  },
  "heat": {
    "threshold": 8.3,
    "baselineCount": 40
  },
  "items": [
    {
      "key": "vercel-labs/portless#313",
      "title": "Cloudflare tunnel support",
      "score": 33.2
    },
    {
      "key": "vercel-labs/portless#326",
      "title": "Add --no-worktree support when running apps with explicit names",
      "score": 26.6
    }
  ]
}
```

Captured with issue-graph 0.4.0: 2026-09-27T19:21:37.165Z. Budget: 80 items. The capture contains 80 open items and omits 40 referenced items. It is not a complete repository inventory. Heat ranks discussion signals, not severity. Queries read this saved capture without fetching GitHub.

### Dashboard

Open the same ranking, filters, and weights in your browser

```sh
issue-graph query github:vercel-labs/portless --state open --kind Issue --heat-top 25 --view rank --json --open
```

```text
{
  "opened": true
}
```

![Captured portless Rank dashboard with three active filters, adjustable weights, and issue #313 first at 33.2 Heat.](https://issue-graph.dev/dashboard-rank.png)

Captured with issue-graph 0.4.0: 2026-09-27T19:21:37.165Z. Budget: 80 items. The capture contains 80 open items and omits 40 referenced items. It is not a complete repository inventory. Heat ranks discussion signals, not severity. Queries read this saved capture without fetching GitHub.

## Map your backlog

Capture open issues, PRs, and their references. Explore linked work or ask your agent to group it by root cause.

```sh
issue-graph open vercel-labs/portless --budget 80 --no-open
```

[Capture a backlog](https://issue-graph.dev/docs/dashboard#capture-a-repository)

## Choose what to inspect next

Filter by kind, state, cluster, or Heat. Rank open work with weights you control. Heat measures discussion, not severity.

```sh
issue-graph query github:vercel-labs/portless --kind Issue --heat-top 25 --view rank --json --no-open
```

[Filter and rank](https://issue-graph.dev/docs/dashboard#prioritize-with-filters)

## Open the exact view

Keep the CLI and dashboard on the same filters and weights. Explore in the browser or replay a saved query.

```sh
issue-graph query github:vercel-labs/portless --kind Issue --heat-top 25 --view rank --open
```

[Use the dashboard](https://issue-graph.dev/docs/dashboard#open-the-exact-result)

## Resources

- [Documentation](https://issue-graph.dev/docs)
- [Getting started](https://issue-graph.dev/docs/get-started)
- [For agents](https://issue-graph.dev/docs/agents)
- [Release-compatible agent setup](https://issue-graph.dev/docs/agents.md)
- [Documentation index](https://issue-graph.dev/llms.txt)
