VS Code Extensions
A

ADO Code

by steelburn

AI coding assistant with Azure DevOps integration

Downloads

4

Rating

— (0)

Version

0.5.7

Last updated

Aug 09, 2026

AI coding assistant with Azure DevOps work item integration for VS Code.

Features

  • Fetch work items assigned to you from Azure DevOps (My Work Items + Unassigned trees, hierarchical Epic → Feature → User Story → Task)
  • AI chat assistant with OpenAI-compatible and Anthropic-compatible LLM support
  • Tool calling with agentic loop for autonomous coding tasks (Chat/Plan/Act/YOLO modes)
  • Git-based task workflow: auto-create branch on pickup, update CHANGELOG.md on completion
  • External agent orchestration (Claude Code, Codex, OpenCode, Hermes, Pi, and more)
  • Git worktree isolation: Concurrent agents run in isolated worktrees — no branch conflicts
  • Worktrees view: Dedicated sidebar tree with per-worktree details — run status, agent, dirty/clean files, last commit, ahead/behind — plus Open in Terminal/Explorer, Remove, and Show Agent Output actions
  • Reopen agent output: Finished runs keep a "↗ Reopen" button and right-click → Show Agent Output — the summary panel is never permanently lost after being closed
  • Memory-driven agent hooks: Workspace memory keys agent.before / agent.after run shell commands around every agent invocation; user + workspace memory are injected into every agent handoff prompt
  • Model capability checking: Image paste/attach is disabled for non-vision models, models without tool calling are flagged, and the Configuration page shows a live capability readout. Detection is three layers — per-model overrides (you declare it, it wins) > live gateway data (OpenRouter/Ollama capability fields on /models) > name heuristic (gpt-4o/5, claude, gemini, o1–o9, llama-4, …)
  • Capability overrides: adoCode.llm.capabilityOverrides declares vision/tool support per model id when auto-detection gets it wrong — edited as structured rows in the Configuration page, beating every other detection layer
  • Multi-agent output panels: track multiple agent runs simultaneously with independent streaming output
  • File checkpoints: auto-save before AI edits, restore on demand
  • MCP (Model Context Protocol) support for external tool servers
  • Slash commands with autocomplete (/help, /status, /clear, /mode, /delegate, …)
  • User memory: AI remembers your preferences across sessions
  • Workspace memory: project-specific conventions in .ado-code/memory/ — kept out of git/Docker via auto-ignore
  • .ado-code auto-ignore: The workspace data directory is offered to be added to .gitignore/.dockerignore on load (setting adoCode.ignore.dotAdoCode, default on)
  • Direct mode selection: click Chat/Plan/Act/YOLO to switch modes instantly
  • In-chat confirmation cards: task start, mode switch, and other prompts render as styled cards inside the chat
  • AI choice detection: When the AI asks you to choose, options appear as clickable buttons — clicking one sends the option as a follow-up message; natural-language offers ("Want me to …?") are parsed via an optional cheap model (adoCode.llm.choiceDetectionModel), and long options stack as full-width rows
  • AI merge flow: For finished agent runs, the assistant can commit, push, and open an ADO pull request itself (commit_worktree → push_worktree → create_pull_request) — never force-pushes, never touches protected branches (adoCode.git.protectedBranches, default main/master), refuses to commit failed runs unless it explicitly overrides after reviewing, and can resolve merge conflicts (resolve_pr_conflicts) then re-commit/re-push until the PR is clean
  • Dynamic context window detection: Context window size auto-detected from the /models API endpoint (Ollama n_ctx, OpenRouter context_length, etc.) — live data overrides the hardcoded table; content-aware token counting (code ~3.5, prose ~4.5 chars/token) with expanded model table (27 models) and 128k default
  • Context management: Priority-based conversation truncation replaces naive 20-turn cutoff; real token counter replaces rough char/4 estimation; conversation auto-condenses at 75% context via LLM summarization; token status bar shows accurate model-aware counts
  • Mode-aware system prompt: Dynamic prompt generation includes mode-specific role, available tools, tool guidelines, and environment context
  • MCP server management: Right-click MCP servers in the Status Panel to disconnect, reconnect, or view details Mode quick-cycle: Right-click the Mode item in the Status Panel to cycle through inline/plan/act/yolo
  • Worktree batch cleanup: Remove All Completed action on the Worktrees root node
  • Agent run history: Recent Runs section in the Status Panel shows last 10 completed runs with status icons, timestamps, and context menus
  • Agent details panel: Right-click agent in Status Panel to view name, binary, version, supported modes, and CLI arguments
  • Memory search: QuickPick fuzzy search across all user and workspace memory entries
  • Memory import/export: Export memories to JSON; import with merge or replace option
  • Work item filtering: Filter Work Items tree by state, type, or text search with smart parent visibility
  • Agent auto-review: Git diff automatically reviewed by LLM on agent completion with merge recommendation
  • Worktree diff viewer: Show Changes opens VS Code diff editor for worktree files
  • Generate tasks from user stories: /generate-tasks slash command + context menu action trigger the AI to analyze a user story and create child tasks via the create_work_item LLM tool
  • Task draft editor: When the AI calls create_work_item, an editable markdown tab opens for you to review and modify all fields before the work item is created in ADO
  • Child task delegation: When delegating a work item to an agent, the system checks for child work items in ADO and warns the user — include them in the agent's context or skip them
  • Agent progress in chat: Agent delegation shows start/completion messages in the chat thread alongside the streaming output panel
  • Changelog notification on update: After a version change, a one-time notification offers to show the new version's changelog in a styled webview panel
  • Keyboard shortcuts: Ctrl+Shift+M (cycle mode), Ctrl+Shift+/ (search memories), Ctrl+Alt+R (refresh status)
  • Clean Up After Merge: Removes a merged run's worktree and deletes its branch (only when the PR is actually merged and the branch is fully merged) — from the Worktrees view context menu or an auto-offer after a merged PR
  • Working indicator: A status-bar spinner shows while any LLM turn or agent run is in flight — visible even when the chat view is hidden, with live detail ("thinking…", "tool: edit_file")
  • Full detail view: right-click → "Show Full Details" opens a formatted panel in the editor
  • Work item selection: Selected items show a green badge; deselect via the row context menu
  • Agent delegation injects AGENTS.md project context so all agents understand the codebase
  • Agent summary panel: Completion summaries open in a styled HTML panel with metadata and duration
  • Workspace scaffolding: new project wizard for Node.js, Python, PHP (Laravel), .NET C# with auto-generated files
  • Workspace-to-ADO project binding: prevents working on items from the wrong project

