conduit · new session: choose the project, see where it starts

The sidebar now lists every project's sessions in one place, so + can no longer assume which project you mean. A new session needs two answers: which project, and where in it. Today the second answer is always the project's own checkout, on main. Later it becomes the place to pick a new worktree (a second checkout on its own branch), an existing one, or a new branch, the way t3code does.

Six designs below, ordered from what I'd build first to the most speculative. All use the palette, glyph tiles, sheets and chips from the mobile-first-sidebar page, so they sit next to the shipped sidebar and composer without new visual vocabulary. Design 2 is the t3code-inspired one.

Shared rules (every design)

These are decisions, not styling. Whichever layout wins, they hold.

Default project is a guess you can seeThe project the sidebar is scoped to, else the one you used last. It is always shown preselected, never silently applied.
"Starts on" shows the real branchRead from the checkout when the picker opens. It says main today because that's what your projects have checked out, not because it's hard-coded. A project sitting on a feature branch must say so.
Uncommitted changes get a dotAn amber dot on the branch pill means the session starts in a checkout with uncommitted changes. That matters more once worktrees exist.
Missing folders don't hide, and don't get pickedProjects whose folder is gone sit in a collapsed Unavailable group with a Remove action, never in the main list.
Removed stays removedRemove drops the project for good. It returns only if you start a session there again via Open a folder…, which is also how new projects get added.
Future options are visible but quietWorktree and branch options appear with a soon tag, so the layout doesn't change when they ship.

1 · Launch sheet

recommended

+ opens a sheet: projects at the top, a Starts on card above one big Start button. The session is created when you press Start, so the transcript always opens in the right project. It uses the same sheet, rows and glyphs as the sidebar's scope picker, so it reads as part of the same app. On desktop the same content is a popover off the + in the sidebar header.

Phone · + tappedscoped to all projects
9:41●●● ▮
Sessions
All projects ▼Search
Needs you2
CO
Fix legacy address race on cold start
⚠ approve· conduit · 2m
SK
Tighten the codex-review contract
● working· skills · now
+
New session
Find a project
Recent20 projects
CO
conduit
~/src/personal/conduit
SK
skills
~/src/personal/skills
3 live
DO
dotfiles
~/dotfiles
1 live
Open a folder…
›
Unavailable · folder missing
9
Starts on
maincurrent checkout
Start in conduit
Phone · Starts on tappedfuture options parked
9:41●●● ▮
Sessions
Where it startsCOconduit
Current checkout main
Works in ~/src/personal/conduit, alongside anything else running there.
New worktree soon
A separate checkout on a fresh branch from main. Parallel sessions can't step on each other.
Existing worktree… soon
Pick up where an earlier session left off.
New branch… soon
Switch this checkout to a new branch first.

Today every session starts in the project's own checkout. The other rows stay visible so this sheet won't move when they ship.

Done
Phone · Unavailable expandedremoval sticks
9:41●●● ▮
Sessions
New session
Recent
CO
conduit
~/src/personal/conduit
SK
skills
~/src/personal/skills
3 live
Unavailable · folder missingRemove all
OP
opencode
~/src/personal/opencode-relay/opencode
Remove
RE
rome2rio-explore
~/src/work/rome2rio-explore
Remove
GS
geospatial-service
~/src/work/geospatial-service
Remove
BE
beta
/private/tmp/cdiag/p2/beta
Remove

Their sessions stay readable in the list. Removing only forgets the project. Open the folder again later and it comes back.

Desktop · popover from the sidebar's +⌘N opens it too
Sessions
All projects ▼Search
Needs you2
CO
Fix legacy address race
⚠ approve· conduit
SK
Tighten the codex-review contract
● working· skills
Today4
DO
zsh startup under 80 ms
✓ done· dotfiles
Fix legacy address race· conduit
Fast path
+ then Start: 2 taps. Keyboard: ⌘N ↵.
Other project
+, tap it, Start: 3 taps. Type to filter past ~8.
Worktrees later
Fill in the parked rows. No layout change.
Build cost
Low. Reuses the sidebar sheet, rows and Modal primitive.
Why first: the explicit Start step is the honest version of "create a session here". The project and branch are on screen at the moment you commit, and nothing exists until you do. Cost: one extra tap compared with design 2 when the guess was already right.

