Troubleshooting

  1. My file shows up but has no tasks
  2. $env:NAME comes back empty
  3. A task silently does nothing
  4. The run stopped and half the graph says Skipped
  5. A task failed before anything ran

My file shows up but has no tasks

Check the top-level key. It is tasks:, not tasks:. A file whose top-level key is anything else parses successfully into zero tasks and appears empty, because there is nothing there to reject.

tasks:            # not `tasks:`
  hello: echo Hello World

$env:NAME comes back empty

The task ran in the OS default shell — cmd on Windows, bash elsewhere — not PowerShell. A task gets pwsh only when it asks:

  build:
    shell: pwsh
    run: echo "Building in $env:BUILD_CONFIGURATION..."

A task silently does nothing

An unquoted YAML scalar containing ": " parses as a nested mapping, and the task’s run: quietly becomes something else. Quote the whole thing:

    run: echo "exported = $env:ARTIFACT_NAME - env read the var"

The run stopped and half the graph says Skipped

A failed task skips everything that needs: it, transitively. Unrelated branches keep going. Open the failed node’s log in the side panel — the status on the parent tells you nothing that the failing task’s own status does not tell you better.


A task failed before anything ran

Validation runs before the first command. An unregistered uses:, a missing required arg, an arg the plugin does not accept, or a ${{ vars.X }} declared nowhere all stop the run up front, with the message on the task that has it. Click the task in the run panel to read it, or hover it on the map for the same thing.

That is deliberate: a pipeline that gets three tasks in before discovering a typo has already changed things on your machine.


Back to top

Local Workflows is a VS Code extension. Everything it does is declared in a YAML file you own.