Debug Tasks
Nova supports a range of debugging features, such as the ability to set breakpoints in your code, run your application for debugging, inspect variable values while running, and view console output from your applications.
To debug your code within Nova, you’ll first need to configure a Debug Task. This is a special type of Task that connects Nova to external tools for debugging using the Debug Adapter Protocol (github.io). Nova includes a number of Debug Tasks out of the box, but Extensions can also add their own to support additional languages or tools. |
![]() |
Included Tasks
Nova supports the following Debug Tasks out of the box:
Chrome
- Debug web applications running in Google Chrome, or other compatible Chromium-based browsers.
Deno
- Debug web applications using the Deno runtime.
Node.js
- Debug web applications using the Node.js runtime.
PHP
- Debug PHP applications running on an existing server.
PHP Local Web Server
- Start a local PHP server and run an application for debugging.
Python
- Debug a Python application running locally.
Python Remote
- Debug a Python application running on a remote server.
Additional Debug Tasks can be added to Nova via Extensions.
Prerequisites
In order to use these Tasks, you’ll first need to make sure you have certain dependencies installed on your Mac.
Chrome
Requires Google Chrome to be installed on your Mac, or another browser compatible with the Chrome DevTools Protocol (github.io).
Deno and Node.js
Requires their respective frameworks to be installed on your Mac and available in your shell’s $PATH
environment variable.
PHP
- Ensure PHP is installed on your Mac. You can use Homebrew (brew.sh) to install PHP by running
brew install php
. - Ensure Xdebug is installed in your PHP enviroment. You can install Xdebug with PECL (php.net) by running
pecl install xdebug
. - Ensure that your php.ini file has been set up to enable Xdebug. Generally, this is done automatically by the Xdebug install process. You can manually add the following to your php.ini file if needed:
[xdebug]
xdebug.mode = "debug"
Read More
- Xdebug Documentation (xdebug.org)
Python
- Ensure Python 3.x is installed on your Mac, either globally or in an environment for your project.
- Ensure your Python environment has debugpy installed. You can install debugpy (pypi.org) with
pip install debugpy
.
NOTE: It is technically possible to use Python 2.x with debugpy, but this is not officially supported by Nova.
Configuring Tasks
Like other kinds of Tasks, you can add a Debug Task to a project from Project Settings > Tasks. Once added, you can configure the Task from Project Settings. The available settings will vary depending on the Debug Task used.

Some common settings found in multiple Tasks include:
- Launch Type
- Choose whether to launch an instance of your site or application for debugging, or attach to an existing running instance.
- Script Path
- When debugging applications written in scripting languages like Python, choose the entry script to launch.
- Source Root and Local Root
- Much like with Publishing, these settings are used to map your server’s file paths to your corresponding local file paths.
For settings specific to particular Debug Tasks, documentation for the setting should appear below the setting itself.
Running Debug Tasks
Debug Tasks provide a Run Action for starting your site or application for debugging. You can invoke the Run action using the Run icon in the toolbar, or from Project > Run (⌘Command+R).
Next → Debug Sidebar & Console |