UniFi · Provisioning · Fix

UniFi AP stuck “Provisioning” — in a loop, dropping everyone each time

First published 20 October 2026 · An honesty note up front: Ubiquiti publishes no definition of the Provisioning state and no official trigger list. This guide is built from the anchored fragments that do exist — Ubiquiti's release-note language, its one article that uses the exact phrase “provisioning loop,” and its System Log taxonomy — with each claim's tier marked.

Do not fix the wrong thing first. Three different failures wear the Provisioning costume, and their cures don't overlap. Prove which one you have with the Uptime counter before changing a single setting: provisioning does not restart the AP (uptime keeps counting); a reboot resets it; an Isolated AP isn't talking to the controller at all (its LED flashes blue off every ~5 seconds, per Ubiquiti's LED table).
Look-alikeUptime counterLogs sayDisease
Provisioning loopKeeps counting“Admin Made Config Changes” near each episodeSomething keeps pushing config that can't settle → this guide
Actual rebootsResets each episodePower events: “AP Underpowered” / “Insufficient PoE Output”Power — our power discipline, not this page
Isolated— (not reporting)“Device Offline”Uplink/controller reachability → adoption guide
UpgradingResets onceA firmware event, onceNot a disease — leave it alone for its few minutes

What provisioning is, and what legitimately triggers it

Provisioning is the controller pushing the device's configuration. Single provisions are normal and invisible. The documented trigger anchors:

The repair ladder

  1. Rung 1 — Find the author. Open System Log → Admin Activity and line the “Admin Made Config Changes” timestamps up against your loop episodes. A match names the trigger: you, a second admin, a managed-service tool, or an automation with write access. Loops with an author end when the author stops.
  2. Rung 2 — Revert exactly that change. One revert, then watch. Single-change discipline is not fussiness; it's how the next episode (or its absence) stays readable.
  3. Rung 3 — One controller, current and singular. A controller that restarts (or two controllers taking turns managing the same devices) re-pushes on every reunion. Run one controller, as a stable service, on a supported version.
  4. Rung 4 — Check the version pair. Compare your controller version's release notes for its minimum device firmware against what the AP runs; bring the lagging side up. (Do not chase specific “miracle firmware” folklore: in the famous community loop case, Ubiquiti staff requested a support file and never published a root cause or a fixing version.)
  5. Rung 5 — Count SSIDs. The documented ceiling is 4 SSIDs per band (8 with meshing disabled). Creeping past it via years of “just one more network” is a real, countable cause — consolidate WLANs.
  6. Rung 6 — Gateway readers: audit config.gateway.json. If it exists, validate it (a JSON syntax error is the documented commit-error trigger); rename it aside and watch the loop die — or not.
  7. Rung 7 — Forget + re-adopt. The official last resort from the adoption flow. Note what it costs (device-level overrides) and that if the cause lives in the controller's config, the loop will politely resume on the fresh adoption.
  8. Terminal rung — the support file. Loop persists on a clean, supported, single-controller setup with no triggering change in the log? Generate the support file and open the case. That is not surrender; it is literally where Ubiquiti's own staff start.

What this guide will NOT tell you

That mesh nodes re-provision whenever their uplink changes — a claim repeated everywhere, which our research could not find in Ubiquiti's meshing documentation (re-read in full for this guide). Uplink flapping is a fine hypothesis to test with your own logs; it is not a documented mechanism, and it is labelled community-attested wherever it appears. Likewise “wait N minutes before calling it stuck”: no such threshold exists — the test is repetition without a change, not a stopwatch.

Prevention

HabitWhy
Stage changes on one AP group firstA canary catches a can't-commit config before it loops the fleet
One change, one observation windowThe log stays legible; so does your memory at 2 a.m.
Keep the controller↔firmware pair supportedRelease notes publish the floors; read them before updating the controller
Audit who/what can write configAdmin accounts, API keys, automations — the loop's author is on that list
Back up before change windowsA revert you can actually perform beats a revert you can describe

FAQ

Provisioning drops my clients every time — is that normal?

A reprovision restarts the AP's radios in effect if not the device itself; brief client disruption during a provision is the known behaviour, which is exactly why a loop is intolerable and a single provision is not.

It only loops at night.

Then something scheduled is writing — the Admin Activity log keeps the author's name and time. “Night” is a clue about automation, not about RF.

Should I downgrade the AP firmware to the version forums swear by?

No documented basis exists for any specific “fix version,” and downgrading below the controller's published minimum manufactures the version-pair cause. Supported pair first; support file after.

Sources

Ubiquiti Help Center — System Log taxonomy (Admin Activity / Devices / Power event names), device LED reference, SSID limits (4/band, 8 meshing-off), Channel AI documentation (manual, non-disruptive) · Ubiquiti release notes — reprovision language + per-release minimum device firmware · Ubiquiti — config.gateway.json article (commit error / “provisioning loop”; legacy, via mirror — flagged) · Legacy Controller User Guide (Uptime field definition; flagged).

Verification note: log taxonomy, LED pattern, SSID limits and the cleared-suspect finding were confirmed from Ubiquiti's documentation on 20 October 2026. No official Provisioning-state definition or trigger list exists; where this guide synthesises, it says so, and the mesh-uplink claim is labelled community-attested throughout.