vp run: Terminal UI for parallel/persistent tasks with per-task log panes (like Turborepo's TUI)#3098Description
Description
When I run vp run dev at the root of a Vite+ monorepo with several apps, every app's dev server writes to the same terminal at once. With more than two or three apps it's hard to find the logs for the one I care about (e.g. a single Next.js app's errors get buried under another app's HMR output).
--log labeled helps tell lines apart, but with several long-running dev servers it's still a single mixed stream.
I'm coming from Turborepo, where turbo dev opens a terminal UI that lists each task in a sidebar and shows the selected task's logs in its own pane. That made running many apps at once much easier to work with.
Suggested solution
An interactive terminal UI for vp run when several tasks run in parallel, especially persistent ones like dev:
- A task list sidebar showing each task and its status (running / done / failed)
- A log pane for the selected task, with scrollback
- Keybindings to switch tasks (↑/↓ or j/k), scroll logs, toggle the sidebar, and copy selected output
- An "interact" mode that forwards stdin to the selected task (for tools with interactive prompts or watch-mode shortcuts)
- Opt-in or opt-out via a flag (e.g.
--ui=tui|stream) and a config field (e.g.run.uiinvite.config.ts) - Automatic fallback to the current streamed output when stdout isn't a TTY or in CI
Reference: https://turborepo.dev/docs/crafting-your-repository/developing-applications#using-the-terminal-ui
Alternative
vp run --log labeled/--log grouped: better than nothing, but still one shared stream- Running each app in its own terminal tab, which loses the single-command workflow
Additional context
- A maintainer suggested opening this issue after I asked about it on Discord
- A TUI was also asked about in Discussion Migrating from Turborepo monorepo - looking for best practices with vp run #1216
- vite-task seems to have a WIP
vite_tuicrate, so this may already be on the radar - Related: Consolidated output for recursive commands (like nx run-many) #1167 (consolidated output), Add Label Colors for Scripts/Tasks in Output When Using vp run --log labeled and --log grouped #2909 (label colors), Make
--logConfigurable viavite.config.ts#2914 (--login config)
Validations
- Read the Contributing Guidelines.
- Confirm this request is for Vite+ itself and not for Vite, Vitest, tsdown, Rolldown, or Oxc.
- Check that there isn't already an issue requesting the same feature.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Start date
Target date
Effort
Activity
fengmk2 commentedon Oct 17, 2026
cc @wan9chi