Adds a real daily note link to a task when you complete it, so backlinks show what you finished each day.
Adds a real daily note link to a task when you complete it, so backlinks show what you finished each day.
The Tasks plugin writes the done date as text, such as ✅ 2026-10-10. Text is not a link, so the daily note for that day shows nothing. The Tasks maintainers closed the request as not planned in June 2026 (issue 3372, 43 reactions) and said that another plugin should do it. Task Date Links is that plugin. It is a separate plugin by a different author, and it does not read the internals of Tasks.
When the Tasks plugin writes a done date, Task Date Links adds a link to that day before the Tasks fields:
- [x] Send the invoice to Ana [[2026-10-10]] ✅ 2026-10-10 ^invoice
The link goes before the fields on purpose. Tasks reads the fields from the end of the line, so a link after the done date would hide the date from Tasks. With the link before it, Tasks still reads the done date, the due date, the priority, the recurrence rule and the block id.
The plugin finds the fields with the same rules as Tasks, in the emoji format and the Dataview format. It changes nothing in a line except to add the link, keeps Windows line endings, and skips code blocks and front matter.
A recurring task works too. Tasks makes a new open copy and finishes the old one. Only the finished copy gets the link. When you uncheck a task, the plugin removes the links that it added. A link that you typed yourself stays.
Open the daily note and look at the Backlinks pane. Each task that you completed that day is there, with its whole line. The graph view shows the same links.
For old done dates, run "Link the done dates in the current note". To change only some lines, select them and run "Link the done dates in the selection".
A window lists every line that would change, with each new link marked. Nothing is written until you select "Link the dates". Then "Undo the last back-fill" puts every line back. A line that you edited since stays as it is.
After you apply it, a notice tells you how many dates were linked.
The plugin reads the date format of the core Daily notes plugin. You can set another moment format, such as DD-MM-YYYY. A format that would break a link, for example one with # or |, falls back to YYYY-MM-DD. A link text format such as MMM D gives [[2026-10-10|Oct 10]].
Turn on the start, scheduled, due or created date, and a completed task gets a link for each one. Turn on the weekly or monthly note, and each linked date also links its week or month, such as [[2026-W41]] and [[2026-10]]. Folder rules let you use the plugin in some folders only, or skip a folder such as Archive.
"Link the done dates in the whole vault" does the back-fill for every note, with the same preview. One undo puts back all notes.
Open Settings, then Community plugins, then Browse, and search for "Task Date Links". Select Install, then Enable. The Tasks plugin is optional, but it is the usual source of done dates.
To install by hand, download main.js, manifest.json and styles.css from the latest release. Put them in <vault>/.obsidian/plugins/task-date-links/. Reload the community plugins, then turn on Task Date Links.
Complete a task as you do now, for example with the Tasks command "Toggle task done". When Obsidian has saved the note with the done date, the link follows in a few seconds.
Only a done date of today or yesterday gets a link on its own. When you edit a note from last year, its old tasks stay as they are. Use the back-fill for those.
| Command | What it does |
|---|---|
| Link the done dates in the current note | Preview, then link every done date of the note. |
| Link the done dates in the selection | The same for the selected lines only. |
| Link the done dates in the whole vault | The same for every note. Pro. |
| Undo the last back-fill | Puts back the lines of the last back-fill. |
To keep one note out, add the property task-date-links: false to it.
A link that you delete by hand is not added again in the same session.
The free version has no time or task limit.
Pro adds the back-fill of the whole vault, links for the start, scheduled, due and created dates, weekly and monthly note links, and folder rules. To get it:
If you sponsor after you sign in, select Refresh. If a monthly sponsorship ends before you have paid $15 in total, Pro turns off at the next check, within 7 days.
| Setting | What it does |
|---|---|
| Pro | Sign in, status, Refresh and Sign out. |
| Link a task when it is completed | Turns the link on completion on or off. It is on by default. |
| Daily note format | A moment format. Empty means the format of the Daily notes plugin. |
| Link text format | An optional moment format for the text after the pipe. |
| Remove the link when a task is reopened | Removes the links that the plugin added when you uncheck the task. |
| Start, scheduled, due and created date | Pro. Link these dates of a completed task. |
| Weekly and monthly note | Pro. Link the week or month of each linked date, with a format for each. |
| Only these folders, Skip these folders | Pro. One folder for each line. |
No. Task Date Links reads the done date in the note. Tasks is the usual way to get it. A date that you type by hand also works.
The tests run with the real Tasks plugin. They check emoji fields, Dataview fields, recurrence rules, block ids and Windows line endings, and Tasks reads each line after the link is in it.
Queries on dates, status and priority work as before, because the fields do not change. The description of the task now holds the link text. A query such as description includes 2026 sees it.
The links stay in your notes as normal links.
Yes. It uses no desktop-only feature.
The core features are free and stay free. Pro features need a GitHub Sponsors sponsorship of theluckystrike: $5 a month or more, or $15 once. When you have paid $15 in total, Pro stays on. Your notes stay readable and editable with or without Pro.
GitHub handles the payment. Sponsor at https://github.com/sponsors/theluckystrike. You need no account for the free features. Pro needs the GitHub account that sponsors.
Until you select "Sign in with GitHub" in the settings, Task Date Links makes no network requests. Sign in uses the GitHub device flow. Task Date Links sends its public client ID and the scope read:user to https://github.com/login/device/code and shows you a code. While you enter the code at https://github.com/login/device, it asks https://github.com/login/oauth/access_token every few seconds whether sign in is done. The scope read:user is read-only access to your profile, which GitHub needs to show the sponsorship tier. It gives no access to repositories and no write access.
After sign in, Task Date Links sends one query to https://api.github.com/graphql: does the signed-in account sponsor theluckystrike, at which tier, and how much it has paid theluckystrike in total. It asks again at most once every 7 days, or when you select Refresh. It sends no note content, file names or other vault data, and it has no telemetry.
Pro keeps working for 14 days without a successful check. The GitHub token stays in the secret storage of Obsidian on this device. It is not written to data.json or other vault files, so it does not sync or reach a git repository. The local storage of this device keeps your GitHub login, the tier and the time of the last check. Sign out deletes the token. You can also revoke the access in your GitHub settings, under Applications.
Report a bug or ask for a feature in the issue tracker of this repository. To support the work, use GitHub Sponsors.
npm ci
npm run build
npm test
MIT