Warning
Synara Beta is not ready. This repository is an early development preview: expect breaking changes, incomplete features, and instability. Do not use it for anything important yet.
The fast-iteration preview channel for Synara.
A native multi-agent GUI for coding models. Build, test, and orchestrate with Codex, Claude Code, Cursor, Antigravity, and your local AI runtimes.
Website · Documentation · MCP Integration · Releases · Report an Issue
Tip
Coexistence with Synara Stable
Synara Beta is engineered to run seamlessly side-by-side with Synara Stable on the same machine. It uses an isolated data directory (~/.synara-beta), separate ports, and a dedicated bundle identifier (com.emanueledipietro.synara.beta) to guarantee zero config collisions or session overwrites.
Copy the block below into Claude Code, Cursor, Codex, or any agent with shell access. It installs Synara Beta for you, fixes the usual first-install snags, and tells you the installed version.
Install Synara Beta (https://github.com/kartikkabadi/synara-beta) on this machine.
1. macOS and Linux: run: curl -fsSL https://raw.githubusercontent.com/kartikkabadi/synara-beta/main/scripts/install.sh | bash
It resolves the newest -beta.* release, downloads the right artifact for this OS
and CPU, verifies the release signature and checksum, and installs the app
(it also opens the app on macOS).
2. Windows (PowerShell): run:
$t = ((Invoke-RestMethod "https://api.github.com/repos/kartikkabadi/synara-beta/releases?per_page=100" -UseBasicParsing -ErrorAction Stop) | Where-Object { $_.tag_name -match '^v\d+\.\d+\.\d+-beta\.\d+$' } | Select-Object -First 1).tag_name
if (-not $t) { throw "Could not resolve the latest Synara Beta release." }
$f = Join-Path $env:TEMP $("synara-beta-install-$([Guid]::NewGuid()).ps1")
try {
Invoke-WebRequest "https://raw.githubusercontent.com/kartikkabadi/synara-beta/$t/scripts/install-windows.ps1" -UseBasicParsing -OutFile $f -ErrorAction Stop
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
Unblock-File -Path $f
& $f -Tag $t
} finally { Remove-Item $f -Force -ErrorAction SilentlyContinue }
3. Fix these if they come up, then run the install again:
- ssh-keygen is missing: install the OpenSSH client (apt install openssh-client, dnf install openssh-clients).
- macOS says the app "is damaged": clear the quarantine flag with
xattr -dr com.apple.quarantine "/Applications/Synara Beta.app"
- /Applications is not writable: approve the admin prompt the installer raises.
- Low disk space: keep about 1 GB free; the DMG or AppImage downloads to your temp dir.
4. Verify the newest vX.Y.Z-beta.N release is installed and "Synara Beta" launches.
5. Tell me the installed version and what you had to work around, if anything.
Do not change Gatekeeper or system security settings.
Install Synara Beta with one release-pinned command for your operating system. The downloaded release artifacts (DMG/AppImage/exe) are checksum-verified against an SSH-signed SHA256SUMS; the platform installer scripts are fetched over HTTPS from the pinned release tag and the universal install.sh bootstrap from main, and no installer script is signature-verified (see the Installation Guide for the full trust model).
macOS (Apple Silicon & Intel)
t=$(curl -fsSL "https://api.github.com/repos/kartikkabadi/synara-beta/releases?per_page=100" | grep '"tag_name"' | sed -n 's/.*"tag_name":[[:space:]]*"\([^"]*\)".*/\1/p' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+-beta\.[0-9]+$' | head -1); if [ -z "$t" ]; then echo "Could not resolve the latest Synara Beta release." >&2; (exit 1); else f=$(mktemp /tmp/synara-beta-install.XXXXXX) && curl -fsSL -o "$f" "https://raw.githubusercontent.com/kartikkabadi/synara-beta/$t/scripts/install-macos.sh" && bash "$f" --tag "$t"; rc=$?; rm -f "${f:-/tmp/synara-beta-install-none}"; (exit $rc); fiLinux (x86_64 & arm64)
t=$(curl -fsSL "https://api.github.com/repos/kartikkabadi/synara-beta/releases?per_page=100" | grep '"tag_name"' | sed -n 's/.*"tag_name":[[:space:]]*"\([^"]*\)".*/\1/p' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+-beta\.[0-9]+$' | head -1); if [ -z "$t" ]; then echo "Could not resolve the latest Synara Beta release." >&2; (exit 1); else f=$(mktemp /tmp/synara-beta-install.XXXXXX) && curl -fsSL -o "$f" "https://raw.githubusercontent.com/kartikkabadi/synara-beta/$t/scripts/install-linux.sh" && bash "$f" --tag "$t"; rc=$?; rm -f "${f:-/tmp/synara-beta-install-none}"; (exit $rc); fiWindows (PowerShell)
$t = ((Invoke-RestMethod "https://api.github.com/repos/kartikkabadi/synara-beta/releases?per_page=100" -UseBasicParsing -ErrorAction Stop) | Where-Object { $_.tag_name -match '^v\d+\.\d+\.\d+-beta\.\d+$' } | Select-Object -First 1).tag_name; if ($t) { $f = Join-Path $env:TEMP $("synara-beta-install-$([Guid]::NewGuid()).ps1"); Invoke-WebRequest "https://raw.githubusercontent.com/kartikkabadi/synara-beta/$t/scripts/install-windows.ps1" -UseBasicParsing -OutFile $f -ErrorAction Stop; Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force; Unblock-File -Path $f; try { & $f -Tag $t } finally { Remove-Item $f -Force -ErrorAction SilentlyContinue } } else { throw "Could not resolve the latest Synara Beta release." }For more options and script details, see the Installation Guide.
Direct installer downloads will be available on trysynara.com and GitHub Releases.
Supported native platforms:
- macOS: Apple Silicon (
arm64) & Intel (x64) - Windows: x64
- Linux: x64 and arm64 (
.AppImage)
Choose the asset that matches uname -m: x86_64 uses the x64 AppImage and
aarch64 uses the arm64 AppImage. The normal AppImage launch path requires
FUSE support; on Arch-based systems, install the fuse2 package if it is
missing.
If FUSE is unavailable, run the AppImage in extraction mode:
chmod +x Synara-*-x86_64.AppImage
./Synara-*-x86_64.AppImage --appimage-extract-and-runFor nested VMs using Wayland, add Electron compatibility flags when needed:
./Synara-*-x86_64.AppImage \
--appimage-extract-and-run \
--no-sandbox \
--disable-gpu \
--ozone-platform=x11You can build and run Synara Beta locally using Bun and Node.js.
- Bun (v1.4.2 or newer)
- Node.js (v24.13.1 or newer recommended)
- Git
- Install and authenticate the agent runtime you intend to use before starting a session. For Codex sessions, follow the Codex CLI setup.
# 1. Clone the repository
git clone https://github.com/kartikkabadi/synara-beta.git
cd synara-beta
# 2. Install workspace dependencies
bun install
# 3. Start the local development server (Web + Server)
bun run devTo launch the native desktop shell during development:
bun run dev:desktopbun run typecheck checks all seven workspaces with TypeScript 7 and the native
Effect checker. CI and each workspace's typecheck script use the same compiler.
bun run typecheck:native remains an alias for the default check.
The native Effect checker does not enforce every legacy rule: in particular,
importFromBarrel errors are currently missed. bun run typecheck:legacy keeps
the TypeScript 5 check available for explicit comparisons; it is not run by CI.
The existing compiler also remains installed for build and declaration tools
that require its JavaScript API. Native and legacy checks use separate caches.
Use these named scripts rather than a bare tsc, whose version depends on the
current directory. Normal installation patches the native compiler for Effect;
the root typecheck command also ensures that patch is applied before checking.
Synara Beta is the active preview channel of Synara — an open-source, multi-agent desktop GUI designed for developers orchestrating local coding models.
Instead of locking you into proprietary cloud proxies or web chat wrappers, Synara connects directly to the coding agent runtimes already installed and authenticated on your machine. Synara Beta delivers early access to experimental provider runtimes, high-throughput streaming optimizations, and cutting-edge workflow tooling before they graduate to the Stable release.
Synara Beta brings every local agent into a unified, focused workspace. Switch models on the fly, run different agents on different tasks, and harness your existing subscriptions directly.
| Runtime | Integration Mechanism | Key Strengths |
|---|---|---|
| OpenAI Codex | Native CLI / codex app-server (JSON-RPC over stdio) |
High-reasoning agentic turns, structured diff proposals |
| Anthropic Claude | Claude Code CLI integration | Rapid tool use, deep refactoring, architectural planning |
| Cursor | Cursor Agent Runtime | Deep codebase indexing, inline file edits |
| Google Antigravity | Antigravity CLI | Multimodal workflows, tool execution, agent orchestration |
| xAI Grok | Grok Build runtime | Accelerated reasoning, rapid iterative development |
| Factory Droid | Factory Droid CLI | Autonomous developer workflows and spec enforcement |
| OpenCode & Pi | Local & Open-Source LLMs | Self-hosted models via Ollama, vLLM, or custom endpoints |
| Devin | Devin CLI integration | Autonomous multi-step software engineering workflows |
Keep the active conversation directly alongside the surfaces it modifies. Projects define the workspace context, while threads preserve task-specific history, environment state, and live execution diffs.
- Project-Aware Context: Seamlessly navigate between repositories and track related tasks without mixing uncommitted files.
- Provider & Model Selection: Choose the ideal provider runtime per task based on complexity and speed.
- Persistent Goals: Attach explicit multi-turn objectives with pause/resume, achievement history, and bounded autonomous continuation.
Compare model responses, run parallel investigations, or tackle front-end and back-end tasks simultaneously. Synara’s split-view system lets you pin and control two active agent threads side-by-side with independent context, tokens, and controls.
- Side-by-Side Comparison: Evaluate how different models approach the same architectural challenge.
- Dual Working Panes: Inspect diffs in one pane while interacting with an agent prompt in the other.
- Mobile & Device Simulators: Place live iOS Simulator or Android device previews directly beside running agent threads.
Never context-switch to test web apps. Synara embeds a full Chromium-based browser right next to your agent thread.
- Live Local Previews: Preview
http://localhost:3000or local dev servers with automatic hot-reload. - WebMCP Tooling: Agents can inspect the DOM, interact with buttons and forms, take screenshots, and invoke semantic or page-declared WebMCP actions.
- Visual Feedback Loop: Agents verify their own UI changes before marking tasks complete.
Stuck on a tricky bug or want a second opinion? Pass active work between models with a single click.
Synara's handoff engine carries over conversation history, active project context, and uncommitted diffs to the target agent runtime without manual copying or re-prompting. Start an architectural plan with Claude, execute heavy edits with Codex, and review with Cursor.
Avoid dirty working trees and merge conflicts when running multiple concurrent tasks.
- Managed Worktrees: Spin up isolated, throwaway Git worktrees per thread so parallel agents can edit the same repository without colliding.
- Full Review Surface: Review diffs, stage files, discard hunks, and commit changes directly from the UI.
- One-Click GitHub Integration: Branch, push, and open pull requests right from your thread.
Tailor the environment to your setup and aesthetic preferences.
- Themes: Dark, Light, Synara, and Codex presets with high-contrast accessibility toggles.
- Typography: Custom UI and monospace coding fonts (e.g. JetBrains Mono, Inter, Fira Code).
- Layout Ergonomics: Adjustable density modes, translucent glass sidebars, and customizable keybindings.
Synara organizes your workflows into clear, modular layers:
| Layer | Purpose |
|---|---|
| Project | Repository context, configuration, and workspace-level settings. |
| Thread | Task-specific conversation, ephemeral state, files, and transcript history. |
| Provider Session | The local, authenticated coding-agent process executing the instructions. |
| Execution Surfaces | Diff review, embedded terminal, Chromium browser, file tree, and Git tools. |
synara-beta/
│ ├── desktop/ # Electron desktop application & native OS bridges
│ ├── marketing/ # Next.js marketing site and documentation
│ ├── server/ # Node.js WebSocket backend managing agent stdio runtimes
│ └── web/ # React 19 + Vite web interface and transcript streamer
├── packages/
│ ├── contracts/ # Shared Effect/Schema contracts and WebSocket protocol types
│ └── shared/ # Cross-package runtime utilities, git helpers, and diff logic
├── docs/ # In-depth architectural guides and protocol specs
└── assets/ # Branding assets, vector icons, and screenshots
Synara Beta includes a built-in Model Context Protocol (MCP) server, allowing external agent clients (such as Claude Desktop, Cursor, or external scripts) to securely interact with your active Synara projects, threads, and workspace tools.
For setup instructions and permission scopes, see External MCP Documentation.
Contributions, bug reports, and suggestions are warmly welcomed!
- Found a bug? Open an issue with the Synara Beta version, operating system, agent runtime, and reproduction steps.
- Want to contribute? Feel free to submit a pull request against
main— see CONTRIBUTING.md. Please ensurebun fmt,bun lint,bun typecheck, andbun run testpass. - Stay updated: Follow developments at trysynara.com.
Synara Beta is open-source software licensed under the MIT License.

