Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Caspian TaskmasterNew to Visual Studio Code? Get it now.
Caspian Taskmaster

Caspian Taskmaster

CaspianTools

|
18 installs
| (0) | Free
Developer-native issue tracker with Kanban board, GitHub sync, image attachments, rich clipboard AI prompts, AI-powered duplicate detection, ghost writing, natural language commands, full read/write MCP integration, sprint planning, and metrics dashboard
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Caspian Taskmaster

Stop context-switching. Your issue tracker belongs where your code lives.

Caspian Taskmaster is a full-blown issue tracker built directly into VS Code — Kanban board, GitHub Issues + Projects (v2) sync, image attachments, AI triage, metrics, and native MCP integration with Claude and Gemini. Create, track, and close issues without ever leaving your editor. Your AI assistant can read and update your issues — and your GitHub Projects — in real time. No browser tabs. No external tools. No friction.

Every bug you track in a separate app is a context switch that slows you down. Caspian Taskmaster eliminates that entirely.

Screenshots

Kanban board Table view
Kanban board — drag-and-drop across 5 status columns Table view — sortable, filterable, bulk-selectable
Full tracker New issue & AI triage
Full tracker — complete power view as a VS Code editor tab New issue & AI triage — priority/type suggestions as you type
Sidebar panel AI panel
Sidebar panel — quick-glance issues without leaving your code AI panel — Ghost Writer, Duplicate Sentinel, and clipboard prompts
Natural language Audit log
Natural language command bar — plain-text queries and updates Audit log — every field change with author, timestamp, old/new values
Sprint planning Settings
Sprint planning — date ranges, goals, story points Settings — GitHub, AI provider, and sync config in one panel
Metrics dashboard
Metrics dashboard — trends, donut chart, 12-week sparkline

Features

  • Kanban board + table view — toggle between a drag-and-drop Kanban board (always five Taskmaster status columns) and the sortable, filterable table. On the board, the Group by dropdown sub-groups cards within each status column by Type, Priority, Platform, Milestone, Assignee, or any GitHub Project single-select field; view preference is remembered. Both surfaces show dependency and comment counts at a glance — small icon-and-number chips on every row and card, dimmed when zero, sortable in the table.
  • GitHub bidirectional sync — changes in VS Code push to GitHub Issues; GitHub changes pull back automatically; conflict resolution UI when edits collide
  • GitHub Projects (v2) integration, offline-capable — list, add, remove, and edit project-item field values (Status, Priority, Iteration, and any custom single-select, text, number, or date field) directly from the issue editor; Board view can group columns by any project's single-select field with drag-and-drop updating GitHub. Attaching a project to an unsynced or local-only issue stages the link locally with a pending sync marker; the next sync push resolves the issue's GraphQL node ID and creates the project item
  • AI-powered triage — as you type a new issue, priority/type/category suggestions appear based on keyword heuristics and similarity to existing issues. Categories are multi-value: an issue can carry several free-text labels (e.g. "Auth" + "UI"), picked from a chip multi-select with autocomplete, filterable from a dedicated toolbar dropdown
  • Metrics dashboard — click the chart icon in the toolbar (or run the command palette command) for total/open/closed counts, by-priority/type/status bars, donut chart, 12-week trend sparkline, average days to close — all pure CSS/SVG
  • Import TODOs — scan your workspace for TODO/FIXME/HACK/BUG comments, multi-select any number of them in a single picker, and create issues in one sweep. Already-imported entries are remembered per workspace and demoted to the bottom on subsequent scans, so you keep seeing what's actually new. FIXME and BUG map to High priority; TODO and HACK to Medium
  • Commit integration — closes mod1180 or fixes mod1180 in a commit message auto-sets the issue to Done
  • Inline code references — attach file/line positions to issues; gutter icons appear in the editor at the linked lines
  • Issue dependencies — blocks/blockedBy relationships with cycle detection
  • Image attachments — paste from clipboard, drag-and-drop, or pick files to attach images to any issue; images render inline in markdown preview and are stored efficiently as separate files
  • Rich markdown editor — Text / Markdown tab toggle with full-width rendered preview in the create/edit modal
  • Tabbed edit modal — Details, Dependencies, Sprint, Comments, and Logs tabs keep the modal organized
  • Offline-capable issue commenting — Comments tab is always available, on every issue, whether or not it's linked to GitHub. Comments you author write to a local Issue.localComments queue immediately, render in the list with a yellow pending dot, and ride the next sync push to GitHub. On synced issues the local list is merged with GitHub's own comments on tab open and the count badge stays accurate
  • Sprint planning — create sprints with date ranges and goals, assign issues to sprints with story point estimates
  • Milestones — create milestones, assign issues, group the board by milestone
  • Bulk operations — select multiple issues, change status/priority/assignee or delete in one action
  • Saved views — name and save any filter+sort combination; reload with one click
  • Sidebar panel — quick glance at issues without leaving your code
  • Complete audit log — every field change logged with author, timestamp, and old/new values
  • MCP server — native Claude/Gemini integration at http://127.0.0.1:37521/mcp
  • Multi-provider AI engine — connect to VS Code LM API (Copilot) or any OpenAI-compatible endpoint for built-in AI features
  • Duplicate Sentinel — semantic duplicate detection surfaces possible duplicates as you create new issues (embeddings with TF-IDF + bigram + Levenshtein fallback)
  • Ghost Writer — AI pre-fills new issues from your current editor context (file, selection, diagnostics, git diff)
  • Natural Language Command Bar — type sentences like "show critical bugs on iOS" to filter, update, create, or query issues
  • Fluid (narrow-mode) layout — when the tracker panel is dragged below 400 px, button labels collapse to icons, the view auto-switches to Table (your preferred view is restored as soon as you widen the panel again), and filters / saved-views / TODOs / Metrics tuck into a slide-in side panel behind a burger icon (next to the search field) — keeping the tracker usable in a half-width activity-bar side bar

