openclaw/docs/plugins/reference/file-transfer.md
Vincent Koc b0286f17be
docs: close the small audit categories (generated, governance, link, split) (#144029)
* docs: close small audit categories (governance, generated, link)

- ci/scheduled-workflows: date the Dependency Audit triage owner and name the routing team (r5-0143)
- AGENTS.md: link the secret placeholder conventions page from the placeholder rule (r3-2264)
- model-providers/custom-providers: align the moonshot config example with the documented example model (r3-1349)
- secretref-credential-surface: group the 114 supported targets by top-level config key (r3-2248)
- generate-plugin-inventory-doc: describe docs/plugins/reference.md as a pointer, not an index (r3-2078)
- cli/file-transfer: new CLI reference page for openclaw file-transfer (r5-0196)

* docs(cli/file-transfer): qualify the non-interactive migration error

runApprovalMigration returns after printing the no-work message when no legacy
items remain (extensions/file-transfer/src/cli.ts:58-62), before it reads
process.stdin.isTTY. The non-interactive error therefore fires only when
permissions still need review. Addresses the P3 ClawSweeper finding.

---------

Co-authored-by: Vincent Koc <vincent@openclaw.org>
2026-09-10 21:52:03 +08:00

2.5 KiB

summary read_when title
Fetch, list, and write files on paired nodes via dedicated node commands. Bypasses bash stdout truncation by using base64 over node.invoke for binaries up to 16 MB.
You are installing, configuring, or auditing the file-transfer plugin
File Transfer plugin reference

Fetch, list, and write files on paired nodes via dedicated node commands. Bypasses bash stdout truncation by using base64 over node.invoke for binaries up to 16 MB.

Distribution

  • Package: @openclaw/file-transfer
  • Install route: included in OpenClaw

Surface

  • CLI commands: openclaw file-transfer
  • Contracts: tools

Directory archives

dir_fetch fetches the whole directory tree, including dotfiles and hidden directories. File-transfer policy checks every descendant; a denied entry rejects the whole transfer instead of being filtered out. Path identity, symlink, archive-size, and extraction limits still apply.

Migrate existing permissions

After upgrading, older positive file-transfer permissions remain inactive until you review them. Deny rules, size limits, and symlink settings continue to apply. Run this command on the Gateway host in an interactive terminal:

openclaw file-transfer approvals migrate

See File transfers for the full flag surface and the non-interactive exit codes.

For each older path, choose one outcome:

  • Require exact reapproval removes the ambiguous permission. The next use prompts once and records the exact node, command, requested path, and canonical target.
  • Keep as an intentional wildcard preserves the entry as an operator-authored glob.
  • Remove this permission deletes the positive entry.

Use --dry-run to review the plan without writing. Non-interactive and --json runs never guess; they list unresolved items and direct you back to the same interactive command.

The migration writes the new format once after confirmation and reports whether the adjacent config backup was verified. Older OpenClaw versions cannot read the migrated format. To downgrade, restore that reported .bak file before starting the older version; doing so also restores the older permission semantics.