Requirements

  • VS Code 1.85.0+
  • Node.js 18+
  • A git-enabled workspace folder
  • Azure DevOps PAT (Personal Access Token) with vso.work_write scope
  • An LLM API key (OpenAI-compatible or Anthropic)

Extension Settings

Configure in VS Code settings under adoCode.*:

Setting Description
adoCode.organizations ADO organizations (array of { name, url, project })
adoCode.adoOrganization Active Azure DevOps organization name
adoCode.adoProject Active Azure DevOps project name
adoCode.adoServerUrl Optional on-prem ADO Server (TFS) base URL — empty = cloud
adoCode.adoPat Personal Access Token
adoCode.ado.clarificationState State set when clarification is requested
adoCode.ado.warnOnSparseTask Warn before starting tasks with no description/AC
adoCode.llmProvider openai (default) or anthropic
adoCode.llmApiUrl LLM API endpoint
adoCode.llmApiKey LLM API key
adoCode.llmModel LLM model name
adoCode.llm.choiceDetectionModel Optional cheaper model for AI choice-prompt detection (empty = main model, off = regex-only)
adoCode.llm.capabilityOverrides Per-model capability overrides (array of { model, vision?, tools? }) — beats auto-detection
adoCode.mode Tool-use mode: inline, plan, act, or yolo
adoCode.act.toolBudget Max tool calls per act-mode turn
adoCode.act.terminalAllowlist Allowed command prefixes in act mode
adoCode.consent.harmlessAutoApprove Auto-approve harmless (read-only) terminal commands after a timer (default false)
adoCode.consent.harmlessAutoApproveSeconds Seconds before a harmless command auto-approves (default 20, range 1–30)
adoCode.chat.showThinking Show the model's thinking/reasoning text while it processes (default true)
adoCode.git.requireGitRepo Block task pickup outside a git repo
adoCode.git.createBranchOnTaskStart Auto-create feature/ADO-<id>-<slug> branch
adoCode.git.requireCleanTree Warn on branch switch with uncommitted changes
adoCode.git.prOnCompletion Offer to push + create a PR via gh on task done
adoCode.git.protectedBranches Branches create_pull_request refuses to target (default ["main", "master"])
adoCode.changelog.enabled Update CHANGELOG.md on task completion
adoCode.changelog.autoCommit Commit CHANGELOG.md automatically
adoCode.changelog.postToAdo Post the changelog entry as an ADO comment
adoCode.ignore.dotAdoCode Offer to add .ado-code to .gitignore/.dockerignore (default true)
adoCode.sessions.maxPerProject Max chat sessions kept per workspace + project
adoCode.agents.enabled Which external agents may be delegated to
adoCode.agents.verifyCommand Shell command run after an agent finishes
adoCode.agents.autoSelect Default agent when none is specified
adoCode.agents.autoReview Auto-review agent changes via LLM when a run completes (default true)
adoCode.mcp.servers MCP server configurations (array of { name, command, args?, env?, timeout? })

