Inline Task Integration¶
TaskNotes integrates with the Obsidian editor to allow task management directly within notes. This is achieved through interactive widgets, a conversion feature for checkboxes, and natural language processing.
Task Link Overlays¶
When a wikilink to a task note is created, TaskNotes can replace it with an interactive Task Link Overlay. Enable or disable overlays from Settings → TaskNotes → General → Task link overlay. The widget displays information about the task, such as its status, priority, and due date, and allows actions like changing the status or priority or opening the task for editing directly from the note.

Task link overlays in Live Preview mode show interactive widgets with status, dates, and quick actions

In Source mode, task links appear as standard wikilinks until rendered
Widget Features¶
The task link overlay displays:
- Status Dot: Clickable circular indicator showing current task status. Click to cycle through available statuses.
- Priority Dot: Color-coded indicator for task priority (only shown when assigned).
- Task Title: Displays the task name (truncated to 80 characters). Click to open the task edit modal.
- Date Information: Shows due dates (calendar icon) and scheduled dates (clock icon) with clickable context menus.
- Recurrence Indicator: Rotating arrow icon for recurring tasks with modification options.
- Action Menu: Ellipsis icon (shown on hover) provides additional task actions.
Mode-Specific Behavior¶
Task link overlays work in both Live Preview and Reading modes:
- Live Preview Mode: Widgets hide when the cursor is within the wikilink range, allowing for easy editing.
- Reading Mode: Widgets display with full functionality and integrate with the reading mode typography.
The overlays support drag-and-drop to calendar views and provide keyboard shortcuts for quick navigation (Ctrl/Cmd+Click to open the source file).
Create Inline Task Command¶
The Create inline task command allows you to create a new task from the current line in the editor. This command is available in the command palette.
When you run the command, the current line is used as the title of the new task. The line is then replaced with a link to the new task file.
Instant Task Conversion¶
The Instant Task Conversion feature transforms lines in your notes into TaskNotes files. This works with both checkbox tasks and regular lines of text. Turn the feature on or off from Settings → TaskNotes → Features → Show convert button next to checkboxes. When enabled, a "convert" button appears next to the content in edit mode. Clicking this button creates a new task note using the line's text as the title and replaces the original line with a link to the new task file.
Folder Configuration¶
By default, converted tasks are placed in the same folder as the current note ({{currentNotePath}}). You can change this behavior in Settings → TaskNotes → General → Folder for converted tasks:
- Leave empty: Uses your default tasks folder (configured in the same section)
{{currentNotePath}}: Places tasks in the same folder as the note you're editing (default){{currentNoteTitle}}: Creates a subfolder named after the current note- Custom path: Specify any folder path (e.g.,
TaskNotes/Converted)
Supported Line Types¶
The conversion feature works with:
- Checkbox tasks:
- [ ] Task descriptionbecomes a TaskNote with task metadata - Bullet points:
- Some task ideabecomes a TaskNote with the text as title - Numbered lists:
1. Important itembecomes a TaskNote - Blockquoted content:
> Task in calloutbecomes a TaskNote (preserves blockquote formatting) - Plain text lines:
Important thing to dobecomes a TaskNote - Mixed formats:
> - [ ] Task in blockquotehandles both blockquote and checkbox formatting
Content Processing¶
When converting lines:
- Special characters like
>,#,-are automatically removed from the task title - Original formatting is preserved in the note (e.g.,
> [[Task Title]]for blockquoted content) - Task metadata is extracted from checkbox tasks (due dates, priorities, etc.)
- Natural language processing can extract dates and metadata from plain text (if enabled)
The feature handles edge cases like nested blockquotes and maintains proper indentation in the final link replacement.
Bulk Task Conversion¶
The Bulk Task Conversion command converts all checkbox tasks in the current note to TaskNotes in a single operation. This command is available in the command palette as "Convert all tasks in note to TaskNotes".
How It Works¶
The command:
- Scans the entire current note for checkbox tasks (
- [ ],* [ ],1. [ ], etc.) - Includes tasks inside blockquotes (e.g.,
> - [ ] task in callout) - Applies the same enhanced conversion logic as instant task conversion
- Creates individual TaskNote files for each task
- Replaces the original checkboxes with links to the new task files
- Preserves original indentation and formatting (including blockquote markers)
The bulk conversion uses the same content processing as instant conversion, automatically removing special characters from task titles while preserving original formatting in the note.
Usage¶
To use bulk conversion:
- Open a note containing checkbox tasks
- Access the command palette (
Ctrl+P/Cmd+P) - Search for "Convert all tasks in note to TaskNotes"
- Execute the command
The command will display progress and show a summary when complete (e.g., "✅ Successfully converted 5 tasks to TaskNotes!").
Important Considerations
This command modifies note content permanently. Before using:
- Create a backup of your note if it contains important data
- Review the tasks to ensure they should become individual TaskNotes
- Expect processing time - notes with many tasks may take several seconds to process
- Avoid interruption - do not edit the note while conversion is running
Performance
Processing time depends on the number of tasks:
- Small notes (1-10 tasks): Near-instant
- Medium notes (10-50 tasks): 2-5 seconds
- Large notes (50+ tasks): 10+ seconds
The operation creates multiple files and updates the note content, which requires disk I/O and editor updates.
Error Handling¶
If some tasks fail to convert, the command will:
- Complete successfully converted tasks
- Display a summary showing both successes and failures
- Log detailed error information to the console for troubleshooting
Failed conversions typically occur due to:
- Tasks with titles containing invalid filename characters
- Insufficient disk permissions
- Very long task titles (over 200 characters)
Relationships Widget¶
New in v4: The Relationships Widget consolidates what were previously three separate widgets (project subtasks, task dependencies, and blocking tasks) into a single dynamic interface.
The widget appears in task notes and automatically displays up to four tabs based on available relationship data:
- Subtasks Tab (Kanban): Shows tasks that reference the current note as a project. Uses Kanban layout for visual task management.
- Projects Tab (List): Shows projects that the current task belongs to. Uses list layout.
- Blocked By Tab (List): Shows tasks that are blocking the current task. Uses list layout.
- Blocking Tab (Kanban): Shows tasks that the current task is blocking. Uses Kanban layout.
Automatic Tab Management¶
Tabs automatically show or hide based on the presence of relationship data. If a task has no subtasks, the Subtasks tab does not appear. If there are no blocking relationships, those tabs remain hidden. This keeps the interface focused on relevant information.
Features¶
The widget embeds the TaskNotes/Views/relationships.base view directly in the editor. Every filter, grouping rule, or property shown in that .base file is exactly what appears inside the widget, so you can customize the experience by editing the file just like any other Bases view.
Additional behavior:
- Collapsible Interface: Click the widget title to expand or collapse. The state is remembered between sessions.
- Persistent Grouping: Any grouping defined in the
.basefile is honoured, and collapsed groups retain their state per note. - Task Details: Each task shows its status, priority, due date, and other configured properties.
- Real-time Updates: The widget updates automatically when tasks are added, modified, or deleted via Bases views.
Configuration¶
Enable or disable the widget in Settings → TaskNotes → Misc Settings → Show Relationships Widget.
Position the widget at the top (after frontmatter) or bottom of the note using the Relationships Position setting.
Expandable Subtasks Chevron¶
Tasks with subtasks can display an expand/collapse chevron that toggles subtask visibility.
- The chevron can be positioned on the Right (default, hover to show) or on the Left (always visible, matches group chevrons).
- Configure this in Settings → TaskNotes → Misc Settings → Subtask chevron position.

