VCode home

A tab's working folder, and moving it

Agents: claude, codex, opencode · On: phone, desktop

Every tab is rooted in one directory, chosen when the tab is created. The folder button on a row in the Threads sheet moves the tab to another one — the repair for a tab pointed at a worktree that has since been merged and removed.

Why you would use it

The folder is where the agent runs, so when it disappears every turn in that tab fails on a path that is not there. Moving the tab fixes it without losing the transcript. It is also how you point an existing conversation at a fresh worktree.

How to use it

  1. Open the Threads sheet: tap the plus and then All threads in the card's header. /resume in the composer opens it too; the status bar's branch segment does not appear for a tab whose folder is gone, which is the tab this is usually for.
  2. On the row you want to move, tap the folder button (.wsmove, labelled "Move to another folder").
  3. The folder line turns into a picker listing the known repos plus wherever the tab currently points.

The row's folder line replaced by a drop-down holding the tab's current folder.

  1. Pick one. Tap away or press Escape to abandon the change.

The transcript after the move: a SYS line saying the working directory moved and where the agent starts next.

What you see

The tab's folder is shown in several places: on its rows in the drawer and the sheet with a ▸ in front, in the tab's tooltip in the strip, in the file explorer's header, and as the folder the resume list scans.

After a move the transcript gets a system line: working directory moved from <old> to <new> — <agent> starts there from the next turn. Anything queued behind a start that failed in the old folder is sent as soon as the move lands.

Refusals come back as error toasts: cwd must be an absolute path, <path> does not exist, <path> is not a directory, cwd is required, and — while a turn is running — stop the running turn before moving this tab.

Limits and known gaps