Provider history support

Provider support means importing each provider's real local history format, not normalized adapter output.

ctx provider support is specific: the CLI can discover or read a provider's real persisted local history format and index it into the local store.

Supported today

The current search CLI imports these native source formats:

ProviderSource format
Codexcodex_session_jsonl_tree, codex_history_jsonl
Pipi_session_jsonl
Claude Codeclaude_projects_jsonl_tree
OpenCodeopencode_sqlite
Kilo Codekilo_sqlite
Kiro CLIkiro_cli_sqlite
Crushcrush_sqlite
Goosegoose_sessions_sqlite
Lingmalingma_sqlite
Qoderqoder_transcript_jsonl_tree
Warpwarp_sqlite
CodeBuddycodebuddy_history_json
Traetrae_state_vscdb
OpenClawopenclaw_session_jsonl_tree
Hermes Agenthermes_state_sqlite
NanoClawnanoclaw_project
AstrBotastrbot_data_v4_sqlite
Shelleyshelley_sqlite
Continuecontinue_cli_sessions_json
OpenHandsopenhands_file_events
Antigravityantigravity_cli_transcript_jsonl_tree
Geminigemini_cli_chat_recording_jsonl
Tabninetabnine_cli_chat_recording_jsonl
Cursorcursor_agent_transcript_jsonl_tree
Windsurfwindsurf_cascade_hook_transcript_jsonl_tree
Zedzed_threads_sqlite
Copilot CLIcopilot_cli_session_events_jsonl
Factory AI Droidfactory_ai_droid_sessions_jsonl
Qwen Codeqwen_code_chat_jsonl_tree
Kimi Code CLIkimi_code_cli_wire_jsonl_tree
Auggieauggie_session_json
Juniejunie_session_events_jsonl_tree
Firebenderfirebender_chat_history_sqlite
ForgeCodeforgecode_sqlite
Deep Agentsdeepagents_sessions_sqlite
Mistral Vibemistral_vibe_session_jsonl_tree
Muxmux_session_jsonl_tree
Rovo Devrovodev_session_json_tree
Clinecline_task_directory_json
Roo Coderoo_task_directory_json

Use ctx sources for the truth on the current machine:

ctx sources
ctx sources --json

In JSON output, native_import: true means ctx has parser support for that provider format. importable: true means the current path exists, has supported data, and can be imported on this machine. Source status can be available, empty, unknown, missing, or unsupported.

CLI provider flags include codex, pi, claude, opencode, kilo, kiro-cli, crush, goose, lingma, qoder, warp, codebuddy, trae, openclaw, hermes, nanoclaw, astrbot, shelley, continue, openhands, antigravity, gemini, tabnine, cursor, windsurf, zed, copilot-cli, factory-ai-droid, qwen-code, kimi-code-cli, auggie, junie, firebender, forgecode, deepagents, mistral-vibe, mux, rovodev, cline, and roo. JSON and SQL output use provider IDs in ctx output; multiword IDs may appear as snake case, such as copilot_cli or factory_ai_droid.

NanoClaw is explicit-import only. Use ctx import --provider nanoclaw when discovery finds the desired source, or add --path to target a project root.

What support means

Provider support means ctx can discover or read a provider's persisted local history format. It does not mean ctx launches that agent, installs that agent, or guarantees every provider-specific field is normalized into the same shape.

Custom formats

For an agent history format ctx does not support natively, use a custom history plugin. A plugin is a local manifest plus a local command that streams normalized history records to ctx.

Import rules

Provider imports must be read-only with respect to provider-owned files, explicit through ctx import, ctx setup, or the bounded ctx search --refresh auto native-source refresh path, safe to interrupt and re-run, conservative around unknown schemas, and clear about source citations.