Skip to content

Releases: colinsurprenant/parley

parley v0.4.2

Choose a tag to compare

@colinsurprenant colinsurprenant released this 27 Oct 18:06
6067c96

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 drop names 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 says Nothing was removed.
  • docs/line.md, /clear: in a Claude Code line session, /clear drops the skill and the role but not the channel. Deliveries keep arriving with no relaunch, and /parley-line restores the skill.
  • docs/line.md and docs/reference.md, taking a line down: the nicks' lock files and the line's .ids/<id>.lock stay after line end, and the docs say why. A lock is held on the file, not on its path.

Upgrading

  • Rebuild bin/parley (or go install github.com/colinsurprenant/parley/cmd/parley@v0.4.2). Running sessions, lines and parley server need 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

Choose a tag to compare

@colinsurprenant colinsurprenant released this 27 Oct 15:43
3eb5161

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 every line 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 warn that it may lack something parley uses;
    • a different major version is a warn that it may not work (0 counts like any other major version, so a newer Codex 0.x is ok);
    • a prerelease of the verified version, or a version that cannot be read, is a warn as before;
    • OpenCode of a major version other than 2 is still a FAIL.
  • 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 doctor warns about. It runs before the server is started, so it says nothing answers at 127.0.0.1:6667 until Quickstart step 1 starts parley server.

Upgrading

  • Rebuild bin/parley (or go install github.com/colinsurprenant/parley/cmd/parley@v0.4.1). Nothing else changes: running sessions, lines and parley server need 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

Choose a tag to compare

@colinsurprenant colinsurprenant released this 26 Oct 16:03
d30fb8c

Renames parley line add --checkout to --workdir, and lets it default to the current directory.

Breaking

  • --checkout is gone; use --workdir. There is no alias, so a script that passes --checkout now fails with exit 2 and changes nothing. The flag names the directory a line session runs in: where line add writes its launch file and where the printed launch lines cd. It checks nothing out, and the directory need not be a git repository.

What's new

  • --workdir defaults to the current directory when that directory is the top of a git repository, a linked worktree's included. Anywhere else, line add refuses 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 the parley-line skill.

Upgrading

  • Lines already running keep working: a session's directory is still stored under the checkout key of line.json, so line drop and line end read records written by earlier versions.
  • Rebuild bin/parley (or go install github.com/colinsurprenant/parley/cmd/parley@v0.4.0). Running sessions and parley server need 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

Choose a tag to compare

@colinsurprenant colinsurprenant released this 22 Oct 01:44
f26b908

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 opencode creates the session in the checkout with opencode 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.
    • --model takes OpenCode's provider/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 serve of your own, use --port with OPENCODE_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.
  • parley primer --front opencode and parley doctor --harness opencode.
  • parley doctor runs 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-ai npm 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

Choose a tag to compare

@colinsurprenant colinsurprenant released this 19 Oct 16:45
d31084c

A patch release for the line commands in v0.2.0.

Fixes

  • parley line add --checkout now resolves the path as you typed it. A --checkout with 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 add checked 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 add no longer pushes the exclude file past what line drop can read back. When adding /.mcp.json or /.codex/config.toml would take the repository's exclude file past 4 MiB, the line could not be taken out again: line drop, line end and the rollback refused a file that large. line add now 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 send can reach the local server. parley line add says so when it writes it.
  • The line commands 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

Choose a tag to compare

@colinsurprenant colinsurprenant released this 19 Oct 15:56
2fd40a0

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 new creates a line, parley line add adds a session to it, one per call and at any time, and parley line drop and parley line end take sessions or the whole line down. add writes the launch config into the session's checkout, hidden from git status, and prints the launch line, including how to bring a Claude Code conversation already under way onto the line with its history; drop and end remove 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-line skill. 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 line on parley channel, parley codex and parley primer, for setups the verbs do not cover.
  • skills/install.sh now links three protocol skills, and parley doctor checks 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 send can reach the local server. parley line add says so when it writes it.
  • A line has run live between two Claude Code sessions, set up by hand. The line verbs 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

Choose a tag to compare

@colinsurprenant colinsurprenant released this 16 Oct 15:38

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 new sets 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 new sets 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 server runs a local ergo IRC server on loopback.
  • parley doctor checks 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-table and parley-build, which skills/install.sh links into ~/.claude/skills and ~/.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:parley on 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 lines table new and build new print 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.