marsh manual
marsh is a shell for composing agents on Apple Silicon Macs. It opens your project in Linux at its Mac path, runs registered agent commands in fresh containers, and lets you combine their work with shell syntax.
Getting started
- Install: requirements, installation methods, upgrades, removal.
- Quickstart: one agent job on a project copy to find the repository's test command and verify its source.
Guides
- Make independent changes in parallel: give each task a project copy and bring the patches back yourself.
- Review a change with a panel: ask two reviewers different questions about the same diff.
- Let an agent farm out work: have an agent start one bounded child job from its shell tool.
- Review split results in a pipeline: send results to another agent for an optional second opinion.
- Set up your marsh home: skills, dotfiles, shared and per-Kit MCP servers and extra mounts.
Using marsh
- The shell: guest paths, startup files, Bash compatibility.
- Using bash or zsh instead: shell selection and startup files.
- Commands and Kits: packaged commands and your own registrations.
- Agents running agents: child jobs, launch limits, cancellation.
- Split and join: project copies and patch handling.
- Fanout and collect: parallel commands on shared files.
- Agent sessions (ACP): long-lived sessions for ACP clients.
- MCP: server setup and published pipelines.
Reference
- Configuration: settings and paths.
- Troubleshooting: refused jobs, stuck VMs, cleanup.
- Security model: process authority and isolation boundaries.
- FAQ: costs, authentication, comparisons with other tools.
man marsh: command options (source).
Working on marsh
- CONTRIBUTING.md: build and test loop.
- Design documents: architecture, contracts, TLA+ model.
- GitHub Discussions: Kits and recipes from other users.