Skip to main content

Usage

lazy push [options]
Reads your local AI tool config, shows a diff preview, and uploads it to the cloud after confirmation.

Options

FlagDescriptionDefault
-t, --tool <id>AI tool to syncclaude
-p, --profile <name>Profile name (Claude only)
-m, --message <text>Version message (like a commit message)
-f, --forceSkip merge, full overwritefalse
-T, --team <slug>Push to a team workspace

Examples

Push Claude Code config (default):
lazy push
Push Cursor config:
lazy push --tool cursor
Push to a team:
lazy push --team my-team
Push a Claude profile:
lazy push --profile work
Push with a version message:
lazy push -m "Add MCP server for Slack"
Force push (overwrite cloud with local):
lazy push --force

Behavior

Smart merge (default)

When a config already exists in the cloud, lazy push performs a smart merge:
  • Local wins on conflicts — your local changes take priority
  • Cloud-only fields are preserved — things that exist in the cloud but not locally stay untouched
  • A diff preview is shown before applying

Force mode

With --force, the cloud config becomes an exact copy of your local files. No merge, no preserved fields.

Version messages

Each push includes a change summary that describes what changed. You can also add a custom message with -m:
lazy push -m "Updated rules for new coding standards"
If no message is provided, an auto-generated summary is created from the diff (e.g. “Modified CLAUDE.md, added .mcp.json”).

No changes

If your local config is identical to the cloud version (same hash), the push is skipped and no new version is created.

Limits

  • Maximum payload size: 512 KB per config
  • Config name: alphanumeric, dashes, and underscores only (max 100 characters)
  • Valid tools: claude, cursor, copilot, gemini, windsurf, cline
New configs count against your plan’s config limit. See Plans for details.