Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Tasks custom date

ssjy1919ssjy191961 downloads

Automatically write created, completion and cancelled timestamps, with custom state transitions and format templates.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

中文

Automatically write created, completion and cancelled timestamps when tasks change state. Supports custom state transitions, configurable field templates, a unified time format, creation-time suggestions, and multiple languages.

Features

Task interception strategy

  • The setting "Interception trigger tag/text" defaults to #custom.
  • Only tasks containing the tag/text are intercepted for timestamp writes and state transitions.
  • Leave the input empty to intercept all tasks (global mode).

State transition engine

  • Fixed base states: incomplete [ ] and done [x].
  • Add any number of custom intermediate states with a name and icon character; list order defines the click cycle.
  • Transition scope:
    • Default "only specified tag/text tasks transition": only tasks containing the transition trigger tag/text cycle through states.
    • "All tasks transition": all tasks cycle through states.
    • "No transition": clicking toggles only between incomplete and done; intermediate states are not involved.
  • The transition trigger tag/text is independent of the interception trigger tag/text.
  • Unconfigured state icons (for example [o]) fall back to incomplete [ ] when clicked.
  • The state row shows the transition path, for example [x] ( ◔ ω◔) ⇨ [/].

Field formats and writes

  • Each state has a format template; {{time}} is replaced with the current time when the task enters that state.
  • Templates without {{time}} are written literally and do not append a timestamp.
  • All time fields share the "Time format" setting: YYYY-MM-DDTHH:mm:ss, YYYY-MM-DD HH:mm, YYYY-MM-DD, or a custom moment.js format.
  • A live preview is shown below the custom format input, with the moment.js formatting guide.
  • "Always write created time": when enabled, a missing created time is written whenever a task in any state is clicked; existing created time is never overwritten.

Examples:

  • [created:: {{time}}] → [created:: 2026-08-08T04:15:04]
  • [completion:: {{time}}] → [completion:: 2026-08-08T04:15:04]
  • [cancelled:: {{time}}] → [cancelled:: 2026-08-08T04:15:04]

Created time suggestions

  • Typing the suggestion trigger character (default space) in a task line shows a created time suggestion.
  • The suggestion uses the incomplete state's format template.

Commands

  • Create or edit task: create or edit a task
  • Toggle task done: toggle task state
  • Insert created time: insert a created time field into a task line

Installation

  1. Download main.js, manifest.json, and styles.css from the latest GitHub release.
  2. Place them in .obsidian/plugins/tasks-custom-date/.
  3. Enable Tasks custom date in the Obsidian community plugins settings.

Development

npm install
npm test
npm run build
npm run plugin:reload
npm run reload

Source

This plugin is derived from the open-source project Obsidian Tasks, keeping the task timestamp write/remove approach while adding custom state transitions, format templates, a unified time format, and multilingual support. The upstream project is MIT licensed, and this plugin keeps its LICENSE.

HealthExcellent
ReviewCaution
About
Record timestamps when tasks change state and write them into configurable fields using format templates with a {{time}} placeholder. Define custom intermediate states and click-to-cycle flows per tag or globally, apply a unified time format, and show creation-time suggestions; supports multiple languages.
TasksDatesTemplating
Details
Current version
1.2.2
Last updated
Last month
Created
Last month
Updates
6 releases
Downloads
61
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
ssjy1919ssjy1919
GitHubssjy1919
  1. Community
  2. Plugins
  3. Tasks
  4. Tasks custom date

Related plugins

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Journals

Manage your journals.

Periodic Notes

Manage your daily, weekly, and monthly notes.

Tasks Calendar Wrapper

Simple wrapper for Tasks Calendar and Tasks Timeline.

Day Planner OG

Day planning from a simple task list in a Markdown note (bare bones, preserves the features and behavior of the original plugin).

Rollover Daily Todos

Rollover any unchecked checkboxes from your last daily note into today's note.

LifeOS

Life management system.

Calendar

Explore your daily notes.

TODOseq

Lightweight keyword-based task tracker using Logseq style keywords.