Skip to content

Latest commit

 

History

History
268 lines (191 loc) · 13.9 KB

COMPETITORS.md

File metadata and controls

268 lines (191 loc) · 13.9 KB

Competitor & Landscape Analysis

Last updated: 2026-05-09

The Problem

AI coding agents (Claude Code, Codex CLI, Cursor) each store sessions in proprietary formats. There's no way to continue a conversation started in one tool inside another. Developers are locked into whichever tool they started with.


1. sheal (Self-Healing AI Coding Toolkit)

Repo: Internal (liwala/sheal) — not public Language: TypeScript / Node.js What it does: Analyzes AI coding sessions to extract learnings, detect failure patterns, and improve agent behavior. Core feature is sheal retro — a session retrospective that summarizes what happened, what worked, and what didn't.

Session reading: sheal has the most mature multi-agent session parser we've found:

  • Reads Claude Code sessions from ~/.claude/projects/<slug>/<session-id>.jsonl
  • Reads Codex CLI sessions from ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl
  • Reads Gemini CLI, AMP, and Cursor sessions
  • Normalizes all formats into a common SessionEntry type
  • Integrates with Entire.io's entire/checkpoints/v1 git branch for committed checkpoints

Key commands: sheal check (environment health), sheal retro (session retrospective), sheal learn (knowledge extraction), sheal cost (token cost analysis), sheal browse (TUI), sheal graph (dependency graphs), sheal digest (multi-session summaries), sheal export (export sessions).

What it does NOT do:

  • Does not transfer sessions between tools
  • Does not write sessions back in another tool's format
  • Does not allow continuing a Claude conversation in Codex
  • Read-only: analyzes sessions but never modifies them

How session-porter differs: session-porter is purpose-built for cross-agent portability. We reused sheal's parsing logic (with attribution) but added the missing piece: bidirectional format conversion and direct transfer (session-porter transfer <id> --to codex). sheal reads sessions to learn from them; session-porter reads sessions to move them.


2. Entire.io

URL: entire.io | GitHub CLI Funding: $60M launch (Feb 2026) What it does: "Version control for AI agent sessions." Hooks into git to capture AI sessions alongside commits. Creates a searchable record of how code was written.

How it works:

  • Open-source CLI called "Checkpoints" hooks into your git workflow
  • Captures prompts, responses, files modified, timestamps, token usage
  • Stores everything on a separate git branch: entire/checkpoints/v1
  • Sessions indexed alongside commits — you can trace which AI session produced which code
  • Supports Claude Code and Gemini CLI at launch, more agents planned

Data format: Each checkpoint is a directory on the git branch:

<checkpoint-id[:2]>/<checkpoint-id[2:]>/
├── metadata.json       # Root summary
├── 0/
│   ├── metadata.json   # Session metadata
│   ├── full.jsonl      # Full transcript
│   └── prompt.txt      # User prompts

What it does NOT do:

  • Does not convert between agent formats
  • Does not allow transferring a session from Claude to Codex
  • Focused on recording and indexing, not portability
  • Tied to git repos — no support for ad-hoc sessions outside repos

How session-porter differs: Entire.io records sessions for audit/attribution. session-porter moves sessions between tools for workflow continuity. They're complementary: Entire.io answers "who wrote this code?", session-porter answers "how do I continue this conversation in another tool?"


3. claude-conversation-extractor

Repo: ZeroSumQuant/claude-conversation-extractor Language: Python What it does: Extracts and exports Claude Code conversations from ~/.claude/projects/. Provides an interactive TUI (claude-start) and a plain CLI (claude-extract).

Features:

  • List all Claude Code conversations
  • Export specific chats by number or export recent sessions
  • Export as Markdown, JSON, or HTML
  • Search through conversation history
  • Include tool use, MCP responses, and system messages
  • Backup all conversations at once

What it does NOT do:

  • Claude Code only — no Codex, Cursor, or Gemini support
  • Export only — cannot import or write sessions back
  • No format conversion between agents
  • No transfer capability

How session-porter differs: claude-conversation-extractor is a solid single-tool exporter. session-porter does everything it does for Claude (list, export to JSON/markdown) but also reads Codex sessions and can write sessions into either tool's format for cross-agent continuation.


4. claude-code-transcripts (Simon Willison)

Repo: simonw/claude-code-transcripts Language: Python What it does: Converts Claude Code session JSONL files into browsable, mobile-friendly HTML transcripts with pagination. Can upload to GitHub Gists for sharing.

Features:

  • Interactive session picker
  • Multi-page HTML output with pagination
  • Image rendering from tool results
  • GitHub Gist upload with shareable preview URLs
  • Filter by repo
  • Jinja2 templates for customizable output

Limitations:

  • Claude Code only — no other agents
  • Output only (HTML) — not a portable format
  • Web-based commands currently broken due to unofficial API changes
  • No import or transfer capability

How session-porter differs: simon's tool is for publishing/sharing transcripts as pretty HTML. session-porter is for moving sessions between tools. Different use cases entirely.


5. Codex_Relay

Repo: Ometh12/Codex_Relay What it does: Transfers Codex CLI sessions between devices. Export on one machine, import on another via cloud storage or USB.

Features:

  • Export/import Codex sessions across macOS, Windows, Linux
  • Local vault for session storage
  • Preview before importing
  • Conflict resolution
  • Automatic backups

What it does NOT do:

  • Codex-to-Codex only — no cross-agent conversion
  • Does not read Claude Code, Cursor, or any other format
  • No format normalization

