← Package directory
Available on winget

Install ShellCheck

ShellCheck, a static analysis tool for shell scripts

Install with winget
winget install --id koalaman.shellcheck
Upgrade
winget upgrade --id koalaman.shellcheck
Uninstall
winget uninstall --id koalaman.shellcheck

About ShellCheck

ShellCheck is a GPLv3 tool that gives warnings and suggestions for bash/sh shell scripts

What's new in 0.11.0

This release is dedicated to Satisfactory, even though my giant 3D ball of rat's nest conveyor belt spaghetti is anything but. CHANGELOG v0.11.0 - 2025-08-03 Added - SC2327/SC2328: Warn about capturing the output of redirected commands. - SC2329: Warn when (non-escaping) functions are never invoked. - SC2330: Warn about unsupported glob matches with [[ .. ]] in BusyBox. - SC2331: Suggest using standard -e instead of unary -a in tests. - SC2332: Warn about [ ! -o opt ] being unconditionally true in Bash. - SC3062: Warn about bashism [ -o opt ]. - Optional avoid-negated-conditions: suggest replacing [ ! a -eq b ] with [ a -ne b ], and similar for -ge/-lt/=/!=/etc (SC2335). - Precompiled binaries for Linux riscv64 (linux.riscv64) Changed - SC2002 about Useless Use Of Cat is now disabled by default. It can be re-enabled with --enable=useless-use-of-cat or equivalent directive. - SC2236/SC2237 about replacing [ ! -n .. ] with [ -z ] and vice versa is now optional under avoid-negated-conditions. - SC2015 about A && B || C no longer triggers when B is a test command. - SC3012: Do not warn about \< and \> in test/[] as specified in POSIX.1-2024 - Diff output now uses / as path separator on Windows Fixed - SC2218 about function use-before-define is now more accurate. - SC2317 about unreachable commands is now less spammy for nested ones. - SC2292, optional suggestion for [[ ]], now triggers for Busybox. - Updates for Bash 5.3, including ${| cmd; } and source -p Removed - SC3013: removed since the operators -ot/-nt/-ef are specified in POSIX.1-2024

Read release notes

Version history

Version Updated Notes
0.11.0 Unknown This release is dedicated to Satisfactory, even though my giant 3D ball of rat's nest conveyor belt spaghetti is anything but. CHANGELOG v0.11.0 - 2025-08-03 Added - SC2327/SC2328: Warn about capturing the output of redi...
0.10.0 Unknown This release is dedicated to LLMs, for finally fulfilling the promise of 1960s scifi: systems you can hack using logic games and creative lies.
0.9.0 Unknown Release notes