logoalt Hacker News

I am worried about Bun

387 pointsby remote-devyesterday at 4:45 PM260 commentsview on HN

Comments

chr15mtoday at 12:51 AM

> team ships constantly

Why do people want this? Shipping constantly is how software breaks. You want tools that are good and stable, not constantly churning. I wish software developers would wake up to the idea that velocity is not a marker of quality.

AntonyGarandyesterday at 5:32 PM

I disagree with the overall premise: Before the acquisition, Bun had to figure out how to monetize at some point.

Now, even though their parent company does some shitty practices with their other software (claude code), it's a stretch to assume this will also translate into making Bun worse: Being worried makes sense but I remain optimistic about Bun.

Especially given the context of both of these different context: Claude Code is a gem of Anthropic, experiencing extreme growth and where any of its change can result in billing issues.

Bun is a JS runtime, and regardless of its growth, can focus on being the best runtime possible: It doesn't impact billing nor the bottom line of Anthropic, so they don't have to rush out patches due to abuse unlike CC.

It's unclear how it will pan out over the next years, still very early on the acquisition to see if anything will change, but I'm not concerned just yet.

show 11 replies
nwienertyesterday at 8:37 PM

Bun has never really been well run. Every feature it had was full of bugs and gaps. And every release fixed a few but broke others.

They released more major features and breaking changes in their last patch release than most software sees in two major versions.

I've been using it just as a script runner and npm package manager basically, and it's incredible the amount of work you have to do to find "good" versions. We've had patch versions suddenly freeze on install more than once, we couldn't upgrade for quite a while due to this. I think they broke postinstall scripts with trustedDependencies entirely two minor versions ago - not a mention in release notes, and somehow no one reporting it in GH issues. In 1.1 or so you could get Bun to do trustedDependency builds in postinstall, and then after that you couldn't. I looked around for release notes and saw nothing mentioned. It's been broken for months.

thot_experimentyesterday at 10:20 PM

Why people use Deno and Bun over Node? I think it's neat that there are competitors for JS runtimes, but I really don't understand what advantages I'd get by swapping to one of these over Node. Bun has no REPL and worse JS engine, Deno is just Node with a restrictive, annoying permission system and no sqlite. Both claim better performance, but that only seems true in cherrypicked benchmarks, and in my tests (granted about a year ago at this point) both alternatives under-performed Node in my workloads. What am I missing?

EDIT: Actually I just remembered I delivered a small ERP tool to a business a while back and I did opt to use I think Bun for that because it had the most robust tools to wrap a project into an `*.exe`, that was definitely a better experience than Node. Though since that was dependency-less JS I did the whole thing using Node and then just shipped it with Bun.

show 5 replies
Jarredyesterday at 9:42 PM

I work on Bun, and this post is confusing to me. Me personally and the Bun team continues to dogfood & make Bun better everyday. Our development pace has only gotten faster. Bun's stability has improved significantly since joining Anthropic.

Here are some things shipping in the next version of Bun:

- 17 MB smaller Windows x64 binaries [0]

- 8 MB smaller Linux binaries [1]

- `--no-orphans` CLI flag to recursively kill any lingering processes spawned [3]

- SSL context caching for client TCP & unix sockets, which significantly reduces memory usage for database clients like Mongoose/MongoDB [4]

- Experimental HTTP/3 & HTTP/2 client in fetch [5]

- Experimental HTTP/3 support in Bun.serve() [6]

- Bun.Image, a builtin image processing library [7]

(Along with several reliability improvements to node:fs, Worker, BroadcastChannel, and MessagePort)

The Anthropic acquisition also means Bun no longer needs to become a revenue-generating business. We are very incentivized to make Bun better because Claude Code depends on it, and so many software engineers depend on Claude Code to help get their work done.

[0]: https://github.com/oven-sh/bun/pull/30219

[1]: https://github.com/oven-sh/bun/pull/30098

[2]: https://github.com/oven-sh/WebKit/pull/211

[3]: https://github.com/oven-sh/bun/pull/29930

[4]: https://github.com/oven-sh/bun/pull/29932

[5]: https://github.com/oven-sh/bun/pull/29863

[6]: https://github.com/oven-sh/bun/pull/30032

show 3 replies
jpsimonsyesterday at 9:07 PM

