A feature-rich PowerShell implementation of the popular Neofetch system information tool for Windows. This module displays system information with customizable ASCII art in your terminal, similar to the original Neofetch but designed specifically for Windows environments.
- Comprehensive system information display
- Customizable ASCII art support
- Multi-threaded data collection for improved performance
- Smart caching system to reduce load times
- Terminal profile detection for accurate font information
- Live system monitoring with real-time graphs
- Minimal view option for essential information only
- Configuration wizard for easy setup
- Structured output for scripting and automation
The easiest way to install pwsh-neofetch is from the PowerShell Gallery:
Install-Module -Name pwsh-neofetchTo update to the latest version:
Update-Module -Name pwsh-neofetchIf you cannot access PowerShell Gallery (corporate firewall, air-gapped systems) or want to test a development version:
# Clone the repository
git clone https://github.com/Sriram-PR/pwsh-neofetch.git
cd pwsh-neofetch
# Run the installer
.\direct-installer.ps1To uninstall:
.\direct-uninstaller.ps1If the neofetch command isn't recognized after installation, try these steps:
-
Restart your PowerShell session - The module may not be loaded in existing sessions.
-
Manually import the module:
Import-Module pwsh-neofetch
-
If using OneDrive folder sync - OneDrive's "Known Folder Move" feature can cause path issues on some systems. Run the module relocator:
# From the cloned repository .\module_relocator.ps1 -
Verify installation:
Get-Module -ListAvailable pwsh-neofetch
After installation, simply run:
neofetchOn first run, the configuration wizard will launch automatically to help you set up your preferences.
neofetch [options]Note:
neofetchis an alias forInvoke-Neofetch. Both commands work identically.
| Option | Description |
|---|---|
-init |
Run the configuration wizard |
-Force |
Force reconfiguration even if config files exist |
-asciiart <path> |
Path to a text file containing custom ASCII art (max 20KB) |
-defaultart |
Reset to default Windows ASCII art |
-changes |
Display information about current configuration |
-maxThreads <n> |
Limit maximum threads used (default: 4 or CPU core count) |
-defaultthreads |
Reset to default thread count |
-profileName <name> |
Set Windows Terminal profile name for font detection |
-defaultprofile |
Reset terminal profile to default |
-cacheExpiration <n> |
Set cache expiration period in seconds (default: 1800) |
-defaultcache |
Reset cache expiration to default |
-nocache |
Disable caching and force fresh data collection |
-minimal |
Display minimal view with essential system info only |
-live |
Display live CPU, RAM, GPU, and VRAM usage graphs |
-AsObject |
Return system info as PSObject for scripting/automation |
-reload |
Reset all configuration files and caches |
-WhatIf |
Preview what -reload or -init would do without making changes |
-help |
Display help message |
# Basic usage
neofetch
# Run configuration wizard
neofetch -init
# Display minimal information
neofetch -minimal
# Use custom ASCII art
neofetch -asciiart "C:\path\to\ascii\art.txt"
# Live system monitoring
neofetch -live
# View current configuration
neofetch -changes
# Force fresh data (bypass cache)
neofetch -nocache
# Get system info as object for scripting
neofetch -AsObject | ConvertTo-Json
# Select specific properties
neofetch -AsObject | Select-Object OS, CPU, Memory
# Preview reset without deleting files
neofetch -reload -WhatIfAll configuration is stored in your user profile directory ($env:USERPROFILE):
| File | Purpose |
|---|---|
.neofetch_ascii |
Custom ASCII art |
.neofetch_cache_expiration |
Cache expiration time in seconds |
.neofetch_threads |
Maximum thread count |
.neofetch_profile_name |
Windows Terminal profile name |
To reset all configuration to defaults:
neofetch -reloadYou can use your own ASCII art by creating a text file and pointing to it:
neofetch -asciiart "C:\path\to\ascii\art.txt"Limitations:
- Maximum file size: 20KB
- Path traversal (
..) will trigger a warning but is allowed
Example ASCII art file:
⣾⡻⡃⣿⣿⠸⢣⣾⢸⡸⣿⣿⢹⣿⣿⣿⠘⣿⣿⣿⢈⣿⢸⣿⣷⣭⣿⣿⡇⣿
⠃⣾⠃⣿⡏⢇⣮⣟⠸⡇⣿⣿⢸⠿⣿⣿⣤⢿⣿⣿⢸⢹⡆⡟⣸⣿⡟⣿⡇⣿
⢰⣿⠄⣿⡇⡜⠛⠛⠿⢤⢹⣿⣼⢀⣿⡏⠿⠄⣿⠟⣰⣦⢧⢱⣿⣿⠳⣿⠃⣿
⡜⣿⡆⣿⡇⣿⣿⣷⣶⣾⣦⣄⣧⣸⡸⢧⣿⡨⠩⠦⠿⠿⡼⢸⣿⡿⣄⢈⡆⢸
⠹⣿⡇⣿⡇⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣶⣶⣶⣶⣶⣶⡆⣿⣿⢇⡟⣼⡧⣫
⠄⢹⡇⣿⡇⣿⣿⣿⣿⣿⣿⣧⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⢘⣾⣿⢷⠋
⠄⠈⡇⣿⡇⣹⣿⣿⣿⣿⣿⣧⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢣⣿⡟⣾⣿⣿⠄⠄
⠄⠄⢠⣿⡇⣷⠘⢿⣿⣧⡲⣾⣭⣭⣿⣒⠊⣹⣿⣿⡿⠁⣸⣿⡇⣿⣿⡏⡇⠄
⠄⠄⠄⣿⡇⣿⠄⠄⠙⢿⣿⣷⣶⣶⣶⣾⣿⣿⠟⠋⠄⠄⣿⣿⢳⣿⣿⢹⡇⠄
⠄⠄⠄⠘⣿⢸⢰⣆⠄⠄⠙⠻⣿⡿⠟⠛⠉⠄⠄⠄⠄⠄⣿⡟⣼⣿⢏⣿⢧⣷
The -live flag displays real-time graphs for CPU, RAM, GPU, and VRAM usage:
neofetch -livePress q or ESC to exit the live view.
- Windows 10/11 or Windows Server 2016+
- PowerShell 5.1 or later (PowerShell 7+ recommended)
If you experience stale data:
neofetch -nocacheAdjust thread count for your system:
neofetch -maxThreads 2 # For less powerful systems
neofetch -maxThreads 8 # For more powerful systemsTo start fresh:
neofetch -reload- Multi-threaded system information collection
- Custom ASCII art support
- Caching system for improved performance
- Live system monitoring graphs
- Configuration wizard
- Structured output for scripting (
-AsObject) - Color theme customization
- User-configurable information display order
- Remote system information collection
- Gallery of pre-made ASCII art templates
- Plugin system for custom information modules
- Integration with hardware monitoring tools
- Localization support for multiple languages
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License.
- Inspired by the original Neofetch for Linux


