Disable showing forked replies as strays at the bottom

Is it possible to configure Discourse communities such that replies that fork a conversation only show once and then not the second time at the bottom of a thread as what I would call a stray comment?

The best example I know of to demonstrate what I call a better format is Facebook Groups. When a single conversation becomes forked you only see replies under the comment\reply where they were added.

In this example from a Facebook group you see the main topic that has 5 hidden comments and you can see where someone forked the conversation and there are 3 Replies in that fork.

You will only see those 3 replies there where as it appears the default method with Discourse is to put a second stray copy in the bottom of the main thread.

No, it’s not possible. Discourse isn’t meant to be used as a threaded discussion platform, so we don’t support this on a fundamental level (some justification here Web Discussions: Flat by Design).

It is fairly easy to do the opposite and hide the expandable sections with CSS so you’re not seeing the duplicate content (this would go under admin > customize > themes > edit CSS/HTML > desktop > CSS).

.post-controls button.show-replies {
  display: none;

@awesomerobot, thanks for that timely reply and I will pass your comments along to the person who watches over the community I’ve involved with.

But I’m curious as to why if Discourse isn’t meant to be a threaded discussion platform the option to reply is in multiple location. I’m involved in many Discourse communities and they are a train wreck when it comes to addressing the common use case, support around technical issues.

1 Like

Surely there is a way to help keep things cleaned up because this is a real mess.

The intention is to provide context about the post you’re currently reading if there’s a direct reply that’s not located near it (we suppress those expansions if the reply is immediately before/after the post it references). It’s completely optional assistance.

Note that we also don’t include reply controls on embedded posts, so if you wanted to reply to a reply, you’d have to click the arrow to go to where the reply is located in the topic, rather than the embedded reference to it.


Is there a method using the CSS to kill the reply button on those comments I call strays? This would force users back up to the proper location to add their comment.

If you did that, how would they reply to that post?

This is kind of the reverse of what’s intended. If anything, the nested replies would be “strays” — Discourse is designed around a flat hierarchy and the nested replies are contextual add-ons.


Good point and also making the point I’m trying to.

The proper location for adding to a thread is in the thread and not down at the bottom of a longer thread where it winds up adding another fork.

Right, this is where we have a misunderstanding. We don’t actually thread or fork conversations at all (and it’s not possible to change Discourse so it’s structured this way) — we’re creating a bit of an illusion that we do. Everything happens on one flat level in chronological order.

What appear to be “threads” here are references to later posts. In a topic with hundreds of posts these are useful to give someone context without additional scrolling — but that’s it, it’s just making later posts easier to access in context.

If you were to read the entire topic without expanding any of these, you’d still see every post/reply.


While Discourse is clearly the most used community forum script type of discussion piece out here, It really does cause a great deal of confusion for all who use it.

You can see the confusion and while many individuals use it because they have to, there are far more who simply don’t do community conversations because it is so confusing.

I’ll drop it at that and possibly maybe some of Discourse community participants will add their thoughts.


If you want to remove that source of confusion, then you could add this CSS:

.show-replies {
  display: none;

Thanks for that suggestion. Do you by any chance have an example of what that would look like in a long thread?

The replies indicator serves three purposes:

  1. It shows how many people replied to a specific post – to give the post author and anyone reading, some clue how popular this post was as a reply target. If 10 people replied to a specific post… that post was significant.

  2. It offers a “sneak preview” of replies to just that post, without going to the trouble of scrolling down and reading every reply in sequence (including other sequential replies that may have nothing to do with that post). You could complain that this is like watching movie trailers that spoil the best plot points and jokes of the full movie, yes, but my answer to that is simple: don’t watch the movie trailer :wink: e.g. don’t click on the button if you don’t want the sneak preview.

  3. When expanded, you can also click or tap the arrow to jump down in the stream to that reply, if you want to use it as a navigational tool to monkey-bars swing your way down a topic. (For symmetry, this also works going upwards, if you click or tap on the in-reply-to indicator at the top of a post).

Discourse is mostly a flat discussion system, but it has some hybrid elements – this is one of those hybrid elements. If your community just can’t stop themselves from watching trailers for movies they plan to see clicking or tapping the replies button, simply hide it through CSS as @notriddle and @awesomerobot proposed in earlier replies.

Done… and done.


It offers readers the ability to reply to an existing reply\comment. Showing those specific replies in two different places as Discourse does wrecks a conversation. And falling on a sword over Flat vs. Threaded is also not helpful.

Folks on the internet are finally starting to turn back from social crap like Facebook and it’s more important than ever to make these online environments as user friendly as possible.

I realize forum scripts have been tough for a long time. I’ve had to manage one myself for several years at a time and it was work keeping it cleaned up and readable.

This is anything other than readable.

Not done and not done!

Hard to say that what I put in that last screen grab is more attractive or even close to as functional as this.

Accepting that Discourse uses flat topics as opposed to threads, I would find it incredibly confusing if I couldn’t see what someone was responding to. Context is everything, and it would be very easy to misinterpret responses without that link.

If each post in a topic didn’t have a reply button it would also be impossible to alert the user in question that their post within that topic had received a response.

That’s why I wrote “falling on a sword over Flat vs. Threaded is also not helpful.”

Sometime change is a good thing.

no clue what the guy is responding to beyond it being Someguy

You can click those. It expands the context post of the post they’re responding to.


It looks like this…


1 Like