Skip to content

codeteleport push

Terminal window
codeteleport push [--session-id <id>] [--label <text>] [--tags <tags>] [--silent]

The push command bundles a Claude Code session (messages, file history, tool calls) into a compressed archive and uploads it to CodeTeleport cloud storage.

Session detection follows this priority:

  1. Explicit --session-id — looks up the given ID in local Claude Code data under the current directory.
  2. Process tree auto-detection — if you’re running codeteleport push from inside a Claude Code session (e.g. via a tool call or shell escape), the session ID and working directory are detected automatically from the parent process tree.
  3. Local scan with interactive picker — scans the current directory for Claude Code sessions under ~/.claude/projects/. If multiple sessions exist, you pick from a numbered list.

Before uploading, the command prints a summary of the session being pushed so you can confirm it’s the right one.

FlagDescription
--session-id <id>Push a specific session by ID. Prefix matching is supported — you can pass the first 8 characters.
--label <text>Attach a human-readable label to the session (e.g. "fixing auth bug"). Visible in the dashboard and in codeteleport list --cloud.
--tags <tags>Comma-separated tags for filtering later (e.g. "wip,auth,backend").
--silentSuppress all output. Useful for auto-sync hooks or scripts where you don’t want terminal noise.

Push from inside Claude Code (auto-detect)

Section titled “Push from inside Claude Code (auto-detect)”

When Claude Code calls codeteleport push as a tool, the session is detected automatically:

$ codeteleport push
Pushing session:
1) api-refactor a1b2c3d4 12 messages 2 min ago
Bundling...
size: 847 KB
Uploading...
Confirming...
Session teleported to CodeTeleport
id : a1b2c3d4-e5f6-7890-abcd-ef1234567890
size : 847 KB
machine : work-laptop

Push a specific session with label and tags

Section titled “Push a specific session with label and tags”
$ codeteleport push --session-id a1b2c3d4 --label "auth bug fix" --tags "bugfix,auth"
Pushing session:
1) api-service a1b2c3d4 28 messages 15 min ago
Bundling...
size: 1203 KB
Uploading...
Confirming...
Session teleported to CodeTeleport
id : a1b2c3d4-e5f6-7890-abcd-ef1234567890
size : 1203 KB
machine : work-laptop

Interactive session picker (multiple sessions in directory)

Section titled “Interactive session picker (multiple sessions in directory)”

If multiple sessions exist for the current project and no --session-id is given:

$ codeteleport push
Sessions for ~/workspace/myapp:
1) myapp a1b2c3d4 28 messages 15 min ago
2) myapp f9e8d7c6 12 messages 2 hours ago
3) myapp b5a4c3d2 4 messages 1 day ago
Pick a session (number): 1
Pushing session:
1) myapp a1b2c3d4 28 messages 15 min ago
Bundling...
size: 1203 KB
Uploading...
Confirming...
Session teleported to CodeTeleport
id : a1b2c3d4-e5f6-7890-abcd-ef1234567890
size : 1203 KB
machine : work-laptop
$ codeteleport push --silent
# No output. Exit code 0 on success, 1 on failure.

The bundle includes all Claude Code session data for the given session ID: the JSONL conversation log, file snapshots, and tool call history. It does not include your project source code — only the Claude Code internal session state. Paths inside the bundle are rewritten on pull to match the target machine. See Path Rewriting for details.