I just spent a couple hours migrating my knife sharpening website backend from Bun to Node. Feels good to avoid that lock-in. I was initially gung-ho for Bun but increasingly unsure about it. Things I'll miss for sure:

- Querying sqlite with tagged template literals

- Bun.password.verify being argon2 is a better default

- HTML imports

- JSX transpilation

- Auto loading .env file

https://burlyburr.com, which hits https://backend.burlyburr.com

show 1 reply
STRiDEXyesterday at 10:37 PM

I don't think bun worked well before the acquisition. Don't get me wrong, i used it all the time for little scripts, but i would never ship a service at work on bun. Between memory issues and incompatibilities that never get fixed, it is a nice toy to me that did a great job of exposing room for improvement in nodejs.

For example, i'd been following this issue https://github.com/oven-sh/bun/issues/14102 and eventually all the libraries shipped "if bun do x" into them, which is the opposite of compatibility.

show 2 replies
rtrigosoyesterday at 5:40 PM

I agree with OP, and understand why to some it feels premature.

We live in a vastly different world than before, where people are more conscious of ethical concerns and willing to stand on their ground to avoid repeating past mistakes.

It might be premature from a tech standard, but it makes sense from an ethical concern. I don't think misconduct is as easily backtracked as it was before and preemptive measures are needed to avoid the large impact that those decisions make.

show 2 replies
ericydyesterday at 6:52 PM

The author closes by enumerating some of the things they like about Bun which are not included in pnpm. The list is basically: native TS support, a vite-style bundler and a vitest/jest style test runner.

Other than a bundler, Node already has all of these. Different test runner syntax maybe but otherwise TS "just works" out of the box and their built in test runner is totally capable. Not sure I see the need for such a lament over Bun.

show 3 replies
stopachkatoday at 12:07 AM

This post seems to "throw doubt" on Bun, based on the OP's experience of Claude Code. But this seems unnecessary indirect. It's not like Bun is hidden software: it's open source and actively developed.

So the more direct question would be: How has Bun actually been since the acquisition?

From what I can tell they have been responding to users as fast as before, and improving the product as well as before.

iceboundrockyesterday at 6:01 PM

Regardless of Anthropic/ClaudeCode, PerryTS[1] looks like a very promising competitor to Bun.

[1]: https://github.com/PerryTS/perry

show 3 replies
tracker1yesterday at 9:54 PM

TBF, I really haven't done much of anything with Bun other than occasional module testing. I mostly use Deno for my day to day, including a lot of shell scripts the past few years. I liked the newer ergonomics a lot, direct module references in repositories is really nice for shell scripts.

That said, I'm worried about them having good enough monetization while keeping features open... or at least able to be replicated by others. So I can understand some of the concerns.

MoonWalkyesterday at 8:43 PM

"I want a serious Node.js alternative."

Then you could have been using Deno, like many of us, for years.

show 1 reply
Seviiyesterday at 5:30 PM

I don't know, I've been using Claude Code since it came out and it really doesn't seem to be getting worse.

show 2 replies
jwpapiyesterday at 10:47 PM

I think the motion that Claude Code and Anthropic has is trying to force-hide stuff from you. Some hopefully remember the shitstorm that happened, when they changed. Reading xxx.yy to reading 1 file or reading 2 files.

More changes like this came and they were not or very hard to configure. I understand the business idea behind it. Make them to use AI as much as possible, get the human out of the loop. More training data. More Token Usage JUHUU.

However I think that made Claude Code so much worse and so much more untrusthworthy. It’s a sneaky attempt to take away the driving wheel from you. And if you follow that logic, way more and way more things seem reasonable.

But mainly for now it just generated a lot of distrust for me

0sqlyesterday at 5:36 PM

Does bun have a formal roadmap? I occasionally see some the changes that Jarred posts on X, and I wonder if they're really meaningful or not (perf improvements are always good). It also seems like a lot of the recent contributions are ai authored.

I tried using bun for a project earlier this year and learned that you can't use testcontainers(works fine w/ Deno).

show 1 reply
AYBABTMEyesterday at 8:02 PM

That's a lot of very large jumps to come to the conclusion that Bun isn't going to turn out well.

james2doyleyesterday at 5:28 PM

