Siwar 0.3.24 for macOS is here

Many agents.
One workspace. Your call.

Meet Siwar, the local workspace that runs your Claude Code and Codex agents
in parallel — each task in its own git worktree, every result in one merge queue you control.

A little less coordination. A lot more building.THE SIWAR DASHBOARD

YOUR CODE. YOUR TOOLS. A LITTLE MORE IN SYNC.

Claude CodeGitHubgitVS CodeTerminal
THE MERGE QUEUE

Agents submit.
You decide what lands.

Finished work waits as ready. Nothing runs on its own, and nothing is ever pushed for you.

  1. 01

    Submit

    The agent commits everything and hands it in. Its part ends here.

    siwar submit --branch feat
  2. 02

    Ready

    It waits in Ready to merge, across every project you register.

    siwar status
  3. 03

    Review

    Read what it brings: the message, the files, the diff, the checks.

    siwar show 14
  4. 04

    Your call

    Merge locally, send it back with a reason, or close it.

    siwar merge 14

❯ siwar merge 14 --into release

#14 feat/github-auth → release (no-ff)

✓ merged locally · 3 files · +184 −12

Nothing was pushed. Publishing is up to you.

Merged Into the local branch you pick. The target from .siwar.yml is the default.

One idea or a whole backlog.
Make room for the work.

01

Start with the idea.

Pick a repository and describe the work. Your agent gets the project context and a worktree of its own, ready to get going.

A focused place to start
02

Give every agent room.

Run independent tasks side by side. Each agent builds in its own branch, so one experiment never gets in another’s way.

Built for parallel work
Projects
acme-web
Add GitHub authentication
Write the OAuth callback tests
Build the billing settingsAnswer
Cover the checkout flowMerge
Fix the flaky login test
03

Stay in the conversation.

Follow the work, answer a question, or change direction. Messages, tool calls, and decisions stay together in one thread.

Keep the context close

Can you handle the edge cases, too?

EC
edge-casesClaude Code · Opus 5.5just now

On it. I’ll cover empty states and retries in the same worktree.

Updatesrc/board/EmptyState.tsx
Added 18 lines, removed 2 lines
Bashnpm test -- retry
Running… (8s)
edge-cases is working — a message now waits for it
HighOpus 5.5
platformedge-cases← main
04

Ship on your terms.

Finished work lands in your review queue. Inspect the changes and merge into the local branch you choose. Publishing stays in your hands.

You decide what ships
LIVE SESSIONS

Your agent asks.
You answer, right there.

Every conversation runs in a session host that keeps the agent, Claude Code or Codex, open. Permissions, questions and plans arrive as cards, and your answer goes straight back to the running turn.

  • Messages queue. Send while it works; edit or cancel until it is taken.
  • Rewind and edit. Put the files back, or try a message again as a new agent.
  • Stop, switch, steer. Change the model and permission mode live.
  • Spend and context. Set a budget; a runaway turn stops too.
CHANNELS

Away from your desk.
Still in the conversation.

Talk to your siwar threads from your phone or your team chat, in Slack or Telegram. Start a thread, follow its work live in one updating message, and get its answer when the turn is done.

  • Slack in one click. Add to Slack in Settings › Channels; the bot token stays on your Mac. DM the bot, or mention @siwar in a channel.
  • Telegram with your own bot. Make one with @BotFather, paste its token, and pair your chat with a code.
  • Answer with a button. Permissions, choices and plans come with buttons. Send photos, files and voice messages; pictures in the answer arrive as pictures.
  • Told when it matters. /notify on and you hear when an agent waits for you or work is ready to merge.

Only people you pair can talk to siwar. Messages are kept on disk until handled, so nothing is lost if siwar restarts.

THE GUARD

Built-in boundaries.
Not just good intentions.

The siwar plugin loads into every session. If it does not load, the agent does not run.

Never pushes

Merges stay local. Publishing is yours.

Never edits code

Conflicts go back to the author with the reason.

Never merges itself

Merging and pushing the target are blocked for agents.

Never leaks a secret

A submission that carries one is refused.

AUTOMATIONS

Agents that start
by themselves.

Give an agent instructions and a project, then choose what starts it. Every run is a conversation you can open, and its work lands in the same queue.

  • On a schedule. Daily reviews, weekly maintenance, whenever your workflow needs it.
  • On GitHub events. A failed check run, a labeled issue, a review comment, a merged pull request.
  • From a webhook. Let your error tracker hand a production error straight to an agent.
WORKFLOWS

Steps that run
in the order you wrote.

A workflow is a YAML file in your repo. Siwar keeps the order, not the agent: every step runs in the run's own worktree, and it stops where you asked to look.

  • Agents and commands. Each agent step is a fresh session. A command passes when it exits 0; a failure can send the work back for another try.
  • Your OK where it matters. An approval waits for you. Approve with a note, or reject with what to change.
  • Review, then land. You give the review's verdict; a land step hands the branch in the way your project lands work.
  • Started by you or an automation. Run it from the dashboard, from siwar workflows run, or let a trigger start it.
ENVIRONMENTS

Secrets stay out
of the conversation.

A server address or a password goes into Settings, not into a message. Values are encrypted, the key lives in your Keychain, and siwar blanks them in everything it keeps and shows.

Guards against accidents, not a determined agent. What is in its environment, it can read.

Environments

The agents get these as environment variables. Shared ones go to every conversation; an environment's (prod, staging…) only to a conversation that chooses it by the message box, over a shared one of the same name.

