[FEATURE] Desktop app: option to cycle sessions in most-recently-used (MRU) order instead of sidebar position
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
In the desktop app, Ctrl+Tab (and Cmd+Shift+] / Cmd+Shift+[, "Next/Previous Session" in the Go menu) cycles sessions by their position in the sidebar list. It steps one row at a time, in list order.
That works fine with a handful of sessions, but the sidebar accumulates history. I have dozens of old sessions in there, and in practice I'm only bouncing between the two I'm actively working on — usually a session running a build/test and the one where I'm writing the code.
With positional cycling, those two are almost never adjacent in the list, so every switch means holding Ctrl+Tab and walking past a pile of sessions I have no intention of opening. The cost grows with how long I've been using the app, which is backwards — the more I use it, the worse the shortcut gets.
Proposed Solution
Add a setting to make session cycling use MRU (most-recently-used) order instead of sidebar order, the way macOS Cmd+Tab, VS Code's Ctrl+Tab, and most browsers' Ctrl+Tab behave:
- Press
Ctrl+Tabonce → jump straight back to the previously focused session. Press it again → return to the one you came from. Toggling between two sessions stays a single keypress in each direction, regardless of where they sit in the sidebar. - Hold
Ctrland pressTabrepeatedly → walk further back through recency order, committing onCtrlrelease.
Please make it opt-in (or at least toggleable), with the current positional behaviour as the default. Some people genuinely prefer positional cycling because it's predictable, and switching the default out from under them would be its own regression — see the Atom precedent below.
Something like a Cycle sessions in most-recently-used order checkbox in settings would be enough; no new keybinding needed, it just changes what the existing one does.
Alternative Solutions
Things I've tried or considered:
Cmd+Kcommand palette — works, and it's what I fall back to, but it's type-and-search. For a switch I make many times an hour, a single keypress and a search-and-select are not the same thing.Cmd+[/Cmd+](Back/Forward) — navigates history rather than list position, which is closer in spirit, but it's general navigation, not a session switcher.- Pinning / reordering the sidebar so the two sessions sit next to each other — related to #25974. This is manual bookkeeping I'd have to redo every time the pair I'm working on changes, which is several times a day.
- Jump-by-index (
Cmd+1..9) — requested in #61126. It solves the same "too much cycling" pain, but it requires remembering which index a session is at, and indices shift as sessions come and go. Recency needs no bookkeeping at all.
Priority
Medium - Would be very helpful
Feature Category
Configuration and settings
Use Case Example
- I'm working in session A on a Swift app, and session B is running a long build / test pass in another project.
- I hit
Ctrl+Tabto check on B, read the output, and hitCtrl+Tabagain to get back to A and keep editing. - I do this maybe 30–50 times over an afternoon.
Today step 2 and step 3 each mean holding the shortcut down and cycling through ~20 unrelated historical sessions, watching each one flash by, and usually overshooting. With MRU ordering both steps are one keypress and I never see the other sessions at all.
Additional Context
Related existing issues, none of which cover recency ordering:
- #45690 — the original request that led to session cycling shortcuts existing at all (now stale). It asked for a way to cycle by keyboard, which shipped; it didn't specify ordering.
- #61126 — jump directly to a session by index (
Cmd+1..9). Same underlying pain, different solution. - #25974 — sidebar pinning / reordering / sort-by-last-activity (closed). Adjacent, but it's about how the list is displayed, not the order the switcher traverses.
Prior art worth looking at: Atom shipped exactly this in v1.7 — ctrl-tab switching between most-recently-used tabs instead of the tab to the right. It was a heavily requested feature, but a vocal minority disliked it enough that it's a standard cautionary tale about changing this default. VS Code's current handling is a reasonable model: MRU is the default for Ctrl+Tab but there's a setting (workbench.editor.tabSwitcherMode-style toggle) and separate commands bound to positional next/previous for people who want it. Offering both, with the existing behaviour kept as the default here, should avoid that fight entirely.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