Maybe look at https://void.cloud/ (Edit: sorry, meant https://viteplus.dev/, not Void cloud)

They are not a runtime, but they do seem to be interested in wrapping a lot of tools with simple top-level commands

traderj0etoday at 12:02 AM

So who controls NodeJS? https://openjsf.org/governance has Microsoft as the chair. And Microsoft owns npm. It's kinda hard to avoid a corp controlling these tools.

The author seems more focused on the thing where Anthropic fights OpenClaw usage unless you have the right billing set up for that. Frankly I just don't care about those complaints, all the LLM services want you to set up a non-subsidized billing method to use OpenClaw because it uses lots of tokens. It doesn't mean they're going to crap on Bun.

The only reason I don't use Bun is I never ran into a situation where Node didn't cut it. Even though my least favorite tech corp controls Node.

butterlesstoastyesterday at 5:19 PM

>Even though I personally am moving some projects away from Bun, don't take my advice as gospel.

Always appreciated nuance.

show 1 reply
wg0yesterday at 5:53 PM

OpenAI and Anthropic both are destined to doom for sure. There's no way around it and it is all in the math. Bun would be a causality. It is only a matter of time.

Only company that would survive the AI race - the one where the current wave was actually invented along with the research paper, the libraries and even specialised hardware: Google.

Google has a serious problem with its product management culture (long list of products and projects, people even skeptical of Flutter) otherwise they would have surpassed Anthropic long ago.

show 3 replies
pyrolisticalyesterday at 5:45 PM

I love coding with bun. It comes with everything.

For my projects I don’t even need any additional dependencies. I use vanilla dom and sqlite

show 1 reply
jmuguyyesterday at 5:24 PM

Why did you have to stop using Cursor? I ask this as someone that uses Cursor, but recently at a conference I heard it referred to negatively several times - but in a very vague sense. I don't really have a dog in the fight, I'm using it because thats what the other dev I work with is using.

show 4 replies
afavouryesterday at 8:12 PM

This isn't anything new and I feel the same way about Deno. We can argue about exactly how much trouble any runtime is in today vs yesterday vs tomorrow but VC funding of a javascript runtime feels inherently unstable to me.

The key question is how much unique tooling you're relying on. If you can switch to Node tomorrow, great. If you can't, make sure you have a contingency plan.

show 1 reply
DrBenCarsonyesterday at 6:08 PM

I made this exact same decisions (bun -> pnpm) for similar reasons, mostly bc I didn’t like how haphazardly a core part of the stack was being vibe coded. Too many changes too quickly for something that’s supposed to be stable

lrvickyesterday at 6:56 PM

pnpm is even worse. There is no way to bootstrap it without binary blobs making it an easy target supply chain attack waiting to happen that could hide in plain sight indefinitely.

show 1 reply
theususyesterday at 6:57 PM

Bun is basically a wrapper over JSCore. I don't think it's that big of a feat. Furthermore they are heavily invested in vendor specific APIs which I think is not good.

show 1 reply
robertjpayneyesterday at 8:49 PM

All these complaints about Claude code are mostly resolved if you pay for your usage with direct API pay as you go. It’s not cheap but nearly all the complaints I see about Claude code are due to the fact the subscription plans seem unsustainable from a cost perspective.

ezekiel68yesterday at 6:39 PM

Ugh. I hate these "guilt by association" hit pieces. Nothing is wrong and yet we must signal our virtue.

Might as well just open our pants and wave our wangers, hoping for a better world

show 2 replies
avsnyesterday at 8:48 PM

Nothing to worry about anymore, the ship has sailed the moment it was acquired.

pjmlpyesterday at 6:53 PM

I still see no monetization with Bun and Deno to keep them going.

You see this all over the place with other programming languages.

The ones that have bleeding edge features do so, because there are companies, or universities (for their PhD and Msc thesis), that invest into those ecosystems.

In the end nodejs will keep improving, with Microsoft and Google's baking, and that will be it.

hjort-eyesterday at 5:36 PM

vite and it's ecosystem is actually becoming the unified toolchain with vite+. IIRC pnpm will also be the preferred package manager in the tool

show 1 reply
pier25yesterday at 5:51 PM

I use Bun and I'm concerned too but it's still too early to tell.

Personally my experience with Bun has been 100% positive so far.

