Overview

You can connect to multiple nREPL servers using M-x cider-jack-in (or cider-connect) multiple times. To close the current nREPL connection, use C-c C-q (cider-quit). You can close all connections with C-u C-c C-q.

CIDER maintains a list of nREPL connections and a single 'default' connection. When you execute CIDER commands in a Clojure editing buffer such as to compile a namespace, these commands are executed against a specific connection. This is controlled by the variable cider-request-dispatch - when it's set to 'dynamic (the default), CIDER will try to infer which connection to use from the current project and currently visited file; when 'static dispatch is used all requests will always be routed to the default connection (this was the default behavior in CIDER before 0.10).

There's a handy command called cider-toggle-request-dispatch. You can use it to quickly switch between dynamic and static request dispatch. A common use-case for it would be to force temporary all evaluation commands to be using a particular (the default) connection.

You can display the current nREPL connection using C-c M-d and rotate the default connection using C-c M-r. Another option for setting the default connection is to execute the command M-x cider-make-connection-default in the appropriate REPL buffer.

Connection browser

You can obtain a list of all active connections using M-x cider-connection-browser. This buffer provides a few extra keybindings:

Command Keyboard shortcut Description
cider-connections-make-default d Make connection at point default.
cider-connections-close-connection k Close connection at point.
cider-connection-browser g Refresh connection browser.
cider-connections-goto-connection RET Visit connection buffer.
cider-popup-buffer-quit-function q Close window.

Switch to connection buffer

The REPL buffers double as connection buffers.

To switch to the relevant REPL buffer based on the Clojure namespace in the current Clojure buffer, use: C-c C-z. You can then use the same key combination to switch back to the Clojure buffer you came from.

The single prefix C-u C-c C-z, will switch you to the relevant REPL buffer and set the namespace in that buffer based on namespace in the current Clojure buffer.

Renaming connections

To change the designation used for CIDER buffers use M-x cider-change-buffers-designation. This changes the CIDER REPL buffer, nREPL connection buffer and nREPL server buffer. For example using cider-change-buffers-designation with the string "foo" would change *cider-repl localhost* to *cider-repl foo*.