---
title: ContextOptions.ReasoningLevel
framework: foundationmodels
role: symbol
role_heading: Enumeration
path: foundationmodels/contextoptions/reasoninglevel-swift.enum
---

# ContextOptions.ReasoningLevel

Controls the amount of thinking that the model is allowed to output before producing a response.

## Declaration

```swift
enum ReasoningLevel
```

## Topics

### Reasoning level cases

- [ContextOptions.ReasoningLevel.deep](foundationmodels/contextoptions/reasoninglevel-swift.enum/deep.md)
- [ContextOptions.ReasoningLevel.light](foundationmodels/contextoptions/reasoninglevel-swift.enum/light.md)
- [ContextOptions.ReasoningLevel.moderate](foundationmodels/contextoptions/reasoninglevel-swift.enum/moderate.md)
- [ContextOptions.ReasoningLevel.custom(_:)](foundationmodels/contextoptions/reasoninglevel-swift.enum/custom(_:).md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Configuring the reasoning level

- [reasoningLevel](foundationmodels/contextoptions/reasoninglevel-swift.property.md)
