<- Back
Comments (99)
- MrOrelliOReillyI appreciate the Fly.io team’s enthusiasm and am optimistic this will mature into a product I’d pay for, but my initial impression was of a lack of polish.Documentation is sparse, or not even available? The API docs don’t tell you much about the service itself, and a Google search for docs returns an inaccessible website as the first result (https://docs.sprites.dev). Blog posts and forum threads and Claude skills shouldn’t be a substitute.The snappiness of the sprites is very cool and I can definitely see it integrating into future Claude Code workflows. But the lack of a base container images means you’re still doing setup work on the sprite before you can begin development. I understand the philosophy is that sandboxes should be persistent, but Claude Code sessions also work better when isolated from each other, so it’d be nice to have some precepts to get a workspace setup quickly (given agentic coding is clearly a target).I also found the CLI unintuitive but maybe that was just me!So very cool idea but left with the impression that the Fly.io team’s should have spent a couple weeks on polish before shipping.
- thomasfromcdnjsI created a "mcp server" for sprites yesterday through this new ecosystem I am working on, you can clone the collection, and then just add this https://tpmjs.com/api/mcp/ajax/sprites/sse mcp sse url to claude desktop, or anything you want.tpmjs is a registry of ai sdk npm packages (i created them for sprites), which you can add to personal collections, we automatically server your collections as mcp servers if you want.Creating sprites in an example chat bot -> https://imgur.com/a/ETNxR1oCreating sprites in claude desktop -> https://imgur.com/myC0U28Listing out my sprites in claude desktop -> https://imgur.com/rgBU0jm---You can view the collection of tools here -> https://tpmjs.com/ajax/collections/sprites (fork it to use it yourself)I'm looking into exe.dev and sprites.dev to build out extra features into tpmjs, agent sandboxes make a lot of sense.
- raro11Tried it. Docker wasn't preinstalled so asked Claude to do it and make sure it's running (supervisord or the likes isn't preinstalled).It neatly did so and "registered" it as a sprite service. Then I exited my session, waiting for the sprite to go idle, but I don't think it ever does.. Still have it active. Don't know how to idle it.Can't tell for sure if this means I'm losing credits as there is no billing usage shown anywhere.Also waiting for the moment where I can launch a sprite from another's checkpoint.
- agostaGuess I'm confused - is the ideal use case for Sprites for suspendable, iterative, sandboxed compute sessions (with disk)?.. Or is the idea that these things can also/should run production workloads in place of a traditional webserver setup? If the latter, can every sprite boot up with what's needed to instantly serve web traffic? Or would they need to build/install things internally every time a new sprite turned on? Do these horizontally scale a long lived, high trafficked application?
- drob518Sounds cool. I love Fly.io. That crew is sharp. The article could do with a few pictures to illustrate the layers. I’ve read it, but I can’t say that I understand the implementation.
- roywigginsI've been having fun with OpenCode's webui in a Sprite, set it up right in Termux and you can vibe code a website with a full backend from your phone. I have a Termux shortcut that sets up a port forward and pops open my web browser to the OpenCode webui. OpenCode can pick up the Sprite skill built into the containers so it can manage the instance itself (mostly setting up and destroying services).Of course you can do similar with a VPS, but this makes it very easy (and cheap!) to spin up an entire new machine with a public url and HTTPS whenever you want to.
- senkoNot sure where to report this, so here goes: something weird's going on with the title setters (from default .bashrc, the 'case' block near the top) when connecting from my Linux box.Tried with xterm, tilix and ghostty, all of which support the title setter escape sequence locally. For some reason, these get messed up (smells like edge case with escaping) and the result looks like this: $ sprite c ": history-search-backward' \]\u@\h\[\]:\[\]\w\[\]\$ ' ": history-search-forward'sprite@sprite:~$ "sprite@sprite:~$ I'm guessing y'all use Zsh because that works flawlessly :)
- tptacekI wish I'd had more space to write about the global orchestrator design, because it's fun.The Fly Machines orchestrator goes through some trouble to keep the source of truth for each VM decentralized, owned by the physical it runs on. But there's still global state --- apps, organizations, services. That stuff is all on Postgres. Postgres keeps up with it just fine but I'd be lying if I didn't say we're always looking out the corner of our eyes on metrics.The global state for Sprites is on object storage. Each organization gets a separate SQLite database, and that database is synchronized to object storage with Litestream.io (Lightstream is load bearing in a bunch of places here; solid as a rock for us).I think people really still sleep on the "multiple SQLite database" backing store design.
- tom_The sprite is a pretty outdated thing these days, but is the term sufficiently unused to make it free for reuse?
- dangRecent and related: Code and Let Live - https://news.ycombinator.com/item?id=46557825 - Jan 2026 (186 comments)
- ssullySounds neat! Also kind of funny, because I already use Fly machines as a bit of a playground for some personal projects and really like it for that purpose. I have minor issues, some of which this blog post directly talks about, but nothing that has held me back.Also I like a lot of what you get built-in with Fly machines(ex:Grafana). So I am curious how this would fit in my workflow. Maybe Sprites for rapid development and toy projects, and move to a Fly machine when I need something a little more beefy?Looking forward to checking this out.
- nnevatieI was looking forward to a post about designing sprites, i.e. little graphical blobs flying across screen. Needless to say, this was not it.
- akraussWhat I missed when trying it was a simple way of accessing private repositories. There does not seem to be ssh agent forwarding, or is there? What do people use?I realize this is all very fresh, but still wondering…
- blackqueerirohI love sprites. I’m currently trying g to figure out how to best launch and connect to sprites from iOS. I’ve tried several things - vibe coding a terminal app is a little wild and not the best way maybe to handle this.I believe currently the sprites CLI is using websockets to handle the connection, and the external proxy when you make a sprite public doesn’t handle websockets correctly?Does that sound right?
- peterldownsVery cool. One usecase the blogpost seems to hint at is to use this to implement async agents that write code for you. Like, you have some system that hears about a new issue — from slack, linear, wherever — and then spins up a Sprite, checks out the codebase, works on a solution, commits, and creates a PR.Is that what you guys are thinking of? I get that Sprites are a new primitive, but I feel confused as hell about what exactly I'd want to do with it.
- dangoodmanUTCheckpoints defined by the guest, not the host, was something I was working on recently too [1] (just before this came out). Very validating![1] https://github.com/danthegoodman1/checker
- disillusionedMade a sprint and connected via Windows Terminal and noticed it's purely white on black, not observing the normal Claude terminal color schemes... any ideas why that's the case? Am I missing something insanely simple?
- blackqueerirohI love my sprite.I just want an easier way to connect to and launch sprites from my phone.any ideas there?
- lbrito>Any time anybody needs a pen, several are at hand, in exactly the first place they look.>Now, today, under the hood, Sprites are still Fly Machines. But they all run from a standard container.So its basically a faster VM?What are some use cases for this that benefit from the faster boot time?
- amonksVery cool product, but I have to ask, out of personal interest:What did the bracket in the slack channel determine was “Chicago’s best sandwich”? Or the top three, even? I’m always looking for new sandwiches.Off the top of my head, I might nominate,- the pork tenderloin at JT’s- the Big L from Fontano’s (hot take, I know; it might go to Graziano’s if they hinge-cut the bread, but not doing so is a fatal flaw to me)- the Cambodian fried chicken sandwich that’s occasionally available at Hermosa- honorable mention: the comically oversized chicken torta at Migos(Edit: I inexcusably transposed Bari and Fontano’s; the nomination is intended for Fontano’s)
- boundlessdreamzIs there a way to copy files to/from the sprite? Couldn't see an option for that in the CLI
- fuddleHow does Sprites compare to E2B sandboxes?
- tomjen3I was reading through the documentation and it seems like these are writing directly to storage not on the machine where the sprite lives? That makes me worry for how slow the storage is. npm install writes a lot of files.
- benatkinTo me, this sounds more monolithic than containers. I think I'd like something less monolithic. However, those who like monorepos might be more quick to develop an interest in this. I could of course use containers within the MicroVM, which is what I really want anyways, because I want lighter weight containers than MicroVMs for sandboxes.While looking into giving fly another shot as a cloud provider even though I think it's still pretty much a commodity for me, I found an issue in Google: I searched for "fly.io sao paolo" and the title of the first result on fly.io is "Regiones · Fly Docs", translated from english to Spanish. While I find the translation in titles on Google annoying, I haven't often seen the characters messed up like this. I reproduced this in Incognito at this URL: https://www.google.com/search?hl=es&q=fly.io%20sao%20paolo
- neuroelectronThis is not the kind of sprites I'm interested in
- ZeroConcerns[flagged]