Guide contents

Repositories & Workspaces

Strand keeps as many repositories open as you like, restores them on every launch, and lets you group them into named workspaces — the set of repos behind one product. This page covers opening and cloning repos, switching between them, and managing workspaces.

Opening a repository#

There are several equivalent ways to open a repo:

While a repository opens, an indeterminate progress popup with elapsed time appears after a short delay, so large repos never look hung and small ones never flash a dialog.

Cloning a repository#

Clone from the + menu, the command palette, or the native File menu. The clone dialog takes a URL and a destination chosen with a native picker; the folder name is derived from the URL.

The dialog warns before URL entry that cloning can run hooks installed by your Git template or system configuration. Clone only repositories and URLs you trust.

Network operations shell out to your system git, so SSH keys, credential helpers, and proxies work exactly as they do on the command line.

Default clone & open folder#

In Settings → Git, Default clone & open folder sets where the clone dialog and the open-repository picker start. Use Choose… to set it and Clear to remove it.

Initializing a repository#

Choose Initialize repository… from the repository + menu or the command palette. The dialog accepts a local folder and initial branch plus optional .gitignore patterns and an optional first commit. The first commit contains only the new .gitignore, or is empty when no patterns are entered. Strand refuses to overwrite an existing .gitignore and opens the initialized repository as a tab when complete.

Rail or tabs#

Open repositories show in one of two layouts, chosen in Settings → Appearance → Open repositories:

Both layouts share the same behavior:

Tabs are deduplicated by canonical path — opening the same repo twice focuses the existing tab.

Switching between repositories#

Shortcut Action
Mod+Tab Next repository
Mod+Shift+Tab Previous repository
Mod+E Switch repository… (quick switcher)
Mod+K Command palette (includes repo and workspace actions)

Mod+E opens a fuzzy quick switcher over your open repositories (switches to the tab) and recent repositories that aren't open (opens them). It works even with no repository open, where it lists recents. Mod+K remains the full command palette; the switcher is the faster path when all you want is another repo.

All of these are rebindable in Settings → Keyboard; "Next repository" and "Previous repository" also exist as palette actions. Both tab cycling and the quick switcher are workspace-aware: with a workspace active, they move within its members.

Persistence#

Strand restores your session across launches: window size, position, and maximized state; open tabs and the active repository; pane sizes; per-repo diff layout; and workspaces all come back as you left them. A recents list is kept automatically and surfaces in the empty state, the + menu, the quick switcher, and the palette.

The active repository also stays fresh on its own: Strand refreshes on window focus and a file watcher live-refreshes the open tab while files change — useful when an AI agent is editing in the background. Mod+R forces a refresh.

Workspaces#

A workspace is a named set of repository paths — typically the repos that make up one product. Activating a workspace filters the rail or tab strip to its members and opens them; non-member repos stay open but hidden until you switch back. A repo can belong to multiple workspaces.

There is always a reserved Default workspace: the view shown when no named workspace is active, which collects repos that belong to no group.

Creating and switching#

The workspace switcher button lives in the rail or tab strip. Its dropdown lists Default plus every named workspace, and offers create, rename, delete, and "Manage workspaces".

Creating a workspace seeds it with the repositories currently visible — "save what I'm looking at as a group" — so the quickest flow is: open the repos you want together, then create the workspace.

Everything is also reachable from the command palette (Mod+K):

The manage dialog#

Manage workspaces opens a dialog listing all workspaces. From there you can:

Importing a VS Code workspace#

Import .code-workspace… (palette or manager dialog) creates a Strand workspace from a VS Code multi-root workspace file. The parser tolerates JSONC (comments and trailing commas), and relative folders[].path entries resolve against the file's location. Only local paths are supported; folders that aren't Git repositories are reported rather than silently dropped. The imported workspace is selected afterwards so you can curate it.

Workspace Review#

With a workspace active, Mod+7 opens Workspace Review — an aggregated review of changes across every member repo (and their open worktree tabs) in one queue. See Reviewing agent changes.

See also#