Open Source • Apache 2.0

Parallel multi-agent workflows.
Provable. Observable. Controllable.

Shofer is a new (June 2026) open-source AI coding agent for VS Code with unparalleled parallelism, usability and observability. Specify multi-agent workflows declaratively, and watch them execute as live diagrams — on top of all the standard features you expect from your AI-powered development environment.

Runs locally Any model (BYOM) All the standard features and more
Demo

See Shofer in action

A quick walkthrough of Shofer's parallel tasks, declarative workflows, and visualizations in a real VS Code workspace.

Features

What sets Shofer apart

Provable Multi-Agent Workflows

Specify a whole multi-agent pipeline declaratively in a .slang file — agents, message routing, control flow, a convergence condition, and budgets — then a non-LLM executor runs it.

  • Slang DSL: a deliberately constrained language to express multi-agent interactions
  • Statically analyzable — deadlocks & orphan agents caught before a run
  • Per-agent output contracts + a deterministic, repeatable scheduler
Learn more

Live Agent Visualization

Shofer gives you the tools to introspect, troubleshoot and optimize your multi-agent workflows, with beautiful diagrams right on your IDE.

  • Topology / Sequence / Swimlane diagrams with live runtime overlays
  • Latency/Reliability breakdowns: active-time donut + per-tool breakdown across the whole tree
  • Filterable per-session Logs
  • Export the complete wire protocol for any session to a .json file for offline analysis
Learn more

Codebase memory that stays in-sync

Long-lived memory you can talk to: a persistent, read-only Assistant Agent that accumulates codebase knowledge across sessions — backed by the local semantic index. Other sessions just ask it instead of reloading context.

  • Runs on a low-cost model with a large context window
  • KV-cache friendly and Read-only — with powerful code exploration tools
Learn more

Fast Code & Git Indexing

A semantic index over your code and your entire git history — kept fast because it's incremental, and computed and stored on the backend of your choice.

  • Semantic code search — AST-aware chunking via tree-sitter
  • Git-history indexing — git_search finds why & when a change was made
  • Incremental — only changed files/segments are re-embedded
  • Bring your own backend — choose the embedding model and vector store
Learn more

Parallel and Asynchronous

Parallelism end to end: run many independent sessions at once in a tree, and asynchronous MCP tool calls (fire-and-forget) instead of blocking the loop.

  • Many independent sessions in a tree — switch without losing state
  • Background subtasks with parent-child communication + message queuing
  • Fire-and-forget call_mcp_tool_async with call_id tracking
  • wait_for_mcp_call all/any strategies; delete-on-read trimming
Learn more

Hard Cost Caps

Set a USD budget per session. When the limit is hit, the agent loop pauses or aborts — session-level protection against runaway autonomous loops, across any provider.

  • Per-session USD limits
  • Automatic halt soon after the moment a threshold is crossed
  • Whole-tree cost & token rollups in the header
Learn more

Excellent Git Worktree Support

Run parallel sessions on different branches in one VS Code window. No more stash/commit gymnastics or accidental overwrites — and each worktree is kernel-sandboxed.

  • UI-driven create, switch, and delete operations
  • Each session scoped to a specific worktree branch
  • Automatic .worktreeinclude for gitignored files
  • Kernel-level (Landlock/bwrap) command sandboxing confined to the worktree
Learn more

6 Built-in Modes. Infinite Customizations.

Code, Architect, Debug, Code Search, Web Search, and Reviewer out of the box — each with scoped tool access. Define your own modes via .shofermodes to match any workflow exactly.

  • Fine-grained tool-category control (read, write, execute, mcp, …)
  • File-scoped restrictions (e.g. write only .md files)
  • Precise customization on what goes into the system prompt
Learn more

Git submodules, changelist, LSP support, and overall UI/UX Polish

Thoughtful details that make the agent feel like a first-class development tool — session changelog, agent self-assessment, native git submodule support, LSP-powered refactoring, and MCP-aware auto-approval.

  • Working changelist: see every file changed in a session at a glance
  • Agent self-assessment & rating after each task
  • Git submodule support — works out of the box, no configuration needed
  • Full set of input capabilities — receive user input using check/radio boxes, dropdowns, etc
  • Auto-approval categories extend to MCP tools
Learn more
Workflows

Built-in multi-agent workflows

Capture a multi-agent collaboration pattern in an .slang file (or ask the agent to create it for you). Shofer comes with two standard workflow patterns (see below). Create your own in .shofer/workflows/ and share it with the community.

Collaborative Debug workflow
🐞

Collaborative Debug

Two developers independently triage, converge on the root cause through peer review, get user sign-off, then one fixes while the other reviews — iterating until both are satisfied.

Agents: Orchestrator + Developer1 + Developer2 Learn more
Implement a Feature workflow
🔧

Implement a Feature

The Architect designs, you approve, then Developer implements while Reviewer inspects — iterating until done. Full design → implementation → review pipeline.

Agents: Architect + Developer + Reviewer Learn more

Workflows are specified in .slang — a declarative language for multi-agent orchestration. Ship custom workflows with your project or install them globally.

Read the Workflows user guide
Feature

Live Agent Visualization

Open WorkflowView and the whole agent tree becomes legible. A topology graph shows the current round — who's running and who they're sending to or waiting on. A sequence timeline replays every message, escalations to @Human included. Per-agent swimlanes mark exactly which step each agent is on, a Stats tab breaks active time down by phase and tool across the entire tree, and a filterable Logs stream shows everything that happened. The same diagrams render for any .slang file in an editor tab.

Read the full docs
Feature

Codebase memory that stays in-sync

A long-lived, read-only companion agent accumulates codebase knowledge as you work, backed by the local semantic index (RAG). Other sessions query it instead of re-reading and re-paying for the same context — so a warm, shared context window serves many cheap queries.

Read the full docs
Sessions querying the shared Assistant Agent context
Sessions querying the shared Assistant Agent context
Feature

Parallel and Asynchronous

Parallelism runs through the whole product. Run many independent conversations at once in a task tree — switching freely without losing state, queueing messages while an agent works, and fanning out background subtasks that report back to their parent. Both A2A and MCP tool calling are fully asynchronous, so that your agents can do more work in the same amount of time.

Read the full docs
Parallel MCP calls tracked by call_id
Parallel MCP calls tracked by call_id
The task tree with several tasks running at once
The task tree with several tasks running at once
Feature

Hard Cost Caps

Give a session a hard USD budget. Shofer tracks spend live across the whole task tree and pauses or aborts soon after the moment the cap is crossed — so a runaway autonomous loop can't quietly burn your balance.

Read the full docs
A per-session USD budget with live spend tracking
A per-session USD budget with live spend tracking
Feature

Excellent Git Worktree Support

Keep parallel sessions on separate branches in a single VS Code window — no stash dance, no extra windows. Create, switch, and delete worktrees from the UI; each session is scoped to its branch. Each worktree is a security boundary: shell commands run inside an OS-level sandbox that confines writes to the active worktree. (available in Linux only)

Read the full docs
Worktree selector with per-session branch isolation
Worktree selector with per-session branch isolation
A shell command blocked from writing outside the active worktree
A shell command blocked from writing outside the active worktree
Feature

Git submodules, changelist, LSP support, and overall UI/UX Polish

  • A session changelog shows every file modified at a glance — no more git diff to remember what happened.
  • Each task ends with an agent self-assessment and rating, giving you a quick signal on quality.
  • Git submodules work out of the box — no configuration, no workarounds — Shofer's code-indexer, git-history watcher, and file watcher descend into nested repos automatically.
  • LSP integration lets the agent rename symbols and find all usages across the workspace via the language server.
  • And the auto-approval system extends to per-MCP-tool toggles and categories, so you can keep fast iteration with fine-grained control.
Read the full docs
Modes

6 built-in modes. Infinite customizations.

Each mode has scoped tool access. Create your own via .shofermodes files — project-level or global.

💻

Code

Writing, modifying, and refactoring code. Broadest tool access.

🏗️

Architect

Planning and designing before writing code. Read + markdown-only writes.

🪲

Debug

Troubleshooting errors and diagnosing root causes.

🔎

Code Search

Searching the codebase for functions, patterns, and context. Read + execute only.

🌐

Web Search

Browsing and extracting web content. Browser + MCP.

👀

Reviewer

Reviewing code for bugs, security issues, and design problems. Diagnostic only.

Create custom modes for your specific workflows — project-level or global.

Learn how to create custom modes
Migration

Already using another AI coding tool?

One-command migration from GitHub Copilot and Claude Code — and a clean path from OpenCode. Your configuration, modes, and rules come with you.

Migrating from GitHub Copilot

Shofer offers everything Copilot does and much more — with full privacy, model autonomy, and granular control over every aspect of your AI coding experience.

/migrate-from-copilot Full guide ↗
Aspect Shofer Copilot
Data Processing 100% local execution — no remote server processes your workspace Cloud-proxied through Microsoft/GitHub infrastructure
Network Autonomy Fully operational in air-gapped environments with local models Requires active internet and constant telemetry handshake
Agent Orchestration Declarative Slang execution graph — deterministic message routing, control flow, and budgets, plus spawn/monitor/converse with child agents Parallel Cloud Agents (isolated GitHub Actions envs) + third-party agents — orchestrated via remote envs/hooks, not a developer-authored graph
Cross-Session Memory A persistent local Assistant Agent plus an AST/git embedding index that never expires and stays on your machine Copilot Memory — an automated, repo-scoped cloud memory graph that expires after ~28 days (+ a local VS Code memory tool)
Async MCP Fire-and-forget async tool calling with parallel execution Synchronous request-response — entire loop blocks on tool calls
Cost Control Per-task / per-session hard USD caps with automatic agent halting No per-task hard USD cap that halts an agent mid-loop
Pricing Free Open Source (Apache 2.0) — pay only for your own API tokens, or $0 fully local Usage-based credit-drawdown billing (Free / Pro / Pro+ / Max) with metered overages

Migrating from Claude Code

Keep the agentic power, but bring any model (including local/offline), a graphical cockpit, deterministic Slang Workflows, semantic code & git-log search, native worktrees, and hard cost caps.

/migrate-from-claude Full guide ↗
Aspect Shofer Claude Code
Primary Surface Native VS Code GUI cockpit — task tree, live diagrams, cost panels — plus a headless CLI Terminal-first CLI, with companion IDE and web/desktop apps
Model Ecosystem Bring-Your-Own-Model — Anthropic (same Claude models), OpenAI, OpenRouter, xAI, Bedrock, or local via Ollama/LM Studio Anthropic Claude lineup (Mythos, Fable, Opus, Sonnet, Haiku)
Offline / Air-Gapped Fully operational offline with local models Requires connectivity to Anthropic's API
Source Availability 100% open-source (Apache 2.0) — inspect every tool hook and prompt Proprietary agent (open SDK, closed core)
Multi-Agent Orchestration Declarative, deterministic Slang Workflows — repeatable, inspectable, and visualized Imperative subagents the model spawns at runtime, plus dynamic workflows expressed in Javascript
Agent Visibility In-editor agent graph, sequence/swimlane diagrams, a Stats breakdown, and filterable Logs Terminal-first with /agents and /tasks, plus a companion Desktop app (parallel tasks, diffs, PRs)
Autonomy & Sandboxing Kernel-level Landlock/bwrap write sandbox + native worktrees — a deterministic guarantee, not a classifier Auto Mode risk classifier + /batch worktree orchestration; safety via permission prompts/classification
Semantic RAG (code + git) Precomputed semantic index over code and the entire git log; git_search answers why/when by concept Dynamic agentic search + Auto Memory; no persistent semantic embedding index
Cost Control Hard per-task / per-session USD caps that halt runaway loops Per-session reporting

Migrating from OpenCode

Same open-source, model-agnostic philosophy — plus a graphical VS Code cockpit, parallel orchestration, semantic code & git-log search, native worktrees, and a deterministic multi-agent Workflow engine. Your AGENTS.md rules carry over directly.

/migrate-from-opencode Full guide ↗
Aspect Shofer OpenCode
Primary Surface Deeply VS Code-native GUI cockpit — task tree, live diagrams, cost panels — plus a headless CLI Multi-surface & editor-agnostic — TUI, Desktop app, and IDE extensions (VS Code, Cursor, JetBrains, Zed, Neovim, Emacs) over the open ACP standard
Philosophy Open-source (Apache 2.0), model-agnostic, local-first — same foundation Open-source, model-agnostic, local-first
Task Visibility Graphical task tree + Topology / Sequence / Swimlane diagrams, Stats, and Logs Terminal transcript / TUI panes
Multi-Agent Orchestration Declarative, deterministic Slang Workflows — the control flow itself is declarative, repeatable, inspectable, and visualized Declarative custom agents in Markdown (.opencode/agents/) with per-agent permission locking; routing imperative at runtime
Parallelism Many concurrent tasks and full workflow trees, with background subtasks and async MCP Specialized subagents (general / explore / scout) run isolated parallel background tasks
Code Understanding Precomputed semantic index over code and the entire git log; git_search answers why/when by concept Deep real-time LSP integration — feeds live compiler diagnostics & type errors back to the model
Worktrees & Sandboxing Native worktree UI + OS-level command sandboxing (Landlock/bwrap) Manual git worktree; permission prompts
Community

Built in the open, for everyone

Shofer is community-driven and open source (Apache 2.0). Join us — contribute code, share ideas, or just say hi.

Ready to take a ride? Shofer (from the French chauffeur — driver)

Install the VS Code extension and start coding with the full power of AI — on your terms, with your models, under your control.