Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>corgiNew to Visual Studio Code? Get it now.
corgi

corgi

Corgi

|
97 installs
| (2) | Free
corgi-compose.yml autocomplete + validation, a corgi runner, and an AI assistant (@corgi chat + Copilot agent tools) for VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🐶 Corgi vscode extension 🐶

Reliability Rating Bugs Code Smells

Security Rating Vulnerabilities

Maintainability Rating Lines of Code Technical Debt

Quality Gate Status

Extension link in vscode marketplace

Public docs in corgi docs

Corgi runs your project locally with one command. Describe the stack once in corgi-compose.yml. corgi run clones the repos, seeds the databases, writes the .env files and starts every service. Run all of it, only the databases (corgi db -u), or only the frontend against staging (corgi run --tier staging --services web).

In the editor this extension:

  • highlights and autocompletes corgi-compose.yml
  • runs corgi and its helpers (run, doctor, status, db, tunnel) from the activity bar, status bar and editor
  • browses and runs the showcase examples
  • answers as @corgi in Copilot Chat
  • shows every Claude Code session on the machine (below)

🤖 AI assistant

@corgi in Copilot Chat knows the corgi-compose.yml schema and the CLI:

  • @corgi /new a go api with a postgres db: scaffold a corgi-compose.yml
  • @corgi /explain: explain the current compose file
  • @corgi /debug: run corgi doctor and corgi status, diagnose
  • @corgi how do I add a redis cache?: questions, answered from the docs

Each reply offers one-click corgi doctor / corgi run buttons.

Copilot agent-mode tools: Copilot can call corgi directly: corgi-status, corgi-doctor, corgi-validate, corgi-list (read-only) and corgi-run (asks before starting your stack). So "get my stack running and fix issues" just works. Reference them explicitly with #corgiStatus, #corgiDoctor, etc.

Install corgi

The extension shells out to the corgi CLI. Install it once, either way:

  • in VS Code: Shift+Cmd+P, Corgi install with Homebrew
  • in a terminal:
brew install andriiklymiuk/homebrew-tools/corgi
corgi update      # later versions

Try it on an Expo + Hono example:

corgi run -t https://github.com/Andriiklymiuk/corgi_examples/blob/main/honoExpoTodo/hono-bun-expo.corgi-compose.yml

Claude Code sessions

The corgi daemon keeps a board of every Claude Code session on the machine (corgi agent mode). This extension shows that board in VS Code.

VS Code with the Corgi side bar: usage bars, the inbox, the sessions, a permission prompt in the terminal, the status bar item and a toast with a Go button

The Corgi side bar is one page: Usage (the 5-hour and 7-day limits of every account, as bars), Inbox (the tickets, review requests, comments and red builds the watch found and nobody dealt with), and Sessions (every Claude Code session, with a dot for its state, what it does, its diff and tests, context fill, time since the last change). Click a session to focus its terminal tab or Claude Code panel. Hover a row for its buttons: Allow and Deny when it asks, Fresh when it drifts, Chat, and ⋯ for the rest. The title bar has Run, Stop, Reload and ⋯ with every corgi command in one quick pick.

A session asks, Allow is clicked in the side bar, the session finishes

Status bar: ⌁ 3 · 🔔 1 · 5h 62%. Sessions working, sessions that wait for you, the tightest 5-hour usage limit across accounts. The text turns yellow when a session waits. Hover for the list. Click to pick one.

The status bar item: 3 working, 1 needs you, 5h 62 percent

Toast with a Go button when a session in another window starts waiting. Only the front window shows it (corgi.agentToasts).

Toast: acme-api needs you: Bash go test, with a Go button

Auto-continue when limits reset. A session that stops on a usage limit sits dead until someone notices. Turn on corgi.autoContinue.enabled and corgi sends one message to each limited session the moment its window resets - no second extension, no daemon of its own.

It is off by default, and it never resumes anything quietly: while something is queued, the status bar shows what and how long (api in 47m, or 2 queued, next in 12m). Click it to see the list and cancel a session that should stay stopped, cancel all of them, or turn the whole thing off. A cancelled session is only cancelled for this wait: its next limit queues again.

corgi.autoContinue.message is what gets typed (default continue). corgi.autoContinue.graceSeconds waits past the reset (default 60) because the limit lifts on Anthropic's clock, not this machine's.

