PageSourceSearch

https://omnigent.ai/docs/use/coding-agents

html omnigent.ai collected 2026-10-03 19:05:54 UTC 45,024 bytes, 79 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/images/logo.svg"/><link rel="preload" as="image" href="/images/logo-dark.svg"/><link rel="stylesheet" href="/_next/static/css/70941a1b2b259a27.css?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-2350040e67644074.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k"/>
1<script src="/_next/static/chunks/fd9d1056-8833a973c1542a2c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<script src="/_next/static/chunks/2117-0c481f3c91208658.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<script src="/_next/static/chunks/main-app-be3d940aef6bd3eb.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<script src="/_next/static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<script src="/_next/static/chunks/app/docs/use/coding-agents/page-2c07dfc96f150c9c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<script src="/_next/static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<script src="/_next/static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<script src="/_next/static/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<script src="/_next/static/chunks/app/layout-318f9189bbf90c91.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
1<link rel="preload" href="https://plausible.io/js/pa-HNjmtUEFS5Taxgsfdmq79.js" as="script"/><title>Coding Agents · Omnigent</title><meta name="description" content="Run Claude Code or Codex through Omnigent with one command and get a web UI, persistent sessions, collaboration, mobile, and policies."/><meta property="og:title" content="Coding Agents · Omnigent"/><meta property="og:description" content="Run Claude Code or Codex through Omnigent with one command and get a web UI, persistent sessions, collaboration, mobile, and policies."/><meta property="og:url" content="https://omnigent.ai/docs/use/coding-agents"/><meta property="og:site_name" content="Omnigent"/><meta property="og:image" content="https://omnigent.ai/og?path=%2Fdocs%2Fuse%2Fcoding-agents&amp;v=1"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Coding Agents"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Coding Agents · Omnigent"/><meta name="twitter:description" content="Run Claude Code or Codex through Omnigent with one command and get a web UI, persistent sessions, collaboration, mobile, and policies."/><meta name="twitter:image" content="https://omnigent.ai/og?path=%2Fdocs%2Fuse%2Fcoding-agents&amp;v=1"/><link rel="icon" href="/images/favicon.svg"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" noModule=""></script>
1</head><body><header class="nav"><div class="nav-inner"><div class="nav-menu-toggle"><button class="docs-sidebar-toggle" aria-label="Open navigation"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><rect x="3" y="4" width="14" height="12" rx="1.5"></rect><line x1="7.5" y1="4" x2="7.5" y2="16"></line></svg></button></div><a class="brand" href="/"><img class="theme-light-only" src="/images/logo.svg" alt="Omnigent" height="45" width="172"/><img class="theme-dark-only" src="/images/logo-dark.svg" alt="Omnigent" height="45" width="172"/></a><nav class="nav-links"><a class="nav-link" href="/quickstart/install">Get Started</a><a class="nav-link" href="/docs/use/coding-agents">Docs</a><a class="nav-link" href="/reference">API</a><a class="nav-link" href="/releases">Releases</a><a class="nav-link" href="/blog">Blog</a><a href="https://github.com/omnigent-ai/omnigent" class="nav-icon" target="_blank" rel="noreferrer" aria-label="GitHub"><svg width="20" height="20" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg></a><a href="https://discord.gg/omnigent" class="nav-icon" target="_blank" rel="noreferrer" aria-label="Discord"><svg width="20" height="20" viewBox="0 0 640 512" fill="currentColor" stroke="currentColor" stroke-width="0" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"></path></svg></a></nav><div class="nav-right"><button type="button" class="docsearch-trigger docsearch-trigger--header" aria-label="Search docs"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true"><circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="2"></circle><path d="M21 21l-4.3-4.3" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg><span class="docsearch-trigger-label">Search docs</span><kbd class="docsearch-kbd">⌘K</kbd></button><button type="button" class="nav-mobile-toggle" aria-label="Toggle menu" aria-expanded="false"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button></div></div></header><div class="docs"><aside class="docs-side "><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Get Started<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li><a class="" href="/quickstart/install">Install Omnigent</a></li><li><a class="" href="/quickstart/coding-agent">Tutorial: Coding Agent</a></li><li><a class="" href="/quickstart/polly">Tutorial: Polly (Multi-AI Coding)</a></li><li><a class="" href="/quickstart/collaborate">Tutorial: Collaborate</a></li><li><a class="" href="/quickstart/policies">Tutorial: Contextual Policies</a></li></ul></div><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Use Cases<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li style="list-style:none"><span style="display:flex;align-items:center;gap:0"><a class="active" style="flex:1;display:block;padding:0.25rem 0.6rem 0.25rem 1.2rem;border-radius:7px;font-size:0.9rem" href="/docs/use/coding-agents">Coding Agents</a></span></li><li style="list-style:none"><span style="display:flex;align-items:center;gap:0"><a class="" style="flex:1;display:block;padding:0.25rem 0.6rem 0.25rem 1.2rem;border-radius:7px;font-size:0.9rem" href="/docs/use/builtin-agents">Built-in Multi-AI Agents</a><span role="button" tabindex="0" style="cursor:pointer;padding:0.25rem 0.5rem;font-size:0.5rem;opacity:0.4;transition:transform 0.15s;transform:rotate(0deg)">▶</span></span></li><li style="list-style:none"><span style="display:flex;align-items:center;gap:0"><a class="" style="flex:1;display:block;padding:0.25rem 0.6rem 0.25rem 1.2rem;border-radius:7px;font-size:0.9rem" href="/docs/use/custom-agents">Custom Agents</a><span role="button" tabindex="0" style="cursor:pointer;padding:0.25rem 0.5rem;font-size:0.5rem;opacity:0.4;transition:transform 0.15s;transform:rotate(0deg)">▶</span></span></li></ul></div><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Harnesses<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li><a class="" href="/docs/build/harnesses">Overview</a></li><li><a class="" href="/docs/build/harnesses/supported">Supported Harnesses</a></li><li><a class="" href="/docs/build/harnesses/configuration">Configuration</a></li><li><a class="" href="/docs/build/harnesses/community">Community Harnesses</a></li></ul></div><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Interfaces<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li><a class="" href="/docs/interact/terminal">Terminal</a></li><li><a class="" href="/docs/interact/web-ui">Web UI</a></li><li><a class="" href="/docs/interact/mobile">Mobile</a></li><li><a class="" href="/docs/interact/desktop">Desktop App</a></li><li><a class="" href="/docs/interact/slack">Slack</a></li></ul></div><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Collaboration<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li><a class="" href="/docs/collaborate">Pair Programming</a></li><li><a class="" href="/docs/deploy/overview">Shared Server</a></li><li><a class="" href="/docs/collaborate/auth">Auth &amp; SSO</a></li><li><a class="" href="/docs/deploy/database">Database</a></li><li><a class="" href="/docs/deploy/credential-store">Credential Store</a></li><li><a class="" href="/docs/deploy/github-connect">Connect GitHub</a></li><li><a class="" href="/docs/deploy/databricks-connect">Connect Databricks</a></li><li><a class="" href="/docs/deploy/cloud-sandbox-host">Cloud Sandbox Host</a></li><li><a class="" href="/docs/deploy/community-sandbox-providers">Community Sandbox Providers</a></li></ul></div><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Contextual Policies<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li><a class="" href="/docs/policies/overview">Overview</a></li><li style="list-style:none"><span style="display:flex;align-items:center;gap:0"><a class="" style="flex:1;display:block;padding:0.25rem 0.6rem 0.25rem 1.2rem;border-radius:7px;font-size:0.9rem" href="/docs/policies/builtin">Builtin Policies</a><span role="button" tabindex="0" style="cursor:pointer;padding:0.25rem 0.5rem;font-size:0.5rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></span><ul style="padding-left:0.6rem;margin-bottom:0.3rem"><li><a class="" style="padding-left:0.9rem" href="/docs/policies/builtin#safety">Safety</a></li><li><a class="" style="padding-left:0.9rem" href="/docs/policies/builtin#cost-control">Cost Control</a></li></ul></li><li style="list-style:none"><span style="display:flex;align-items:center;gap:0"><a class="" style="flex:1;display:block;padding:0.25rem 0.6rem 0.25rem 1.2rem;border-radius:7px;font-size:0.9rem" href="/docs/policies/custom">Custom Policies</a></span></li></ul></div><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Omnibox<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li><a class="" href="/docs/omnibox">Overview</a></li></ul></div><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Programmatic Usage<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li><a class="" href="/docs/programmatic">Overview</a></li></ul></div><div><h4 style="cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between">Reference<span style="font-size:0.55rem;opacity:0.4;transition:transform 0.15s;transform:rotate(90deg)">▶</span></h4><ul><li style="list-style:none"><span role="button" tabindex="0" style="display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:0.25rem 0.6rem;border-radius:7px;font-size:0.9rem;color:var(--fg-soft)">Configuration<span style="font-size:0.5rem;opacity:0.4;transition:transform 0.15s;transform:rotate(0deg)">▶</span></span></li><li style="list-style:none"><span style="display:flex;align-items:center;gap:0"><a class="" style="flex:1;display:block;padding:0.25rem 0.6rem 0.25rem 1.2rem;border-radius:7px;font-size:0.9rem" href="/reference">REST API</a></span></li><li style="list-style:none"><span style="display:flex;align-items:center;gap:0"><a class="" style="flex:1;display:block;padding:0.25rem 0.6rem 0.25rem 1.2rem;border-radius:7px;font-size:0.9rem" href="/docs/reference/routing-api">Routing Provider API</a></span></li><li style="list-style:none"><span style="display:flex;align-items:center;gap:0"><a class="" style="flex:1;display:block;padding:0.25rem 0.6rem 0.25rem 1.2rem;border-radius:7px;font-size:0.9rem" href="/docs/deploy/telemetry">Usage Telemetry</a></span></li></ul></div></aside><article class="docs-main" data-pagefind-body="true"><h1>Coding Agents</h1>
2<p>
2Run Claude Code or Codex through Omnigent with a single command. No YAML needed.
3You get the full platform on top of the coding agent you already use: web UI,
4persistent sessions, team collaboration, mobile access, and
5<a href="/docs/policies/overview">contextual policies</a>.</p>
6<pre><code>omni claude    # Claude Code
7omni codex     # Codex
8omni goose     # Goose
9omni hermes    # Hermes
10omni copilot   # GitHub Copilot (SDK harness)
11omni devin     # Devin
12</code></pre>
13<p>Each command launches a built-in agent — no registration step required. Goose,
14Hermes, and Devin boot their own native terminal UI in a pane, wrapped with
15Omnigent&#x27;s web UI, collaboration, and policy layer. <code>omni copilot</code> is shorthand
16for <code>omni run --harness copilot</code> and needs the Copilot SDK (<code>copilot</code> extra); see
17<a href="/docs/build/harnesses/configuration#github-copilot">GitHub Copilot</a> for launch
18and auth details. See <a href="/docs/build/harnesses">Harnesses</a> for the full list of
19coding agents and their harness ids.</p>
20<p>Under the hood, each coding agent runs as a <strong>harness</strong>: the runtime that
21executes your agent loop. Omnigent wraps it with a common interface and adds
22everything a single harness can&#x27;t provide on its own.</p>
23<p><strong><a href="/quickstart/coding-agent">Follow the Coding Agent tutorial</a></strong> to get started
24in under a minute.</p>
25<h2>Import existing chats</h2>
26<p>Already have local Claude Code or Codex history? Bring it into Omnigent as a
27normal session with <code>omnigent import</code>. The source transcript is converted to
28ordinary Omnigent items and stored as a regular session, so it gains the web UI,
29persistence, collaboration, and everything else. A given source session can only
30be imported once unless you pass <code>--force</code> to replace the previous import.</p>
31<p>Import a single chat by its harness-native session ID:</p>
32<pre><code>omnigent import --harness claude --session &lt;session-id&gt;
33omnigent import --harness codex --session &lt;session-id&gt;
34</code></pre>
35<p>Or import a batch of your most recent chats with <code>--last N</code>, which imports the
36<code>N</code> most recently modified parent sessions (oldest first, up to a maximum of
37100):</p>
38<pre><code>omnigent import --harness claude --last 10
39</code></pre>
40<p>Provide exactly one of <code>--session</code> or <code>--last</code> — they are mutually exclusive.</p>
41<p>To pull recent chats from every supported harness at once, pass
42<code>--harness all</code> together with <code>--last N</code>. This merges all harnesses into a
43single global recency order and imports the <code>N</code> most recent sessions in total
44(not <code>N</code> per harness), each tagged with its own source:</p>
45<pre><code>omnigent import --harness all --last 25
46</code></pre>
47<p><code>--harness all</code> requires <code>--last</code> — a single <code>--session</code> ID belongs to exactly
48one harness, so combining <code>all</code> with <code>--session</code> is a usage error.</p>
49<p>Re-importing a source session that was already imported is rejected by default.
50Pass <code>--force</code> to replace the previous import instead — Omnigent deletes the old
51conversation and re-imports the transcript in place, keeping the same session
52ID:</p>
53<pre><code>omnigent import --harness claude --session &lt;session-id&gt; --force
54</code></pre>
55<p>When importing a batch, sessions that were already imported are skipped and a
56session that fails to import doesn&#x27;t stop the rest. Omnigent prints a summary of
57how many sessions were imported, already imported, and failed, and exits with a
58non-zero status if any failed.</p>
59<h3>Import from the web UI</h3>
60<p>You can also import from the web UI without touching the terminal. Open
61<strong>Settings › Import sessions</strong> and pick one of your online machines. The
62<strong>Import</strong> selector offers two modes:</p>
63<ul>
64<li><strong>Recent sessions</strong> — choose a harness (or <strong>All harnesses</strong>) and how many
65recent sessions to pull (25, 50, or 100).</li>
66<li><strong>Session by ID</strong> — choose a specific harness and enter one harness-native
67session ID to import just that transcript, without listing your local
68history. <strong>All harnesses</strong> isn&#x27;t available in this mode, since a session ID
69belongs to exactly one harness.</li>
70</ul>
71<p>Then click <strong>Import</strong>. The transcripts live on your machine, so the read
72happens on that connected machine over its tunnel — the server never sees your
73local files. Sessions already imported are skipped, and each newly imported
74session is linked in the result so you can jump straight into it.</p>
75<p>A brand-new account with no sessions yet also gets a one-click <strong>Import your 25
76most recent sessions</strong> button on the empty home screen (importing across all
77harnesses from your online machine), plus a <strong>Choose what to import</strong> link into
78the Settings picker. Importing from the web UI requires an online machine —
79start one with <code>omnigent host</code> from your terminal if none are connected.</p><nav class="prev-next-nav" data-pagefind-ignore="true"><a class="prev-next-link prev-next-link--prev" href="/quickstart/policies"><span class="prev-next-dir">← Previous</span><span class="prev-next-label">Get Started: Tutorial: Contextual Policies</span></a><a class="prev-next-link prev-next-link--next" href="/docs/use/builtin-agents"><span class="prev-next-dir">Next →</span><span class="prev-next-label">Use Omnigent: Built-in Multi-AI Agents</span></a></nav></article></div><footer class="footer"><div class="wrap-wide footer-inner"><span>Built by the Databricks AI team, Neon and the Omnigent Contributors.</span><span class="spacer"></span><a href="/quickstart/install">Get Started</a><a href="/docs/use/coding-agents">Docs</a><a href="/privacy">Privacy</a><a href="https://github.com/omnigent-ai/omnigent" target="_blank" rel="noreferrer"><span style="display:inline-flex;align-items:center;gap:0.35rem"><svg width="15" height="15" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> GitHub</span></a><a href="https://discord.gg/omnigent" target="_blank" rel="noreferrer"><span style="display:inline-flex;align-items:center;gap:0.35rem"><svg width="15" height="15" viewBox="0 0 640 512" fill="currentColor" stroke="currentColor" stroke-width="0" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109
79-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"></path></svg> Discord</span></a><span class="muted">Apache 2.0</span></div></footer><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
79<script src="/_next/static/chunks/webpack-2350040e67644074.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k" async=""></script>
79<script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script>
79<script>self.__next_f.push([1,"1:HL[\"/_next/static/css/70941a1b2b259a27.css?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"style\"]\n"])</script>
79<script>self.__next_f.push([1,"2:I[12846,[],\"\"]\n4:I[72972,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"9191\",\"static/chunks/app/docs/use/coding-agents/page-2c07dfc96f150c9c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"\"]\n5:I[4707,[],\"\"]\n6:I[36423,[],\"\"]\n7:I[65855,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"5111\",\"static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"1974\",\"static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"3998\",\"static/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"DocsSidebarProvider\"]\n8:I[85111,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"5111\",\"static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"1974\",\"static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"3998\",\"static/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"default\"]\n9:I[86928,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"5111\",\"static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"1974\",\"static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"3998\",\"static/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"default\"]\na:I[67987,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"5111\",\"static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"1974\",\"static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"3998\",\"static/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"default\"]\nb:I[97457,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"5111\",\"static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"1974\",\"static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"3998\",\"sta"])</script>
79<script>self.__next_f.push([1,"tic/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"default\"]\nc:I[84581,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"5111\",\"static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"1974\",\"static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"3998\",\"static/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"default\"]\nd:I[7978,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"5111\",\"static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"1974\",\"static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"3998\",\"static/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"default\"]\ne:I[54102,[\"2972\",\"static/chunks/2972-6fb1b48a76f0720c.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"5111\",\"static/chunks/5111-04ef967c14fd1ca5.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"1974\",\"static/chunks/1974-a9a9c6d4250b722f.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"3998\",\"static/chunks/app/docs/layout-d6b8111dd5c0def8.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"default\"]\n10:I[49197,[\"3185\",\"static/chunks/app/layout-318f9189bbf90c91.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"Analytics\"]\n11:I[88003,[\"3185\",\"static/chunks/app/layout-318f9189bbf90c91.js?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\"],\"\"]\n13:I[61060,[],\"\"]\nf:T50e,M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.1"])</script>
79<script>self.__next_f.push([1,"37a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z14:[]\n"])</script>
79<script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"OsnMH2ORGYeka9NoI6-oy\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"docs\",\"use\",\"coding-agents\"],\"initialTree\":[\"\",{\"children\":[\"docs\",{\"children\":[\"use\",{\"children\":[\"coding-agents\",{\"children\":[\"__PAGE__\",{}]}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"docs\",{\"children\":[\"use\",{\"children\":[\"coding-agents\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"h1\",null,{\"children\":\"Coding Agents\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Run Claude Code or Codex through Omnigent with a single command. No YAML needed.\\nYou get the full platform on top of the coding agent you already use: web UI,\\npersistent sessions, team collaboration, mobile access, and\\n\",[\"$\",\"$L4\",null,{\"href\":\"/docs/policies/overview\",\"children\":\"contextual policies\"}],\".\"]}],\"\\n\",[\"$\",\"pre\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"omni claude    # Claude Code\\nomni codex     # Codex\\nomni goose     # Goose\\nomni hermes    # Hermes\\nomni copilot   # GitHub Copilot (SDK harness)\\nomni devin     # Devin\\n\"}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Each command launches a built-in agent — no registration step required. Goose,\\nHermes, and Devin boot their own native terminal UI in a pane, wrapped with\\nOmnigent's web UI, collaboration, and policy layer. \",[\"$\",\"code\",null,{\"children\":\"omni copilot\"}],\" is shorthand\\nfor \",[\"$\",\"code\",null,{\"children\":\"omni run --harness copilot\"}],\" and needs the Copilot SDK (\",[\"$\",\"code\",null,{\"children\":\"copilot\"}],\" extra); see\\n\",[\"$\",\"$L4\",null,{\"href\":\"/docs/build/harnesses/configuration#github-copilot\",\"children\":\"GitHub Copilot\"}],\" for launch\\nand auth details. See \",[\"$\",\"$L4\",null,{\"href\":\"/docs/build/harnesses\",\"children\":\"Harnesses\"}],\" for the full list of\\ncoding agents and their harness ids.\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Under the hood, each coding agent runs as a \",[\"$\",\"strong\",null,{\"children\":\"harness\"}],\": the runtime that\\nexecutes your agent loop. Omnigent wraps it with a common interface and adds\\neverything a single harness can't provide on its own.\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"$L4\",null,{\"href\":\"/quickstart/coding-agent\",\"children\":\"Follow the Coding Agent tutorial\"}]}],\" to get started\\nin under a minute.\"]}],\"\\n\",[\"$\",\"h2\",null,{\"children\":\"Import existing chats\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Already have local Claude Code or Codex history? Bring it into Omnigent as a\\nnormal session with \",[\"$\",\"code\",null,{\"children\":\"omnigent import\"}],\". The source transcript is converted to\\nordinary Omnigent items and stored as a regular session, so it gains the web UI,\\npersistence, collaboration, and everything else. A given source session can only\\nbe imported once unless you pass \",[\"$\",\"code\",null,{\"children\":\"--force\"}],\" to replace the previous import.\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"Import a single chat by its harness-native session ID:\"}],\"\\n\",[\"$\",\"pre\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"omnigent import --harness claude --session \u003csession-id\u003e\\nomnigent import --harness codex --session \u003csession-id\u003e\\n\"}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Or import a batch of your most recent chats with \",[\"$\",\"code\",null,{\"children\":\"--last N\"}],\", which imports the\\n\",[\"$\",\"code\",null,{\"children\":\"N\"}],\" most recently modified parent sessions (oldest first, up to a maximum of\\n100):\"]}],\"\\n\",[\"$\",\"pre\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"omnigent import --harness claude --last 10\\n\"}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Provide exactly one of \",[\"$\",\"code\",null,{\"children\":\"--session\"}],\" or \",[\"$\",\"code\",null,{\"children\":\"--last\"}],\" — they are mutually exclusive.\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"To pull recent chats from every supported harness at once, pass\\n\",[\"$\",\"code\",null,{\"children\":\"--harness all\"}],\" together with \",[\"$\",\"code\",null,{\"children\":\"--last N\"}],\". This merges all harnesses into a\\nsingle global recency order and imports the \",[\"$\",\"code\",null,{\"children\":\"N\"}],\" most recent sessions in total\\n(not \",[\"$\",\"code\",null,{\"children\":\"N\"}],\" per harness), each tagged with its own source:\"]}],\"\\n\",[\"$\",\"pre\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"omnigent import --harness all --last 25\\n\"}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[[\"$\",\"code\",null,{\"children\":\"--harness all\"}],\" requires \",[\"$\",\"code\",null,{\"children\":\"--last\"}],\" — a single \",[\"$\",\"code\",null,{\"children\":\"--session\"}],\" ID belongs to exactly\\none harness, so combining \",[\"$\",\"code\",null,{\"children\":\"all\"}],\" with \",[\"$\",\"code\",null,{\"children\":\"--session\"}],\" is a usage error.\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Re-importing a source session that was already imported is rejected by default.\\nPass \",[\"$\",\"code\",null,{\"children\":\"--force\"}],\" to replace the previous import instead — Omnigent deletes the old\\nconversation and re-imports the transcript in place, keeping the same session\\nID:\"]}],\"\\n\",[\"$\",\"pre\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"omnigent import --harness claude --session \u003csession-id\u003e --force\\n\"}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"When importing a batch, sessions that were already imported are skipped and a\\nsession that fails to import doesn't stop the rest. Omnigent prints a summary of\\nhow many sessions were imported, already imported, and failed, and exits with a\\nnon-zero status if any failed.\"}],\"\\n\",[\"$\",\"h3\",null,{\"children\":\"Import from the web UI\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"You can also import from the web UI without touching the terminal. Open\\n\",[\"$\",\"strong\",null,{\"children\":\"Settings › Import sessions\"}],\" and pick one of your online machines. The\\n\",[\"$\",\"strong\",null,{\"children\":\"Import\"}],\" selector offers two modes:\"]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Recent sessions\"}],\" — choose a harness (or \",[\"$\",\"strong\",null,{\"children\":\"All harnesses\"}],\") and how many\\nrecent sessions to pull (25, 50, or 100).\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Session by ID\"}],\" — choose a specific harness and enter one harness-native\\nsession ID to import just that transcript, without listing your local\\nhistory. \",[\"$\",\"strong\",null,{\"children\":\"All harnesses\"}],\" isn't available in this mode, since a session ID\\nbelongs to exactly one harness.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Then click \",[\"$\",\"strong\",null,{\"children\":\"Import\"}],\". The transcripts live on your machine, so the read\\nhappens on that connected machine over its tunnel — the server never sees your\\nlocal files. Sessions already imported are skipped, and each newly imported\\nsession is linked in the result so you can jump straight into it.\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"A brand-new account with no sessions yet also gets a one-click \",[\"$\",\"strong\",null,{\"children\":\"Import your 25\\nmost recent sessions\"}],\" button on the empty home screen (importing across all\\nharnesses from your online machine), plus a \",[\"$\",\"strong\",null,{\"children\":\"Choose what to import\"}],\" link into\\nthe Settings picker. Importing from the web UI requires an online machine —\\nstart one with \",[\"$\",\"code\",null,{\"children\":\"omnigent host\"}],\" from your terminal if none are connected.\"]}]],null],null],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"docs\",\"children\",\"use\",\"children\",\"coding-agents\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"docs\",\"children\",\"use\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"$L7\",null,{\"children\":[[\"$\",\"$L8\",null,{\"menuToggle\":[\"$\",\"$L9\",null,{}]}],[\"$\",\"div\",null,{\"className\":\"docs\",\"children\":[[\"$\",\"$La\",null,{}],[\"$\",\"article\",null,{\"className\":\"docs-main\",\"data-pagefind-body\":true,\"children\":[[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"docs\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}],[\"$\",\"$Lb\",null,{}],[\"$\",\"$Lc\",null,{}],[\"$\",\"$Ld\",null,{}]]}],[\"$\",\"$Le\",null,{}]]}],[\"$\",\"footer\",null,{\"className\":\"footer\",\"children\":[\"$\",\"div\",null,{\"className\":\"wrap-wide footer-inner\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Built by the Databricks AI team, Neon and the Omnigent Contributors.\"}],[\"$\",\"span\",null,{\"className\":\"spacer\"}],[\"$\",\"$L4\",null,{\"href\":\"/quickstart/install\",\"children\":\"Get Started\"}],[\"$\",\"$L4\",null,{\"href\":\"/docs/use/coding-agents\",\"children\":\"Docs\"}],[\"$\",\"$L4\",null,{\"href\":\"/privacy\",\"children\":\"Privacy\"}],[\"$\",\"a\",null,{\"href\":\"https://github.com/omnigent-ai/omnigent\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"$\",\"span\",null,{\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"gap\":\"0.35rem\"}
79,\"children\":[[\"$\",\"svg\",null,{\"width\":15,\"height\":15,\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"}]}],\" GitHub\"]}]}],[\"$\",\"a\",null,{\"href\":\"https://discord.gg/omnigent\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"$\",\"span\",null,{\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"gap\":\"0.35rem\"},\"children\":[[\"$\",\"svg\",null,{\"width\":15,\"height\":15,\"viewBox\":\"0 0 640 512\",\"fill\":\"currentColor\",\"stroke\":\"currentColor\",\"strokeWidth\":\"0\",\"aria-hidden\":\"true\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"$f\"}]}],\" Discord\"]}]}],[\"$\",\"span\",null,{\"className\":\"muted\",\"children\":\"Apache 2.0\"}]]}]}]]}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/70941a1b2b259a27.css?dpl=dpl_5syFRhjaZznvcuE6fh4jBGzFC45k\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],[\"$\",\"$L10\",null,{}],[\"$\",\"$L11\",null,{\"src\":\"https://plausible.io/js/pa-HNjmtUEFS5Taxgsfdmq79.js\",\"strategy\":\"afterInteractive\"}],[\"$\",\"$L11\",null,{\"id\":\"plausible-init\",\"strategy\":\"afterInteractive\",\"children\":\"window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};\\nplausible.init()\"}]]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L12\"],\"globalErrorComponent\":\"$13\",\"missingSlots\":\"$W14\"}]\n"])</script>
79<script>self.__next_f.push([1,"12:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Coding Agents · Omnigent\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Run Claude Code or Codex through Omnigent with one command and get a web UI, persistent sessions, collaboration, mobile, and policies.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"Coding Agents · Omnigent\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"Run Claude Code or Codex through Omnigent with one command and get a web UI, persistent sessions, collaboration, mobile, and policies.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://omnigent.ai/docs/use/coding-agents\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:site_name\",\"content\":\"Omnigent\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image\",\"content\":\"https://omnigent.ai/og?path=%2Fdocs%2Fuse%2Fcoding-agents\u0026v=1\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:alt\",\"content\":\"Coding Agents\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Coding Agents · Omnigent\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"Run Claude Code or Codex through Omnigent with one command and get a web UI, persistent sessions, collaboration, mobile, and policies.\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image\",\"content\":\"https://omnigent.ai/og?path=%2Fdocs%2Fuse%2Fcoding-agents\u0026v=1\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/images/favicon.svg\"}]]\n3:null\n"])</script>
79</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.