Open source · macOS & Linux

Mistral Vibe,
with room to think.

Keep every local Workspace, durable Thread, approval, diff, and shell in one calm desktop window. Vibe writes the code. Mistro keeps the work legible.

Apple Silicon · Linux x64 · Free and MIT licensed · Requires theMistral Vibe CLI

Vibe Mistro showing Workspace Threads, a live Mistral Vibe conversation, and the Files panel
01 Workspaces stay warm02 Threads stay durable03 Your code stays local
One Vibe process per open WorkspaceMany durable ThreadsRaw ACP events, faithfully renderedNo credentials storedLocal files stay local

Parallel by default

Know what every agent is doing—without babysitting terminals.

Open a Workspace when you need it. Keep several Threads moving inside it. The sidebar tells you what is streaming, waiting for approval, or ready for your next prompt.

Workspaces
checkout-redesign
Fix mobile payment flownow
Audit failed webhooks12m
docs-site
Refresh API examples!
Improve first-run guide1h
Fix mobile payment flow
connected
Readsrc/payments/checkout.ts
Reasoning

The retry branch is losing the original payment intent…

Runbun test checkout
Vibe

I found the race: the retry path creates a second intent before the first request resolves. I’m moving intent creation behind the idempotency guard and adding a regression test.

2 files changed+28−9
Ask for follow-up changes
◇ Default◎ mistral-medium

Thin on purpose

Vibe keeps the intelligence.
Mistro gives it a proper room.

No embedded model. No second agent loop. Vibe Mistro speaks the Agent Client Protocol, supervises the process, and turns its live work into a desktop interface.

01YouPrompt & decideOne clear desktop surface
02Vibe MistroOrchestrate & render
03Mistral VibeReason, choose tools, code
04{ }Your WorkspaceFiles, git, and shell
Unconfined reads for CLI parityWorkspace-confined writes for safetyCredentials stay with Vibe, never with Mistro

Your call, at the right moment

Stay in the loop without living in the loop.

Permission requests arrive inside the Thread that caused them. Approve one action, reject it, or choose a different approval posture for the work ahead.

  • 01Plan before touching code
  • 02Accept edits while guarding commands
  • 03Give trusted Threads more autonomy
Permission requestedVibe is paused until you decide
now

Run a command in this Workspace?

bun run test src/main/agent-pool.test.tscheckout-redesign · local shell
RejectAllow once
DefaultPlanAccept editsAuto-approve

Everything beside the conversation

The side work stays beside the work.

Inspect files, review a diff, stage a change, or open a real shell without losing the Thread that explains why you are doing it.

Files146 files
srcmain◇ agent-pool.ts◇ thread-binding.ts◇ persistence.tsrenderer◇ package.json
Changes3 files
feat/thread-resumemain
Mthread-binding.ts+18−4
Mindex.ts+7−2
Athread-binding.test.ts+41−0
Resume a Thread after agent eviction
Commit 3 files ⌘↵
Workspace shellzsh

~/checkout-redesign git:(feat/thread-resume)

$ bun run test thread-binding

✓ 8 tests passed in 231ms

$

01 Files02 Git03 Terminal04 Skills

Open from the protocol up

Read it. Fork it.
Make it yours.

Vibe Mistro is an MIT-licensed Electron app built in the open. The architecture is documented, the protocol boundary is explicit, and your local workflow stays yours.

Browse the sourceMIT licensed
~/code

$ git clone https://github.com/abdullahatrash/vibe-mistro.git

Cloning into 'vibe-mistro'… done.

$ cd vibe-mistro && bun install

2361 packages installed

$ bun run dev

✓ Vibe Mistro is ready

$

Your next Thread starts here

Give Vibe a window.

Free, open source, and built for the Mistral Vibe subscription you already use.

Using Debian or Ubuntu? Download the .deb package.