What this error means

When ERC reaches a local, global, or hierarchical label, it counts the symbol pins on the label's net. If the wire the label sits on already touches two or more pins, the label is naming a routed net and the check passes immediately. Otherwise ERC adds up the pins on every net fragment that resolves to the same name — design-wide for global labels, within the sheet for local ones. A total of exactly one pin, with no no-connect marker anywhere on the net, produces this warning.

A label on a net with zero pins reports label_dangling instead, and labels on buses are exempt — bus members are checked individually.

Common causes

1. The matching label is missing or spelled differently

Labels connect by exact name. If this end says SENSE and the other says SENSSE — or you renamed one end and forgot the other — each half is a one-pin net and both ends report this warning in a pair.

2. A local label where a global or hierarchical one was intended

Local labels only match within their own sheet. If the counterpart with the same name sits on a different sheet, each sheet gets a private one-pin net and each label is flagged. Crossing sheets takes a global label on both ends, or a hierarchical label plus sheet pin.

3. A deliberately named one-pin net

Labeling a spare connector pin or a probe stub gives the copper a readable name on the PCB, and the net does keep the label's name in the netlist. ERC flags it anyway and leaves the judgment to you.

How to fix it

Fix the name or connect the other end

  1. Press Ctrl+F and search for the label's text to find every place the name appears; a near-miss spelling next to it is the typo.
  2. Make both ends identical, or place the missing matching label at the destination and wire it to its pin.
  3. Re-run ERC (Inspect → Electrical Rules Checker); both ends clear together.

Use when: The net was meant to go somewhere. This is the large majority of real hits, and the warning usually appears in mismatched pairs.

Use a global label when the other end is on another sheet

  1. Right-click the local label → Change to Global Label, on both ends.
  2. Or keep it local and route through the hierarchy: a hierarchical label on the subsheet plus a matching sheet pin on the parent.
  3. Re-run ERC.

Use when: The same name exists on two sheets and you expected them to connect. Local labels never cross sheets, whatever the name.

Mark an intentional stub with a no-connect flag

  1. Press Q (Place No Connect Flags) and click the labeled pin's tip.
  2. Re-run ERC; the warning for that net is suppressed and the net keeps the label's name in the netlist.

Use when: The one-pin net is deliberate: a named spare pin, a test stub. The no-connect records the intent in the schematic instead of in the exclusion list.

When it’s safe to exclude

Rarely — though this check has a more legitimate intentional case than most. For deliberately named single-pin nets, prefer the no-connect flag (fix 3): it suppresses exactly this net, visibly on the schematic, and under 10.0.6 it trips no other check. Right-clicking the marker → Exclude this Violation does the same invisibly.

What you should not do is downgrade the whole check to Ignore in Schematic Setup → Electrical Rules → Violation Severity: this is the check that catches label typos, and a typo'd net looks exactly like an intentional stub until you trace it.

Gotchas

  • Global labels trip this too. The dedicated single_global_label check ("Global label only appears once in the schematic") ships set to Ignore in KiCad 10, so this warning is often the only thing flagging a lone global label.
  • A label placed on a wire that already runs between two pins never fires, however many copies of the name exist. Naming a routed net for the PCB is free.
  • KiCad 9 reported the identical situation as "Label not connected to anything" (or "Global label not connected anywhere else in the schematic"); KiCad 10 split the one-pin case into this warning with its own severity row.

Version notes

  • KiCad 10.0: Check introduced in this release.
Minimal reproduction

Place any symbol, put a local label directly on one pin's tip (or on a stub of wire from it), connect nothing else, and run ERC. The label reports:

[isolated_pin_label]: Label connected to only one pin
    ; warning

The checked-in file data/erc/samples/isolated_pin_label.kicad_sch reproduces this with one embedded passive symbol and a SENSE label on its pin. The single lib_symbol_issues warning it also emits is an artifact of the self-contained repro (embedded repro library), not part of this error. Adding a second pin labeled SENSE elsewhere on the sheet clears the warning, which is fix 1 in miniature.

FAQ

Can I put a no-connect flag on a pin that also has a label?

Yes. In KiCad 10 a no-connect flag on the pin's tip suppresses the one-pin-label warning without raising any no-connect violation, and the net still carries the label's name into the netlist. It is the cleanest way to mark a named stub as intentional.

Does ERC check that named net connections actually match up?

This warning is that check for the end points: a mistyped label leaves a one-pin net at each end, so the typo shows up as two of these warnings with almost-identical names. ERC can't tell you which of the two spellings you meant.

ERC never flagged a label on a single pin before — what changed?

KiCad 10 gave the situation its own warning and severity setting, answering a feature request filed in 2021 (issue 7203). KiCad 9 reported the same condition under the more confusing message "Label not connected to anything", which made it look like the label, not the net, was the problem.

Sources