2 · Draft session

t3code-inspired

How t3code does it. + opens an empty session straight away with the composer focused. Above the composer, a context strip shows project and where it starts as two chips you can change. Nothing is created until you send the first message. That is t3code's BranchToolbar (Current checkout ▾ · main ▾) plus its "New thread in…" picker, in conduit's chips.

Phone · + tappedtyping straight away
9:41●●● ▮
New session···
COconduitNothing is created until you send.
COconduit▼main▼current checkout
Ask anything…
✱Opus 5
Phone · project chip tappedkeyboard drops
9:41●●● ▮
New session
Start in…
Find a project
Recent
CO
conduit
main
SK
skills
main
DO
dotfiles
main
RN
renowned
main
JA
job-apps
main
Open a folder…
›
Unavailable · folder missing
9
Phone · branch chip tappedsame menu as t3code
9:41●●● ▮
New session
COconduit
COconduit▼main▲
Ask anything…
✱Opus 5
Desktop · draft in the main panestrip under the composer, like t3code
Sessions
All projects ▼Search
CO
New session (draft)
conduit · main
Needs you2
CO
Fix legacy address race
⚠ approve· conduit
SK
Tighten the codex-review contract
● working· skills
New session· not started
CO
What should happen in conduit?
Ask anything…
✱Opus 5
COconduit▼/Current checkout▼main▼⌘P project
Fast path
+ then type: 1 tap, and the keyboard is already up.
Other project
Chip, pick, type: 3 taps. The prompt you'd started is kept.
Worktrees later
Already shaped for it: this is t3code's toolbar.
Build cost
Medium. Conduit has no "draft" session today, so it needs a client-only draft that becomes real on first send.
Use it if most new sessions go to the project you're already in. The project choice is the easiest thing to miss here: you can type a whole prompt with the wrong chip showing. Gotcha: a draft has to survive tab switches and reloads, or a half-typed prompt vanishes.

3 · Palette with preview

desktop-first

A ⌘N command palette: type to pick a project, and a right-hand pane previews it. You see the path, the branch, whether there are uncommitted changes, and what you were last doing there, before you commit. ⇥ moves to "where it starts". Built for the keyboard. On a phone it becomes a full-screen search, which is design 1 with the sheet stretched.

Desktop · ⌘Npreview answers "is this the right place?"
Sessions
All projects ▼
CO
Fix legacy address race
SK
Tighten the codex-review contract
Fix legacy address race
New session insk
SK
skills
main
SP
spm
main
RT
rome2rio-terraform-infra
missing
Open a folder…
⌘O
↵ start⇥ where it starts⌘↵ start and keep typingesc
Fast path
⌘N ↵. Matches design 1 on the keyboard.
Other project
Two letters, ↵. Best of all six with many projects.
Worktrees later
The preview pane has room for existing worktrees.
Build cost
Medium-high. The preview needs live git status for each project.
Use it if you mostly start sessions at a desk. It pairs well with 1 or 2 as the keyboard route. On its own it's the weakest on a phone, and that's where conduit is designed first.

4 · Sentence

quietest

Design 2 with the chrome taken away. Above an empty composer, one line of plain text: New session in conduit on main. Each underlined word is a picker. It reads like a fill-in-the-blanks sentence, uses no chip styling, and grows naturally later: …on a new worktree from main.

Phone · restingreads like a sentence
9:41●●● ▮
New session
New session in COconduit on main
Ask anything…
✱Opus 5
Phone · project word tappedlater: worktree grammar
9:41●●● ▮
New session
New session in COconduit on main
Ask anything…
Later: New session in conduit on a new worktree from main
Fast path
1 tap, same as design 2.
Other project
3 taps. The words are smaller targets than chips.
Worktrees later
The sentence grows with each new option.
Build cost
Medium, the same draft machinery as design 2.
Use it if you like design 2 but the chip row feels busy above a composer that already has chips. Risk: underlined words are less obviously tappable than chips, especially on a phone.

