# obsidian: logseq-compatible tasks

> Source: <https://perrotta.dev/2026/07/obsidian-logseq-compatible-tasks/>
> Published: 2026-07-29 12:34:39+00:00

♠ [Previously](https://perrotta.dev/2026/07/logseq-obsidian/).

**Problem statement**: preserve Logseq’s task syntax while opening the same markdown
files in Obsidian.

My migration script originally converted every task into Obsidian’s checkbox syntax:

``` php
- TODO buy milk     ->  - [ ] buy milk
- DOING ...         ->  - [/] ...
- DONE ...          ->  - [x] ...
```

Obsidian itself does not recognize the left-hand side as tasks. The
[TODOseq](https://github.com/scross01/obsidian-todoseq) community plug-in does:

```
- TODO buy milk
- DOING ...
- DONE ...
```

It keeps the file unchanged, adds clickable task states and a task list to Obsidian, and remains compatible with Logseq.

Before granting a community plug-in write access to my vault, I inspected the current release with the LLM™:

```
% git clone --depth=1 https://github.com/scross01/obsidian-todoseq.git /tmp/obsidian-todoseq-audit
Cloning into '/tmp/obsidian-todoseq-audit'...
% cd /tmp/obsidian-todoseq-audit
% git rev-parse --short HEAD
4ba5e81
% jq '{id, version, minAppVersion, description}' manifest.json
{
  "id": "todoseq",
  "version": "0.18.1",
  "minAppVersion": "1.11.0",
  "description": "Lightweight keyword-based task tracker using Logseq style keywords."
}
```

A source scan found no network requests, telemetry, process execution, or
dynamic code evaluation 1.

It does read and modify notes through Obsidian’s vault API, as expected:

```
% rg -n 'vault\.(read|modify)' src/services/editor-controller.ts | head -4
1130:        const currentContent = await this.plugin.app.vault.read(todayNote);
1135:        await this.plugin.app.vault.modify(todayNote, newContent);
1283:        const todayContent = await this.plugin.app.vault.read(todayNote);
1286:        await this.plugin.app.vault.modify(todayNote, newTodayContent);
```

Low risk, and no task-format conversion needed.

This should make it easier for me to adapt my LogSeq muscle memory to Obsidian, even if at the cost of enabling community plug-ins.

🤖 *Drafted with *

`/bloggify`

.*Hope is not a strategy*. [↩︎](https://perrotta.dev/2026/07/obsidian-logseq-compatible-tasks/#fnref:1)

— § —

Reply via [email](mailto:serendipity@perrotta.dev?subject=Reply to: obsidian: logseq-compatible tasks)
