New CIDER 2.0: Sky is the Limit →

The Clojure Interactive Development Environment that Rocks

CIDER turns Emacs into a live window into your running Clojure program. Evaluate code as you write it, poke at the results, debug and run your tests, all without restarting anything.

M-x package-install RET cider RET

Latest release 2.0.1

Evaluating Clojure forms one by one with C-c C-e, each result appearing inline next to its form

Live

You build the program up while it runs, re-evaluating definitions and trying things out as you go. You never stop and restart it.

Knows your program

Completion, docs, navigation and the debugger all ask the running program over nREPL, instead of guessing from the source.

Everywhere Clojure runs

Clojure, ClojureScript, Babashka, nbb, Basilisp and ClojureCLR, on your machine, in a container or on a remote server.

Features

Everything happens against the running program

Evaluate anything, see the result where you are

C-c C-e

Send a form, a definition or the whole buffer to your running program and the result appears inline, right next to the code. No copy-pasting into a REPL, no restarts.

Learn more →
Evaluating Clojure forms one by one, each result appearing inline next to its form

Take any value apart

C-c M-i

The inspector lets you walk any value in the running program: drill into nested data, page through huge collections and jump back out.

Learn more →
Inspecting the result of group-by and drilling into a nested map

Step through code as it runs

C-u C-M-x

Instrument a function and the next call stops in the debugger, showing each intermediate value as you step through it, Edebug-style.

Learn more →
Stepping through a thread-last pipeline in the debugger, with each value shown inline

Tests without leaving the editor

C-c C-t n

Run a test, a namespace or the whole project. Failures come with a diff of expected against actual, and rerunning just the failures is one key away.

Learn more →
Running a namespace's tests and getting a report with the failing assertion

What's new

CIDER 2.0: Sky is the Limit

The biggest release in years: long-dormant ideas finally landed, the "understand your code" toolbox got a thorough overhaul, and everything became more consistent and easier to discover.

Rich results

Rich results

Evaluate something that returns an image and it renders right next to the code.

Menus for everything

Menus for everything

Transient menus put every command within a keystroke, with no bindings to memorize.

Who calls what

Who calls what

Walk callers and callees as a tree, using the same tree view as every other CIDER browser.

Get started

Up and running in a minute

  1. Install

    CIDER is on NonGNU ELPA, which Emacs enables out of the box: M-x package-install RET cider RET

  2. Jack in

    Open a file in your Clojure project, press C-c C-x, then j j. CIDER starts your project's REPL and connects to it.

  3. Evaluate

    Put the cursor after a form and press C-c C-e. The result shows up right next to the code.

If you’ve used SLIME or SLY with Common Lisp, Geiser with Scheme or Emacs Lisp itself, CIDER will feel like home.

Connecting to a REPL that's already running, in a container or on another machine? Up and Running has you covered.

FAQ

Questions people ask

Do I need to be an Emacs expert?

No. You need to be able to open files and install a package; CIDER's transient menus (C-c C-x to start, C-c C-t for tests, C-c C-w for references and so on) show every command, so there's very little to memorize up front.

What about ClojureScript, Babashka and friends?

ClojureScript works with shadow-cljs, figwheel and the other common REPLs, and CIDER also talks to Babashka, nbb, Basilisp and ClojureCLR. See ClojureScript and Alternative Platforms for what's supported where.

Can I use it together with clojure-lsp?

Yes, plenty of people do. CIDER knows what's loaded in the running program and clojure-lsp knows your source statically, so they complement each other. The manual has a guide to making them share the work.

Does my project need anything special?

No. C-c C-x j j figures out whether it's a Clojure CLI, Leiningen, shadow-cljs or Babashka project and starts the right REPL for it, adding CIDER's middleware where the tool needs it. You can also connect to a REPL you started yourself.

Who's behind it?

CIDER is open source, has been going since 2012, and is built by hundreds of contributors and funded by its users through Open Collective and GitHub Sponsors.

Get help

Around CIDER

Support CIDER

CIDER is built by volunteers and funded by its users. If it saves you time, consider chipping in.