Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Task Runner for Poe the PoetNew to Visual Studio Code? Get it now.
Task Runner for Poe the Poet

Task Runner for Poe the Poet

Honestrel

| (0) | Free
Run Poe the Poet tasks from pyproject.toml in VS Code: Run Task, a Poe Tasks side bar view, and Run buttons above each task.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Task Runner for Poe the Poet

Run your Poe the Poet (poethepoet) tasks from VS Code. The tasks you define in pyproject.toml under [tool.poe.tasks] show up in Terminal → Run Task..., in a Poe Tasks view in the Explorer side bar, and as a ▶ Run button above each task in the file itself.

Why this extension

Generic task-explorer extensions list tasks from the tools they know (npm scripts, Make, Gradle and so on), but they do not read Poe's [tool.poe.tasks] table, so Python projects that use Poe get nothing there. This extension reads Poe's own configuration and runs tasks with your own poe, the same way you would in a terminal.

It does not install or bundle Poe the Poet. Install it the way you normally do (for example pip install poethepoet, uv tool install poethepoet, pipx install poethepoet, or as a dev dependency with uv or Poetry) and point the extension at it with the poeTasks.command setting if poe is not on your PATH.

Features

  • Run Task integration. Every task becomes a VS Code task of type poe, with its help text as the detail. You can reference tasks from .vscode/tasks.json, for example to add a keyboard shortcut or a dependsOn chain:

    {
      "version": "2.0.0",
      "tasks": [
        { "type": "poe", "task": "test", "args": ["-k", "slow"], "label": "slow tests" },
        { "type": "poe", "task": "build", "file": "packages/core/pyproject.toml" }
      ]
    }
    

    task is required. args are added after the task name. file selects the project (relative to the workspace folder); without it the project at the folder root is used.

  • Poe Tasks view in the Explorer: one entry per project, each with its tasks. The description shows the task's help; the tooltip shows the task type (cmd, script, shell, sequence, expr, ref, switch), what it runs, its arguments and deps. Click a task to jump to its definition. Use the ▶ button to run it, or the context menu for Run Task with Arguments....

  • ▶ Run CodeLens above each task in pyproject.toml, in poe_tasks.toml / .yaml / .json, and in files that your config pulls in with [tool.poe] include = ....

  • All the ways of writing tasks: plain strings, arrays (sequences), inline tables (lint = { cmd = "...", help = "..." }), dotted keys (test.cmd = "pytest"), quoted names, and [tool.poe.tasks.name] sub-tables. [tool.poe] default_task_type is respected when showing string tasks.

  • Private tasks are hidden. Poe treats tasks whose names start with _ as private (usable only from other tasks), so they are not offered for running.

  • Monorepos. Every folder with a pyproject.toml that has Poe settings (or a poe_tasks.* file) is a project. A pyproject.toml without [tool.poe] is ignored, and so are virtual environments and node_modules. Tasks are started in the project's folder, exactly as when you run poe there.

  • The list updates when you edit or add config files.

Settings

Setting Default What it does
poeTasks.command ["poe"] Command that starts Poe. Examples: ["uv", "run", "poe"], ["poetry", "run", "poe"], [".venv/bin/poe"]. ${workspaceFolder} is replaced, and a relative program path containing / is resolved from the workspace folder.
poeTasks.codeLens true Show the ▶ Run buttons in config files.
poeTasks.exclude .venv, venv, node_modules, .tox, .nox, site-packages, .git Folders that are not searched for projects.

Command palette: Poe: Run Task (pick from all Poe tasks) and Poe: Refresh.

Known limitations

  • The extension shows what your config files say; it does not run poe to list tasks. Very dynamic setups, such as include_script or glob patterns in include, are not shown.
  • Tasks run in a shell terminal through VS Code's task system. Poe itself decides the environment (its executor setting, env, envfile, cwd).
  • Only local folders are supported (not virtual workspaces), and the extension is disabled in untrusted workspaces because it runs project tasks.

Privacy

The extension reads your config files locally and starts poe only when you run a task. It sends nothing over the network.

Feedback

Problems and ideas are welcome on the Marketplace page (Q & A / rating). This is an independent extension: it is not an official Poe the Poet product and is not affiliated with or endorsed by its authors. It was built with AI assistance by Honestrel and is checked by automated tests in a real VS Code.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft