Ctrl-C leaves nothing running
No dev server still holding its port the next morning.

Ctrl-C signals every task’s whole process group, not only the shell vx started. vx waits a grace period, sends SIGKILL to whatever is left and reaps it.
Nothing outlives the run, so the next one finds its ports free.
More in Everyday use

The task picker
Type vx run with no task and pick one from a menu.

Framed output
Sixteen tasks in parallel, and no interleaved lines.

A summary you read at a glance
Every run ends with one block, and nothing prints below it.

Every skip names its blocker
No mystery “skipped” count on a red run.

Dev servers in the graph
A server is ready when it prints a line, not after sleep 5.

Watch mode
Every change takes the same path as vx run, and the key decides what re-runs.

Shell completions
Tab-complete every verb and flag in bash, zsh and fish.

Typo hints
A filter that matches nothing asks “Did you mean @acme/app?”.

vx upgrade
The release binary updates itself, digest checked.

Tasks that take the keyboard
A prompt, a REPL or a login flow gets the terminal to itself.

Help where you type
Every verb explains itself with vx help, and vx version says what you run.

Typos get an answer
A mistyped flag, verb or task gets the nearest real spelling.

Type the task, get the command
vx build answers with the vx run command that does what you meant.