All documentation

Threads

A thread is a conversation with a coding agent about your code. Start one, steer it while it works, and pick it up later.

Start a thread

Start a thread for each piece of work you hand to an agent. Every thread keeps its own agent, model, mode, and folder, so several can work at once.

  1. Click New thread at the right end of the row above the thread list, or press ⌘N. (On Windows and Linux, use Ctrl wherever this page shows ⌘.)
  2. The page asks What should we work on in and names a project. Click the project's name to pick another one, or choose Add project at the bottom of the list.
  3. Under the composer, a line says where the thread works, such as Works in the local checkout on main. Click it to choose Local checkout for the repository as it is now, Worktree for a branch and folder of its own, or Cloud for a sandbox on your cloud account. In the Workspace, Choose folder picks the folder instead. See Cloud threads.
  4. In the composer's bottom row, choose the agent and model, and the mode. For a Claude model, the Claude account to use is at the end of the line under the composer.
  5. Type your request and press Enter.

Along the bottom of the page, a dot for each day of the past year shows how many turns the project's agents finished that day: the more turns, the larger and darker the dot. The line above counts the project's turns and steps, each step being one tool call such as a file read or a command. Point at a day to see its turns, steps, threads, and how they split between agents.

After the first reply, a small model gives the thread a short title. To rename it, click the title in the thread's header.

Write a message

InputWhat it does
EnterSends the message.
Shift+EnterStarts a new line.
@Mentions a file from the project.
/Lists commands and your agent's skills. In a thread, /compact folds the conversation so far into a summary and /fork continues in a new thread.
+, paste, or dropAttaches files of up to 20 MB each. Images show as thumbnails.

The ring beside the model shows context usage when the agent reports it. Compact context uses native compaction for Codex, Claude Code, OpenCode, Oh My Pi, and Pi. For Cursor, Antigravity, and fx, it starts a fresh session with a short handover brief. Either can lose earlier detail; the brief preserves less than native compaction.

Send while the agent works

You don't have to wait for a turn to end. Type while the agent works and press Enter: Codex, Claude Code, OpenCode, Oh My Pi, Pi, Antigravity, and fx read text messages during the current turn, so you can correct course without stopping them. The placeholder reads Say it during this turn…

Cursor queues messages for the next turn. fx also queues images. A message waits after you switch the agent or change the mode, and while the conversation compacts. To hold a message for the next turn on purpose, click Queue instead of sending.

Queued messages wait above the composer under Queued and go out one at a time, each as a new turn. Each has Send now, which hands it to the running turn when the agent can take it, and × to remove it. The queue survives a restart: OpenOrc sends what's left when it opens again.

Stop a turn

While the agent works and the composer is empty, the send button becomes a stop button (Stop this turn). Once you type, the send button comes back with a separate stop button beside it. Stopping ends the turn and denies any approval the agent was waiting for. The agent keeps its session, so your next message continues the conversation.

Stopping doesn't clear the queue. When the turn ends, the next queued message is sent, so remove queued messages first if you want the agent to stay idle.

Fork a thread

A fork is a new thread that continues the conversation while the original stays as it is. Use it to try another approach without losing the first.

Forking is available for Codex, Claude Code, OpenCode, Oh My Pi, and Pi. Cursor, Antigravity, and fx do not expose native conversation forks; start a new thread instead.

To fork, choose Fork in the Thread actions menu (⋯) in the thread's header, type /fork, or hover your latest message and click Fork thread.

The fork opens with the original title followed by "(fork)", and the same agent, model, and mode. It shares its parent's folder and branch, so both threads edit the same files.

A fork always takes the whole conversation. Its agent continues the original's session, which holds every turn, so there is no forking from an earlier message.

Open threads side by side

You can show up to three threads at once, each in its own pane.

  • To add a pane, ⌘-click a thread in the sidebar, drag it onto the open thread, or choose Open beside in its menu.
  • Click inside a pane to focus it. Clicking a thread in the sidebar replaces the focused pane.
  • Drag the divider between two panes to resize them, and double-click it to reset.
  • To close a pane, click its Close pane button (×). ⌘\ closes every pane except the focused one.

The panes share one side panel, which shows the thread whose controls opened it last. To give a thread a window of its own, choose Open in new window in its menu.

