<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "NetworkExtension",
  "identifier" : "/documentation/NetworkExtension/NEProviderStopReason",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Network Extension"
    ],
    "preciseIdentifier" : "c:@E@NEProviderStopReason"
  },
  "title" : "NEProviderStopReason"
}
-->

# NEProviderStopReason

Reasons why the provider extension was stopped.

```
enum NEProviderStopReason
```

## Overview

`NEProviderStopReasonUserLogout` and `NEProviderStopReasonUserSwitch` are available only in macOS.

## Topics

### Stop Reasons

[`NEProviderStopReasonNone`](/documentation/NetworkExtension/NEProviderStopReason/none)

No specific reason.

[`NEProviderStopReasonUserInitiated`](/documentation/NetworkExtension/NEProviderStopReason/userInitiated)

The user stopped the provider extension.

[`NEProviderStopReasonProviderFailed`](/documentation/NetworkExtension/NEProviderStopReason/providerFailed)

The provider failed to function correctly.

[`NEProviderStopReasonNoNetworkAvailable`](/documentation/NetworkExtension/NEProviderStopReason/noNetworkAvailable)

No network connectivity is currently available.

[`NEProviderStopReasonUnrecoverableNetworkChange`](/documentation/NetworkExtension/NEProviderStopReason/unrecoverableNetworkChange)

The device’s network connectivity changed.

[`NEProviderStopReasonProviderDisabled`](/documentation/NetworkExtension/NEProviderStopReason/providerDisabled)

The provider was disabled.

[`NEProviderStopReasonAuthenticationCanceled`](/documentation/NetworkExtension/NEProviderStopReason/authenticationCanceled)

The authentication process was canceled.

[`NEProviderStopReasonConfigurationFailed`](/documentation/NetworkExtension/NEProviderStopReason/configurationFailed)

The configuration is invalid.

[`NEProviderStopReasonIdleTimeout`](/documentation/NetworkExtension/NEProviderStopReason/idleTimeout)

The session timed out.

[`NEProviderStopReasonConfigurationDisabled`](/documentation/NetworkExtension/NEProviderStopReason/configurationDisabled)

The configuration was disabled.

[`NEProviderStopReasonConfigurationRemoved`](/documentation/NetworkExtension/NEProviderStopReason/configurationRemoved)

The configuration was removed.

[`NEProviderStopReasonSuperceded`](/documentation/NetworkExtension/NEProviderStopReason/superceded)

The configuration was superceded by a higher-priority configuration.

[`NEProviderStopReasonUserLogout`](/documentation/NetworkExtension/NEProviderStopReason/userLogout)

The user logged out.

[`NEProviderStopReasonUserSwitch`](/documentation/NetworkExtension/NEProviderStopReason/userSwitch)

The current console user changed.

[`NEProviderStopReasonAppUpdate`](/documentation/NetworkExtension/NEProviderStopReason/appUpdate)

[`NEProviderStopReasonConnectionFailed`](/documentation/NetworkExtension/NEProviderStopReason/connectionFailed)

The connection failed.

[`NEProviderStopReasonSleep`](/documentation/NetworkExtension/NEProviderStopReason/sleep)

A stop reason indicating the configuration enabled disconnect on sleep and the device went to sleep.

[`NEProviderStopReasonInternalError`](/documentation/NetworkExtension/NEProviderStopReason/internalError)

The provider encountered an internal error.

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Equatable`](/documentation/Swift/Equatable)

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)