Hello there.
I'm not sure if this has been reported before, but I'm experiencing some issues with Cursive hard freezing the moment I start a REPL.
I'm using Intellij 2025.1 and Cursive 2025.2-251 and Windows 11.
This has happened to me a couple of times before, and it persisted even between Windows reinstallation, and seems to be affecting only Windows afaik.
Are you aware of this issue, and if so, are there any ways to fix this issue?
I am experiencing something similar... When I start the REPL it gets stuck in "Calculating classpath". My machine is an OpenSUSE Tumbleweed linux. In the IntelliJ log the most common exception I see when it happens is this one below:
2025-09-09 17:50:44,515 [ 470418] INFO - STDOUT - Do not use URL connection as JarURLConnection
2025-09-09 17:50:44,515 [ 470418] INFO - STDOUT - Do not use URL connection as JarURLConnection
2025-09-09 17:50:50,077 [ 475980] INFO - STDERR - Downloading: org/bouncycastle/bcprov-jdk18on/maven-metadata.xml from pipo-mvn
2025-09-09 17:50:50,077 [ 475980] INFO - STDERR - Downloading: org/bouncycastle/bcutil-jdk18on/maven-metadata.xml from pipo-mvn
2025-09-09 17:50:50,084 [ 475987] INFO - STDERR - Exception in thread "async-dispatch-8" clojure.lang.ExceptionInfo: Cannot find resource cognitect/aws/endpoints.edn. {}
2025-09-09 17:50:50,084 [ 475987] INFO - STDERR - at cognitect.aws.endpoint$read_endpoints_description.invokeStatic(endpoint.clj:18)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at cognitect.aws.endpoint$resolver.invokeStatic(endpoint.clj:21)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at cognitect.aws.endpoint$resolve_STAR_.invokeStatic(endpoint.clj:82)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at cognitect.aws.endpoint$resolve_STAR_.invoke(endpoint.clj:65)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.lang.AFn.applyToHelper(AFn.java:156)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.lang.AFn.applyTo(AFn.java:144)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.core$apply.invokeStatic(core.clj:667)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.core$memoize$fn__6971.doInvoke(core.clj:6424)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.lang.RestFn.invoke(RestFn.java:424)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at cognitect.aws.endpoint$default_endpoint_provider$reify__12021._fetch(endpoint.clj:94)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at cognitect.aws.endpoint$fetch.invokeStatic(endpoint.clj:102)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at cognitect.aws.client.impl$send_request$fn__12282$state_machine__8523__auto____12311$fn__12313.invoke(impl.clj:60)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at cognitect.aws.client.impl$send_request$fn__12282$state_machine__8523__auto____12311.invoke(impl.clj:60)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:58)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:60)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.core.async.impl.ioc_macros$take_BANG_$fn__3500.invoke(ioc_macros.clj:69)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.core.async.impl.channels$appm$fn__3316.invoke(channels.clj:36)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.lang.AFn.run(AFn.java:22)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.core.async.impl.concurrent$counted_thread_factory$reify__3241$fn__3242.invoke(concurrent.clj:29)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at clojure.lang.AFn.run(AFn.java:22)
2025-09-09 17:50:50,085 [ 475988] INFO - STDERR - at java.base/java.lang.Thread.run(Thread.java:1583)I've tried with both REPL configurations: "Run with deps" and also "Run with IntelliJ Classpath", and I see the same behavior on both (I like to always use the "run with deps" and provide an alias)
When you say it gets stuck, do you mean it freezes the UI?
It is like this for about 10 minutes now... and the REPL does not start....
I've already tried removing the .cpcache dir, invalidating caches, etc.... but nothing changed
It does not freeze the UI... I can continue editing the files. But no REPL
What that looks like is that there's a problem starting the REPL (which is that exception) and for some reason Cursive doesn't catch it.
If I start the REPL from the command line in a shell, using the clojure -A:my-alias it works as expected... but not in the IDE
Is this project an open one I could look at?
Unfortunately it is not an open sourced project... sad
Which version of Cognitect AWS are you on? Looks like this was fixed in 0.8.735: https://github.com/cognitect-labs/aws-api/issues/265. I'm not sure I'll be able to reproduce since it seems like the problem is sporadic, but upgrading might fix your problem, at least.
I do not use this lib, at least not directly, and it does not seem to be a lib that is transitively resolved in my classpath as well (does not show in clojure -X:deps tree )... that' s why I thought it might have something to do with the Cursive plugin
No, Cursive doesn't use AWS at all, it must be coming from the project somehow.
Just checking, this also happens when using Run with IntelliJ Classpath? With the same symptoms?
The UI symptoms are the same, but with Run with IntelliJ Classpath I do not see the exception in idea.log
So it still hangs at "Calculating classpath"?
Yes. But as you mentioned, sometimes it gets stuck, whilst others it simply works... so I keep restarting IntelliJ until it works. Could not identify a pattern.
> with Run with IntelliJ Classpath I do not see the exception in idea.log Ok, I was wondering about that, because I couldn't come up with any plausible way that that exception could be produced with that configuration. So perhaps the exception is a red herring, and is not actually the problem. Do any of your co-workers use Cursive? Do they see this problem?
I'm not, no. Are you seeing any auto-generated thread dumps? https://intellij-support.jetbrains.com/hc/en-us/articles/206544899-How-to-get-a-thread-dump-when-IDE-hangs-and-doesn-t-respond. If so, could you send them to me? Either here (by DM if you'd rather) or to <mailto:cursive@cursive-ide.com|cursive@cursive-ide.com>.
My co-workers are still using an older version of IntelliJ and Cursive, and do not see the problem. My build:
IntelliJ IDEA 2025.2.1 (Community Edition)
Build #IC-252.25557.131, built on August 27, 2025
Source revision: ee1e6cb62e111
Runtime version: 21.0.8+9-b1038.68 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.X11.XToolkit
Linux 6.16.3-1-default
openSUSE Tumbleweed; glibc: 2.42
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 6000M
Cores: 8
Registry:
ide.experimental.ui=true
llm.show.ai.promotion.window.on.start=false
terminal.new.ui=true
Non-Bundled Plugins:
org.jetbrains.completion.full.line (252.25557.131)
com.intellij.notebooks.core (252.25557.135)
com.github.deeepamin.gitlabciaid (1.13.1)
dev.meanmail.plugin.nginx-intellij-plugin (2025.19)
org.editorconfig.editorconfigjetbrains (252.25557.131)
com.intellij.properties (252.25557.135)
org.intellij.plugins.hcl )
org.toml.lang (252.25557.135)
name.kropp.intellij.makefile )
intellij.jupyter (252.25557.135)
Docker (252.25557.130)
PlantUML integration (7.13.0-IJ2023.2)
Subversion (252.25557.175)
org.jetbrains.security.package-checker (252.25557.135)
net.seesharpsoft.intellij.plugins.csv (4.1.0)
net.sf.opk.avro-schema-support (243.0.0)
org.jetbrains.idea.maven (252.25557.131)
com.cursiveclojure.cursive (2025.2.1-eap2-252)
com.github.copilot (1.5.56-243)
Kotlin: 252.25557.131-IJ
Current Desktop: KDE Any way to tell Cursive to start a REPL with the cljs option enabled?
Or alternatively, if there's a keyboard shortcut to switch between the two, that can work as well. I couldn't find one.
I think it used to be remembered once it was switched to cljs, but I'm not 100% sure.
It used to do this, but not anymore