Fields per issue

Field Values
ID Auto-generated (e.g. mod1180)
Title Free text
Type Bug / Feature / Enhancement / Task / Design
Status New / Ongoing / Needs Verification / Done / Cancelled
Priority Critical / High / Medium / Low
Platform Customizable (16 defaults: iOS, Android, Web, Desktop/Windows, etc.)
Categories Free text — multi-value (e.g. ["Auth", "UI"]). Auto-discovered from existing issues; pick from a chip multi-select. Filterable from the toolbar (OR-match) and persisted in saved views.
Assignee GitHub username (auto-filled with configured owner on new issues)
Milestone Sprint / milestone name
Sprint Sprint name (with date range and goal)
Story Points Numeric estimate for sprint planning
Description Rich markdown with Text / Markdown tab toggle
Code references File + line ranges linked to editor gutter
Dependencies Blocks / blocked-by issue IDs
Created by Auto from config
Date entered Auto
Change log Full history of every edit

Setup

1. Install the extension

cd caspian-taskmaster
npm install
npm run compile
# Then press F5 in VS Code to launch Extension Development Host

2. Connect to GitHub (optional)

Run command palette → Caspian Taskmaster: Configure GitHub Repo

Or click the gear icon in the tracker toolbar to open the Settings popup → Settings tab, which provides the same GitHub configuration with live token verification and User/Workspace scope toggle.

You'll be prompted for:

  • GitHub PAT — create at https://github.com/settings/tokens (needs repo scope; add project too if you want GitHub Projects sync)
  • Owner — your GitHub username or org
  • Repo — repository name

GitHub is optional — all features work locally without it. GitHub Projects integration is additionally optional and only activates when you enable at least one project in Settings → Projects.

3. Open the tracker

  • Sidebar: click the Caspian Taskmaster icon in the activity bar
  • Full tab: click the preview icon in the sidebar Issues view title bar (top-right of the panel) — or run command palette → Caspian Taskmaster: Open Full Tracker

GitHub sync

Issues sync automatically every 5 minutes (configurable). Manual sync: click the sync button in the status bar or run Caspian Taskmaster: Sync with GitHub.

