<!-- Markdown mirror. Canonical: https://empryo.com/docs/tools/terminals -->

# Floating Terminals

> Open up to 5 terminals inside the Empryo desktop app to run commands, watch logs or use a REPL next to the chat, separate from the agent's own shell.

## Overview

The desktop app has a built-in terminal panel. Use it to run commands, watch logs or work in a REPL without leaving Empryo. You can have up to 5 terminals open at once.

Your terminals are separate from the agent. When the agent runs commands with its `shell` tool, those do not appear in or interfere with your terminals.

Floating terminals are a desktop feature. In the terminal UI, you are already in a terminal.

## Commands

| Command | Action |
|---------|--------|
| `/terminals` | Open the terminal manager |
| `/terminals new` | Open a new terminal |
| `/terminals close` | Close a terminal |
| `/terminals show` | Show the terminal panel |
| `/terminals hide` | Hide the terminal panel |
| `/terminals rename` | Rename a terminal |

## Shells

A new terminal starts your default shell in the current workspace folder. You can open a terminal with a different shell from the new-terminal menu (for example zsh, PowerShell, or a WSL distribution on Windows) and choose which one is the default. Each terminal is named after its shell, and you can rename it.

## Working in a terminal

The terminal panel is built on [xterm.js](https://xtermjs.org/), the terminal used by many code editors. It supports:

- Colors, including 256-color and true color
- Unicode and emoji
- Clickable links
- Mouse input for programs that use it
- Up to 5,000 lines of scrollback
- GPU rendering when your system supports WebGL, with an automatic fallback when it does not

Useful keys:

| Key | Action |
|-----|--------|
| `Cmd/Ctrl+F` | Search the terminal output |
| `Cmd/Ctrl+Shift+A` | Add the selected text to the chat |
| `Cmd+C` (macOS) / `Ctrl+Shift+C` (Windows, Linux) | Copy the selection |
| `Ctrl+Shift+V` (Windows, Linux) | Paste |

On Windows and Linux, `Ctrl+C` copies when text is selected. With nothing selected, it interrupts the running program as usual.

## Limits

- You can have **at most 5 terminals** open at once.
- Each terminal is its own shell process.
- Your terminals keep running when the agent's conversation is compacted or its context is reset.
