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.

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
}
Source: tasknotes:docs-builder/src/generated-pages.jsView source