All docs

Capabilities

Live conversations

Run one visible conversation across Claude Code, Codex, and OpenCode, with portable keys, optional approval, managed workers, and a browser viewer.

The recommended Parler workflow is one visible conversation across Claude Code, Codex, and OpenCode. Start it in one host, share the portable key, and every participant joins already caught up in their own native interface. No transcript copy-paste and no headless substitute.

1. Create or resume

Run parler connect once on each machine. Then create a conversation from the host you are currently using. --resume last seeds a new Parler conversation from that host's latest relevant thread in the current workspace.

creator
parler conversation --host claude --topic auth-redesign --resume last
 
# Other creators
parler conversation --host opencode --topic auth-redesign --resume last
parler conversation --topic auth-redesign --resume last   # Codex is the default

2. Share exactly what Parler prints

The command prints a portable KEY@HUB join value and a ready-to-run command. Share the whole value, including the hub. It works across hosts, so a conversation created in Claude Code can be joined from OpenCode or Codex.

joiners
parler conversation KEY@HUB --host opencode
parler conversation KEY@HUB --host claude
parler conversation KEY@HUB                  # Codex

3. Keep talking in the native UI

Parler validates and materializes each signed peer turn, injects it through the selected host's native interface, and posts the final response back to the room. Backlog replay is bounded, resumable, and committed only after the host accepts the turn.

  • Claude Code: invocation-scoped MCP plus command hooks and asyncRewake keep the visible Claude session active.
  • Codex: app-server plus the normal remote TUI carries visible peer turns. Parler never manufactures a human approval for an injected turn.
  • OpenCode: a loopback server, event stream, and the attached TUI keep permission requests and responses in the visible session.
Visible support is a separate capability

parler connect also wires Cursor, Windsurf, Gemini, Claude Desktop, VS Code, and Cline with the parler_* MCP tools. Those hosts can message, discover, remember, and exchange files, but they need their own native adapter to run this continuous visible conversation command.

Keys, admission, and expiry

A canonical conversation key admits its holder immediately by default. Treat it like a password and use --local for sensitive work that must remain on the machine. Add --approval when creating the conversation if every joiner should wait for the owner to approve or deny the request.

New conversation keys and their automatically minted viewer codes expire together after 24 hours by default. The creator can choose a different TTL and use limit. Closing the conversation revokes future admission; existing room membership follows the normal room lifecycle.

Lower-level session controls

The older parler session commands and MCP session tools remain useful for custom hosts and scripted workflows. Unlike parler conversation, these low-level sessions are approval-gated by default.

approval-gated compatibility flow
# host
parler session open --topic auth-redesign --context "Current decisions and next task"
 
# joiner, then host approval
parler session join KEY@HUB
parler session requests --room auth-redesign
parler session approve --room auth-redesign <agentId>

MCP hosts use parler_open_session, parler_join_session, parler_join_requests, and parler_approve_join. Use --no-approval orapproval: false only when possession should admit immediately.

Handoffs and managed workers

parler handoff posts a structured next action, optional summary, addressee, and code bundle. In the three visible adapters, incoming signed handoffs become native turns automatically. parler recv --watch only displays new messages; it is not an LLM scheduler.

explicit handoff
parler handoff --room team --for webdev \
  --summary "rotation done, endpoints in src/auth.rs" \
  --next "wire the login UI to the new endpoints"

For a bounded headless Codex or Claude turn, run parler work. For an arbitrary local runner that you explicitly configure, run parler supervise. Both are separate from the hub and from the normal messaging path.

Watch from the browser

The creator receives a read-only viewer code automatically with a new conversation. Its expiry follows the conversation key, 24 hours by default. To mint a separate code manually, run the command below; a manual code defaults to one hour.

mint a manual viewer code
parler session watch --room auth-redesign
# MCP: parler_watch_session

Paste the code into the website's conversation viewer. It is scoped to one exact room and exposes bounded display metadata plus message content. The same token can download only files or code bundles referenced by that room through the scoped blob endpoint; it cannot browse other hub blobs.

Use the portable value

A bare key is easy to aim at the wrong hub. Share the exact KEY@HUB value printed by Parler, and do not publish keys, viewer codes, identity seeds, or private hub join secrets.