xfiles
xfiles is a family of command-line tools that give a SharePoint document library the feel of the Unix file utilities your fingers already know. There is no SSH, FTP, SCP, or rsync server behind SharePoint to connect to — those protocols simply don't exist there — so each tool recreates the experience on top of the Microsoft Graph drive API and hides the Graph plumbing entirely.
| Tool | Unix kin | What it does | |---|---|---| | xftp | ftp | Interactive session: browse and move files with ls, cd, get, put, mkdir, rm, mv. | | xcp | scp | One-shot copy of a single file to or from a library; streams through - for pipes. | | xsync | rsync | Recursively mirror a directory tree to or from a library, transferring only what changed. | | xfind | find | Walk a library and print matching paths, filtered by name, type, or depth. | | xtree | tree | Print a library as an indented tree with a directory and file count. |
Each is a single static Go binary with no daemon and no mounted filesystem. Authentication is device-code OAuth shared across the whole suite: the first time a tool connects it prints a short code and a URL, you sign in once in a browser, and the refresh token is cached under ~/.config so later runs are silent. Every tool in the suite shares one app registration, so a single consent covers the family (and the sibling tool xql).
Install
Every install line below ends with xcp --install-skill. That installs the Claude Code skill alongside the binary, which is the one step people reliably skipped when it lived further down the page. Drop it if you do not use Claude Code — the CLI itself does not need it.
Debian and Ubuntu
Add the Excelano apt repository once (one-time setup):
curl -fsSL https://excelano.com/apt/setup.sh | sudo shThen install the whole suite as a single metapackage, so apt upgrade keeps everything current:
sudo apt install xfiles && xcp --install-skillxfiles is a metapackage that pulls in the whole suite. To install just one, name it instead — sudo apt install xsync, for example.
Homebrew
On macOS or Linux, tap and trust the repository once — Homebrew gates third-party taps behind explicit trust (one-time setup):
brew tap excelano/tap
brew trust excelano/tapThere's no metapackage, so name the tools you want. brew upgrade keeps them current:
brew install xftp xcp xsync xfind xtree && xcp --install-skill