What is a Session?
When you runcatty new, Catty:
- Provisions a cloud machine (Debian-based, with dev tools pre-installed)
- Uploads your workspace to
/workspace - Starts Claude Code with your secrets as environment variables
- Connects your terminal via WebSocket
Session Labels
Each session gets a memorable label like:brave-tiger-1234swift-falcon-5678clever-dolphin-9012
Session Lifecycle
Running
- Claude Code is active
- You can connect/disconnect freely
- Workspace saves to cloud every 30 seconds
- Sync-back sends file changes to your local machine
Stopped
- Cloud machine is terminated
- Workspace snapshot remains in cloud storage
- Use
catty downloadto retrieve files
Persistence
Sessions persist until:- You run
catty stop <label> - TTL expires (2 hours of inactivity)
- The machine crashes (rare)
- Start a session at work, close your laptop, reconnect from home
- Run long tasks and check back later
- Disconnect during network issues and reconnect when stable
Multiple Sessions
Run multiple sessions in parallel for different projects:Session Environment
Each session includes:| Tool | Version |
|---|---|
| Node.js | 22 |
| Git | Latest |
GitHub CLI (gh) | Latest |
| Python | 3.x |
| ripgrep, jq, vim | Latest |
| Build tools | gcc, make |
apt-get, npm, pip, etc. (installations don’t persist across sessions).
See Also
- catty new - Start a session
- catty connect - Reconnect to a session
- catty stop - Stop a session
- Workspaces - How file storage works
