obsidian-tasks-clilisted
Install: claude install-skill lexbritvin/obsidian-skills-pack
# Managing Tasks via CLI
Use the `obsidian` CLI to read and update tasks. Obsidian must be running.
Start with simple CLI commands. Only use `obsidian eval` when you need filtering that CLI flags can't express (by priority, dates, tags, or custom logic).
## Listing Tasks
```bash
obsidian tasks todo # all incomplete tasks
obsidian tasks done # completed tasks
obsidian tasks todo format=json # JSON output for parsing
obsidian tasks verbose # grouped by file
obsidian tasks todo total # count only
obsidian tasks todo path="Projects" # filter by folder
obsidian tasks todo file="Shopping" # filter by file name
obsidian tasks daily todo # tasks from daily note
```
JSON output shape:
```json
[
{
"status": " ",
"text": "- [ ] Buy groceries 📅 2025-04-10",
"file": "Projects/Shopping.md",
"line": "12"
}
]
```
Status characters: `" "` = TODO, `"/"` = IN_PROGRESS, `"x"` = DONE, `"-"` = CANCELLED.
## Updating Tasks
```bash
obsidian task path="note.md" line=12 toggle # toggle status
obsidian task path="note.md" line=12 done # mark done
obsidian task path="note.md" line=12 todo # mark todo
obsidian task path="note.md" line=12 status="/" # set in-progress
```
To add a new task to a file:
```bash
obsidian append path="note.md" content="- [ ] New task 📅 2025-04-10"
```
`append` writes whatever text you give it verbatim — match the vault's Task Form