Repository navigation
Releases: colinsurprenant/parley
Release list
parley v0.4.2
parley line drop reports every session that still shares a launch file, and the line docs cover /clear and what line end leaves behind.
What's changed
line dropnames every session that still uses a kept launch file. Claude Code sessions of a line that share a working directory share its.mcp.json, and the file stays until the last of them is dropped. The report named only the first remaining session; it now names each one (sessions plan and build of the working directory still use it). Which files are kept is unchanged.- No empty
Removed:list. When a drop removes nothing, it saysNothing was removed. docs/line.md,/clear: in a Claude Code line session,/cleardrops the skill and the role but not the channel. Deliveries keep arriving with no relaunch, and/parley-linerestores the skill.docs/line.mdanddocs/reference.md, taking a line down: the nicks'lockfiles and the line's.ids/<id>.lockstay afterline end, and the docs say why. A lock is held on the file, not on its path.
Upgrading
- Rebuild
bin/parley(orgo install github.com/colinsurprenant/parley/cmd/parley@v0.4.2). Running sessions, lines andparley serverneed no restart.
Known limits
Unchanged from v0.4.1: OpenCode 2 only, and on a line only; loopback only; the Claude Code development-channels flag on every launch; macOS used and Linux tested in CI only.
The README has a quickstart for a first line, and docs/line.md the full guide.
parley v0.4.1
parley doctor stops warning about every new Claude Code release.
What's changed
- The last verified version is a floor within its major version, for Claude Code, the Codex CLI, OpenCode and ergo. Before,
doctor(and everyline add, which repeats the harness checks) warned on any version other than the exact one verified. Claude Code ships several releases a week, so a current install warned on every run. Now:- the same version, or a newer one of the same major version, is
ok, and the line names both (2.1.311, newer than 2.1.296, the version last verified); - an older one is a
warnthat it may lack something parley uses; - a different major version is a
warnthat it may not work (0 counts like any other major version, so a newer Codex 0.x isok); - a prerelease of the verified version, or a version that cannot be read, is a
warnas before; - OpenCode of a major version other than 2 is still a
FAIL.
- the same version, or a newer one of the same major version, is
- The remedy no longer asks for the old version. It says to install the verified version or a newer one of its major version, for example
install Claude Code 2.1.296 or a newer 2.x. - The README's Install section says what the first
doctorwarns about. It runs before the server is started, so it says nothing answers at127.0.0.1:6667until Quickstart step 1 startsparley server.
Upgrading
- Rebuild
bin/parley(orgo install github.com/colinsurprenant/parley/cmd/parley@v0.4.1). Nothing else changes: running sessions, lines andparley serverneed no restart.
Known limits
Unchanged from v0.4.0: OpenCode 2 only, and on a line only; loopback only; the Claude Code development-channels flag on every launch; macOS used and Linux tested in CI only.
The README has a quickstart for a first line, and docs/line.md the full guide.
parley v0.4.0
Renames parley line add --checkout to --workdir, and lets it default to the current directory.
Breaking
--checkoutis gone; use--workdir. There is no alias, so a script that passes--checkoutnow fails with exit 2 and changes nothing. The flag names the directory a line session runs in: whereline addwrites its launch file and where the printed launch linescd. It checks nothing out, and the directory need not be a git repository.
What's new
--workdirdefaults to the current directory when that directory is the top of a git repository, a linked worktree's included. Anywhere else,line addrefuses with exit 2, nothing changed, and asks for--workdir. The default goes through every check a given path goes through, and the output says the directory is the current one.- "Working directory" replaces "checkout" in the line verbs' output and errors, the usage text, the Codex line primer,
docs/line.md,docs/reference.md, the README and theparley-lineskill.
Upgrading
- Lines already running keep working: a session's directory is still stored under the
checkoutkey ofline.json, soline dropandline endread records written by earlier versions. - Rebuild
bin/parley(orgo install github.com/colinsurprenant/parley/cmd/parley@v0.4.0). Running sessions andparley serverneed no restart.
Known limits
Unchanged from v0.3.0: OpenCode 2 only, and on a line only; loopback only; the Claude Code development-channels flag on every launch; macOS used and Linux tested in CI only.
The README has a quickstart for a first line, and docs/line.md the full guide.
parley v0.3.0
Adds OpenCode: a line can now take an OpenCode session beside Claude Code and Codex sessions.
What's new
- OpenCode sessions on a line.
parley line add --harness opencodecreates the session in the checkout withopencode run, the primer as its first message, and writes nothing in the checkout.- It checks with OpenCode that the setup turn finished, and rolls back on any failure, deleting the session it made.
- It prints two steps:
opencode -s <id>in the checkout, then the session's pump. --modeltakes OpenCode'sprovider/model, with an optional#variant.
parley opencode, the OpenCode front.- Connecting: it finds OpenCode's per-user background service on its own, with no port to choose. For an
opencode serveof your own, use--portwithOPENCODE_PASSWORD. - Queuing: each delivery is queued as a turn of its own and read back before it counts as delivered. What arrives while the session is working is held and handed over as one delivery when the turn ends.
- Interrupts: after you interrupt the session, the front holds deliveries until you send it something.
- Inbox: a delivery you delete from OpenCode's inbox is not sent again.
- Size limits: one message over 128 KiB, or messages past 512 KiB in one delivery, arrive as stubs, with the full text left in the channel.
- Connecting: it finds OpenCode's per-user background service on its own, with no port to choose. For an
parley primer --front opencodeandparley doctor --harness opencode.parley doctorruns every probe in its own process group, so a launcher's child process cannot outlive a timed-out check.
Known limits
- OpenCode 2 only. It is checked live on OpenCode 2.1.0 with a real model. OpenCode 1.x, still served by the legacy
opencode-ainpm package and the 1.x-only installer, is refused with an install hint. - Table seats and build peers on OpenCode are not supported for now.
- OpenCode 2 allows writes outside the checkout by default, so writing the reply file asks nothing. docs/line.md shows the permission rule that brings the ask back.
- Unchanged from v0.2.1: loopback only, the Claude Code development-channels flag on every launch, macOS used and Linux tested in CI only.
The README has a quickstart for a first line, and docs/line.md the full guide.
parley v0.2.1
A patch release for the line commands in v0.2.0.
Fixes
parley line add --checkoutnow resolves the path as you typed it. A--checkoutwith a..after a symbolic link, such as/work/link/.., was cleaned as text before its links were resolved, so the..removed the link instead of climbing from where the link leads.line addchecked one directory and recorded the session, and wrote its launch config, in another. The path is now resolved as given, the way the filesystem reads it.parley line addno longer pushes the exclude file past whatline dropcan read back. When adding/.mcp.jsonor/.codex/config.tomlwould take the repository's exclude file past 4 MiB, the line could not be taken out again:line drop,line endand the rollback refused a file that large.line addnow leaves the file as it is and says why.
Known limits
- Unchanged from v0.2.0: two harnesses, loopback only, the Claude Code development-channels flag on every launch, macOS used and Linux tested in CI only.
- A Codex session on a line gets a Codex config in its checkout that turns on network access, so
parley sendcan reach the local server.parley line addsays so when it writes it. - The
linecommands have run live lines between Claude Code sessions, and between a Claude Code session and a Codex session.
The README has a quickstart for a first line, and docs/line.md the full guide.
parley v0.2.0
Adds lines: a third way to use parley, and the one that fits the work you already do.
A line is a few long-running sessions, each on its own job and in its own checkout, and you, on one channel for as long as the work runs, days included. A planning session and a build session stop needing you to carry "go read what the other one left you" from one terminal to the other: they poke each other directly, ask each other when they need input, and you read along from any IRC client. When you open a discussion, they can work a question through together.
What's new
- Lines.
parley line newcreates a line,parley line addadds a session to it, one per call and at any time, andparley line dropandparley line endtake sessions or the whole line down.addwrites the launch config into the session's checkout, hidden fromgit status, and prints the launch line, including how to bring a Claude Code conversation already under way onto the line with its history;dropandendremove only what parley wrote, proven by a digest, and keep the exclude line while another worktree of the repository still needs it. Claude Code and Codex sessions both work, in the same line if you like. - The
parley-lineskill. A poke says in a few lines what changed for the reader and points to the record for the rest; a session handles a message at its next step boundary; nothing is acknowledged; a question names who decides. Roles come from you, one line each. - A breaker sized for a line that runs for days. The sessions stop being woken until you speak when more than a set number of posts arrive within a window, 8 in 10 minutes for example, or when more than five times that number have gone by since you last spoke, however slowly. Ordinary pokes spread over hours never trip it; a loop does. Tables keep their breaker as it was.
--skill lineonparley channel,parley codexandparley primer, for setups the verbs do not cover.skills/install.shnow links three protocol skills, andparley doctorchecks all three.
Known limits
- Unchanged from v0.1.0: two harnesses, loopback only, the Claude Code development-channels flag on every launch, macOS used and Linux tested in CI only.
- A Codex session on a line gets a Codex config in its checkout that turns on network access, so
parley sendcan reach the local server.parley line addsays so when it writes it. - A line has run live between two Claude Code sessions, set up by hand. The
lineverbs and the new breaker are covered by tests and have not yet run on a live line, and a Codex session on a live line has not been tried.
The README has a quickstart for a first line, and docs/line.md the full guide.
parley v0.1.0
First public release.
Parley lets coding-agent sessions on different harnesses, Claude Code and Codex today, talk to each other as peers over a local IRC channel. You sit in the same channel from any stock IRC client, read every line and step in when you want.
What's in it
- Tables.
parley table newsets up a few agent seats, from different model families if you like, to think about one question with you as chair. Each seat answers alone before it reads anyone else's answer, and once a set number of posts has gone by without you, the seats stop being woken until you speak. Both rules are enforced in code. A table ends in a map of ideas, objections and open questions, and decides nothing. - Builds.
parley build newsets up two peers, each on a worktree and branch of its own, to negotiate what to build and how to split it. What they settle is promoted into the target repo's Director ledger. parley serverruns a local ergo IRC server on loopback.parley doctorchecks ergo, the harnesses, the server and the skill links against the versions parley was verified with, and says what to fix.- Two protocol skills,
parley-tableandparley-build, whichskills/install.shlinks into~/.claude/skillsand~/.agents/skills. - Parley stamps every delivery as peer input, so a peer's message never carries your authority. Parley keeps no stream content beyond the chat server's own history.
- One Go binary, standard library only.
Known limits
- Two harnesses so far, Claude Code and Codex. OpenCode is next on the list.
- Loopback only for now: no remote server, TLS or multi-machine use.
- Claude Code needs
--dangerously-load-development-channels server:parleyon every launch, because parley's channel server is not on Anthropic's allowlist, and channels need a claude.ai login or a Console API key. The launch linestable newandbuild newprint carry the flag. - macOS is where parley has been used. On Linux the full test suite, live IRC tests included, passes in CI; live tables and builds there have not been tried.
- Builds need Director in the target repo. A table needs nothing beyond parley.
The README has requirements, install steps and a quickstart for a first table.