Sweep 22 Sep 2026 · 15:52Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
Writing the changelog v2.1.280 merge candidates · 1/5
Tool description

ExitWorktree, as sent

SDK-CLI Agent SDK, print mode, v2.1.269. One model string produces this prompt.

As described in the system reminder: claude md request, not the ordinary one.

Lines301,923 characters
Moved+0−0 against v2.1.268
Reach1model strings receive this description
Copies1distinct descriptions under this name
Parameters21 of them required Tools in captureall of themevery description on this arm
Plain text · sha256 63e763304c95

The description, line by line

30 lines Line numbers are v2.1.268 on the left and this capture on the right.
1 1 Exit a worktree session created by EnterWorktree and return the session to the original working directory.
2 2
3 3 ## Scope
4 4
5 5 This tool ONLY operates on worktrees created by EnterWorktree in this session. It will NOT touch:
6 6 - Worktrees you created manually with `git worktree add`
7 7 - Worktrees from a previous session (even if created by EnterWorktree then)
8 8 - The directory you're in if EnterWorktree was never called
9 9
10 10 If 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.
11 11
12 12 ## When to Use
13 13
14 14 - The user explicitly asks to "exit the worktree", "leave the worktree", "go back", or otherwise end the worktree session
15 15 - Do NOT call this proactively — only when the user asks
16 16
17 17 ## Parameters
18 18
19 19 - `action` (required): `"keep"` or `"remove"`
20 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 21 - `"remove"` — delete the worktree directory and its branch. Use this for a clean exit when the work is done or abandoned.
22 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`.
23 23
24 24 ## Behavior
25 25
26 26 - Restores the session's working directory to where it was before EnterWorktree
27 27 - Clears CWD-dependent caches (system prompt sections, memory files, plans directory) so the session state reflects the original directory
28 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 29 - Once exited, EnterWorktree can be called again to create a fresh worktree
30 30

What it accepts

2 parameters The JSON parameter schema sent beside this description, 557 characters of it. Name, type, then whether the client marked it required.
action keep | remove required "keep" leaves the worktree and branch on disk; "remove" deletes both.
discard_changes boolean optional Required true when action is "remove" and the worktree has uncommitted files or unmerged commits. The tool will refuse and list them otherwise.

sha256 426b4289b647 · the schema as the client sent it:

{ "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "action": { "description": "\"keep\" leaves the worktree and branch on disk; \"remove\" deletes both.", "enum": [ "keep", "remove" ], "type": "string" }, "discard_changes": { "description": "Required true when action is \"remove\" and the worktree has uncommitted files or unmerged commits. The tool will refuse and list them otherwise.", "type": "boolean" } }, "required": [ "action" ], "type": "object" }