A terminal user interface for managing tasks stored as Obsidian-compatible markdown notes, built in Go using the Charm ecosystem.
- Go 1.21+
- An Obsidian vault (or any directory following the expected layout)
go install github.com/philbalchin/flint@latestOr build from source:
git clone https://github.com/philbalchin/flint
cd flint
go build -o flint .Config is loaded from (in order):
$FLINT_CONFIGenv var~/.config/flint/config.toml
# Required
vault_path = "/path/to/your/ObsidianVault"
tasks_folder = "Tasks" # subfolder within the vault containing Inbox/ and Archive/On first run with no config, Flint prints an error with setup instructions and exits.
<vault_path>/
└── <tasks_folder>/ # e.g. "Tasks"
├── Inbox/
│ ├── Fix login bug on mobile.md
│ └── Write Q2 roadmap doc.md
└── Archive/
└── Update dependency versions.md
Inbox/ and Archive/ are created automatically if they don't exist.
Files are plain .md files. The filename (without .md) is the task title.
---
status: new # new | in-progress | blocked | completed
tags:
- backend
- auth
created: 2026-03-13
---
Reproduced consistently on iOS Safari. Likely related to the cookie
SameSite attribute change in the last deploy.
Related note: [[Auth Middleware Refactor]]| Key | Action |
|---|---|
↑ / k |
Move selection up |
↓ / j |
Move selection down |
pgup / pgdn |
Scroll preview panel |
tab |
Toggle focus between list and preview |
e |
Open note in $EDITOR |
alt+e |
Open note in Obsidian |
c |
Create new task |
a |
Archive selected task (completed tasks only) |
/ |
Filter list |
q / ctrl+c |
Quit |
| Flag | Description |
|---|---|
--create |
Launch directly into the Create Task form. Exits on submit (0) or cancel (non-zero). |
Example usage from a shell alias or script:
flint --create