I built a service whose primary client is a CLI program. I was thinking about building that client for Windows as well (not just WSL). My target users are generally technically-proficient so I’d rather not build a whole GUI app if it’s unnecessary. But I honestly have no idea how often Windows users use CLI tools beyond some Windows admin stuff.
So if Windows is your daily driver, how often do you leverage the shell and how unusual would it be to use CLI tools in your workflows?
Keyboard is a central part of my workflows and input, but CLI only narrowly.
I regularly fire up Nushell, and occasionally use specific or dedicated tools (git, edit, …), but generally, no, relatively to other usage, I wouldn’t say I leverage CLI tools much, although that’s subjective and relative. I wouldn’t call it unusual either, though. Relatively common, actually.
I certainly have no problem firing up a shell and using Shell, CLI, or TUI, and if a tool or util is good or important enough, I will do so and use them when I need or want to use them for (specific) things or work.
Git, vcpkg, cmake, winget, lazygit, powershell commands (don’t know enough but never take enough time to learn more in depth, web searches for what I need at the time)
A lot , powershell scripts, PSRun, msys2, emacs mostly. Powershell is actually pretty easy to learn to build your own stuff.
Hold up. You run emacs in powershell?
How often do I, personally, open the shell to enter my own commands? Almost never. If it’s something I would need to repeat, I’d make a BAT file for it and have it run at startup.
How often do I run programs that are entirely in the command line? Fairly often depending on what I am doing. Plenty of apps I run are command-line only. Especially any kind of conversion or encoding tool.
You certainly can but it really takes a special kind of user to be comfortable with it. Powershell is pretty alright, it’s powerful despite being pretty gnarly and awkward. It’s certainly not my preference, and I think most end-users would (and do) find it terrifying. Not that bash doesn’t have warts too. Powershell is a bit of an ugly duckling. It’s not nice to look at but I’m always a bit surprised at how comprehensive Powershell really is.
In my experience though, at least at my workplace, most serious command-line users go directly to Mac or Linux, or run WSL or Git-bash on Windows. Not many people except hardcore Microsoft sysadmins really prefer Powershell and I doubt many people at all prefer Cmd.exe, ugh.
As a programmer who’s work setup is on Windows I use command line every day.
Could you give me some examples of tools you use? Ideally things that are built to be cross-platform (I suppose git would be a good example). I’d like to see what others are doing. I’m especially curious how CLI options are treated on cross-platform CLI tools, since
/ois more common than-oon Windows.I use git all the time at work from CLI. Windows Terminal is something I would highly recommend if you’re going to heavily use CLI on Windows. Set up profiles for CMD, PowerShell, and if you have it, git bash. I don’t use WSL (don’t use Linux at work and use actual Linux at home) but git bash provides Windows equivalents of commonly used Linux/Unix commands.
Git, npm, dotnet CLI, Claude CLI.
npm has a Windows client? neat!
I think many if not most are using WSL, so the interfaces are generally the same.
I use windows for 2 things gaming and development (although the latter is being shifted to linux). For gaming I don’t use the terminal and for development I use it fairly frequently depending on what I’m doing.
As a programmer, I use it all the time. But I’ve seen IT students saying they are “scared of the console”. And many devs seem to be scared of git and just merge everything somewhere somehow without ever looking at a git graph. Of got target audience is programmers, CLIs should be fine. If not, then it depends on more details. Can you tell more about the service/application?
I built a service for people to create simple Web sites using Markdown and CSS (jot.run) and the primary interface is currently a CLI client. So the target audience will be comfortable with those simple formats at least. So maybe not only programmers, but probably only technically-oriented people.
Depends on the windows user. But I dunno why you wouldn’t offer it for Windows. You kind of have to go out of your way these days to make supporting Windows difficult, e.g. using OCaml or Perl or Bash or something.
Mostly I guess I’m wondering if porting the CLI client would be useful or if a GUI client would be required to get any traction on Windows.
Ah I see. That definitely depends on what it is and who your target audience is. I would say you can be quite technically proficient in Windows without being very familiar with the command line because a) the Windows command line sucks (even Powershell is kind of awful), and b) there are so many great GUI tools available, you almost never need to resort to the command line.
So yeah, just depends where you want to draw the line and what it is that you’re making.
I would like to but my IT locks it all down so I can’t do anything beyond CD and tree.
We have a custom cross platform CLI tool for managing our sovereign cloud which I use quite a bit. But I cheat as a daily windows user and have Debian installed in WSL.
The only windows specific things I run is route print when troubleshooting our remote access VPN, TNC ( test net connection, I can never remember where the hyphen goes), and our own tool.
Its kinda sad, due to the corporate spyware its faster to launch a WSL console then it is to launch powershell most of the time.
full stack programmer:
every day
-
Having software in C#, PLSql, Angular and different gut repos, I use ripgrep and fd for a good search
-
Angular I developing in nvim and with CLI commands
-
mostly lazygit, but although some git in the cli
-
winget gets used over alternatives where possible
-
I used to but have not used windows in awhile. I think most windows IT guys use it to some degree.
Excepting those forced to use Windows, if they were smart enough to use a CLI for much, they wouldn’t use Windows.
Edit: Fixed an error in the text.
If I’m on a windows box by order of preference wsl, cygwin, PowerShell, console. There’s no package manager so I use either chocolatey or the cygwin packages.
There is winget, which is built into newer Windows. You can install a decent amount of stuff using it. I have a setup script for setting up my OpenRGB development environment that uses winget to pull down MSVC build tools and libraries, 7-zip, and more.