Slash Commands

Type / in the chat input to see available commands:

Command Description
/status <state> Change work item state
/comment <text> Add a comment to the active work item
/pick Select a work item from the list
/assign <who> Reassign the active work item
/clear Clear chat history
/mode <mode> Switch mode (inline, plan, act, yolo)
/undo Restore files to the last checkpoint
/help Show available commands
/delegate [agent] Delegate to an external agent
/resume Resume an interrupted agent session
/remember <what> Remember a preference or instruction
/forget <key> Remove a memory entry

Memory System

User Memory

AI remembers your preferences across all sessions:

  • "Remember that I prefer conventional commits"
  • "Don't use var, only let/const"
  • Use /remember and /forget commands

Workspace Memory

Project-specific conventions in .ado-code/memory/:

  • conventions.md — Coding style, naming patterns
  • architecture.md — Design decisions, rationale
  • gotchas.md — Known pitfalls, workarounds
  • custom.md — Anything else project-specific
  • agent.before.md / agent.after.md — Agent hooks: shell commands run automatically before/after every agent invocation (e.g. npm ci && npm run lint before, npm test after). Output streams to the run panel / is captured into the summary

Memory is injected into the chat assistant's system prompt and into every external-agent handoff prompt ("ADO Code Memory (instructions you MUST honor)"); the executable hook keys are excluded so agents don't re-run them.

.ado-code/ is per-user, machine-local state — the extension offers to add it to .gitignore and .dockerignore on load (see adoCode.ignore.dotAdoCode). To share conventions with your team, prefer documenting them in AGENTS.md.

Agent Worktrees

