Skip to content

Changelog

  • Windows support / cross-OS teleport — CodeTeleport now runs natively on Windows (macOS, Linux, and Windows; no WSL required), and sessions teleport between operating systems, not just between machines running the same OS. On pull, absolute paths embedded in a session are translated to the target machine’s style: a Windows session (C:\Users\alice\proj) restores with POSIX paths on macOS/Linux, and a macOS/Linux session restores with native, properly-escaped Windows paths on Windows. Path matching is separator-aware (/, \, and JSON-escaped \\) and JSON-safe (escape sequences like \n are never corrupted). Works for Claude Code, Codex, and Antigravity (whose file:// workspace URIs stay forward-slash on every OS). Project directories are encoded the way each platform’s agent expects — the Windows drive colon and backslashes both map to - — so claude --resume / codex resume find the restored session. node:sqlite (Node >= 22.5.0) is cross-platform, so Codex/Antigravity session state works on Windows too.
  • CODEX_HOME respected — Codex session discovery now honors the CODEX_HOME environment variable (falling back to ~/.codex), matching Codex’s own behavior.
  • Windows sensitive-path safety — the secrets deny-list (~/.ssh, ~/.aws, ~/.config, ~/.gnupg) now matches case-insensitively on Windows, so a differently-cased secret directory is never bundled or restored.
  • A cross-OS project located outside the home directory (e.g. on a different Windows drive) needs --target-dir to anchor it on the target machine.
  • Convert to Antigravitycodeteleport pull <id> --as antigravity (and the teleport_pull MCP as option) now converts a pulled session into an Antigravity conversation, completing the conversion matrix: any agent converts to any other (Claude Code, Codex, and Antigravity, in every direction). Antigravity’s session is a protobuf-backed SQLite database, which the converter synthesizes from the transcript. As with all conversions this is transcript-level — prompts and replies carry over, but file history, exact tool-call fidelity, and agent-specific sidecars do not (original tool steps and per-call metadata are not reconstructed). Pulling without --as restores natively with full fidelity.
  • Cross-agent conversioncodeteleport pull <id> --as <claude-code|codex> converts a pulled session into another agent’s format on install (the teleport_pull MCP tool gains the same as option). Supported: Claude Code ↔ Codex, and Antigravity → Claude Code / Codex; pulling without --as restores natively. Conversion is transcript-level — the conversation carries over, but file history, exact tool-call fidelity, and agent-specific sidecars do not. Antigravity can be converted from, not to
  • Multi-agent support — teleport sessions for three AI coding agents: Claude Code (default), Codex (OpenAI), and Antigravity (Google). Pick yours with codeteleport config set agent <claude-code|codex|antigravity> or interactively via codeteleport setup
  • Self-describing bundles — each bundle records the agent that created it, so pull restores into the correct agent’s native location and prints the right resume command (claude --resume, codex resume, or agy --conversation) regardless of the target machine’s configured agent. Legacy bundles with no recorded agent are treated as Claude Code
  • Codex — bundles the rollout transcript plus the thread-inventory row from ~/.codex/state_5.sqlite; pull writes the transcript and upserts the thread row so codex resume <id> finds the session (if state_5.sqlite doesn’t exist yet, run Codex once and re-pull). apply_patch edits are auto-detected; use --include for shell-created files. Shell snapshots are excluded by default
  • Antigravity — bundles the SQLite conversation DB and the brain/<id>/ folder; pull rewrites the absolute paths embedded in the protobuf BLOBs (length-prefix-aware, across every blob column) plus the brain text files. Resume with agy --conversation <id>
  • Cloud sessions scoped by agentlist and pull default to your configured agent and label each cloud session with its agent; use --agent <id> to view another or --all for every agent. The same agent filter is available on the teleport_list/teleport_pull MCP tools. Pulling a specific session by ID still works across agents
  • Requires Node.js >= 22.5.0 — the CLI uses the built-in node:sqlite module for Codex/Antigravity session state
  • Project memory bundlingpush now bundles your project memory (~/.claude/projects/<cwd>/memory/) when it’s non-empty, and pull restores it under the target project with .md path rewriting. The default merge policy unions MEMORY.md line by line and never clobbers other existing memory files
  • Working/temp file bundling — bundle extra files a session created or depends on via codeteleport push --include <paths> (comma-separated, repeatable) or the includePaths array on the teleport_push MCP tool; files edited via Edit/Write are included automatically. A sensitive deny-list (~/.ssh, ~/.aws, ~/.config, ~/.gnupg, *.pem, *.key, .env*, id_rsa/id_ed25519, .netrc, .npmrc, credentials, …) is never bundled, with 25 MB/file and 100 MB total caps. Restore is contained to the target project and temp roots, so a bundle can never write outside them
  • Push manifestpush prints a safety-review summary of the files it included (with sizes), files it skipped (with reasons), and the project-memory file count
  • Package renamed@codeteleport/mcp is now codeteleport. Install with npm install -g codeteleport
  • Session versioning — every push creates a new version with auto-rotation at plan limits (2 free, 10 pro). New codeteleport versions command, pull --version N, teleport_versions MCP tool
  • X-Client-Version header — CLI sends version on every API request
  • Documentation site — full docs at docs.codeteleport.com
  • Plans config — centralized plan limits and features in single source of truth
  • Graceful error handling — MCP tools return isError: true instead of crashing, CLI shows clean messages
  • User info in statuscodeteleport status and teleport_status show email, plan, sessions/devices usage
  • GET /v1/auth/me — new API endpoint returns current user info
  • teleport_local_list — new MCP tool scans local sessions from ~/.claude/
  • list —local/—cloudcodeteleport list prompts for local vs cloud, --push for batch upload
  • Corrupt config handling — helpful message instead of JSON parse crash
  • Interactive pushcodeteleport push scans current directory for sessions, shows picker if multiple found
  • Interactive pullcodeteleport pull lists cloud sessions, always prompts before downloading
  • GitHub OAuth logincodeteleport auth login --github opens browser for GitHub OAuth flow
  • Login method promptcodeteleport auth login asks: (1) GitHub (2) Email & Password
  • —api-url flagcodeteleport auth login --api-url http://localhost:8787 for local dev
  • Local session scanner — reads cwd from JSONL data (not ambiguous directory name decoding)
  • Unconfirmed upload retry — stale uploads no longer block re-push with 409
  • Billing plan enforcement — free plan limits enforced on upload (25 sessions, 3 devices)
  • Updated repository URL — npm package points to public codeteleport-cli-mcp repo
  • MCP tool input schemas — all 5 tools now expose typed parameters to Claude Code
  • Push auto-overwrite — pushing an existing session deletes the old version first
  • Zod v4 — upgraded to native zod@4, fixes TS2589 infinite type recursion
  • Custom domain — API URL updated to api.codeteleport.com
  • MCP server ESM fix — dynamic import() for ESM MCP SDK modules
  • Custom domain route
  • Two-pass unbundle — user dir swap + project path anchoring
  • —target-dir flag
  • detectHomeDir — auto-detects /Users/x, /home/x, /root
  • Detailed MCP tool descriptions
  • npm publish prep — README, license, keywords, repository
  • Platform support — macOS and Linux
  • Initial release
  • CLI: auth login, push, pull, list, status, delete
  • MCP server: teleport_push, teleport_pull, teleport_list, teleport_status, teleport_delete
  • Core engine: bundle/unbundle with path rewriting, JSONL scanning, metadata extraction