Onedrive
OneDrive Client for Linux
Install / Use
/learn @abraunegg/OnedriveREADME
OneDrive Client for Linux
A fully featured, free, and actively maintained Microsoft OneDrive client that seamlessly supports OneDrive Personal, OneDrive for Business, Microsoft 365 (formerly Office 365), and SharePoint document libraries.
Designed for maximum flexibility and reliability, this powerful and highly configurable client works across all major Linux distributions and FreeBSD. It can also be deployed in containerised environments using Docker or Podman. Supporting both one-way and two-way synchronisation modes, the client provides secure and efficient file syncing with Microsoft OneDrive services — tailored to suit both desktop and server environments.
Project Background
This project originated as a fork of the skilion client in early 2018, after a number of proposed improvements and bug fixes — including Pull Requests #82 and #314 — were not merged and development activity of the skilion client had largely stalled. While it’s unclear whether the original developer was unavailable or had stepped away from the project - bug reports and feature requests remained unanswered for extended periods. In 2020, the original developer (skilion) confirmed they had no intention of maintaining or supporting their work (reference).
The original skilion repository was formally archived and made read-only on GitHub in December 2024. While still publicly accessible as a historical reference, an archived repository is no longer maintained, cannot accept contributions, and reflects a frozen snapshot of the codebase. The last code change to the skilion client was merged in November 2021; however, active development had slowed significantly well before then. As such, the skilion client should no longer be considered current or supported — particularly given the major API changes and evolving Microsoft OneDrive platform requirements since that time.
Under the terms of the GNU General Public License (GPL), forking and continuing development of open source software is fully permitted — provided that derivative works retain the same license. This client complies with the original GPLv3 licensing, ensuring the same freedoms granted by the original project remain intact.
Since forking in early 2018, this client has evolved into a clean re-imagining of the original codebase, resolving long-standing bugs and adding extensive new functionality to better support both personal and enterprise use cases to interact with Microsoft OneDrive from Linux and FreeBSD platforms.
Features
Broad Microsoft OneDrive Compatibility
- Works with OneDrive Personal, OneDrive for Business, and Microsoft SharePoint Libraries.
- Full support for shared folders and files across both Personal and Business accounts.
- Supports single-tenant and multi-tenant Microsoft Entra ID environments.
- Compatible with national cloud deployments:
- Microsoft Cloud for US Government
- Microsoft Cloud Germany
- Azure/Office 365 operated by VNET in China
Flexible Synchronisation Modes
- Bi-directional sync (default) - keeps local and remote data fully aligned.
- Upload-only mode - only uploads local changes; does not download remote changes.
- Download-only mode - only downloads remote changes; does not upload local changes.
- Dry-run mode - test configuration changes safely without modifying files.
- Safe conflict handling minimises data loss by creating local backups whenever this is determined to be the safest conflict-resolution strategy.
Client-Side Filtering & Granular Sync Control
- Comprehensive rules-based client-side filtering (inclusions, exclusions, wildcard
*, globbing**). - Filter specific files, folders, or patterns to tailor precisely what is synced with Microsoft OneDrive.
- Efficient cached sync state for fast decision-making during large or complex sync sets.
Real-Time Monitoring & Online Change Detection
- Near real-time processing of cloud-side changes using native WebSocket support.
- Webhook support for environments where WebSockets are unsuitable (manual setup).
- Real-time local change monitoring via inotify.
Data Safety, Recovery & Integrity Protection
- Implements the FreeDesktop.org Trash specification, enabling recovery of items deleted locally due to online deletion.
- Strong safeguards to prevent accidental remote deletion or overwrite after configuration changes.
- Interruption-tolerant uploads and downloads, automatically resuming transfers.
- Integrity validation for every file transferred.
Modern Authentication Support
- Standard OAuth2 Native Client Authorisation Flow (default), supporting browser-based login, multi-factor authentication (MFA), and modern Microsoft account security requirements.
- OAuth2 Device Authorisation Flow for Microsoft Entra ID accounts, ideal for headless systems, servers, and terminal-only environments.
- Intune Single Sign-On (SSO) using the Microsoft Identity Device Broker (IDB) via D-Bus, enabling seamless enterprise authentication without manual credential entry.
Performance, Efficiency & Resource Management
- Multi-threaded file transfers for significantly improved sync speeds.
- Bandwidth rate limiting to control network consumption.
- Highly efficient processing with state caching, reducing API traffic and improving performance.
Desktop Integration & User Experience
- libnotify desktop notifications for sync events, warnings, and errors.
- Registers the OneDrive folder as a sidebar location in supported file managers, complete with a distinctive icon.
- Works seamlessly in GUI and headless/server environments. A GUI is only required for Intune SSO, notifications, and sidebar integration; all other features function without graphical support.
What's missing
- Ability to encrypt/decrypt files on-the-fly when uploading/downloading files from OneDrive
- Support for Windows 'On-Demand' functionality so file is only downloaded when accessed locally
External Enhancements
- A GUI for configuration management: OneDrive Client for Linux GUI
- Colorful log output terminal modification: OneDrive Client for Linux Colorful log Output
- System Tray Icon: OneDrive Client for Linux System Tray Icon
Frequently Asked Questions
Refer to Frequently Asked Questions
Have a question
If you have a question or need something clarified, please raise a new discussion post here
Supported Application Version
Support is only provided for the current application release version or newer 'master' branch versions.
The current release version is:
To check your version, run: onedrive --version. Ensure you are using the current release or compile the latest version from the master branch if needed.
If you are using an older version, you must upgrade to the current release or newer to receive support.
Documentation and Configuration Assistance
OneDrive Client for Linux includes a rich set of documentation covering installation, configuration options, advanced usage, and integrations. These resources are designed to help new users get started quickly and to give experienced users full control over advanced behaviour. If you are changing configuration, running in production, or using Business/SharePoint features, you should be reading these documents. All documentation is maintained in the docs/ directory of this repository.
Getting Started
Installation
Learn how to install the client on various systems — from distribution packages to building from source. Please read the Install Guide
Basic Usage & Configuration
Covers initial authentication, default settings, basic operational instructions, frequently asked 'how to' questions, and how to tailor the application configuration. Please read the Usage Guide
Advanced Configuration
Application Configuration Options
Full reference for every config option (with descriptions, defaults, and examples) to customise sync behaviour precisely. Please read the Application Configuration Options Guide
Advanced Usage
Tips for creating multiple config profiles, custom sync rules, daemon setups, selective sync, dual-booting with Microsoft Windows and more. Please read the Advanced Usage Guide
Special Use Cases
Business Shared Items
Configuring sync for OneDrive Business shared items (files and folders). Please r
Related Skills
node-connect
337.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.3kCommit, push, and open a PR
