feat: start a new session in another repository without relaunching

Author: ZviBaratzCreated May 26, 2026Updated May 26, 2026

Problem

cs must be launched from inside a git repo, and every new session is created in that launch directory (n/N both use Path: "."). To start a session in a different project I have to quit cs, cd elsewhere, and relaunch. In an n-per-task workflow where I bounce between repos, that relaunch cost adds up.

Interestingly, the constraint is already one-sided: sessions from multiple repos coexist fine in the list today (instances are loaded unfiltered, and the list already appends (repo-name) when more than one repo is present). Only creation is pinned to the launch dir.

Proposal (deliberately small + incremental)

I'd like to unlock cross-repo creation in a series of small, focused PRs, rather than a large architectural change:

  1. Default a new session's target to the highlighted session's repo (cwd fallback), and add a directory picker to the existing N overlay so you can pick another repo or type a path. (Branch search re-scopes to the chosen repo.)
  2. Group the session list by repository — this also addresses #238.
  3. Auto-track recently-used project directories as a picker source.
  4. Optional "change target" affordance on the quick n flow.
  5. (Later, discussable on its own) allow launching cs outside a git repo.

This is intended to stay orthogonal to the workspace work in #290 — no changes to worktree placement, env scoping, or credentials; just where a new session's worktree is rooted and how the list is organized. It also revisits the direction in the (bulk-closed) #89.

Question

Before I open PRs: does this direction fit how you see cs evolving, and would you prefer step 1 as a single PR or split (default-target vs. the picker UI)? Happy to adjust scope.