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 →
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

You build the program up while it runs, re-evaluating definitions and trying things out as you go. You never stop and restart it.
Completion, docs, navigation and the debugger all ask the running program over nREPL, instead of guessing from the source.
Clojure, ClojureScript, Babashka, nbb, Basilisp and ClojureCLR, on your machine, in a container or on a remote server.
Features
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 →
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 →
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 →
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 →
What's new
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.

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

Expand a macro one step at a time, in place, without leaving the source buffer.

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

Walk callers and callees as a tree, using the same tree view as every other CIDER browser.
Get started
CIDER is on NonGNU ELPA, which Emacs enables out of the box: M-x package-install RET cider RET
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.
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
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.
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.
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.
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.
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.
CIDER is built by volunteers and funded by its users. If it saves you time, consider chipping in.