Obsidian plugin · 4.13.6 · 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. |
| Group complete and skip actions in a submenu | Nest the complete and skip actions under a submenu in the task context menu. Turn off to show them directly in the menu. |
| 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 | TaskNotes token, not your AI provider's API key. To generate one, enable HTTP API, leave this field empty, and restart Obsidian. Then copy the generated token into your client's bearer authentication settings. Update clients whenever this token changes. |
| 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,
"completionMenuAsSubmenu": 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
}