VS Code extension

Task Trail icon

Task Trail

A task list that is just Markdown files — and that writes itself down. Every Claude Code session is recorded back into the task it belonged to, so a week later you can still see what you actually did.

v1.1.3 Updated MIT

Requires the Claude Code CLI for the chat, the automatic session recording and the scheduled runs. The task list itself works without it.

What you get

Your tasks, as files you own.

Tasks live in a plain tasks/ folder next to your code: one .md file per task, with YAML frontmatter and three sections. You can read them in Obsidian, grep them, and commit them.

Tasks as files
tasks/active/2026-09-04_rewrite-readme.md. No database, no sync, no lock-in. Move the folder, keep your tasks.
Sessions record themselves
A Stop hook matches each finished Claude Code session to a task and appends what you asked for and what came back — with a marker that links back to the conversation.
A chat that manages the ledger
Ask for a breakdown, a schedule, a handoff rewrite. It can only touch your tasks through a small MCP tool layer — no free-hand file editing.
Nothing is a one-way door
Finishing a task archives it — and you can bring it straight back if it turns out there was more to do.
Handoff, not history
Each task carries one section that is always the current state. Pick the work back up months later without reading the whole log.
Scheduling and unattended runs
Remind me at 9:00 — or work through the unchecked subtasks by yourself.
Several ledgers at once
Work and personal open in the same window stay separate ledgers, and nothing crosses over.

The format

What a task file looks like

Three rules make the format work:

  • Overview is fixed. It says why the task exists.
  • Handoff is overwritten in full, every session. It is the one section you read to resume.
  • The log is append-only and newest first. Nothing that a person wrote is ever removed.

Headings can be English or Japanese (## Overview / ## 概要) — Task Trail reads both.

---
title: Rewrite the setup guide
status: doing          # todo | doing | waiting | done
project: docs
priority: high         # high | mid | low
created: 2026-09-01
updated: 2026-09-04
due: 2026-09-10
tags: []
keywords: [setup guide, onboarding]   # help the hook recognise this work
paths: [docs-site]                    # folder-name fragments; matched against the session cwd
artifacts: []
---

## Overview
Why this task exists. Written once, left alone.

## Handoff
- **Task file**: [/…/tasks/active/2026-09-04_rewrite-setup-guide.md](file:///…)
- **Current state**: the first three steps are rewritten; screenshots are stale
- **Next actions**:
  1. Retake the screenshots at 2x
  2. Check the Windows path examples
- **Waiting / blockers**: none
- **Files**: docs-site/setup.md
- **Commands**: npm run docs:dev
- **Decided (do not reopen)**: we keep the CLI-first ordering
- **Pitfalls**: the old guide had two "step 3"s

## Subtasks
- [x] Rewrite steps 1–3
- [ ] Retake the screenshots

## Log

### 2026-09-04 14:20 (auto-recorded) <!-- tt:9a8b7c6d -->
- Request: rewrite the setup guide so it starts from the CLI
- Response: rewrote steps 1-3 and left the screenshots for later

### 2026-09-01 09:00
Task created

The details panel

One task, and where it stands.

What it is, where it stands, what is next — and a log that Claude Code writes itself.

A Task Trail task in the details panel: status, priority and due-date chips, a handoff with next actions, the overview and a subtask list.
The task in the image is made up.

Pro

Pro buys the automation around it.

Everything that makes a task list a task list is free, and stays free: the Markdown files, the tree, the details panel, the automatic session recording, the task chat, and opening a conversation from a task.

i.

Scheduling

Give a task a time from the UI or the task chat, and get a reminder when it comes due.

ii.

Automatic subtask runs

Claude works through the unchecked subtasks one at a time, in a single conversation, checking each one off and quoting what it did into the log. A failed run keeps its schedule.

iii.

Slack notifications

A Slack DM when a schedule fires, using a credentials file you create yourself.

Task Trail Pro $12 · or Workbench $15 with Session Trail Pro. One payment, no subscription, all future Pro features included.

Task Trail: Free and Pro features
FeatureFreePro
Markdown tasks, tree, details panelIncludedIncluded
Automatic session recordingIncludedIncluded
Task chat, opening conversationsIncludedIncluded
Sorting, priority summary, due datesIncludedIncluded
Scheduling from the UI and the chatNot includedIncluded
Automatic subtask runsNot includedIncluded
Slack notificationsNot includedIncluded

Requirements and limits

  • Claude Code CLI for the chat, session recording and scheduled runs. The task list, the tree, the details panel and every edit work without it.
  • Schedules only fire while the editor is open. Anything that came due meanwhile is offered to you at the next start.
  • Unattended runs cost money. They run with acceptEdits by default, stop at the first failure, and keep their schedule so a silent failure cannot go unnoticed.
  • Session recording deliberately stays quiet when it is not confident which task a conversation belongs to.

Works with Session Trail: if it is installed, “Work on this in chat” opens your conversations there with the full history replayed, and the tt: markers link both ways. Task Trail does not need it.

Let the work write itself down.

Task Trail is free to install. The Markdown tasks, the session recording and the task chat stay free; Pro is a one-time $12.

On Cursor, Windsurf or Antigravity? Both extensions are on Open VSX.