xftp brings Unix-style FTP commands to SharePoint libraries
Browse and manage SharePoint document libraries from a terminal using Unix-like commands: ls, cd, get, put, mkdir, rm, and mv. David M. Anderson’s xftp wraps the Microsoft Graph API to expose an interactive CLI experience for SharePoint on Windows and other desktops. It ships as a single static binary with device-code OAuth and local token caching, appealing to system administrators, developers, and power users who prefer keyboard-driven, low-overhead SharePoint workflows.
How does xftp interact with SharePoint without an FTP server?
xftp translates familiar FTP-style commands into Microsoft Graph API calls, so no server-side FTP or SFTP component is required. The tool opens an interactive CLI session that exposes document libraries as a navigable hierarchy, and the implementation uses the Graph API for reads and writes. This means you can run standard file operations against SharePoint content directly from a terminal, without configuring services on the SharePoint side.
What is the system impact when running xftp?
xftp is distributed as a single static Go binary with no external dependencies, which keeps its footprint small on desktop systems. Because it performs API calls rather than local indexing or continuous sync, it avoids long-running background processes typical of heavy sync clients. The design favors short interactive sessions; sustained large transfers will depend on network throughput and Graph API rate limits rather than local resource consumption.
Is authentication and local security handled safely?
xftp uses device-code OAuth for authentication and caches refresh tokens locally, so the tool does not require embedding credentials in scripts. The device-code flow prompts the user to authenticate in a browser and stores tokens for silent future sessions. That approach separates credentials from the binary and aligns with standard delegated access patterns for cloud APIs, although token storage mechanics govern how secure the local cache must be on shared machines.
Do you need technical knowledge to use xftp interactively?
The interface follows Unix command conventions, which favors users familiar with terminal workflows. Commands mirror standard Unix names and behaviors, reducing the learning curve for administrators and developers. The project notes a sibling tool, xcp, for scripted one-shot transfers, so automation use cases are covered by the suite; interactive users can stick to xftp without writing automation logic.
Practical assessment and who should use it
xftp suits administrators and developers who want direct, keyboard-driven control of SharePoint files and who accept a terminal-based workflow and local token caching. For scripted bulk transfers, use the companion xcp. If you prefer command-line control and minimal local overhead, xftp is a solid, lightweight option. Recommended.





