clj-on-windows 2025-06-13

Does anybody have any advice for developing Clojure on Windows? I’m switching from Mac to Windows (not my choice). I prefer IntelliJ with Cursive and I assumed I would prefer wsl but so far that’s kind of a confusing experience using the IntelliJ Gateway. It seems to open 2 separate instances of IntelliJ and has plugins for host and client and so far I can’t get cursive active even though I’ve installed it on both (from disk). Am I better off using IntelliJ with wsl, VSCode with wsl or am I better off not using wsl, installing java on Windows and using IntelliJ on the Windows file system? Or something else? Most of the guides I’ve seen online for Clojure on Windows are really old. I’d really appreciate any recommendations.

You rang, sir? 🙂

I've never been able to get on with IntelliJ (and I've tried it repeatedly over the years)... My daily driver on Windows 11 is VS Code, with all my Clojure projects on WSL2. VS Code uses a small server on WSL and provides a really seamless experience. Clojure native on Windows is a bit of a subpar experience (IMO) because you run into weird quoting and path issues. Clojure on WSL2 -- I use Ubuntu -- is great because macOS/Linux are the (vast) majority O/S for Clojurians so everything "Just. Works.". VS Code then bridges the gap from Windows to the Linux side, so you get the "native" Windows experience for editing, but the Linux experience for running all your code etc. https://clojure.org/guides/install_clojure#_windows_instructions recommends WSL2 as the best approach for Windows, BTW.

Happy to answer any Qs you might have about that setup. My dot-clojure and vscode-calva-setup repos on GH have all my config too, if you're curious.

I also came from Mac -- I'd been a Mac user since '92 until I started switching over to Windows several years back.

ok great. that helps a lot. I'm not the biggest VsCode fan but it may be a better experience on Windows than IntelliJ. I would also be open to using emacs (that's what I used to use) but I suspect that would be a bit of a nightmare on Windows. Happy to see I'm at least on the right track with wsl.

@dwhite44 perhaps you can also ask in #cursive

@chaos also uses Windows (not WSL) so perhaps he has tips as well

great idea! I didn't realize a channel for cursive existed

WSL2 runs X11 GUI apps fairly well these days so using IntelliJ / Cursive native on the Linux side is also an option for you -- same with Emacs (or use the tty version 🙂 on Linux).

Hi @dwhite44, let me know if you have any general issue with developing on Clojure natively on win, I'm a big advocate of having first class support for Clojure on Windows, and would be happy to assist with any problems you might encounter.

yeah I was wondering about the wslg intellj option. Just assumed using the Windows version would be better

@chaos I may go that route. I have a coworker that just uses native windows and runs everything from Git Bash and it seems to work ok. Had just seen all the recommendations were to use wsl. Wsl may be an issue for me in general. I think security software is disabling a service needed. I keep having to uninstall and reinstall wsl

Corporate PC?

yes. Security is insane. Hard to get anything done on this laptop 🙂

Hmm, unless WSL2 is supported by your IT folks, you may well have problems then. Sorry 😞

I think I have firewall or network issue on wsl. lein deps is doing nothing

I've done some works on @borkdude's deps.clj command line tool to support working behind corporate proxies, so you should be good to go with command line tooling as well

Yeah I'm not sure if vpn will work right with wsl2. coworker had issue with that

We use Cisco AnyConnect VPN at work and that works fine with WSL2 for me -- but this isn't a corporate machine (well, it is a work-supplied machine but they don't implement dumb "security" policies so I can actually install whatever dev tools I need!).

My personal laptop is Windows/WSL2 as well, and Cisco VPN works there too.

our's is checkpoint vpn. i have seen others having issues with it and wsl2 but figured it was worth trying

There was a brief period recently where my VPN didn't work on WSL2 but that's cleared up now. I'm not sure whether it was a Windows update or a change in setup at our data center. Having to SSH into servers from the Windows side to do stuff was... annoying... and my local (Linux) tools for dealing with our servers were blocked while that was happening.

well I must say that setting it up to just run natively on Windows was dead easy. Everything working exactly like I'm used to on Mac so think I'll be going with that at least for now. Will investigate wsl2 more as I have time as I would like to at least understand what's happening. Appreciate everybody's help on this.

I have a Windows machine with Emacs and I was surprised even clojure-lsp worked out of the box

nice. I'll have to give that a try at some point