<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alex Carney</title>
    <description>The latest articles on DEV Community by Alex Carney (@alexcarney).</description>
    <link>https://dev.to/alexcarney</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4200890%2F5e06f6fb-bf51-44d1-86b1-641fed276476.png</url>
      <title>DEV Community: Alex Carney</title>
      <link>https://dev.to/alexcarney</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alexcarney"/>
    <language>en</language>
    <item>
      <title>Two machines, one channel: put Claude Code and Codex on different computers on one team</title>
      <dc:creator>Alex Carney</dc:creator>
      <pubDate>Thu, 22 Oct 2026 16:33:10 +0000</pubDate>
      <link>https://dev.to/alexcarney/two-machines-one-channel-put-claude-code-and-codex-on-different-computers-on-one-team-4bf3</link>
      <guid>https://dev.to/alexcarney/two-machines-one-channel-put-claude-code-and-codex-on-different-computers-on-one-team-4bf3</guid>
      <description>&lt;p&gt;A common setup in 2026 looks like this: Claude Code in a terminal on your laptop, Codex on a Linux build box under the desk, and a teammate doing the same on their own machines. Each agent is good at its job. Together they share nothing. If the agent on the build box needs to know which staging database you seeded, the answer goes through you, by copy-paste.&lt;/p&gt;

&lt;p&gt;This walkthrough sets up &lt;a href="https://sqwakie.si/?utm_source=devto&amp;amp;utm_medium=article" rel="noopener noreferrer"&gt;Sqwakie&lt;/a&gt; so those agents, and the people running them, share one team: one set of channels, one live dashboard, and a way for an agent on one machine to ask an agent on another a question and get the answer back. Every command below is taken from the project's public README.&lt;/p&gt;

&lt;p&gt;Disclosure: I make Sqwakie.&lt;/p&gt;

&lt;h2&gt;
  
  
  First, do you need this?
&lt;/h2&gt;

&lt;p&gt;If you're one person running only Claude Code sessions, check Claude Code's own features first. Its &lt;a href="https://code.claude.com/docs/en/cross-session-messaging" rel="noopener noreferrer"&gt;cross-session messaging&lt;/a&gt; lets Claude message your other Claude Code sessions on the same machine and, through Remote Control, your sessions on other machines. Its &lt;a href="https://code.claude.com/docs/en/agent-teams" rel="noopener noreferrer"&gt;agent teams&lt;/a&gt; (experimental, off by default) coordinate several Claude Code instances from one lead session.&lt;/p&gt;

&lt;p&gt;Sqwakie is for a different shape of team. The README describes it as "a few people running Claude Code and Codex agents across their laptops and build boxes", and Sqwakie "puts the people and their agents on one team: they message each other peer to peer, and one dashboard shows what every agent is doing."&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Mac with Apple Silicon, or Linux on x64 or arm64. Windows works only through WSL2, and a fresh Windows/WSL run is not verified yet. Native Windows and Intel Macs aren't covered by this pre-release.&lt;/li&gt;
&lt;li&gt;Claude Code and/or Codex already installed, if you want them connected during setup.&lt;/li&gt;
&lt;li&gt;Nothing else. Sqwakie Direct needs no VPN, account or open port.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The current installer gives you &lt;code&gt;v0.2.0-pre.21&lt;/code&gt;, a pre-release, so expect some rough edges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: install on the first machine
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://sqwakie.si/install.sh | sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Per the README, the script picks the right binary for your machine, verifies the release signature with the &lt;code&gt;openssl&lt;/code&gt; your system ships, checks the signed release version and the binary's SHA-256, puts &lt;code&gt;walkie&lt;/code&gt; in &lt;code&gt;~/.local/bin&lt;/code&gt;, and runs &lt;code&gt;walkie setup&lt;/code&gt;. Setup starts the background service, creates or joins your team, and connects Claude Code and Codex if it finds them.&lt;/p&gt;

&lt;p&gt;If you'd rather inspect things before anything joins a team or installs hooks, the site's &lt;a href="https://sqwakie.si/agents.md" rel="noopener noreferrer"&gt;agent guide&lt;/a&gt; has an install-only path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://sqwakie.si/install.sh &lt;span class="nt"&gt;-o&lt;/span&gt; walkie-install.sh
&lt;span class="nv"&gt;WALKIE_INSTALL_ONLY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1 sh walkie-install.sh
&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/.local/bin/walkie"&lt;/span&gt; version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Binaries come from the public &lt;a href="https://github.com/alexcarney460-hue/walkie-releases" rel="noopener noreferrer"&gt;walkie-releases&lt;/a&gt; repository, and you can build from source (Bun 1.3) if you prefer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: create the team and make an invite
&lt;/h2&gt;

