Skip to content

ingest

Import local source archives into raw memory. ingest reads exported agent transcripts as JSONL and streams each turn into Sibyl's raw memory store, where sibyl reflect can later promote it into durable graph memory.

This is the transcript path. For files, directories, and URLs of arbitrary documents, use sibyl docs; for crawling websites, use sibyl crawl.

Commands

CommandDescription
sibyl ingest claude-codeImport Claude Code transcript JSONL
sibyl ingest codexImport Codex transcript JSONL

Both subcommands share the same options and the same import pipeline; only the source adapter differs.


ingest claude-code

Import a Claude Code transcript JSONL file or a directory of them.

bash
sibyl ingest claude-code <source> [options]
ArgumentRequiredDescription
sourceYesClaude Code JSONL file or directory
OptionDefaultDescription
--scopeprivateTarget memory scope
--scope-key(none)Target scope key for project/team/shared scopes
--source-identity(none)Stable identity for moved transcript exports
--batch-size100Import batch size
--drainfalseWait for the background drain to finish
--poll-interval1.0Seconds between drain status checks
--timeout(none)Maximum seconds to wait when draining
--json / -jfalseJSON output for scripting

Examples

bash
# Import a single session export
sibyl ingest claude-code ~/.claude/projects/sibyl/session.jsonl

# Import a directory and wait for it to finish
sibyl ingest claude-code ~/.claude/projects/sibyl/ --drain

# Import into a shared project scope as JSON
sibyl ingest claude-code session.jsonl --scope project --scope-key sibyl --json

ingest codex

Import a Codex transcript JSONL file or a directory of them. Identical to claude-code apart from the source format.

bash
sibyl ingest codex <source> [options]
ArgumentRequiredDescription
sourceYesCodex JSONL file or directory
OptionDefaultDescription
--scopeprivateTarget memory scope
--scope-key(none)Target scope key for project/team/shared scopes
--source-identity(none)Stable identity for moved transcript exports
--batch-size100Import batch size
--drainfalseWait for the background drain to finish
--poll-interval1.0Seconds between drain status checks
--timeout(none)Maximum seconds to wait when draining
--json / -jfalseJSON output for scripting

Examples

bash
sibyl ingest codex ~/.codex/sessions/today.jsonl
sibyl ingest codex ~/.codex/sessions/ --drain --timeout 120

Notes

  • The source must be a real file or directory, not a symlink, and the path is resolved before upload.
  • Imports queue by default and drain in the background. Pass --drain to block until the import reaches a terminal state (completed, failed, or canceled).
  • Each imported turn lands as a raw memory. Use --source-identity to keep dedupe stable when you move or rename the same export between runs.

Released under the Apache-2.0 License.