Move code between your laptop and the cloud
Send commits and local edits to Juiced, inspect remote changes, and import or fast-forward results explicitly.
The first launch copies committed history
In a Git repository, Juiced initializes the remote checkout from your exact local HEAD, including unpublished commits. Later launches reuse that checkout. Uncommitted local edits are not included automatically.
Send local commits or edits
juiced claude sync --to-workspace
# Also send staged, unstaged, and non-ignored untracked files:
juiced claude sync --to-workspace --include-uncommittedClose the workspace’s running sessions before using these upload commands. An existing remote checkout must be clean and able to fast-forward to the uploaded commit. Your local files and index stay untouched.
Git ignore rules control which untracked files travel with a snapshot. Tracked files are included even when an ignore pattern matches them. Review what you are sending, especially tracked configuration files.
Inspect cloud changes
juiced claude ls
juiced claude peek --changes-onlyInspection compares local and remote files without applying changes or spending a Claude model turn.
Import commits for review
juiced claude sync --from-workspace
git log --oneline --all --decorateImporting stores remote commits under Juiced’s Git refs. It does not move your current branch or change your working files. Ask Claude to commit remote work before importing; remote uncommitted edits stay in the cloud.
Apply results to your local branch
juiced claude fast-forwardThis command imports results and explicitly advances the original local branch when the working tree is clean and history can fast-forward. It refuses detached HEADs, branch changes, dirty files, and divergent history. It does not merge, reset, rebase, or stash your work.
Claude can also request publication during an interactive session. Those requests require approval in your local terminal. See the publication reference for commit and snapshot behavior.
Directories without Git
A non-Git project starts with an empty remote folder. Explicit file sync is available on macOS and Linux, on arm64 and x64:
juiced claude sync --files
# Keep syncing in a separate terminal:
juiced claude sync --files --watchFile sync is bidirectional, including deletions after its first reconciliation. Conflicts preserve both copies and stop the command. Git repositories use the commit and snapshot commands above.