Skip to main content

Manylogue

smoke

Human-chaired group chat for cross-model multi-agent collaboration. Several AI agents — Claude and Codex today — converse with each other and with you in one room, streaming their intermediate work (narration, tool calls) live and committing one final answer per turn. The point is to make multi-agent collaboration legible: you see who is thinking, what they are doing, and how the conversation settles, instead of black-box orchestration.

It's a FastAPI app: you chair the thread, and each agent's adapter responds in turn against a project working directory you choose. The transcript is plain JSONL on disk — readable, diffable, and durable across restarts.

For the why and real examples — a room reversing a wrong consensus, catching its own groupthink — read the introduction post: Manylogue: Cross-Model Multi-Agent Collaboration System.

Prerequisites

  • Python 3.12+, and uv for the no-clone install below (pip works too).
  • Claude Code — to chat with Claude agents. Install it, run claude once to log in, then verify: claude -p "Say exactly OK" prints OK.
  • Codex CLI — to chat with Codex agents. Install it, run codex once to sign in, then verify: codex login status prints Logged in using ChatGPT.

One agent CLI is enough to start, but cross-model rooms need both. Manylogue drives the agents through the official SDKs and reuses the CLIs' subscription logins — no API keys live in Manylogue. See Agent parity & skills.

Install & run

Option 1 — no clone, with uv:

uvx --prerelease allow manylogue        # serves http://127.0.0.1:8000

The flag is needed because the Codex SDK is still in beta and pins a pre-release runtime, which uv won't resolve from an index without an explicit opt-in. It goes away once the SDK ships a stable release.

Or with pip — no flags needed:

pip install manylogue
manylogue

Option 2 — from source:

git clone https://github.com/kmuzykov/manylogue
cd manylogue
uv sync
uv run manylogue

Open the URL, create a chat (pick a project directory the agents may work in), add participants, and send a message. Stop and restart any time — chats and per-agent state persist.

manylogue accepts --home <dir>, --host, and --port.

Security

Manylogue is a personal playground project, shared because it's useful — not a hardened product. Run it only if you're comfortable with all of the following:

  • Agents run with permission prompts disabled. The Claude adapter uses permission_mode="bypassPermissions": every file edit and command an agent decides to run is auto-approved, with no per-action review. Codex runs equivalently unattended.
  • Agents act on your real filesystem. They read, write, and run tools in the working directory you point a chat at — no sandbox, no worktree, by design. Point chats only at directories you trust the agents to operate in (a scratch clone is a good start).
  • Localhost only. The server binds to 127.0.0.1 and has no authentication. Do not expose it to a network or the public internet.

See SECURITY.md for the full risk model, sensible precautions, and vulnerability reporting.

Configuration

Manylogue keeps its config and chat history under <home>/.manylogue/, where <home> defaults to your OS user home (so ~/.manylogue). Point MANYLOGUE_HOME elsewhere — or pass manylogue --home <dir> — to relocate it. On first run Manylogue seeds the config with the bundled default agents and roles; edit them in place, your changes are never overwritten.

Layout under <home>/.manylogue/:

  • agents/*.toml — agent definitions (adapter, model, role, description)
  • roles/*.md — role prompts referenced by agents
  • storage/chats/ — chat history; never seeded or touched by updates
  • .env — optional settings and secrets (see .env.example)

Environment variables are read with this precedence (first setter wins):

  1. the process environment
  2. <home>/.manylogue/.env — the place for secrets
  3. ./.env in the directory you launch from — dev fallback; may set MANYLOGUE_HOME

Set MANYLOGUE_LOG_LEVEL (DEBUG, INFO, WARNING, ERROR; defaults to DEBUG) to control log verbosity.

Capabilities & limitations

  • Claude and Codex run through their subscription CLIs/SDKs, so agents inherit the real Claude Code / Codex runtime — their tools, instruction-file discovery, and (for Claude) skills — from your local install. With no local CLI the SDKs fall back to API-key billing with default built-in tools and none of your MCP servers; that fallback path is not yet verified.
  • An OpenAI-compatible adapter exists (e.g. local models via Ollama) but is conversation-only today — no file read/write/search tools, so local models participate as talkers, not actors. Making them first-class participants is on the roadmap.

Troubleshooting

Claude turns fail with 401 Invalid authentication credentials (or "Please run /login"). Manylogue's Claude adapter authenticates with your Claude subscription login, so test it directly from a terminal:

claude -p "say ok"

If that prints OK, Claude is authenticated and Manylogue will work. If it returns a 401, your login has expired — run claude logout, then claude login, then restart Manylogue so it picks up the refreshed credential.

Agent parity & skills

The contract both adapters aim for: an agent's turn should behave like a fresh CLI session (claude / codex) opened in the chat's project directory. Instruction files (CLAUDE.md / AGENTS.md), tools, MCP servers, and skills are inherited from your local CLI setup, not configured in Manylogue — so if something works in your terminal, it should work in the room.

Two discrepancies we hit in practice, and what solved them at the time (as of July 2026 — SDK and CLI behavior moves fast, so verify against current docs if something looks off):

  • Claude's document skills (DOCX / PDF / PPTX / XLSX) were missing. Claude Desktop had installed them into a GUI-only store that neither the terminal CLI nor SDK-driven sessions like Manylogue's could read. Installing them as a CLI plugin fixed it:

    claude plugin marketplace add anthropics/skills
    claude plugin install document-skills@anthropic-agent-skills
    

    Note these skills shell out to Python libraries and LibreOffice (soffice) at execution time — they need those installed to actually produce documents.

  • Claude agents lacked newer built-in skills. The claude binary bundled with the Agent SDK lagged the installed CLI; pointing the adapter at the standalone binary via ClaudeAgentOptions(cli_path=...) fixed that.

Metadata

Release files for manylogue 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for manylogue 0.1.2
File Size Uploaded
manylogue-0.1.2.tar.gz 43.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for manylogue 0.1.2
File Interpreter ABI Platform
manylogue-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 102.1 kB

Release files / manylogue-0.1.2.tar.gz

Download URL manylogue-0.1.2.tar.gz
Size 43.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e172b195af3d53e75e270c7ebdceb69682f1838f23c9da48adee396e93c083c8
BLAKE2b-256 checksum
How to use checksums
435bc16d02fed0505f4d0c0d2d0189c2e1134836919702d47d2a088faa62a78b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / manylogue-0.1.2-py3-none-any.whl

Download URL manylogue-0.1.2-py3-none-any.whl
Size 59.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
62e7b8a6d85f428c0c0ace65f1f5a70f6d5dcd4ab5918de4142969134b5bd3c5
BLAKE2b-256 checksum
How to use checksums
4fc2e7c40171022657bac917bfcbda4e141608cff6e4d06d1b9be177067cd8a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page