Migration from v3¶
In v3, TaskNotes provided three separate widgets controlled by individual settings:
showProjectSubtasksandprojectSubtasksPositionshowTaskDependenciesandtaskDependenciesPositionshowBlockingTasksandblockingTasksPosition
These settings are replaced in v4 by:
showRelationshipsandrelationshipsPosition
If you had project subtasks enabled in v3, the relationships widget will be enabled automatically after upgrading to v4. The underlying Bases file changed from TaskNotes/Views/project-subtasks.base to TaskNotes/Views/relationships.base. Run the Create Default Files command in Settings → General to create the new relationships.base file.
Natural Language Processing¶
TaskNotes includes a Natural Language Processor (NLP) that parses task descriptions to extract structured data. This allows for task creation from conversational language, such as "Prepare quarterly report due Friday #work high priority," which would automatically set the due date, tag, and priority.
The NLP engine supports multiple languages, including English, Spanish, French, German, Italian, Japanese, Dutch, Portuguese, Russian, Swedish, Chinese, and Ukrainian.
Supported Syntax¶
The NLP engine recognizes:
- Tags and Contexts:
#tagand@contextsyntax (triggers are customizable). - Projects:
+projectfor simple projects or+[[Project Name]]for projects with spaces. - Priority Levels: Keywords like "high," "normal," and "low". Also supports a trigger character (default:
!). - Status Assignment: Keywords like "open," "in-progress," and "done". Also supports a trigger character (default:
*). - Dates and Times: Phrases like "tomorrow," "next Friday," and "January 15th at 3pm".
- Time Estimates: Formats like "2h," "30min," and "1h30m".
- Recurrence Patterns: Phrases like "daily," "weekly," and "every Monday".
- User-Defined Fields: Custom fields can be assigned using configured triggers (e.g.,
effort: high). Supports quoted values for multi-word entries.
Rich Markdown Editor¶
New in v4: The task creation modal uses a rich CodeMirror markdown editor instead of a plain textarea.
Features include:
- Live Preview: Rendered markdown preview as you type.
- Syntax Highlighting: Code blocks, links, and formatting are highlighted.
- Wikilink Support: Create links to other notes using
[[Note Name]]syntax. - Keyboard Shortcuts:
Ctrl/Cmd+Entersaves the taskEscorTabto navigate out of the editor
- Placeholder Text: Shows an example task (e.g., "Buy groceries tomorrow at 3pm @home #errands") when the editor is empty.
Customizable Triggers¶
New in v4: Triggers for NLP properties can be customized in Settings → Features → NLP Triggers.
You can configure trigger characters or strings for:
- Tags (default:
#) - When set to#, Obsidian's native tag suggester is used - Contexts (default:
@) - Projects (default:
+) - Status (default:
*) - Priority (default:
!, disabled by default) - User-Defined Fields (default:
fieldname:) - Each custom field can have its own trigger
Triggers support up to 10 characters and can include trailing spaces (e.g., "def: " for a custom field).
Autocomplete¶
New in v4: When typing a trigger in the NLP editor, an autocomplete menu appears with available values.
- Navigate suggestions with arrow keys
- Select with
EnterorTab - Autocomplete works for tags, contexts, projects, status, priority, and user-defined fields
- Tag autocomplete uses Obsidian's native tag suggester when using the
#trigger - For user fields with multi-word values, wrap the value in quotes (e.g.,
effort: "very high")
The NLP engine is integrated with the task creation modal and bulk conversion features. Typing a natural language description populates the corresponding task fields automatically.