Build and operate BARRY from your editor.
The BARRY extension for Visual Studio Code brings your building blocks into the editor. Browse transports, connections, triggers and alerts in a tree, edit them as ordinary YAML files, push them to your server, start a run and watch it finish — without leaving the editor.
It talks to your own BARRY server. You sign in with the same single sign-on the web UI uses, and the same roles apply: Admin to push, Operator to run.
barry.serverUrl in VSCode settings to your BARRY server, then run BARRY: Sign in from the Command Palette.The extension checks the server's version on connect and tells you if the server is older than it needs. When a newer VSIX is published on your server, it offers the update.
The Building Blocks view lists your four block types, with a transport's triggers nested beneath it. Clicking a block opens its YAML file.
| Completion | source: / sink: / transport: suggest the real names from your server. |
| Go to definition | Ctrl-click a referenced name to jump to the block it names. |
| Find references | See every transport that uses a connection, every trigger on a transport. |
| Live validation | A reference that names something that does not exist is flagged in the editor, before you push. |
| CodeLens | Push · Pull · Run · Open in BARRY, above each block. |
| Rename | Renames a block and carries every reference with it, including the trigger files whose names embed their transport. |
| Duplicate | Clone a transport as the starting point for the next one. |
| Search | Find a block by name, by the table it reads, or by the connection it uses. |
| Show only changed | Reduce the tree to what you have not pushed yet. |
Schemas ship with the extension, so every field is described on hover and enum values complete themselves.
New Transport from Table browses the real source through your on-prem client, lets you pick a table, and scaffolds a transport with its actual key columns already filled in. New Transports from Schema does a whole schema in one step.
Editing is local; Push applies a block to the server, matching by name: an existing block is updated, a new one is created. Push All applies the whole workspace in one request, in dependency order, so a new connection and the transport that uses it land together.
Diff Against Server shows exactly what a push would change, before it happens. Pull brings the server's state back down; when a block changed both locally and on the server, you are shown the difference and choose.
Secrets are never written to YAML. A connection references a vault entry — @kv("my-secret") — and the server rejects a literal secret.
The Vault view lists your secrets by name and lets you create, rotate and delete them, and copy a ready-made @kv("…") reference straight into a connection file. Secret values are write-only: they go to the server and are never returned, so nothing can read one back out.
Run starts a transport. If it declares variables, you are prompted for them first.
The run is then followed live in the Output panel — status, the step your on-prem client reports, rows and bytes written, and the error message if it fails. When the run finishes, its log bundle is offered for download.
The Monitoring view lists recent runs with their status and errors, and transports in the tree carry a freshness lamp: green when the schedule is being kept, amber when a run is due, red when it is well past due.
Anything the extension does not cover has a one-click Open in BARRY jump into the web UI.
The extension registers BARRY as an MCP server, so an AI assistant can read your runtime — list transports, inspect connections, browse source tables — and author YAML against the same schemas the editor uses.
It can also inspect the data model itself: get_table_schema returns one table's columns, types, nullability and primary key, and query_preview runs a transport's custom SELECT for a small sample. query_source — a read-only SELECT the assistant writes itself — is disabled by default and has to be enabled by an operator.
Ask BARRY offers ready-made prompts from the tree: explain a failed run, explain a schema change, inspect a table's schema, suggest a transport for a table, review a connection. The extension checks that the MCP server is actually reachable before offering them, and can write the MCP entry into your Claude Code configuration for you.
BARRY Chat is a chat panel inside the editor that answers questions about your runtime and renders the answer in the BARRY colours — not as plain terminal text. Open it from the Command Palette (BARRY: Open Ask BARRY), the Building Blocks toolbar, or by setting Ask BARRY to open in the chat (see below).
It runs on Claude Code: you need Claude Code installed and signed in on your machine, and the chat reuses that sign-in — there is no separate API key to manage. The assistant is scoped to BARRY: it answers by calling BARRY's own tools and cannot read your files or run shell commands. Read questions are answered straight away; anything that changes your runtime (create a transport, start or cancel a run) asks you to confirm first.
Ask in plain language — the assistant picks the right tool and the panel draws the result:
| Ask | You get |
|---|---|
"List my transports", "show the schema of dbo.Orders" | a table |
| "How is transport sql-to-adls trending?" | a chart of runs, failures and throughput |
| "How is client sql-vm-01 doing?" | a host-vitals chart — CPU and memory over time |
"What creates dbo.Orders?" | a lineage graph from source through BARRY to the target |
"Generate a transport from dbo.Orders on prod-sql to adls" | colour-coded YAML |
Answers are Markdown with syntax-coloured YAML. On any YAML block, Save as building block files it straight into your workspace as a real transport, connection, trigger or alert; a result about a single transport carries an Open in BARRY ↗ jump to its monitor page.
You choose how Ask BARRY's ready-made prompts are delivered with the barry.ask.launchMode setting: open a terminal running Claude Code (the default), copy the prompt to the clipboard, or open BARRY Chat and submit it there so the answer renders inline. The chat model is barry.chat.model (default sonnet).
You are currently viewing a placeholder content from Vimeo. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from YouTube. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou need to load content from reCAPTCHA to submit the form. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from Vimeo. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from YouTube. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from Bunny Stream. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from Wistia. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More Information