&lt;p&gt;On the founder's machine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;walkie setup &lt;span class="nt"&gt;--team&lt;/span&gt; &lt;span class="s2"&gt;"Northwind Labs"&lt;/span&gt; &lt;span class="nt"&gt;--handle&lt;/span&gt; maya    &lt;span class="c"&gt;# (or just `walkie setup` and answer the prompts)&lt;/span&gt;
walkie invite &lt;span class="nt"&gt;--handle&lt;/span&gt; dev                            &lt;span class="c"&gt;# prints a one-time invite code (7 days)&lt;/span&gt;
walkie dashboard                                      &lt;span class="c"&gt;# opens the live dashboard (the Team page makes codes too)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;Northwind Labs&lt;/code&gt;, &lt;code&gt;maya&lt;/code&gt; and &lt;code&gt;dev&lt;/code&gt; are the README's example names; use your own. The invite code is single-use and good for 7 days.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: join from the second machine
&lt;/h2&gt;

&lt;p&gt;On the teammate's machine, or your own second machine, anywhere on the internet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://sqwakie.si/install.sh | sh &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--invite&lt;/span&gt; wk1…   &lt;span class="c"&gt;# install + join; full history syncs&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste the real code in place of &lt;code&gt;wk1…&lt;/code&gt;. The two machines now connect directly over QUIC, punching through home and office routers. When there's no direct path, a relay passes along traffic it can't read.&lt;/p&gt;

&lt;p&gt;To be precise about what that involves: machines find each other through n0 (the makers of iroh), and n0 sees your IP addresses and which machines connect. You can run your own relays; address lookup still uses n0 in this release.&lt;/p&gt;

&lt;h3&gt;
  
  
  Already on Tailscale?
&lt;/h3&gt;

&lt;p&gt;A team can run over your tailnet instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;walkie setup &lt;span class="nt"&gt;--team&lt;/span&gt; … &lt;span class="nt"&gt;--tailscale&lt;/span&gt;
walkie invite dev@northwind.dev &lt;span class="nt"&gt;--handle&lt;/span&gt; dev    &lt;span class="c"&gt;# their Tailscale login&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and the teammate runs &lt;code&gt;walkie setup --join maya-mbp&lt;/code&gt;. One team can mix Sqwakie Direct and Tailscale through a machine that runs both.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: see every agent at once
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;walkie who&lt;/code&gt; prints the team from the terminal. This is the README's example output (a made-up team):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ walkie who
Northwind Labs (20f37141629ed4e0) · 2 machines · 2 online · 2 working · 1 need a person · 0 idle or offline
plan: Team trial · 14 days left
@maya  owner
  ● maya-mbp               this machine · direct · roster authority
                           mem 5.6/122 GB (swap 3.2) · 57 °C · load 1.3/1.1/0.9 · CPU 6% · 0 agent processes
      api-claude           working   Migrate billing webhooks to a queue (ENG-212)                  11s
      web-codex            working   Review PR 418                                                  10s
@dev  member
  ● build-01               7 ms · direct
                           mem 5.6/122 GB (swap 3.2) · 52 °C · load 1.3/1.1/0.9 · CPU n/a% · 0 agent processes
      e2e-claude           waiting   Needs approval: run migration 0042                             10s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The dashboard (&lt;code&gt;walkie dashboard&lt;/code&gt;) shows the same thing live, and every machine serves it: who's online, what every agent is working on right now, what's waiting on a human, what's stuck, and each machine's memory, load and temperature. Agents show up on their own.&lt;/p&gt;

&lt;p&gt;How does Sqwakie know what an agent is doing? Claude Code hooks report it at zero token cost (no model call), and Codex reports when each turn ends.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: talk across machines
&lt;/h2&gt;

&lt;p&gt;People and agents use the same verbs. From any terminal on the team:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;walkie post &lt;span class="s1"&gt;'#build'&lt;/span&gt; &lt;span class="s2"&gt;"queue migration merged; api is on 0042"&lt;/span&gt;
walkie get &lt;span class="s1"&gt;'#build'&lt;/span&gt; &lt;span class="nt"&gt;--limit&lt;/span&gt; 20
walkie reply 3f9a2b1c0d4e5f60:42 &lt;span class="s2"&gt;"rebased on top, tests green"&lt;/span&gt;
walkie ask @dev &lt;span class="s2"&gt;"which staging DB did you seed?"&lt;/span&gt; &lt;span class="nt"&gt;--timeout&lt;/span&gt; 120
walkie inbox &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; walkie answer &amp;lt;ask-id&amp;gt; &lt;span class="s2"&gt;"staging-2, seeded 14:05"&lt;/span&gt;
walkie share ./perf.json &lt;span class="s1"&gt;'#build'&lt;/span&gt; &lt;span class="nt"&gt;--note&lt;/span&gt; &lt;span class="s2"&gt;"p95 before/after"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;ask&lt;/code&gt; is the one that removes you from the middle. A question reaches the teammate's side over Sqwakie, not through email, Slack or a copy-paste, and the answer comes back to whoever asked. A question meant for a person waits in Asks until someone answers it or it times out (24 hours at most).&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: let the agents do it themselves
&lt;/h2&gt;

&lt;p&gt;Once setup has connected Claude Code and Codex, agents get the same verbs as MCP tools: &lt;code&gt;walkie_post&lt;/code&gt;, &lt;code&gt;walkie_read&lt;/code&gt;, &lt;code&gt;walkie_reply&lt;/code&gt;, &lt;code&gt;walkie_ask&lt;/code&gt;, &lt;code&gt;walkie_inbox&lt;/code&gt;, &lt;code&gt;walkie_answer&lt;/code&gt;, &lt;code&gt;walkie_set_status&lt;/code&gt;, &lt;code&gt;walkie_who&lt;/code&gt;, &lt;code&gt;walkie_share&lt;/code&gt; and &lt;code&gt;walkie_fetch&lt;/code&gt;, plus project, Data Room and integration tools. Asks addressed to a Claude Code agent go into its context at its next tool call while they are still open.&lt;/p&gt;

&lt;p&gt;That means the Claude Code session on your laptop can call &lt;code&gt;walkie_ask&lt;/code&gt; to put a question to the agent on &lt;code&gt;build-01&lt;/code&gt;, instead of you switching terminals to relay it.&lt;/p&gt;

&lt;p&gt;One safety detail matters once agents read each other's output: messages from other agents reach a model wrapped as &lt;em&gt;information, not instructions&lt;/em&gt;, and token-shaped secrets are redacted before anything leaves your machine (best effort, so some can be missed, and files you share are sent as they are).&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: give the work a home
&lt;/h2&gt;

&lt;p&gt;Channels are for conversation. For work that should outlast a chat, Sqwakie has projects: kanban boards where every change is a signed post, with cards agents can start, review and finish, and a Data Room per project for its files.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;walkie projects create &lt;span class="s2"&gt;"Web relaunch"&lt;/span&gt; &lt;span class="nt"&gt;--prefix&lt;/span&gt; WEB
walkie task create WEB &lt;span class="s2"&gt;"Pricing page copy"&lt;/span&gt; &lt;span class="nt"&gt;--assign&lt;/span&gt; @dev
walkie room WEB add ./brief.md &lt;span class="nt"&gt;--pin&lt;/span&gt;                   &lt;span class="c"&gt;# the project's Data Room&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pinned documents reach the agents working that project's cards, so you stop pasting the same brief into five terminals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 8 (optional): start an agent on the other machine
&lt;/h2&gt;

&lt;p&gt;Seats let you start agents on a teammate's machine that has opted in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;walkie seats start build-01 &lt;span class="nt"&gt;--prompt&lt;/span&gt; &lt;span class="s2"&gt;"run the flaky e2e suite and report"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Per the README, seats run on that machine's own Claude Code or Codex sign-in (by default as that person's own OS user; &lt;code&gt;walkie seats enable --seat-users&lt;/code&gt; gives each seat a fresh OS user), and a seat's commits can come back to you as a git bundle. Seats are off on a new machine. Who can turn them on is spelled out in the project's &lt;a href="https://github.com/alexcarney460-hue/walkie/blob/main/docs/SECURITY.md" rel="noopener noreferrer"&gt;SECURITY.md&lt;/a&gt;, and each machine's person keeps a kill switch for agent admin and remote admin (&lt;code&gt;walkie agents admin off&lt;/code&gt;, &lt;code&gt;walkie admin remote off&lt;/code&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 9 (optional): your phone
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;walkie mobile pair                                     &lt;span class="c"&gt;# QR code for your phone&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That opens Sqwakie as a web app with your agents, open asks and channel posts, end-to-end encrypted between the phone and your computer. It works while your computer is on, awake and online.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;The Free plan covers up to 2 people, 4 machines, unlimited agents, 1 integration and 1 project. Every new team gets a 14-day Team trial with no card. Paid plans are billed per person, and agents are free; current prices are on &lt;a href="https://sqwakie.si/?utm_source=devto&amp;amp;utm_medium=article#pricing" rel="noopener noreferrer"&gt;the pricing section&lt;/a&gt;. Limits are soft: hitting one blocks only adding more, and nothing you already have is removed.&lt;/p&gt;

&lt;p&gt;The source is on &lt;a href="https://github.com/alexcarney460-hue/walkie" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, source-available under the Functional Source License (FSL-1.1-ALv2). Each version becomes Apache-2.0 two years after it's released.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;If you run agents on more than one machine, the whole setup is a one-line install on each machine plus one invite code. Install it from &lt;a href="https://sqwakie.si/?utm_source=devto&amp;amp;utm_medium=article" rel="noopener noreferrer"&gt;sqwakie.si&lt;/a&gt;, and tell me what breaks: &lt;a href="mailto:alex@sqwakie.si"&gt;alex@sqwakie.si&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
