Skip to content

Dedicated repos view #3278

Description

@jesseduffield

Is your feature request related to a problem? Please describe.
Currently if you press enter in the status view (top left) you get a menu for selecting recent repos. All you can do in this menu is select a repo to switch to, but it would be cool if you could perform more actions.

Some actions you may want to perform:

  • switch to repo
  • pull/push/fetch
  • run a custom command (e.g. npm install)
  • run a pre-configured custom command

All of these actions (except switching) can support range select, allowing users to easily perform bulk actions (e.g. pull several branches at once).

Describe the solution you'd like
We need a dedicated repos view which shows the list of repos and lets you perform actions on them. This view will replace the existing popup.

The real question is: where should it live? Two candidates come to mind:

  • have the dedicated view work just like the recent repos menu currently does: appearing as a popup when you press enter in the status view
  • convert the status view into a repos view, that expands on focus to show the list of repos, just like how the stash view currently does

Pros of using a popup:

  • we can make it as large as we want so we don't need to deal with showing a compact and expanded variant (likewise, the user won't need to manually expand the view to see all the content)
  • the status view can remain dedicated to application-specific keybindings like checking for updates and editing the config file (as well as rendering useful links in the main view). It would also be weird if the user selected another repo from the list but then navigated away: do we show the selected item like we do with the stash view, or do we revert to showing the current repo's status? I'd pick the latter, but it would be inconsistent with other list views

Pros of using the status view:

  • it's more discoverable: there's no need to look up how to view recent repos because they'll be right there in the view when you focus it
  • we'll be able to render repo-specific content to the main view, as opposed to blocking the main view with a popup.
  • slightly less of a context switch compared to going from the side panel to a popup and back

We could also do a hybrid approach where you press enter on the status view to bring up the repos view, but the repos view appears in the side panel. That would be less discoverable than a dedicated repos side view, but would allow us to render repo-specific content in the main view. But do we even want to do that? What would we render?

At the moment I'm leaning towards using a popup.

What do people think?

Activity

  1. varaskkar commented on Jan 28, 2024

    @varaskkar

    allowing users to easily perform bulk actions

    I love this ♥ because I use in my job several repos and just do pull with all of them it saves time everyday

    As for how to implement it, I think I prefer the 2nd option, as a unique panel on the status section. I like the idea of see everything at first glance just having the scope in the panel

    About the hybrid approach I'm not sure, but it's true the right panel (the big one) could show the log when you run a command or the repositories path

    By the way, in addition to adding repos, I think it'd good to be able to remove the repos we no longer use

  2. kusan-reveur commented on Jan 29, 2024

    @kusan-reveur

    Would be nice to be able to open a repo never opened before without exiting lazygit (maybe it's already possible?)

  3. microservice-tech-nicolas commented on Oct 7, 2024

    @microservice-tech-nicolas

    I'm also interested in a feature like this. I wanted to point out 'gita', it has a nice way of handling multiple repositories, group them, etc. Take a look: gita

    Additional feature I would love:
    I would love to see a config where my git repos are structured in folders/workspaces. It would be so nice, if I had a dotfile to configure my "dev" directory structure, with all repo's consistent across multiple machine. To be able to use Lazygit and initialize these would be a dream. Especially if it supports submodules and worktrees.

  4. EweSparky commented on Mar 11, 2025

    @EweSparky

    It'd be great if I ran Lazygit on my ~/git folder and could see something like the following in a popup/status view:


    Repo Branch(es) Status Remote(s)
    1 lazygit master 1 commit behind jesseduffield/lazygit
    > fix1 up to date
    2 lazydocker > master up to date jesseduffield/lazydocker
    new-feature 3 commits ahead abc123/lazydocker
    • select to show all branches / deselect to show current

    press 1, 2, .. 0 to jump to repo number
    > current branch


    then I can quickly see the status of everything under the current directory.

  5. GeneralSwiss commented on Jul 23, 2025

    @GeneralSwiss

    Does this include being able to do something like working on a multi-repo project? I find myself wishing I could create branches across repos, checkout branches across repos, etc.

    For example, I might be planning to implement a new feature (A) which requires modifications to two separate Git Repos. In this instance I would like to create a feature branch in both places and after working across both repos, I would have some working tree, and I would want to stage all the changes and create 1 commit that gets replicated across two repos (each repo's commit would represent changes to that repos files).

    To see this in action, JetBrains' IntelliJ IDEA does this.

  6. phoenix-rising823 commented on Apr 8, 2026

    @phoenix-rising823

    I just came across this project and it's really helpful (I'm not so much a dev but use git for my IaC files, cloud-init cloud config templates, docker compose/kubernetes deployment manifests, and some code 😅 ) ! However my situation is I have a directory where I have my repos separated by private repos, public repos, etc. Within those directories are the actual repos. It'd be cool if there was a means of me adding those repos from lazygit and being able to navigate between them (the ability to perform bulk actions would be a huge bonus!). I guess this would mean that you would need to be able to launch lazygit without being in a git repo as well.

    My current setup has my terminal split in 3 sections with lazygit in a dedicated section, vim in the larger of the 3 sections, and a smaller section under my vim to navigate between repos or test anything I've changed before committing.

    • convert the status view into a repos view, that expands on focus to show the list of repos, just like how the stash view currently does

    I, myself, would prefer this over a pop-up, though I can see the use case for either.

  7. Cryplo commented on Aug 4, 2026

    @Cryplo

    Hey Jesse. I started using lazygit recently and have really been liking it. Thank you so much for your work!

    Is it possible to add (I'd be more than happy to implement this and submit a PR myself!) a feature to launch lazygit in the cli with n number of arguments that are paths to git repos? Sometimes I like to operate in a large local folder with multiple subfolders that are git repos. It would be great if I could launch a single lazygit instance with a menu to navigate between all of the git repos specified in the arguments.

  8. mark2185 commented on Aug 5, 2026

    @mark2185
    Collaborator

    I'd be more than happy to implement this and submit a PR myself!

    Please read the CONTRIBUTING.md.

    a single lazygit instance with a menu to navigate between all of the git repos specified in the arguments.

    You can switch through previously used repositories by going to the Config panel (1) and pressing Enter, so you only need to open lazygit once in a repo you wish to add to that list which is what was described in the initial post, this sounds like what you're proposing?

  9. Cryplo commented on Aug 5, 2026

    @Cryplo

    Hi Mark. I'm proposing only needing to launch lazygit a single time to have multiple repos in the UI. I know there's a recently used repos menu but it can be tedious entering each repo and opening lazygit one-by-one. Something like lazygit ./repo1 ./repo2 ./subfolder/repo3 would be a lot more convenient. Thanks!

  10. janosmiko commented on Oct 7, 2026

    @janosmiko

    Hi guys,

    Here's a solution I came up with:
    #6097

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions