Guide contents

Customize the Workbench

Workbench (Mod+1) is Strand's primary workspace. With no saved configuration it is exactly the familiar full-size Work surface: file and terminal tabs, internal Work splits, and no outer layout controls.

Use Mod+8, View → Customize Workbench…, or Customize Workbench… in Quick Launch (Mod+K) to arrange more Strand features around Work. Existing layouts from the former experimental Custom view migrate automatically.

Build a layout#

Customization starts from the current Workbench. Choose surfaces, split the active pane right or down, drag or keyboard-resize dividers, or apply a template. Divider rules stay visually thin but expose a wider highlighted mouse target when hovered, so every split can be resized without pixel-perfect aim. The available built-in surfaces are:

Open a pane's surface selector to change its contents. A stateful Strand surface can appear only once; choosing one that is already open moves it by swapping the two panes. This prevents duplicate focus loops, listeners, or background work.

The Changes explorer is Local Changes reduced to its Unstaged and Staged trees. Clicking a file there opens its whole-file Changes tab in Work. With both All Commits and Review in the layout, “Review changes since this” on a commit routes to the Workbench Review pane.

Choose Done to hide surface selectors and other layout-editing controls. The configured surfaces remain live, and dividers remain resizable. Use Reset to default to remove the workspace's saved composition and return to the direct full-size Work surface.

Templates#

The Templates menu provides four starting points:

Applying a template replaces the current outer layout. Work's own file and terminal tabs—and its internal editor splits—are independent and stay intact.

Saving and repository behavior#

Assignments, splits, closes, templates, and divider proportions auto-save per Strand workspace. Switching between Default and named workspaces restores each workspace's independent layout. Panes follow the active repository; Workspace Review is the cross-repository surface.

Saved layouts use namespaced surface and instance identities. If a referenced surface is unavailable, Workbench keeps the rest of the layout and shows a stable placeholder instead of resetting the workspace.

Files uses the same live repository tree as the sidebar. When a Workbench pane owns Files, the repository sidebar hides its Files tab instead of mounting a second tree. Work also remains one live renderer when its outer pane moves or resizes, so open editors, terminal processes, output, scrollback, and selection survive.

Keyboard access#

Workbench currently supports built-in Strand surfaces, installed plugin surfaces from Settings → Plugins (including the Heroi dogfood plugin, which provides chats scoped to the active repository and runs Claude, Codex, or Cursor Agent in the background, and Quick Notes, which saves a separate scratchpad for each repository in Strand's app data), and a 32-pane defensive limit. Heroi does not duplicate Files, git changes, or diffs; add those as separate Workbench panes. Declarative plugins render from validated manifests; third-party JavaScript does not run inside the privileged webview. See docs/plugin-creation.md for authoring.

Heroi reuses the authenticated CLIs already installed on your machine. Sign in with claude, codex, or cursor-agent before starting a chat. Custom Claude and Codex executable paths come from Settings → AI; Cursor Agent must be on PATH.

Heroi saves conversation progress automatically, grouping updates while an answer streams and saving completed, stopped, or failed turns immediately.

Heroi's Threads rail lists only conversations for the active repository. The header shows the current agent, model, and branch; each assistant turn starts with one grouped Tool calls control, then the Markdown reply (headings, lists, fenced code, links), then any added/changed/deleted paths for that turn — click a path to open it in Work's Changes view. Expand the tool group (and a row) to inspect bounded command, argument, and output detail. Model and reasoning menus come from the selected provider — Claude's catalog, Codex's live model list, or Cursor Agent's available models — including that model's advertised reasoning levels. Threads run independently, so starting a new conversation does not stop or block an agent already working. Type @ to attach a repository path, type / to choose an installed or project skill, or drag one or more entries from a Files pane into the composer. A chosen skill is sent using the provider-native $skill-name prompt form. The composer glows while a Files-tree drag is over a valid target. Use Open review to activate a Review pane in the current Workbench layout, or to open Strand's Review view when the layout has none.