The status bar shows your owner/repo name and a persistent sync indicator — green with "✓ 2m ago" after a successful sync, red with "✗" after a failure. Hover for exact timestamps and the next auto-sync countdown.

How it works:

  • Local issues are tagged with a local-id:mod1180 label on GitHub so IDs stay stable
  • Status, priority, type, platform, and categories are stored as GitHub labels (status:Ongoing, priority:High, etc.). Multiple category:Foo / category:Bar labels round-trip cleanly with multi-value categories.
  • The full description, code references, and change log are written into the GitHub issue body as markdown
  • Deletion sync: deleting an issue locally closes the corresponding GitHub issue (with a deleted-locally label) on the next sync, preventing re-import
  • Conflict resolution: if a sync detects both local edits and a newer GitHub version, a conflict is flagged; run Resolve Sync Conflicts to pick field-by-field which version to keep
  • Issue commenting: every issue (synced or not) shows a Comments tab. Locally-authored comments persist on the issue with a pending sync marker until the next sync push reaches GitHub; on already-synced issues the local list is merged with GitHub's own comments on tab open

GitHub Projects (v2)

Caspian Taskmaster pulls in GitHub Projects (v2) alongside Issues via GraphQL. Requires the project scope on your PAT.

Setup:

  1. Add project scope to your PAT at https://github.com/settings/tokens.
  2. Open Settings → Projects tab (or run Caspian Taskmaster: Manage GitHub Projects).
  3. Click Refresh — all projects you have access to are listed (your own projects plus the repo owner's projects).
  4. Check the Sync box for each project you want to sync.

What syncs (bidirectionally):

  • An issue's project memberships — which projects it's in
  • Every custom field value on each project item (Status, Priority, Iteration, and any text/number/date/single-select field)

Where it shows up:

  • Every synced issue gains a Projects tab in the editor, one card per project the issue belongs to. Edit any field inline — changes push to GitHub immediately.
  • Add a project from the same tab's dropdown, or run Caspian Taskmaster: Add Issue to GitHub Project from the command palette.
  • Remove with one click (trash icon on the project card).
  • The Board view always draws the five Taskmaster status lanes. The Group by dropdown (right edge of the board toolbar) adds sub-group headers inside each lane, so cards cluster by Type, Priority, Platform, Milestone, Assignee, or any synced project's single-select field (e.g. Status, Priority) without leaving their status column. Dragging a card between columns updates Taskmaster status. Each lane header also exposes a small + icon — clicking it opens the New Issue modal with Status pre-populated to that lane, so the new card lands directly in the lane it was created from.

What doesn't sync:

  • Meta fields (Title, Assignees, Labels, Reviewers, Milestone, Linked pull requests, Repository) — these come from the issue itself, not the project.
  • Non-single-select, non-iteration fields are displayed but editable only via type-appropriate input (text/number/date). PRs are filtered out entirely.

Commit integration

When you commit with a message like:

fix: handle null session on login — closes mod1185

Caspian Taskmaster automatically sets mod1185 status to Done. Use ref instead of closes/fixes to just add a log entry without changing the status.

Enable/disable via caspianTaskmaster.commitWatcherEnabled setting.

Import TODOs

Click Import TODOs in the tracker toolbar (or run Caspian Taskmaster: Import TODOs from Workspace from the command palette). Caspian Taskmaster scans your workspace for TODO, FIXME, HACK, and BUG comments across all configured source file extensions and presents them in a multi-select QuickPick. Tick any number of entries at once and Caspian creates one issue per selection, each pre-populated with a code reference back to the original file:line.

The picker remembers what you already imported (state lives in context.workspaceState, scoped to that workspace). On subsequent scans those entries are decorated with a check icon, annotated with the issue ID they became, and sorted to the bottom of the list — so the picker leads with what's genuinely new. They remain pickable in case you actually want a duplicate.

Triage is type-aware: FIXME and BUG create High-priority issues; TODO and HACK stay at Medium. Configure scanned extensions via caspianTaskmaster.todoFileExtensions.

AI integration

Option 1: Copy as AI prompt (works with any AI)

Click the clipboard icon on any issue row in the table or on any card in the Kanban board. This copies a structured markdown block — including inline images — to your clipboard. When pasted into rich text apps (Slack, Gmail, Word, Claude, Gemini), attached images appear as actual images. In plain text contexts, images appear as descriptive text links.

Option 2: MCP server (native Claude / Gemini integration)

Caspian Taskmaster runs a local MCP server at http://127.0.0.1:37521/mcp. Since v1.9.5 the server is protected by a per-session bearer token to prevent untrusted local processes from reading or modifying your issues.

Get the config snippet — run Caspian Taskmaster: Copy MCP Config from the command palette (Ctrl/Cmd+Shift+P). It puts a ready-to-paste JSON block on your clipboard, including the rotating Authorization header:

{
  "caspian-taskmaster": {
    "url": "http://127.0.0.1:37521/mcp",
    "headers": { "Authorization": "Bearer <token rotated each session>" }
  }
}

Add to Claude VS Code extension — paste the snippet under claude.mcpServers in settings.json. Add to Gemini VS Code extension — paste under geminicodeassist.mcpServers (Gemini wraps each entry as { "name": "caspian-taskmaster", "url": "...", "headers": {...} }).

The token rotates on every extension activation; re-run Copy MCP Config after a VS Code reload or extension update so your client picks up the new token.

Sixteen MCP tools:

Tool What it does
get_issue Full details of a specific issue
list_issues Filtered list (status, type, priority, platform, categories — array OR-match; legacy category substring still accepted)
search_issues Full-text search across title, description, categories
get_issue_prompt Formatted AI prompt block for an issue
suggest_triage AI-assisted priority/type/categories suggestions (returns up to 2 categories)
create_issue Create a new issue
update_issue Update fields on an existing issue
bulk_update_issues Update multiple issues at once
close_issue Close an issue (set status to Done)
add_dependency Add a blocks/blockedBy relationship
create_sprint Create a new sprint with date range and goal
get_sprint_issues List all issues assigned to a sprint
list_projects List locally known GitHub Projects (v2) and their field metadata
add_issue_to_project Add a synced issue to a GitHub Project
remove_issue_from_project Remove an issue from a GitHub Project
set_project_field Set a project item's field value (Status, Priority, etc.)

Configuration

Setting Default Description
caspianTaskmaster.githubToken "" GitHub PAT
caspianTaskmaster.owner "" GitHub owner
caspianTaskmaster.repo "" GitHub repo
caspianTaskmaster.syncIntervalMinutes 5 Auto-sync interval (0 = off)
caspianTaskmaster.idPrefix "mod" ID prefix (mod → mod1180)
caspianTaskmaster.mcpPort 37521 MCP server port
caspianTaskmaster.todoFileExtensions common source types Extensions scanned by TODO Harvester
caspianTaskmaster.commitWatcherEnabled true Auto-close issues from commit messages
caspianTaskmaster.defaultView "tracker" Where to open: tracker (editor tab), sidebar, or panel (bottom area)
caspianTaskmaster.aiProvider "none" AI provider: none, vscode (any VS Code LM extension), openai-compatible, or claude. Run Detect AI Provider command for auto-setup.
caspianTaskmaster.aiEndpoint "" Base URL for API endpoint (Claude defaults to https://api.anthropic.com)
caspianTaskmaster.aiApiKey "" API key for OpenAI-compatible or Claude endpoint
caspianTaskmaster.aiModel "" Model name for the AI provider

Uninstall & reinstall

Run command palette → Caspian Taskmaster: Prepare to Uninstall before uninstalling to choose:

  • Save data for reinstall — backs up your tasks, milestones, sprints, saved views, and settings to ~/.caspian-taskmaster/backup/. On next install, the extension offers to restore everything.
  • Remove everything — permanently deletes all extension data on uninstall.

If you uninstall without running the command, your data is automatically backed up (safe default).

Keyboard shortcuts

Key Action
Ctrl+N (in tracker) New issue
Ctrl+Enter (in modal) Save issue
Escape Close modal
Double-click row Edit issue
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft