Islands
Tab groups that hold one checkout — named, coloured, collapsible, stashable, and never joined by accident.
An island is a group of tabs in the strip: a name, a colour and a set of tabs drawn as one run with a chip in front of them. In practice an island is a checkout — the four tabs you have open on one worktree — but nothing enforces that, and a machine or a task works just as well.
A group owns nothing. The tabs stay in the one list the window has always had, each carrying its group’s id, and the strip keeps a group’s tabs in a single contiguous run. That is why closing tabs, saving the session, Tab Peek and the agent overview all behave the same whether or not you use islands at all.
Making one
Select the tabs you want and press ⌃⌘N (Group Selected Tabs), or use the tab menu’s Add Tab to New Group (Add 3 Tabs to New Group when several are selected). The island appears with:
- a name, taken from the git root of the tabs’ folder — the repository’s own directory name, or “Group” when there is no folder to read. It is edited in the chip itself, in place; ↩ confirms it.
- a colour, the first of the eight non-grey marks no other island is using, so neighbouring islands never match.
A popover comes up under the new chip with the four decisions that are easy to get wrong later — the colour, the folder binding, whether new tabs join, and whether it comes back on launch. All four are also in the chip’s menu afterwards.
⌃⌘G opens the Group Switcher, and ⌃⌘1 through ⌃⌘9 go straight to an island by position. (The designs asked for ⌃1…⌃9, but ⌃2 and ⌃6 are real control characters a terminal has to pass through, so the group keys took ⌃⌘.)
What you can do to one
| Action | Key | What it does |
|---|---|---|
| Collapse / Expand | — | The island draws as its chip alone. Its tabs keep running, and hovering the chip peeks into them. |
| Stash / Restore | ⌃⌘S | Takes the island out of the strip entirely, processes untouched. The chip’s menu says how long ago (“Stashed 2 h ago”); restoring puts it back where it was. |
| Focus / Leave Focus | ⌃⌘F | The strip shows this island and nothing else. |
| Broadcast Input… | ⌃⌘B | Types one line into every tab in the island. |
| New Tab in Group | — | Opens a tab inside it, without asking. |
| Close Idle Tabs | — | Closes the island’s tabs with nothing running; the item carries the count. |
| Rename Group… | — | Edits the chip’s name in place. |
| Group Settings… | — | Reopens the popover. |
| Ungroup | — | Keeps the tabs, drops the island. |
| Close Group | — | Closes its tabs; the item carries the count. |
Stash is the one worth being precise about: it is not a pause. The agents in a stashed island keep working, keep marking themselves done or blocked, and keep counting toward the attention chip and the Dock badge. The island is only out of the way.
Settings on the island itself
Three switches live in the group popover and its menu:
Opening this folder opens a tab in the group. Binds the island to the folder its tabs are in. Opening that folder — from the sidebar, a worktree row, or Finder — then opens its tab inside the island. It is off by default, and it is never set for you.
New tabs opened from this group join it. Three-state in the model: until you tick or clear it, nobody has answered. See the rule below.
Restore the group’s tabs and splits on launch. On by default. Turning it off leaves the island out of the session that comes back.
The rule that matters: a new tab never joins silently
Chrome’s rule is that a new tab inherits the group of the tab it was opened
from. That is wrong here. An island is usually a checkout, so it ends up
holding every tab you have — and from then on ⌘T, the strip’s
+, the palette and the sidebar all drop their tab into it with no way out
but a drag.
So a tab joins an island only where the intent is unmistakable:
| Situation | Result |
|---|---|
| the strip is focused on an island (⌃⌘F) | it joins — a loose tab would open out of sight |
| a folder was opened, and it is under a folder bound to an island | it joins |
| the island was asked and said yes (New tabs opened from this group join it) | it joins |
| the island holds every tab in the strip, and has never been asked | the tab opens loose, and the window asks under the chip — once; the answer is the island’s |
| anything else | loose |
The folder binding is read only for an opening that names a folder, never
for ⌘T, the strip’s + or the palette. Those inherit their
directory from the tab you are in, which inside a bound island is always the
island’s own folder — so reading the binding there would send every
⌘T straight back into the group, which is the thing this rule
exists to prevent.
Saying “in this island” outright is the island’s own + and its chip
menu’s New Tab in Group. Those pass the group and never ask.
What comes back on launch
With Reopen the last session’s tabs on (the default), the islands come back with their names, colours, collapse state and tabs, and each tab with its folder, name, colour, pin and splits. Shell panes come back with their last 2000 lines of text; agent tabs resume their conversation instead. See Files on disk.