# Grunt tool window

> **TL;DR**
> `Context menu of a Gruntfile.js - Show Grunt Tasks`
>
>
>
> `View | Tool Windows | Grunt`

Use this tool window to run [Grunt tasks](http://gruntjs.com/). The result of executing a task is shown in the [Run tool window](run-tool-window.html).  The tool window shows the Grunt output, reports the errors occurred, lists the packages or plugins that have not been found, etc. The name of the last executed task is displayed on the title bar of the tool window.

## Before you start

Procedure:

1. Download and install [Node.js](http://nodejs.org/#download).

2. Install the grunt-cli package (Grunt command-line interface) globally and install the grunt package as a development dependency. For more information, refer to [Installing Grunt](using-grunt-task-runner.html#installingGrunt).

## Running tasks and targets

> **Tip:**
> * When you build a tree of tasks for the first time during an IntelliJ IDEA session, the Grunt tool window is not opened yet.
>
> * If you already opened the Grunt tool window, you can access it with [Search everywhere](searching-everywhere.html). Press `Shift` (Windows), `Shift` (macOS), `Shift` (IntelliJ IDEA Classic (macOS)), `Shift` (macOS System Shortcuts), `Shift` (XWin), `Shift` (GNOME), `Shift` (KDE), `Shift` (Emacs), `Shift` (Sublime Text), `Shift` (Sublime Text (macOS)), `Shift` (NetBeans), `Shift` (Visual Studio), `Shift` (Visual Studio (macOS)), `Shift` (Eclipse), `Shift` (Eclipse (macOS)) twice to open the search window, start typing your query, for example, `Grunt task`, and select Show Grunt Tasks from the list. Alternatively, select `View | Tool Windows | Grunt` from the main menu.

Procedure: To open the Grunt tool window

* Select the required `Gruntfile.js` file in the   Project tool window  (`Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+1` (NetBeans), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS)))  or open it in the editor and choose Show Grunt Tasks from the context menu.

Procedure: To build a tree of tasks

* In the Grunt tool window, click ![the Add button](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.add.svg) on the toolbar and choose the required `Gruntfile.js` file from the list.         By default, IntelliJ IDEA shows the `Gruntfile.js` file in the root of your project.

* If you have another `Gruntfile.js` file, click Choose Gruntfile.js and select the `Gruntfile.js` file you need in the dialog that opens. IntelliJ IDEA adds a new node with the path to the chosen `Gruntfile.js` file on its title and builds a tasks tree under the new node.

Procedure: To re-build a tree

* Switch to the required node and click ![Reload Scripts](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.actions.refresh.svg) on the toolbar.

Procedure: To sort the tasks in a tree by their names

* Click ![Settings](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.general.gear.svg) on the toolbar, choose Sort by from the menu, and then choose Name.

By default, a tree shows the tasks in the order in which they are defined in `Gruntfile.js` (option Definition order).

Procedure: To run a task or a target

* Double-click the task or target.

* Select the task or target in the tree and press `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (NetBeans), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (Eclipse), `⏎` (Eclipse (macOS)) or choose Run <task name> from the context menu.

Procedure: To run the default task

* Select the root node in the tree, and choose Run default on the context menu of the selection.

Procedure: To run several tasks or targets

* Use the multiselect mode: hold `Shift` (Windows), `Shift` (macOS), `Shift` (IntelliJ IDEA Classic (macOS)), `Shift` (macOS System Shortcuts), `Shift` (XWin), `Shift` (GNOME), `Shift` (KDE), `Shift` (Emacs), `Shift` (Sublime Text), `Shift` (Sublime Text (macOS)), `Shift` (NetBeans), `Shift` (Visual Studio), `Shift` (Visual Studio (macOS)), `Shift` (Eclipse), `Shift` (Eclipse (macOS)) (for adjacent items) or `Ctrl` (Windows), `Ctrl` (macOS), `Ctrl` (IntelliJ IDEA Classic (macOS)), `Ctrl` (macOS System Shortcuts), `Ctrl` (XWin), `Ctrl` (GNOME), `Ctrl` (KDE), `Ctrl` (Emacs), `Ctrl` (Sublime Text), `Ctrl` (Sublime Text (macOS)), `Ctrl` (NetBeans), `Ctrl` (Visual Studio), `Ctrl` (Visual Studio (macOS)), `Ctrl` (Eclipse), `Ctrl` (Eclipse (macOS)) (for non-adjacent items) keys and select the required tasks or targets, then choose Run or Debug from the context menu of the selection.

Procedure: To jump to the definition of a task or a target

* Select the required task or target in the tree, and choose Jump to source from the context menu of the selection.

## Toolbar

|  ![Add Gruntfile](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.add.svg)  |  Add Gruntfile  |  Click this button to have a task tree for another `Gruntfile.js` file built. Choose the required `Gruntfile.js` file from the list. IntelliJ IDEA adds a new node and builds a task tree under it.  |
|  ![Remove Gruntfile](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.remove.svg)  |  Remove Gruntfile  |  Click this button to remove the task tree under the selected node.  |
|  ![Reload tasks](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.actions.refresh.svg)  |  Reload tasks  |  Click this button to have the task tree under the selected node re-built. You may need a tree re-built after updating the corresponding `Gruntfile.js` file because Grunt does not apply changes to trees on the fly.  |
|  ![Collapse all](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.collapseAll.svg)  |  Collapse all  |  Click this button to hide all the tasks trees and have only Gruntfile.js nodes displayed.  |
|  ![View Modes](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.general.gear.svg)  |                |     Click this button to configure the current view and to change the viewing modes of the tool window . For more information, refer to [Tool window view modes](viewing-modes.html) .       Note that most of the menu items are options that you can turn on or off. An option which is on has a check mark to the left of its name. The Grunt-specific options are:        * Grunt Settings: select this option to open the [Grunt Settings dialog](run-debug-configuration-grunt.html) and update the current settings for Grunt and for the Node.js runtime, refer to [Grunt](using-grunt-task-runner.html).    * Sort by: select this option to configure the order in which tasks are shown in trees. Click ![Settings](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.general.gear.svg) on the toolbar, choose Sort by from the menu, and then choose Name. By default, a tree shows the tasks in the order in which they are defined in `Gruntfile.js` (option Definition order).    |
|  ![Hide](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.general.hideToolWindow.svg)  |  Hide  |  Click this button to hide the tool window. To have it displayed again, select `View \| Tool Windows \| Grunt` in the main menu. The tool window appears again showing all the previously built trees of tasks.  |

## Context Menu of a Tree

|  Grunt Settings  |  Choose this menu item to open the Grunt Settings dialog and view or edit the Node.js configuration  |
|  Jump to Source  |  Choose this menu item to open the `Gruntfile.js` file for which the current tree is built.  |
|  Reload tasks  |  Choose this menu item to have the tree of tasks under the selected node re-built.  |
|  Copy Path  |  Choose this menu item to save the path to the `Gruntfile.js` file according to which the current tree was built to the clipboard.  |
|  Remove Gruntfile.js  |  Choose this menu item to remove the tree of tasks under the selected node.  |

## Context Menu of a Task or a Target

|  Run <task/target name>  |  Choose this menu item to run the selected task or target.  |
|  Debug <task/target name>  |  Choose this menu item to debug the selected task or target.  |
|  Edit <task/target name> settings  |  Choose this menu item to open the Run/Debug Configuration dialog and edit the predefined settings for the selected task or target.  |
|  Jump to Source  |  Choose this menu item to open the `Gruntfile.js` file for which the current tree is built and navigate to the definition of the selected task or target.  |

## See also

### Language and Framework-Specific Guidelines

[Grunt](using-grunt-task-runner.html)

### Reference

[Run/Debug Configuration: Grunt.js](run-debug-configuration-grunt.html)

### External Links

[http://gruntjs.com/getting-started](http://gruntjs.com/getting-started)

