Sprite functional but invisible to list/API - ghost sprite after login

Summary

A sprite (meeting-prep) is fully functional – sprite exec, sprite console, and HTTP
connections all work – but it does not appear in sprite list output and returns “sprite not
found” from the management API (sprite url, sprite destroy). A second sprite
(bookmark-extractor) in the same org, created around the same time, lists normally.

Environment

  • CLI version: v0.0.1-rc39

  • OS: macOS 26.3 (arm64)

  • Account: [redacted]

  • Organization: [redacted]

  • Sprite created: 2026-02-23 (~22:39 UTC based on first checkpoint)

Reproduction

bash

# The sprite is alive and responds to commands
$ sprite exec -s meeting-prep echo "alive"
alive

# But it doesn't appear in the list
$ sprite list
bookmark-extractor

# Management API returns "not found"
$ sprite url -s meeting-prep
Error getting sprite info: sprite not found: meeting-prep

$ sprite destroy meeting-prep
Error: Failed to destroy sprite: sprite not found

# Console picker (which reads local cache) shows BOTH sprites
$ sprite console
# → picker shows: meeting-prep, bookmark-extractor

Debug evidence

sprite --debug list shows the listing call completes successfully but only returns bookmark-extractor. The same org token is used for both list and exec:

msg="Final organization selection" org=foo-bar
url=https://api.sprites.dev
msg="Found token in user-scoped keyring" org=foo-bar
tokenLen=113
msg="Listing sprites" prefix=""
bookmark-extractor

sprite --debug exec -s meeting-prep succeeds with the same token:

msg="Resolved org from sprite tracking"
sprite=meeting-prep org= source=unique
msg="Found token in user-scoped keyring" org=foo-bar
tokenLen=113
msg="Command started" connectionMode=direct
sprite=meeting-prep

The sprite authenticates and connects using the foo-bar org token, confirming it belongs to this org. The exec path resolves the sprite via the local known_sprites.json cache and connects directly, bypassing the listing API – which is why exec works but list doesn’t.

What’s inside the sprite

The sprite is healthy with checkpoints and working services:

$ sprite exec -s meeting-prep sprite-env checkpoints list
[
  {"id":"Current", "create_time":"2026-02-24T07:13:18Z"},
  {"id":"v1", "create_time":"2026-02-23T22:55:12Z"},
  {"id":"v0", "create_time":"2026-02-23T22:39:21Z"}
]

Local cache state

~/.sprites/known_sprites.json correctly tracks both sprites under the same org:

json

{
  "sprites": {
    "bookmark-extractor": [
      { "organization": "foo-bar", "url":
"https://api.sprites.dev", "use_count": 3 }
    ],
    "meeting-prep": [
      { "organization": "foo-bar", "url":
"https://api.sprites.dev", "use_count": 39 }
    ]
  }
}

Behavior summary

Command             Data source         Sees meeting-prep?
──────────────────────────────────────────────────────────
sprite list         Server API GET      No
                    /v1/sprites
sprite url -s       Server API GET      No ("not found")
meeting-prep        /v1/sprites/{name}
sprite destroy      Server API DELETE   No ("not found")
meeting-prep        /v1/sprites/{name}
sprite console      Local               Yes
                    known_sprites.json
sprite exec -s      Local cache +       Yes (works)
meeting-prep        direct connection

Impact

  • Cannot manage the sprite (no destroy, no URL config, no policy updates)

  • Cannot recreate it – sprite create meeting-prep would likely conflict if the underlying machine still exists

  • The sprite is running and consuming resources but is invisible to the control plane

Possibly related

This looks similar to the issue reported in “Missing Sprites after sprite login” from January 2026, where sprites were running but disappeared from the listing API after re-authentication. That issue was resolved with a server-side fix.

In my case, I ran sprite login on Feb 23 before creating sprites. bookmark-extractor was created and listed normally. meeting-prep was created shortly after and has never appeared in sprite list despite being fully functional.

Since you posted this they shared a status issue about Sprites failing to create - maybe related? Fly.io Status - Sprite creations failing

Strangely, it resolved itself…

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