FREEDOM251

Freedom251 › Debuggers

FlowStorm

Free plan LinuxMacSelf-hostedWindows

Visit FlowStorm Alternatives Pricing

FlowStorm's own site

What FlowStorm is

FlowStorm is a tracing debugger for Clojure and ClojureScript. It records execution without requiring breakpoints or code edits, then offers code stepping, value inspection, call-stack and function exploration, and exception debugging. A timeline displays execution events so you can follow how instructions from different threads interleave. Customizable, real-time visualizations and plugins provide ways to examine and interact with recordings. You can send values from the interface to the REPL with one click and analyze recordings using Clojure. The guide covers ClojureScript in browsers, Node.js, and React Native, plus remote debugging setups and integrations including Cider Storm for Emacs, VS Code, and IntelliJ IDEA. FlowStorm is free and open source, with Linux, macOS, Windows, and self-hosted availability. Listed minimum requirements are JDK 17 or later and Clojure 1.10.0 or later. Vanilla FlowStorm does not support async/await introduced in ClojureScript 1.12.145; the guide points to ClojureScriptStorm as an alternative.

Who it suits

FlowStorm suits developers working with Clojure or ClojureScript who need to inspect recorded execution, debug exceptions, or examine thread interleaving. Its documented browser, Node.js, React Native, and remote debugging setups support a range of development environments.

What it does well

  • Records execution without breakpoints or code changes
  • Provides stepping, value inspection, and exception debugging
  • Timeline shows interleaving of thread instructions
  • Free and open source
  • Supports plugins and real-time visualizations

What to know first

  • Requires JDK 17 or later and Clojure 1.10.0 or later
  • Vanilla FlowStorm lacks support for the specified async/await feature

Limits

FlowStorm lists JDK 17 or later and Clojure 1.10.0 or later as minimum requirements. Vanilla FlowStorm does not support async/await introduced in ClojureScript 1.12.145.

Plans

PlanBilled and limitsPrice
Free and open sourceFree as in speech · no money involved · use it however you likeFree

As flow-storm.org lists them, read 3 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit https://www.flow-storm.org/.
  2. Check that your environment meets the listed minimum requirements: JDK 17 or later and Clojure 1.10.0 or later.
  3. Choose a setup for Clojure or ClojureScript, including the documented browser, Node.js or React Native options.
  4. For editor use, consult the guide's setup instructions for Cider Storm, VS Code or IntelliJ IDEA.
  5. Use the guide's remote debugging instructions if your setup uses an SSH tunnel, out-of-process debugging or Docker.

Overview

FlowStorm is a tracing debugger for Clojure and ClojureScript, built for developers who need to examine an execution record instead of relying only on manually placed pauses. It is a particularly good fit for interactive, concurrent Clojure work where thread behavior and runtime values matter. The zero-cost license is compelling, but teams must meet its runtime prerequisites and account for a significant ClojureScript async/await limitation.

Key features

FlowStorm records execution without requiring breakpoints or changes to application code. That makes it useful for investigating behavior that is awkward to stop at the right moment. After recording, code stepping, value inspection, call-stack and function exploration, and exception debugging let you move from a symptom to the relevant execution path. Conditional breakpoints and time-travel debugging add targeted control when a broad recording is too large or a previous state needs another look.

Its execution timeline lays out events from different threads, exposing how instructions interleave. This is more informative for concurrency questions than a single sequential call stack, although it is most useful when a team can interpret the resulting event history. Customizable, real-time visualizations and a plugin system support project-specific views and interactions with recordings. Those extension points are a strength for specialized tooling; they matter less when conventional stepping and inspection already answer the question.

The interface can send displayed values to the REPL with one click, and recordings can be analyzed with Clojure. That keeps investigation connected to experimentation rather than making inspection a dead end. The documented language coverage includes Clojure and ClojureScript in browsers, Node.js, and React Native. An Emacs front end, Cider Storm, plus setup guidance for VS Code and IntelliJ IDEA, gives editors a practical place in the workflow.

Remote debugging is documented for SSH tunnels, out-of-process setups, Docker, and React Native. These options make FlowStorm more suitable for services or devices that are not running beside the developer, though each deployment still requires its corresponding setup. Minimum requirements are JDK 17 or later and Clojure 1.10.0 or later. Vanilla FlowStorm does not support async/await introduced in ClojureScript 1.12.145; projects that depend on that feature should consider ClojureScriptStorm instead.

Pricing

PlanPriceIncludes
Free and open sourcefreeFree as in speech; no money involved; use it however you like