How session-porter differs: Codex_Relay moves sessions between devices (same format). session-porter moves sessions between tools (different formats). Codex_Relay = same tool, different machines. session-porter = different tools, same machine.


6. cctrace (Claude Code Trace)

Repo: jimmc414/cctrace What it does: Exports Claude Code sessions to Markdown and XML. v2.0 adds "portable sessions" — export a session to git, push it, and others can import to continue where they left off.

Features:

  • Export as Markdown or XML
  • Portable session export: includes conversation history, file snapshots, todos, plans, project config
  • Git-based sharing: push a portable session, others pull and resume
  • Includes tool use and system messages

Key insight: cctrace is the closest competitor — it has cross-machine portability via git. But it's still Claude-to-Claude only. It doesn't convert between agent formats.

How session-porter differs: cctrace transfers Claude sessions between machines (via git). session-porter transfers sessions between different tools (Claude <-> Codex). cctrace = same agent, different machines. session-porter = different agents, same or different machines.


7. codlogs

Repo: tobitege/codlogs What it does: Search, export, and sanitize local Codex CLI sessions. Export as HTML or Markdown with options for images and tool results.

Limitations: Codex only, export only, no cross-agent support.


8. skill-porter

Repo: jduncan-rva/skill-porter What it does: Converts Claude Code skills to Gemini CLI extensions and vice versa. Uses MCP for ~85% code reuse.

Important distinction: skill-porter converts skills/tools, not sessions. It's about moving capabilities between agents, not conversation history. Complementary to session-porter — one moves the tools, the other moves the conversation.


9. Other Notable Tools

Tool What URL
claude-session-export Go CLI, exports Claude sessions to GitHub Gist robzolkos/claude-session-export
claude-JSONL-browser Web-based JSONL to Markdown viewer withLinda/claude-JSONL-browser
claude-code-log Python CLI, JSONL to HTML daaain/claude-code-log
claudebin Share Claude sessions as resumable URLs producthunt
Claude Explorer Unified archive + MCP tools for all Claude sessions Community
claude-mem Session memory plugin — compresses and injects context Community
Codex History Viewer VS Code extension for Codex/Claude session browsing VS Marketplace

All of these are single-agent, export-only tools. None convert between formats.


10. Official Feature Requests (Unmet Demand)

Open GitHub issues on anthropics/claude-code showing demand for what session-porter does:

  • #18645: Session Export/Import for Cross-Machine Portability
  • #31992: Cross-machine session resume
  • #32992: Universal session portability across all Claude Code surfaces
  • #45358: Cross-machine session sync
  • #47926: Allow resuming Claude Code sessions across devices

These are all Claude-to-Claude requests. Nobody has even asked for cross-agent transfer yet — session-porter is ahead of demand.


12. Claude.ai Browser Exporters

Several Chrome extensions export conversations from the Claude.ai web interface (not Claude Code CLI):

Tool Repo What
claude-exporter agoramachina/claude-exporter Chrome extension, bulk export, JSON/MD/text
Claude-Conversation-Exporter socketteer/Claude-Conversation-Exporter Chrome extension, similar features
claude-export ryanschiang/claude-export Browser script, MD/JSON/PNG
claude-chat-exporter agarwalvishal/claude-chat-exporter JS tool, markdown export

Not competitors — these export from the Claude.ai web app, not Claude Code CLI. Different product, different storage, different format.


13. Cursor Session Storage

Storage: SQLite database at ~/Library/Application Support/Cursor/User/globalStorage/state.vscdb Keys: composer.composerData, workbench.panel.aichat.view.aichat.chatdata, aiService.prompts

Export tools:

Future opportunity: Adding Cursor as a third agent in session-porter would cover the three most popular AI coding tools.


Competitive Landscape Summary

                    Read Sessions    Export     Cross-Agent    Transfer/Write
                    Claude  Codex    Formats    Conversion     Into Target
                    ──────  ─────    ───────    ──────────     ───────────
session-porter       ✅      ✅      4          ✅             ✅
sheal                ✅      ✅      2          ❌             ❌
Entire.io            ✅      ❌      1          ❌             ❌
cctrace              ✅      ❌      2          ❌             ✅ (same-agent)
claude-conv-extract  ✅      ❌      3          ❌             ❌
claude-code-transc   ✅      ❌      1          ❌             ❌
Codex_Relay          ❌      ✅      1          ❌             ✅ (same-agent)
codlogs              ❌      ✅      2          ❌             ❌
skill-porter         ❌      ❌      —          ✅ (skills)    ❌

session-porter is the only tool that reads both Claude Code and Codex sessions AND can write/transfer sessions between them. cctrace and Codex_Relay can transfer within the same agent, but neither crosses the agent boundary.


Key Differentiators

  1. Cross-agent portability: No other tool converts between Claude Code and Codex formats
  2. Bidirectional transfer: Not just export — we write directly into the target tool's session directory
  3. Multi-agent awareness: Single CLI reads from both tools, unified listing
  4. Lightweight: Node.js, single dependency (commander), no Python, no SQLite, no git branch manipulation
  5. Built on proven parsing: Adapted from sheal's battle-tested JSONL parsers

Future Roadmap Opportunities

  • Cursor support: Read from state.vscdb SQLite, would cover the top 3 AI coding tools
  • Gemini CLI support: sheal already has a parser (gemini-native.ts) we could adapt
  • Entire.io integration: Read from entire/checkpoints/v1 git branch for committed sessions
  • npm publish: One command to make it globally installable
  • Session merge: Combine sessions from multiple tools into one continuous conversation