Supported agents

Which coding-agent histories ctx can discover, import, and search locally.

ctx support means native local-history import. The CLI can discover or read a provider's persisted local history, import supported records into SQLite, and return cited search results from that index.

Support does not mean ctx launches the agent, installs the agent, changes the agent's files, or normalizes every provider-specific field into the same output shape.

Current support

This table is a format-support summary. Use Provider history support for source formats and ctx sources --json for the state of your machine.

Agent historySupport statusSource format
CodexSupportedcodex_session_jsonl_tree, codex_history_jsonl
PiSupportedpi_session_jsonl
Claude CodeSupportedclaude_projects_jsonl_tree
OpenCodeSupportedopencode_sqlite
Kilo CodeSupportedkilo_sqlite
Kiro CLISupportedkiro_cli_sqlite
CrushSupportedcrush_sqlite
GooseSupportedgoose_sessions_sqlite
LingmaSupportedlingma_sqlite
QoderSupportedqoder_transcript_jsonl_tree
WarpSupportedwarp_sqlite
CodeBuddySupportedcodebuddy_history_json
TraeSupportedtrae_state_vscdb
OpenClawSupportedopenclaw_session_jsonl_tree
Hermes AgentSupportedhermes_state_sqlite
NanoClawSupportednanoclaw_project
AstrBotSupportedastrbot_data_v4_sqlite
ShelleySupportedshelley_sqlite
ContinueSupportedcontinue_cli_sessions_json
OpenHandsSupportedopenhands_file_events
AntigravitySupportedantigravity_cli_transcript_jsonl_tree
GeminiSupportedgemini_cli_chat_recording_jsonl
TabnineSupportedtabnine_cli_chat_recording_jsonl
CursorSupportedcursor_agent_transcript_jsonl_tree
WindsurfSupportedwindsurf_cascade_hook_transcript_jsonl_tree
ZedSupportedzed_threads_sqlite
Copilot CLISupportedcopilot_cli_session_events_jsonl
Factory AI DroidSupportedfactory_ai_droid_sessions_jsonl
Qwen CodeSupportedqwen_code_chat_jsonl_tree
Kimi Code CLISupportedkimi_code_cli_wire_jsonl_tree
AuggieSupportedauggie_session_json
JunieSupportedjunie_session_events_jsonl_tree
FirebenderSupportedfirebender_chat_history_sqlite
ForgeCodeSupportedforgecode_sqlite
Deep AgentsSupporteddeepagents_sessions_sqlite
Mistral VibeSupportedmistral_vibe_session_jsonl_tree
MuxSupportedmux_session_jsonl_tree
Rovo DevSupportedrovodev_session_json_tree
ClineSupportedcline_task_directory_json
Roo CodeSupportedroo_task_directory_json

The table describes provider formats ctx currently knows how to read. It does not guarantee that a given machine has those histories available.

Verify on your machine

Run:

ctx sources
ctx sources --json

The JSON form is the clearest way to check support and availability:

{
  "provider": "codex",
  "native_import": true,
  "importable": true,
  "status": "available"
}

Read those fields separately:

  • native_import: true means ctx has parser support for that provider format;
  • importable: true means the local path exists and has supported data available to import;
  • status explains the current source state, such as available, empty, missing, unknown, or unsupported.

A provider can have native_import: true and importable: false. That usually means the agent has not written local history on this machine, the expected path is empty, or ctx needs an explicit import path.

Import supported history

The installer runs ctx setup by default. You can also import directly, for example:

ctx setup
ctx import --all
ctx import --provider codex
ctx import --provider pi
ctx import --provider claude
ctx import --provider opencode
ctx import --provider kilo
ctx import --provider kiro-cli
ctx import --provider openclaw
ctx import --provider hermes
ctx import --provider nanoclaw
ctx import --provider astrbot
ctx import --provider antigravity
ctx import --provider gemini
ctx import --provider windsurf
ctx import --provider zed
ctx import --provider cursor
ctx import --provider copilot-cli
ctx import --provider factory-ai-droid
ctx import --provider qwen-code
ctx import --provider roo

Use --path when the provider history lives outside the location ctx normally checks:

ctx import --provider opencode --path ~/.local/share/opencode/opencode.db

Search after import

ctx search "failed migration" --provider codex
ctx search "database retry" --provider opencode
ctx show event <ctx-event-id> --window 3
ctx show session <ctx-session-id>

Search uses the local SQLite index. --refresh auto is the default search mode and can refresh discovered native provider sources before querying. Run ctx import --provider <provider> or ctx import --all when you need an explicit foreground import before searching.

What varies by provider

Providers keep different kinds of local records. Some histories include fine-grained events with tool calls and outputs. Others expose less structure or store different metadata. ctx normalizes enough to search, show, locate, and write session transcript artifacts, but the exact fields in a result can vary by source.

When exact behavior matters, inspect the local source record:

ctx search "the phrase" --provider <provider>
ctx locate event <ctx-event-id>
ctx show session <ctx-session-id> --mode full --format markdown --out transcript.md