The Agents Window
A collapsible left sidebar, a centered chat column, and a right tool rail that collapses to a 40px icon strip. A context bar pins workspace, branch, and runners right at the composer.
Cursor-register shellVellum Code reads your project, makes the change, verifies it, and reports back — with the whole operation visible. GUI‑first and local‑first, MCP‑native, seven providers, and a CLI that shares the same brain.
A chat-first agent that reads your project, makes the change, verifies it, and reports back — with the whole operation on screen. No black boxes, no silent edits.
A collapsible left sidebar, a centered chat column, and a right tool rail that collapses to a 40px icon strip. A context bar pins workspace, branch, and runners right at the composer.
Cursor-register shellThe working tree as a reviewable surface: staged and unstaged groups, per-hunk stage · unstage · discard, untracked previews, and a deterministic branch-and-commit that respects your selection.
Hunk-or-file → chatSwitching chats never kills a running turn. It keeps streaming in the background behind an amber dot and a live-tail hover — and returning catches you up mid-sentence.
/tell steers without switchingStreaming tool calls, and a live-writing view where you watch the file grow inside the tool card as the agent types. Auto-compact before you hit the wall, end-of-turn auto-verify with proof chips, a "N files changed" chip on every finished turn, stuck detection, a wall-clock watchdog, and provider failover.
Live-writing view Auto-verify FailoverSEARCH/REPLACE edits with fast-model re-anchoring when the file drifted, a tsserver shadow pre-flight that surfaces diagnostics in the composer, and reject-with-instruction: tell the diff overlay how it should have been done and the retry obeys.
Shadow pre-flight Reject with instructionA real browser pane in the rail. Dev-server URLs are sniffed from terminal output, runtime errors are captured, and any of them becomes a one-click fix request.
Snapshot-based rollback for the whole workspace — the coding agent's safety net, and yours. Restoring a snapshot invalidates the agent's read-state so it never works from a stale picture.
Deep PR review with a confirmed-post gate, a /fix-tests greening loop, welcome-screen task suggestions derived from churn and git status, OS notifications when you're tabbed away, and memory suggestions distilled from your own corrections.
Intent-Diff groups the agent's changes by purpose instead of by file. You read theses — "error handling added (3 files)" — not a wall of red and green.
Design mode turns "seeing" into a hard protocol rather than a nice idea. On every UI change the agent screenshots the result, judges it against your own written standards, and iterates until it passes.
Every fleet task runs in its own git worktree with a real, archived chat — not a spinner you have to trust. History survives restarts, follow-ups adopt the same worktree, and dispatch is mode-aware.
A semantic index over your repository — tree-sitter parsing plus embeddings — feeding an explicit, inspectable context stack. You can always see what the model was given.
Auto-context retrieval is opt-in, never a surprise. Project DNA, per-workspace memory, and a high-churn risk signal ride in the system prompt so the agent knows which files are load-bearing before it touches them.
@codebase searches the semantic index, @docs pulls the docs you point at, and @terminal hands over the last real output. Rules cascade from CLAUDE.md and AGENTS.md.
The agent is only as useful as it is safe to leave running. Every rail here is a real gate in the main process, not a warning label.
Edits queue as reviewable diffs. Approve, reject, or reject with an instruction the retry must obey.
Per-tool and command-pattern allow / ask / deny in .vellum/permissions.yaml — glob-matched, checked before anything runs.
22 catastrophic command patterns — recursive deletes, force-push, dropped tables — drop to a one-shot approval even in bypass mode.
An egress allowlist plus pre-send scrubbing. Shared transcripts are cleaned of secrets before they leave the machine.
Attach a reference repo as read-only, and the path-traversal-hardened workspace service keeps it that way.
vellum serve binds 127.0.0.1 with bearer tokens. Nothing is listening on your LAN.
rm -rf ./build
Blocked for a one-shot confirmation — even with approvals bypassed.
The desktop app and the CLI share the same engine, the same workspace config, and the same permissions. Script it in CI, or live in the TUI — your choice, not a rewrite.
Seven providers behind one agent loop, with automatic failover when one stalls. Cloud frontier models or a local Ollama box — the agent doesn't care which.
Keys are stored with OS-level encryption — DPAPI on Windows — never in plain JSON. Nothing routes through a Vellum server, because there isn't one.
Sessions, snapshots, the semantic index, and task history all live in a local SQLite database. The only traffic out is the request you asked for, filtered through the egress allowlist.
Everything the agent should know about your project lives in a committed .vellum/ directory. Reviewable, diffable, and shared with the whole team — including the CLI.
| File | Purpose |
|---|---|
taste.md |
Your design standards — injected into the system prompt and used to judge UI screenshots. |
env.yaml |
Worktree setup commands, extra allowed hosts (including localhost, for screenshots), environment variables. |
permissions.yaml |
Per-tool and command-pattern allow / ask / deny rules. |
mcp.json |
MCP servers over stdio or SSE — tools and resources the agent can call. |
rules/*.md |
Path-scoped prompt rules, applied only where they're relevant. |
skills/*.md |
Project-local skills the agent can load on demand. |
architecture.yaml |
Layer and import rules, validated at diff time so an edit can't quietly break your boundaries. |
The window will feel like home if you already live in a Cursor-class editor. What sits underneath it is aimed past autocomplete: an agent you can supervise, script, isolate, and audit — on your machine, with your keys, under your rules.
Tool calls stream, files grow as they're written, and every finished turn carries its own proof. Trust is earned on screen, turn by turn.
Your sessions, index, and keys stay on your disk. There's no Vellum cloud in the request path — because there is no Vellum cloud.
Model Context Protocol is a first-class citizen, not a plugin afterthought. Connect your own tools, resources, and prompts.
The GUI and the CLI share the engine, the config, and the permission model. Automate the same agent you supervise.
Nothing lands silently. Diffs are grouped by intent, gated by approval, and reversible with a snapshot.
MIT licensed, config-driven, and honest about its own architecture. Fork it, teach it your standards, ship it to your team.
Install the desktop app, run vellum init, and give it a first task. It'll show you everything it does next.