# docs/adr/0005-task-worktrees.md · screen/aggregate-mail

[View on GitCafe](https://git.cafe/screen/aggregate-mail/blob/3fc4d30ec86fbc734552de25c1998bf9471858ac/docs/adr/0005-task-worktrees.md)

Repository: [screen/aggregate-mail](https://git.cafe/screen/aggregate-mail)

Visibility: public

Requested revision: 3fc4d30ec86fbc734552de25c1998bf9471858ac

Requested commit: 3fc4d30ec86fbc734552de25c1998bf9471858ac

Commit: 3fc4d30ec86fbc734552de25c1998bf9471858ac

Blob: 2a37b84d2d28133ac947e20c9556388ff997529d

Size: 714 bytes

[Immutable source](https://git.cafe/screen/aggregate-mail/blob/3fc4d30ec86fbc734552de25c1998bf9471858ac/docs/adr/0005-task-worktrees.md?format=markdown)

```
# 0005: Use a new worktree for each task

Status: accepted by the owner on 2026-10-09.

## Decision

Create a new Git worktree and feature branch for every new Aggregate Mail task. Switch the T3 Code thread binding to that checkout before task work. Continue the same task in its existing worktree after an interruption.

## Reason

The owner requires task work to stay off `main`. The T3 Code binding and terminal directory must identify the same checkout so tools and agents do not act on different files.

## Consequences

Preserve the main checkout and other worktrees. Deliver owned changes through the normal review and PR gates. A worktree switch grants no additional task, release or deployment authority.

```
