---
title: markdown-heading-fragment-missing
description: Reports a checked Markdown fragment that does not match a GitHub heading slug.
---

[← All Rules](/rules/)

## What it does

Reports a same-document or cross-document fragment when the target Markdown document has no matching GitHub heading slug. Matching is exact after strict percent decoding.

## Why it matters

The path may exist while the fragment still sends readers to no heading.

## Examples

### Non-passing

```md title="docs/guide.md"
[Second repeat](topics.md#repeat-2)
```

```md title="docs/topics.md"
## Repeat

## Repeat
```

### Passing

```md title="docs/guide.md"
[Second repeat](topics.md#repeat-1)
```

```md title="docs/topics.md"
## Repeat

## Repeat
```

## When it applies

This Rule belongs to the configurable `markdown-destinations` group. Presswork checks fragments for Markdown files and Recognized Documents, including numeric suffixes on duplicate headings.

## References

See [Presswork Configuration](/configuration/#top-level-fields) for Markdown semantics and [`src/lib/markdown-targets.ts`](https://github.com/evilkiwi/presswork/blob/main/src/lib/markdown-targets.ts) for GitHub heading-slug collection.