5 · Launchpad

uses the empty pane

On desktop the main pane is often empty or stale when you go to start something. Here + turns it into a grid of project cards. Each card shows its branch, uncommitted changes, and whether anything there needs you. Pick a card and the composer opens inside it. Missing folders appear as dashed cards with a remove action.

Desktop · + presseda status board for "where should I work"
Sessions
All projects ▼Search
Needs you2
CO
Fix legacy address race
⚠ approve· conduit
SK
Tighten the codex-review contract
● working· skills
New session· pick where
Filter projects
CO
conduit~/src/personal/conduit
main⚠ 14 live
SK
skills~/src/personal/skills
main● 13 live
DO
dotfiles~/dotfiles
main1 live
RN
renowned~/src/personal/renowned
mainidle 3d
OP
opencodefolder missing
Remove
Open a folder…
Ask anything in conduit…
✱Opus 5main · current checkout ▼
Phone · same, stackedscrolls; composer follows
9:41●●● ▮
New session
CO
conduit~/src/personal/conduit
main⚠ 14 live
SK
skills~/src/personal/skills
main● 13 live
DO
dotfiles~/dotfiles
main1 live
Ask anything in conduit…
Fast path
+ then type: 1 tap if the selected card is right.
Other project
2 taps. Cards are big targets.
Worktrees later
Cards can list their worktrees as sub-rows.
Build cost
Medium-high: live counts and git status for every card.
Use it if you want "new session" to double as a project dashboard. It repeats what the sidebar already shows grouped by status, and on a phone it's just a taller version of design 1's list.

6 · Lanes

future-first

Plans for the worktree future from day one. After choosing the project, "where it starts" is drawn as a tiny branch diagram. main is the trunk, and each existing worktree is a lane off it with its live session. A dashed "new lane" shows where a new worktree would branch off. Today only the trunk has a dot, and the picture still shows exactly what's happening: you're working directly on main.

Phone · todayonly the trunk is live
9:41●●● ▮
Sessions
New session
COconduit▼›Where
mainhere
~/src/personal/conduit · 4 sessions live
New lane soon
its own worktree, branched from main

Sessions that share the trunk share files. Lanes are how they'll stop sharing.

Start on main
Phone · once worktrees shipthe same picture, filled in
9:41●●● ▮
Sessions
New session
COconduit▼›Where
mainhere
4 sessions live
fix/legacy-address
worktree · “Fix legacy address race” ⚠
feat/new-session
worktree · idle 2h
New lane from main
creates conduit-wt-… on a fresh branch
Start in a new worktree
Fast path
+, then Start: 2 taps, same as design 1.
Other project
Tap the project step: 4 taps.
Worktrees later
Built for them. This is the main reason to pick it.
Build cost
Today: low (one lane). Later: high (worktree discovery and git state).
Use it if parallel worktree sessions are the near-term direction. Today it's a lot of picture for a one-option choice. It could also be design 1's "Starts on" sheet once a second lane exists.

Compare

My pick: 1 on the phone and as the default, with 3's preview pane folded into the desktop popover. Then 6's lane picture as the "Starts on" sheet once worktrees exist. 2 is the strong alternative if typing first matters more to you than confirming the project first.

DesignDefault projectOther projectWrong-project riskWorktree-readyBuild
1 Launch sheet2 taps3 tapsLow, confirmed at StartParked rowsLow
2 Draft (t3code)1 tap3 tapsMedium, easy to type pastNativeMedium (drafts)
3 Palette⌘N ↵2 keys ↵Low, previewRoom in previewMed-high
4 Sentence1 tap3 tapsMediumGrammar growsMedium (drafts)
5 Launchpad1 tap2 tapsLowSub-rowsMed-high
6 Lanes2 taps4 tapsLowBuilt for itLow now, high later