Tried out sprites, here's my experience

I figured I’d try out sprites since the people at fly have been writing all these posts about them. I’m coming from a background of having coded manually for many years, and recently started using agents like claude code, codex and zed on my computer, almost always in a supervised way.

  • I ran the curl | bash script to install it. Would be nice if I could install it via homebrew or if it was just built into the fly cli, but i digress
  • I created a sprite and connected to it with sprite console. I noticed a couple issues here, one is it breaks my terminal, I can’t use the up and down arrows to rerun past commands anymore after running sprite console. The other thing is the usual tmux command I run, tmux -CC attach, doesn’t work and somehow ends up killing my tmux session instead. So I’m not sure how I’m supposed to have a coding session on this remote machine that I can start up, disconnect from and then reconnect to later on.
  • since it’s supposed to be a sandboxed environment, I tried out codex with the –sandbox danger-full-access flag. It seems like the right way to go about this, but somehow it didn’t end up actually writing any code and after my tmux session died I couldn’t go back and see what happened in the session, scrollback either doesn’t work or is unsupported by codex. I wasn’t sure because I’m used to claude which lets you just scroll back and see the history. It could be it normally works with codex but somehow the native terminal scrolling breaks because of the ssh session.

Anyway, that was my first attempt at using sprites. Based on all the issues I ran into it seems like they must be in a pretty early state still. That said, I don’t know of any other service like this that lets you spin up a vm to code in like this so quickly and cheaply and automatically sleeps and wakes up as needed. Hopefully it gets more polished soon, the idea is great and the product just needs to catch up to the marketing

What terminal do you use?

You’re running tmux from your local and then the session is killed when you try to sprite console from within a tmux session?

Could you paste the output of sprite version? I wonder if you’re on an old version, we used to have some tmux -CC stuff so that e.g. iterm could hook onto tmux commands, I’m not sure if it’s still in there but it might be causing this problem if it is or you’re on an older CLI version.

I don’t have sprite installed on my computer anymore, but I installed it that day using curl https://sprites.dev/install.sh | bash

And I use iTerm on macos

My experience has been rough too:

  • Bash installer doesn’t add to the PATH my user (macos) is already watching, so I had to manually add to my PATH
  • Was able to get into the sprite, but once I exited (I was trying to figure out how to cp a file from my host system), my bash console was totally messed up. Invisible text etc.
  • Restarted my terminal and.. realized there doesn’t appear to be a clear or easy way to just reconnect to the sprite?

Overall the DX seems fairly subpar for what is definitely supposed to be an amazing tool for the CLI. The help list was confusing at a glance.

This one should be fairly straightforward: sprite console -s SPRITE_NAME

The other stuff is frustrating, sorry the experience wasn’t great there. I’m surprised the installer didn’t work for you on macos since many people working on Sprites at Fly are using a mac laptop - do you mind sharing what version of macos you’re on, and are you using apple silicon or intel?

Tahoe 26.3.1. Macbook Air M4.

✓ Fetching latest version (v0.0.1-rc41)

Warning: None of the standard bin directories (~/.local/bin, ~/bin, ~/.bin) are in your PATH.

         Using /Users/tim/.local/bin - you may need to add it to your PATH.

✓ Downloading Sprite CLI

✓ Verifying checksum

✓ Installed to /Users/tim/.local/bin

  Add to PATH: export PATH="/Users/tim/.local/bin:$PATH"

The default MacOS $PATH doesn’t seem to have any $HOME-based bin directories? This is a fairly vanilla macos install for me as I’m traveling and picked up a MBA for the trip.

Thanks for sprite console – that works now.

Breaking my terminal post exit the sprite is still occurring though, which seems like a fairly critical bug.

Which terminal are you using? Built-in macos one? iterm? And also are you using zsh or a different shell?

We’ve spent a decent amount of time on trying to make all this compatible with various shells, so I’m hoping this is just a silly mistake somewhere.

built-in macos terminal or the one inside vscode, both do the same thing.

im using bash 5.3.9 (`/opt/homebrew/bin/bash`), which may be the issue? yeah just tested zsh and the terminal doesnt break. fwiw flyctl works 100% fine for me (both installation via homebrew, shows up in path, and doesnt mess up bash after connecting to consoles, etc)

Yeh this is due to the difference in how consoling into a Sprite works (using the exec endpoint to run a login shell over websockets) vs consoling into a Machine (plain old SSH using the built-in hallpass ssh server).

We’ll take a closer look at why this isn’t working with that version of bash, thanks for the info!

fyi using zsh now and exiting sprite still messes up my console in a different way.

sprite console
exit

Simply doing the above, and then back in my terminal a simple ls -alh and it’s like all my newlines are busted or something? It just displays as one non-breaking stream,

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.