Назад към всички

obsidian-task

// Manage Obsidian tasks via obsidian-cli. List, toggle, create, and update tasks from the terminal.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameobsidian-task
descriptionManage Obsidian tasks via obsidian-cli. List, toggle, create, and update tasks from the terminal.
compatibilitydarwin,linux
metadata[object Object]

Obsidian Task

Manage tasks in your Obsidian vault using the official Obsidian CLI.

Dependencies

DependencyRequiredDescription
obsidianYesObsidian CLI (registered via Obsidian settings)
Obsidian 1.12+YesCatalyst license required for CLI access

Check Dependencies

# Check obsidian CLI availability
obsidian version

Prerequisites

  • Obsidian 1.12+ and Catalyst license required
  • Settings → General → Command line interface → Enable
  • Follow prompt to register the obsidian command
  • Restart terminal or source ~/.zprofile (macOS)
  • Note: Obsidian must be running for CLI to work

Test setup: obsidian version

Usage

/obsidian-task [command] [options]

Commands

CommandDescription
(none)Show help and available commands

Options

OptionDescription
--helpShow help message

Examples

# List tasks
/obsidian-task tasks file=projects/myproject/todo verbose

# Toggle task on line 2
/obsidian-task task file=projects/myproject/todo line=2 toggle

# Mark task as done
/obsidian-task task file=projects/myproject/todo line=2 done

# Mark task as todo (undo completion)
/obsidian-task task file=projects/myproject/todo line=2 todo

# Create new task
/obsidian-task append file=projects/myproject/todo content="- [ ] task name"

Raw CLI Commands

# List tasks (shows line numbers and status)
obsidian tasks file=<project_slug>/todo verbose

# Sample output:
# projects/<project_slug>/TODO.md
# 2	- [ ] 未完成的任务
# 3	- [x] 已完成的任务

# Update tasks
obsidian task file=<project_slug>/todo line=2 toggle
obsidian task file=<project_slug>/todo line=2 done
obsidian task file=<project_slug>/todo line=2 todo

# Create new task (via append)
obsidian append file=<project_slug>/todo content="- [ ] task name"