sharepoint-cli
Agent-friendly SharePoint Online CLI with JSON output, structured exit codes, and schema introspection.
Install
From crates.io
From PyPI
# or
From source
Quick start
# First-time setup: configures tenant + default site, then signs in
# Or sign in to an already-configured profile
# List followed sites
# List libraries in a site
# Browse a library
# Stat / download / search
Output
- Human output on stdout, status messages on stderr.
--json(or non-TTY stdout) emits machine-readable JSON on stdout.--quietsuppresses status messages.
Configuration
Config lives at $XDG_CONFIG_HOME/sharepoint/config.toml (or ~/.config/sharepoint/config.toml). Run sharepoint config path to print the resolved location.
You must supply two things before signing in:
- A tenant (your Microsoft 365 domain or tenant GUID).
- A client_id for an Entra public-client app you've registered. The app needs the device-code flow enabled and delegated
Files.Read.All,Sites.Read.All, andoffline_accessscopes.sharepoint initwalks you through saving both into the active profile.
Environment overrides:
SHAREPOINT_PROFILE— active profile nameSHAREPOINT_TENANT_ID— tenant overrideSHAREPOINT_CLIENT_ID— Entra application (client) ID — required
License
MIT