Skip to content

Web UI

Launch an interactive browser interface:

Terminal window
jake --web

Opens a web dashboard at http://localhost:8420 where you can:

  • Browse all available recipes
  • View recipe details, dependencies, and commands
  • Run tasks with a single click
  • Fill in recipe parameters before running
  • Monitor real-time command output

Automatic browser launch is skipped when CI or JAKE_NO_BROWSER is set.

Use a different port:

Terminal window
jake --web --port 9000

Command output streams to the browser via WebSocket as it runs. No need to refresh - see results instantly.

@confirm prompts are forwarded to the browser so you can approve or reject them without leaving the Web UI.

Subprocess prompts are different: commands that try to read from stdin themselves, such as npx install prompts or other terminal-driven wizards, are not interactive in the Web UI. Browser-triggered runs disable child stdin so those commands fail instead of hanging indefinitely. Use tool-specific non-interactive flags such as npx --yes, or run those recipes from a terminal instead.

Use the stop control in the browser to cancel the active run. Jake terminates the running command tree and reports the cancellation back through the normal task output and summary stream.

Output appears in both the browser and your terminal simultaneously. Useful when you want to keep an eye on both.

Web-triggered runs inherit the same execution settings as the CLI process that started the server:

  • --verbose keeps verbose execution enabled
  • -j / --jobs controls parallel execution
  • @require validation runs before execution starts
  • Recipe parameter values entered in the UI are forwarded as normal name=value arguments
  • @confirm prompts are handled interactively in the browser
  • Child-process stdin is disabled to avoid browser-triggered runs hanging on terminal-only prompts

View all your recipes with:

  • Name and description
  • Dependencies
  • Commands that will run
  • Group organization

Private recipes (names starting with _ or marked with @hidden) are automatically hidden, matching --list behavior.

  1. Start the server: jake --web
  2. Open http://localhost:8420 in your browser
  3. Click a recipe to view details
  4. Click “Run” to execute
  5. Watch output stream in real-time
  6. Press Ctrl+C in terminal to stop the server
Terminal window
# Web UI with verbose output
jake --web --verbose
# Web UI with parallel execution
jake --web -j4
# Web UI with custom Jakefile
jake --web -f build.jake