Powerful, fast and elegant TODO / task manager. (CalDAV and local)
Take control of your TODO list.Cfait is designed for speed and stability using Rust, it puts you in control of your data with a local-first approach that syncs seamlessly across your devices.
Why Cfait?
- Open Source & Cross-Platform: Use Cfait on Android, Linux, and Windows. Your tasks adhere to open standards (CalDAV and iCalendar), not walled gardens.
- Syncs Everywhere: Fully compatible with Nextcloud, iCloud, Radicale, Xandikos, and other standard CalDAV servers.
- Offline First: Optimistic UI updates mean you never wait for a server response. Use the persistent "Local" calendar for offline tasks and migrate them to a server later.
- Smart Input: Add tasks naturally. Typing "Buy cat food !1 @tomorrow @@grocery_store ~15m" automatically sets the priority, due date, location and duration.
Productivity Features
- GTD Workflow: Mark tasks as Needs Action, In Process (>), Cancelled (x), or Done.
- Hierarchy: Create sub-tasks, promote children, and organize nested lists.
- Dependencies: Link tasks using "Blocked-by" or "Child-of" logic (RFC 9253).
- Tags & Aliases: Organize with hierarchical tags (e.g., #work:backend). Create inline aliases (e.g., #shed:=#home_improvement and @home_improvement:=@@home) for rapid filing.
- Sane Sorting: Tasks are sorted by Status > Start Date > Due Date > Priority.
Smart Syntax GuideWhen adding or editing a task, use these shortcuts:
- !1 to !9: Set Priority (1 is Critical, 9 is Low).
- @date: Set Due Date (e.g., @tomorrow, @2025-12-31, @2w, @in two weeks).
- ^date: Set Start Date (hides task until date).
- ~duration: Estimate time (e.g., ~30m, ~2h).
- @every X: Set Recurrence (e.g., @daily, @every 2 weeks).
- @@loc: Set Location (e.g., @@home, @@"hardware store").
- url:http://perdu.com: Attach a URL.
Advanced SearchFind exactly what you need with powerful filters:
- is:active / is:done: Filter by status.
- ~<30m: Find tasks taking less than 30 minutes.
- !<3: Find high-priority tasks.
- @<today: Find overdue tasks.
- @@home: Find tasks at a specific location.
Support the DeveloperIf you enjoy using Cfait, please consider supporting its developer:
- 💳 Liberapay: https://liberapay.com/trougnouf
- 🏦₿ Other payment details are available within the app's "Help & About" screen or on the project website.
Community & SourceCfait is developed by Benoit Brummer (Trougnouf) and released under the GPL3 License.
Source code, desktop versions, and issue tracking available at: https://codeberg.org/trougnouf/cfait
WhatsNew:
## [0.4.9] - 2026-01-28
### 🚀 Features
- *(store)* Group tags (and sort them) in a case-insensitive way in the tags list (requested by Christian Meixner)
- Add a (weighted) random task selector ( https://codeberg.org/trougnouf/cfait/issues/17 )
- *(randomizer)* Only pick from is:ready tasks
- *(sorting)* Sort done/canceled tasks by most recently done/canceled first
- *(core)* Send user agent to CalDAV server (suggested by Geoffrey Frogeye)
- *(android)* Add export all data debug option
- *(cor