Use a new thread for a separate task. Choose New worktree when its code changes need a separate branch and working directory.
On web and desktop, a new thread keeps the current project and carries your model
and mode selections, unless the destination project has its own model default.
Its branch and workspace mode come from your configured defaults. To continue in
an existing worktree, use New thread in this worktree from the branch toolbar.
An agent that creates a worktree during a thread can move the thread there with
the t3_worktree_handoff tool, so the branch toolbar and Open follow it.
When you change a new thread's project, T3 Code stays in the current environment if that project exists there. Otherwise it selects an environment that has it.
In a desktop browser or the desktop app, press Cmd+Enter on macOS or Ctrl+Enter
on Windows and Linux to start a new thread and immediately open another draft. The
next draft keeps the workspace mode and base branch you selected. With New
worktree, each background submission creates its own worktree.
To send the same prompt to several models on web or desktop, Shift-click models in a new thread's model picker to add or remove them. A regular click returns to a single model. Choose a base branch and send. Each selection starts a separate thread and worktree while you stay in the new thread composer. This requires a Git project.
Ask the agent to rename the current thread, for example to
CU-869y9uv0 change the button to green. A skill can set the name once it knows
the task ID and description. The name syncs across your connected clients, and
automatic title generation will not replace it. You can still rename it from
the thread menu or ask the agent to change it again.
Agents can also regenerate a title. Both actions default to the current thread
and can target another thread in the same project. Skills use t3_thread_update
and can supply a clientRequestId to retry an action without applying it twice
within the same agent session. A retry returns the original command receipt and
the thread's current saved metadata. Pull request links are managed with the
separate link_pull_request and unlink_pull_request tools.
Pin a thread from its menu to keep it above your active work.
On web and desktop, you can also drag files from your computer onto any thread row: the thread opens and the files are attached in its composer, ready for your next message. The same per-message file limits apply as when attaching files directly; see Attach files.
On web and desktop, pinning or unpinning a thread keeps the sidebar at your current scroll position instead of following the thread to its new place in the list.
Pinning prevents automatic settlement. A pinned thread stays active through inactivity and merged/closed pull requests until you unpin it or settle it manually. To let pinned threads settle like any other thread, turn on Auto-settle pinned threads in Settings → General. Settling a thread removes its pin.
On web and desktop, drag a thread between sections to change its state. Drag a thread up into the pinned section to pin it at the spot you drop it; drag a pinned thread down into the active list to unpin it. Dragging a thread onto the Settled header settles it, and dragging a settled thread into the active list un-settles it. A snoozed thread can be dragged out of the snoozed shelf, which wakes it, but threads cannot be dragged into the shelf because snoozing needs a wake time. Dragging a pinned thread out of the pinned section does not ask for unpin confirmation. Pinned and active boundary labels appear only while dragging, without moving the rows. The other rows slide aside to show where the thread will land. When you cross into another section, the dragged thread shows the action the drop performs, with its icon: Pin, Unpin, Settle, Un-settle, or Wake. Its status and hover actions hide during the drag. A pinned thread keeps its pin only while it stays in the pinned section; once it leaves, the badge takes over. Reordering within the same section shows no badge. When there are no pins, drag to the top edge to pin a thread. Section labels stay readable for the whole drag, and the section the thread is over takes the accent color. Section labels also identify empty sections and a collapsed settled shelf.
Drag within the pinned or active section to change its order. Other rows slide aside to show the spot where the thread will land. Drops into either section keep the position you choose. On mobile, open a thread's menu and choose Arrange threads. Drag a handle within or between Pinned and Active to reorder, pin, or unpin. Drop onto the Settled divider to settle a thread. The dragged card shows the action before you release it. Expand Snoozed or Settled to drag a parked thread back into either live section. Each drop saves; Done returns to the thread list. Move up and Move down are also available in the thread menu. The server saves the order, so it survives a refresh and appears on your other connected devices.
On web and desktop, the list also animates section changes made with thread actions such as Pin, Settle, and Snooze. These transitions respect your system's reduced-motion preference. While dragging, rows follow the insertion gap without replaying a second transition after the drop.
New threads appear above the active threads you have arranged. Settling clears a thread's active position, so using Un-settle returns it to the top. Pinning and snoozing preserve its active position until you move it again. Thread activity does not change the order. The settled shelf continues to use settlement time.
If dragging is unavailable for one environment, update the T3 Code server running in that environment. Pinned and active reordering require server support. Threads from older servers keep their default order until the server is updated.
Choose Settle thread from its menu to move finished work out of the active list without deleting the conversation. Un-settle thread restores it to active work and prevents automatic settlement until new activity resumes the usual rules. Manually settling an idle thread dismisses unanswered async questions without sending an answer or restarting the agent.
By default, environments settle inactive threads after three days and settle threads whose pull request merged. A closed pull request can also settle an idle thread. Work in progress, pending questions or approvals, live background work, and pinned threads prevent automatic settlement. An old closed or merged pull request does not settle work you resumed after it closed.
For inactivity settlement, choose All threads, Threads without a PR, or Off in Settings → General. Threads without a PR excludes threads with PRs linked manually (including older links), created through the app, linked by an agent, associated through a stack, or detected from the branch. Dismissed stack PRs do not count. Merge and close settlement still follows the PR rules.
To keep one thread out of the settled shelf no matter how long it sits idle, open its menu, choose Auto-settle behavior, and pick Disabled. The current option is checked. Pick Enabled to return to the usual rules. Manual settle, snooze, and archive still work while it is disabled.
On mobile, these rules are in Settings → Thread behavior. These rules continue to run when your apps are closed. On web and desktop, choose an environment at the top to change only its rules, or All environments to update connected environments together. Mixed values show where the selected environments disagree. Mobile applies these rules to connected environments that support shared settings. Offline environments and older servers keep their previous values. Changing a rule does not reopen already settled threads.
Open a completed thread to clear its Done indicator on every connected device. On web and desktop, open the thread's context menu and choose Mark unread to bring the indicator back. Mobile clears the indicator when you open a thread but does not mark threads unread.
Older servers keep read and unread changes on the current device. Update the server to sync them across devices. When you first update, existing threads count as read.
The server finds the PR for each unsettled thread's saved branch, even when your apps are closed. Settled threads keep their saved links. Update the server if automatic branch links do not appear.
On web and desktop, right-click a pull request link in a thread and choose Link to thread to select a different PR. Use Unlink from thread on the same link to return to the branch PR, if one exists. The linked pull request participates in automatic settlement.
On web and desktop, open the command palette with Cmd/Ctrl+K to search threads
across connected environments. Message search starts after two characters and
includes your messages and final agent responses.
Use Settings → Keybindings to find or customize shortcuts for searching files and copying a thread reference. A copied reference uses the thread's pull request link when available, otherwise its thread ID. See keybindings for custom configuration.
On web and desktop, use Agents to follow work delegated to subagents.
Expand a tool call in the conversation to see its full command and output. Summaries shorten shell wrappers and can still describe the latest call after it finishes; the call's own result shows its status.
Choose Snooze → Custom… from a thread's menu to pick a date and time in your local time zone, or a duration in minutes, hours, or days. Durations start when you confirm; one day means 24 hours. On web and desktop, you can also snooze several selected threads together. Choose Wake thread to bring a thread back early.