A clean task manager for macOS that lives on (?) your Obsidian vault, or markdown files. No proprietary database, no lock-in, it's all based on your own files. Designed with Obsidian in mind, but also works as a stand-alone app or on your folder with markdown files.

Your tasks stay as plain markdown in your Obsidian vault. Annado reads and writes standard checkbox syntax with inline metadata, giving you a polished native desktop UI while your data stays portable. Open the same vault in Obsidian and your tasks are right there.
Bilingual: supports Dutch and English for natural language date input.
Annado treats your Obsidian vault as its database. It scans every .md file for markdown checkboxes (- [ ] / - [x]), parses inline annotations like @when(...), @due(...), and [[WikiLinks]], and presents them in a task manager UI. Every edit you make in Annado is written straight back to the markdown files — no syncing, no export step, no sidecar database.
See it in action — capturing a task in an Obsidian daily note during a meeting, then editing it in Annado:
https://github.com/user-attachments/assets/343a7135-a676-4ebd-99f5-dae0626fe181

Annado has 12 views, each accessible from the sidebar or via keyboard shortcut:
| View | Shortcut | What's in it |
|---|---|---|
| Inbox | Cmd+1 |
Unscheduled tasks awaiting processing |
| Today | Cmd+2 |
Tasks scheduled for today |
| Agenda | Cmd+3 |
Day/week timeline with drag-to-schedule |
| Upcoming | Cmd+4 |
Tasks scheduled for future dates |
| Anytime | Cmd+5 |
Flexible-time tasks with no specific date |
| Someday | Cmd+6 |
Backlog and long-term tasks |
| Logbook | Cmd+7 |
Completed tasks history |
| Recurring | Cmd+8 |
Recurring task templates and instances |
| Wrapped | Cmd+9 |
Spotify Wrapped-style year-in-review |
| Added Today | Cmd+0 |
Tasks created today |
| Review | Cmd+R |
Guided 5-step weekly review workflow |
| Smart Lists | sidebar | Custom-filtered task collections |

More screenshots of every view and panel: visual tour.
Annado reads and writes this inline markdown format:
- [ ] Task title @when(tomorrow) @time(09:00) @duration(1h30m) [[Project]] !(1) #tag @due(2025-03-01)
Notes go here, indented 4 spaces
- [x] Checklist sub-item
| Field | Example | Description |
|---|---|---|
@when(...) |
@when(tomorrow) |
Scheduled date |
@time(...) |
@time(09:00) |
Scheduled time (used by Agenda) |
@duration(...) |
@duration(1h30m) |
Estimated duration |
@due(...) |
@due(2025-03-01) |
Deadline |
!(1-3) |
!(1) |
Priority (1 = highest) |
#tag |
#work |
Tag |
[[WikiLink]] |
[[Project Name]] |
Project or person link |
@recurring(id) |
@recurring(abc123) |
Recurring template reference |
@created(date) |
@created(2025-02-14) |
Creation date |
@completed(date) |
@completed(2025-02-16) |
Completion date |
Checklist sub-items (- [ ] sub-task) can be toggled directly in Annado — the change persists to the markdown file.

Type dates in plain language in any date picker. Both English and Dutch are supported:
| Category | English | Dutch |
|---|---|---|
| Keywords | today, tonight, tomorrow, anytime, someday |
vandaag, vanavond, morgen, overmorgen, altijd, ooit |
| Relative | this weekend, next weekend, next week, next month, end of week, end of month |
dit weekend, volgend weekend, volgende week, volgende maand, eind van de maand |
| Weekdays | friday, fri, next monday |
vrijdag, vr, volgende maandag |
| Offsets | in 3 days, in three weeks, in a week |
over 3 dagen, over twee weken, over een week |
| Explicit | 2026-12-25, 25/12, feb 14, march 15 2027 |
25-12, 22 mei, 15 maart 2027 |
Offsets accept digits or spelled-out numbers up to twelve. Partial dates roll forward: typing 22 mei in June resolves to next year's May 22. While typing, the picker shows ranked suggestions, and quick-select chips (Today, Tomorrow, This Weekend, Next Week) are always one click away.

Annado also spots dates in the task titles you type. Write "Call Lena friday" in Quick Add and a banner offers to schedule the task for Friday — accept it and the date is set with the title cleaned up to "Call Lena". Prefix the phrase with by, due, before (or voor / uiterlijk in Dutch) and it's offered as a deadline instead: "Submit taxes by tomorrow" → deadline tomorrow, title "Submit taxes".


The @when(...) field accepts:
- inbox — no schedule (appears in Inbox)
- today — scheduled for today
- evening — this evening
- tomorrow — scheduled for tomorrow
- anytime — flexible timing
- someday — backlog
- YYYY-MM-DD — specific date
Tasks can have a separate deadline (@due(...)), independent of their scheduled date. Deadlines show countdown labels and urgency color-coding in the UI.
.md file in your configured projects folder becomes a project.[[Project Name]] wiki-links.
If you prefer folder-based grouping over explicit links, configure an Areas pattern (Settings → Folder Paths). Tasks without a [[Project]] link are then grouped by the matching folder they live in.
.md file in your configured persons folder becomes a contact.[[Person Name]] wiki-links.
#tagname in the task line.
Three levels: !(1) high · !(2) medium · !(3) low. Filter or create Smart Lists based on priority.
Smart Lists are saved custom filters, accessible from the sidebar with a custom emoji icon. Each Smart List can filter by any combination of:
Create a Smart List via the + button in the sidebar Smart Lists section, or by pressing Cmd+Shift+L. Right-click a Smart List to edit or delete it.

Recurring tasks are defined as template files in your configured recurring-templates folder. Each template specifies:
The Recurring view (Cmd+8) shows all templates. Click a template to see its pending instances. Instances are generated automatically from the template definition.
Create or edit templates via Cmd+Shift+R or the + button in the Recurring view.

The Agenda view (Cmd+3) is a time-blocking timeline:

Set a task's time with @time(HH:MM) or by dragging it to a slot. Set duration with @duration(...) or by resizing the block.
The Review workflow (Cmd+R) walks you through a structured 5-step weekly review:
Each step shows a progress bar and task cards with inline actions (schedule, complete, delete, open in Obsidian). Use number keys 1–4 for quick actions within each step.

The Wrapped view (Cmd+9) is a Spotify Wrapped-style year-in-review. Select a time period (week, month, or year) and step through a deck of animated slides (which ones appear depends on your data):

Cmd+N)Rapid task capture from anywhere in the app. Respects the current view context (e.g., opening Quick Add in a project view pre-fills that project). Supports all inline annotations and date hints in titles.
System-wide: Cmd+Shift+Space opens Quick Add even when Annado is in the background.
Where new tasks land: tasks created in Annado are appended to today's daily note, which is created automatically (with frontmatter and a ## Tasks heading) if it doesn't exist yet. In an Obsidian vault, Annado reads your existing Daily Notes plugin settings to find the right folder and filename format; otherwise the folder and format configured in Settings → Folder Paths are used.

Cmd+F or type any letter)Universal search across tasks, projects, people, views, and tags. Shows recent items when empty. Results update as you type.

Multi-select tasks with Cmd+Click. When multiple tasks are selected, a bulk-action toolbar appears at the bottom of the list:

Open a second, independent task view alongside the main view with Cmd+\. The side panel:

.md file at the exact line number in Obsidian[[Project]] and [[Person]] links are parsed and rendered as navigation links in the UI.obsidian/ present) and adapts — e.g., daily-note settings are read from Obsidian's own config$ claude mcp add Annado \
-- python -m otcore.mcp_server <graph>