Terminal workflows
con should disappear until you need it. With one tab open and the panels hidden, the app is a clean terminal surface. The extra controls are there for the moments when they save movement: running a command across panes, asking the agent, opening a split, or focusing a worker.
The workspace model
con uses a few names consistently:
| Name | Meaning | Use it for |
|---|---|---|
| Window | A top-level app window | Separate projects or monitors |
| Tab | A workspace inside a window | One project, task, or long-running shell set |
| Pane | A visible split region inside a tab | Side-by-side shells, servers, logs, editors |
| Surface | A terminal session inside one pane | Multiple agent or worker sessions without adding more visible splits |
Most terminal work only needs tabs and panes. Surfaces are advanced; they are there when one visible pane should host several terminal sessions.
Focus without reaching for the mouse
| Action | macOS | Windows / Linux |
|---|---|---|
| Switch focus between terminal and input | ⌘ I | ⌃ ⇧ I |
| Show or hide the input bar | ⌃ ` | ⌃ ` |
| Show or hide the agent panel | ⌘ L | ⌃ ⇧ L |
| Show or hide vertical tabs | ⌘ B | ⌃ ⇧ B |
| Open Command Palette | ⌘ ⇧ P | ⌃ ⇧ P |
When in doubt, open Command Palette and search by the action name.
On macOS, Quick Terminal can give you a separate drop-down terminal from anywhere on the system. It is optional and off by default.
Tabs and windows
Use a new tab when the work belongs to the same window. Use a new window when you want a separate space, usually for another project or display.
| Action | macOS | Windows / Linux |
|---|---|---|
| New window | ⌘ N | ⌃ ⇧ N |
| New tab | ⌘ T | ⌃ ⇧ T |
| Next tab | ⌃ Tab | ⌃ Tab |
| Previous tab | ⌃ ⇧ Tab | ⌃ ⇧ Tab |
| Select tab 1-9 | ⌘ 1 ... 9 | ⌃ 1 ... 9 |
Vertical tabs are useful once tab titles matter more than tab position. Rename a tab when its purpose is stable.
Panes
Panes are visible splits. They are the right tool when you need to see more than one terminal at once.
| Action | macOS | Windows / Linux |
|---|---|---|
| Split right | ⌘ D | Alt D |
| Split down | ⌘ ⇧ D | Alt ⇧ D |
| Toggle pane zoom | ⌘ ⇧ Enter | Alt ⇧ Enter |
| Close pane | ⌘ ⌥ W | Alt ⇧ W |
Pane zoom is for short bursts of focus. It does not stop sibling panes; it only gives the active pane the full terminal area.
When a tab has more than one pane, each pane shows a compact title bar. Use it to see which pane is focused, close a pane, or fullscreen that pane without leaving the split layout. Drag the title bar to rearrange panes, or drag it into the tab strip to move that pane into its own tab.
If you want the cleanest possible terminal surface, hide pane title bars from Settings -> Appearance. The shortcuts and terminal context menu still expose the same pane actions.
The input bar
The input bar is one surface with three modes:
- Smart decides whether your text is a shell command or an agent request.
- Command sends text to the terminal.
- Agent sends text to the built-in agent.
This keeps con from becoming a chat app wrapped around a shell. You can hide the bar when you want a plain terminal, bring it back when you need a command or question, and switch modes without changing context.
Broadcast commands
Command mode can target more than one pane. Use the pane picker to send a command to the focused pane, every pane, or a selected set. The picker mirrors the current pane layout, so you can choose by position instead of remembering pane numbers.
Advanced: surfaces
A surface is a terminal session inside one pane. Think of it as a pane-local tab.
Use surfaces when you want several live terminal sessions but do not want to keep splitting the screen smaller. This is especially useful for coding agents, subagents, or task-specific shells that should share one visible worker area.
| Action | macOS | Windows / Linux |
|---|---|---|
| New surface in focused pane | ⌘ ⌥ T | Alt ⇧ T |
| New surface pane right | ⌘ ⌥ D | Alt ⇧ → |
| New surface pane down | ⌘ ⌥ ⇧ D | Alt ⇧ ↓ |
| Next surface | ⌘ ⌃ ] | Alt ⇧ ] |
| Previous surface | ⌘ ⌃ [ | Alt ⇧ [ |
| Rename surface | ⌘ ⌥ R | Alt ⇧ R |
| Close surface | ⌘ ⌥ ⇧ W | Alt ⇧ X |
Only panes with multiple surfaces, owned orchestrator sessions, or explicit surface names show the in-pane surface strip. Ordinary panes stay clean.
Terminal menu
Right-click the terminal for common actions:
- copy and paste
- clear terminal
- split or close panes
- zoom the pane
- create, rename, switch, or close surfaces
- focus the input bar
- open Settings or Command Palette
The menu uses the same actions as shortcuts and Command Palette. If an action has a shortcut, the menu shows it.
Links, paste, and files
Use the platform modifier to open links from terminal output:
- macOS: hold ⌘, then click a URL.
- Windows and Linux: hold ⌃, then click a URL.
Paste text normally. Dragging files into the terminal sends their paths. When a TUI supports image/file paste protocols, con forwards compatible clipboard and drop payloads through the terminal path.
Project layouts
If a project has a workspace shape worth keeping, save it as a layout profile. Profiles are project files for recreating tabs, panes, surfaces, names, and working directories. See Workspace profiles.
If the behavior inside that layout becomes repeatable, turn it into a skill.