The menu bar reports connected while the extension list still marks the component as not activated. Both readings come from the same Mac, and neither of them lies: they describe different facts. macOS keeps at least three separate states for a VPN client, and support threads collapse them into one phrase, which is why the advice oscillates between reinstalling and reconfiguring. Knowing which state you are actually missing turns an afternoon of guessing into a two-minute check.

Those states have different owners as well as different locations. One belongs to the operating system's extension registry, one to whatever policy the device obeys, and one to the client's own session. Because the owners differ, a fix applied to one of them rarely changes the other two.

Three states that get called one thing

StateWhere it livesWhat it does not prove
installed and activatedthe system extension registrythat any tunnel exists
permitted by policya configuration profile or a one-time user approvalthat the vendor's profile is configured
connectedthe client's own session statethat traffic takes the intended route

The order you read them in matters more than the list itself: start with the registry, because a component that never activated cannot be connected, then read policy, which decides whether activation is possible at all, then read the client, which is the only one of the three that describes a session. A mismatch high in that order explains every symptom below it, and a mismatch low down leaves the two above it intact.

A concrete example of the distinction: a registry entry that reads as activated plus a client that cannot connect points at the profile or the server, not at the extension. The reverse combination, an activated client sitting next to a registry that shows nothing, usually means the app you are looking at is not the one carrying traffic. Write down which combination you observed before touching anything.

Locating the extension without trusting the icon

Current releases list network extensions under System Settings, General, Login Items and Extensions. Find the entry named for the product or its publisher and read the switch beside it rather than the menu bar glyph. Labels and positions have moved between macOS versions, so follow the vendor's instructions for your release instead of a screenshot from an older article. An entry that is absent entirely means the component was never installed, and profile editing will not conjure it.

systemextensionsctl list
log show --last 10m --predicate 'subsystem == "com.apple.networkextension"' --style compact

The first command is the fastest way to see what is installed and whether each extension reports as activated. The second shows why an activation is being refused, because the refusal usually arrives as a policy or signature complaint that never reaches the user interface. Read the refusal text before changing anything: the log line names the component and often the reason, which is exactly what a support case needs. Copy the whole line rather than the phrase you think matters, since the version and the identifier sit at opposite ends of it.

What the client admits that the list does not

With the extension confirmed, ask the client whether it holds a profile and a session, because a saved profile with no connection is a configuration problem while a connection carrying no traffic is a routing or policy problem. Treating all three as one sends you back to reinstalling a component that was working the whole time.

scutil --nc list
scutil --nc status "Work VPN"

The list shows configured services and their connection state; the status call shows the state of one named service and its last error. Capture that text and the macOS version before reinstalling, because the reinstall destroys the evidence and frequently reproduces the same failure.

When policy owns the toggle

On a managed Mac a configuration profile can hold the extension in a fixed state, and the switch then greys out by design. An unavailable toggle is a policy statement rather than a bug to route around. Deleting the profile or the management enrolment to reach it changes the device's security posture, gets reverted at the next check-in, and leaves a machine that reports itself as compliant while missing the controls that made it compliant. That outcome is worse than the original problem, because it hides the cause as well as the symptom.

Take the request to the administrator with the extension identifier, the exact refusal text and the version. A managed deployment can usually approve a network extension centrally in minutes, which is both faster than the workaround and auditable afterwards.

Proving the fix on a real application

After any supported correction, reconnect and test the application the VPN exists for rather than the menu bar badge. Then confirm that traffic which should stay outside the tunnel still stays outside, because a fix that quietly routes everything is a different change from the one you intended. A two-minute test on the real application is worth more than a badge you cannot reproduce.

One caution while you are in that list: a content filter is also a network extension. When a single site fails, disabling every extension in the panel is a blunt move that breaks unrelated filtering for other applications, and it makes the next diagnosis harder by removing the components you would have compared. Identify the extension by publisher and role before touching it, and write down which of the three states was actually wrong.

Winndannde jowitiiɗe heen