Skip to content

Pushing & Pulling

Once authenticated, you can push sessions to the cloud and pull them to other machines.

Upload local sessions to the cloud:

Terminal window
lore cloud push

On your first push, you’ll be prompted to create an encryption passphrase. This passphrase:

  • Encrypts your session content before upload
  • Is never sent to the server
  • Must be at least 8 characters
  • Is required to decrypt sessions on other machines
First sync - set up encryption
Your session content will be encrypted with a passphrase that only you know.
The cloud service cannot read your session content.
Enter passphrase: ********
Confirm passphrase: ********

See what would be synced without actually pushing:

Terminal window
lore cloud push --dry-run

Download sessions from the cloud:

Terminal window
lore cloud pull

Sessions from other machines are downloaded and decrypted. Sessions you created on the current machine are skipped (you already have them).

When pulling to a new machine, you’ll need your encryption passphrase:

Enter your encryption passphrase to decrypt sessions:
Passphrase: ********

The passphrase is verified by successfully decrypting session content. Once entered, the derived key is cached locally so you don’t need to enter it again.

By default, pull only fetches sessions since your last sync. To pull everything:

Terminal window
lore cloud pull --all

Perform a bidirectional sync (pull then push):

Terminal window
lore cloud sync

This ensures you have the latest from all your machines and uploads any new local sessions.

View your sync status:

Terminal window
lore cloud status

Example output:

Cloud Sync
Account:
Email: you@example.com
Plan: pro
Cloud:
Sessions: 42
Storage: 1.2 MB
Last sync: 3 hours ago
Local:
Total sessions: 56
Pending sync: 3
Last sync: 3 hours ago
Next auto-sync: in 2 hours 15 minutes

The “Next auto-sync” line shows when the daemon will automatically sync your sessions. If the daemon is not running or encryption is not configured, this will show “Not scheduled”.

┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Your Machine │ │ Lore Cloud │ │ Other Machine│
│ │ │ │ │ │
│ sessions.db │──encrypt──▶ │ encrypted │ ──decrypt──▶│ sessions.db │
│ │ │ blobs │ │ │
└──────────────┘ └──────────────┘ └──────────────┘
  1. Push: Sessions are encrypted locally with your passphrase, then uploaded
  2. Store: Cloud stores encrypted blobs — we cannot read your content
  3. Pull: Other machines download and decrypt with the same passphrase

Session metadata (tool name, timestamps, project path) is stored alongside encrypted content to enable browsing in the web dashboard.

Each machine gets a unique ID stored in your configuration. This allows:

  • Skipping sessions that originated on the current machine during pull
  • Tracking which machine created each session

Sessions with many messages may exceed upload limits. If a session is too large:

  • It’s skipped during push with a warning
  • Other sessions continue uploading normally
  • The large session remains available locally