Each delegated agent run gets an isolated git worktree under .ado-code/worktrees/:

  • The Worktrees view (ADO Code activity bar) lists every worktree with its run status (running/succeeded/failed/interrupted), branch, dirty/clean files, last commit, and ahead/behind
  • Right-click actions: Open in Terminal, Open in Explorer, Commit & Push, Remove, Show Agent Output
  • Branches are named from the ADO work item subject, e.g. feature/ADO-42-fix-login-bug
  • Merge flow: after a run finishes, commit its changes (Commit & Push or the AI's commit_worktree/push_worktree tools), then open a PR (create_pull_request) — the AI is instructed to execute this flow and will stop and report if a step fails
  • Guardrails: two agents can never run on the same work item concurrently; reusing a stale branch warns; Remove refuses silently discarding dirty work (offers Commit & Push, then Remove) and deletes the local branch afterwards only when it is fully merged — commits are never lost

Model Capabilities

The extension infers the active model's capabilities from its id:

  • Vision: models without image support get the chat's image paste/attach disabled
  • Tool calling: models without it show a persistent warning that agentic modes degrade to plain chat
  • The Configuration page shows a live readout ("Capabilities: vision · tool calling") for the selected model and highlights models lacking tool calling

Release Notes

0.5.7

  • Task draft editor: AI create_work_item tool opens an editable markdown tab for review before creating work items in ADO
  • YOLO mode: fully-autonomous mode that auto-approves every tool including shell commands — no consent prompts, no allowlist
  • Consent auto-approve timer: harmless (read-only) terminal commands show a countdown timer and auto-approve on expiry (configurable, default 20s)
  • Show AI thinking: models with reasoning tokens (o1/o3, Claude extended thinking) display their internal reasoning in a collapsible block
  • Improved context size detection: content-aware token counting (code ~3.5, prose ~4.5 chars/token), expanded model table (27 models), better substring matching, default raised to 128k
  • Dynamic context window auto-detection from /models API (Ollama n_ctx, OpenRouter context_length, etc.) — live data overrides hardcoded table
  • Context management with priority-based truncation and auto-condensation
  • Mode-aware system prompts with tool filtering
  • MCP server management (disconnect/reconnect per server)
  • Mode quick-cycle from Status Panel
  • Worktree batch cleanup (Remove All Completed)
  • Agent run history with status icons and context menus
  • Agent details panel (view agent info)
  • Memory search, import/export
  • Work item filtering (by state, type, text)
  • Agent auto-review on completion (LLM-powered code review)
  • Worktree diff viewer (VS Code diff editor)
  • Keyboard shortcuts for common actions
  • Generate tasks from user stories (/generate-tasks + context menu)
  • Agent progress shown in chat thread (delegation start/completion messages)
  • Changelog notification on package update
  • Merge-flow guardrails round 2: commit_worktree refuses failed runs unless allowFailed is set; create_pull_request refuses protected branches (adoCode.git.protectedBranches); new resolve_pr_conflicts tool surfaces git merge conflicts (base/our/their contents) for LLM-driven resolution
  • Child task delegation: agent delegation now checks for child work items and warns the user before including them in the agent context
  • Clean Up After Merge: context-menu action + auto-offer after merged PR removes the run's worktree and deletes its branch (only when the PR is actually merged and the branch is fully merged)
  • Capability overrides: adoCode.llm.capabilityOverrides lets you declare vision/tool-calling support per model id, beating every auto-detection layer — structured editor in Configuration page
  • Live model capabilities: detection is now three layers — user override > live gateway data (OpenRouter/Ollama /models) > name heuristic (now covers gpt-5, o1–o9, llama-4, gemma-3, deepseek-vl, glm-4.5v)
  • Pre-commit hook clears git env vars so test suites don't inherit hook state

0.5.6

  • Dedicated Worktrees view with per-worktree details and Show Agent Output
  • Reopen agent output from the chat panel or Worktrees view
  • Memory-driven agent hooks (agent.before / agent.after) + memory injected into agent handoffs
  • Model capability checking (vision/tool-calling) with UI gating and warnings
  • Model list retrieval in the Configuration page
  • .ado-code auto-ignore for .gitignore/.dockerignore
  • Branch names slugged from the ADO work item title
  • Dismissed agent runs no longer reappear; summary panels dedupe on reopen
  • AI merge flow: commit/push/PR tools for finished agent runs + worktree guardrails (concurrent-run block, stale-base warning, dirty-remove protection, merged-branch cleanup)
  • Working indicator in the status bar (survives chat view being hidden)
  • Background LLM processing survives panel close; pending consent cards re-post on return
  • AI choice detection via optional cheap model; choice buttons now send the option as a message
  • Sessions auto-create on the first message
  • Full Configuration page coverage (organizations editor, choice-detection model, workspace ignore toggle) — fixes MCP-server wipe on save

0.5.5

  • Git worktree isolation for concurrent agents
  • Multi-agent output panels
  • Agent summary in a formatted editor panel
  • Status Panel context menus (memory, agents, worktrees)
  • Work item selection highlighting + deselect
  • AI choice prompt detection

0.5.4

  • In-chat confirmation cards for all prompts
  • Hierarchical work item trees
  • Full detail view in the editor
  • Workspace scaffolding + AGENTS.md generation + git init prompt
  • Workspace-to-ADO project binding
  • MCP servers configuration page

0.4.0

  • Agent reference files (AGENTS.md, playbooks, structure scripts)
  • User memory and workspace memory systems
  • Slash commands with autocomplete
  • Direct mode selection (click to switch)
  • Pre-commit quality gates

0.3.0

  • Checkpoint system for file save/restore
  • MCP integration for external tool servers
  • ADO API version update to 7.1 GA

0.2.0

  • Core architecture: BaseTool, BaseProvider, ToolRegistry
  • 5 file tools: read, search, edit, execute, list
  • Modes system: code, architect, ask, debug
  • Context management and UI components

0.1.3

  • Agent delegation with Claude, Codex, OpenCode, Hermes
  • Task detail review and clarification workflow

0.0.1

Initial release.

Related extensions