Vibe Chat
A Claude-powered teammate that lives inside your project — reads files, runs code, asks you real questions.
What it is
Vibe Chat is the AI agent inside every Loor workspace. It runs Claude (Sonnet 4.6 by default), with real tools wired into your project: read files, write files, run the dev server, check typecheck output, ask you clarifying questions.
- It edits the files you save — no hidden buffers.
- It can run commands in the workspace terminal.
- It can see what's failing and try to fix it.
- It never deploys, pushes, or buys a domain without you confirming.
Real tools, not just text
Vibe Chat has a tight toolset on purpose. Tools come from studioMcp, the in-workspace
Model Context Protocol server.
| Tool | Purpose |
|---|---|
read / edit / write | File operations in your workspace. |
quality | Typecheck, lint, format — returns parsed diagnostics. |
process | Start, stop, restart child processes (dev server, scripts). |
devLogs | Tail the dev server. |
git | Status, diff, log, branch (commits and pushes require your confirmation). |
deps | Add / remove npm packages via the pinned manager. |
loor | Read & propose changes to loor.json. |
network | DNS, TCP, HTTP probes from inside the workspace. |
ask | Surface a real UI question with options — see below. |
AskUserQuestion
When Vibe Chat hits a fork (multiple valid choices, an ambiguity, a destructive action), it calls
ask — Studio renders a real UI prompt with options. Pick one and the chat resumes. This is
the official "human in the loop" pattern.
"On mobile, should the chart show all 30 days (scrollable) or default to the last 7?" → renders as a 2-option choice with reasoning.
Sessions & history
Each conversation is a session. Sessions persist in the workspace's storage, so closing the tab and re-opening preserves the context. You can fork a session, wipe history, or roll back to a specific message.
Attachments
Drag a file into the chat to attach it — images, JSON, CSV, etc. Studio stores attachments in
.loor/attachments/ inside your workspace. Nothing leaves the workspace unless you
explicitly ask.
Stopping & redirecting
Hit ⌘ ⎋ (or click Stop) to interrupt mid-task. The chat will pause,
let you redirect, and pick up from where you steer it. Every tool call is logged in the side panel
so you can see what was touched.