Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>AIWingman TrialNew to Visual Studio Code? Get it now.
AIWingman Trial

AIWingman Trial

AIWingman

|
63 installs
| (0) | Free
Multi-provider AI assistant for code development. Chat, explain, refactor, test, and review code with OpenAI, GitHub Copilot, AWS Bedrock, or GitLab Duo.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AIWingman VS Code Extension

AIWingman is a multi-provider AI assistant for software engineering workflows in VS Code.

Requires VS Code 1.101.0 or newer, the first stable release with a Node.js 22 extension host. TypeScript remains on major version 5. Development uses pnpm 12.10.1; dependency overrides and build-script approvals are configured in pnpm-workspace.yaml.

It supports chat, refactoring/help commands, agentic code-edit workflows, merge review, validation pipelines, repo-awareness context attachments, and Office document workspaces.

Latest Feature Updates

1) AI Service Profiles in Settings (new)

  • Added Save Profile in the Chat Settings menu.
  • Saves current AI service workflow configuration (service/model/tokens/reasoning and related service settings).
  • Default profile name behavior:
    • Use selected model when available.
    • Fallback to selected service (for example, GitLab Duo).
  • Users can rename profiles.
  • Users can load saved profiles directly from Settings for fast switching.
  • Supports up to 50 profiles.
  • UX behavior:
    • Optimized for common use (1-5 profiles).
    • When profile count is > 5, the menu shows profile count and enables search/scroll.

2) Chat Settings and Mode Controls

  • Ask mode and Agentic mode are available directly in Chat Settings.
  • Fast in-chat selectors for:
    • AI service
    • model
    • context window

3) Validation Pipeline Workflow

  • Built-in setup/reconfigure flow for validation commands.
  • Supports lint/test/build style pipelines.
  • Optional auto-run after edits.
  • Optional repair loop with configurable max repair attempts.

4) Repo Awareness Context Attachments

  • Toggleable context attachments from the chat UI:
    • File Index
    • Repo Map
    • AST Context
  • Includes token-cost preview support and attachment token estimates.

5) Merge Review Workflow

  • Dedicated Merge Review workflow with:
    • chunk planning
    • finding aggregation
    • report writing
    • pinned file support
    • optional skeptic/full-file pass controls

6) Multi-Provider AI Support

  • OpenAI / OpenAI-compatible endpoints
  • VS Code Language Model API models, including GitHub Copilot and models registered by other extensions
  • AWS Bedrock
  • GitLab Duo (REST/GraphQL mode support)

OpenAI-Compatible Proxy Troubleshooting

Set the API URL to the proxy's base URL (for example, https://proxy.example.com/v1), not its /models or /chat/completions route. AIWingman appends those routes for model discovery and chat. Query parameters on the base URL are preserved for both requests. If your proxy requires a query parameter such as code, use the URL supplied by your endpoint administrator, including that parameter. Treat authentication query values as credentials and do not share them in logs or bug reports; the API URL is stored in VS Code settings, not secret storage.

A response such as 500 ... ('query', 'code') ... Field required means the endpoint reports a missing query parameter. It does not by itself establish that the API key is invalid. Check the configured URL and the proxy's required parameters with its administrator. You can enter a model ID manually if model discovery fails, but this does not bypass proxy requirements for chat requests.

VS Code Language Models in Agentic Mode

Select the VS Code Language Models service, then use Select chat model to choose a model from any installed provider. The picker includes the provider and model ID. Select Agentic mode and the appropriate pinned-file or workspace scope in Chat Settings.

AIWingman sends its private tool schemas through vscode.lm, executes structured tool calls with its existing handlers, and returns native tool-result messages to the selected model. It does not register tools in built-in Copilot Chat or delegate the agent loop to Copilot. Existing file-scope restrictions and command execution policies still apply. Ask mode remains available for text-only models.

The selected model's provider must support tool definitions, structured tool-call responses, and tool-result messages. A model appearing in the picker does not guarantee tool support; failed agentic turns run a capability check to help diagnose the provider. Copilot authorization and usage limits still apply to Copilot-hosted models. Tool schemas and returned file/service content are sent to the selected model provider. The copilot service and copilotChatModel setting names remain unchanged for saved-profile compatibility.

AWS Bedrock

Run AIWingman: Select AI Service → AWS Bedrock and choose how to connect:

  1. Bedrock API key (recommended) — generate a short-term (up to 12 hours) or long-term key in the Bedrock console under API keys, for the same region you enter here.
  2. AWS access keys — access key ID and secret access key. Temporary (ASIA…) credentials also need their session token.

Credentials are kept in VS Code secret storage, never in settings.json. AIWingman then lists the inference profiles and on-demand text models your account can use; pick one or enter a model/inference-profile ID manually. The identity behind the key needs bedrock:InvokeModelWithResponseStream (plus list permissions for the model picker) and access to the chosen model.

Rotating credentials

With Bedrock selected, open Settings > AI Configuration > Update Bedrock Credentials, or run AIWingman: Update Bedrock Credentials. This replaces the current authentication method's API key or access-key/secret/session-token set without repeating region, model, reasoning, or token setup. Cancel leaves credentials unchanged. Subsequent requests, including the next round of an already-running workflow, use the updated credentials; an in-flight request cannot be re-authenticated.

Prompt caching in chat and workflows

Use Settings > AI Configuration > Advanced Configurations > Prompt caching (or AIWingman: Select Bedrock Prompt Caching):

  • Auto (default): cache the system prompt and context, plus the previous and newest user/tool-result prefixes. Long tool workflows can reuse the previous round's prefix while extending the cache for the next round.
  • System prompt only: cache system instructions and attached text context, without conversation checkpoints.
  • Off: do not request explicit caching.

Checkpoints are sent only for supported Claude and Nova model IDs. Keep instructions, tool definitions, and pinned context stable between rounds: changing a prefix prevents its reuse. Bedrock applies model-specific minimum prefix sizes (typically 1,024 or 4,096 tokens for Claude) and cache lifetimes (five minutes by default); short prompts may not be cached. A checkpoint is not a guaranteed cache hit, and cache writes can cost more than ordinary input tokens. This uses Bedrock's server-side cache, not a local response cache. Enable aiWingman.debugMode to see Bedrock prompt cache: read … / wrote … token counts in extension-host debug logs; only positive read counts confirm a cache hit. See AWS prompt caching.

Advanced inference settings

Bedrock inference tuning is opt-in. Open Settings > AI Configuration > Advanced Configurations to review the selected model and choose inference parameters, an output limit, and prompt caching. Service and model selection never open this advanced flow automatically.

The webview recommends a parameter contract using known model IDs:

  • Reasoning effort for GPT-OSS 20B/120B (Low/Medium/High), or Adaptive thinking for Claude Sonnet 4.6 and Opus 4.6–4.8.
  • Thinking budget for Claude 3.7, Sonnet/Opus 4, Opus 4.1, and Claude 4.5: 1,024 / 4,096 / 8,192 tokens, capped below Max Output Tokens. Thinking counts toward output; manual-budget models need a limit above 1,024 tokens. An unset output limit uses 8,192 when thinking is enabled.
  • Temperature for explicitly supported sampling models, including listed Mistral models and Nova v1. Low/Medium/High means 0.3/0.6/0.9, not thinking.
  • None / Off for unknown models, opaque custom/application inference profiles, NVIDIA Nemotron, and Mistral Magistral. A model being reasoning-capable does not establish an adjustable reasoning API contract.

These are recommendations, not restrictions on your custom model names. Enable the User Override checkbox to select any exposed contract: temperature, reasoning effort, adaptive thinking, thinking budget, or none. The selected contract is sent regardless of model-ID recognition. Confirm compatibility with your AWS/model administrator; an incompatible choice can cause inference errors. Explicit temperature overrides are not silently dropped if AWS rejects them. The checkbox does not bypass caching compatibility checks.

Click Save configurations to apply changes to chat and workflows; closing the panel without saving does not apply edits. Selecting a model resets tuning to Off and the contract to automatic recommendations, without another prompt. Every contract includes Off (no overrides): it omits optional thinking, reasoning effort, and temperature parameters. It does not force a model to stop internal reasoning; model defaults still apply. Max Output Tokens and caching are independent settings.

The separate aiWingman.bedrockInferenceLevel setting defaults to off; aiWingman.bedrockTuningOverride defaults to auto. Service profiles save all advanced settings: inference level, User Override contract, prompt caching, and Max Output Tokens (including 0 for no explicit limit). Loading a profile replaces these settings rather than merging with the previous profile. Legacy profiles without these fields restore Off, automatic contract selection, Auto caching, and the default 8,192-token output limit. The inference level does not inherit the old shared reasoning setting. Recommendations use a conservative model-ID capability list, because AWS model metadata does not expose supported tuning parameters. This applies to the existing Bedrock Runtime/Converse integration, not Mantle endpoints. Temperature is never sent alongside native thinking/reasoning overrides. Signed Claude thinking blocks are replayed unchanged during tool workflows, not displayed as chat text.

Reasoning Level remains available for OpenAI and VS Code language models; their existing behavior and OpenAI advanced parameter-mode controls are unchanged.

Core Capabilities

  • Chat with streaming responses.
  • Attach pasted images in chat.
  • Export assembled AI request for manual execution/audit.
  • File reference support with # autocomplete in chat.
  • Memory/context operations (add/remove/clear memory and pinned context).
  • Document ingestion to Markdown for Word, PowerPoint, Excel, OpenDocument, PDF, RTF, EPUB and CSV — headings, lists and tables are preserved. Word documents exported from Confluence (MHTML/HTML payloads carrying a .doc extension) are detected by content and supported. Legacy binary .doc/.xls/.ppt files are rejected with guidance to re-save in a modern format.
  • Office custom editors for DOCX and PPTX workflows.

Ask Archify in Agentic Mode

Archify can create validated, interactive HTML diagrams directly from an AIWingman chat. In Chat Settings, select Agentic mode and set file scope to Workspace. Archify tools are intentionally unavailable in pinned-only scope because producing an evidence-based diagram may require repository discovery and writing multiple artifacts.

