feat: start a new session in another repository without relaunching
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:
- Default a new session's target to the highlighted session's repo (cwd fallback), and add a directory picker to the existing
Noverlay so you can pick another repo or type a path. (Branch search re-scopes to the chosen repo.) - Group the session list by repository — this also addresses #238.
- Auto-track recently-used project directories as a picker source.
- Optional "change target" affordance on the quick
nflow. - (Later, discussable on its own) allow launching
csoutside 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.
Source: smtg-ai/claude-squad