DOCUMENTATION · LOCAL ALPHA

Start with one conversation.

Session Transfer is still in development: sign-in and cloud transfers are not open. The Mac local preview can browse sessions; its Key-based send and receive screens are for review only.

What is available today

The Mac preview discovers the standard local Codex and Claude session locations automatically. You can browse, search, move through pages, and select sessions in the library. These are read-only actions.

While the app is open, new local sessions and complete replies appear automatically. You can pause local updates. When reading earlier messages, use New messages to return to the latest. Codex Cloud and other computers are not connected.

The Key-based transfer service is not connected. Send starts from the selected sessions and Receive has one Key field, but their screens are currently a preview. They do not upload, download, charge you, or generate a working Key.

The CLI separately provides offline encrypted-file tools and readable context handoffs for supported formats. File import is not proof that a native desktop client can continue the conversation. Codex paginated restoration and real two-computer desktop continuation still need implementation or verification.

Start in the Mac app

  1. Open Session Transfer. Your local sessions appear automatically from standard locations. If a format or location cannot be read, the library explains the limitation.
  2. Find the conversation. Search or browse the pages, then use the selection controls to choose one, several, or all sessions in the indicated scope.
  3. Review Send. The selected sessions carry into the Send screen. You can check the selection now; the disconnected service will not upload or create a working Key.
  4. Preview Receive. Receiving starts with a single Key from the sender. The screen is available to review, but it cannot download sessions while the service is disconnected.

Once receiving is available, the app may ask which local project a conversation belongs to if it cannot match one automatically. It should explain the project choice in context. Repository files and agent sign-in remain separate from session transfer.

If a session is missing

Check that you are using a supported local agent format, then refresh the library. A missing or unreadable session is not an invitation to modify its database. Use troubleshooting guidance for nonstandard locations, and keep diagnostics free of conversation contents and credentials.

CLI offline tools

Developers who intentionally need a file-based workflow can use the CLI to export a supported session into an encrypted package, inspect it with its separate key file, and import it into an explicitly chosen test location. These advanced operations are separate from the normal Mac send/receive flow.

Run the downloaded CLI

Choose the CLI for your operating system and processor in Downloads. Keep its filename. The examples below assume you saved it in your Downloads folder; if you chose another folder, open your terminal there instead and omit the cd line. You can run the file directly without installing it on your command search path.

macOS, Apple Silicon — Terminal:

cd ~/Downloads
chmod u+x ./session-transfer-darwin-arm64
./session-transfer-darwin-arm64 --help
./session-transfer-darwin-arm64 --version

For an Intel Mac, replace session-transfer-darwin-arm64 with session-transfer-darwin-x64 in all three commands.

Linux, x64 — terminal:

cd ~/Downloads
chmod u+x ./session-transfer-linux-x64
./session-transfer-linux-x64 --help
./session-transfer-linux-x64 --version

For Linux ARM64, replace session-transfer-linux-x64 with session-transfer-linux-arm64 in all three commands. If Downloads offers the native build named session-transfer, use that exact filename with ./ instead.

Windows, x64 — PowerShell:

cd ~/Downloads
.\session-transfer-windows-x64.exe --help
.\session-transfer-windows-x64.exe --version

Help should begin with Session Transfer and list commands such as sessions list and handoff. The version command should print the CLI version shown for your download. Both commands only display information; they do not read your sessions. Keep the same ./filename or .\filename.exe prefix when running other commands.

If the file cannot be found, check the folder and exact filename. On macOS or Linux, Permission denied means you should check the execute-permission step above. If the operating system blocks the binary, stop and check its origin and release instructions; these steps do not bypass system security checks.

First-run help and version have been checked with local copies on macOS Apple Silicon. Intel Mac, Linux, Windows, and a fresh browser download on a clean computer still need runtime verification.

For offline package operations, begin with an isolated test session, keep the package key private, and verify the result in the target agent. The tools refuse conflicting records and unsupported formats; do not bypass those checks.

An encrypted file is not a receive Key. The Mac Receive field will use a Key issued by the connected transfer service; it does not accept local package paths or key-file paths.

Moving between agents

The CLI can prepare a Markdown handoff containing readable conversation history and selected context. Review the file, open a new conversation in the destination agent, and provide the material with your next request. It does not open or continue that conversation automatically.

The target agent uses its own instructions, tools and permissions. A handoff does not preserve a running process, private reasoning state or an open terminal. Key-based cross-agent delivery is not connected in the Mac preview.

Build from the monorepo

The three surfaces share one independent repository: the macOS app, cross-platform CLI, and this website. From the repository root with Bun installed, build the CLI:

bun install
bun run check
bun run build:cli

On macOS and Linux, the executable is dist/session-transfer. From the same repository root, run:

./dist/session-transfer --help
./dist/session-transfer --version

On Windows, the build writes dist/session-transfer.exe. Use PowerShell from the repository root:

.\dist\session-transfer.exe --help
.\dist\session-transfer.exe --version

The build produces an executable file; no command search path change is needed. Check for the help text and the CLI version as described above before choosing source or destination paths.

To build the Mac app, run bun run build:mac on macOS with the Swift command-line tools installed. Build the website separately with bun --no-env-file apps/web/build.ts, or preview it with bun run dev:web.

This is an independent application. Building it should not replace existing agent apps or modify another product’s settings. The local development web server only listens on 127.0.0.1.

Looking ahead

After dependable personal transfers, the roadmap includes teammate handoff, continuous device sync, portable agent memory, and runtime coordination. We are also exploring keeping a computer awake while an agent is actively working.

These are planned directions, not current features. Memory needs its own review and consent boundary; keeping a machine awake should follow the actual running task and release promptly when it ends. An open-source Pi-based runtime is one candidate under investigation, not a shipped dependency.