vercel/next.js · error

This is an internal example for testing the CLI.

Error message

This is an internal example for testing the CLI.

What it means

create-next-app's `downloadAndExtractExample` explicitly rejects the sentinel name `__internal-testing-retry` with this message. That name is a reserved fixture used by CNA's own test suite to exercise the retry/error path; it is not a real example, so attempting to scaffold it is blocked to prevent the downloader from trying to fetch a non-existent example folder.

Source

Thrown at packages/create-next-app/helpers/examples.ts:134

        // This avoids the condition when the repository has been renamed, and the old repository name is used to fetch the example.
        // The tar download will work as it is redirected automatically, but the root directory of the extracted
        // example will be the new, renamed name instead of the name used to fetch the example, breaking the filter.
        if (rootPath === null) {
          const pathSegments = posixPath.split(posix.sep)
          rootPath = pathSegments.length ? pathSegments[0] : null
        }

        return posixPath.startsWith(
          `${rootPath}${filePath ? `/${filePath}/` : '/'}`
        )
      },
    })
  )
}

export async function downloadAndExtractExample(root: string, name: string) {
  if (name === '__internal-testing-retry') {
    throw new Error('This is an internal example for testing the CLI.')
  }

  await pipeline(
    await downloadTarStream(
      'https://codeload.github.com/vercel/next.js/tar.gz/canary'
    ),
    x({
      cwd: root,
      strip: 2 + name.split('/').length,
      filter: (p) => p.includes(`next.js-canary/examples/${name}/`),
    })
  )
}

View on GitHub (pinned to 0ae8c72462)

Solutions

  1. Choose a real example name from https://github.com/vercel/next.js/tree/canary/examples (e.g. `--example with-typescript`).
  2. If you were testing the CLI error path, use the sentinel intentionally and expect this message.
  3. If automating example listing, filter out `__internal-testing-retry` from the offered names.

Example fix

# before
npx create-next-app --example __internal-testing-retry my-app

# after
npx create-next-app --example with-typescript my-app
Defensive patterns

Strategy: validation

Validate before calling

const RESERVED = new Set(['__internal-testing-retry'])
if (RESERVED.has(exampleName)) {
  throw new Error(`'${exampleName}' is a reserved internal fixture; choose a real example.`)
}

Type guard

function isReservedExampleName(name: string): boolean {
  return name === '__internal-testing-retry'
}

Prevention

When it happens

Trigger: Running `create-next-app --example __internal-testing-retry ...` (or passing that exact string programmatically). Any other example name proceeds normally.

Common situations: Curiosity/testing the CLI with the internal fixture name; copy-pasting from a test file; tooling that enumerates example names accidentally including the sentinel.

Related errors


AI-assisted analysis of vercel/next.js@0ae8c72462 (2026-08-06). Data as JSON: /api/errors/690a31ed93be6143. Report an issue: GitHub.