# StepContext.output_dir
URL: https://lsd.tools/docs/api-context-output-dir
Updated: 2026-07-17

## Example

```python
@tool.deliver
def export(t: Table, ctx: StepContext) -> None:
    t.write_parquet(os.path.join(ctx.output_dir, "rows.parquet"))
```

## Notes

Files written here **persist with the project**. When no workspace directory is set it falls back to
`"."`. For transient intermediates use [`scratch_dir`](/docs/api-context-scratch-dir) instead.

## See also

**API:** [scratch_dir](/docs/api-context-scratch-dir) · [StepContext](/docs/api-context)

**Guides:** [Parameters vs ports](/docs/tools-params-ports)
