The Claude Code companion • 100% local • MIT licensed

Claude Code,

A native desktop toolkit for Claude Code. Voice control, persistent memory, AI security gate, worktree manager and remote control — all local, all yours.

VOICE / DASHBOARD / MEMORY / SECURITY
$ git clone https://github.com/markmiddo/synthia.git
Copied!

// One toolkit, four surfaces

Where Synthia Lives

Hotkeys

Voice

Right Alt for desktop. Right Ctrl for Claude Code.

Tauri + Rust

Desktop GUI

Native app. Eight panels. System tray. Tiny footprint.

synthia

CLI

Tasks, memory, recall — straight from the prompt.

Remote Mode

Telegram

Voice notes in. Code out. Approve plans before they run.

// Native desktop app

The Synthia Dashboard

A Tauri-powered control center for your Claude Code life. Eight panels, one window, zero browser tabs.

connected

Running Agents

3 active
claude-code
~/dev/eventflo/fan-experience
CPU 12%
pid 48201
codex
~/dev/misc/synthia
CPU 04%
pid 48944
kimi
~/dev/personal/site
CPU 01%
pid 49102
v0.4.0 · Tauri 2 · Rust 1.78

// Voice surface

Three Voice Modes

Quick tasks, hands-free coding, or remote control from anywhere. Hold a key, say a thing.

Quick Mode

Your Desktop Butler

  • Instant responses. No internet required. No excuses.
  • "Open Chrome" "Play Spotify" "Lock screen" — done.
  • Control volume, grab screenshots, launch anything
  • Works offline. Like, actually offline.
Hotkey: Right Alt (hold)

Dev Mode

Talk to Your Code

  • Speak commands. Claude executes. You sip coffee.
  • Full voice control of Claude Code sessions
  • Claude talks back (in a good way)
  • Perfect for when typing feels like effort
Hotkey: Right Ctrl (hold)

Remote Mode

Code From the Couch

  • Control Claude Code from your phone via Telegram
  • Send voice notes. Get code back. Magic.
  • Approve plans before anything runs (you're still the boss)
  • Ship features from the beach. We won't judge.
Enable: "Remote mode" or /remote
Persistent memory

Never Re-learn the Same Lesson

Bugs, patterns, architecture decisions, gotchas, stack notes — Synthia stores them in JSONL, tagged and searchable. Auto-injects relevant context into Claude Code based on what you're working on.

BUG error → cause → fix
PATTERN topic → rule → why
ARCH decision → why
GOTCHA area → landmine
STACK tool → note
$ synthia memory recall "frontend,react"
~/.claude/memory/ 147 entries
BUG 2026-04-18
error · MongoNetworkError on cold start in Lambda
fix · Bump connectTimeoutMS to 30000, retryWrites=true
PATTERN 2026-04-02
topic · React object props
rule · Inline objects = new ref = re-render. useMemo it.
ARCH 2026-03-02
decision · Tauri over Electron for the GUI
why · ~10MB binary, native perf, Rust backend
GOTCHA 2026-02-14
area · Wayland hotkeys
gotcha · pynput won't work, drop to evdev
↑↓ navigate · enter to view · / to search
AI security gate

A Firewall for Your AI Agent

Synthia wedges between Claude Code and your filesystem. Risky tool calls get blocked or held for approval — before they execute. Hooks into Claude, Codex, Kimi and Kilo.

Destructive shell

rm -rf /, dd of=/dev/sd*, force-pushes, chmod -R 777

Credential exfil

Reads of .env, id_rsa, ~/.ssh, ~/.aws/credentials

Prompt injection

"ignore previous instructions", role-play jailbreaks, zero-width chars

Risky writes

Direct edits of /etc/, sudoers, systemd unit files

events.jsonl
tail -f

PreToolUse + PostToolUse hooks · rules-based phase 1 · LLM classifier phase 2 · approval queue in the GUI

// Productivity stack

The Whole Toolkit

Voice and security are the headliners. These are everything else Synthia ships with.

GUI

Worktrees

Track every git worktree across repos. Progress bars, issue links, one-click resume of the matching Claude session.

CLI

Tasks CLI

synthia tasks add/list/move/done. Stored in JSON, surfaced in the GUI kanban board.

GUI

Notes

Markdown editor inside the GUI. Folders, breadcrumbs, react-markdown preview.

Daemon

Clipboard History

Background watcher on Wayland and X11. Mode-locked file perms (0o600). One-click restore.

Voice

LLM Polish

Local Ollama model fixes Whisper homophones, technical terms, proper nouns. Fail-safe falls back to raw transcript.

GUI

GitHub Triage

Pull open issues from any repo into the GUI. Wired to gh CLI. Auto-links to worktrees by branch number.

Remote

Telegram Inbox

Voice notes transcribed. Photos and files saved with metadata. Drop straight into your inbox folder.

Memory

Auto-Memory

Detected keywords pull relevant memories into Claude Code context — bug fixes, gotchas, patterns — automatically.

// What sets it apart

Why Synthia

Eight reasons this is the Claude Code companion you've been waiting for.

100% Local

Whisper, Ollama, Piper — all on your machine. No cloud round-trips, no telemetry, no "we updated our privacy policy" emails.

MIT Licensed

Free as in beer, free as in speech. Fork it, break it, fix it. Whole stack lives on GitHub. Go judge the code.

Claude Code First

Built around Claude Code's hook system. Voice in, plans approved, memories injected, dangerous tool calls blocked.

Security Gate

Rules-based + LLM classifier intercept risky tool calls. Catches rm -rf, credential reads, prompt injection signatures.

Native Desktop

Tauri 2 + Rust backend, React frontend. ~10MB binary, system tray, comment-preserving YAML writers.

GPU Optional

NVIDIA? Whisper goes brrr. CPU only? Tiny model still flies. Linux first — macOS and Windows in v0.3.

LLM Polish

Local model cleans up transcription mistakes — homophones, technical terms, proper nouns. Timeout-protected fail-safe.

Privacy Pinky-Promise

Voice never leaves the machine. Memory in ~/.claude/memory/*.jsonl. Audit log at ~/.config/synthia/security/events.jsonl. Inspect everything.

GitHub Stars
Contributors
0
Data Sent to Cloud

// Quick start

Install in Three Commands

Clone, run install, fire it up. Linux only for now — macOS and Windows in v0.3.

1

Grab the Goods

$ git clone https://github.com/markmiddo/synthia.git
Copied!
2

Let it Cook

$ cd synthia && ./install.sh
Copied!
3

Wake Her Up

$ ./run.sh
Copied!
4

Say Something

Hold Right Alt and say "Open Chrome"
Copied!

Requirements

OS: Linux (X11)
Python: 3.10+
RAM: 4GB minimum
GPU: Optional (NVIDIA for acceleration)

macOS and Windows support coming soon. See our roadmap.

Stay Connected

Follow along for updates, tutorials, and behind-the-scenes builds.

Help Synthia Grow

Built by the community, for the community. Every contribution matters — whether it's code, coffee, or a kind word.

Buy Us a Coffee

Synthia runs on open source spirit and actual caffeine. Fuel the next feature.

Donate

Contribute Code

Found a bug? Got an idea? PRs welcome. Check out the contributing guide to get started.

Contribute

Frequently Asked Questions

Everything you need to know about Synthia

Get in Touch

Have a question or feedback? We'd love to hear from you.