# Command-line interface

Use CLion features from the command line: open files and projects, view diffs, merge files, apply code style, formatting, and inspect the source code.

> **Tip:**
> For more information about running command-line tools from inside CLion, refer to [Terminal emulator](terminal-emulator.html).

## Launcher for a standalone instance

Windows:

The [installation directory](directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html) contains batch scripts and executables for launching CLion, formatting the source code, and running inspections. To use them from the Command Prompt `cmd.exe`, add the location of the CLion `bin` folder to the `PATH` environment variable. For example, if you installed CLion to `C:\Program Files\JetBrains\CLion`, you can use the following command:

```CONSOLE
set PATH=%PATH%;C:\Program Files\JetBrains\CLion\bin
```

This command changes the `PATH` environment variable for the current shell only (the current instance of `cmd.exe`).

To make this change permanent:

* If you are installing CLion, select Add "bin" folder to the PATH in the [installer](installation-guide.html#standalone_windows).

* Alternatively, add the IDE's bin directory to the `Path` user environment variable using the Windows Environment Variables dialog.

* Otherwise, if you prefer a command-line solution, you can use PowerShell: ```POWERSHELL [Environment]::SetEnvironmentVariable('PATH', $env:PATH + ';C:\Program Files\JetBrains\IntelliJ IDEA\bin', 'User') ```

After you configure the `PATH` variable, you can run the executable from any working directory in the Command Prompt:

```CONSOLE
clion64.exe
```

Alternatively, you can use the batch script:

```CONSOLE
clion.bat
```

macOS:

To run CLion from the shell, use the `open` command with the following options:

`-a`
: Specify the application.

`-n`
: Open a new instance of the application even if one is already running.

`--args`
: Specify additional arguments to pass to the application.

For example, you can run `CLion.app` with the following command:

```SHELL
open -na "CLion.app"
```

> **Note:**
> If CLion is not in the default `/Applications` directory, specify the full path to it.

You can create a shell script with this command in a directory from your `PATH` environment variable. For example, create the file `/usr/local/bin/clion` with the following contents:

```PLAINTEXT
#!/bin/sh

open -na "CLion.app" --args "$@"
```

Make sure you have permissions to execute the script and since `/usr/local/bin` should be in the `PATH` environment variable by default, you should be able to run `clion` from anywhere in the shell.

If you do not have permissions to execute the script, run the following:

```SHELL
chmod +x /usr/local/bin/clion
```

Linux:

On Linux, the [installation directory](directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html) contains the launcher shell script `clion.sh` under `bin`. For example, if you installed CLion to `/opt/clion`, you can run the script using the following command:

```SHELL
/opt/clion/bin/clion.sh
```

You can create a symbolic link to the launcher script in a directory from the `PATH` environment variable. For example, if you want to create a link named `clion` in `/usr/local/bin`, run the following command:

```SHELL
ln -s /opt/clion/bin/clion.sh /usr/local/bin/clion
```

Since `/usr/local/bin` should be in the `PATH` environment variable by default, you should be able to run the `clion` command from anywhere in the shell.

## Shell scripts generated by the Toolbox App

If you are using the [Toolbox App](https://www.jetbrains.com.cn/en-us/toolbox/app/) to install and manage JetBrains products, you can use shell scripts for launching your IDEs from the command line.

Toolbox App generates shell scripts automatically and places them to the following folders:

Windows:

```GENERIC
%LOCALAPPDATA%\JetBrains\Toolbox\scripts
```

By default, the Toolbox App puts shell scripts in a directory from the system `PATH` environment variable, so you can run the name of the script as a command to launch CLion from any working directory.

Procedure: Change shell scripts location

1. Open the Toolbox App, click the Toolbox App menu icon in the top right corner, and select Settings.

![Toolbox App menu icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/toolbox_app_menu_icon.png)

2. On the Settings tab, expand the Tools section, and specify another folder in the Shell scripts location field.

![Changing location of shell scripts](https://resources.jetbrains.com.cn/help/img/idea/2026.2/toolbox_app_shellscript_location_win.png)

Procedure: Rename shell scripts

If you have several versions of the same IDE, the Toolbox App generates a shell script for each version with a unique name. You can change the name of the shell script for an IDE instance in the settings for this specific instance.

1. Open the Toolbox App.

2. Click ![Tool actions](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.actions.more.svg) next to an IDE instance and select Settings.

3. At the bottom of the Configuration section, change the Shell script name field.

![Toolbox App CLion Settings](https://resources.jetbrains.com.cn/help/img/idea/2026.2/cl_toolbox_app_instance_settings_win.png)

macOS:

```GENERIC
/usr/local/bin
```

or

```GENERIC
~/Library/Application Support/JetBrains/Toolbox/scripts
```

By default, the Toolbox App puts shell scripts in a directory from the system `PATH` environment variable, so you can run the name of the script as a command to launch CLion from any working directory.

Procedure: Change shell scripts location

1. Open the Toolbox App, click the Toolbox App menu icon in the top right corner, and select Settings.

![Toolbox App menu icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/toolbox_app_menu_icon.png)

2. On the Settings tab, expand the Tools section, and specify another folder in the Shell scripts location field.

![Changing location of shell scripts](https://resources.jetbrains.com.cn/help/img/idea/2026.2/toolbox_app_shellscript_location.png)

Procedure: Rename shell scripts

If you have several versions of the same IDE, the Toolbox App generates a shell script for each version with a unique name. You can change the name of the shell script for an IDE instance in the settings for this specific instance.

1. Open the Toolbox App.

2. Click ![Tool actions](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.actions.more.svg) next to an IDE instance and select Settings.

3. At the bottom of the Configuration section, change the Shell script name field.

![Toolbox App CLion Settings](https://resources.jetbrains.com.cn/help/img/idea/2026.2/cl_toolbox_app_instance_settings.png)

Linux:

```GENERIC
~/.local/share/JetBrains/Toolbox/scripts
```

By default, the Toolbox App puts shell scripts in a directory from the system `PATH` environment variable, so you can run the name of the script as a command to launch CLion from any working directory.

Procedure: Change shell scripts location

1. Open the Toolbox App, click the Toolbox App menu icon in the top right corner, and select Settings.

![Toolbox App menu icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/toolbox_app_menu_icon.png)

2. On the Settings tab, expand the Tools section, and specify another folder in the Shell scripts location field.

![Changing location of shell scripts](https://resources.jetbrains.com.cn/help/img/idea/2026.2/toolbox_app_shellscript_location_linux.png)

Procedure: Rename shell scripts

If you have several versions of the same IDE, the Toolbox App generates a shell script for each version with a unique name. You can change the name of the shell script for an IDE instance in the settings for this specific instance.

1. Open the Toolbox App.

2. Click ![Tool actions](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.actions.more.svg) next to an IDE instance and select Settings.

3. At the bottom of the Configuration section, change the Shell script name field.

![Toolbox App CLion Settings](https://resources.jetbrains.com.cn/help/img/idea/2026.2/cl_toolbox_app_instance_settings_linux.png)

## Command-line arguments

The launcher script accepts commands, options, and other arguments to modify its behavior. Without any arguments, the script launches CLion. If you specify the path to a file or directory, CLion will open the specified file or directory. For more information, refer to [Open files from the command line](opening-files-from-command-line.html).

### Commands

`diff`
: Open the diff viewer to see the differences between two specified files.
:
:
:
: For more information, refer to [Compare files from the command line](command-line-differences-viewer.html).

`merge`
: Open the Merge dialog to merge the specified files.
:
:
:
: For more information, refer to [Merge files from the command line](command-line-merge-tool.html).

`format`
: Apply code style formatting to the specified files.
:
:
:
: For more information, refer to [Format files from the command line](command-line-formatter.html).

`inspect`
: Perform code inspection on the specified project.
:
:
:
: For more information, refer to [Run code inspections from the command line](command-line-code-inspector.html).

`installPlugins`
: Install plugins by plugin ID from the [JetBrains Marketplace](https://plugins.jetbrains.com/) or a [custom plugin repository](managing-plugins.html#repos).
:
:
:
: For more information, refer to [Install plugins from the command line](install-plugins-from-the-command-line.html).

### Options

`nosplash`
: Do not show the splash screen when loading CLion.

`dontReopenProjects`
: Do not reopen projects and show the welcome screen. This can help if a project that was open crashes CLion.

`disableNonBundledPlugins`
: Launch CLion without loading manually installed plugins. This option doesn't remove or permanently disable plugins. This can help if a plugin that you installed crashes CLion. You will be able to start the IDE and either disable or uninstall the problematic plugin.

`--wait`
: Wait for the files to be closed before returning to the command prompt.
:
:
:
: For example, you can open `file.txt` with the following command:
:
:
:
: `clion --wait file.txt`
:
:
:
: The shell will be waiting until `file.txt` is closed.

