Skip to content

Share history between members with a ship

A ship is a set of folders that several members share: their session history, memory and session folders, plus one list of MCP servers. Put a member on a ship with crew ship join <member> <ship>; members on the same ship can then --resume each other’s sessions. A member on no ship is isolated and sees only its own history.

Terminal window
crew ship create home
Created ship home: E:\demo-crew-pages1\crew-home\ships\home\projects
Terminal window
crew ship join main home
main shares history through ship home.

A ship holds five folders, projects, todos, file-history, session-env and shell-snapshots, plus an mcp.json. Joining replaces those five folders in the member’s folder with links to the ship’s (junctions on Windows, symlinks elsewhere). A new ship’s mcp.json starts as a copy of the MCP servers in your main ~/.claude.json.

What happens to the member’s own history

Section titled “What happens to the member’s own history”

The member’s history is never deleted. When it already has its own projects folder (or another of the five with files in it), crew moves that folder aside to <name>.before-crewrota-<date> inside the member folder and copies its files into the ship:

[i] Copied this member's history into the ship. The original folder is kept at E:\demo-crew-inventory\crew-home\members\main\projects.before-crewrota-20261104
main shares history through ship home.

A file whose name the ship already holds arrives beside it with .incoming-1 before its extension (<name>.incoming-1.jsonl) instead of replacing it. Once you have checked the ship, you can delete the .before-crewrota- folder yourself.

crew ship join to a missing ship asks Ship <ship> doesn't exist. Create it? (Y/n). That needs a terminal; without one:

crewrota: Ship crew2 doesn't exist. Creating it needs a terminal. Make it first with: crew ship create crew2

You can also pick a ship in the crew menu’s settings line, or answer “Share history with other members?” when you add a member.

Claude Code files each session under the folder it was started in. On a ship, every member reads and writes the same projects folder, so a session main started in a project shows up for side in that same project:

Terminal window
crew side -- --resume

Run it from the same project folder the session was started in. Claude Code’s flags, such as --resume <id> or --continue, go after --.

Terminal window
crew ship list
home: main, side
E:\demo-crew-inventory\crew-home\ships\home\projects

With none: No ships yet. Make one with: crew ship create <ship>

Terminal window
crew ship leave side
[i] side is isolated again. The ship's files stay in E:\demo-crew-inventory\crew-home\ships\home

Each link becomes an empty folder again, so the member starts with no history of its own. The ship keeps every file, including the sessions this member added.

Terminal window
crew ship rename home base
Renamed ship home to base.

The folder is renamed and every member on it is re-linked. On Windows a running Claude session can block the move; close it and try again.

Terminal window
crew ship delete base --force --yes
Folder: E:\demo-crew-inventory\crew-home\ships\base
Members linked: main (unlinked first; they become isolated)
Session files: 0
Deleted ship base. Its folder is kept at E:\demo-crew-inventory\crew-home\removed\ship-base-20261104-1826

Nothing is deleted: the folder moves to removed/ship-<ship>-<date>-<time> in your crew home.

  • With members aboard and no --force, crew refuses: Ship base still has members aboard: main. Run crew ship leave <member> for each first, or pass --force.
  • --force takes each member off the ship first; they become isolated.
  • Without --yes, crew asks Delete ship base? ... (default no), which needs a terminal. Without one: Confirming the deletion needs a terminal. Pass --yes to delete without asking.

If you kept Claude Code history somewhere else, copy it into a ship:

Terminal window
crew ship import home --from E:/demo-crew-inventory/ccs-group
projects 1 copied, 0 brought up to date, 0 already there, 0 kept beside a changed copy
todos 0 copied, 0 brought up to date, 0 already there, 0 kept beside a changed copy
Imported into ship home. E:/demo-crew-inventory/ccs-group was only read.

crew looks for each of the five folders at <from>/<name> or <from>/continuity/<name>, so a Claude Code config folder works, as does another tool’s shared-history folder in that layout. The source is only read. For each file:

  • a new file is copied;
  • the same file is left alone (“already there”);
  • a transcript that only grew in the source is brought up to date;
  • a file that changed on both sides arrives beside the ship’s copy with .incoming-1 before its extension (“kept beside a changed copy”).

Run it again any time to bring in what is new. The ship must exist first (Ship home doesn't exist. Make it first with: crew ship create home), and a folder holding none of the five stops with <folder> holds none of: projects, todos, file-history, session-env, shell-snapshots.