# file

The `file` step type opens an interactive file picker, letting your custom commands and workflows prompt the user to choose a path instead of hard-coding it.

```yaml
steps:
  - name: manifest
    type: file
    prompt: Select manifest
    path: stacks/workflows
    extensions:
      - .yaml
      - .yml
```

## Fields

- **`prompt`**
  Required. Prompt text shown to the user.
- **`path`**
  Optional starting path.
- **`extensions`**
  Optional file extension filters.

Interactive steps require a TTY. Reference the selected path later with `{{ .steps.manifest.value }}`.
