Skip to main content

carryon

Carries an AI coding agent's working life between machines: the Setup that makes an agent yours (settings, skills, subagents, instructions, plugin lists) and the History of what you did with it. Both are encrypted before they leave the machine.

Works with Claude Code, Codex CLI, Cursor and the ~/.agents skills convention. A History moves for Claude Code and Codex.

Install

pipx install agent-carryon

uv tool install agent-carryon works too. The package is agent-carryon; the command is carryon. You need macOS or Linux, Python 3.9 or newer, and openssl, which both already have. carryon has no Python dependencies.

Two machines, five commands

You also need a Destination: somewhere both machines can reach. A synced folder (Dropbox, Google Drive, iCloud Drive, Syncthing) is the simplest. A private git repository or an rclone remote works too.

Every command that changes something prints a plan first and does nothing until you add --apply. Run it without, read the plan, then run it again.

On the first machine

carryon init --dest ~/Dropbox/carryon

init checks the Destination works, stores a new master key in the OS keychain, and prints your recovery key once:

Your recovery key - shown once, never stored by carryon:

    R5EB-RK4X-YNQE-L2UN-2IFV-4F76-HWQY-KCDW

Put it in your password manager now. If every machine loses its key, it is the only way back into your Archive. There is no reset.

carryon push --apply

This seals your Setup and every Session into the Archive at the Destination. If the scan recognises a credential, push names the file and carries it encrypted:

Setup: pushed, encrypted (Claude Code)
  possible secrets in 1 file, carried encrypted:
    .claude/settings.json (anthropic-key)
History: 24 Sessions pushed (0 unchanged), 8 project memories pushed (0 unchanged)
carryon pair

pair prints a one-time code and the command to run on the other machine.

On the second machine

carryon init --join PRET-805J-98XQ-2NVD --dest ~/Dropbox/carryon
carryon pull --apply

Joining takes the master key from the Destination, wrapped under the code, so you never type or copy the key itself. The code works once, within 24 hours.

pull adds the Archive's Sessions to this machine's and replaces the Setup, backing up anything it overwrites to ~/.carryon/backups/. It never deletes anything, and it skips a file another tool owns, such as a dotfiles symlink, and tells you which.

After that

carryon status          # what is out of step, and the command that fixes it
carryon sync --apply    # carry the History both ways: pull, then push

Nothing runs on its own; carryon has no background process. sync moves only the History. After changing settings or skills, push the Setup deliberately with carryon push --apply, and take it on the other machine with carryon pull --apply.

If you lose a machine's key, run carryon pair on another machine and join again. If no machine has the key, carryon init --recover takes the recovery key.

More

  • docs/trust.md: what is encrypted, what a Destination can and cannot see or do, the recovery key, and pairing.
  • docs/guide.md: what moves for each agent, choosing what moves, every command, Destinations, conflicts, and what each refusal means.
  • docs/development.md: tests, adding an agent, platform support, releasing.
  • CONTEXT.md defines the terms, and docs/adr/ records the reasoning behind each decision.

Licence

MIT. Credential detection rules ported from entangle (MIT, © 2026 Gowtham Sai Yadav); see LICENSE.

Metadata

Release files for agent-carryon 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent-carryon 0.2.1
File Size Uploaded Provenance Actions
agent_carryon-0.2.1.tar.gz 585.4 kB With provenance Details for agent_carryon-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for agent-carryon 0.2.1
File Interpreter ABI Platform Actions
agent_carryon-0.2.1-py3-none-any.whl Python 3 none any Details for agent_carryon-0.2.1-py3-none-any.whl

Total release size: 859.7 kB

Release files / agent_carryon-0.2.1.tar.gz

Download URL agent_carryon-0.2.1.tar.gz
Size 585.4 kB
Tags Source
SHA-256 checksum
How to use checksums
77d0f3cda57048c7b3b9e7c276961a07839e49d6add04b6e95ef51e0915c7af0
BLAKE2b-256 checksum
How to use checksums
fe0feaeb3781cbf4b47f435ec3f26e9484a1ec88f2104fd3a19e9a361eebbb24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / agent_carryon-0.2.1-py3-none-any.whl

Download URL agent_carryon-0.2.1-py3-none-any.whl
Size 274.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6160285412a17a957796d3e17f28aba2006201b86fea0e4902adc4236905c365
BLAKE2b-256 checksum
How to use checksums
72bf35cd0ec4bc85d756a8a6531b1af5702e9d7ef9c09abeb7f6319a014c0498
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Security for agent-carryon 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for agent_carryon-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page