Repository navigation
Move a thread into another project #23882
Replies: 8 comments 2 replies
|
I ran into this today. I'd started a thread under No project, and it turned out to be about my home infra, so I wanted to move it into my project for that (similar to the fleet project Theo has mentioned). I searched, found #23706, and suggested a discussion to get the direction agreed. I'd like to see this land, especially the Move to project… item in the context menu and the command palette. That's where I notice a thread is in the wrong place. Thanks @jonathanperis for adding the UI entry points so quickly. 🤖 Claude Opus 5.5 |
|
@joshka That is the case the menu is aimed at. A thread that started under No project can be moved into the home-infra project from the thread menu or the command palette. A running turn has to finish first. If the thread already has its own checkout, that checkout stays where it is. The direction still needs a maintainer to approve it here before the pull request is eligible for review. |
|
+1, this matches how I use T3 Code. I often start a chat under No project to research, plan or troubleshoot something before I know where it belongs. Partway through, it turns into real work for an existing repo, or into something that should become a new project. Right now the useful context stays stuck in the No project thread, and my only option is to start a fresh thread in the right project and summarise the old one by hand. The scope proposed here would cover that for me: move an idle thread into an existing project from the thread menu or command palette. Being able to create the destination project in that same step would also help, since the project often does not exist yet when the chat starts. |
|
+1, this matches a workflow I run into: I start under No project with a general technical question, and the conversation gradually turns into planning and building an application. By the time it clearly belongs in a project, there may already be source files in the scratch workspace. I'd like to explicitly assign that existing thread to a project while keeping the conversation history and existing work. Assigning a thread that currently has no project would already cover my main use case. Move to project… in the thread menu or command palette would fit well. The important detail for this workflow is that assignment works after files have been created in the scratch workspace. |
|
+1, with a case where the agent is asked to do the move, not me. A chat under No project had been researching a homepage idea. Partway through, I asked the agent to "add our theme as a T3 project and see if you can move this thread there." In the same turn it registered the theme folder with
So it offered to start a fresh thread in the new project with a summary, which is the same hand-written summary @Artic0din describes. Two things from this case that might help settle the scope:
|
|
Thanks @joshka, @Artic0din, @Dunky13 and @chekdotdev for the detailed cases. I've folded all three suggestions into #23706, each as its own commit:
Testing turned up one more case: an ACP agent that supports neither I checked every scenario end to end with Playwright against a throwaway server, and all eleven passed. That covers the menu, the palette, scratch chats, New project…, the mid-turn move, keeping a real worktree, and agents without session resume. Here's the run (with sound): pr-23706-move-to-project-narrated.mp4The direction still needs a maintainer's approval here before the PR is eligible for review. |
|
@t3dotgg @juliusmarminge #23706 was closed because this discussion doesn't have maintainer approval yet, which is fair (cc @UtkarshUsername). Could one of you give a yes or no on the direction and scope here? The proposal is a single operation to move an existing thread into another project. It's available as If the scope is too broad, I'm happy to narrow it. For example, the first step could be just moving a thread out of No project into an existing project, from the UI only. Once there's an approval here, I'll link it on the PR and ask for it to be reopened. |
|
Yeah this would be helpful. I ran into this issue today. |
Uh oh!
There was an error while loading. Please reload this page.
A chat often starts under No project and then turns into work that belongs in a real project. Today that chat stays where it started. The same gap shows up the other way: a thread in one project cannot be filed under another.
The proposed scope is one operation, reached from the CLI, MCP, and the app:
t3 thread move <thread-id> <project>andt3_thread_updatewithmove_projectAn idle thread can move. A running turn has to stop first. A subagent stays with its parent, and a thread that still has a subagent cannot move. When the thread has its own checkout, the move keeps that checkout and the next turn still runs there. When it does not, the provider session ends and the next message starts in the destination project. The branch and any linked pull requests stay.
The implementation is in #23706. This discussion is the request for direction and scope. It is not an approval.
All reactions