Projects and terminals
The window is a sidebar tree of projects and their terminals, and the terminal you are looking at.
Projects
A project is a folder. Every project you open stays open and keeps running while you look at another one. The sidebar has two sections: PROJECTS and HOSTS (other Macs, see Remote sessions).
- ⌘ O opens a project, and File → Open Recent lists the last ten.
- ⌘ 1 to ⌘ 9 jump to a project. ⌘ \ hides the sidebar, which becomes a narrow rail of project initials.
- Each project row has a clock for its history and a gear for its project settings. Right-click for Rename, History, Project settings and Close.
- A project's dot shows its most urgent terminal, so you can see from a collapsed project that something needs you.
Terminals
A project holds up to 16 terminals. Each one runs one agent CLI. Closed terminals do not count toward the limit: they move to the project's history.
When you reopen Connecto, only the terminals that were working when it closed start again, and they resume their conversation. The others show not started and start when you look at them.
States
| State | Dot | Meaning |
|---|---|---|
| working | cyan, pulsing | The agent is in the middle of a turn. |
| waiting for you | amber | The agent has asked something and needs an answer. |
| needs login | amber | The tool is not signed in for this project. |
| interrupted | amber ring | Connecto was closed while this agent was mid-turn. |
| finished | green with a ring | The turn ended and you have not looked yet. |
| done | green check | A child terminal has delivered its answer. |
| idle | light grey | Ready for input. |
| not started, stopped | hollow | No process is running. |
| failed | coral | The terminal could not start. |
⌘ J jumps to the next terminal that needs you.
Nested terminals
Names
The id (claude-3, codex-2, shell) never changes: agents address terminals by it, and the row always shows it under the name. A name is only a label. Giving a Claude terminal a name also gives it to Claude as its session name: it is passed as --name whenever the terminal starts, and a name set on a terminal that is already running is typed to Claude as /rename once it sits at a quiet prompt (not in a turn, not at a permission prompt, and not while you are typing; the last name wins). That write is in the audit log like any other, and Pause stops it. A Codex terminal and a plain shell are only labelled in Connecto: Codex has a /rename command, but it is not used yet. The same happens when an agent's first --ask names a child, or a remote user renames a terminal.
A terminal that an agent opens with connecto add appears under the terminal that opened it. If you gave it no name, it is named after the first thing it was asked.
- You can fold a parent's children away.
- Terminal → Close Finished Children (⌘ ⇧ K) clears the ones that are done.
- Closing a parent moves its children to the top level.
Inside a terminal
- ⌘ V pastes. Drag to select, then ⌘ C copies. ⌘ A selects everything.
- If the program has taken over the mouse, hold ⇧ while dragging to select anyway.
- ⇧ Enter inserts a new line without sending, like ⌥ Enter.
- Drop files onto the terminal to type their paths, escaped for the shell.
- ⌘ R renames the terminal. The robot icon on its row asks a small model for a short title instead.