Skip to content
Latchkey

reuse lint missing SPDX-License-Identifier tag in CI

reuse lint found files that carry an SPDX-FileCopyrightText line but no SPDX-License-Identifier, so they land under "files without license information" and the repository is reported non-compliant.

What this error means

A file has a copyright header but the licensing list still flags it. reuse lint prints it under "files without license information" and exits 1.

Terminal
The following files have no licensing information:
* docs/guide.md

Unfortunately, your project is not compliant with version 3.3 of the REUSE Specification.

Common causes

The SPDX license tag is absent

The file has copyright text but is missing the SPDX-License-Identifier: line, so REUSE has no license to record for it.

The identifier is not a valid SPDX id

A misspelled or non-standard license string (not a recognized SPDX identifier) is not accepted, so the file is treated as lacking license information.

How to fix it

Add a valid SPDX-License-Identifier

  1. Add the tag with the exact SPDX identifier for the license.
  2. Ensure the matching license text exists under LICENSES/.
  3. Re-run reuse lint to confirm the file is now compliant.
docs/guide.md
<!--
SPDX-FileCopyrightText: 2026 Example Corp
SPDX-License-Identifier: CC-BY-4.0
-->

Verify the identifier against the SPDX list

Use the canonical SPDX identifier (case-sensitive) so REUSE recognizes it and can match a LICENSES/ file.

Terminal
reuse download CC-BY-4.0
reuse lint

How to prevent it

  • Template both SPDX lines together so copyright never ships without a license.
  • Validate identifiers against the SPDX license list.
  • Gate merges on reuse lint so gaps are caught at PR time.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →