Start with a conversation about your project. Move to a single-agent task when you want a bounded result, then explore teams or repeatable workflows when useful. You do not need to configure agents, workflows, or a server to begin.
The project's README from github.com/joeaelkhoury/SwarmLab. As one markdown file: README.md.
An AI coding assistant and teams of agents inside VS Code—with visible steps, reviewable edits, and command approvals.
Start with a conversation about your project. Move to a single-agent task when you want a bounded result, then explore teams or repeatable workflows when useful. You do not need to configure agents, workflows, or a server to begin.

This release is prepared for distribution as an installable VSIX, documentation, and Python client/examples. Extension source code will follow in a later update. Download assets will be available on GitHub once the release is published.
Created by Joe El Khoury. Starting with 0.41.0, Swarm Lab is released under the source-available Swarm Lab License: free to install and use, but copying, redistributing, or republishing it (or a modified version) requires the author's written permission. The only official downloads are the GitHub Releases above. See NOTICE and how to cite.
You need:
Download the VSIX from Releases. In VS Code, open Extensions → ⋯ → Install from VSIX… and select the download. The publisher ID is joe-el-khoury; it is different from the GitHub account name.
Alternatively, with VS Code's command-line launcher:
code --install-extension swarm-lab-0.42.4.vsix
Then:
No TypeScript source checkout or npm build is needed to use the installed extension.
Open Setup, choose a provider, save settings, then run Test connection and Test tool calling.
| Choice | What you need |
|---|---|
| Anthropic API | Your Anthropic key and exact model IDs |
| OpenRouter | Your OpenRouter key, credits, and model IDs |
| OpenAI-compatible API | The service's API base URL, models, and any required key |
| Ollama / LM Studio | A running local API server with a model loaded |
| VS Code language models | Access through VS Code; a subscription may be required |
| Offline mock | No key; scripted demonstration responses, not real reasoning |
Use Set API key for provider credentials; extension keys use VS Code Secret Storage. Never paste keys into tasks, rules, screenshots, or shared configuration. Set the Lead model and Worker model to models offered by your provider. Using the same model for both is fine initially.
Local model software and models are not installed by Swarm Lab. Start that service first. Hosted providers may charge separately. If native tool calling fails, try Tool calling → Text, or choose a model that supports tools.
In Chat, start read-only:
Explain what this project does. Read the relevant files first, name the files
you used, and do not change anything.
Next, ask for one small improvement:
Find one missing edge-case test. Propose the test and explain why it matters.
Ask before running commands. Do not change unrelated files.
A good task states the goal, relevant files, constraints, and a test for success.
Under every answer: Save as PowerPoint · Word · PDF · Excel · More… (HTML, Markdown, text, notebook, JSON, CSV).
Choose a template, edit the text and see the slides before saving; slides stay fully editable in PowerPoint.
/report, /slides and /analysis <topic> ask for a complete document; /ste writes in ASD-STE100 Simplified
Technical English and /stecheck checks it. Documents guide.
A chat is a conversation. A run has a task, an organization of agents, limits, and a result/usage report.
| Mode | Organization | Try it for |
|---|---|---|
| Single | One agent | A focused fix or explanation |
| Tree | Lead with temporary sub-agents | Independent investigations |
| Swarm | Lead with persistent workers and a shared board | Work requiring shared findings |
| Graph | Your configured workflow controls transitions | Repeatable plan, fix, test, review |
More agents do not automatically mean better answers or lower cost. Start small. Graph needs a configured workflow. Chat can suggest an organization, but its choice is not guaranteed optimal. Read the mode-selection guide.
| Area | Purpose |
|---|---|
| Chat | Conversation, attachments, history, and proposed actions |
| Tasks | One chat, many tasks: each runs on its own thread; Active, Up next, Ready for review |
| Make | Start a report, a presentation, an analysis or a task from a card |
| Run | Start runs; inspect steps, agents, results, and usage |
| Setup | Providers, models, limits, permissions, and optional routing/search |
| Project | Saved rules, requirements, plans, and bounded evidence |
| Agents / Prompts | Specialist instructions and permissions |
| Workflow | Create and save graph workflows |
| Tools | Optional MCP integrations and skills |
| Server | Start/connect a server, submit jobs, review remote approvals |
| Check | Validate setup and diagnose configuration problems |
| Bench | Compare repeatable tasks and configurations |
Code maps rely on your project's VS Code language support. Search indexing, decision models, automatic model routing, MCP, and Bench are optional—not setup prerequisites.

/stereport <topic>. Notes with page numbers, sections with
citations and diagrams, an STE check and repair of each section, references from the files' own details./livedeck <topic>. The plan, then the slides one by one; change any slide while it is
written. Save as PowerPoint with speaker notes./screenshot site/index.html phone./build <file> <what>: a whole file planned and written part by part; an HTML page is checked in the browser
(screenshot and console errors) and fixed before you approve it.See the changelog and the manual (sections 40 to 47).
Python users can use the native server launched from the installed extension's Server tab; no extension source checkout is required. Docker is optional. A reachable server still needs a configured provider, permissions, and repositories. VS Code language models cannot serve as a standalone server provider.
Download the separate Python starter files together; installing the VSIX does not install them. Start with offline payload previews, then submit a small job to your configured server. A mock can demonstrate the interface, not prove a real fix.
Python workflows covers downloads, server setup, credentials, real command-line options, approval exits, and report handling. The complete four-mode repair demo includes a tiny broken fixture, baseline Git setup, exact preview/submission commands, and independent single/tree/swarm/graph runs. Offline checks are not live-model verification.
"environment": "auto"):
dependencies installed, a Python virtual environment, a container of any image, a virtual screen for VS Code
extension or browser tests. Every command of the job then runs inside it. Try one without agents:
swarm-lab env . --test. Environments guide.pip install ./clients/python, then from swarmlab import SwarmLab, Agent, Workflow, Environment:
every job option as a keyword, workflows built and checked in Python and saved on the server, approvals answered
by your own functions, the same code with a server or without one (SwarmLab.local(repo)).
Python library guide./studio on the server: pick one of 20 ready workflows (software, data,
research, business, banking: train, validate, put in production and monitor models, credit memos, alert reviews,
reconciliations), fill in a form, follow it, answer your inbox, read the results with charts. Build your own with
emoji steps (🤖 agent, ✅ check, 📓 notebook, 🎯 numbers gate). Notebooks run natively, cell by cell; schedules run
workflows again by themselves. Workflows guide./v1/workflows, with their agents and environment), /v1/capabilities,
/v1/validate, and swarm-lab run that takes the API's job JSON and needs no configuration file.If something fails, open Check → Check everything and View → Output → Swarm Lab. For an issue, include your extension version, editor/OS, provider type, sanitized error, and reproduction steps. Never include keys, sensitive prompts, or private logs.
| Command | What it does |
|---|---|
/single <task>, /tree <task>, /swarm <task>, /graph <task> |
Start a run; follow it in the Run tab |
/remote single|tree|swarm|graph [--no-repo] [--repo NAME] [--files|--no-files] [--workflow NAME] [--agent NAME] <task> |
Run it on the Swarm Lab server; the answer and its files come back to the chat |
/ask <agent> <question> |
Ask an agent of the last run |
/review [working|<branch>] |
Review your changes: the working tree or a branch |
/task <title>[: instructions] |
Start a task on its own thread (Tasks tab) |
/task later <title> |
Put a task in Up next, waiting for your go-ahead |
/tasks |
Open the Tasks tab |
/report <topic>, /slides <topic>, /analysis <topic> |
A quick document in one answer |
/ste [procedure|description|rewrite|report] <topic or text> |
Write in ASD-STE100 Simplified Technical English |
/stecheck |
Check the last answer against ASD-STE100 |
/stereport [sections] <topic> |
A long ASD-STE100 report from your attached files, with citations, diagrams and references |
/livedeck [ste] [slides] <topic> |
A presentation you can change while it is written; Save as PowerPoint |
/build <file> <what> |
A file planned and written part by part; an HTML page is checked in the browser and fixed |
/screenshot <path or address> [phone] [window] |
A screenshot of a workspace file, a local server or a web page |
/remember <fact> |
Save a fact to memory |
/new |
Start a new chat |
/help |
List the commands |
@ |
Attach a file, or send the message to one of your agents |
You can also just ask in the chat, for example put these on the task list: … or take a screenshot of site/index.html at phone size.
Set these in the chat settings drawer, or in Setup → Chat and tasks. The ⚡ Auto button next to Send switches Work on its own.
| Option | Choices | Default |
|---|---|---|
| Work on its own (⚡ Auto) | Off · Edits (edits apply, commands ask) · Everything (no review; continues up to 3 times at the step limit). Anything that cannot be undone still asks. | Off |
| Cited answers | Off · Code (file and lines) · Everything (also pages, slides and web pages). Each citation is checked: ✓ read · ⚠️ check it · ✕ not found | Off |
| Show tokens live | On · Off | On |
| Helpers for smaller models | Off · Recommended (models in your list) · All models; each helper can be switched on or off | Off |
| File details to the model | What a citation needs · All details · None | What a citation needs |
| Record answer outcomes | On · Off (no message text, numbers only) | On |
| Browser | Agents can use the browser · Internet pages too · Browser path | On · On · empty (found automatically) |
/build |
Parts (2–16) · Browser checks for HTML (0–3) | 8 · 1 |
/stereport |
Sections (3–12) · Repair passes (0–2) · Web pages as sources · Pages to read (0–6) · Author | 6 · 1 · On · 3 · empty |
/livedeck |
Slides (4–25) | 10 |
| Tasks | The assistant can create tasks · Tasks working at once (1–4) | On · 1 |
Author: Joe El Khoury · License: Swarm Lab License (source-available; no redistribution without permission). Copyright © 2026 Joe El Khoury. Bundled third-party components keep their own licenses.
Start with a conversation about your project. Move to a single-agent task when you want a bounded result, then explore teams or repeatable workflows when useful. You do not need to configure agents, workflows, or a server to begin.