The sidebar lists the threads of every project in one list, newest work first. The OpenOrc wordmark sits at the top, beside Back and Forward, which step through the screens you've visited (⌘[ and ⌘]), and the button that hides the sidebar. Under it, Search opens the command palette, and the filter and New thread buttons sit at the end of the same row. A rail of buttons runs beside the list: New thread, Tasks, Pull requests, Schedules, and Orclings, then your projects, then the Inbox. At its foot are how much of this week's allowance is left on the account your next message would use (click it for every account's limits), the update button, and Settings.

Each row shows a thread's title, its project, and where in the project it works: the branch, worktree, cloud, or the number and state of its pull request. While the agent works, the title lights up. A mark on the row tells you the thread needs you, has failed, or has a result you haven't read. Hover a row for its branch, agent, and when it last changed. While there's something to report, an extra line appears under the title:

  • While the agent works, the step it's on, such as Running pnpm test or Thinking.
  • While it waits for you, Needs approval with the command, or Has a question for you.
  • After a turn you haven't read, what it came to, such as Done · 2 files changed · tests passed.

Threads that an agent started, and the subagents an agent runs, sit under their parent thread. Click the chevron on the parent's row to fold or open them. See Threads working together.

How the list is grouped

The list groups threads by when they last saw work. A thread with threads under it goes by the latest work anywhere among them.

GroupHolds
PinnedPinned threads, always first.
RecentThreads with work in the last three hours.
TodayThreads with work earlier today.
YesterdayThreads last worked on yesterday. This group starts folded.
SnoozedSnoozed threads, until they wake.
ResolvedThreads you resolved, and threads with no work since before yesterday. It sits at the bottom of the sidebar.

Click a group's heading to fold or open it. A folded group still shows the thread you have open and the threads that need you.

Resolve a thread

Resolve a thread when you're done with it. Choose Resolve in its menu, press ⌘⇧A, or drag it onto Resolved at the bottom of the sidebar. A thread that has seen no work since before yesterday moves there by itself, unless it's pinned or snoozed.

Click Resolved to open it. The number beside it counts the threads it holds. To bring a thread back, choose Reopen in its menu, press ⌘⇧A, or drag it out of Resolved onto the list. Sending a message to a resolved thread also reopens it. A reopened thread moves to Recent.

Filter the list

The filter button at the end of the row above the list has these choices:

ChoiceWhat it does
All threadsLists every thread.
Pinned threadsLists only pinned threads.
Import terminal sessions…Continues sessions you started in a terminal. See Import terminal sessions.

To find a thread that isn't in view, or anything that was said in one, click Search or press ⌘K.

Projects

You switch projects from the New thread page. Click the project's name in What should we work on in to see every project. There you can pick a project, change its icon, or choose Add project. To take a project off the list, right-click it and choose Remove project…. Its files, worktrees, and history are kept.

Thread actions

Right-click a thread, or open Thread actions (⋯) in its header. A right-click starts with New subthread and the ways to open the thread. Then comes where the thread works: its branch, marked Worktree or Checkout, then This Mac or Cloud when cloud threads are set up. Point at either one for the moves from there. The header's menu starts with where the thread works and leaves out the choices that only apply to a thread you aren't looking at.

ActionWhat it does
The branchShow in Finder opens the thread's folder, Copy branch name copies the branch, and Move to a worktree or Move to the checkout moves a project thread and its uncommitted changes, and Remove worktree frees a worktree's folder and keeps its branch. A thread in the checkout shows the branch the checkout is on now. See Git and worktrees.
This Mac or CloudMove to cloud moves the thread, between turns, to a sandbox of its own, or to your cloud brain if you set one up. A thread on the cloud brain has Bring to Mac and Open on Mac instead. See Cloud threads.
Open besideSidebar only. Opens the thread in another pane. See Open threads side by side.
Open in new windowGives the thread a window of its own.
Open parentSidebar only. For a thread that sits under another, opens the parent. In the header, click the parent's name.
PinKeeps the thread in Pinned at the top of the list. ⌘⇧P
SnoozeMoves the thread to a folded Snoozed group until the time you pick, such as In 1 hour, Tomorrow morning, or Next week. A finished turn wakes it early, and so does Wake now.
Mark as unreadSidebar only. Flags the thread for later. Opening it marks it read again. ⌘⇧U
New subthreadStarts a thread under this one, in the same folder, with the same model and mode until you change them.
ForkContinues the conversation in a new thread. See Fork a thread.
ResolveMoves the thread to Resolved, or back with Reopen. ⌘⇧A
DeleteRemoves the conversation, and its worktree if it has one. Uncommitted work in the worktree is first committed to the thread's branch, which stays. Tasks the thread created stay too. A cloud thread's sandbox is deleted.

⌘1 to ⌘9 open the first nine threads in the list, and ⌘⇧[ and ⌘⇧] move to the previous or next one.

Import terminal sessions

You can continue a Claude Code or Codex session that you started in a terminal.

  1. Click the filter button above the thread list and choose Import terminal sessions…
  2. If you have more than one project, choose the one the session ran in.
  3. Check the sessions you want, or click Select all, then click Import.

Each session becomes a thread that continues where the terminal left off. Sessions you already imported are marked imported.

OpenOrc looks for sessions in ~/.claude and ~/.codex only. Sessions kept elsewhere through CLAUDE_CONFIG_DIR or CODEX_HOME don't appear.

Next steps

Checked against OpenOrc's source on November 9, 2026.