Skip to content
PluginStats

@kontourai/ferry weekly downloads statistics

By kontourai (4 listings) · npm · Claude Code

Migrate AI conversations between tools — importers and exporters for @kontourai/thread

View on npm Stale · Oct 18, 2026

@kontourai/ferry has 7,775 recorded weekly downloads on npm, an increase of 262% over the past 30 days, ranking #1019 of 2,391 tracked listings.

Weekly downloads
7,775
Official API · Oct 18, 2026
7-day growth
-4.5%
-364 weekly downloads
30-day growth
+262%
+5.6K weekly downloads
90-day growth
—
Insufficient history
Rank
#1019
Among tracked npm listings

About @kontourai/ferry

@kontourai/ferry

Migrate AI conversations between tools. Importers and exporters for @kontourai/thread, plus the ferry CLI.

ferry inspect ~/.claude/projects/<project>/<session>.jsonl
ferry convert rollout.jsonl -o session.thread.json
ferry convert session.thread.json --to anthropic-messages
ferry formats

Input formats: claude-code, codex, opencode (opencode export JSON), kiro, pi, muse (Muse Code muse export JSON), chatgpt-export, thread. Output formats: thread, openai-chat, anthropic-messages, gemini, markdown.

Importers are grounded in real transcript shapes (including multi-hundred-MB JSONL files, which stream); each adapter documents what its target format cannot represent.

ferry rows emits one JSON object per tool call (or --csv for a narrower projection), streamed per file so it can be pointed at a whole sessions directory. Each row carries the dimensions the schema keeps in different places — source/sourceVersion/cwd/gitBranch from the thread, model/provider from the owning assistant message, the tool's name and raw arguments, parsedArguments when the source supplied structure, derived for importer heuristics, and isError/toolResultId/resultStatus/resultChars joined from the matching ToolResult by toolCallId. Result columns are ABSENT for an unpaired call: a missing result is not a successful one, and resultChars counts result TEXT only, so a result carrying just an image reads as 0. An observed result with unknown standing leaves isError absent rather than being fabricated as false; its resultStatus remains unknown.

Unlike convert/usage, a bad input is warned about and skipped rather than aborting the run: exit 0 means every input was read, 2 means the run completed with inputs skipped, and 1 stays reserved for a fatal error. A file that simply contains no conversation (a sessions directory holds non-transcript sidecars) is reported but is not a skip — it is a normal outcome, not a failure.

There is no sidechain column: in current Claude Code versions subagent traffic lives in separate transcript files rather than inline sidechain lines, so such a column would be permanently false. It returns when an importer reads those files.

--csv cells are emitted verbatim, including a leading =, +, - or @, which a spreadsheet may interpret as a formula. That is deliberate — escaping would corrupt every legitimate -1 and every command starting with a flag — so prefer --jsonl into a query engine for untrusted data.

claude-code-duplicate-toolcall.jsonl is composed: it reproduces the real writer behaviour of emitting one assistant line twice (same uuid, same message.id), which the importer merges by message.id — observed once across 72,735 rows of a local corpus.

Codex fixture provenance: codex-forked-rollout.jsonl (lines 1-4 = rollout 2026-06-25T23-06-53-019f0252 lines 19-22) and codex-rollout-variants.jsonl (lines 1-4 = rollout 2026-03-27T22-21-41-019d32ad lines 8, 10, 11, 15) are byte-copied from real local rollouts — only free-text values are replaced with [redacted]; keys, nesting, and every non-text value remain as written by Codex. codex-rollout.jsonl is a composed fixture whose individual usage records mirror observed shapes. codex-exec-program.jsonl is composed, with each exec payload shaped after the dominant real form measured across a 12.2 GB local corpus: a single double-quoted cmd string (255,070 occurrences) rather than an array (6 occurrences, none of them JSON-parseable — which is why array literals are deliberately not recovered), plus the single-quoted and backtick variants (1,009 / 3,472) and two apply_patch payloads, one of which contains tools.map( in its diffed source because that shape defeated an earlier gate.

Tool-result identity is deterministic and namespaced (ferry:<adapter>:sha256:…), computed only from source record anchors and a source result index. It never uses a call id, output text, timestamp, or prose-derived result status. Claude Code, Codex, OpenCode, Kiro, Pi, and Muse imports capture the observed identity/status surface documented in their adapter headers; ChatGPT exports contain no byte-real tool-result mapping in the retained fixture and remain intentionally unmapped.

The retained Claude Code, OpenCode, Kiro, and Pi fixtures prove their listed success forms but do not contain a byte-real failed tool result. Their error markers therefore remain unknown rather than being promoted from composed examples; adding an error mapping requires an observed writer record and its fixture provenance.

License: Apache-2.0

Description from the npm listing.

  • ai
  • conversation
  • migration
  • import
  • export
  • claude-code
  • codex
  • opencode
  • chatgpt

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

@kontourai/ferry weekly downloads on npm, last 90 days: 7,775 weekly downloads as of Oct 18, 2026.@kontourai/ferryWeekly downloads on npm · Last 90 days7,775downloads / week05K10K15K20KJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 23, 2026 – Oct 18, 2026 · 88 observations · Updated Oc…pluginstats.com
@kontourai/ferry weekly downloads on npm, last 90 days: 7,775 weekly downloads as of Oct 18, 2026.

7/30/90-day growth

@kontourai/ferry weekly downloads growth on npm: -4.5% over 7 days, +262% over 30 days, 90-day growth unavailable.@kontourai/ferryWeekly downloads growth on npm7,775downloads / week now7-day growth-364 weekly downloads-4.5%30-day growth+5,626 weekly downloads+262%90-day growth+7,775 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
@kontourai/ferry weekly downloads growth on npm: -4.5% over 7 days, +262% over 30 days, 90-day growth unavailable.

Ranking history

@kontourai/ferry npm ranking history: currently #1019 (by weekly downloads).@kontourai/ferrynpm ranking · by weekly downloads · Last 90 days#1019current rank#300#400#500#600#700#800#900#1000#1100Jul 23Aug 7Aug 22Sep 6Sep 21Oct 6Oct 21rankOct 17, 2026 – Oct 21, 2026 · 5 observations · Updated Oct 18, 2026pluginstats.com
@kontourai/ferry npm ranking history: currently #1019 (by weekly downloads).

Listing placement

All npm2,389 listings · 120 pages · 1,196 shown · page 52, #6 (overall #1,026)
All npm: every listing in weekly downloads order

Listing placement

Claude Code279 listings · 14 pages · page 3, #1 (overall #41)
Claude Code: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (544)
Recent weekly downloads observations for @kontourai/ferry
Date (UTC)Weekly downloadsChange vs. previous
7,775+440
7,335-1.2K
8,535+2K
6,486-577
7,063-998
8,0610
8,061-78
8,139-1.7K
9,832-1.2K
10,986-1.1K
12,078-2.9K
15,012-655
15,667-2.2K
17,862—

Similar npm Claude Code plugins

All 20 @kontourai/ferry alternatives

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/@kontourai/ferry. First seen Oct 16, 2026; last successful collection Oct 21, 2026. See the methodology.