> From the [Strife developer docs](https://strife.app/docs/reference/field-reference/fields.multiselect). Every page is listed in [llms.txt](https://strife.app/docs/llms.txt).

# fields.multiSelect()

Multi-select field storing a plain array of selected values (distinct from select with multiSelect true).

Multiple-choice selection. Maps to editor `{ name: 'str-multi-select', type: 'multi-select' }`.

Distinct from [`fields.select({ multiSelect: true })`](https://strife.app/docs/reference/field-reference/fields.select.md): a multi-select combo-box stores `{ value, name }` objects, whereas this editor stores a **plain array of the selected `value` strings**.

## Example

```ts
fields.multiSelect({
  label: 'Tags',
  options: [
    { name: 'News', value: 'news' },
    { name: 'Product', value: 'product' },
  ] as const,
})
// _output: ('news' | 'product')[]
```

## Options

| Option         | Type                                                        | Required | Description                                                      |
| -------------- | ----------------------------------------------------------- | -------- | ---------------------------------------------------------------- |
| `label`        | `string`                                                    | Yes      | Label shown to editors in Strife Studio.                         |
| `options`      | `{ name: string; value: string; color?: string \| null }[]` | Yes      | The selectable choices.                                          |
| `description`  | `string`                                                    | No       | Tooltip shown to editors.                                        |
| `searchable`   | `boolean`                                                   | No       | Include in the team's search index.                              |
| `filterable`   | `boolean`                                                   | No       | Allow filtering content lists by this value.                     |
| `protected`    | `boolean`                                                   | No       | Restrict editing to users with the appropriate permission.       |
| `propertyName` | `string`                                                    | No       | Override the stored property name.                               |
| `placeholder`  | `string \| null`                                            | No       | Placeholder text for the selection field.                        |
| `switches`     | `boolean`                                                   | No       | Render selected values as check-mark switches rather than chips. |

No `localizable` option.

## Output type

`O[number]['value'][]` — the array of selected option-value literals (a plain `string[]`-shaped array narrowed to the option values).

## See also

* [Multi Select](https://strife.app/docs/reference/fields/multi-select.md) — the same editor, documented from the Strife Studio UI side.
* [`fields.select()`](https://strife.app/docs/reference/field-reference/fields.select.md) — stores `{value, name}` objects instead of bare values; also supports single-select.
