# Terminal settings

> **TL;DR**
> `File | Settings | Tools | Terminal` for Windows and Linux
>
>
>
> `IntelliJ IDEA | Settings | Tools | Terminal` for macOS
>
>
>
> `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) ![the Settings icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.settings.svg)

Use this page to customize the settings of the [embedded terminal emulator](terminal-emulator.html).

![Settings | Tools | Terminal](https://resources.jetbrains.com.cn/help/img/idea/2026.2/settings_tools_terminal.png)

> **Note:**
> For the less frequently used settings, refer to [Advanced Settings: Terminal](advanced-settings.html#advanced_terminal).

Procedure: Enable the Terminal plugin

This functionality relies on the [Terminal](https://plugins.jetbrains.com/plugin/13123)  plugin, which  is bundled and enabled in IntelliJ IDEA   by default. If the relevant features are not available, make sure that you did not disable the plugin.

1. Press `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) to open settings and then select `Plugins`.

2. Open the Installed tab, find the Terminal plugin, and select the checkbox next to the plugin name.

## Terminal engines

There are currently two terminal engines in IntelliJ IDEA: Classic and Reworked 2025. Refer to the [Terminal](terminal-emulator.html#select-terminal-engine) page for their descriptions.

## Command Completion

> **Note:**
> Completion is available for Bash, Zsh, and PowerShell when using the [Reworked 2025 terminal engine](terminal-emulator.html#terminal-engine).
>
>
>
> The functionality is not supported in non-local environments, such as Remote Development, Docker, or WSL.

Show a completion popup as you type
: Select how IntelliJ IDEA displays completion suggestions:
:
:
:
: * Always: select this option to show completion suggestions for subcommands (for example, `git status`, `gradle build`), parameters (for example, `--option`), and arguments (for example, `cd [path]`).
:
: * Only for parameters: select this option to limit completion suggestions to command parameters (for example, `--option`).

Show completion popup with
: Select a shortcut to invoke the completion popup.
:
:
:
: To assign a custom shortcut, select Custom from the list, then click Change. IntelliJ IDEA will open the Keymap settings page, where you can [configure your own
: shortcut](configuring-keyboard-and-mouse-shortcuts.html).

Insert suggestion with
: Select a shortcut to accept completion suggestions.
:
:
:
: To assign a custom shortcut, select Custom from the list, then click Change. IntelliJ IDEA will open the Keymap settings page, where you can [configure your own
: shortcut](configuring-keyboard-and-mouse-shortcuts.html).

## Project Settings

These settings affect the terminal only for the current project:

Start directory
: Specify the working directory where every new shell session should start. By default, it starts in the root directory of the current project.

Environment variables
: Specify custom environment variables for every new shell session.

## Font Settings

Font
: Select the font to be used in the terminal.

Fallback
: Select the fallback font to use when the primary terminal font does not support certain characters.

Size
: Enter the size of the terminal font.

Line height
: Enter the vertical spacing between lines in the terminal.

Column width
: Enter the horizontal spacing between characters in the terminal.

## Application Settings

These settings affect the terminal in any project that you open with the current IntelliJ IDEA instance:

Shell path
: Specify the shell that will run by default. IntelliJ IDEA should automatically detect the default shell based on your environment. Here are some examples of different shells:
:
:
:
:
:
: * Bash: `/bin/bash`
:
: * Z shell: `/bin/zsh`
:
: * Bash for Windows: `bash.exe`
:
: * WSL: `wsl.exe`
:
: * PowerShell: `powershell`
:
: * Command Prompt: `cmd.exe`
:
: * Cygwin: `"C:\cygwin\bin\bash.exe" --login -i`

Default tab name
: Specify the default name for new tabs.

Use application title as tab name
: Enable this option to use the title provided by your shell or CLI applications instead of the default tab name. You can control when this title is shown:
:
:
:
: * When command is running: show the title only when the command is running.
:
: * Always: always show the title provided by the shell or CLI applications.

Enforce minimum contrast ratio
: When enabled, IntelliJ IDEA automatically adjusts the terminal text foreground color to improve readability.
:
:
:
: You can configure the contrast ratio in the range from 1 to 21, where 1 means no contrast adjustment and 21 enforces maximum contrast (black-and-white mode). The default value is 4.5, which is recommended by the [accessibility guidelines](https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html).

Show separators between executed commands
: > **Note:**
: > This option is available only when the [Reworked 2025 terminal
: > engine](terminal-emulator.html#terminal-engine) is enabled.
:
:
:
: Show separators between executed commands when running Bash or Zsh.

Audible bell
: Play the bell sound on various events.

Close session when it ends
: Close the current session when the corresponding process ends (for example, by `kill`).

Mouse reporting
: Enable the mouse pointer support in the embedded local terminal.

Move focus to the Editor with
: When this option is selected, you can use `Escape` (Windows), `⎋` (macOS), `⎋` (IntelliJ IDEA Classic (macOS)), `⎋` (macOS System Shortcuts), `Escape` (XWin), `Escape` (GNOME), `Escape` (KDE), `Escape, Escape` (Emacs), `Escape` (Sublime Text), `⎋` (Sublime Text (macOS)), `Escape` (NetBeans), `Escape` (Visual Studio), `⎋` (Visual Studio (macOS)), `Escape` (Eclipse), `⎋` (Eclipse (macOS)) (default) or any shortcut of your choice to switch focus from the terminal to the editor.
:
:
:
: To assign a custom shortcut, select Custom from the list, then click Change. IntelliJ IDEA will open the Keymap settings page, where you can [configure your own
: shortcut](configuring-keyboard-and-mouse-shortcuts.html).

Copy to clipboard on selection
: Copy text selected in the terminal to the clipboard.

Paste on middle mouse button click
: Paste clipboard contents by clicking the middle mouse button.

Override IDE shortcuts
: Use shell-specific shortcuts instead of IDE shortcuts when the Terminal tool window is active.
:
:
:
:
:
: Click Configure terminal keybindings to open the [Keymap](settings-keymap.html) settings page and configure the shortcuts that are available in the Terminal tool window under Plugins | Terminal. For example, Switch Focus to Editor is mapped to `Escape` (Windows), `⎋` (macOS), `⎋` (IntelliJ IDEA Classic (macOS)), `⎋` (macOS System Shortcuts), `Escape` (XWin), `Escape` (GNOME), `Escape` (KDE), `Escape` (Emacs), `Escape` (Sublime Text), `⎋` (Sublime Text (macOS)), `Escape` (NetBeans), `Escape` (Visual Studio), `⎋` (Visual Studio (macOS)), `Escape` (Eclipse), `⎋` (Eclipse (macOS)) by default, which means that if you don't override the IDE shortcuts, `Escape` will switch focus from the terminal to the editor.

Shell integration
: Integrate the terminal with the system shell to properly keep track of your command history for sessions and load a custom config file with required environment variables.
:
:
:
:
:
: Shell integration works for `sh`, `bash`, `zsh`, and `fish` shells.

Highlight hyperlinks
: Highlight HTTP links in the terminal and make them clickable.

Use Option as Meta key
: On macOS, use the [Option key](https://en.wikipedia.org/wiki/Option_key) as the [Meta key](https://en.wikipedia.org/wiki/Meta_key).

Add project JDK to PATH
: Add the [JDK configured for your project](sdk.html#jdk) to the `JAVA_HOME` and `PATH` environment variables of new terminal sessions, so you can run Java tools in the terminal without configuring a JDK on your system separately.

Cursor shape
: Select the shape of the cursor: block, underline, or vertical.

Run Commands using IDE
: > **Note:**
: > This option is available only when the [Classic terminal
: > engine](terminal-emulator.html#terminal-engine) is enabled.
:
:
:
: Instead of running a specific command in the integrated terminal and reading console output, you can use the relevant IDE feature, like a tool window or a dialog that implements this functionality. For example, you can launch a `gradle` or `mvn` command from the Terminal tool window and view its output in the Run or Debug tool window.
:
:
:
: This feature also works with most of the commands recognized by Run Anything (press `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)) twice), depending on the plugins you have installed.

Activate virtualenv
: > **Note:**
: > This option is available only if you have the [Python](https://plugins.jetbrains.com/plugin/631-python) plugin installed.
:
:
:
:
:
: For the Python interpreter being a virtual environment, with this checkbox selected, the virtual environment is automatically activated (`activate` is performed automatically).

The embedded terminal emulator also inherits the following IDE settings:

* On the Keymap settings page, you can configure the copy `Ctrl+C` (Windows), `⌘ C` (macOS), `⌘ C` (IntelliJ IDEA Classic (macOS)), `⌘ C` (macOS System Shortcuts), `Ctrl+C` (XWin), `Ctrl+C` (GNOME), `Ctrl+C` (KDE), `Ctrl+Insert` (Emacs), `Ctrl+C` (Sublime Text), `⌘ C` (Sublime Text (macOS)), `Ctrl+C` (NetBeans), `Ctrl+C` (Visual Studio), `⌘ C` (Visual Studio (macOS)), `Ctrl+C` (Eclipse), `⌘ C` (Eclipse (macOS)) and paste `Ctrl+V` (Windows), `⌘ V` (macOS), `⌘ V` (IntelliJ IDEA Classic (macOS)), `⌘ V` (macOS System Shortcuts), `Ctrl+V` (XWin), `Ctrl+V` (GNOME), `Ctrl+V` (KDE), `Shift+Insert` (Emacs), `Ctrl+Shift+V` (Sublime Text), `⌘ ⇧ V` (Sublime Text (macOS)), `Ctrl+V` (NetBeans), `Ctrl+V` (Visual Studio), `⌘ V` (Visual Studio (macOS)), `Ctrl+V` (Eclipse), `⌘ V` (Eclipse (macOS)) shortcuts.

* On the `Editor | General | Appearance` page, you can configure blinking frequency for the caret. The Terminal does not inherit the Use block caret option because there is a separate option for that: Cursor shape.

* On the `Editor | Color Scheme | Console Font` page, you can configure line spacing and fonts.

* On the `Editor | Color Scheme | Console Colors` page, you can configure font colors.

* On the `Editor | Color Scheme | General` page, you can configure the selection foreground and background colors.

## See also

### Settings

[Advanced Settings](advanced-settings.html#advanced_terminal) [Keymap](settings-keymap.html) [Appearance](settings-editor-appearance.html)

### Related

[Customize the console font](configuring-colors-and-fonts.html#custom-console-font)

