juiced

Juiced documentation

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-uncommitted

Close 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-only

Inspection 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 --decorate

Importing 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-forward

This 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 --watch

File 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.