codeteleport pull
Synopsis
Section titled “Synopsis”codeteleport pull [--session-id <id>] [--version <n>] [--target-dir <path>] [--machine <name>] [--agent <id>] [--all] [--as <id>]Description
Section titled “Description”The pull command downloads a session from CodeTeleport cloud storage and installs it into the local data directory of the AI coding agent that produced it. After installation, resume with the command shown in the output — claude --resume <id> for Claude Code, codex resume <id> for Codex, or agy --conversation <id> for Antigravity.
The install destination depends on the bundle’s agent, not your local config: Claude Code restores to ~/.claude/projects/, Codex to ~/.codex/sessions/YYYY/MM/DD/rollout-<ts>-<id>.jsonl, and Antigravity to ~/.gemini/antigravity-cli/conversations/<id>.db.
If no --session-id is provided, the command fetches your cloud sessions and presents an interactive picker. The picker defaults to your configured agent’s sessions (each row is labelled with its agent); use --all to browse every agent or --agent <id> to pick a specific one. Pulling a specific session by --session-id always works regardless of agent. You always see a confirmation before any download starts.
During installation, all paths inside the session are automatically rewritten to match the current machine’s username and directory structure. A session pushed from /Users/alice/workspace/myapp on one machine will be correctly mapped to /Users/bob/projects/myapp on another. See Path Rewriting for how this works.
| Flag | Description |
|---|---|
--session-id <id> | Pull a specific session by ID instead of browsing the list. |
--version <n> | Pull a specific version instead of the latest. Use with --session-id. See codeteleport versions. |
--target-dir <path> | Anchor the session at this directory. Defaults to the current working directory. This is the project root that paths will be rewritten relative to. |
--machine <name> | Filter the session list to only show sessions pushed from a specific machine. |
--agent <id> | Scope the picker list to a specific agent (claude-code, codex, or antigravity). Defaults to your configured agent. Does not restrict --session-id pulls. |
--all | Show sessions from all agents in the picker, overriding the default per-agent scope. |
--as <id> | Convert the session into another agent’s format on install: claude-code, codex, or antigravity. See Converting between agents. |
Converting between agents
Section titled “Converting between agents”By default pull restores a session for the agent that created it. With --as you can instead convert it into a different agent’s format on the way in:
# pull a Codex chat and continue it in Claude Code$ codeteleport pull --session-id a1b2c3d4 --as claude-code
# pull a Claude Code chat and continue it in Codex$ codeteleport pull --session-id a1b2c3d4 --as codex
# pull a Claude Code (or Codex) chat and continue it in Antigravity$ codeteleport pull --session-id a1b2c3d4 --as antigravityConversion works between any two agents — Claude Code, Codex, and Antigravity all convert to each other.
Examples
Section titled “Examples”Interactive pull (browse cloud sessions)
Section titled “Interactive pull (browse cloud sessions)”$ codeteleport pull
Cloud sessions (5 of 12):
1) api-refactor a1b2c3d4 work-laptop 847 KB 10 min ago 2) auth-bug-fix f9e8d7c6 work-laptop 1203 KB 2 hours ago 3) dashboard-ui b5a4c3d2 home-desktop 512 KB 1 day ago 4) api-refactor c7d8e9f0 work-laptop 934 KB 3 days ago 5) docs-update d1e2f3a4 home-desktop 289 KB 1 week ago
Pick a session (number): 1
Downloading...Installing...
Session pulled id : a1b2c3d4-e5f6-7890-abcd-ef1234567890 version : 3 from : work-laptop to : /Users/bob/.claude/projects/-Users-bob-workspace-api
Resume with: claude --resume a1b2c3d4-e5f6-7890-abcd-ef1234567890Pull a specific session
Section titled “Pull a specific session”$ codeteleport pull --session-id a1b2c3d4-e5f6-7890-abcd-ef1234567890Downloading...Installing...
Session pulled id : a1b2c3d4-e5f6-7890-abcd-ef1234567890 version : 3 from : work-laptop to : /Users/bob/.claude/projects/-Users-bob-workspace-api
Resume with: claude --resume a1b2c3d4-e5f6-7890-abcd-ef1234567890Pull into a specific directory
Section titled “Pull into a specific directory”$ codeteleport pull --target-dir ~/projects/api-serviceDownloading...Installing...
Session pulled id : a1b2c3d4-e5f6-7890-abcd-ef1234567890 version : 3 from : work-laptop to : /Users/bob/.claude/projects/-Users-bob-projects-api-service
Resume with: claude --resume a1b2c3d4-e5f6-7890-abcd-ef1234567890Filter by source machine
Section titled “Filter by source machine”$ codeteleport pull --machine home-desktop
Cloud sessions (2 of 2):
1) dashboard-ui b5a4c3d2 home-desktop 512 KB 1 day ago 2) docs-update d1e2f3a4 home-desktop 289 KB 1 week ago
Pick a session (number):Output for other agents
Section titled “Output for other agents”The examples above show Claude Code output. When the bundle was created by a different agent, the to line and the resume command change to match that agent. For a Codex bundle:
Session pulled id : a1b2c3d4-e5f6-7890-abcd-ef1234567890 version : 3 from : work-laptop to : /Users/bob/.codex/sessions/2026/06/17/rollout-2026-06-17T10-30-00-a1b2c3d4-e5f6-7890-abcd-ef1234567890.jsonl
Resume with: codex resume a1b2c3d4-e5f6-7890-abcd-ef1234567890For an Antigravity bundle:
Session pulled id : a1b2c3d4-e5f6-7890-abcd-ef1234567890 version : 3 from : work-laptop to : /Users/bob/.gemini/antigravity-cli/conversations/a1b2c3d4-e5f6-7890-abcd-ef1234567890.db
Resume with: agy --conversation a1b2c3d4-e5f6-7890-abcd-ef1234567890What happens during pull
Section titled “What happens during pull”- Download — the compressed session bundle is fetched from cloud storage to a temporary file.
- Unbundle — the archive is extracted and session files are written into the agent’s local data directory:
~/.claude/projects/for Claude Code,~/.codex/sessions/...(plus thestate_5.sqlitethread inventory) for Codex, and~/.gemini/antigravity-cli/for Antigravity. - Path rewriting — all absolute paths in the session data (working directory, file references, tool call arguments) are rewritten from the source machine’s paths to the current machine’s paths. For Claude Code and Codex transcripts and memory, this is text replacement. For Antigravity, the conversation is a SQLite database whose payloads are protobuf BLOBs, so embedded absolute paths are rewritten with binary, length-prefix-aware protobuf rewriting across the whole database (field-length prefixes are recomputed so message framing stays valid), plus text rewriting of the brain folder. See Path Rewriting.
- Restore sidecars — for Claude Code, project memory is restored under the target project and any included extra files are written to their path-rewritten targets (see below). For Codex, the rollout transcript and thread inventory are restored. For Antigravity, the conversation DB and brain folder are restored.
- Cleanup — the temporary download file is removed.
Related commands
Section titled “Related commands”codeteleport push— push a session to the cloudcodeteleport list --cloud— browse cloud sessions without pullingcodeteleport delete— remove a session from the cloud