Iâve been using Chorus for the past 6-7 months. Within the first couple days of using it, I was telling everyone I talk with about AI stuff to try it out. Melty Labs, the company behind Chorus, subsequently built Conductor. It appears this Conductor now their primary focus, and as such theyâve decided to open source Chorus.
Chorus is a macOS LLM client. Its differentiating feature is that it fetches you responses from many LLMs in parallel within the same chat. I think itâs quite good software.
Chorus screenshotSource
It is snappy. I used to be impressed by the responsiveness of the ChatGPT app, but after having become a regular Chorus user, I canât use either the ChatGPT1 or Claude macOS apps without feeling like theyâre just sluggish in comparison.
It has a small surface area, but executes the UX well. The key UX innovation of Chorus is its multi-model chat – you can get responses from multiple models, pick the one you want to thread into the conversation, and continue. There are also many nice affordances in Chorus that donât exist in other clients. For example, chats allow for âinline repliesâ where you can ask a model about a response without adding that response to the context window. Chorus also handles pasted content much better than ChatGPT desktop or the Gemini AI Studio. (Claude handles pasted stuff pretty well.) Chorus just feels like a tool – as opposed to a consumer app – in a way that other clients donât.
It puts the user in control more-so than any of the first-party clients. Chat branching and âprevious messagingâ editing worked in Chorus well before ChatGPT and Claude.2 Using a third-party client like Chorus also lets you jettison the opinionated system prompts that the first-party clients inject, and also let you switch quickly between system prompts. The first-party system prompts are good in a consumer app, but Chorus makes for a better âtraining wheels offâ LLM client.
The multi-model native chat makes it easier to build an intuitive sense of models. Interacting with Claude/Gemini/GPT-N within the same dialog gives you a much more intuitive sense of the âshapeâ of each of the models. Itâs also quite interesting to see, say, Claude Sonnet continuing from a Gemini response, since their inherent writing styles are quite different.
It allows you to burn tokens. First-party chat clients are mostly on a flat, monthly subscription model. The incentives are to provide you with a good experience so you donât cancel, while otherwise minimizing the number of tokens you use. You pay for all your Chorus tokens. So, want to generate a response from Opus 4.5 and GPT-5.1 and Sonnet 4.5 and Gemini Pro 3 for each conversation turn? Go for it. Often times, many fanned-out responses to a message will be more useful than the âbestâ modelâs response. Itâs effectively an easy way to do âLLM councilsâ or best-of-N.3
Itâs very clearly not trying to get your data. Chorus originally shipped with an optional subscription model that was essentially a model proxy. However, it was always possible to use your own API keys and their privacy policy was refreshingly clear: âWe donât look at your chats, and we donât want to.â Now that Chorus is open-sourced, you can verify that.
Weâre still quite early in figuring out what UX patterns work well for LLMs. Chorus took an interesting idea, executed it well, and as a result has a really great novel UX that none of the other clients nail. There are obviously many use cases for LLMs. The spotlight now is on agentic harnesses like Claude Code, Codex, Cursor, and the like. Chat interfaces are not solved! Assuredly there is more space to explore the âcalculator for wordsâ idea space.
I wish Charlie and team the best of luck on Conductor, and thank them for making Chorus open source. đ Iâm looking forward to contributing & hacking on Chorus.
-
The macOS app for ChatGPT feels noticeably sluggish now. I think this regression started around the GPT-5 release, if memory serves. My mental ranking used to be that the native macOS ChatGPT app was ~2x faster than Claude. Now, thatâs been reversed. ↩︎
-
Though I will say that at this point, the ChatGPT/Claude desktop apps have largely caught up. ↩︎
-
Well, where N = ânumber of modelsâ, not ânumber of responsesâ. I think Chorus could add support for multiple generations from the same model, but that doesnât exist today. ↩︎