lazygit-style TUI for NuGet

Published: (February 21, 2026 at 12:22 PM EST)
3 min read
Source: Dev.to

Source: Dev.to

Cover image for lazygit‑style TUI for NuGet

If you’ve ever used lazygit, you know the feeling. Git stops being a chore and becomes almost enjoyable. You can see everything at once, navigate with the keyboard, and do in seconds what used to take several commands.

I wanted that for NuGet.

dotnet list package --outdated gives you a wall of text. Updating means running a separate command for each package. Checking for vulnerabilities is another command. Searching NuGet.org is yet another. And if you’re working across a solution with 10+ projects, you’re constantly context‑switching.

So I built LazyNuGet.

LazyNuGet dashboard

What it does

You point LazyNuGet at a folder and it scans for all .csproj files. Every project, every package, every version — all in one place. In the background it quietly checks NuGet.org for updates and vulnerability data. When it’s done, outdated packages light up yellow and vulnerable ones show a red badge.

From there you can:

  • Update a single package or everything at once (Ctrl+U)
  • Search NuGet.org without leaving the terminal (Ctrl+S) — browse results, read descriptions, pick a version, install to one or multiple projects
  • View the dependency tree for any project or package (Ctrl+D)
  • Migrate deprecated packages to their recommended replacements in one step
  • Browse version history, release notes, security advisories, and download stats in tabbed panels (F1–F5)
  • Track operation history and undo or retry recent changes (Ctrl+H)
  • Work with private feeds — authenticated NuGet sources with stored credentials

It’s fully usable with both keyboard and mouse.

Package details

Selecting a package gives you a tabbed view — overview, dependencies, version history, release notes, and security advisories. All fetched live from NuGet.org.

Search NuGet.org

The search modal lets you browse NuGet.org, read package descriptions, and install to one or multiple projects — without leaving the terminal.

Dependency tree

Getting started

If you have .NET 10 installed

dotnet tool install --global LazyNuGet
lazynuget

Or grab the self‑contained binary (no .NET required)

curl -fsSL https://raw.githubusercontent.com/nickprotop/lazynuget/main/install.sh | bash

Then run it:

lazynuget /path/to/your/solution
# or just cd there and run lazynuget

The stack

Built with .NET 10, Spectre.Console, and SharpConsoleUI — a TUI layout library I also wrote that handles responsive panels, window management, and mouse support in the terminal.

It’s early

If you try it, I’d genuinely love to hear what breaks or what’s missing. Issues and stars are both appreciated.

GitHub:

0 views
Back to Blog

Related posts

Read more »

Extension Methods in C#

!Cover image for Extension Methods in Chttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads...