QixFix
Quick fixes and software inventory for IT technicians — Windows, macOS, Linux.
Features
- One binary, three OSes: the same quick-fix toolbox and software inventory on Windows, macOS, and Linux
- Guided quick fixes: DNS flush, network reset, print service restart, cache clear, font cache rebuild — each adapted to the right command for the current OS
- Safety first: every fix shows its exact command before it runs, and anything that could interrupt a session asks for confirmation
- Software snapshot: installed packages from the registry, Homebrew, APT, RPM, Pacman, Flatpak, and Snap, exportable to CSV/JSON or copied as a ticket-ready summary
- Local fix history: a record of what's already been run on this machine — no telemetry, nothing leaves the box
Quick Start
Install via Homebrew — recommended:
brew install BhusanInTheShell/qixfix/qixfix
Or via script (macOS/Linux):
curl -fsSL https://raw.githubusercontent.com/BhusanInTheShell/qixfix/main/install.sh | bash
On Windows, download qixfix-win-x64.zip from the latest release and unzip it — qixfix.exe is a self-contained, portable binary. A winget install qixfix submission is prepared but not yet published; see packaging/winget.
Run:
qixfix # Interactive menu
qixfix fix # Interactive quick-fix checklist
qixfix fix dns-flush # Run one fix directly
qixfix fix --list # List available fixes
qixfix snapshot # Scan and browse installed software
qixfix snapshot export csv # Export the snapshot to a file
qixfix snapshot copy # Copy a ticket-ready summary to the clipboard
qixfix history # Show the local fix-run history
qixfix --help # Show help
qixfix --version # Show installed version
Tips
- Safety: every fix shows its exact command before you confirm it. Caution-risk fixes ask "Continue?" before running.
- Elevation: fixes that need admin/root rights trigger your OS's own prompt (UAC on Windows, the macOS admin dialog,
pkexec on Linux) — QixFix never asks for your password itself.
- Scripting:
qixfix fix --yes skips the confirmation prompt, so fixes can be scripted or run from another tool.
- Navigation: interactive menus support arrow keys; use
to toggle a fix and to run.
Features in Detail
Quick Fixes
$ qixfix fix --list
╭─────────────────────┬───────────────────────────┬─────────┬──────────┬─────────────────────────────╮
│ Id │ Title │ Risk │ Elevated │ Description │
├─────────────────────┼───────────────────────────┼─────────┼──────────┼─────────────────────────────┤
│ dns-flush │ Flush DNS Cache │ Safe │ yes │ Clears the local DNS │
│ │ │ │ │ resolver cache. │
│ network-reset │ Reset Wi-Fi Adapter │ Caution │ yes │ Power-cycles the Wi-Fi │
│ │ │ │ │ adapter. │
│ print-service-restart│ Restart Print System │ Caution │ yes │ Restarts the print service. │
│ clear-temp-files │ Clear User Cache Files │ Safe │ no │ Frees up space, clears │
│ │ │ │ │ stale app caches. │
│ font-cache-rebuild │ Rebuild Font Cache │ Caution │ yes │ Fixes garbled or missing │
│ │ │ │ │ fonts in apps. │
╰─────────────────────┴───────────────────────────┴─────────┴──────────┴─────────────────────────────╯
$ qixfix fix
Select fixes to run
☐ Flush DNS Cache (Safe)
▶ ☑ Clear User Cache Files (Safe)
☐ Reset Wi-Fi Adapter (Caution, admin)
✓ Clear User Cache Files Removed 110 item(s) from ~/Library/Caches.
====================================================================
1 fix(es) completed
====================================================================
Software Snapshot
$ qixfix snapshot
Scanning installed software...
✓ Applications 312 found
✓ Homebrew 132 found
✓ Homebrew Cask 23 found
====================================================================
467 package(s) total
====================================================================
Search (blank = show all, 'q' to go back): chrome
╭────────────────┬──────────┬───────────┬───────────────╮
│ Name │ Version │ Publisher │ Source │
├────────────────┼──────────┼───────────┼───────────────┤
│ Google Chrome │ 126.0.0 │ │ Homebrew Cask │
╰────────────────┴──────────┴───────────┴───────────────╯
Fix History
$ qixfix history
╭──────────────────┬─────────────────────────┬────────┬───────────────────────────────╮
│ When │ Fix │ Result │ Message │
├──────────────────┼─────────────────────────┼────────┼───────────────────────────────┤
│ 2026-08-13 15:32 │ Flush DNS Cache │ ✓ │ DNS cache flushed. │
│ 2026-08-13 15:32 │ Clear User Cache Files │ ✓ │ Removed 110 item(s) from... │
╰──────────────────┴─────────────────────────┴────────┴───────────────────────────────╯
Development
git clone https://github.com/BhusanInTheShell/qixfix.git
cd qixfix
dotnet build QixFix.slnx
dotnet test tests/QixFix.Core.Tests/QixFix.Core.Tests.csproj
dotnet run --project src/QixFix.Cli/QixFix.Cli.csproj
The solution is layered so the terminal UI can be swapped without touching the fix/inventory logic:
src/QixFix.Core — platform-agnostic models and interfaces
src/QixFix.Core.Windows — Windows fixes and software inventory
src/QixFix.Core.MacOS — macOS fixes and software inventory
src/QixFix.Core.Linux — Linux fixes and software inventory
src/QixFix.Cli — the terminal front-end (Spectre.Console)
tests/QixFix.Core.Tests — xUnit tests for command construction and output parsing
License
MIT License — feel free to enjoy and participate in open source.