<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/IntentModes",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "App Intents"
    ],
    "preciseIdentifier" : "s:10AppIntents11IntentModesV"
  },
  "title" : "IntentModes"
}
-->

# IntentModes

A set of options you use to configure the runtime behavior of an app intent.

```
struct IntentModes
```

## Overview

This structure defines the mode values you can assign to the [`supportedModes`](/documentation/AppIntents/AppIntent/supportedModes) property
of your app intent. Intent modes indicate whether your app needs to run in the foreground or
background when performing the app intent’s action. For example, the [`foreground`](/documentation/AppIntents/IntentModes/foreground)
mode requires your app intent code to run in a foreground process.

At runtime, an app intent’s [`systemContext`](/documentation/AppIntents/AppIntent/systemContext) property also contains information
about whether the process is currently running in the foreground or background. Use that
information to make additional decisions about how to perform the action. For more information,
see the [`IntentModes.Current`](/documentation/AppIntents/IntentModes/Current) 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)