Latestrelease notes

Continue any session in any agent.

OmniSession puts the sessions your coding agents leave on this machine into one fast picker. Pick one and keep going in another installed agent, natively where a verified import exists or through a semantic handoff.

curl -fsSL https://raw.githubusercontent.com/bvolpato/omnisession/main/install.sh | sh

Verifies the release checksum, installs omni, and adds provider shims.

  • Local-first, no telemetry
  • Linux, macOS, Windows preview
  • MIT licensed
Synthetic demo: Codex implements a rate limiter. Run omni and select that session and Claude Code with the arrow keys. The same conversation reappears under the Claude logo, then a README request and response append to it. The original Codex session stays intact.
Code in Codex. Docs in Claude.Run omni. Pick the session, then Claude Code. Continue the same conversation in a new harness. Synthetic sessions and illustrative responses; the original stays intact.
Open GIF

Reads sessions from 12 coding agents

  • Codex
  • Claude Code
  • OpenCode
  • Pi
  • Oh My Pi
  • Grok
  • Cursor IDE
  • Cursor Agent
  • Antigravity CLI
  • Hermes
  • Antigravity Desktop
  • Antigravity IDE

Why OmniSession

Switch agents. Keep the thread.

Every coding agent keeps its own history in its own format. OmniSession reads 12 of them, so work you start in one can keep going in another.

Any session, any agent

Start in Codex, finish in Claude Code, hand the tricky part to Grok. omni writes a real session in the target agent's own format, reads it back before launch, and rolls back exactly what it wrote if a check fails. Where no import exists, it starts a fresh session from a handoff. Tool calls come along as history and never run again.

  • Version gates where required
  • Structural validation
  • Read-back
  • Exact rollback on failure

Antigravity Desktop and Antigravity IDE are read-only sources: continue its sessions in another agent.

One picker for every agent's history

Fuzzy-match titles, folders, branches, and IDs, with full-text search over a local, redacted index. Script the same search with omni search --json. Indexing is incremental, so repeat runs only pick up what changed.

$ omni search "rate limiter"
$ omni search '"token race"' --show-text
$ omni search pagination --all-projects --json

Safe by design

Source stores are opened read-only. Recognized credentials are redacted from the index, handoffs, and imports. Ctrl+C during an import rolls it back, and deletion always asks first.

  • Read-only sources
  • Redaction
  • Exact rollback
  • Confirmed deletes
How omni stays safe

Works where you work

Prebuilt for Linux and macOS on x86-64 and ARM64, with a native Windows x86-64 preview. Provider shims route claude --continue into the task you bound, and portable bundles keep a redacted session resumable after its original store is gone.

  • Linux
  • macOS
  • Windows preview
  • Shims
  • Bundles

Open and rigorous

Design decisions live in public RFCs. Adapters share one event model, and a credential-free conformance matrix checks all 90 cross-agent paths. One manifest drives the CLI's version gates, the docs, and the matrix on this page.

Cross-agent paths
90
Agents, one manifest
12

How it works

Discover. Search. Continue.

Three steps from “where was that session?” to working in the agent you want.

  1. 01

    Discover

    Run omni. It finds sessions from every supported agent you have installed and lists the current workspace first. Press Tab to include every workspace.

  2. 02

    Search

    Type to filter. Titles, folders, branches, and IDs match fuzzily, and conversation text matches from a local index that builds in the background.

  3. 03

    Continue

    Pick the agent to keep going in. omni uses that agent's own resume or fork, a native import it reads back before launch, or a semantic handoff into a fresh session.

Supported agents

12 agents. One matrix.

What omni does with each agent on each platform, generated from the manifest the CLI uses. The version is the minimum release omni imports into natively. OFFICIAL is an import through the agent's own API, with no minimum version. READ-ONLY sources continue in other agents. Run omni adapters to see what's ready on this machine.

