Four external coding agents share one desktop workspace
Traycer connects Claude Code, Codex, Cursor, and OpenCode, with its own inference available as another option. A durable agent lives inside a task and can appear through chat or terminal surfaces. Users can switch models, open several agents at once, assign tickets, inspect code, and keep conversations attached to the work. The product is aimed at people whose agent sessions have outgrown a row of terminal tabs.
Agent-to-agent communication adds another layer. Agents can reference peers, read permitted transcripts, deliver messages, debate designs, or review work in loops. The README points to a capability matrix because reading and delivery depend on the user, Host, and runtime. That qualification matters: an orchestration diagram does not guarantee every agent can see or message every other one. Test the intended communication path before relying on a long autonomous chain.
The repository contains clients and protocol, while collaboration uses Traycer services
The contributing guide describes this monorepo as the open-source clients, CLI, and protocol. Its main packages are the wire contract, CLI, shared transport and authentication code, GUI renderer, and Electron shell. Team sharing, account state, remote status, and cross-device sync reach Traycer's service. The README does not present a Docker or Helm path for running that control plane yourself. MIT licensing covers the published code, not a promise of an offline team backend.
This boundary should decide adoption early. A solo developer may accept an account because the desktop gives one place for several provider subscriptions. A regulated team may require the collaboration server, identity store, telemetry path, and retention controls to live inside its own network. Traycer's source access lets that team inspect client behavior, but it does not by itself meet a fully self-hosted control-plane requirement.
What happened when we ran it
Our Bun sandbox installed 1,828 packages in 169 seconds and used 1,728 MB on disk. commit b8ef446 contained 5,583 files, about 1,610,681 source lines, and a 69.1 MB checkout. The Nx build succeeded in 59 seconds. The monorepo had 11 CI workflow files and workspace configuration, but no Dockerfile or top-level tests directory. Source development is a sizable desktop application, not a thin wrapper around agent CLIs.
The complete test command timed out after 900 seconds. The lab parser recorded a Vitest segment with 30 passed and 0 failed. The supplied tail shows another completed Vitest phase with 171 files passed, 2,932 tests passed, and 2 skipped in 470.80 seconds. Assertions shown in that phase were green, including repeated property checks lasting roughly 9 to 15 seconds each. The overall command still did not exit before our cap, so the result is a timeout rather than a pass.
Privacy Mode is default for teams and opt-in for individuals
Traycer says code is processed in memory and is neither stored nor used for training. Provider requests for configured CLI agents go directly to those providers, while Traycer inference goes to Traycer. Prompts and conversations have a different rule: Privacy Mode is enabled by default on Team plans, but individuals must opt in. When it is off, prompts may be logged to improve the service. Release builds may also enable Sentry crash reports and PostHog analytics.
An individual evaluating sensitive client code should turn Privacy Mode on before the first real session, then inspect the policy and network traffic for the selected provider. A team should document which data reaches Traycer, which reaches Anthropic, OpenAI, Cursor, or OpenCode, and which remains on the Host. Shared memory across models can improve continuity while expanding the set of systems that may receive conversation context. Provider switching deserves a data-flow review, not only a UI demo.
Remote status and MCP settings can stall for 30 seconds
Issue 1423 reports Traycer Desktop 1.2.0 showing remote agent status as unavailable while local agents remained active. In the same report, the MCP provider list hit a 30-second WebSocket response-frame timeout and stayed on a loading state after a normal relaunch. Issue 1419 describes the provider editor behavior in more detail and asks for a bounded error, retry action, and preservation of last-known providers.
These reports support a practical rule: separate local agent health from cloud-plane and provider-list health in operating procedures. A stalled settings panel should not trigger destructive workspace recreation while local work continues. Capture the support report, preserve the working checkout, and use a bounded restart path. Desktop 1.2.0 includes many host and transport recovery fixes, yet current issue activity shows that connection-state handling remains a live area.
CLI automation stops at structured interview questions
The public CLI can create agents, send messages, list them, read transcripts, and inspect inboxes. Issue 1322 identifies a missing operation: when an agent raises a structured AskUserQuestion, a plain CLI message is recorded as another user message and does not resolve the pending interview. The desktop can answer through an internal protocol, but a Telegram bridge or remote dashboard cannot complete the same action through the documented CLI.
Linux packaging has another clear edge. The download table covers Windows x64, both Mac architectures, and Linux x86_64 through AppImage, Debian, and RPM packages. Issue 1367 asks for a Linux ARM64 desktop build and says the CLI and Host already run there, while the desktop does not. GitHub showed 1,346 stars, 170 combined issues and pull requests, and a last push on August 27, 2026. Traycer is active, ambitious, and still settling important platform seams.

