v0.2.1 — Now available
Synara
A coding agent that runs in your terminal, thinks in the cloud, and acts on your machine.
Extensible via MCP. Built on Cloudflare.
npm i -g synara && synara login
synara — ~/my-project
> migrate this Express app to Hono on Cloudflare Workers
⚡ I will search: Hono migration from Express (using tool: search_documentation)
✓ Done
Completed in 1.2s
⚡ I will read the file: src/index.ts (using tool: read_file)
✓ Successfully read 3.2 KB from /my-project/src/index.ts
Completed in 0.1s
⚡ I will edit the file: src/index.ts (using tool: edit_file)
Allow? [y/n/t] y
✓ Edited src/index.ts
Migrated 4 Express routes to Hono handlers. Run npx wrangler dev to test.
> ▊
Plans
Start free. Scale as you build.
Monthly
Yearly Save 20%
Free
$0
forever
- Synapse web console
- 1M credits included
Pro
Popular
$19/mo
billed monthly
- Everything in Free
- Synara CLI access
- 20M credits included
- Priority model access
Ultra
$39/mo
billed monthly
- Everything in Pro
- 1x Synapse-Claw instance
- 40M credits included
- Dedicated container
Changelog
What's new in Synara.
v0.2.1 2026-04-12 Latest
- IMPROVEPermission prompt redesigned — newline + cyan > prompt, Kiro-style UX
- IMPROVEDeny with feedback — type anything other than y/t to deny and send feedback to LLM
- IMPROVEMulti-line paste support — debounce collects all pasted lines into single message
- IMPROVEAuto-compact now shows full summary and preserved message count
- IMPROVE/load now triggers LLM summary of restored context
- IMPROVEShared container instance "synara" — instant deploys, no version bump needed
- FIXThinking spinner now appears immediately after content ends (before tool args stream)
- FIXEmpty Enter no longer auto-denies permission — loops until valid input
- FIXStdin buffer drained before permission prompt — no more phantom denies
- FIXRelaxed bash block list — project-level rm -rf allowed after user confirms
v0.2.0 2026-04-12
- NEWLayered Harness architecture — 4-layer prompt system (Identity, Context, Skills Index, Active Skills)
- NEWSkills system — on-demand skill loading via activate_skill tool from R2
- NEW3 built-in skills: ui-ux-pro-max, cloudflare-deploy, superpowers (TDD methodology)
- NEWShared container instance — CLI sessions use fixed "synara" container, instant deploys
- IMPROVEGuardrails hardcoded into Layer 0 — no R2 dependency, zero-latency, tamper-proof
- IMPROVEError recovery rules in system prompt — stops blind retries, forces root cause analysis
- IMPROVERelaxed bash block list — only system-level destruction blocked, project rm -rf allowed after confirm
- FIXcontent_end now always sent — thinking spinner resumes correctly between content and tool calls
- FIXactivate_skill no longer sent as tool_request to CLI — handled internally by Harness
v0.1.9 2026-04-12
- NEWMCP server instructions injection — servers provide their own usage guidance to the LLM
- NEWMCP registry expanded: Context7 (live library docs) and sequential-thinking (structured reasoning)
- NEW! prefix for local shell commands (!ls, !git status) without going through LLM
- NEW/load tab completion — shows saved session names
- NEWDouble Ctrl+C to exit — first press shows hint, prevents accidental exit
- IMPROVEMCP parallel loading — all servers connect simultaneously, ~50% faster startup
- IMPROVEMCP tool display: dynamic verb (search/fetch/query) with blue content
- IMPROVETrusted write_file/edit_file now shows diff even when auto-approved
- IMPROVE/tools table with headers, grouped by server, aligned columns
- IMPROVEWelcome screen: SYNARA logo fixed, Cloudflare in orange, Built by Bowen Liu
- IMPROVEThinking spinner resumes after content_end — no gap before tool calls
- IMPROVEHarness forces LLM to summarize if it returns empty after tool operations
- IMPROVESystem prompt: LLM knows it can fetch URLs, must explain before tool calls
- FIXMCP server crash no longer crashes CLI — graceful disconnect and cleanup
- FIXCancel after cloud tool no longer triggers phantom thinking spinner
- FIXhandleMessage scope crash (ReferenceError) after esbuild minification
- FIXContent fragments leaking between tool calls (LLM streaming artifact)
- FIX/load now works — cloud REPL handles session_data message from CLI
- FIXsynapse-cli-worker CONTAINER_VERSION synced with harness-agent
v0.1.8 2026-04-11
- NEWMCP (Model Context Protocol) support — connect external tool servers for documentation, APIs, and more
- NEW/mcp command — view, enable, and disable MCP servers at runtime
- NEWBuilt-in MCP registry: aws-docs, cloudflare-docs pre-configured and ready to enable
- NEWMCP server state persisted — enabled servers auto-reconnect on next startup
- NEWTab completion for /mcp subcommands (/mcp aws-docs enable)
- NEWCommand dependency check — missing tools (uvx, npx) show install instructions
- IMPROVE/help redesigned — vertical layout with detailed descriptions
- IMPROVE/tools now shows MCP tools with server name and permission status
v0.1.7 2026-04-11
- NEWKiro-style tool descriptions: "I will read the file: counter.py (using tool: read_file)"
- NEWPurpose field — LLM explains why it's using each tool
- NEWSmart diff — only changed lines shown in red/green, unchanged lines as gray context
- NEWTab completion for all / commands
- NEW/tools shows live trust status, /tools reset to restore defaults
- NEW/help now shows compact two-column layout, use /command help for details
- NEWCloud guardrails loaded from R2 with 1-hour TTL cache (python3, pip3, etc.)
- IMPROVEPermission prompt y/n/t highlighted in cyan for visibility
- IMPROVETool results show full path and "✓ Successfully" in bright green
- IMPROVECompleted time on separate line for cleaner output
- FIXPermission prompt no longer auto-approves from stdin buffer — messages queued during wait
- FIXCtrl+C during permission prompt now correctly denies the action
- FIXCancel (Ctrl+C) now truly stops — ignores stale messages from cancelled turn
- FIXThinking spinner uses ANSI erase-line for clean removal
v0.1.6 2026-04-10
- NEW/undo — undo last file write or edit, restores previous content or deletes newly created files
- NEWMulti-line input — end a line with \ and press Enter to continue on the next line
- NEWCtrl+C to cancel — interrupts current LLM generation or tool execution, returns to prompt
- NEWMarkdown rendering for /tools, /context, /compact and other non-streamed responses
- IMPROVEgrep now supports context_lines parameter — shows N lines before and after each match
- IMPROVEread_file now has 100KB size protection — large files show truncation notice with line count
- IMPROVEWelcome screen version number now auto-syncs with package.json
- IMPROVERenamed package to synara — install with npm install -g synara, run with synara
v0.1.3 – v0.1.5 2026-04-10
Internal releases — npm package rename (synapse-cli → synara), esbuild bundling migration, bin path fixes.
v0.1.2 2026-04-10
- NEW/save [name] [--force] — save session locally to .synapse/sessions/
- NEW/load <name> — restore a previously saved session
- NEW/sessions — list all saved sessions with message count and date
- NEWASCII art welcome screen with cyan branding and info box
- NEWTool results show file size and elapsed time: "✓ Successfully read 7.0 KB - Completed in 0.1s"
- NEW/compact now displays the LLM-generated summary of compressed messages
- NEWContainer versioning with rollout_active_grace_period (10min) for zero-downtime deploys
- IMPROVESystem prompt rewrite — LLM asks clarifying questions before complex tasks, stops on user deny
- IMPROVEPermission prompt shows full action: "Read ../file.html (using tool: read_file)"
- FIXProject-outside read/list operations now correctly require permission
- FIXThinking spinner shows consistently between all tool calls
v0.1.1 2026-04-10
- NEWSystem prompt overhaul — LLM now asks clarifying questions before complex tasks instead of guessing
- NEWPermission prompt shows full action description: "Read ../file.html (using tool: read_file)"
- NEWContainer versioning — new deploys route to fresh instances, old sessions get 10min grace period
- FIXUser deny now stops ALL remaining tool calls in the batch, not just the denied one
- FIXPermission input requires Enter to confirm — no more accidental single-keypress execution
- FIXThinking spinner now shows consistently between all tool calls, not just the first one
- FIXPlaywright browser path fixed for Container (PLAYWRIGHT_BROWSERS_PATH + libXfixes)
- IMPROVECloud tool results (web_search/web_fetch) show brief status only, full content goes to LLM
v0.1.0 2026-04-10 Initial
- NEWCore architecture — cloud-powered LLM with local tool execution via WebSocket
- NEW7 built-in tools: read_file, write_file, edit_file, grep, glob, list_dir, bash
- NEWPermission model — auto-approve reads in project, bash never trustable, destructive commands blocked
- NEWLLM streaming — real-time token output via WebSocket
- NEWContext compression — LLM-powered summarization at 80% capacity, reactive compact on overflow
- NEWSession commands: /compact, /context, /tools, /usage, /quit
- NEWCloud tools: web_search (Serper) and web_fetch (Scrapling + Playwright)
- FIXArrow keys in input — switched permission prompt from raw mode to readline
- FIXStreaming tool_calls arguments truncation — re-serialize JSON after parse
- FIX400 error from extra fields in assistant messages — clean before re-send to API
- IMPROVECloud tool results show brief status in terminal, full content only sent to LLM