Confused by projects & chats in v0

I either don’t understand the difference between projects and chats, or the UI of V0 is confusing my understanding.

I’m building one app about a music discovery and another unrelated one in the fashion space. It makes sense that I should have a different project for each of these different apps.

I thought I understood that I could have multiple chats within one project so that I could have different contexts and history about different features within one project or app (such as a chat for front-end customer user experience and a chat for admin workflow).

However, I can’t seem to do anything other than have one enormous long-running chat per project. If I try to start a new chat within the same project, it seems to have no understanding whatsoever of the basic parameters of the project and is not connected to my GitHub repo.

Worse still, there doesn’t seem to be any way whatsoever of connecting it to my GitHub repo because all of the UI in the preview and everything else disappears, and there are no controls to select the GitHub repo. I tried to chat my way through it, asking the chatbot to set up a connection to my GitHub and dive back into my project, but it’s not capable of doing it.

Therefore, there doesn’t seem to be any way of having multiple chats in one project about the same app.

Am I completely misunderstanding here? Is my understanding wrong, or is my understanding right, but the UI is confusing?

Ideally, I had hoped that I could also use different chats within one project to work on different features of the same app at the same time, with each feature connected to a different GitHub branch, for example.

Currently, however, I’m nowhere near that, and in fact, I seem to be grinding to a halt because my one enormous chat for my app is running so very slowly, and the preview window can take 30 seconds or more to populate, or sometimes not populate at all.

Help!

This sounds like a bug, and your expectations here are pretty well aligned to how v0 is supposed to work

  • If your chat is not connected to Github, then all new chats or duplicate chats go into new projects
  • If your chat IS connected to Github, then new chats will pop up a modal asking if you want to continue in the same project or start a new one

The Project owns the Github integration and the Vercel integration, as well as all of your environment variables. Each new chat is bound to a different git branch, so you should have as many chats as you have git branches. When you create a new branch or sync to a new one from the Git integration UI, it should create a new chat for you

Some details of this have changed over time in v0, especially since there was no git support at all when projects were first introduced, but it’s been thematically stable

all of the UI in the preview and everything else disappears, and there are no controls to select the GitHub repo

Can you share a screenshot of this?

Testing it now, the first place I go is settings on the sidebar and connect a repo

I can see the git integration in the top bar too

If I change active branch to a new one demo-feature and create the branch

Then I land on a new chat in the same project connected to the new branch

If I click the subtitle System architecture builder -> (which is the project name) it takes me to the Project page where I can see all my related chats

Can you share in what ways your experience is different here, and then we’ll be on the same page and I can loop in the v0 team for bug fixes?

4 Likes

Thanks for your reply. To step through your points.

When I am in my Project screen, I have no controls for adding a github connection at the project level. There is no github icon and no settings link.

If I start chatting in that open box at the top (there to start a new chat), then no matter what I write in there, all of the UI disappears and I just get a full screen chat.

There is no left sidebar through which to find settings. There is no GitHub icon in the top right-hand corner, and no pop-up appears for me to connect GitHub or see any other settings. There is no preview of my app, as though I am inside the same project, it seems to have no concept at all of what my app is.

The only thing that does work from your description is that when I am in my one functioning chat, and I do see a preview and therefore also see the GitHub icon in the top right, I can use that modal to create a new branch. That will then give me a new chat specific to that branch without affecting the previous chat which is on main for example. That’s good and helpful, but that doesn’t cover me for all use cases.

Sometimes, for example, I might want to switch to an existing branch that was created by my back-end developer, (although that is actually Claude Code.) If I switch to the existing branch using the dropdown, it stays in the same chat, rather than creating a new chat for the new branch.

Additionally, when I create a new branch, as you suggested in creating the new chat from that, that chat gives me a whole bunch of annoying pop-ups about installing Supabase, even though I already have a long-running, mature instance that it’s connected to, and then it nags me about running a whole bunch of scripts that I don’t want and shouldn’t need to run.

It’s a separate topic perhaps, but I found it very difficult and extremely annoying to be able to work around the Supabase integration aspect. I’m constantly bombarded with prompts to connect and configure Supabase, but when I click on those, they just try to get me to create a new Supabase account. It doesn’t give me the option of using my existing Supabase account and connecting to my existing instance. This is quite maddening.

The github settings and menu Jacob is speaking about is in the actual chat/design view, not the Project space.

I can explain how I go about this as maybe its an alternative method that would help out too.
So what I do is the following:

  1. Create project with initial chat that will be base for the project. This will also be my “main / prod” chat
  2. I connect that chat to Github right away and it becomes my main repo (and thus connected to the “main / prod” chat).
  3. Do some work in there as normal and make sure it is syncing to github.
  4. I publish and its live and all good to go. Yay!
  5. When I am ready to start a new feature that may need some exploration before it goes to main prod / live, this is what I do….
  6. I duplicate the chat and give it a new name (ex. feature/cool new thing). The chat is duplicated and is still within the same project but it starting from a “new” point but with all the previous history ingrained with it.
  7. I make a new github branch with the same name as the new chat (feature/cool new thing).
  8. do the feature exploration work etc.
  9. I can push this to a staging env to have people test if I want
  10. When I feel this is good to go and ready to move to main, I then go into github, do pull request, and merge to main.
  11. I then go back into my orignial chat “main/prod” and pull in the merge from github. All the new things I did in that feature branch chat are now in my main original chat.
  12. Publish live. All new things are now live.

And then I may continue some small updates in the main branch, but anytiem I will do something new and/heavy, I will just continue to create branches (chats and github branches) and follow the same steps.

*also one other thing I do (and this is for my own organization), is when I have merged a branch I add to that branch chat name {merged} at the end of it so I just know by looking. Just easier for me to keep track of personally.
Here is a screenshot of one of my projects following the above method

I think this is pretty much what Jacob explained as well, but I think I maybe take some extra (possibly unneeded?) steps. I actually want to try his method to see if it makes how I am doing it more efficient.

Hope this is some what helpful and makes sense, but please keep coming back with any more items we can help you with on this.

Regarding this….
What I do, is if it is a new chat I will say to the agent I dont need any database connection and to keep it local until I need to add one.
Or, if its a duplicate and I have a db conencted already (like youre saying), I again just tell the agent that I have a db already connected and no need to add one.

try that out and let us know if this helps.

Thanks, yes I know that, but the problem is I only have the GitHub controls when I’m in a chat that has the full UI including the preview. The problem that I was trying to explain is that when I start a new chat within a project, it does not have any of these controls. It doesn’t have the bar on the left, the control bar at the top of the GitHub control, or the preview either. There’s nothing there, no context.

1 Like

Ah ok. So you are in the Project view (where it shows all associated chats) but are starting a new chat in there which is not a duplicate of one of your previous ones. Do I understand that correctly now?

Yes, that is correct. If you view my second screenshot from my previous reply to Jacob , you can see that when I start a new chat (even in the same project), it has no context, no UI, no preview, or anything. If I ask the chat to create a GitHub connection or inherit project variables or anything else I can think of, it just says it can’t do it.