Obsidian plugin · 4.12.3 · Generated from source
Settings source reference
The six TaskNotes settings tabs, their controls, and the complete default settings snapshot generated from source.
TaskNotes currently exposes 6 settings tabs. This inventory is generated from the tab renderer and English translation source so additions cannot silently disappear from the documentation.
General#
Source: src/settings/tabs/generalTab.ts
| Setting | Purpose |
|---|---|
| Default tasks folder | Default location for new tasks. Supports folder template variables like {{currentNotePath}}, {{currentNoteTitle}}, and {{projectFilePath}}, plus Daily Notes-style date tokens like YYYY/MM/DD. |
| Folder for inline-created tasks | Folder where tasks created from inline commands or checkbox conversion will be created. Leave empty to use the default tasks folder. Use {{currentNotePath}} for the current note's folder, or {{currentNoteTitle}} for a subfolder named after the current note. |
| Move archived tasks to folder | Automatically move archived tasks to an archive folder |
| Archive folder | Folder to move tasks to when archived. Supports template variables like {{year}}, {{month}}, {{priority}}, etc. |
| Identify tasks by | Choose whether to identify tasks by tag or by a frontmatter property |
| Task tag | Tag that identifies notes as tasks (without #). Existing .base view filters keep their old tag when this changes; update default Base files or edit those filters. |
| Hide identification tags in task cards | When enabled, tags matching the task identification tag (including hierarchical matches like 'task/project') will be hidden from task card displays |
| Hidden tag scope | Choose whether hiding identification tags also hides nested tags. |
| Task property name | The frontmatter property name (e.g., "category") |
| Task property value | The value that identifies a note as a task (e.g., "task") |
| Auto-create default files | Automatically create missing default base view files on startup. Disable to prevent deleted sample files from being recreated. |
| Create default files | Create the default .base files in TaskNotes/Views/ directory. Existing files will not be overwritten. |
| Update default files | Overwrite the configured default .base files with templates generated from your current TaskNotes settings. |
| Export v3 saved views to Bases | Convert all your saved views from TaskNotes v3 into a single .base file with multiple views. This helps migrate your v3 filter configurations to the new Bases system. |
| Excluded folders | Comma-separated list of folders to exclude from task indexing and project suggestions |
| UI language | Select the language used for TaskNotes interface text |
| Use Markdown links in frontmatter | Generate markdown links ([text](path)) instead of wikilinks ([[link]]) in frontmatter properties. ⚠️ Requires the 'obsidian-frontmatter-markdown-links' plugin to work correctly. |
| Show release notes after update | Automatically open release notes when TaskNotes is updated to a new version |
| Check for new releases on startup | Check GitHub once when TaskNotes starts and show a notice when a newer compatible release is available |
| View release notes | See what's new in the latest version of TaskNotes |
Task properties#
Source: src/settings/tabs/taskPropertiesTab.ts
| Setting | Purpose |
|---|---|
| No static controls detected | This tab is assembled dynamically. |
Modal fields#
Source: src/settings/tabs/modalFieldsTab.ts
| Setting | Purpose |
|---|---|
| No static controls detected | This tab is assembled dynamically. |
Appearance & UI#
Source: src/settings/tabs/appearanceTab.ts
| Setting | Purpose |
|---|---|
| Default visible properties | Choose which properties appear on task cards by default. |
| Time format | Display time in 12-hour or 24-hour format throughout the plugin |
| Default view | The calendar view shown when opening the calendar tab |
| Custom view day count | Number of days to show in custom multi-day view |
| First day of week | Which day should be the first column in week views |
| Show weekends | Display weekends in calendar views |
| Show week numbers | Display week numbers in calendar views |
| Show today highlight | Highlight the current day in calendar views |
| Show current time indicator | Display a line showing the current time in timeline views |
| Selection mirror | Show a visual preview while dragging to select time ranges |
| Calendar locale | Calendar locale for date formatting and calendar system (e.g., "en", "fa" for Farsi/Persian, "de" for German). Leave empty to auto-detect from browser. |
| Show scheduled tasks | Display tasks with scheduled dates by default |
| Show due dates | Display task due dates by default |
| Show due dates when scheduled | Display due dates even for tasks that already have scheduled dates |
| Show time entries | Display completed time tracking entries by default |
| Show recurring tasks | Display recurring task instances by default |
| Show ICS events | Display events from ICS subscriptions by default |
| Time slot duration | Duration of each time slot in timeline views |
| Start time | Earliest time shown in timeline views (HH:MM format) |
| End time | Latest time shown in timeline views (HH:MM format). Use values above 24:00 to show early next-day hours, such as 26:00 for 2 AM. |
| Initial scroll time | Time to scroll to when opening timeline views (HH:MM format) |
| Event minimum height | Minimum height for events in timeline views (pixels) |
| Show tracked tasks in status bar | Display currently tracked tasks in Obsidian's status bar |
| Show relationships widget | Display a widget showing all relationships for the current note (subtasks, projects, dependencies) |
| Relationships position | Where to position the relationships widget |
| Show task card in note | Display a task card widget at the top of task notes showing the task details and actions |
| Strike through completed task titles | Draw a line through completed task card titles. Turn off to keep completed tasks easier to read |
| Show expandable subtasks | Allow expanding/collapsing subtask sections in task cards |
| Expand subtasks by default | Show project subtasks expanded when task cards are rendered |
| Subtask chevron position | Position of expand/collapse chevrons in task cards |
| Views button alignment | Alignment of the views/filters button in the task interface |
| Single-click action | Action performed when single-clicking a task card |
| Double-click action | Action performed when double-clicking a task card |
Features#
Source: src/settings/tabs/featuresTab.ts
| Setting | Purpose |
|---|---|
| Task link overlay | Show interactive overlays when hovering over task links |
| Disable overlay for aliased links | Do not show the task widget if the link contains an alias (e.g. [[Task|Alias]]). |
| Show convert button next to checkboxes | Display an inline button next to Markdown checkboxes that converts them to TaskNotes |
| Keep checkbox when converting | Leave the original Markdown checkbox marker in place when converting a checkbox to a TaskNote link |
| Enable natural language task input | Parse due dates, priorities, and contexts from natural language when creating tasks |
| Default to scheduled | When NLP detects a date without context, treat it as scheduled rather than due |
| NLP language | Language for natural language processing patterns and date parsing |
| Open task after creation | Choose whether the task creation modal opens the new task note after saving. |
| Use body template | Use a template file for task body content |
| Body template file | Path to template file for task body content. Supports template variables like {{title}}, {{date}}, {{time}}, {{priority}}, {{status}}, etc. |
| Use occurrence note template | Use a separate fallback template for materialized occurrence notes when the recurring task has no occurrence_template |
| Occurrence note template file | Path to template file for materialized occurrence notes. A recurring task's occurrence_template field takes priority over this fallback. |
| Template variables: | See the setting in Obsidian for contextual details. |
| Use task defaults on instant convert | Apply default task settings when converting text to tasks instantly |
| Work duration | Duration of work intervals in minutes |
| Short break duration | Duration of short breaks in minutes |
| Long break duration | Duration of long breaks in minutes |
| Long break interval | Number of work sessions before a long break |
| Auto-start breaks | Automatically start break timers after work sessions |
| Auto-start work | Automatically start work sessions after breaks |
| Pomodoro notifications | Show notifications when Pomodoro sessions end |
| Show Pomodoro in status bar | Display the active Pomodoro countdown in Obsidian's status bar |
| Sound enabled | Play sound when Pomodoro sessions end |
| Sound volume | Volume for Pomodoro sounds (0-100) |
| Pomodoro data storage | Configure where Pomodoro session data is stored and how it's managed. |
| Mobile sidebar | Where to open the Pomodoro timer on mobile devices |
| Enable notifications | Enable task reminder notifications |
| Notification type | Type of notifications to show |
| Send test reminder | Send a test reminder using the current notification type and sound settings. |
| Notification sound | Play a sound when task reminders trigger |
| Sound volume | Volume for task reminder sounds (0-100) |
| Preview notification sound | Play the configured task reminder sound |
| Hide completed tasks from overdue | Exclude completed tasks from overdue task calculations |
| Disable note indexing | Disable automatic indexing of note content for better performance |
| Suggestion debounce | Delay in milliseconds before showing suggestions |
| Auto-stop time tracking | Automatically stop time tracking when a task is marked complete |
| Time tracking stop notification | Show notification when time tracking is automatically stopped |
| Maintain due date offset in recurring tasks | Keep the offset between due date and scheduled date when recurring tasks are completed |
| Reset checkboxes on recurrence | Reset all Markdown checkboxes in the task body when a recurring task is completed and rescheduled |
| Enable timeblocking | Enable timeblocking feature for lightweight scheduling in daily notes. When enabled, 'Timeblock' option appears in the calendar drag context menu. |
| Show timeblocks | Display timeblocks from daily notes by default |
| Default timeblock color | The default color used when creating new timeblocks |
| Enable debug logging | Log detailed drag-and-drop and view diagnostics to the developer console. Useful for troubleshooting. |
Integrations#
Source: src/settings/tabs/integrationsTab.ts
| Setting | Purpose |
|---|---|
| Generate mdbase type definitions | See the setting in Obsidian for contextual details. |
| Disable calendar integrations on mobile | Skip Google, Microsoft, and ICS calendar loading on Obsidian mobile. Desktop calendar integrations are unchanged. |
| Calendar integrations are disabled on this mobile device | See the setting in Obsidian for contextual details. |
| Enable task export | When enabled, tasks with dates will be automatically synced to Google Calendar as events. |
| Target calendar | See the setting in Obsidian for contextual details. |
| Sync trigger | Which task date should trigger calendar event creation. |
| Create as all-day events | When enabled, tasks are created as all-day events. When disabled, uses time estimate for duration. |
| Default event duration | Duration in minutes for timed events (used when task has no time estimate). |
| Event title template | Template for event titles. Available variables: {{title}}, {{status}}, {{priority}} |
| Include task details in description | Add task metadata (priority, status, tags, etc.) to the event description. |
| Include Obsidian link | Add a link back to the task in Obsidian in the event description. |
| Default reminder | Add popup reminders to timed Google Calendar events. Enter minutes before the event, separated by commas. Leave empty to use calendar defaults. Common values: 15, 30, 60, 1440. |
| Automatic sync behavior | See the setting in Obsidian for contextual details. |
| Sync on task create | Automatically create calendar event when a new task is created. |
| Sync on task update | Automatically update calendar event when a task is modified. |
| Sync on task complete | Update calendar event when a task is completed (adds checkmark to title). |
| Delete event on task delete | Remove calendar event when the corresponding task is deleted. |
| Manual sync actions | See the setting in Obsidian for contextual details. |
| Sync all tasks | Sync all existing tasks to Google Calendar. This will create events for tasks that haven't been synced yet. |
| Unlink all tasks | Remove all task-event links without deleting calendar events. |
| Default note template | Path to template file for notes created from ICS events |
| Default note folder | Folder for notes created from ICS events |
| ICS note filename format | How filenames are generated for notes created from ICS events |
| Custom ICS filename template | Template for custom ICS event filenames |
| Use ICS event end time as task due date | When enabled, tasks created from calendar events will have their due date set to the event's end time. For all-day events, the due date will be set to the event date. For timed events, the due date will include the end time. |
| Recurring event related notes | Choose whether notes linked to one recurrence of an external calendar event appear across the loaded series or only on the selected instance. |
| Add calendar subscription | Add a new calendar subscription from ICS/iCal URL or local file |
| New calendar | See the setting in Obsidian for contextual details. |
| Refresh all subscriptions | Manually refresh all enabled calendar subscriptions |
| Enable automatic export | Automatically keep an ICS file updated with all your tasks |
| Export file path | Path where the ICS file will be saved (relative to vault root) |
| Update interval (between 5 and 1440 minutes) | How often to update the export file |
| Use task duration for event length | When enabled, uses the task's time estimate (duration) instead of due date for the calendar event end time. This is useful for GTD workflows where scheduled + duration represents work planning, while due date represents deadlines. |
| Exclude completed tasks | When enabled, completed tasks are omitted from ICS exports. Completed statuses are taken from your task statuses settings. |
| Exclude archived tasks | When enabled, archived tasks are omitted from ICS exports. |
| Require due date | When enabled, only tasks with a due date are included in ICS exports. |
| Require scheduled date | When enabled, only tasks with a scheduled date are included in ICS exports. |
| Export now | Manually trigger an immediate export |
| Export status: | See the setting in Obsidian for contextual details. |
| Enable HTTP API | Start local HTTP server for API access |
| API port | Port number for the HTTP API server |
| API authentication token | Token required for API authentication (leave empty for no auth) |
| Enable MCP server | Expose TaskNotes tools via Model Context Protocol at /mcp endpoint. Requires HTTP API to be enabled. |
| Add webhook | Register a new webhook endpoint |
Complete default settings snapshot#
The following JSON is generated from DEFAULT_SETTINGS. Empty strings and disabled flags are intentional defaults.
{
"tasksFolder": "TaskNotes/Tasks",
"moveArchivedTasks": false,
"archiveFolder": "TaskNotes/Archive",
"taskTag": "task",
"taskIdentificationMethod": "tag",
"hideIdentifyingTagsInCards": false,
"hideIdentifyingTagsMode": "all",
"taskPropertyName": "",
"taskPropertyValue": "",
"excludedFolders": "",
"defaultTaskPriority": "normal",
"defaultTaskStatus": "open",
"taskOrgFiltersCollapsed": false,
"taskFilenameFormat": "zettel",
"storeTitleInFilename": true,
"customFilenameTemplate": "{{title}}",
"occurrenceFilenameTemplate": "",
"occurrenceFilenameTemplateProperty": "occurrenceFilenameTemplate",
"taskCreationDefaults": {
"defaultContexts": "",
"defaultTags": "",
"defaultProjects": "",
"useParentNoteForTaskCreation": false,
"useParentNoteAsProject": false,
"useParentHeaderAsProject": false,
"inheritParentTaskProperties": false,
"defaultTimeEstimate": 0,
"defaultRecurrence": "none",
"defaultDueDate": "none",
"defaultDueTime": "none",
"defaultScheduledDate": "today",
"defaultScheduledTime": "none",
"bodyTemplate": "",
"useBodyTemplate": false,
"occurrenceBodyTemplate": "",
"useOccurrenceBodyTemplate": false,
"defaultReminders": []
},
"openTaskAfterCreation": "none",
"calendarViewSettings": {
"defaultView": "dayGridMonth",
"customDayCount": 3,
"slotDuration": "00:30:00",
"slotMinTime": "00:00:00",
"slotMaxTime": "24:00:00",
"scrollTime": "08:00:00",
"firstDay": 1,
"timeFormat": "24",
"showWeekends": true,
"locale": "",
"defaultShowScheduled": true,
"defaultShowDue": true,
"defaultShowDueWhenScheduled": true,
"defaultShowScheduledToDueSpan": false,
"defaultShowTimeEntries": false,
"defaultShowRecurring": true,
"defaultShowICSEvents": true,
"enableTimeblocking": false,
"defaultShowTimeblocks": true,
"defaultTimeblockColor": "#6366f1",
"timeblockAttachmentSearchOrder": "name-asc",
"nowIndicator": true,
"selectMirror": true,
"weekNumbers": false,
"showTodayHighlight": true,
"eventMinHeight": 15,
"slotEventOverlap": true,
"eventMaxStack": null,
"dayMaxEvents": true,
"dayMaxEventRows": false
},
"pomodoroWorkDuration": 25,
"pomodoroShortBreakDuration": 5,
"pomodoroLongBreakDuration": 15,
"pomodoroLongBreakInterval": 4,
"pomodoroAutoStartBreaks": true,
"pomodoroAutoStartWork": false,
"pomodoroNotifications": true,
"pomodoroSoundEnabled": true,
"pomodoroSoundVolume": 50,
"pomodoroStorageLocation": "plugin",
"pomodoroMobileSidebar": "tab",
"showPomodoroInStatusBar": true,
"enableTaskLinkOverlay": true,
"disableOverlayOnAlias": false,
"enableInstantTaskConvert": true,
"useDefaultsOnInstantConvert": true,
"preserveCheckboxOnConvert": false,
"taskModalTabMovesFocus": true,
"enableNaturalLanguageInput": true,
"nlpDefaultToScheduled": true,
"nlpLanguage": "en",
"uiLanguage": "system",
"statusSuggestionTrigger": "*",
"nlpTriggers": {
"triggers": [
{
"propertyId": "tags",
"trigger": "#",
"enabled": true
},
{
"propertyId": "contexts",
"trigger": "@",
"enabled": true
},
{
"propertyId": "projects",
"trigger": "+",
"enabled": true
},
{
"propertyId": "status",
"trigger": "*",
"enabled": true
},
{
"propertyId": "priority",
"trigger": "!",
"enabled": false
}
]
},
"singleClickAction": "edit",
"doubleClickAction": "openNote",
"projectAutosuggest": {
"enableFuzzy": false,
"rows": [
"{title|n(Title)}",
"{aliases|n(Aliases)}",
"{file.path|n(Path)}"
],
"showAdvanced": false,
"requiredTags": [],
"includeFolders": [],
"propertyKey": "",
"propertyValue": ""
},
"inlineTaskConvertFolder": "{{currentNotePath}}",
"disableNoteIndexing": false,
"suggestionDebounceMs": 0,
"fieldMapping": {
"title": "title",
"status": "status",
"priority": "priority",
"due": "due",
"scheduled": "scheduled",
"contexts": "contexts",
"projects": "projects",
"attachments": "attachments",
"timeEstimate": "timeEstimate",
"completedDate": "completedDate",
"dateCreated": "dateCreated",
"dateModified": "dateModified",
"recurrence": "recurrence",
"recurrenceAnchor": "recurrence_anchor",
"recurrenceParent": "recurrence_parent",
"occurrenceDate": "occurrence_date",
"occurrenceMaterialization": "occurrence_materialization",
"occurrenceNextTrigger": "occurrence_next_trigger",
"occurrenceTemplate": "occurrence_template",
"occurrencePastHorizon": "occurrence_past_horizon",
"occurrenceFutureHorizon": "occurrence_future_horizon",
"archiveTag": "archived",
"timeEntries": "timeEntries",
"completeInstances": "complete_instances",
"skippedInstances": "skipped_instances",
"blockedBy": "blockedBy",
"pomodoros": "pomodoros",
"icsEventId": "icsEventId",
"icsEventTag": "ics_event",
"googleCalendarEventId": "googleCalendarEventId",
"googleCalendarExceptionEventId": "googleCalendarExceptionEventId",
"googleCalendarExceptionOriginalScheduled": "googleCalendarExceptionOriginalScheduled",
"googleCalendarMovedOriginalDates": "googleCalendarMovedOriginalDates",
"reminders": "reminders",
"sortOrder": "tasknotes_manual_order"
},
"customStatuses": [
{
"id": "none",
"value": "none",
"label": "None",
"color": "#cccccc",
"isCompleted": false,
"excludeFromCycle": false,
"order": 0,
"autoArchive": false,
"autoArchiveDelay": 5
},
{
"id": "open",
"value": "open",
"label": "Open",
"color": "#808080",
"isCompleted": false,
"excludeFromCycle": false,
"order": 1,
"autoArchive": false,
"autoArchiveDelay": 5
},
{
"id": "in-progress",
"value": "in-progress",
"label": "In progress",
"color": "#0066cc",
"isCompleted": false,
"excludeFromCycle": false,
"order": 2,
"autoArchive": false,
"autoArchiveDelay": 5
},
{
"id": "done",
"value": "done",
"label": "Done",
"color": "#00aa00",
"isCompleted": true,
"excludeFromCycle": false,
"order": 3,
"autoArchive": false,
"autoArchiveDelay": 5
}
],
"customPriorities": [
{
"id": "none",
"value": "none",
"label": "None",
"color": "#cccccc",
"weight": 0
},
{
"id": "low",
"value": "low",
"label": "Low",
"color": "#00aa00",
"weight": 1
},
{
"id": "normal",
"value": "normal",
"label": "Normal",
"color": "#ffaa00",
"weight": 2
},
{
"id": "high",
"value": "high",
"label": "High",
"color": "#ff0000",
"weight": 3
}
],
"recurrenceMigrated": false,
"showReleaseNotesOnUpdate": true,
"checkForUpdatesOnStartup": true,
"starterNoteCreated": false,
"showTrackedTasksInStatusBar": false,
"autoStopTimeTrackingOnComplete": true,
"autoStopTimeTrackingNotification": false,
"showRelationships": true,
"relationshipsPosition": "bottom",
"showTaskCardInNote": true,
"showCompletedTaskStrikethrough": true,
"showExpandableSubtasks": true,
"expandSubtasksByDefault": false,
"subtaskChevronPosition": "right",
"viewsButtonAlignment": "right",
"hideCompletedFromOverdue": true,
"icsIntegration": {
"defaultNoteTemplate": "",
"defaultNoteFolder": "",
"icsNoteFilenameFormat": "title",
"customICSNoteFilenameTemplate": "{title}",
"enableAutoExport": false,
"autoExportPath": "tasknotes-calendar.ics",
"autoExportInterval": 60,
"useDurationForExport": false,
"excludeArchivedFromExport": false,
"excludeCompletedFromExport": false,
"requireDueDateForExport": false,
"requireScheduledDateForExport": false,
"useICSEndAsDue": false,
"recurringEventRelatedNotesMode": "series"
},
"savedViews": [],
"enableNotifications": true,
"notificationType": "system",
"notificationSoundEnabled": false,
"notificationSoundVolume": 50,
"enableAPI": false,
"apiPort": 8080,
"apiAuthToken": "",
"enableMCP": false,
"webhooks": [],
"userFields": [],
"enableModalSplitLayout": true,
"defaultVisibleProperties": [
"status",
"priority",
"due",
"scheduled",
"projects",
"contexts",
"tags",
"blocked",
"blocking"
],
"inlineVisibleProperties": [
"status",
"priority",
"due",
"scheduled",
"recurrence"
],
"enableBases": true,
"enableMdbaseSpec": false,
"autoCreateDefaultBasesFiles": true,
"commandFileMapping": {
"open-calendar-view": "TaskNotes/Views/mini-calendar-default.base",
"open-kanban-view": "TaskNotes/Views/kanban-default.base",
"open-tasks-view": "TaskNotes/Views/tasks-default.base",
"open-advanced-calendar-view": "TaskNotes/Views/calendar-default.base",
"open-agenda-view": "TaskNotes/Views/agenda-default.base",
"pomodoro-stats-base": "TaskNotes/Views/pomodoro-stats.base",
"relationships": "TaskNotes/Views/relationships.base"
},
"maintainDueDateOffsetInRecurring": false,
"resetCheckboxesOnRecurrence": false,
"useFrontmatterMarkdownLinks": false,
"enableGoogleCalendar": false,
"enableMicrosoftCalendar": false,
"disableCalendarOnMobile": false,
"enabledGoogleCalendars": [],
"googleCalendarSyncTokens": {},
"enabledMicrosoftCalendars": [],
"microsoftCalendarSyncTokens": {},
"googleCalendarExport": {
"enabled": false,
"targetCalendarId": "",
"syncOnTaskCreate": true,
"syncOnTaskUpdate": true,
"syncOnTaskComplete": true,
"syncOnTaskDelete": true,
"eventTitleTemplate": "{{title}}",
"includeDescription": true,
"eventColorId": null,
"syncTrigger": "scheduled",
"createAsAllDay": true,
"defaultEventDuration": 60,
"includeObsidianLink": true,
"defaultReminderMinutes": null
},
"enableDebugLogging": false
}