AgentVersion / accessRead & indexClean startSame-agent resumeCross-agent import
Codex>= 0.146.0Linux + macOS + WindowsLinux + macOS + WindowsLinux + macOS + WindowsResume + forkLinux + macOS + WindowsApp-server import
Claude Code>= 2.1.220Linux + macOSLinux + macOSLinux + macOSResume + forkLinux + macOSNative session
OpenCodeOFFICIALLinux + macOSLinux + macOSLinux + macOSResume + forkLinux + macOSOfficial import
Pi>= 0.79.3Linux + macOSLinux + macOSLinux + macOSResume + forkLinux + macOSv3 JSONL
Oh My Pi>= 18.2.10Linux + macOSLinux + macOSLinux + macOSResume + forkLinux + macOSv3 JSONL
Grok>= 0.2.114Linux + macOS + WindowsLinux + macOS + WindowsLinux + macOS + WindowsResume + forkLinux + macOS + WindowsACP import
Cursor IDE>= 3.12.17Linux + macOSNot guaranteedLinux + macOSRestore chatLinux + macOSDesktop state
Cursor Agent>= 2026.07.23-e383d2bLinux + macOSLinux + macOSLinux + macOSResumeLinux + macOSNative session
Antigravity CLI>= 1.1.8Linux + macOSLinux + macOSLinux + macOSResumeLinux + macOSLinux + macOS state import
Hermes>= 0.19.1Linux + macOSLinux + macOSLinux + macOSResume + forkLinux + macOSOfficial import
Antigravity DesktopREAD-ONLYLinux + macOSNot guaranteedNot guaranteedRead-onlyNot guaranteedSource only
Antigravity IDEREAD-ONLYLinux + macOSNot guaranteedNot guaranteedRead-onlyNot guaranteedSource only

supported not supported

Compatibility notes

Logos identify compatible tools. OmniSession is independent and not endorsed by their owners.

Safety

Your originals stay original.

omni runs on your machine with no daemon, telemetry, or hosted session service; background update checks contact GitHub. Transcripts can hold code, tokens, and personal data, so the defaults assume they do.

Security model
  • Read-only sources

    Discovery and transfers open source stores read-only, and SQLite reads run with query_only. A deletion you select and confirm is the only change omni makes to a source store.

  • Native imports read back

    A native import writes a new target session and reads it back through an independent adapter before launch.

  • Exact rollback

    If a native import fails before launch, or you press Ctrl+C, omni rolls back only the records it created and exits without launching.

  • History, not instructions

    Tool calls and shell commands arrive as historical text and are never replayed. Approvals, hidden reasoning, and provider permission state are left out.

  • Redaction, with limits

    Known authentication files are never read, and recognized credential fields and patterns are redacted. Redaction can't prove every secret is gone, so review sensitive sessions before you transfer them. omni search prints session references unless you pass --show-text.

  • Guarded deletion

    Delete asks for confirmation and targets only the selected native session, through the agent's own command where one exists. Private-store deletes validate exact paths and refuse while that agent runs.

Install

Install in one line.

Prebuilt binaries for Linux and macOS on x86-64 and ARM64. Native Windows x86-64 is a preview.

  1. Run the installerIt verifies the release checksum before installing omni.
  2. Run omniPick a session, then pick the agent to continue in.
  3. Check this machineomni doctor and omni adapters show which agents are installed and ready.
curl -fsSL https://raw.githubusercontent.com/bvolpato/omnisession/main/install.sh | sh

Verifies the release checksum, installs omni, and adds provider shims. Inside WSL, use this installer too.

FAQ

Questions, answered.

How is this different from each agent's own resume?

An agent's own resume only sees its own history. omni indexes every supported agent, keeps related sessions grouped across agents, and uses the agent's own resume, plus fork where the agent has one, when you stay in the same agent.

Does OmniSession change my existing sessions?

omni doesn't edit them. Cross-agent transfers open source stores read-only and continue in a separate target session, and the only change omni makes to a source store is a deletion you select and confirm. If you resume a session in place in its own agent, that agent keeps appending to it as usual.

What carries over when I switch agents?

A native import keeps ordered user and assistant messages plus bounded tool activity. A semantic handoff starts a fresh session from a handoff document instead. Tool calls and shell commands stay historical and never run again, and approvals, hidden reasoning, and permission state are left out. omni inspect reports what a specific source and target preserve.

What if my agent's version isn't supported?

The native import can't run. On a terminal, omni says why and asks whether to retry, fork in the source agent, continue with a semantic handoff, or cancel. Scripts fall back to the handoff. omni adapters --check-imports shows what is ready before you try.

Does anything leave my machine?

OmniSession has no daemon, telemetry, or hosted session service. Background update checks contact GitHub; set OMNI_NO_UPDATE_CHECK=1 to turn them off. Agents you launch keep their own network behavior.

Can I use it on Windows?

Yes, as a preview. The native Windows x86-64 build, PowerShell installer, and shims run in Windows CI. Codex and Grok are supported there today; other agents are not yet. Inside WSL, use the Linux installer.

Switch agents without starting from scratch.

Install omni, pick a session, keep going.