The same conversation
Transcript, memory, settings, and trust state arrive together so Claude can resume—not restart.
Built for Claude Code + AWS
Move a live Claude Code session to a persistent EC2 host—transcript, memory, settings, working tree, and all.
❯ ccs shift
Claude Cloud Shift · session 7f3e2a
✓ prerequisites 24 checks passed
✓ worktree committed + pushed
✓ host i-05802c2335bab6dfe · running
◒ replicating untracked files
/Users/anorman/Git-Repositories/project
SESSION transcript anchor verified · 12.4 MB
REMOTE same absolute path · same conversation
One conversation. Two machines...or more
Transcript, memory, settings, and trust state arrive together so Claude can resume—not restart.
Tracked changes travel through Git. Untracked work moves separately without trampling your repository.
The host updates its own Route 53 record, then SSH and tmux keep your session one command away.
Activity-aware idle detection watches the transcript and attached users—not a misleading process list.
Tools, repositories, credentials, and build trees stay on encrypted storage between starts.
A dated local snapshot lands before cloud work comes home, and transcript anchors guard both sides.
More than remote access
Your repository stays a Git repository. Your conversation stays one conversation.
A reversible workflow
Each stage is visible, repeatable, and resumable. If a step needs attention, fix it and continue from there.
Run ccs shift inside the conversation you want to move.
Code, untracked files, Claude state, and the exact transcript anchor move together.
Attach through tmux and keep working on a persistent Amazon Linux host.
ccs return snapshots first, pulls the work, joins the transcript, and stops the host.
Designed for unattended work
Cloud Shift gives an autonomous session room to work, and gives you room room to roam.
One open port. SSH only, key authentication only.
One DNS record. The instance role can UPSERT exactly one A record.
Secrets in logs. Sensitive values travel over stdin and are redacted.
❯ ccs status
Host stops only when the transcript is quiet and nobody is attached.
Bootstrap the CLI, verify your AWS access, and make the first shift.