What this error means

ERC tests the two endpoints of every wire segment and bus entry separately. An endpoint that lands on nothing — no pin, no other wire end, no label anchor — is dangling, and each dangling endpoint reports one violation. Graphic lines are skipped; only items on the wire layer are tested. A bus entry with an unwired end reports the same violation as "Unconnected wire to bus entry".

The check is per endpoint, not per net. A segment can carry a valid, fully connected net and still warn because one of its ends stops in mid-air. That separates it from wire_dangling, which fires when a whole wire cluster connects to nothing: an isolated segment raises that error plus one of these warnings for each free end.

Common causes

1. A leftover stub from editing

You moved or deleted a symbol, or re-routed a connection, and a tail of the old wire stayed behind. The net it hangs off is usually still correct, so the schematic works and ERC complains anyway.

2. The wire stops one grid step short of its target

The segment ends next to the pin or crossing wire instead of on it, close enough to look connected at normal zoom. This is the case the check exists to catch: a connection you drew and did not get.

3. A net label sits mid-wire on a stub

A label anywhere on the segment names the net, but the free end still dangles. A label terminates an endpoint only when its anchor square sits exactly on it.

4. A bus entry with nothing on its wire side

The wire that should leave the entry was never drawn, or left with the rest of its net. Reports the "Unconnected wire to bus entry" variant.

How to fix it

Delete the stub or finish the connection

  1. Find the marker arrow; it sits on the free endpoint, which also shows the small unfilled square of an open wire end.
  2. Drag that end onto the pin or wire it was meant to reach, or select the segment and press Delete if it is a leftover.
  3. Re-run ERC (Inspect → Electrical Rules Checker).

Use when: The endpoint serves no purpose or missed its target. The large majority of cases.

Anchor the net label on the free endpoint

  1. Select the label and press M.
  2. Drop it with its anchor square exactly on the wire's free end.
  3. Re-run ERC; the endpoint now terminates in the label.

Use when: The stub is deliberate: a short wire ending in a net label that connects elsewhere by name. Mid-wire placement keeps the warning; endpoint placement clears it.

Wire the bus entry or remove it

  1. Draw the wire from the entry's free end to its destination, or delete entries left over from an abandoned bus layout.

Use when: The report line reads "Unconnected wire to bus entry".

When it’s safe to exclude

Occasionally, for a stub you are keeping while a design is in flux. Right-click the marker → Exclude silences that one endpoint and survives re-runs.

Both legitimate permanent shapes already pass — a completed wire, and a stub with a label anchored on its end — so a lasting exclusion usually means a delete you have not gotten around to. Downgrading the whole check in Schematic Setup → Electrical Rules → Violation Severity also hides the wire that stopped one grid step short of a pin: a real missed connection. A no-connect flag is not an escape here; see the gotchas.

Gotchas

  • The text report prints the segment's start coordinate and describes the whole wire ("Vertical Wire, length 5.08 mm"); that coordinate can be the connected end. The marker in the schematic editor sits on the dangling endpoint; trust the arrow.
  • A no-connect flag on the free end does clear this warning, then raises no_connect_connected because the flag lands on a net with live pins. That trade is a downgrade; delete the stub instead.
  • A segment dangling at both ends stacks three violations: one wire_dangling error plus one of these per end. One delete clears all three.

Version notes

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

Wire two pins together, then draw a short wire off that net and leave its far end in mid-air. Run ERC. The free end reports:

[unconnected_wire_endpoint]: Unconnected wire endpoint
    ; warning
    @(121.92 mm, 101.60 mm): Vertical Wire, length 5.08 mm

The checked-in data/erc/samples/unconnected_wire_endpoint.kicad_sch does this with two embedded one-pin symbols wired together plus a 5.08 mm stub; the two lib_symbol_issues warnings are artifacts of the embedded repro library. Deleting the stub drops the report to those two artifacts — fix #1 in miniature. A net label anchored on the stub's free end clears it too; the same label mid-stub does not.

FAQ

How do I resolve an 'Unconnected wire endpoint' warning?

The marker sits on the wire end that connects to nothing, shown with a small unfilled square. Drag that end onto the pin or wire it should reach, or delete the segment if it is a leftover. For a deliberate labeled stub, move the net label so its anchor sits exactly on the free end.

Why is ERC warning about wires that are obviously connected to nets?

The check tests each endpoint, not the net as a whole. A wire can belong to a correct, named net and still have one end stopping in mid-air, often one grid step short of its target. Zoom in on the marker; a truly connected endpoint has no square at its tip.

The wire already has a net label on it. Why does the endpoint still warn?

A label placed mid-wire names the net but leaves the physical end dangling, and KiCad checks the end itself. Move the label so its anchor square sits on the endpoint and the warning clears. The distinction arrived in KiCad 9, which is why schematics from 8.0 pick up these warnings on upgrade.

Sources