Workflows for Claude Code, Codex and pi

Your coding agents, working as a team.

One agent plans, another builds, a third reviews and sends it back for fixes. Any model on any step. Your laptop or your own server. Your team runs it from Slack. You decide what ships.

Uses your Claude and ChatGPT sign-ins. No API keys. Your code stays on your machines.

A workflow is a few agents taking turns on one task

Here is one run of the plan-build-review . Nothing here runs.

Your task Said in a sentence Add rate limiting to the public API
Plan Agent 1 Waiting for the task Step link
Build Agent 2 Waiting for the plan Step link
Review Agent 3 Waiting for the code Step link
Done The result Waiting

Step 1 of 7

You describe the task in a sentence, or pick a ready-made pattern.

The problem

One session grades its own work.

In one chat, the same model writes the code, the tests and the verdict. A workflow hands the checking to a second model, your test command and you.

  • Another model reviews.It did not write the code. Its verdict routes the run: approve, or back to fix.
  • Your tests decide.A check runs the command your repository declares. The exit code routes the run.
  • You ship.Every loop stops at the rounds you set. The pull request opens on your press.

In the run above, round 1 caught a crash between two Redis calls at rate-limit.ts:41 that 212 passing tests had missed. Round 2 fixed it. You can read every word each agent was sent, before and after.

How it works

Start on your laptop.Move it to your server.Then your team runs it from Slack.

Three levels, in order. Go as far as you like and stop whenever it is enough.

Where the agents run Your laptop Your Linux server Your Linux server
When you close your laptop The run pauses Runs keep going New Runs keep going
Who can open your runs Only you Anyone in your org New Anyone in your org
Where you start a run The workbench, or your coding agent The workbench in any browser, or your coding agent on your laptop Also a Slack thread, on a laptop or a phone New

Where would you like to start workflows?

You can switch any time.

Reading the code boxes: white is typed exactly, gold is in your own words, gray is a note you don't type.

Level 15 min

Run your first workflow on your laptop

The quickest way to see Loopgate work. Everything runs on your own machine, on the Claude and ChatGPT sign-ins you already have.

You'll need

  • Node 22 on your laptop
  • Claude Code, Codex or pi, signed in
Show steps for
  1. Start the workbench

    Run this in a on your laptop. It opens Loopgate's in your browser. comes with Node.js, so install that first if you don't have it.

    In a terminal
    npx loopgate ui
  2. Add a folder and say the task

    Pick a ready-made such as plan-build-review, or describe the shape you want in a sentence and the copilot draws it.

  3. Press Start and let it run

    Loopgate runs the workflow in the background and waits for you where you asked it to. Every step of the has its own link.

  1. Add Loopgate to your agent

    Run this once in a . It teaches Claude Code, Codex and pi the same few verbs.

    In a terminal
    loopgate skill install
    after npm install -g loopgate, once
  2. Ask for a workflow

    Then just ask in your agent's chat. "This" means whatever you are working on. You can name another pattern, or describe your own.

    In your agent's chat
    run plan-build-review on this
  3. Let it run

    Your agent shows you the plan, starts it on your go and brings you every gate. Loopgate runs the workflow in the background, and every step of the has its own link.

admin — zsh — 120×36
Watch it: the Terminal, then the Loopgate tab it opens. What the commands print and what the app shows, shortened; the models are examples. Nothing here runs.

Patterns

Sixteen built in. Or say your own.

Open one, put any step on any model, save it as yours. Or describe the shape in a sentence and the copilot draws it.

  • plan-build-review

    Plan, build, review

    You lock the plan. One model builds, another reviews, the builder fixes.

    ↺ up to 2planFablelockyoubuildSolreviewOpusfixSoldecideyouship
  • pair-programming

    Pair programming

    A driver works in small steps. A navigator on another model reviews each one.

    ↺ up to 6driverSolnavigatorOpusdecideyouship
  • adviser

    Adviser

    One agent works and asks a stronger, read-only model when it is stuck.

    adviseFable · reads onlyworkSoldecideyouship
  • parallel-plans-then-build

    Two plans, one build

    Claude Code and Codex plan alone. A lead merges both plans. You lock it.

    ↺ up to 2plan_claudeFableplan_codexSolsynthesizeOpuslockyoubuildSolreviewOpusfixSolship
  • orchestrator-lanes

    Lanes in parallel

    An orchestrator splits the work into lanes, each on its own model, then verifies the merge.

    ↺ up to 6orchFablelanesSollanesSollanesOpusdecideyouship
  • yours · said in a sentence

    YouTwo Sol builders take the API and the UI at once, Opus reviews both, then I approve the pull request.

    apiSoluiSolreviewOpusapproveyouship

Also built in: build-fix, architect-build-test, reviewer-panel, security-audit, root-cause-fix, design-build-panel and more. Models shown are examples.

A model per step

Fable plans. Sol builds. Opus reviews.

Each step picks its harness, model and thinking level, on the Claude and ChatGPT plans you already pay for. Change any of it before Start or while it runs.

  1. planClaude Code · Fable 5.1highWorkspace
  2. buildCodex · GPT-6 SolmediumWorkspace
  3. reviewClaude Code · Opus 5.5maxRead only
  4. fixCodex · GPT-6 SolmediumWorkspace
An example run's setup. A level a model does not offer is refused, never lowered. Loopgate holds no key.

Level 230 min to set up

Move it to your server so runs keep going.

Put Loopgate on a Linux machine of yours: one line installs it, reachable from anywhere with Cloudflare Tunnel or Tailscale. The agents run there instead of on your laptop, so runs keep going when you close the lid, and anyone in your org can open them, them and hand them back.

Portal → Devices → Add a runner
$ curl -fsSL https://loopgate.dev/runner/install.sh | sh -s -- lgr_…
Waiting for the runner to start and register…
Runner connected. Open the portal's Devices page: https://app.loopgate.dev/#/devices
# Open it from the portal. Sign in your agents. Add a repository.

You'll need

  • A of yours, with Docker

Set up once

  1. Put Loopgate on the server

    The line above, from the portal: Devices → Add a runner. Paste it on the box over SSH, and the connects.

  2. Make it reachable from anywhere

    Connect it with Cloudflare Tunnel or Tailscale. The runner gives itself a temporary address; give it one that never changes.

  3. Sign in your agents once

    Sign in Claude Code, Codex and pi on the server, from its workbench. The whole team shares that one sign-in.

Then start runs from
  1. Open the workbench in any browser

    Your has its own web address. Type it in, or open it from the portal.

    agents.acme.dev Example

    Yours will have its own name. In the portal, go to PortalDevices Open

  1. Keep working from your coding agent on your laptop

    Ask the same way as before, and add which server to run on.

    In Claude Code, Codex or pi, on your laptop
    /loopgate run plan-build-review on this, on build-box-1
    the agents run on build-box-1, so your laptop can close

Have to leave in the middle of a conversation?

Send the you are in to your server, with its branch, its uncommitted files and the conversation. The quoted words are its next instruction, and the agent carries on there. Bring it back when you are ready.

In a terminal, in the session's folder
loopgate send "finish the tests and open a PR"
moves this session to your server and prints its id
loopgate bring <id>
brings it back and prints the command that resumes it

Your laptop

Empty

Your session

  • Its branch
  • Uncommitted files
  • The conversation

Finishing the tests

Your server

Empty

Your session is on your laptop. Try sending it.

admin — zsh — 120×36
Watch it: the install over ssh, then the next run from the same Claude Code, in the server's workbench. What the commands print and what the app shows, shortened. Nothing here runs.

Your team on the same run.

Anyone in your org opens a run on your server, reads every word and replies to any step. Your architect steers the planning session, locks the plan and hands it back. A gate can wait for a named teammate.

plan Claude Code · Fable 5.1 · 10:38 · $0.31

Key the limit by API key, not IP. The gateway already resolves keys. Bursts of 50 a minute.

waits for your replyFull message

PPriya → plan · reply · 10:41

Bursts of 20, not 50. Counters in Redis.

plan Claude Code · Fable 5.1 · 10:43 · $0.12

PLAN.md v2: by API key, bursts of 20, Redis counters.

Priya locked PLAN.md v2 · 10:44

build · Codex · GPT-6 Sol is working

Example data.

What leaves your server.

Loopgate's cloud keeps the team list and a ledger. It never sees code.

Revoke the runner in the portal and nobody reaches it within a minute.

Stays on your server

  • Your code and every diff
  • What each agent was told and said
  • The task
  • Your Claude and ChatGPT sign-ins

Reaches Loopgate

  • A heartbeat
  • Your team's member list
  • A record per finished run: who, when, the workflow and models, how it ended, what it cost

Level 310 min to connect

Run your engineering team from Slack.

Connect Slack to your once. After that, anyone in your org can start a task from a thread, on a laptop or a phone.

Needs level 2 first: Slack talks to the runner on your server.

  1. Say the task in a thread

    Start with /loopgate, then describe the job in your own words.

    In a Slack channel
    /loopgate Add rate limiting to the public API
  2. Check the card

    Before anything runs, one card shows who works it, each step's model, the access and the most it may spend. Customize changes any of it.

  3. Press Start, then answer in the thread

    If a step needs something from you, it asks right there, and the choices are buttons.

  4. Open the pull request

    When it is done, the thread says what it cost. The opens only when you press.

  • One card, then Start. Who works it, your task in your words, each step's model, the access and the most it may spend. Customize changes any of it before Start.
  • The thread is the record. A post only for a reply, a question, a stop or the finish. Decisions are buttons in the thread, and a gate can wait for a named teammate.
  • A ceiling on every task. An admin sets the most a Slack task may spend in dollars and hours. The pull request opens only when you press.

Start

Start with level 1. It takes five minutes.

Needs Node 22 and a coding agent you already use: Claude Code, Codex or pi, signed in.

In a browserYour pick

In a terminal
npx loopgate ui
Laptop guide

In your coding agentYour pick

In a terminal, then your agent's chat
loopgate skill install
then say:
run plan-build-review on this
Agent guide

Do I need API keys?

No. The agents use your Claude and ChatGPT plans, signed in as you.

Can it run while I'm away?

On your server, yes. It works until it needs you, then waits in Needs you or Slack.

Is there a command line?

Yes: plan, run, wait, decide and tell. The skill teaches your agent the same.

What does it cost?

On a laptop, nothing beyond your plans. Teams get a 14-day trial for five seats.

Can my team use it from Slack?

Yes, on your server. Say the task in a thread, press Start on its card, answer in the thread, open the pull request.

Is there a phone app?

No. Slack on your phone says a task and answers what it asks, and a link opens the workbench.

Book a demo

Bring one job. Leave with the plan for it.

Thirty minutes with a founder. We run Loopgate live, then sketch how agents would do your job on your own infrastructure, steered from Slack.

  • A live run on a real repository, in the workbench and in Slack.
  • Your setup drawn: your cloud, your Slack, the tools your agents would need.
  • A plan for your first week, if it fits. If it does not, we say so.

You talk to the two people who build Loopgate.

Pick a time

30 minVideo call

 

 

Reading the calendar…

One email, from a person. No newsletter.