Ask naturally and include the diagram subject and destination. For example:

Inspect this repository and use Archify to create a showcase architecture diagram of its major components and integrations. Base every connection on code evidence and save it to docs/diagrams/system-architecture.html.

Trace the agentic chat request from the webview through tool registration, dispatch, and result handling. Use Archify to create a sequence diagram and save it to docs/diagrams/agentic-tool-call.html.

Analyze the codebase documentation pipeline and create an Archify workflow diagram showing discovery, model authoring, validation, rendering, and publication. Save it to docs/diagrams/docs-pipeline.html.

Follow repository data from workspace file discovery through indexing and prompt context assembly. Create an Archify data-flow diagram at docs/diagrams/context-dataflow.html using showcase quality.

Create an Archify lifecycle diagram for an agentic request, including tool iterations, validation failure and repair, successful completion, and cancellation. Inspect the implementation first and save it to docs/diagrams/agentic-request-lifecycle.html.

AIWingman embeds Archify 3.0.1 and gives the model its packaged authoring defaults, viewer reference, schema, and matching example for the requested diagram type. New workflow and lifecycle diagrams use schema v2. The model can then inspect the workspace with the normal agentic read and search tools before submitting its specification to Archify's delivery gate. A successful request writes three workspace files: the authored .json source, the interactive .html diagram, and a .receipt.json validation receipt. If Archify rejects the specification, the tool reports the diagnostics to the model so it can make a focused correction and retry within the agentic iteration limit.

Stop cancels active diagram rendering and prevents subsequent tool calls or publication. Failed validation leaves prior diagram files unchanged; interrupted publication restores them. If rollback itself fails, recovery files are retained and their location is reported. Published receipts identify the final HTML bytes, with the upstream artifact identity retained when navigation is added.

Delivered diagrams support Overview, Route Probe with step-by-step Route Journey controls, Semantic Lens, and stable focus/relationship links. These replace the legacy Story/Guided views removed in Archify 3; meta.views no longer creates a story. Existing exported HTML retains its embedded viewer until regenerated. The native archify_get_guidance and archify_deliver tools work with shell execution disabled, while retaining workspace write-scope checks.

The embedded CLI runs offline-only: automatic release checks are disabled, remote brand assets are refused, and a preload policy blocks Node networking and unapproved subprocesses in the CLI and its renderer children. Bundled brand names remain available. Local Git evidence checks require a complete checkout; partial clones are refused to prevent implicit lazy fetching. Runtime updates require an explicit maintainer command, never a background check. These are application-level controls; an OS sandbox or firewall provides independently enforceable egress isolation.

Commands (Highlights)

From the command palette:

  • AIWingman: Select AI Service
  • AIWingman: Select chat model
  • AIWingman: Select Reasoning Level
  • AIWingman: Update Bedrock Credentials
  • AIWingman: Select Bedrock Prompt Caching
  • AIWingman: Select Parameter Mode (Auto / Temperature / Reasoning)
  • AIWingman: Perform Merge Review
  • AIWingman: Setup/Reconfigure Validation Pipeline
  • AIWingman: Export AI Request (Manual Run)
  • AIWingman: Build/Refresh Indexes
  • AIWingman: Preview token cost

Also includes prompt-prefix commands for selected code:

  • Ask / Explain / Improve / Refactor / Error Handling / Complete / Comment / Find Problems / Unit Test / Translate Code

Configuration (Key Settings)

Representative settings under aiWingman.*:

  • Service/model:
    • selectedService
    • model
    • copilotChatModel
    • bedrockModelId
    • bedrockPromptCaching
    • bedrockInferenceLevel
    • bedrockTuningOverride
    • gitlabDuoApiMode
  • Profile switching:
    • savedServiceProfiles
  • Context/token controls:
    • maxTokens
    • maxOutputTokens
    • reasoningLevel
    • parameterMode
  • Validation:
    • validation.enabled
    • validation.pipeline
    • validation.autoRunAfterEdits
    • validation.maxRepairAttempts
  • Repo awareness:
    • repoAwareness.enableFileIndexAttachment
    • repoAwareness.enableRepoMapAttachment
    • astContext.enableAttachment
  • PDF:
    • pdf.extractImages — extract images embedded in PDF files and append them to the extracted Markdown (off by default). Each image is labelled with its source page so the model understands its position in the document. Requires a multimodal-capable model. Leave disabled for text-only models. Note: enabling this option significantly increases the context size of PDF files — a document with many diagrams may exceed your configured token budget (maxTokens) and be rejected by Add to Memory. If that happens, either increase maxTokens, disable image extraction, or use a PDF with fewer embedded images.

Privacy and Security

  • Sensitive credentials are stored using VS Code secrets where supported.
  • See PRIVACY.md for details.

Development

  • Install dependencies:
    • pnpm install --ignore-workspace --no-frozen-lockfile
  • Build:
    • pnpm run compile
  • Lint:
    • pnpm run lint
  • Test:
    • pnpm run test
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft