# TaskNotes

> An Obsidian plugin and cross-platform app for task management where each task is a portable Markdown note with YAML frontmatter, powered by Obsidian Bases queries.

TaskNotes is an open-source task and time-tracking management system built by Callum Alpass, available as an Obsidian plugin (MIT-licensed) and in beta as a web, Android, and iOS app. Each task is stored as a separate Markdown file with YAML frontmatter, making data fully portable and readable by any tool. The plugin integrates deeply with Obsidian Bases—Obsidian's core plugin for turning notes into databases—to power all views without a proprietary database.

## What It Is

TaskNotes sits at the intersection of personal knowledge management and structured task management. Rather than storing tasks in a plugin-specific database, it writes each task as a plain Markdown note with structured YAML frontmatter. All views—Task List, Kanban, Calendar, Agenda, and Mini Calendar—are `.base` files that query those notes using Obsidian Bases. This architecture means your tasks are never locked to one application: they can be read, transformed, or migrated with any text tool or script.

The system supports a shared portable task model across both the Obsidian plugin and the companion app, covering status, priority, dates, projects, contexts, recurrence, reminders, relationships, and custom fields.

## Core Architecture and Data Model

The frontmatter schema is the heart of TaskNotes. A task note can carry:

- **Status and priority** fields with configurable property names (e.g., remap `due` to `deadline`)
- **Recurrence** using RRULE format with per-instance completion tracking via `complete_instances`
- **Time entries** with start/stop timestamps and Pomodoro session history
- **Projects** as plain text or wikilinks to project notes, enabling backlinks and graph navigation
- **Contexts, tags, and custom fields** like `energy-level` or `client`, immediately available in Bases for filtering

The `.base` files ship with computed formula properties such as `urgencyScore`, `isOverdue`, `daysUntilDue`, and `efficiencyRatio`, which can be used for sorting and filtering without writing code.

## Views and Workflow

TaskNotes provides multiple view types registered as Bases data sources:

- **Task List** — filterable, sortable rows of task notes
- **Kanban** — column-based board grouped by status or any property
- **Calendar** — month, week, day, and year views powered by FullCalendar
- **Agenda** — a preconfigured list-week calendar view for near-term sequencing
- **Mini Calendar** — compact date navigation

A typical daily workflow moves from Task List for prioritization, to Calendar for timeboxing via drag-select, to Agenda for short-horizon execution. Recurring tasks show as virtual occurrences on the calendar; individual occurrences can be materialized as their own notes when they need separate checklists, time entries, or completion state.

## Integrations and Extensibility

TaskNotes exposes an optional HTTP API that enables external automation. The ecosystem includes:

- A **browser extension** (`tasknotes-browser-extension`) for capturing tasks from the web
- A **CLI** (`tasknotes-cli`) for command-line task management
- **Webhooks** that notify external services on task changes
- **Calendar sync** with Google and Microsoft via OAuth, or any ICS feed

Natural language parsing supports task creation in English, German, Spanish, French, Italian, Japanese, Dutch, Portuguese, Russian, Swedish, Ukrainian, and Chinese. The UI is localized into nine languages.

## Update: Plugin 4.13.1 and App Beta

The latest plugin release is version 4.13.1, published in September 2026, with active development reflected in 2,150 GitHub stars and 223 forks. The companion TaskNotes app—covering web, Android, and iOS—is currently in beta, connecting to collections via mdbase. The app and plugin share the same portable task format (TaskNotes v5), so records created in one client are readable in the other. The repository was created in May 2025 and has seen continuous releases since.

## Features
- Each task stored as a separate Markdown note with YAML frontmatter
- All views powered by Obsidian Bases queries
- Task List, Kanban, Calendar, Agenda, and Mini Calendar views
- Recurring tasks with RRULE format and per-instance completion tracking
- Materialized occurrence notes for individual recurrence instances
- Time tracking with start/stop per task, Pomodoro timer, and session history
- Natural language task creation with date and context extraction
- Calendar sync with Google and Microsoft (OAuth) or any ICS feed
- HTTP API for external automation
- Webhooks for external service notifications
- Browser extension for web capture
- CLI for command-line task management
- Custom statuses, priorities, and user-defined fields
- Computed formula properties (urgencyScore, isOverdue, daysUntilDue, efficiencyRatio)
- Task dependencies
- Projects as wikilinks to project notes
- Portable task format shared across Obsidian plugin and companion app
- Multi-language UI and natural language parsing support
- Configurable property names

## Integrations
Obsidian, Obsidian Bases, Google Calendar (OAuth), Microsoft Calendar (OAuth), ICS feeds, FullCalendar

## Platforms
WEB, ANDROID, IOS, JETBRAINS_PLUGIN, CLI, API, BROWSER_EXTENSION

## Pricing
Open Source

## Version
4.13.1

## Links
- Website: https://tasknotes.dev
- Documentation: https://tasknotes.dev/
- Repository: https://github.com/callumalpass/tasknotes
- EveryDev.ai: https://www.everydev.ai/tools/tasknotes
