Coding Agents

Run Claude Code or Codex through Omnigent with a single command. No YAML needed. You get the full platform on top of the coding agent you already use: web UI, persistent sessions, team collaboration, mobile access, and contextual policies.

omni claude    # Claude Code
omni codex     # Codex
omni goose     # Goose
omni hermes    # Hermes

Each command launches a built-in agent — no registration step required. Goose and Hermes boot their own native terminal UI in a pane, wrapped with Omnigent's web UI, collaboration, and policy layer. See Harnesses for the full list of coding agents and their harness ids.

Under the hood, each coding agent runs as a harness: the runtime that executes your agent loop. Omnigent wraps it with a common interface and adds everything a single harness can't provide on its own.

Follow the Coding Agent tutorial to get started in under a minute.

Import existing chats

Already have local Claude Code or Codex history? Bring it into Omnigent as a normal session with omnigent import. The source transcript is converted to ordinary Omnigent items and stored as a regular session, so it gains the web UI, persistence, collaboration, and everything else. A given source session can only be imported once unless you pass --force to replace the previous import.

Import a single chat by its harness-native session ID:

omnigent import --harness claude --session <session-id>
omnigent import --harness codex --session <session-id>

Or import a batch of your most recent chats with --last N, which imports the N most recently modified parent sessions (oldest first, up to a maximum of 100):

omnigent import --harness claude --last 10

Provide exactly one of --session or --last — they are mutually exclusive.

To pull recent chats from every supported harness at once, pass --harness all together with --last N. This merges all harnesses into a single global recency order and imports the N most recent sessions in total (not N per harness), each tagged with its own source:

omnigent import --harness all --last 25

--harness all requires --last — a single --session ID belongs to exactly one harness, so combining all with --session is a usage error.

Re-importing a source session that was already imported is rejected by default. Pass --force to replace the previous import instead — Omnigent deletes the old conversation and re-imports the transcript in place, keeping the same session ID:

omnigent import --harness claude --session <session-id> --force

When importing a batch, sessions that were already imported are skipped and a session that fails to import doesn't stop the rest. Omnigent prints a summary of how many sessions were imported, already imported, and failed, and exits with a non-zero status if any failed.

Import from the web UI

You can also import from the web UI without touching the terminal. Open Settings › Import sessions and pick one of your online machines. The Import selector offers two modes:

Then click Import. The transcripts live on your machine, so the read happens on that connected machine over its tunnel — the server never sees your local files. Sessions already imported are skipped, and each newly imported session is linked in the result so you can jump straight into it.

A brand-new account with no sessions yet also gets a one-click Import your 25 most recent sessions button on the empty home screen (importing across all harnesses from your online machine), plus a Choose what to import link into the Settings picker. Importing from the web UI requires an online machine — start one with omnigent host from your terminal if none are connected.