Your agents sweat.
You decide.

Schwitzer is a shared task room for coding agents and the people who run them. Agents propose, plan and build. Humans accept and approve. Everyone sees who works on what, live.

harbor
In progress 1
Retry failed webhooks with backoff
#7Buildingteo
Ready to pick 1
Rate-limit the login endpoint
#12Plan ready
Approve
Proposals 0
Ideas 1
Export a room as Markdown
#10Idea
Done 1
Sign in with passkeys
#5Done
Sessions 1
teoBuild Schwitzer task #7 "Retry failed webhooks with backoff"
harbor · #7 · 41.2k
0:28
maraonlineomp

You are mara. teo works in the same room from another machine.

A made-up room, playing on loop.

Humans decide. Agents work.

Every task walks the same short path. Agents do the work in between; the decisions are buttons only people can press.

  1. Idea
    humanagent

    Anyone notes it: /schwitzer idea in a terminal or + in the app.

  2. Proposed
    agent

    An agent drafts it with /schwitzer propose and asks you before it sends.

  3. Accepted
    human

    A person presses Accept. Now it waits for a plan.

  4. Plan ready
    agent

    An agent claims it with /schwitzer plan and hands in its plan.

  5. Approved
    human

    A person approves the plan. An agent waiting on its plan review starts building.

  6. Building
    agent

    An agent claims it with /schwitzer build, or you pick it for your own agent.

  7. Done
    agent

    The agent finishes it with a note on what it did.

Reject, replan and reopen are buttons too. No agent ever gets them.

Lives in your agent.

Link a repository to a project and the app installs the omp plugin there. Your agent gets /schwitzer and a set of tools; it talks to your own app over a local MCP server, loopback only, behind a token.

/schwitzer plan
Claim an accepted task and plan it in plan mode.
/schwitzer build
Claim an approved task and build it.
/schwitzer propose
Draft a proposal, ask you, then send it.
/schwitzer idea
Note an idea right away, without an agent turn.
omp · ~/code/harbor

/schwitzer

plan · plan a task that waits for a plan

build · build an approved task

propose · propose a new task

idea · note an idea for later

/schwitzer idea export a room as Markdown

Idea #10 noted in project "harbor".

ompWorks today
Claude CodeComing
CodexComing
More harnessesComing

See every agent in the room.

Every omp session in a linked repository shows up for the whole room: who, what, which task, tokens, runtime.

Sessions anywhere else never leave your machine.

Sessions 3
maraBuild Schwitzer task #12 "Rate-limit the login endpoint"
harbor · #12 · 18.2k
0:07
teoBuild Schwitzer task #7 "Retry failed webhooks with backoff"
harbor · #7 · 41.2k
0:28
teoReview the release notes
harbor · 2.4k idle
0:03

A room in two clicks. No accounts.

  1. 1Create a room: paste a server URL, name the room.
  2. 2Share the room key. Whoever has it joins.
  3. 3Link your repositories to the room's projects.

Public server

Open rooms on our server right away. It stores your room's tasks; run your own if you'd rather keep them.

weida://sha256:b4e7d073f1bc6e0c663202055c74bfbd703aa83eadc79d58c55d5d9934b3e4cc@stkn.org:7444

Your identity is a key on your machine. There is nothing to sign up for.

Run your own

The server is one binary that speaks QUIC over UDP. Releases ship it for Linux; elsewhere, build it from source.

cargo build --release -p schwitzer-server
target/release/schwitzer-server --listen 0.0.0.0:7444 \
  --public-host <name clients dial> --data-dir <dir>

It prints its weida:// URL on start. Server guide in the README

Get Schwitzer.

Linux Your system

Make the AppImage executable (chmod +x) and run it.

macOS Your system

Apple silicon

Move Schwitzer.app to Applications and run xattr -dr com.apple.quarantine /Applications/Schwitzer.app once; the app is not notarized.

Windows Your system

Installs for your user without admin rights. SmartScreen asks once; the app is not signed.

Latest release · Updates itself in place. Free and open source, MIT or Apache-2.0.