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

TaskDev

Tolbxela

| (0) | Free
Manage long-running dev tasks from VS Code and MCP with shared process supervision, reliable start/stop, and file-backed logs for AI agents.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TaskDev

TaskDev is a small VS Code / Windsurf extension for local dev tasks, dev-server logs, and MCP access for AI coding agents.

Start your API, frontend, worker, tunnel, or test watcher from the sidebar. Agents can use the same task list through MCP. You get one place for processes and one place for logs.

TaskDev works with Codex, Claude Code, Windsurf Cascade, and other tools that support the Model Context Protocol.

Why Use It

  • See long-running dev commands in the editor.
  • Start, stop, and restart tasks without searching through terminals.
  • Open task logs with one click.
  • Let agents read the same logs when they debug build or dev-server errors.
  • Keep task definitions in your repo with taskdev.json.

TaskDev is local and simple: plain JSON, local processes, local logs, no network listener, and no hidden service.

Search terms: VS Code task runner, Windsurf extension, MCP server, AI coding agent tools, local process manager, dev server logs, taskdev.json.

Quick Start

Create taskdev.json in your workspace root:

{
  "project": "My App",
  "tasks": [
    {
      "name": "api",
      "command": "dotnet run --project src/Api"
    },
    {
      "name": "ui",
      "command": "npm run dev",
      "cwd": "ui",
      "env": {
        "PORT": "5173"
      }
    }
  ]
}

Open the TaskDev view from the Activity Bar. Your tasks show their status, command, PID, and log path.

See examples/taskdev.json for a minimal example.

Daily Use

  • Click a task to open its log.
  • Use the play and stop buttons to control a task.
  • Use refresh after editing taskdev.json.
  • Tasks can keep running after an editor reload.
  • Stop a task to stop its process tree.

TaskDev writes runtime files under your workspace:

.taskdev/state.json
.taskdev/logs/<task-name>.log

Add .taskdev/ to .gitignore. It is local runtime data.

Task File

TaskDev looks for:

taskdev.json
.taskdev.json

Each folder in a multi-root workspace can have its own task file.

Fields:

Field Required Notes
project no Display name. Defaults to the workspace folder name.
name yes Unique task name. Must match ^[A-Za-z0-9_.-]{1,64}$.
command yes Shell command to run.
cwd no Relative to the task file directory, or absolute.
env no Extra environment variables for the task process.

MCP For Agents

TaskDev includes an MCP server. Agents can use it to work with the same tasks you see in the sidebar.

Run TaskDev: Install MCP config from the command palette. Choose the agent or config file you want to update. TaskDev only writes MCP config when you run this command.

After an extension upgrade, TaskDev may prompt you to review MCP configs so agents can point at the new extension path. Nothing is rewritten unless you choose one or more config targets in the picker.

MCP tools:

  • taskdev_list - list tasks with status, PID, command, cwd, and log path.
  • taskdev_status - get one task by name, or all tasks.
  • taskdev_control - start or stop a task.
  • taskdev_restart - stop and start a task.
  • taskdev_logs - read recent log lines.
  • taskdev_add - add a restricted task with confirmation.
  • taskdev_remove - remove a stopped task with confirmation.

Tasks added by agents are restricted. They require confirmation and only allow known dev command shapes such as npm run, dotnet build/test/run, cargo, and go.

Trust And Safety

Commands in your own taskdev.json are shell commands. Treat task files like code. Only run them in workspaces you trust.

For MCP-created tasks, TaskDev uses stricter checks:

  • no shell chaining, redirects, variables, or subshells
  • no path traversal or arguments outside the project
  • no risky env overrides like PATH, NODE_OPTIONS, LD_*, or DYLD_*
  • blocked risky executables across Windows, macOS, Linux, and common tools

TaskDev does not collect telemetry. It does not open a network listener. See PRIVACY.md for local data notes.

Build From Source

From the repo root:

node scripts/package-vsix.cjs
windsurf --install-extension versions/taskdev-<version>.vsix

The extension package lives in extension/. Local task files, logs, MCP config files, and VSIX outputs stay outside the package.

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