Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>KachiBoxNew to Visual Studio Code? Get it now.
KachiBox

KachiBox

Beagle Ridge LLC

| (0) | Free
Daily tasks in VS Code — JSON files, markdown checklists, filters, focus views, and Git-friendly project or global storage.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

KachiBox

Daily tasks in VS Code — one JSON file per task. Markdown checklists, notes, filters, and Git-friendly storage in the sidebar.

  • Portable — plain JSON on disk; edit in the UI or open the task file
  • Project + global — workspace tasks in .vscode/tasks plus an optional machine-wide folder
  • Built for flow — quick capture, focus views (Today / Overdue / Blocked), keyboard shortcuts, export/import

Install: Extensions → search KachiBox, or install from a .vsix (see For developers).

KachiBox List

KachiBox Checklist

KachiBox Details

Getting started

  1. Install KachiBox from the marketplace (or run from source — see For developers).
  2. Click the checklist icon in the Activity Bar (left sidebar).
  3. Open the Tasks panel and click + New Task.

Panel toolbar (top of the Tasks view):

Button Action
+ New task
Refresh Reload tasks from disk
Gear Open KachiBox settings

Creating and editing tasks

New task

Click + New Task at the bottom of the sidebar, or the + button in the panel title bar, then enter a title.

Task cards

Click a card to open the detail panel.

  • Title saves automatically as you type.
  • Notes render as HTML under the checklist; click Edit notes to edit Markdown in VS Code’s full editor.
  • Condensed (toolbar): title and progress ring only.
  • Full: labels, priority, due date, and more on the card.

Detail panel

Tab Contents
Checklist Checklist items plus rendered notes beneath (drag the splitter to resize); Edit notes opens the full markdown editor
Details Status (To Do / In Progress / Blocked / Done), due date, labels, priority
Meeting Shown when linked from KaigiBox — open the source meeting

Header: checklist progress on the left; JSON and Close on the right. Task actions (Done, Move, Delete) are in the title ⋯ menu.

KaigiBox integration

When KaigiBox links a meeting action to a task:

  • The task stores sourceMeetingId, sourceActionId, and sourceMeetingPath.
  • Meeting actions focus chip shows only linked tasks; task cards show a Meeting badge.
  • Open meeting in the detail header (and banner at the top of the panel) opens the source meeting in KaigiBox.
  • Marking the task done or re-open syncs the meeting action checkbox (always on).
  • With kachibox.syncLinkedActions (default on), editing the task title, due date, or assignee (assignee: label) syncs back to the meeting action; saving the meeting syncs changes to the task.

Requires KaigiBox installed for meeting navigation and field sync.

Done and closed tasks

  1. Actions → Done marks the task complete, checks all checklist items, and removes it from the active list.
  2. Toolbar Closed shows completed tasks (with closed date under the title).
  3. Actions → Re-open returns a closed task to To Do on the active list.

Checklists

Tasks store checklists as Markdown inside the JSON file:

- [ ] Todo item
- [x] Completed item
  • Click a checkbox (or item text) to toggle done.
  • Double-click item text to edit; changes save automatically.
  • Drag the ⋮⋮ grip to reorder items.
  • ⋯ menu on each row: Indent, Outdent, Delete (or Tab / Shift+Tab while editing).
  • Nested sub-items use two leading spaces per level in the JSON.
  • Add item appends a line at the root level.
  • Use [label](https://url) for links (click the link when not editing).

When checklist items exist, progress is calculated from how many are checked. With no checklist items, set progress on the Details tab.

Notes (Markdown)

Notes are stored as Markdown in the task JSON description field. On the Checklist tab they appear rendered (headings, lists, bold, code, links) under the checklist.

Markdown Rendered
# Heading Heading
**bold** / *italic* Formatted text
`inline code` Monospace span
Fenced code blocks (triple backticks) Code block
- item or 1. item Bullet or numbered list
> quote Blockquote
[label](https://url) Clickable link (opens in browser)

Click Edit notes to open the notes in VS Code’s native markdown editor (preview, syntax highlighting, extensions). Content stays in the task JSON — no .md file on disk. You can also run KachiBox: Open Task Notes from the command palette.

Collapsible header and footer

Click the KachiBox title bar to expand or collapse the top section (focus chips, optional statistics, search, filters). Click the Actions bar at the bottom to expand or collapse + Global Task, + Project Task, Save to Git, and storage info. When the footer is collapsed, the bar shows the current task count (e.g. 3 tasks). Your choices are remembered for the session so the task list can use more space.

Statistics

Turn on ⋯ → Statistics to show a single compact line below the focus chips (off by default). Counts use all tasks on disk, not only the filtered list. The line always shows active; other segments appear only when their count is greater than zero (e.g. 5 active · 2 today · 1 overdue · 3 done/wk · 12 closed). Your show/hide choice is remembered for the session.

Focus views

When kachibox.showFocusViews is enabled (default), focus chips appear above the search box inside the expanded header: All, Today, Overdue, Blocked, In progress, and Meeting actions (KaigiBox-linked tasks). Set kachibox.showFocusViews to false in settings to hide them.

Chip Shows
All Every active task (respects search and Filters)
Today Due date is today (local calendar)
Overdue Due date before today
Blocked Status is Blocked (or legacy blocked: true)
In progress Status is In Progress

Focus combines with search, status/priority/label/storage filters, and sort. Switching to Closed resets focus to All.

Search, filters, and sort

Search — filters by title, Notes, checklist item text, and labels (case-insensitive substring).

Filters — open from ⋯ → Filters (or when filter chips are active). Status, priority, labels (all selected labels must match), and Storage (Project / Global) when both stores are active.

Sort — Manual, Updated, Created, Priority, Due date, Title, or Progress. Use ↑ / ↓ for direction (hidden for Manual sort).

Manual reorder — set sort to Manual, then drag by the grip on the right of each card. Order is saved in the task file.

View menu (⋯) — next to search: Condensed cards, Closed list, Filters, Select tasks (bulk actions), Statistics, Export to Markdown…, and Import from Markdown…. Sort options are in the same menu below a separator.

Export and import

Action What it does
Export to Markdown… Saves the currently visible task list (search, filters, focus, active/closed mode, sort) to a .md file. Each task becomes a ## section with optional notes and checklist lines.
Import from Markdown… Creates new tasks from a file. KachiBox export files round-trip metadata (status, priority, labels, due date). Any file with ## headings splits into multiple tasks; a checklist-only file (lines like - [ ] / - [x]) becomes one task titled from the filename. You choose project or global storage when both are available.

Commands: KachiBox: Export Tasks to Markdown and KachiBox: Import Tasks from Markdown (also on the Tasks panel title bar).

Bulk actions — ⋯ → Select tasks, then choose tasks (checkbox or card click), then Mark done, Set priority, or Add label. Use All / Clear to select the visible list. Not available on the Closed view.

Highlights

Condition Appearance
Past due Yellow (due date before today)
Blocked Red; toggle Blocked on Details

Settings

Open with the gear on the panel, KachiBox: Open Settings, or VS Code Settings → kachibox.

Setting Default Description
kirokubox.homeDirectory (empty → ~/.kirokubox) Shared global home for KaigiBox and KachiBox (meetings/, config/, tasks/); registered by KaigiBox — set in KaigiBox/KirokuBox settings or settings.json
kachibox.storageLocation automatic automatic — both project (.vscode/tasks) and global tasks in one list; project or global — single store
kachibox.newTaskStorage project Default store for KachiBox: New Task from the command palette when both stores are visible
kachibox.tasksDirectory ~/.kirokubox/tasks Global tasks directory (machine scope). Supports ~ and %ENV_VAR%.
kachibox.gitSyncTarget both Save to Git commits both, project (.vscode/tasks), or global only
kachibox.showFocusViews true Show All / Today / Overdue / Blocked / In progress / Meeting actions chips above search
kachibox.syncLinkedActions true Sync linked task title, assignee, and due date with KaigiBox meeting actions
kachibox.showStatusBar true Active / overdue / blocked summary in the status bar
kachibox.dueDateNotifications true Notify for tasks due today (and overdue summary)
kachibox.autoRefresh true Refresh when files change on disk

Legacy DevPad settings (devpad.tasksDirectory, devpad.autoRefresh) still work as fallbacks. Data in ~/.kachibox or ~/.kaigibox migrates to ~/.kirokubox on first activation.

Theming

KachiBox follows your active VS Code theme: sidebar background, text, inputs, accent highlights (button / focusBorder colors), list surfaces, and priority/status colors use workbench tokens. Switch themes in VS Code and the Tasks panel updates automatically (reload the webview if it was open during the switch).

With default settings and a workspace open, you see project and global tasks together. Open a task → Actions → Move to project or Move to global to relocate its JSON file (same task id; the list updates after refresh). Each card shows a P or G badge on the right, just left of the drag grip (grip appears when sort is Manual). Use Filters → Storage to show only one type. The footer has + Global Task and + Project Task side by side. The footer shows Project: {name} + Global in mixed mode.

Per-repo tasks — with default settings, open a project folder and tasks live beside your code:

my-repo/
  .vscode/
    tasks/
      2026/
        2026-05-31-ship-feature.json

Commit .vscode/tasks if you want tasks in git with the repo, or ignore that folder in .gitignore for personal-only tasks.

Sync across machines (global) — set kachibox.storageLocation to global and point kachibox.tasksDirectory at a cloud folder:

{
  "kachibox.storageLocation": "global",
  "kachibox.tasksDirectory": "D:/CloudSync/kachibox/tasks"
}

Task files

Tasks are grouped by creation year under the active tasks directory (project or global):

~/.kirokubox/tasks/
  2026/
    2026-05-31-ship-kachibox-v1.json
  2025/
    2025-12-15-year-end-wrap-up.json

Naming: {YYYY-MM-DD}-{title-slug}.json — files rename when you change the title (with a short id suffix if the name collides).

  • JSON in the detail header — edit the file in VS Code.
  • Open folder in the footer — open the tasks directory in your file manager.

Example file:

{
  "id": "a1b2c3d4e5f67890",
  "title": "Ship KachiBox v1",
  "description": "Polish UI and publish",
  "status": "in-progress",
  "priority": "high",
  "labels": ["kachibox"],
  "progress": 50,
  "blocked": false,
  "order": 1000,
  "createdAt": "2026-05-31T12:00:00.000Z",
  "updatedAt": "2026-05-31T14:30:00.000Z",
  "dueDate": "2026-06-07",
  "checklist": "- [x] Build UI\n- [ ] Write docs"
}
Field Values / meaning
status todo, in-progress, blocked, done, archived
priority low, medium, high, urgent
blocked Mirror of status === "blocked" (kept for older JSON / consumers)
order Manual sort (lower = higher in list)
closedAt Set when marked done or archived

Git sync

If the task folder(s) selected by kachibox.gitSyncTarget are inside a git repo, Save to Git appears in the footer.

gitSyncTarget Which folder(s) start sync
both (default) Project .vscode/tasks and global folder, each if it is in a git working tree
project Only the workspace .vscode/tasks folder
global Only the global tasks directory

For each selected folder, KachiBox finds the git repository root and stages/commits the entire worktree (not only files under tasks/). That way a shared home like ~/.kirokubox (with tasks/, meetings/, and config/) does not leave sibling changes uncommitted.

  • Uncommitted changes — accent border, dot, and hint text when the repo that contains the selected target(s) has any dirty files.
  • With upstream — commit all local changes → pull --rebase --autostash → push.
  • Without upstream — local commit only.
  • Commit messages — task-only: Task updates: …; meeting-only (shared repo): Meeting updates: …; mixed: KirokuBox updates: … with counts and a bullet list in the body.
  • Conflicts — if pull/rebase/push fails, KachiBox shows numbered recovery steps, lists conflicted files, and offers Open tasks folder in the footer and in the error notification.

Project tasks usually commit into your workspace repository (everything dirty in that repo, not only .vscode/tasks). Global tasks commit into whatever repo contains your global tasks path (often ~/.kirokubox itself).

Keyboard shortcuts

Default keybindings (rebind in File → Preferences → Keyboard Shortcuts, search kachibox):

Shortcut (Windows / Linux) Mac Command When
Ctrl+Alt+T Cmd+Alt+T Show Tasks Anywhere
Ctrl+Alt+N Cmd+Alt+N New Task Anywhere
Ctrl+Shift+K Cmd+Shift+K Quick Capture Anywhere
Escape Escape Close task detail Click inside Tasks panel; detail open
Alt+↓ / Alt+↑ Alt+↓ / Alt+↑ Next / previous task Click inside Tasks panel; list has tasks
Ctrl+Shift+Enter Cmd+Shift+Enter Mark task done Click inside Tasks panel; detail open on active task
Ctrl+Alt+F Cmd+Alt+F Focus search Click inside Tasks panel; detail closed

Panel shortcuts are handled inside the webview (sidebar webviews do not receive VS Code’s webviewFocused key chords). Click the task list or detail so the panel has focus before using them.

Next / previous opens the task detail and wraps at the ends of the current filtered list. Mark done matches the Done button on the Actions tab (checklist completed, task closed).

Quick capture

Capture tasks without opening the sidebar detail panel.

Command What it does
KachiBox: Quick Capture Title-only prompt → saved immediately (uses kachibox.newTaskStorage)
KachiBox: Capture Selection as Task Editor selection → task (see rules below)

Default keybinding: Ctrl+Shift+K / Cmd+Shift+K anywhere in VS Code (see Keyboard shortcuts).

Selection → task rules:

  • One short line → task title
  • One long line → shortened title + full line in description
  • Multiple lines → first line title, rest in description
  • No selection → same as Quick Capture (title prompt)

KachiBox: New Task still opens the detail panel with the title focused (full edit flow).

Status bar

When kachibox.showStatusBar is enabled (default), the status bar shows a live summary, for example:

$(checklist) 5 active · 1 today · 2 overdue · 1 blocked

  • Warning background when any task is overdue
  • Error background when any active task is blocked (and none overdue)
  • Click the item (or run KachiBox: Show Tasks) to open the Tasks sidebar

Counts refresh when task files change on disk.

Due-date notifications

When kachibox.dueDateNotifications is enabled (default), KachiBox shows a VS Code notification if you have active tasks due today or overdue:

  • One summary shortly after VS Code starts (if anything is due or overdue)
  • Again when a new task becomes due today (same calendar day)
  • Periodic re-check every 30 minutes while VS Code is open

Notifications include View Tasks (opens KachiBox) and Dismiss. Overdue-only days use a warning-style notification.

Set "kachibox.dueDateNotifications": false in settings to turn them off.

Commands

Command Description
KachiBox: Show Tasks Open the KachiBox sidebar
KachiBox: New Task Create a task (opens detail panel)
KachiBox: Quick Capture Fast title-only capture
KachiBox: Capture Selection as Task Task from selected text
KachiBox: Refresh Reload from disk
KachiBox: Open Settings Extension settings
KachiBox: Show Log Open the KachiBox output panel (scan warnings, task folder paths)

Troubleshooting

Issue Try
Tasks not updating Refresh; check kachibox.autoRefresh
Wrong folder Check kachibox.storageLocation and kachibox.tasksDirectory; project tasks are under .vscode/tasks
Typing loses focus Reload the window if title/description reset
Git sync failed Read the notification; git status in tasks folder
Bad JSON file Fix or remove it; KachiBox skips unreadable files — details in Output → KachiBox or KachiBox: Show Log
Missing tasks / wrong folder KachiBox: Show Log lists project/global paths at activation; check kachibox.tasksDirectory on Remote/WSL
No tasks in Remote - WSL Extension runs in Linux: use a WSL path (/mnt/c/Users/.../tasks), not C:\.... Set kachibox.tasksDirectory under the Remote (WSL) settings scope, not only Windows.

For developers

Build, architecture, and contribution notes: doc/DEVELOPING.md

Package a .vsix (Git Bash or WSL):

./scripts/package.sh

Output: dist/kachibox-{version}.vsix — install with code --install-extension dist/kachibox-1.0.1.vsix.

GitLab: push a version tag (e.g. v1.0.2) to run CI and publish kachibox-v1.0.2.vsix on the project Releases page — see doc/CI.md.

Changelog: CHANGELOG.md · Roadmap: doc/Roadmap.md · Publish: doc/MARKETPLACE.md

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft