<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: 1.1.0 -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ExtensionFoundation",
  "identifier" : "/documentation/ExtensionFoundation/AppExtension/configuration-swift.property",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "ExtensionFoundation"
    ],
    "preciseIdentifier" : "s:19ExtensionFoundation03AppA0P13configuration13ConfigurationQzvp"
  },
  "title" : "configuration"
}
-->

# configuration

The configuration details for this app extension.

```
@MainActor @preconcurrency var configuration: Self.Configuration { get }
```

## Discussion

Implement this property in your custom type and use it to store the configuration details
for your app extension. As part of the configuration, provide code to establish an XPC
connection back to the host app.

If your app extension sends only data to the host app, and doesn’t provide a UI, use this
property to store a type that implements the [`AppExtensionConfiguration`](/documentation/ExtensionFoundation/AppExtensionConfiguration) protocol. If
your extension provides UI elements for the host app to display, instead store an instance of the
<doc://com.apple.documentation/documentation/ExtensionKit/AppExtensionSceneConfiguration>
type.

---

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)