<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/closing-the-find-usages-gap-in-cider-hjm1ttuz3" -->

---
title: Closing the Find-Usages Gap in CIDER | daily.dev
description: CIDER 2.0 closes the long-standing &quot;find usages&quot; gap that drove many Clojure developers to run clojure-lsp alongside it. The old runtime xref only saw loaded...
canonical: https://daily.dev/posts/closing-the-find-usages-gap-in-cider-hjm1ttuz3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Closing the Find-Usages Gap in CIDER | daily.dev
og:description: CIDER 2.0 closes the long-standing &quot;find usages&quot; gap that drove many Clojure developers to run clojure-lsp alongside it. The old runtime xref only saw loaded...
og:url: https://daily.dev/posts/closing-the-find-usages-gap-in-cider-hjm1ttuz3
og:image: https://api.daily.dev/og/posts/HjM1TtUZ3.png
og:image:alt: Closing the Find-Usages Gap in CIDER
og:image:width: 1200
og:image:height: 630
og:locale: en
---

[Meta Redux](https://daily.dev/sources/metaredux)

[Read post](https://api.daily.dev/r/HjM1TtUZ3)

# [Closing the Find-Usages Gap in CIDER](https://api.daily.dev/r/HjM1TtUZ3 "Go to post")

CIDER 2.0 closes the long-standing "find usages" gap that drove many Clojure developers to run clojure-lsp alongside it. The old runtime xref only saw loaded namespaces, reported callers not occurrences, and didn't support ClojureScript. The new source-based xref-find-references uses a three-stage search: REPL resolves the fully qualified name, ripgrep narrows candidate files, then a namespace-aware regexp filters results per file's ns form. A configurable cider-xref-references-mode lets users choose source, runtime, or both modes. Beyond find-usages, CIDER 2.0 adds a who-\* family of commands (who-calls, who-implements, who-macroexpands, etc.) inspired by SLIME. The author notes clojure-lsp remains valuable for project-wide renames and unused-var linting, but CIDER now handles the most common use case out of the box.

[#clojure](/tags/clojure "Check all #clojure posts")

Jul 27•8m read time•From [metaredux.com](https://api.daily.dev/r/HjM1TtUZ3 "metaredux.com")

[![Post cover image](https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dedf722536cd790a73f152e04476db6b?_a=AQAEuop)](https://api.daily.dev/r/HjM1TtUZ3 "Go to post")

Table of contents

[Why runtime xref wasn’t enough](https://api.daily.dev/r/HjM1TtUZ3?a=why-runtime-xref-wasnt-enough "Why runtime xref wasn’t enough")[The fix: search the source](https://api.daily.dev/r/HjM1TtUZ3?a=the-fix-search-the-source "The fix: search the source")[Beyond find usages: the who-\* family](https://api.daily.dev/r/HjM1TtUZ3?a=beyond-find-usages-the-who--family "Beyond find usages: the who-* family")[So do you still need clojure-lsp?](https://api.daily.dev/r/HjM1TtUZ3?a=so-do-you-still-need-clojure-lsp "So do you still need clojure-lsp?")

161 Impressions

Comment

Bookmark

Copy

![Placeholder image for anonymous user](https://media.daily.dev/image/upload/s--qsFuKGv_--/t_logo,f_auto/public/noProfile)Share your thoughtsPost

[![Meta Redux's image](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/553e6ad4c072454a986660a28a241343)](https://daily.dev/sources/metaredux)

[Meta Redux](https://daily.dev/sources/metaredux "https://daily.dev/sources/metaredux")

MetaRedux provides tutorials, guides, and resources for learning and mastering Redux, a state manage... Read more

3 Followers

•

18 Upvotes

#### Would you recommend this post?

Copy link

WhatsApp

Facebook

X

New Squad

Copy linkShare with your friends

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Closing the Find-Usages Gap in CIDER","url":"https://daily.dev/posts/closing-the-find-usages-gap-in-cider-hjm1ttuz3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/closing-the-find-usages-gap-in-cider-hjm1ttuz3"},"datePublished":"2026-07-27T09:03:44.352Z","dateModified":"2026-07-29T15:07:31.574Z","description":"CIDER 2.0 closes the long-standing \"find usages\" gap that drove many Clojure developers to run clojure-lsp alongside it. The old runtime xref only saw loaded...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dedf722536cd790a73f152e04476db6b?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dedf722536cd790a73f152e04476db6b?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Meta Redux","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Meta Redux","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/553e6ad4c072454a986660a28a241343","url":"https://daily.dev/sources/metaredux"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/closing-the-find-usages-gap-in-cider-hjm1ttuz3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"clojure","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Meta Redux","item":"https://daily.dev/sources/metaredux"},{"@type":"ListItem","position":3,"name":"Closing the Find-Usages Gap in CIDER"}]}
```

