# dialog/file-open
Open a file picker dialog.
## Syntax
[dialog/file-open "Title" ?start-dir]
## Parameters
- `"Title"` — dialog title (defaults to `"Open File"`)
- `?start-dir` — optional starting directory (defaults to `"."`)
## Examples
[dialog/file-open "Open"] [dialog/file-open "Open" "/home/ritchie"] [dialog/file-open %{ :title "Open" :start-dir "/tmp" }] [dialog/file-open :open "Open" "."] # explicit id → :data~id :open
## Returns
In TUI hosts the call returns immediately — `true` when an explicit id was given (leading keyword or `:id` in the spec map), else the numeric request-id. Behavior depends on the build:
- TUI (`retro`, `retra`) — returns immediately; the result arrives
later as a `:message` event with topic `"dialog-result"` and a structured
`:data` map `%{ :id :value :cancelled }` where `:value` carries the absolute path (empty when cancelled).
- `deft` scripting binary — blocks on stdin and returns the path directly.
## See Also
`dialog/file-save`, `dialog/menu`, `dialog/confirm`