There are no paid tiers, seat charges, quotas, renewal terms, or trial period to weigh. The free plan is therefore suitable for individual developers, teams, and self-hosted deployments that can use Clojure or ClojureScript and satisfy the runtime requirements. Its trade-off is not a reduced feature tier but the product’s language scope and the ClojureScript async/await gap.

Platforms

FlowStorm supports Linux, macOS, Windows, and self-hosted use. Its documented targets include browsers, Node.js, and React Native. Editor guidance covers Emacs through Cider Storm, VS Code, and IntelliJ IDEA. Remote configurations include SSH tunnel, out-of-process, Docker, and React Native arrangements.

Who it's for

Choose FlowStorm for Clojure or ClojureScript applications where post-execution tracing, REPL-driven investigation, time travel, or thread-event analysis is central. It suits developers who want recordings without editing source code and teams willing to build specialized visualizations or plugins. It is a poor fit for projects that require ClojureScript 1.12.145 async/await support in the vanilla debugger, or for teams working outside the two supported languages.

Pros and cons

Pros

  • Recording without code changes: captures execution without adding breakpoints or modifying source.
  • Strong investigation toolkit: stepping, inspection, call exploration, exception debugging, conditional breakpoints, and time travel cover both broad and focused diagnosis.
  • Concurrency visibility: the thread timeline shows instruction interleaving that a call stack can hide.
  • Interactive workflow: one-click REPL transfer and Clojure analysis turn observations into experiments.
  • Free and open source: the only plan costs nothing and permits unrestricted use.

Cons

  • ClojureScript async/await gap: vanilla FlowStorm does not support the feature introduced in ClojureScript 1.12.145.
  • Runtime floor: JDK 17+ and Clojure 1.10.0+ exclude older environments.
  • Focused language scope: it is not a general-purpose debugger for other ecosystems.

Alternatives

For native and cross-platform low-level debugging, LLDB is a free, open-source debugger supporting Android, iOS, Linux, macOS, and Windows. IDA Pro is the choice for disassembly and decompilation: IDA Free costs 0.00 USD, while IDA Pro Essential costs 1099.00 USD.

Pick Perl Debugger when you need the debugger included with Perl, provided the program compiles correctly first. PonyDebugger targets iOS with a client and gateway server under Apache License 2.0. For embedded targets, pyOCD is an Apache 2.0 open-source option, while Black Magic Debug is for JTAG/SWD microcontrollers and requires compatible probe hardware and a suitable toolchain.

GDB is a free GNU-licensed debugger with source available. OpenOCD is another open-source option distributed through operating-system packages or source code. Browse more choices in Debuggers.

Verdict

FlowStorm is the right choice for Clojure and ClojureScript developers who want no-cost execution recording, time-travel inspection, REPL integration, and a clear view of thread interleaving. Look elsewhere if your project depends on ClojureScript async/await 1.12.145 or uses a different language or an older runtime.

Verdict

FlowStorm combines execution recording with stepping, inspection, visualizations, and thread-event timelines for Clojure and ClojureScript. Check its runtime requirements and the async/await limitation against your project before choosing it.

Questions

Is FlowStorm free?

Yes. It is listed as free and open source, with no money involved.

Which languages does FlowStorm support?

It supports Clojure and ClojureScript.

Which platforms and runtimes are covered?

FlowStorm is available for Linux, macOS, Windows and self-hosted use. Its guide covers ClojureScript in browsers, Node.js and React Native.

Does FlowStorm require breakpoints or code changes?

No. It can record and debug code without adding breakpoints or modifying the code.

What are the minimum requirements?

The guide lists JDK 17 or later and Clojure 1.10.0 or later.

Does vanilla FlowStorm support ClojureScript async/await?

It does not support async/await introduced in ClojureScript 1.12.145. The guide points to ClojureScriptStorm as an alternative with support.

Facts from FlowStorm's own pages

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, 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, 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, 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, 3 Oct 2026
Maker attribution
The user guide is attributed to Juan Monetta. · flow-storm.github.io, 3 Oct 2026
Plugins
A plugin system lets users add specialized tools to visualize and interact with recordings. · flow-storm.org, 3 Oct 2026
Recording
It can record and debug code without adding breakpoints or modifying the code. · flow-storm.org, 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, 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, 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, 3 Oct 2026
Threads
A timeline renders execution events to help users understand how thread instructions interleave. · flow-storm.org, 3 Oct 2026
Visualizations
It supports customizable and real-time data visualizations. · flow-storm.org, 3 Oct 2026
What it does
FlowStorm is a tracing debugger for Clojure and ClojureScript. · flow-storm.github.io, 3 Oct 2026

Where FlowStorm stands on Freedom251

Look at these too