local.Delete recursive Default Changed to false

For the complete documentation index, see llms.txt. For a full content snapshot, see llms-full.txt. Append .md to any kestra.io/docs/* URL for plain Markdown.

The recursive property of io.kestra.plugin.fs.local.Delete now defaults to false instead of true.

Why the change

The previous default of true made directory deletions recursive without any explicit opt-in. A misconfigured from path could wipe an entire directory tree. The new default of false matches the behavior of every other Delete task in plugin-fs (SFTP, FTP, NFS, SMB) and requires an explicit opt-in for recursive deletion.

Migration steps

  1. Search all flows for tasks of type io.kestra.plugin.fs.local.Delete.
  2. For each task where from points to a directory and recursive is not set, add recursive: true to preserve the previous behavior.
  3. For tasks where from points to a single file, no change is needed — recursive has no effect on file targets.

Before (recursive deletion happened implicitly)

- id: cleanup
type: io.kestra.plugin.fs.local.Delete
from: /data/uploads/processed/

After (opt in to keep the same behavior)

- id: cleanup
type: io.kestra.plugin.fs.local.Delete
from: /data/uploads/processed/
recursive: true

Was this page helpful?