https://github.com/babashka/sci: Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
SCI is used in https://github.com/babashka/babashka,
https://github.com/babashka/nbb,
https://github.com/nextjournal/clerk,
https://github.com/BetterThanTomorrow/joyride/ and many
https://github.com/babashka/sci#projects-using-sci projects.
0.13.53 (2026-06-20)
• Security fix (sandbox escape): a string type-hint (e.g. ^"some.Class" x) bypassed the :classes allowlist. resolve-type-hint called Class/forName directly, loading and static-initializing any class on the classpath at analysis time, even when it was not in :classes. This affects you only if you use SCI to evaluate untrusted code and rely on :classes to sandbox it — upgrade to 0.13.53. Trusted-input usage (e.g. ordinary babashka scripts) is unaffected.
• sci.interrupt now provides :interrupt-fn aware re-matches/re-find/re-seq (JVM only)
• Fix https://github.com/babashka/sci/issues/1044: add sci.interrupt/interrupt! to throw an interrupt that sandboxed try/`catch` cannot catch. See https://github.com/babashka/sci/blob/master/doc/interrupt.md.