Secrets
PROD_SSH_PASSWORD
All projects · deploy@ on the prod server
Last updated 2d ago
STRIPE_API_TOKEN
acme-web · Live key, for the billing checks
Last updated 5d ago
NPM_TOKENprepare only
All projects · The private registry
Last updated 3w ago
Variables
PROD_SSH_HOST
All projects · The prod server
203.0.113.24
Last updated 2d ago
PROD_SSH_USER
All projects
Last updated 2d ago
CONFIG & CLI

One file in your repo.
One command for every step.

Read from the target branch, so a submission can never change the rules it is judged by.

.siwar.ymltarget: main     # default branch to merge into
merge: no-ff      # or squash
agent:
  model: sonnet
  effort: high
  allow: [Read, Grep, "Bash(npm test)"]
  budget: 5
  mcp:
    playwright:
      command: npx
      args: ["@playwright/mcp@latest"]
  agents:
    reviewer:
      description: Reviews a diff
      tools: [Read, Grep]
siwar task "<what to do>"Start an agent in a new worktree
siwar submit --branch b -m "…"Hand finished work in
siwar statusWhat is ready to merge
siwar show 14What a submission brings
siwar merge 14 --into releaseMerge locally, never push
siwar return 14 --reason "…"Send it back to its author
siwar uiThe terminal dashboard
siwar serveThe browser dashboard

Inside
Siwar

LATEST RELEASESiwar 0.3.24Apple silicon · 144 MB · Oct 30, 2026Download for macOS
01Threads, with or without a branchModel

Ask a question with no project, read a repo from its main checkout, or give the work its own branch and worktree. Start a branch later and the same conversation moves there.

02Terminal, browser or desktopApps

siwar ui in the terminal, siwar serve in the browser, or the desktop app with both in one window. All three read the same queue.

03A Claude Code pluginPlugin

siwar:submit hands work in, /siwar:status shows the queue, and a guard hook blocks merging and pushing the target.

04Agents in your terminal, tooSessions

A session open in your own terminal is reached by relay, never by a second writer. Its turns show live and read-only in the dashboard.

05One event log, SQLite or PostgresStorage

Every change is appended and never edited. SQLite by default on your machine, or a shared PostgreSQL server for a team.

06Queue projects and watch projectsProjects

Register every repo you work in. Projects that opt in are gated by the queue; the rest are listed, never blocked.

QUESTIONS

Frequently
asked.

How Siwar runs coding agents in parallel, and what stays in your hands.

01

What is Siwar?

Siwar is a local workspace that orchestrates AI coding agents. You describe a task, an agent such as Claude Code or Codex works on it in its own git worktree, and the finished branch lands in a merge queue where you review it and decide what merges.

02

How does Siwar run several agents in parallel without conflicts?

Every task gets its own git worktree and branch, created from the target branch you choose. Agents never share a working directory, so one experiment cannot overwrite another. You follow each conversation from one dashboard and merge the results one by one.

03

Does Siwar push, merge or edit code on its own?

No. Agents hand their work in with siwar submit; the submission waits as ready until you merge it locally, send it back with a reason, or close it. A guard blocks pushes and merges into the target from inside a task, and Siwar never edits code itself.

04

Which coding agents does Siwar work with?

Claude Code and Codex, signed in with your own Claude or Codex account. Claude Code comes with Siwar, built into the desktop app and installed by npm install; for Codex, install the Codex CLI. Siwar also ships as a Claude Code plugin: siwar:submit hands work in, /siwar:status shows the queue and a guard hook protects the target branch. Sessions you start in your own terminal show up live and read-only in the dashboard.

05

Does my code or conversation leave my machine?

Siwar itself runs locally next to your repositories. Its event log is a SQLite file on your machine by default, or a PostgreSQL server you host when a team shares one queue. The agents still talk to their own model provider, exactly as they do without Siwar.

06

Can agents start by themselves?

Yes. Automations start an agent on a schedule, on a GitHub event such as a failed check run or a labeled issue, or from a webhook. Every run is a normal conversation you can open, and its work lands in the same merge queue.

07

What do I need to install Siwar?

On a Mac with Apple silicon, download the Siwar 0.3.24 desktop app from this page; it has the terminal and browser views in one window and Claude Code built in. You need git and a Claude or Codex account; for Codex, also install the Codex CLI and Node.js. To run it from source on macOS or Linux, you need Node.js 22.18 or newer, git, and a Claude or Codex account: install Siwar from your team's source checkout (Claude Code comes with npm install; for Codex, install the Codex CLI), link the CLI, then run siwar serve in a project to open the dashboard in your browser, or siwar ui for the terminal.

Built for your code.
Designed for
your control.

Local by design

Your workspace runs on your machine.

Isolated by default

Each task gets its own Git worktree.

Human at the helm

You approve merges. You handle pushes.

Less juggling.
More shipping.

Bring your agents together. Build what’s next.

Explore the demo
SiwarYOUR NEXT WORKSPACE

Let’s get your agents
working together.

Siwar runs locally, alongside your repositories.

Download for macOSSiwar 0.3.24 · Apple silicon · 144 MB
Download page and requirements

Or run it from source:

  1. Install Siwar from your team’s source checkout using npm install.
  2. Link the CLI with cd packages/core && npm link.
  3. From your project, open the dashboard:
siwar serve
Requires Node.js 22.18+, git, and a Claude or Codex account.

Already installed? Run the command above in your terminal to open your local workspace.