nREPL is a Clojure network REPL that
provides a REPL server and client, along with some common APIs
of use to IDEs and other tools that may need to evaluate Clojure
code in remote environments.
nREPL powers many well-known development tools.
- Start an nREPL server (e.g. with
- Connect to the server using any nREPL client (e.g. CIDER, Calva, vim-fireplace)
- Start hacking!
See the documentation for way information on the subject.
You can find nREPL's API documentation on cljdoc.
Extremely stable. nREPL's protocol and API are rock-solid and battle
tested. nREPL's team pledges to evolve them only in
That being said, there were a few organizational changes related to
the transition out of clojure-contrib that everyone has to keep in
[nrepl "0.3.1"] is a drop-in replacement for
[org.clojure/tools.nrepl "0.2.13"] (notice the different artifact coordinates).
[nrepl "0.4.0"] changes the namespaces from
1.0.0 release will include fixes for all previously-reported
but languishing nREPL issues. Future releases will focus on supporting
the needs of the essential tools of the Clojure(Script) ecosystem
(e.g. Leiningen, Boot, CIDER, Cursive).
Check the brief history of nREPL, available
Check out this detailed comparison.
Yes and no. The reference nREPL implementation is Clojure-specific, but it can be extended with ClojureScript support
via the Piggieback middleware. In the future there may be implementations of nREPL that target ClojureScript directly.
The nREPL protocol is language-agnostic and implementations of nREPL servers exist for several programming languages.
Implementing new nREPL servers is pretty simple.
This project exists thanks to all the people who contribute.
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
Copyright © 2010-2021 Chas Emerick, Bozhidar Batsov and contributors.
Licensed under the EPL. (See the file epl.html.)
Can you improve this documentation? These fine people already did:
Chas Emerick, Bozhidar Batsov, Sean Corfield, tijsmallaerts, Shen Tian, Reid D McKenzie, Nikita Prokopov, Andrew Rosa & jessEdit on GitHub