Skip to content

Conversation Aggregation

Every coding agent keeps its own history. Claude Code writes transcripts under ~/.claude, Codex under ~/.codex, OpenCode in a local database — each in its own place, in its own format, invisible to the others. Conversation Aggregation pulls all of it into one workspace: point Codeg at a project and it sweeps every agent's store for sessions you ran there, then lists them right alongside your Codeg-native conversations.

And nothing you import is a dead archive. Open any of these sessions and keep going — the original agent picks up the thread with its full history intact. A conversation you started last week in a terminal continues in Codeg's workspace as if it never left.

How to import

Aggregation is a single action, and it's always yours to trigger. In the Conversations sidebar, right-click a folder (or open its menu) and choose Import local sessions. Codeg scans your installed agents for sessions that ran in that folder and adds them to the list — you'll see a toast like "Imported 12 sessions, skipped 3" when it's done.

  • It's per folder. Each import covers one project. Open another folder and run it again there — there's no "import everything, everywhere" switch.
  • It's on demand. Codeg never sweeps in the background or watches your agents' files. Sessions appear only when you ask, so importing is always a deliberate step.
  • It's local. Import reads the agents' own files on your machine — nothing is uploaded, and the agents' original sessions are left untouched.

What Codeg matches

A sweep looks at every agent Codeg supports — even the ones you haven't enabled in Codeg. For each, it reads that agent's native session store (Claude Code's ~/.claude/projects, Codex's ~/.codex/sessions, OpenCode's local database, and so on) and keeps the sessions whose working directory matches the folder you imported into.

That path match is the whole rule: a session shows up if you ran it in this project's directory. So importing a folder gives you every agent's history for that project, gathered in one list — and an agent you set up long before Codeg still surfaces its past work, as long as its files are on disk.

Supported Agents lists where each agent keeps its sessions.

Moved a project?

Sessions are matched by the directory path they ran in. If you've since renamed or moved the project folder, its older sessions still point at the old path — so they won't match the folder in its new home. Open the original location as a folder to bring them in.

Imported, updated, skipped

The toast after a sweep breaks down into three numbers, and together they tell you exactly what happened:

  • Imported — brand-new sessions added to the list.
  • Updated — a session already in Codeg whose title caught up. Many agents name a session only after it's been running a while, so a later import picks up that name. Nothing else about the session changes.
  • Skipped — sessions already present with nothing to update.

Because of that split, re-importing is always safe. Run it again after a work session and you'll pull in what's new without disturbing what's there: Codeg won't duplicate a session, overwrite a title you set yourself, or reshuffle your list. Make it a habit whenever you've been working outside Codeg and want the workspace to catch up.

Pick up where you left off

Here's what makes aggregation more than a history viewer: imported sessions are live. Open one and it looks like any other conversation — the full transcript, read straight from the agent's own file. Type a prompt and the original agent reconnects to that very session, continuing with everything that came before as its context.

  • The original agent handles it. An imported Codex session resumes with Codex, a Claude Code session with Claude Code — Codeg hands each agent back its own session by id, so no context is lost in translation.
  • History comes from disk. Codeg re-reads the agent's transcript every time you open the session, so what you see is always the real thing, never a stale copy. That's also why import is quick: it records where each session lives, not a second copy of it.
  • When a session can't be reopened — the agent has since expired or deleted it on its side — Codeg tells you and offers to reload or start a new conversation in its place, rather than leaving you stranded.

Imported conversations carry no special badge — they sit in your history sorted by recency, turn up in search (⌘K), and behave exactly like the ones you started in Codeg.

Reference a past session

Because an imported session is just another conversation, you can hand its history to a new task. Type @ in the composer and pick a session to pull it in as context — so a fresh conversation can build on an old one without you re-explaining what happened. It's a natural fit for aggregation: sweep in last month's work, then reference the relevant thread the next time a related task comes up.

Next steps

  • The Workspace — where your aggregated conversations live and how the sidebar is organized.
  • Supported Agents — the full roster, and where each agent stores the sessions this feature imports.
  • Working with Agents — enable an agent so it can resume the sessions you bring in.

Released under the Apache-2.0 License.