facebook/docusaurus · error · Error
The following permalinks are duplicated: ${errorMessage}
Error message
The following permalinks are duplicated:
${errorMessage} What it means
Thrown by authorsMap validation when two or more authors in the authors map share the same permalink (authorsMap.permalink). Each author page must have a unique URL; duplicates would cause route collisions. The message lists each duplicated permalink and the conflicting author names.
Source
Thrown at packages/docusaurus-plugin-content-blog/src/authorsMap.ts:88
// Group authors by their permalink
.groupBy((author) => author.page?.permalink)
// Filter to keep only permalinks with more than one author
.pickBy((authors) => authors.length > 1)
// Transform the object into an array of [permalink, authors] pairs
.toPairs()
.value();
if (permalinkCounts.length > 0) {
const errorMessage = permalinkCounts
.map(
([permalink, authors]) =>
`Permalink: ${permalink}\nAuthors: ${authors
.map((author) => author.name || 'Unknown')
.join(', ')}`,
)
.join('\n');
throw new Error(
`The following permalinks are duplicated:\n${errorMessage}`,
);
}
}
function normalizeAuthor({
authorsBaseRoutePath,
authorKey,
baseUrl,
author,
}: {
authorsBaseRoutePath: string;
authorKey: string;
baseUrl: string;
author: AuthorInput;
}): AuthorWithKey {
function getAuthorPage(): AuthorPage | null {
if (!author.page) {View on GitHub (pinned to 3f483e80e3)
Solutions
- Open authors.yml and find every entry listed in the error message.
- Give each author a distinct permalink (e.g. /authors/jane, /authors/john).
- Re-run the build to confirm no other permalink collisions remain.
Example fix
# before jane: name: Jane permalink: /authors/j john: name: John permalink: /authors/j # after jane: name: Jane permalink: /authors/jane john: name: John permalink: /authors/john
Defensive patterns
Strategy: validation
Validate before calling
const permalinks = Object.values(authorsMap).map(a => (a as any).permalink).filter(Boolean);
const dupes = permalinks.filter((p, i, arr) => arr.indexOf(p) !== i);
if (dupes.length) throw new Error(`Duplicate author permalinks: ${dupes}`); Prevention
- Always set an explicit permalink for each author entry.
- CI-lint the authors map for unique permalinks.
When it happens
Trigger: Two keyed authors in authors.yml specify the same `permalink` value (or both omit it, resolving to a default). Triggered when the blog plugin builds the authors map.
Common situations: Copying an author entry and forgetting to change the permalink, or removing permalink from multiple entries so they all fall back to the same slugified name. Locale-specific author files that duplicate permalinks.
Related errors
- Author socials should be usernames/userIds/handles, or fully
- Can't reference blog post authors by a key (such as '${key}'
- To declare blog post authors, use the 'authors' front matter
- Duplicate blog post authors were found in blog post path=${b
- Duplicate permalinks found in tags file: ${duplicateList}
AI-assisted analysis of facebook/docusaurus@3f483e80e3 (2026-08-12).
Data as JSON: /api/errors/80027340cb04bd4e.
Report an issue: GitHub.