<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>session-cockpit on tomrochette.com</title>
    <link>https://tomrochette.com/tags/session-cockpit/</link>
    <description>Recent content in session-cockpit on tomrochette.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>tom@tomrochette.com (Tom Rochette)</managingEditor>
    <webMaster>tom@tomrochette.com (Tom Rochette)</webMaster>
    <copyright>© 2026 Tom Rochette</copyright>
    <lastBuildDate>Mon, 12 Oct 2026 11:16:13 -0400</lastBuildDate><atom:link href="https://tomrochette.com/tags/session-cockpit/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>CodeNomad</title>
      <link>https://tomrochette.com/agents/surfaces/codenomad/</link>
      <pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate>
      <author>tom@tomrochette.com (Tom Rochette)</author>
      <guid>https://tomrochette.com/agents/surfaces/codenomad/</guid>
      <category>research-note</category><category>agent-curated</category><category>fully-ai-generated</category><category>llm=glm-5.3-flash</category><category>surfaces</category><category>opencode</category><category>desktop</category><category>session-cockpit</category><category>open-source</category>
      <description>&lt;p&gt;CodeNomad is an MIT desktop and browser workspace for OpenCode V2: projects, nested sessions, worktrees, diff review, MCP and plugin management, and a self-hosted server mode, with phone pairing through an OpenTunnel relay.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Its bet is that OpenCode&amp;rsquo;s shared background service is the engine and a cockpit can be a separate desktop product, which makes CodeNomad the first OpenCode-centric surface that is desktop-first rather than web-first.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;What it is&#xA;    &lt;div id=&#34;what-it-is&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#what-it-is&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;An Electron or Tauri desktop app plus a browser client, built by the NeuralNomadsAI organization (created 2025-11-14), speaking to one shared OpenCode V2 background service (2.0.7 minimum, 2.0.21 recommended for 0.20.1); OpenCode owns the sessions, messages, and agent execution, and closing CodeNomad leaves the service running.&#xA;The surface covers projects with per-window tabs and drafts, full-history session search with a timeline and forks, worktree creation and session moves, rich conversations (markdown, diffs, tool-result images, reasoning visibility, a &lt;code&gt;/btw&lt;/code&gt; side question), background shells, MCP connection and plugin management, agent-driven browser previews, voice input, and SideCars, tabs that proxy web tools running on the server host (including an OpenVSCode Server container).&#xA;The CodeNomad Server (&lt;code&gt;npx @neuralnomads/codenomad&lt;/code&gt;) serves the same workspace from your machine with password authentication and self-signed HTTPS, and Remote Control pairs a phone or another computer through an OpenTunnel relay without opening ports, TLS ending on your machine.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Status&#xA;    &lt;div id=&#34;status&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#status&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Active on a daily train, young, and without independent coverage.&lt;/strong&gt;&#xA;2,620 stars, 177 forks, and 21 open issues and pull requests, created 2025-11-01, pushed 2026-10-12, as of 2026-10-12 (GitHub API).&#xA;Stable v0.20.1 (2026-10-03) after v0.20.0 (2026-09-25), with a daily &lt;code&gt;v0.20.1-dev&lt;/code&gt; release train running through the writing of this note.&#xA;The server package drew 1,267 npm downloads in the month ending 2026-10-10.&#xA;A Hacker News search returns no story about the project (2026-10-11), only substring matches, so the footprint is GitHub-side.&lt;/p&gt;&#xA;&lt;picture&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://api.star-history.com/chart?repos=NeuralNomadsAI/CodeNomad&amp;type=date&amp;theme=dark&amp;legend=top-left&#34; /&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;https://api.star-history.com/chart?repos=NeuralNomadsAI/CodeNomad&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;  &lt;img alt=&#34;Star History Chart&#34; src=&#34;https://api.star-history.com/chart?repos=NeuralNomadsAI/CodeNomad&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;&lt;/picture&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Strengths&#xA;    &lt;div id=&#34;strengths&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#strengths&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Desktop-first does change the job&lt;/strong&gt;: per-window project tabs, drafts, view restoration, and voice input are things a browser cockpit reaches awkwardly, and the Tauri build keeps the footprint smaller than Electron.&lt;/li&gt;&#xA;&lt;li&gt;The remote-control story is the most complete in the category: your own server, password auth, HTTPS, and phone pairing through a relay that terminates TLS on your machine, no port forwarding.&lt;/li&gt;&#xA;&lt;li&gt;OpenCode compatibility is treated as a contract, with a minimum and recommended CLI version validated at startup rather than assumed.&lt;/li&gt;&#xA;&lt;li&gt;SideCars are a quiet good idea: any web tool on the server host becomes a tab in the workspace, which is how a second editor or a browser IDE joins an OpenCode session.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Cautions&#xA;    &lt;div id=&#34;cautions&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#cautions&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;One-harness commitment&lt;/strong&gt;: OpenCode V2 only, with V1 and the former V2 beta explicitly unsupported, so your surface choice is chained to one engine&amp;rsquo;s release cadence.&lt;/li&gt;&#xA;&lt;li&gt;The dev train outpaces the stable channel (multiple dev releases per day against one stable in October so far), and the 0.20 UI requires a matching 0.20 server, so remote users must upgrade in step.&lt;/li&gt;&#xA;&lt;li&gt;First remote launch shows a self-signed-certificate warning by design; teams that cannot click through it need the HTTPS configuration path documented in the server README.&lt;/li&gt;&#xA;&lt;li&gt;No Hacker News footprint and no third-party reviews found, so the 2.6k stars are uncorroborated by public discussion.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Pricing&#xA;    &lt;div id=&#34;pricing&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pricing&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pricing does not apply: the app and server are free and MIT, with no hosted tier.&#xA;The costs are your OpenCode subscriptions or API keys and the machine that runs the shared service.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Compared to&#xA;    &lt;div id=&#34;compared-to&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#compared-to&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/surfaces/openchamber/&#34; &gt;OpenChamber&lt;/a&gt;: the other OpenCode-centric cockpit; OpenChamber is web-first with the deepest OpenCode feature coverage, CodeNomad is desktop-first with remote control, voice, and SideCars.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/surfaces/bb/&#34; &gt;bb&lt;/a&gt;: the self-building agent IDE that drives any provider CLI; bb is broader and Mac-silicon-forward, CodeNomad is narrower and OpenCode-committed.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/surfaces/cate/&#34; &gt;Cate&lt;/a&gt;: the canvas workspace where agent terminals become territories; Cate visualizes many agents spatially, CodeNomad organizes sessions hierarchically per project.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Bottom line&#xA;    &lt;div id=&#34;bottom-line&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bottom-line&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Recommended for OpenCode V2 users who want a native desktop cockpit, worktree-per-session organization, and phone remote control they can self-host.&lt;/strong&gt;&#xA;Not for multi-harness users (bb or a plain terminal covers that), and not for teams that need a vendor to call when the dev train breaks a remote setup.&#xA;My disagreeable claim: two serious cockpits around one harness is the correct market density, not duplication, because OpenCode&amp;rsquo;s service contract has become a platform layer and platforms get one client per interaction model.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Changes&#xA;    &lt;div id=&#34;changes&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#changes&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2026-10-11 - Created after the owner-star entrant scan flagged the repository, with the one-harness commitment and the stable-versus-dev train gap recorded as the central cautions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;See also&#xA;    &lt;div id=&#34;see-also&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#see-also&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/surfaces/openchamber/&#34; &gt;OpenChamber&lt;/a&gt; - the web-first OpenCode cockpit this note&amp;rsquo;s closest comparison&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/surfaces/bb/&#34; &gt;bb&lt;/a&gt; - the desktop IDE that builds itself, the multi-harness alternative&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/surfaces/codeg/&#34; &gt;Codeg&lt;/a&gt; - the session-aggregating workspace with native mobile clients&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/surfaces/surface-feature-matrix/&#34; &gt;Surface Feature Matrix&lt;/a&gt; - the category comparison this note joins&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;References&#xA;    &lt;div id=&#34;references&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#references&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/NeuralNomadsAI/CodeNomad&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://github.com/NeuralNomadsAI/CodeNomad&lt;/a&gt; - repository facts: 2,620 stars, 177 forks, MIT, created 2025-11-01, pushed 2026-10-12 (GitHub API, as of 2026-10-12)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://raw.githubusercontent.com/NeuralNomadsAI/CodeNomad/main/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=raw.githubusercontent.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://raw.githubusercontent.com/NeuralNomadsAI/CodeNomad/main/README.md&lt;/a&gt; - the feature set, OpenCode V2 version contract, SideCars, remote control, and install paths (fetched 2026-10-11)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://raw.githubusercontent.com/NeuralNomadsAI/CodeNomad/main/packages/server/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=raw.githubusercontent.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://raw.githubusercontent.com/NeuralNomadsAI/CodeNomad/main/packages/server/README.md&lt;/a&gt; - the server mode: remote access, authentication, prerequisites, deployment model&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://api.github.com/repos/NeuralNomadsAI/CodeNomad/releases&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=api.github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://api.github.com/repos/NeuralNomadsAI/CodeNomad/releases&lt;/a&gt; - stable v0.20.1 (2026-10-03), v0.20.0 (2026-09-25), and the daily dev train&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://api.npmjs.org/downloads/point/last-month/@neuralnomads/codenomad&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=api.npmjs.org&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://api.npmjs.org/downloads/point/last-month/@neuralnomads/codenomad&lt;/a&gt; - 1,267 downloads in the month ending 2026-10-10&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://hn.algolia.com/api/v1/search?query=CodeNomad&amp;amp;tags=story&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=hn.algolia.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://hn.algolia.com/api/v1/search?query=CodeNomad&amp;tags=story&lt;/a&gt; - the footprint scan finding no dedicated story (2026-10-11)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      
    </item>
    
  </channel>
</rss>
