C Shell for Windows 1.0.8.4

A native Windows command shell with csh/tcsh-flavored syntax, 248+ builtins, real concurrency primitives, arbitrary-precision math, and built-in AI.

  • By Tropibyte, Inc.
  • PolyForm Small Business
  • Updated Aug 7, 2026
Download for Windows

About C Shell for Windows

cshw is a native Windows command shell with csh/tcsh-flavored syntax. Familiar Unix
shell ergonomics meet first-class Win32 access -- no WSL, no Cygwin, no compatibility
layer. 248+ builtin commands cover file ops, text processing (grep with PCRE2, sed,
awk, sort with -t/-k, head/tail with -f), real concurrency primitives (coroutines,
mutex, semaphore, barrier, channel), Win32 calls (rundllproc, winapi, dllimport),
and built-in AI (OpenAI, Anthropic, Azure, Ollama, LM Studio). Runs your existing
.bat, .cmd, and .ps1 scripts unchanged. The bc/dc commands offer arbitrary-precision
arithmetic with an opt-in exact-rational tier (bc -x) including complex numbers and
small exact matrices. As of 1.0.8.0, cshw ships a signed server family: the tsrvd
supervisor runs out-of-process protocol handlers -- native SMTP, POP3, and IMAP over
a shared Maildir, FTP, and a real HTTP/HTTPS/CGI server (http.dll) that speaks
HTTP/1.1 and HTTP/2 -- and the new quicsrv worker serves HTTP/3 over QUIC through the
same serving core. The fetch client gains native HTTP/2 (--http2) and HTTP/3
(--http3) modes that guarantee the protocol. Ships with a 22-chapter user guide.

What's new in 1.0.8.4

The theme of this release is silent success — the shell accepting something,
reporting 0, and doing something other than what was asked. An alias that did
nothing. An unterminated if that ran its body. A $dir/$file that came out as
$dir. A -n that was accepted and ignored, so a syntax check *ran* the script.
A --help that hung. Most of what follows is one of those.

245 built-in commands; 159 test suites.

⚠️ Behaviour change: == and != compare text

This is the one most likely to change what an existing script does, so it is
first.

In csh, == and != compare strings; <, >, <= and >= compare
numbers. That split is the whole of the language's type system. cshw
honoured the second half and not the first: it tried a numeric comparison
first whenever both operands looked like numbers. Measured against tcsh
6.24.13, every one of these disagreed:

tcsh cshw was cshw now
5 == 05 false true false
0 == 00 false true false
10 == 010 false true false
007 == 7 false true false
-5 == -05 false true false
1e2 == 100 false true false

It reads as a convenience — if ($day == "07") matching day 7 — right up to
the moment the same rule makes if ($ver == "1.0") and if ($ver == "1.00")
disagree about the same version, or decides two zero-padded ids are the same
id.

It is not theoretical. Turning it on found five assertions in cshw's own test
suite that were passing *because* of it: two expected 100^20 with one zero
too many, and both sides overflowed a 64-bit parse to the same value, so a
numeric == called a wrong answer right. Three more compared a byte count
against "0" and passed on an empty string, because empty counted as
numeric zero — a missing file read as a passing test.

If you want the numeric reading, say so. Three cast keywords, on either
operand, set the comparison for the whole expression:

if ( num $month == "01" ) # 1 == 1 true
if ( @ $month == "01" ) # same, spelled the way @ already means
if ( str $month == "01" ) # "1" vs "01" false -- the default, said aloud

@ is spelled that way because it is already cshw's arithmetic tier; the cast
is that same idea pulled into a condition. It compares as a float when either
side has a fraction or an exponent, so @ 5 == 5.0 is true and
@ 0.5 == 0.4 is not.
…

Full release notes »

Technical details

PublisherTropibyte, Inc.
Version1.0.8.4
Release date2026-08-07
LicensePolyForm Small Business 1.0.0
Installer typeinno
Architecturex64
Package IDTropibyte.cshw

Install C Shell for Windows from the command line

Install with Windows Package Manager
winget install --id=Tropibyte.cshw -e
Update to the latest version
winget upgrade --id=Tropibyte.cshw -e
Uninstall
winget uninstall --id=Tropibyte.cshw -e
Silent install with the offline installer
"cshw-setup-1.0.8.4.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-

shellcshtcshcommand-linecliterminalunixwin32scriptingdeveloper-tools

C Shell for Windows version history

  • 1.0.8.3
  • 1.0.8.1
  • 1.0.8.0
  • 1.0.7.1
  • 1.0.7.0

Frequently asked questions

Is C Shell for Windows free?

C Shell for Windows is polyform small business software from Tropibyte, Inc.. Check the publisher's license terms for pricing and usage rights.

What is the latest version of C Shell for Windows?

The latest version is 1.0.8.4, released on Aug 7, 2026.

Is it safe to download C Shell for Windows?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 0f1582cf9a787e06d572ba05353c0bb755812547f5f570f12ce5a70ce33010e3.

Which Windows versions does C Shell for Windows support?

C Shell for Windows runs on Windows and is available for 64-bit (x64) systems.

How do I install C Shell for Windows silently?

Run the offline installer with "cshw-setup-1.0.8.4.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-, or install it with Windows Package Manager: winget install --id=Tropibyte.cshw -e --silent.

How do I uninstall C Shell for Windows?

Open Settings › Apps › Installed apps, find C Shell for Windows and select Uninstall. From the command line, run winget uninstall --id=Tropibyte.cshw -e.