I'm aware full Node support is not there yet and may never happen but with dependencies that support Bun it's been a smooth ride for me.

bricssyesterday at 10:40 PM

Are Bun and Deno in the room with us right now?

photiosyesterday at 8:43 PM

"Friendship ended with Bun, now pnpm is my best friend" the post...

roywigginsyesterday at 10:29 PM

> That is textbook enshittification.

Technically, no, not textbook enshittification. Enshittification was originally meant to refer to companies squeezing two-sided markets, not products just getting kinda worse.

wxwyesterday at 5:33 PM

> Will we see issues start popping up in Bun that make it seem like the team doesn't even dogfood their own product? I don't know, but I'm not sure I want to continue using it just in case.

I sympathize with the general premise. The reaction to move away seems pre-mature though.

It sounds like `bun` is still performing just as well as before, and this sentiment isn't based on concrete changes. I also wouldn't expect infrastructure like `bun` to evolve in the way a consumer-facing product, especially one scaling as quickly as Claude Code, can.

show 1 reply
suck-my-spezyesterday at 5:48 PM

I still don't think Bun is production ready. We just ripped bun out of a bunch of our production sevices. CPU runaway and memory leaks. All solved by switching back to nodejs.

gwdyesterday at 7:41 PM

> But from the outside, Claude Code looks like a tool moving in the wrong direction. More restrictions, billing weirdness, surprise behavior based on text in commits. That is textbook enshittification.

I've never used Claude Code, but this person doesn't understand what "textbook enshittification" means. "Enshittification" is a feature of certain kinds of business models, progressing through the following stages:

1. Giving away a product free to users, subsidized by venture capital, to gain a monopoly

2. Switching to advertising, then abusing users on behalf of the real customers, advertisers

3. Using monopoly power to abuse real customers (advertisers) to extract as much money as possible

Anthropic's business model doesn't have a "user / customer" dichotomy; their paid users are their customers. And they don't have a monopoly they can use to extract money yet.

ETA: In other words, "Enshittification" isn't just random; you're making the user experience worse in order to make advertiser experience better; and then making advertiser experience worse in order to extract maximum profit. The only complaint that could vaguely be related to profit is the OpenClaw stuff, and that's entirely due to trying to keep the "all-you-can-eat" model for non-OpenClaw users, rather than having to switch everything to metered.

show 1 reply
sibeliussyesterday at 9:46 PM

This is all so speculative and whatevs

show 1 reply
twoodfinyesterday at 5:47 PM

I’m confident that any unhappiness with Claude Code is at least 95% downstream of Anthropic seeing demand scale their revenue by ~3X in 6 months from a $multi-billion annual base.

Their product focus, roadmap, or execution is likely a rounding error in the face of that tsunami.

Frankly, it’s shocking they’re doing so well relative to, say, GitHub.

AtNightWeCodeyesterday at 7:04 PM

One thing is sure. Claude has become terrible. Criticize any code Opus 4.7 created and it starts a blame game. Also. It denies that a version 4.7 even exists. Will look into moving back to ChatGPT that I quit because the mandatory spyware bs they added which I believe they nuked.

agostayesterday at 7:22 PM

Umm, just use Deno? Everything author seems to love about Bun exists in Deno.

show 1 reply
esafakyesterday at 6:21 PM

Don't fret; the creator of mise has released a faster alternative: https://github.com/endevco/aube

fhnyesterday at 6:27 PM

I wonder why Anthropic chose to spend money on Bun when they could have easily spend that resource on Go which is fairly easy to use and fast. I'm sure their SWEs could easily everything things in Go. Anyone have insight on why?

show 9 replies
moomoo11yesterday at 8:30 PM

Why do people use bun? Would like an answer from an actual experienced / staff tier or higher engineer.

show 2 replies
deancyesterday at 5:40 PM

Let them cook. Anything that they can do to get rid of the absolute hell that is dependencies in the JS ecosystem is worthwhile. I really don't care what they add as long as it's maintained

namuolyesterday at 8:17 PM

I see the word “enshittify” being thrown around casually about Claude Code. We’re far from that part of the Enshittification cycle still. This is just a mismanaged product and the result of an extremely competitive market that moves too fast.

Never attribute to malice that which can be adequately explained by incompetence, etc.

show 2 replies

🔗 View 24 more comments