---
title: required
framework: foundationmodels
role: symbol
role_heading: Type Property
path: foundationmodels/generationoptions/toolcallingmode-swift.struct/required
---

# required

The model must call one or multiple tools.

## Declaration

```swift
static let required: GenerationOptions.ToolCallingMode
```

## Mentioned in

Expanding generation with tool calling

## Discussion

Discussion Please note that LanguageModelSession will loop until a Tool throws an error or this value is changed dynamically via LanguageModelSession.Manifest.

## See Also

### Getting the tool calling modes

- [allowed](foundationmodels/generationoptions/toolcallingmode-swift.struct/allowed.md)
- [disallowed](foundationmodels/generationoptions/toolcallingmode-swift.struct/disallowed.md)
