HN is great for the links people share, but a big part of the value I get comes from reading the discussion around them. I realized I was always opening the article in one tab and the comments in another, constantly switching back and forth.

I figured there was probably a simpler way, so I threw together this userscript to merge the two.

1. Clicking a link from Hacker News opens the article with a side panel containing the discussion. It doesn't require your credentials, is resizable, and is easy to tweak if you want to customize it.

2. If you land on an article that has previously been shared on HN, the script finds the existing discussion and adds a button in the top-right to open the panel.

Feedback welcome.

I made an extension that opens both tabs for you and thus far has a whopping 6 users!

https://chromewebstore.google.com/detail/hacker-news-saved-y...

This is slick. 2 things.

1. If you name your script with the extension .user.js it is easier to click on to automatically install at least with tampermonkey. 2. When I went to this link from the main page, on mobile I had to scroll to the right to see the (-) to minimize because the sidebar was too large: https://elizabethtai.com/2026/06/10/substack-writers-you-nee... It may make some sense to start minimized so I can read the article first, but I can easily modify the script to do that.

is this better than using a chrome extension? i guess people need to have tampermonkey installed and so thats a slightly higher barrier to entry? i wonder if chrome would be interested in "sherlocking" userscripts so that we can distribute non security nightmare code easier.

In addition to the advantage of explicitly specified capabilities mentioned by others, I'd say a userscript also much more durable and low-maintenance than a Chrome extension. This is coming from someone who's written an extension for personal use before, and had to jump through a million hoops with Chrome Dev just to give the browser permission to run my own code that I wrote myself, and that's to say nothing of the whole mess with manifest v3 as well. Throughout the entire time I've been able to happily keep using userscripts written by myself or others with 0 maintenance required.

Mostly transparency. Since this runs across pages you visit (with the sites controlled by the @include/@exclude rules at the top of the script), I like that the entire source is right there and easy to inspect before installing it.

A userscript also let me iterate quickly without dealing with extension packaging and permissions, but being able to see and tweak the code was a big part of the appeal.

Tampermonkey isn't better than using a Chrome extension, but it's less friction for a developer to build and distribute a cross browser script. If they build it as an extension, they need to target multiple browsers and get it deployed to the Firefox/Chrome web store.

If you can read JS and the user script is not huge, I think it makes a huge difference.

Apart from that, there are APIs exclusive to extensions, e.g. instrumenting client-side communication among tabs with different origins, listing all tabs, basically accessing a special API that sits on a higher-level context, and, while gating certain functionality behind user approval, and forbidding other functionality completely (at least in Manifest 3.0), extensions with the corresponding permissions can do more than a script running in the page context. They can inject these as well, though, even overriding CSP sometimes, as far as I know?

The main problem with these permissions, and WebExtension 3.0 partly was an attempt to improve this, or at least claims it: most people give a second of doubt at best when installing an extension, as long as they think it comes from a trusted source.

I love userscripts. Aren't we all using https://github.com/violentmonkey/violentmonkey now though?

thought I realize "if it works it works", https://github.com/Tampermonkey/tampermonkey

I did something similar 2 days ago with ViolentMonkey if you only want to check high-level discussion without any new tabs at all.

https://greasyfork.s3.us-east-2.amazonaws.com/sokzpb2ztmatlh... (screenshot)

https://greasyfork.org/en/scripts/588721-hacker-news-comment...

I'd improve it by counting top level comments next to items but that would slow it down. Still need to make some slight changes like closing sidebar by re-clicking orange (beyond just right-clicking sidebar.)

It's very fast and speeds up thinking overall.

Not on Safari, but I should migrate on Firefox I’ve read (some controversy).

  zip is available only if you're logged-in on GitHub site
Haven’t seen that before.

[dead]

Firefox has a new Split View that's useful for this, but you still have to left click and select open in split view (M) then click the link. You also used to be able on some browsers to craft a link that was href="tab1.html|tab2.html", no idea if that's still a thing or if it was limited to "home page" setting.

Thanks for the tip. Didn't know this was added.

I generally open the HN comment link, then click the article link, read it, then click back to read the comments.

I'll see if this split view feature works better for me though, but I think I'd prefer a horizontal split instead of vertical.

I accidentally closed Firefox’s last “you’ve just updated” screen which probably mentioned Split View. Couldn’t re-open it. It’s not this https://www.firefox.com/en-US/firefox/153.0.1/releasenotes/ , know if it’s mirrored?

Vivaldi has included split view for years (called tiles). You can also right click a link and choose open in follower tab. This lets all links clicked in one tile open in another tile. I use this regularly on HN.

alt/option-clicking on the desired tab works too

~10 years ago (wow) I made something similar where you could embed HN comments in your own site. It was the opposite end of consumer though, for webdevs to embed it.

https://news.ycombinator.com/item?id=12898366

Note: I took it down when it seemed it could degrade HN quality

This is great and is also something that I've always had an issue with.

What I do now is open the HN comments, and then when I'm ready to look at the link + comments, right-click on the title and Open in Split View.

I made an extension that does exactly this a while ago

https://chromewebstore.google.com/detail/hacker-news-saved-y...

I also wrote a Monkey script to save clicks when reading papers: just embed PDF webview into the Arxiv abstract page. https://github.com/OneMoreSecond/FileSave/blob/master/arxiv_...

It seems the software productivity has exploded in the agent era. However, do we treat every point of daily experience seriously enough? Do we recognize such pains actively and try to eliminate them (often easy), or just tolerate infinitely?

I think the amount of upvotes you’re getting here suggests that it might be worth building a proper browser extension for this!

Would you be interested in making one?

Open to it. For now I’m going to keep it as a userscript and build out some of the interesting ideas people have suggested here. If it keeps growing, a proper extension would definitely make sense.

Rather than making hn extension, maybe you could contribute to https://oj-hn.com/ / https://github.com/OrangeJuiceExtension/OrangeJuice I use it and find it to be great, would love to see this in it! :)

Nice. I’ve been using the new split tabs in Chrome. Works perfectly. I believe Firefox had this first?

The submission is cool because it opens the comments even if you just happen upon some article that also happens to have a HN discussion. That said, when I read the headline I thought the same thing, “uh, right click, open in split view?” When that feature landed in Chrome my first use case was exactly this.

Haha, this is so cool and can't believe I didn't think about it. I've been opening 2 tabs per HN link on my phone since forever!

hehe, I opened chatgpt and the little button blocks the three dots

Yeah, I noticed that too. It's mostly because people tend to post ChatGPT outage pages to HN, so the script ends up activating there unfortunately.

I'm working on a fix, but in the meantime you can add `@exclude https://chatgpt.com/*` to the userscript header.

Nice idea ! How do you handle duplicates ?

[Assuming you mean duplicate HN submissions]

I normalize the URL and use HN's Algolia search API to find an existing story with a matching URL. I don't currently handle multiple HN submissions of the same article; I just use the matching story I find.

That being said, I could see creating a historical snapshot of all the times an article has been submitted and building a blended comments section in the future.

Blended comments section sounds great! Good work.

Phew, thought I was the only one doing that. I thought I was missing some core site feature lol.

Thought I was the only one hahaha

I feel ya. I'm always middle clicking twice, story and comments.

This shouldn't be a script (no offense, great job!). It should be built into the browsers!

Very cool!

Now make a user script that blocks posts titled "I was tired of X, so I...".

Instructions were unclear, rewrote this script in Rust then in Zig