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:
- Recent sessions — choose a harness (or All harnesses) and how many recent sessions to pull (25, 50, or 100).
- Session by ID — choose a specific harness and enter one harness-native session ID to import just that transcript, without listing your local history. All harnesses isn't available in this mode, since a session ID belongs to exactly one harness.
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.