# Tools: editors, terminals, and browsers

When you open a project in an external editor or terminal, or open a local service URL in a browser, Solo needs to know which app to launch. The **Tools** tab is where you configure that.

Open **Settings** (by default, `Cmd+,` on macOS or `Ctrl+,` on Windows and Linux) and click the **Tools** tab. You can change or disable the **Open settings** shortcut in **Keyboard Shortcuts**.

## Default editor

The default editor is used for project-opening actions. Solo also supports per-project editor overrides.

Use the dropdown to choose the current default, and the gear button to manage the available editor entries.

In the editor manager, you can add or edit entries that launch with:

- **Application** mode — using an app name or path. On macOS, an entry with only an app identifier launches through `open -a`. Built-in entries that retain a CLI command try that command first, then fall back to `open -a` if it cannot be launched. On Windows, use the application path or Command mode for CLI-launchable tools.
- **Command** mode — using a CLI command.
- **Terminal** mode — opens your configured default terminal and runs the editor command when that terminal integration supports it. On macOS, Terminal, iTerm, Alacritty, Kitty, and Ghostty run the command; Warp, Hyper, and custom terminal applications open the working directory without running it. On Windows and Linux, Solo tries a terminal entry's CLI command with the editor command; an application-only entry, or the application fallback after a CLI launch failure, just opens the working directory.

Command-based entries can use `$PROJECT_DIR` for the project path. Solo splits editor command templates on whitespace before launch, so quotes do not group a multi-word literal argument. In Command mode, Solo appends the project path when `$PROJECT_DIR` is absent. In Terminal mode, when you open a project directory, Solo uses that project as the working directory and appends `.` instead. The modal includes a **Test** button, which launches the entry against `$HOME`, or `/tmp` when `HOME` is unavailable.

Terminal-mode editors require a default terminal. If no default terminal is configured, Solo shows an error instead of launching the editor.

## Default terminal

The default terminal is used when you open a project in an external terminal.

Use the dropdown to choose the current default, and the gear button to manage the available terminal entries.

In the terminal manager, entries can launch with:

- **Application** mode — using an app name or path. On macOS, an entry with only an app identifier launches through `open -a`. Built-in entries that retain a CLI command try that command first, then fall back to `open -a` if it cannot be launched. On Windows, use the application path or Command mode for CLI-launchable terminals.
- **Command** mode — using a CLI command.

For project-opening actions, command-based terminal entries are split on whitespace and the project path is appended as the final argument. Configure commands that accept the working directory that way. The modal includes a **Test** button.

## Default browser

The default browser is used when you open a [local service URL](../sidebar/cpu-memory-stats.md) from the process sidebar — for example, a dev server URL that Solo detected for a running process.

Use the dropdown to choose which browser opens those URLs. The list includes **System default** plus the browsers Solo detects on your machine. **System default** hands the URL to your operating system's default browser.

## Managing custom entries

You can edit existing entries, add new ones, and delete entries from the configuration modals. Deleting an editor clears every per-project override that uses it; deleting the current default editor also sets **Default editor** to **None**. Built-in terminal entries can't be removed. The Tools tab also shows a delete button next to the selected default terminal when it is a custom terminal. Deleting that terminal sets **Default terminal** to **None**.

## Important behavior

- If no editor is configured, **Open in editor** fails with an error instead of falling back to a system default.
- If no terminal is configured, **Open in terminal** fails with an error instead of falling back to a system default.
- Availability checks are manual — use the configuration modal's **Test** button or the actual project-opening action to verify a tool works.

---

Are you a human? Read this doc on the web: https://soloterm.com/docs/settings/tools-editors-terminals
