Prompt capture
ExitWorktree tool description
27 model strings share this prompt, byte for byte.
1Exit a worktree session created by EnterWorktree and return the session to the original working directory.
3## Scope
5This tool ONLY operates on worktrees created by EnterWorktree in this session. It will NOT touch:
6- Worktrees you created manually with `git worktree add`
7- Worktrees from a previous session (even if created by EnterWorktree then)
8- The directory you're in if EnterWorktree was never called
10If called outside an EnterWorktree session, the tool is a **no-op**: it reports that no worktree session is active and takes no action. Filesystem state is unchanged.
12## When to Use
14- The user explicitly asks to "exit the worktree", "leave the worktree", "go back", or otherwise end the worktree session
15- Do NOT call this proactively โ only when the user asks
17## Parameters
19- `action` (required): `"keep"` or `"remove"`
20 - `"keep"` โ leave the worktree directory and branch intact on disk. Use this if the user wants to come back to the work later, or if there are changes to preserve.
21 - `"remove"` โ delete the worktree directory and its branch. Use this for a clean exit when the work is done or abandoned.
22- `discard_changes` (optional, default false): only meaningful with `action: "remove"`. If the worktree has uncommitted files or commits not on the original branch, the tool will REFUSE to remove it unless this is set to `true`. If the tool returns an error listing changes, confirm with the user before re-invoking with `discard_changes: true`.
24## Behavior
26- Restores the session's working directory to where it was before EnterWorktree
27- Clears CWD-dependent caches (system prompt sections, memory files, plans directory) so the session state reflects the original directory
28- If a tmux session was attached to the worktree: killed on `remove`, left running on `keep` (its name is returned so the user can reattach)
29- Once exited, EnterWorktree can be called again to create a fresh worktree