Skip to main content

Quickstart

This guide gets you from zero to a running goal in the Control Tower.

1. Install the extension

Install NodalMerge Studio from the VS Code Marketplace: Install from the VS Code Marketplace → Or search for NodalMerge Studio in VS Code’s Extensions panel (Ctrl+Shift+X / Cmd+Shift+X). The extension bundles the Studio host — no separate install of the nodalmerge or nodalmerge-studio repos required; everything the host needs is pulled from NuGet automatically.
Prerequisites: VS Code 1.90+ and the .NET SDK 10.0. The host ships with the extension, but it’s a .NET process — it needs a .NET runtime on the machine to start.

2. Open the Control Tower

Two ways in:
  • Command paletteCtrl+Shift+P / Cmd+Shift+P, then run NodalMerge: Open Studio.
  • Side panel — click the NodalMerge icon in the Activity Bar. This opens a quick-launch panel (“Agent orchestration, task management, and human review — backed by a persistent, branchable artifact graph”) with five buttons: Open Studio, Open Insights, Start Local Runtime, Restart Studio Host, and Show Output.
Either one opens the Control Tower — a tabbed shell with Goal Workspace, Model & Agent Studio, Activity Center, Review, Pathways, Insights, and Projection Snapshots. (The extension’s tab labels have moved on a bit from a couple of names still used elsewhere in these docs — e.g. the merge-review gate is called “Decision Convergence” on this page and in the UI reference; the extension itself labels that tab Review.) Side panel quick-launch (left) and the Control Tower shell with its full tab bar (right) You can also reach NodalMerge: Open Studio and the rest of the command set from the command palette directly: Command palette filtered to "noda", showing the full NodalMerge command set

3. Configure an agent profile

Before you can run a goal, define at least one agent profile in VS Code settings — this maps agent roles to an LLM provider and model:

Choosing a provider

provider takes one of five values, in two shapes: The first three call an HTTP API. The last two don’t: they route the role to a harness executor that runs the vendor’s own CLI as a subprocess, so prompting, context management, compaction, and retries stay with the harness while Studio keeps the goals, work units, leases, review, and replay. CLI providers take no baseUrl, and apiKeyRef is optional — leave it blank to use the machine’s ambient CLI login, or store a key to have it injected as ANTHROPIC_API_KEY / OPENAI_API_KEY for headless use. A blank model means the CLI’s own default. So the shortest possible profile is:
If claude already works in your terminal, that profile already works. Store API keys via VS Code’s SecretStorage (Ctrl+Shift+P → “Preferences: Configure Runtime Arguments”, or through the Model & Agent Studio panel’s Profiles tab). Model & Agent Studio, Profiles tab, with the Add Profile form filled in

4. Run your first goal

In the Goal Workspace topbar:
  1. Type a goal, e.g. “Add input validation to the signup form”
  2. Leave Exploration Strategy at its default (single-agent) and Review: Human Required (the default review policy)
  3. Click ▶ Run
Watch the Decision Tree populate as the orchestrator plans and workers execute. Click any node to load its timeline into the Decision Lens.

5. Review and approve the proposal

When a worker finishes, it submits a merge proposal, which routes to Decision Convergence for review (or shows up under Activity Center’s “Pending Decisions”). Inspect the diff, evidence, and rationale, then Accept Decision and Apply Decision. Review (Decision Convergence) in proposal review mode: rationale, split diff view, evidence, and the Accept/Reject/Apply action row

Next steps