FlowStorm
What it is
FlowStorm is a free tracing debugger for Clojure and ClojureScript. It records execution without requiring breakpoints or code changes, then provides code stepping, value inspection, call-stack and function exploration, and exception debugging. A timeline displays execution events to make thread interleaving visible. Users can build real-time visualizations, add specialized tools through plugins, send displayed values to the REPL, and analyze recordings with Clojure. The guide covers ClojureScript running in browsers, Node.js, and React Native, along with remote debugging setups and integrations for Emacs through Cider Storm, VS Code, and IntelliJ IDEA. FlowStorm is available for Linux, macOS, Windows, and self-hosting. The listed minimum requirements are JDK 17 or later and Clojure 1.10.0 or later. One ClojureScript limitation is that vanilla FlowStorm does not support async/await introduced in ClojureScript 1.12.145; the guide points to ClojureScriptStorm as an alternative for that support. The maker attributes the user guide to Juan Monetta.
For and against
For
- Records execution without breakpoints or code changes
- Includes stepping, inspection, and exception debugging
- Timeline shows interleaving between threads
- Recordings can be analyzed with Clojure
- Free and open source
Against
- Requires JDK 17 or later
- Requires Clojure 1.10.0 or later
- Vanilla version lacks support for specified async/await
The verdict
FlowStorm provides a tracing-based workflow with inspection, visualization, and remote debugging options. ClojureScript users relying on the specified async/await feature should note the vanilla version's limitation.
Who it suits
FlowStorm suits developers working with Clojure or ClojureScript who want to inspect recorded execution and thread behavior. It may also suit users debugging browser, Node.js, or React Native targets, provided their requirements match its documented limitations.
Plans and prices
Free and open source
Free as in speech · no money involved · use it however you like
Read 3 Oct 2026 · flow-storm.org
On the record
- ClojureScript limitation
- Vanilla FlowStorm does not currently support async/await introduced in ClojureScript 1.12.145; the guide points to ClojureScriptStorm as an alternative with support.flow-storm.github.io · read 3 Oct 2026
- Integrations
- The guide describes an Emacs front end called Cider Storm and setup instructions for VS Code and IntelliJ IDEA.flow-storm.github.io · read 3 Oct 2026
- Interactive programming
- Values shown in the UI can be sent to the REPL with one click, and recordings can be analyzed using Clojure.flow-storm.org · read 3 Oct 2026
- Languages and runtimes
- The guide documents Clojure and ClojureScript, including ClojureScript in browsers, Node.js, and React Native.flow-storm.github.io · read 3 Oct 2026
- Maker attribution
- The user guide is attributed to Juan Monetta.flow-storm.github.io · read 3 Oct 2026
- Plugins
- A plugin system lets users add specialized tools to visualize and interact with recordings.flow-storm.org · read 3 Oct 2026
- Recording
- It can record and debug code without adding breakpoints or modifying the code.flow-storm.org · read 3 Oct 2026
- Remote debugging
- The guide documents remote debugging, including SSH tunnel, out-of-process, Docker, and React Native setups.flow-storm.github.io · read 3 Oct 2026
- Requirements
- The guide lists JDK 17 or later and Clojure 1.10.0 or later as minimum requirements.flow-storm.github.io · read 3 Oct 2026
- Stepping and inspection
- Its tools include code stepping, value inspection, call stack and function exploration, and exception debugging.flow-storm.github.io · read 3 Oct 2026
- Threads
- A timeline renders execution events to help users understand how thread instructions interleave.flow-storm.org · read 3 Oct 2026
- Visualizations
- It supports customizable and real-time data visualizations.flow-storm.org · read 3 Oct 2026
- What it does
- FlowStorm is a tracing debugger for Clojure and ClojureScript.flow-storm.github.io · read 3 Oct 2026