Watch what runs for you. corgi agent watch --auto fixes tickets and review comments headless, in the background - a run takes minutes and only speaks when it is over, so the editor gave no sign anything was happening. Now the status bar spins with what it is on (HUM-1338 7m), a progress notification follows each run, and when one opens a pull request it offers to open it. Afterwards the bar reports what came out (1 from the watch). Click it for the list: pick a row to open its PR.

corgi.watchFixes.statusBar and corgi.watchFixes.progress turn each half off.

A row says what is wrong, and offers the way out. A session the daemon thinks is drifting - context nearly full, the same tool failing on repeat, a diff far past its budget - turns red with the reason, and the right-click menu offers Fresh from a handoff: a clean session, same account, picking up from the handoff it leaves. A limited one says when the daemon continues it. Every working row also carries what its branch has built up (4 files · 120 lines) and its last test run (tests ✓ / tests ✗ go test); when another session in the same repository is on the same files the row turns amber with a merge icon and names it - ⚠ api·2 on registry.go - so work crossing streams is seen here, not at merge time. What it has cost sits there too (52.3M, cache reads included), and turns into 52.3M over budget with a red icon once it passes the budget corgi agent cap 50M gave it (corgi 2.20.9+). Bots (corgi 2.20.13, corgi agent bot add …): the view's robot icon opens one - its workspace, its persona, its last conversation resumed - and a bot's row carries the bot's name. The sparkle asks the chief: what should I look at first? → corgi agent ask, a few lines back. A working row has Interrupt - Escape into the session, as you would press it: the turn stops, the session waits, nothing is closed (corgi agent interrupt, corgi 2.20.10+). The menu also has Send…, Allow always, Open pull request and Copy session id. Chat (the speech bubble on a row, or Corgi Agent: Chat with a session beside the code) opens the conversation in a panel next to the editor - what it said, the tools it ran, a box for the next message, Allow / Deny / Stop - through corgi agent transcript and corgi agent send (corgi 2.22+). Select lines in any file and the editor's context menu has Send selection to a session: the file and line, the code quoted, your words after it. And when the file in front of you is one another live session's branch touched, the status bar and the first line say so - api·auth is editing this file - click to bring it forward. A row also says not done · go test when the workspace's done-when check went red after the session stopped, main moved 12 · conflicts in total.ts, try 2 on WEB-88 for a fan-out, and the agent's name for a session that is not Claude Code. In the inbox, an issue has Work on it (also inline): a real session on the ticket, in its own checkout, with the prompt an unattended run would have had - corgi agent watch work ABC-123 - and Work on it in a worktree of its own: the same session on corgi/ABC-123 under corgi_services/.worktrees, so it never shares a checkout with another (--isolate, corgi 2.20.8+; corgi.agentIsolate makes every session from here start that way, and the sessions view's New … in a worktree of its own does it for a blank session). A blocked ticket is red with the reason and Unblock; every item has Ignore (also inline), Assign to me and Move…. A row about a pull request of yours - corgi's run's, a session's, or your own - has ready for review, merge and close (corgi agent watch pr ready ABC-123), and its line says how it stands: ready to merge · checks ✓ · approved, or checks ✗ · changes requested (corgi 2.20.19 reads that from GitHub or GitLab once a round).

An idea page beside the code

Preview with comments (the comments icon in the title bar of any .md, or right-click it in the Explorer) opens the file as a page beside the code: pictures and videos play inline, comments sit on the words, and the same comments show as threads in the file itself - yours, the team's, the agent's. Corgi: Copy the link for the team puts its link on the clipboard; people comment without an account, the agent answers and fixes the page, and the fix lands back in your file. Needs corgi 2.34.

corgi idea new "a scheduling app for a coffee shop" has the agent write one page - the thing you want built, as markdown - and from then on the page is where it gets argued over: people highlight words and comment, the agent answers in the thread and amends the page, and when it reads right, Build it hands it over. The extension puts that page in VS Code.

