LoomWatch
Free and open source · for macOS · runs on your computer

Put the AI apps you have to work as one team.

Mix the command-line AI apps on your Mac, such as Claude Code, Codex and OpenCode, on one team, and work with it in one chat. Ask in plain words, watch every step as it happens, and decide before the next agent builds on it.

One team, one chat

This page is a team's chat, and you're in it. Choose your apps, build a team, @ it with a job, and decide what happens when it stops for you.

Everything below runs in your browser. Nothing calls a model, and nothing you type leaves this page.

01 Threads

Start with the threads you already have.

LoomWatch finds the command-line AI apps on your Mac and puts each one on the loom as a thread. Tick the ones you use, and the rest of this page weaves with them.

Your apps, your accounts
Each agent runs on one of your AI apps, with that app's own sign-in or API key. LoomWatch has no account of its own.
Their terms apply
Usage counts toward each app's account or API billing, under its provider's terms.
Mix them on one team
Each agent has its own app and model. Through OpenCode, open models such as DeepSeek, Kimi, GLM, Qwen or Mistral too.
AI apps on this computer3 on the loom
    02 Build

    Hire by job. Read the team back as one sentence.

    Put agents on a canvas and connect them in order. LoomWatch reads the whole team back to you as one plain sentence, so you can check the plan before anything runs. Change an app in the sentence and the canvas follows.

    Ask LoomWatch
    Describe the team you want. One of your own AI apps proposes it on the canvas, and nothing changes until you press Apply.
    One agent, a pipeline, or a lead
    Steps in order with stops where you want them, or a lead that hands out work and asks its teammates questions as it goes.
    Easy to find your way
    Each action has one button, in the same place on every screen. Keyboard shortcuts are there when you want speed.
    Research and writeresearch-and-write.yamlBuild

    
              
    03 Give

    Hand each agent what it needs. Share it with a drag.

    Folders, files, skills and tools sit on the canvas as cards. Drag one onto an agent, and it's handed to that agent at the start of every run. Drag the same card onto a second agent and they share it: one card, two threads.

    Your project stays yours
    An agent works in the folder you choose, and changes files there only if you allow it. What you hand it is read only, and nothing is written into your project.
    Exactly what arrives
    A folder arrives as its listing and README, a file as its text, and a skill as its instructions. A PDF's text is read when pdftotext is installed (brew install poppler). The record shows which ones were opened.
    Three switches each
    Search the web, edit files, run commands. Anything else an agent asks for waits for your answer, mid-run. OpenCode doesn't ask before it acts, so these switches can't hold it back.
    Research and writewhat each agent is given3 threads

    Drag a card onto an agent. On a phone, tap the card, then the agent.

    04 Ask

    Talk to the team in its chat. Only an @ starts work.

    Each team has one chat. Write @team and the job to start everyone, or @ an agent's name to ask it alone. Before you send, the line above the box says where your message will go. Without an @, nothing starts: it's a note the team reads the next time it works.

    Nothing guessed from your words
    Work starts only when you @ someone, so a passing thought never sets a team running.
    It remembers the conversation
    Every new piece of work is handed the conversation so far, so “shorter, please” needs no explaining.
    Every agent knows its place
    Each one is told its step, who hands work to it, and who gets its answer.
    Research and writethe team's chatReady
      Try asking

      Starts the team · 3 steps

      This page plays a recorded run for each request, so a request can't be free text. A note can, and it never leaves this page.

      05 Watch

      Watch it work. Talk to it while it works.

      Your message starts a piece of work in the chat. The chat says who is working, and what the agents tell each other appears as they say it. Write while an agent works, and your note joins its next turn. Send now stops its current step and hands it your note at once.

      Details, beside the chat
      Every tool call and handover on a timeline: blue while an agent works, gold where it worked, dashed while the team waits for you. When it's done, drag back to replay any moment.
      Evidence, not guesses
      A skill shows as loaded only when it was actually sent, and a file as opened only when the agent's own stream read it.
      It asks before it reaches
      Turn off Researcher's web search in Give, and the work stops to ask you before it searches, unless Researcher is on OpenCode, which never asks.
      Research and write0:00Ready
        Nobody is working. The team starts when you write @team.
        1. Nothing has passed between the agents yet.

        Detailshow it was made

        The team starts when you @ it.

        06 Review

        Nothing moves on until you decide.

        Put yourself on the team as a step. When the work reaches you, it stops, and the handover waits in the chat with Approve and Send back on it. Say what to change in the box and send it back, so a weak first step never quietly shapes everything after it.

        Easy answers stay easy
        Approve without a comment, or send it back with one line.
        Agents can ask you, too
        Mid-run, an agent can stop and put a question to you. You answer it in the chat.
        It waits, even on a schedule
        A review step in a 10:00 run still waits for you.
        Never decided for you
        Ask LoomWatch can propose teams and start work, but it can never answer a review step.
        Research and writeyour reviewReady
        07 Result

        The answer lands in the chat, with its receipt.

        The team's answer is the last message of its piece of work, with a check of its record, the files it made, and Copy under it. Details keeps the receipt: what you asked, who did what, how long it took, and anything worth a second look. Not quite right? @ the agent whose step should change.

        @ one agent
        Only that agent works again, with the conversation so far. The steps before it keep their work.
        Continue with the team
        @ an agent before your review step, and its new version comes back to you. Continue with the team counts as your review and runs the steps after it.
        Files, not paths
        A file the team made opens as a card: open it, show it in its folder, or copy its path.
        Research and writedigest.mdReady
        08 Tomorrow

        A team you trust becomes a habit.

        Put a team on a schedule and its answer lands like a morning paper, waiting when you start work. Scheduled runs happen only while LoomWatch is running and your Mac is awake. Its Notebook keeps what you taught it, so every issue is a little better than the last. Here are one team's first two weeks. Flip back through the pile.

        Every day at 10:00→Collector→Editor→You→Writer→Notion

        09 Why a loom

        Most team features come from one AI company. A loom takes anyone's thread.

        AI apps leapfrog each other every few months. LoomWatch doesn't belong to any of them, so each job gets the app that does it best. When a better one ships, you change one thread, not your whole setup.

        1. i

          Any app, one team

          Claude Code, Codex and OpenCode side by side (Hermes and OpenClaw too), each on the job it does best.

        2. ii

          On your computer

          LoomWatch runs on your Mac and opens in your browser, at an address only your Mac can reach. Each team's chat and its history stay in a database on your Mac, your teams are plain files, and your folders stay where they are.

        3. iii

          Nothing new to sign up for

          LoomWatch is free and has no account. Each agent uses its own app's sign-in or API key, so that provider's terms and limits apply.

        4. iv

          With you in it

          You're in the team's chat and a step on the team, not a spectator. It stops wherever you put yourself.

        5. v

          Proof, not a guess

          Handovers are recorded as calls, not read out of chat, so the receipt only says what happened.

        6. vi

          Context that outlives a switch

          The Brief, the Notebook, the team's chat, and every folder and file you handed over stay with your team, whichever app you swap in.

        To be exact about privacy: LoomWatch itself sends nothing anywhere unless you turn on Send to Notion, which posts the team's answer to your Notion. Each agent's own app still sends prompts and files to its model provider, as it does when you use it directly.

        10 Start

        One command, and your first team is already waiting.

        Paste it into Terminal on your Mac. It downloads a ready-built LoomWatch (about 21 MB), checks it, and opens it in your browser with an offline demo team you can run before you connect any AI app. Nothing is compiled.

        A Mac
        macOS 11 or newer, Apple silicon or Intel. Linux builds exist but are untested, and Windows isn't supported yet.
        Docker Desktop or OrbStack
        For the database that keeps your team chats and their history. If it's missing, LoomWatch says so.
        One command-line AI app
        For real runs, such as Claude Code, Codex or OpenCode. OpenCode has free models and needs no account. The demo team needs none.
        No GitHub account needed
        The installer fetches the public release, so anyone can install it.

        Read the installer before you run it, or build from source.

        Terminal
        $ curl -fsSL https://loomwatch.github.io/install.sh | bash
        ==> Downloading LoomWatch for macOS
        ==> Installing LoomWatch 0.1.0 in ~/LoomWatch/app
        Installed. Start LoomWatch at any time with: ~/LoomWatch/app/loomwatch
        Created your teams folder at ~/LoomWatch/teams, with an offline demo team in it.
        ==> Starting the database
        ==> LoomWatch is starting at http://127.0.0.1:3000
        Keep this window open while you use LoomWatch. Press Ctrl-C to stop it.

        ~/LoomWatch/app/loomwatch starts it again and lists anything missing. Add stop to also stop its database, update for the newest release, or help for the rest. Your teams and history are kept either way.

        This page is a sketch. This is the app.

        Not a chatbot. Not a cloud. Not a model. Not autopilot.

        A loom, for the AI you already have.

        Get LoomWatch