Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>uvtaskNew to Visual Studio Code? Get it now.
uvtask

uvtask

AIOPY

| (0) | Free
List and run uvtask scripts from pyproject.toml
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

vscode-uvtask

List and run uvtask scripts from pyproject.toml inside VS Code and Cursor.

aiopy

Install

Extension id: aiopy.uvtask

Cursor

  1. Open the Extensions view (Cmd+Shift+X / Ctrl+Shift+X).
  2. Search for uvtask (publisher aiopy), or install a release VSIX:
    • Download uvtask-*.vsix from GitHub Releases
    • Command Palette → Extensions: Install from VSIX… → pick the file
  3. Or from a terminal:
cursor --install-extension aiopy.uvtask
# or from a local build:
cursor --install-extension ./uvtask-0.3.2.vsix

VS Code

  1. Open the Extensions view (Cmd+Shift+X / Ctrl+Shift+X).
  2. Search for uvtask (publisher aiopy), or install a release VSIX the same way as above (Extensions: Install from VSIX…).
  3. Or from a terminal:
code --install-extension aiopy.uvtask
# or from a local build:
code --install-extension ./uvtask-0.3.2.vsix

Marketplace listing may lag behind GitHub Releases. Until it appears in the marketplace / Open VSX, use the VSIX from Releases or build with npm run package.

Reload the window after install, then open a workspace that contains a pyproject.toml.

Features

  • Sidebar tree of [tool.run-script] / [tool.uvtask.run-script] entries with count badge, filter, Play, and Refresh
  • Defaults to the workspace-root pyproject.toml; switch to another via the view overflow menu
  • Run scripts through the VS Code Task API with ProcessExecution (no shell string)
  • Workspace Trust aware: lists scripts in untrusted workspaces, refuses to execute them
  • No dependency on the Python extension — uvx uvtask / uv run manage interpreters themselves

Note: Cursor cannot reliably host extension WebviewViews (service worker registration fails), so the filter is a title-bar action that opens an input box rather than an inline field in the header.

Requirements

  • uv available on PATH (used by uvx)
  • Optional: uv tool install uvtask for a local uvtask binary

On macOS, if you launch Cursor/VS Code from the Dock and uv lives under Homebrew (/opt/homebrew/bin), the extension prepends those directories to PATH automatically.

Usage

  1. Open a folder that contains a pyproject.toml with [tool.run-script] entries.
  2. Open the uvtask view in the Activity Bar (aiopy-style icon).
  3. Click a script to reveal its definition, or use the play button to run it.
  4. Use Select Manifest in the view title bar to switch to another pyproject.toml.

Localization

The UI ships with English (default), Spanish, and Simplified Chinese. VS Code/Cursor picks the bundle from the display language (package.nls.*.json + l10n/bundle.l10n.*.json). Contributions for more locales are welcome.

Settings

Setting Default Purpose
uvtask.runner auto auto, uvtask, or uvx
uvtask.manifest "" Workspace-relative path to pin a non-root default
uvtask.showHooks false List pre/post hooks as their own entries

Development

npm install
npm run build
npm run lint
npm run fmt:check
npm run typecheck
npm test
npm run package   # writes uvtask-<version>.vsix

Press F5 in VS Code/Cursor to launch an Extension Development Host.

License

MIT © aiopy

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