# Terminals

> Open a terminal on your computer or a paired machine, answer a waiting agent from the board, and step into a ticket's own terminal.

This page shows you the three places By Dawn gives you a terminal, and when to use each one. By the end you'll be able
to open a shell on any machine your organization has paired, answer an agent that's waiting on you without leaving
the board, and type straight into the session an agent is running.

- **Terminals** is a workbench for your own shells, on your computer or a paired machine.
- A ticket's **Terminal** view is the live session of the agent working that ticket.
- The **quick terminal** opens that same session from the board, for a quick answer.

Terminals only appear where By Dawn can reach a machine to run them. The desktop app always can. Shortcuts below are
written for a Mac; on Windows and Linux use Ctrl where it says ⌘.

## The Terminals screen

Choose **Terminals** in the sidebar, or press `⌘3`. Each project has its own.

The screen opens with **No ad-hoc terminals** until you start one. Choose **New terminal** (`⌘T`)
for a shell on the machine By Dawn picks for you, usually your own computer. To pick the machine yourself, open the
arrow beside the button: **New terminal on…** lists **This machine** and each paired machine, with whether it's
online. A machine with no Claude account signed in is marked, because a terminal there will hit Claude's login
prompt (see [Claude accounts, sign-in and seats](https://docs.bydawn.com/claude-accounts/)).

In a web browser, `⌘T` and `⌘W` already belong to the browser, so By Dawn uses
`⌘⌥T` and `⌘⌥W` instead. The button shows whichever applies.

### Lay out your panes

A pane holds one or more tabs. Split the screen to see several at once:

| To | Choose | Or press |
|---|---|---|
| Open a pane beside this one | **Split** | `⌘D` |
| Open a pane below this one | **Stack** | `⌘⇧D` |
| Pick a layout | **Pane layout**: **Single**, **Columns**, **Rows**, **Grid 2×2** or **Main + side** | |
| Fill the screen with one pane | **Maximize focused pane** | `⌘+Enter` |
| Move between panes | | `⌥⌘←` and the other arrows |
| Move between tabs | | `⌘]` and `⌘[` |
| Rename a tab | | `⌘⇧R` |
| Change the font size | **Increase font**, **Decrease font**, **Reset font** | `⌘+`, `⌘−`, `⌘0` |

Besides shells, a pane can hold an **Agent browser** (`⌘⇧B`), and in the desktop app a **Preview**
(`⌘⇧V`) of a page your code is serving, such as `localhost:5173`.

While a terminal has the keyboard, `Ctrl+D`, `Ctrl+C` and the other Ctrl keys go to the
shell, as you'd expect. The ⌘ shortcuts still reach By Dawn.

### What the dots mean

Each tab has a dot: **running**, **exit 0** (it finished cleanly), **exit ≠0** (it failed), **idle** or
**offline** (its machine can't be reached). The legend in the toolbar is there to remind you.

### Close, hide and reopen

Closing a tab does what's safe for where it runs:

- A shell **on your computer** asks **Kill terminal on …?** first, because closing it ends the process.
- A shell **on another machine** is only hidden, so a long job keeps running. By Dawn tells you **Hidden, not killed**.
  To end it, open the tab's menu and choose **Kill**.
- A shell that has **already ended** just moves out of the way.

Hidden and ended shells collect under the **background** button in the toolbar. Choose one to **Reopen** it, or
**Clear finished** to tidy the list.

You can drop a file on a terminal to send it to that machine.

### Ticket terminals

The agents' own sessions live in their tickets, so the Terminals screen leaves them out and says how many are
running, such as "2 ticket terminals running". In the desktop app, turn on **Include ticket terminals** to show
them here too.

## A ticket's terminal

Open a ticket and choose **Terminal** in its row of views. This is the live session of the agent working the
ticket. Everything it types and everything it's shown appears here, and you can type into it, for example to answer
a question in the agent's own prompt.

**Feed** shows the same session as a conversation, which is easier to read. Use **Split** to see the two side by
side. Switching views never starts or stops anything: they're all views of the one session.

**Processes** lists what's running under the session and what it costs, while the agent is running. To hand the
agent a file, drop it on the ticket's terminal.

## The quick terminal

When an agent stops to ask you something, its card on the board says so. Click that part of the card (**Open quick
terminal to respond**) and the agent's terminal opens in a drawer over the board. Answer it there, then use the
arrows to move to the next card that's waiting, or **Expand to full view** to open the whole ticket. The drawer
closes by itself when nothing is waiting.

## Terminal settings

Under **Settings › You › Appearance**, the **Terminal** card has:

- **Copy on select**: selecting text copies it, and programs in the terminal may write to your clipboard.
- **Predictive local echo**: shows what you type, underlined, before a terminal on another machine echoes it back.
  It makes a slow connection feel faster. You only see this one where By Dawn can reach other machines.

## FAQ

**Why is there no Terminals item in my sidebar?**

By Dawn can't reach a machine to run a terminal on from where you are. The desktop app always can, so use that.

**I closed a tab on another machine. Is the job still running?**

Yes. Closing it only hid it. Find it under the background button and choose it to reopen, or choose **Kill** from
the tab's menu to end it.

**Can I type into an agent's terminal while it's working?**

Yes. Whatever you type goes to the agent's session, as if you were at its keyboard. To steer the agent, it's usually
clearer to write in **Feed**.

## Where to go next

- [The agent browser](https://docs.bydawn.com/agent-browser/): watch and take over the browser an agent uses.
- [Remote agents and machines](https://docs.bydawn.com/remote-agents/): pair the machines terminals and tickets run on.

Source: https://docs.bydawn.com/terminals/
