Run Claude Code sessions remotely.
Catty spins up isolated Claude Code environments on-demand, syncs your local workspace in both directions, and gives you a seamless terminal experience - as if Claude Code was running locally.
# Install (macOS and Linux)
npm install -g @diggerhq/catty
# Log in (required once)
catty login
# Start a session in your project directory
cd your-project
catty newThat's it. Your files sync to the remote environment, and any changes Claude makes sync back to your local directory in real-time.
- No local setup - Claude Code runs in an isolated cloud environment
- Two-way sync - Your workspace uploads automatically, and changes sync back to your local directory in real-time
- Native terminal feel - Full PTY streaming means colors, vim, interactive prompts all work perfectly
- Isolated sessions - Each session runs in its own environment, fully isolated
catty login # Authenticate (required before first use)
catty logout # Remove stored credentials
catty new # Start Claude Code session (uploads current directory)
catty new --no-upload # Start without uploading workspace
catty new --no-sync-back # Disable syncing remote file changes back to local
catty connect <label> # Reconnect to an existing session
catty list # List your sessions (shows labels)
catty stop <label> # Stop a session by label
catty version # Print version number- macOS (Intel or Apple Silicon) or Linux (x64 or ARM64)
- Node.js 16+
When you run catty new, your current directory is zipped and uploaded. The following are automatically excluded:
.git/directorynode_modules/- Python virtual environments (
.venv,venv) .envfiles- Anything in your
.gitignore
Maximum upload size: 100MB
Changes made remotely sync back to your local directory automatically. Use --no-sync-back to disable this.
catty loginauthenticates you via browser (one-time)catty newcreates an isolated environment- Your current directory is zipped (respecting
.gitignore) and uploaded - Claude Code starts with your workspace
- Terminal I/O streams over WebSocket - you interact as if it's local
- File changes sync back to your local directory automatically
- When done,
catty stopor Ctrl+C terminates the session
"Not logged in" error: Run catty login first.
Session won't start: Check your internet connection and try again. If the problem persists, try catty logout then catty login.
Files not appearing: Check that your workspace is under 100MB and files aren't gitignored.
- Progress indicators - Progress bars for uploads and other long operations
- Documentation site - Comprehensive docs at docs.catty.dev
- Multi-key support - Pool of API keys for handling load spikes
See AGENTS.md for architecture details, deployment instructions, and contribution guidelines.
MIT