Corgi: New idea page… asks for the sentence, then what kind of page it is - idea (something to build from nothing), spec (a feature in an existing product), HLD (a high-level design) or RFC (a proposal to decide) - waits while the agent writes (a progress notification; it takes a minute or a few), and opens the page beside the code. A markdown file you already have becomes a page with Corgi: Keep this markdown as an idea page (the editor's title bar on any .md; corgi idea new --from). Corgi: Open idea page picks one from the list (name, type, summary, 3 open · 1 waiting on the agent, the epic it was sent as). The Ideas section of the side bar lists them too, with the type as a pill and the same counts, a + new link, an Edit button for the markdown and ⋯ for the rest.

The panel shows the page as corgi renders it on the left, the comments on the right (below it when the panel is narrow); a thin bar along the top says how far down the page you are, and On this page, above the comments, lists the sections with how many open comments each has - click one to jump, the one in view is marked as you scroll. Select words on the page and a Comment button floats over the selection: your words go in with the quote, so the comment sits on those words - highlighted on the page, tinted by its status - and a click on a card's quote scrolls there. Hover a section heading for + comment, a comment on the whole section. Comment on the whole page is at the bottom, next to Build it, under Hand it to the agent.

Above that, Tickets (N), folded: the agent's split of the page into tickets - number, title, the tracker ref as a link once it has one, its state, after 1, 2 for what it waits on; click a row for the body. Under it, chips for where the page went: 🎯 SHOP-12 · BrewShift, 📄 page 99. When corgi has credentials for Jira, Linear or Confluence, Send to jira / linear / confluence sits next to Build it: it asks for the project or team key (the space key for Confluence) when corgi does not know it, confirms an epic and N tickets will be created in KEY, runs corgi idea send and offers to open what it made.

A comment can carry a link and files: Attach… in the composer opens the file dialog, the picked names show as chips (× drops one) and go along as corgi idea comment --file. The words you highlighted travel with their context (prefix, suffix, heading), so corgi puts the comment on the right copy when the same words are on the page twice.

Each card says who, when, proposal when the agent proposed something, and the status: open, answered (the agent replied without touching the page), changed the page, resolved. Every card ends in a one-line reply box - type, Enter sends (Shift+Enter for a new line), the agent reads it. A proposal nobody answered has Accept (a reply, after which the agent acts) and Dismiss; everything else has Resolve or Reopen. The filter is All / Open / Proposals / Resolved. The agent answers on its own while the corgi dashboard runs (corgi agent up): the panel re-reads the moment the files change, and agent is answering… shows while it works - nothing here waits on it.

Edit markdown (also Corgi: Edit idea page markdown) opens idea.md in a normal editor, and the comments show there as VS Code comment threads on the lines their words are on (page-level ones on the first line), the status in the thread's label, the replies under it. Reply in the thread's box, Resolve or Reopen from its title, or press the gutter's + on a line and write: that is a comment on those lines (the file is saved first, and heading marks and bullets are left out of the quote). With text selected the editor's context menu has Corgi: Comment on this for the idea page. Threads update in place as the agent answers - a fold, or a reply you are typing, stays.

Build it runs corgi idea build under a progress notification and says what came of it - the plan and its tasks, or why it could not start. Open in browser opens the same page in the corgi dashboard; it is the same page on the phone, so a comment left from the train is on the page here when you sit down.

Comments carry your login name; corgi.idea.author sets another. Commands: Corgi: New idea page…, Keep this markdown as an idea page, Open idea page, Edit idea page markdown, Build it (hand an idea page to the agent), Comment on this for the idea page.

Reload (↻ on either view) is a real reload: the daemon rescans sessions and polls every tracker now, and the phone, the menu bar and this editor re-read the same fresh picture.

Hidden workspaces, for showing the editor to someone: right-click a workspace heading → Hide this workspace. Its sessions, inbox items and runs leave the views, the status bar and the toasts. Corgi: Hidden workspaces… brings them back; the list is corgi.agent.hiddenWorkspaces. Nothing on the machine changes.

Commands (Shift+Cmd+P): Corgi Agent: Sessions (pick one to focus), New Claude Code session in this window, Go to the session that needs you, Send text to the front session, Talk to the front session, Auto-continue queue, What the watch worked on, Reload everything, Hidden workspaces….

The sessions quick pick, grouped by workspace

How it works: the extension sets CORGI_VSCODE_WINDOW in every terminal, so a claude started there knows its window. It tells the daemon which terminal tabs and Claude Code panels the window has. When corgi agent focus, corgi-bar or a Stream Deck key asks, it reveals that tab. corgi agent new opens a claude terminal (corgi.claudeCommand). corgi agent send types text into the session's terminal as keystrokes, never as a shell command.

It offers once to set terminal.integrated.tabs.title to ${sequence}, so a tab reads ▲ acme-api NEEDS YOU instead of "claude". Nothing runs until corgi agent has been used on the machine. corgi.sessionTracking: false turns it off. If the Claude Code panel does not come forward, set corgi.claudePanelCommand to the command that focuses it.

The same board is in the menu bar with corgi-bar and on Stream Deck keys with Corgi Agent Deck.

Attribution

Credits:

  • Icon by Freepik
  • Corgi image by catalyststuff
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft