Multi-model AI for developers: fan out one prompt to every model, see where they disagree, and audit latency, tokens, and cost. Your keys, your Mac, pay once.
Polycode asks several AI models the same question at once, then hands you one synthesized answer — plus the full trace of who said what, how long it took, and what it cost.
Built for developers who want a second (and third) opinion on code, with receipts.
• One prompt, every model. Fan out to Claude, GPT, Gemini, Apple Intelligence (where available), and local endpoints in parallel; a primary model synthesizes the final reply.
• See the disagreement. Citation pills flag where models diverge, so you can judge confidence instead of trusting one black box.
• Full trace inspector. Per-model latency, input/output tokens, resolved model ID, and cost for every exchange — nothing hidden.
• Tool calls on your terms. Approve, reject, or inspect every MCP tool call before it runs.
• Your keys, your machine. Bring your own provider keys, stored in the macOS Keychain, and talk to providers directly — no proxy, no middleman.
• Local-first & private. Conversations stay on your Mac; only the requests you choose to send ever leave it.
• Project-aware. @-mention files from your project for grounded, in-context answers.
• Pay once. No subscription for the app — use the model accounts and local servers you already have.
Works with your own accounts: Claude, OpenAI (GPT), Google Gemini, Apple Intelligence where available, and any OpenAI-compatible or local endpoint.
Ratings & Reviews
This app hasn’t received enough ratings or reviews to display an overview.
Modes can now choose their models, the inspector shows you where the panel actually disagreed, and a sidebar that rearranged itself while you read it no longer does.
Highlights:
- Modes pick their own models: each provider on a mode's panel now has a Models row — chips you add and remove one at a time, with a searchable picker grouped by what's already in the mode, what you've enabled in Settings, and everything else the provider serves. A mode's picks replace your defaults rather than narrowing them, so a mode can send a model you never enabled globally; choosing the mode is the choice. Pin only the primary's own model and that provider sends the synthesis call and nothing else. #quick uses this same path now — its small-model picks are visible and editable instead of hardcoded.
- The editor tells you what will run: a "This mode runs" card names the synthesis model, the peers that will actually dispatch, and the round setting — resolved the way a real turn resolves it, so muted providers, unavailable models, and the primary's own model are all accounted for.
- Roles and Debate: any panel member can be a Critic, arguing the strongest case against the likely consensus while still answering in full. Debate adds one round in which every peer sees the others' first drafts and revises before synthesis — about 2× the fan-out cost, stated in the editor. Critics and round 2 are labeled in the inspector.
- Where the panel split: the agreement bar now measures agreement, not attendance — each part of the answer classified from its citations as uncontested, split, or solo. A card per split point shows the claim, the providers on each side, and each side's closest passage.
- Diff vs answer, and Use as answer: compare any provider's full response beside the synthesized answer, aligned sentence by sentence, and adopt it as the displayed answer with one click. The synthesized answer is kept and can be restored; exports carry an attribution line.
- The sidebar holds still: clicking a session in another project no longer jumps that project's section to the top under your cursor. Section order is now purely a matter of recent activity; the active project keeps its accent dot wherever it sits.
- Failed turns say why: a turn that fails now shows the provider's own error text in the bubble instead of an empty one, keeps it across relaunch, and reads it aloud with VoiceOver.
Also fixed: the Modes editor's Primary dropdowns went blank for a provider you had disconnected or a model the registry does not list, and could silently drop #quick's primary model on edit-open when Anthropic was connected — both now show what the mode holds and keep it. Mode rows name providers by their connection name rather than an internal handle. A mode left on "Provider default" no longer sends the literal string default as a model ID.
Note: the local store migrates from schema version 1 to 3 on first launch of this build. Sessions are preserved in place; the pre-migration backup remains the rollback path. There is no downgrade to 1.3.0.
Version 1.4.0
The developer, Anthony Izzo, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy .
Data Not Linked to You
The following data may be collected but it is not linked to your identity:
Usage Data
Diagnostics
Privacy practices may vary, for example, based on the features you use or your age. Learn More
Accessibility
The developer has not yet indicated which accessibility features this app supports. Learn More