feat: Add Sprites provider and sandboxes claude command#16
Merged
Conversation
Add Fly.io Sprites as a sandbox provider:
- Dual-mode: SDK (SPRITES_TOKEN) or CLI (sprite login)
- Claude Code, Python 3.13, Node.js 22 pre-installed
- Checkpoint/restore support for instant starts
- 100GB persistent storage, ~$0.46/4hr session
Add 'sandboxes claude' command for interactive Claude Code:
sandboxes claude # Start Claude Code in sandbox
sandboxes claude -n myproject --keep # Persistent environment
Also adds 'sandboxes shell' for raw shell access.
Security: env var key validation and shell value escaping
- Add -p/--provider flag to choose between sprites and e2b - E2B uses anthropic-claude-code template with Claude Code pre-installed - Full PTY bridge: stdin/stdout passthrough, terminal resize handling - Update README with E2B setup instructions
- Use Sandbox.create() instead of deprecated constructor - Write to /home/user/.bashrc to auto-run claude on connect - Update README to clarify E2B requires both SDK and CLI - Note persistent environments are Sprites only
- Replace print() with logging in sandbox.py auto-configure - Add exception logging instead of silent pass blocks - Fix shell injection in Daytona/Modal providers (env var escaping) - Fix CLI mode issues in Sprites provider (get_sandbox, checkpoints) - Fix set.remove() -> discard() in pool.py (prevent KeyError) - Fix semaphore._value private API access in retry.py - Fix imprecise sandbox name matching in CLI - Fix E2B .bashrc overwrite (use wrapper script) - Add --keep default for resumed named sandboxes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sandboxes claudecommand for interactive Claude Code sessions in sandboxesFeatures
Sprites Provider
sprite login)sandboxes claudeCommandTest plan
sandboxes claudewith Spritessandboxes claude -p e2bwith E2B