Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>NimPilotNew to Visual Studio Code? Get it now.
NimPilot

NimPilot

Preview

ANKIT DEVLA

|
77 installs
| (1) | Free
An AI coding agent for VS Code — edits code, runs your tests and fixes errors with your approval. Free NVIDIA NIM models, or GPT models through AgentRouter.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NimPilot

NimPilot — AI Coding Assistant for VS Code

An AI coding assistant for VS Code, powered by NVIDIA NIM (free models), OpenRouter (GPT-4o, Claude, Gemini, DeepSeek and hundreds more with one key) and GPT models through AgentRouter. Save a key for each and switch between them from the chat.

Get an API key: NVIDIA NIM · OpenRouter · AgentRouter, for GPT models (NimPilot's referral link). Sign up, create a key, then paste it in the chat's Settings (the cog). Step-by-step: Setup.

AgentRouter (GPT models) needs the Codex CLI. AgentRouter does not work without it. NVIDIA models do not need it. Steps: AgentRouter setup.

Approve changes with the diff in front of you A full agent turn @ to add files Light theme
Approval card showing the diff before applying Plan, edit, test run and final answer Typing @ser lists matching files The chat in the light theme

Features

Chat sidebar — streaming responses, conversation history (search/pin/rename/delete/export/import), and an agentic tool-calling loop the model can use to:

  • Read, create, and edit files in your workspace — edit_file changes just the part that needs changing, search_code finds where things are defined or used, and read_file reads large files in ranges
  • Run terminal commands (builds, tests, installs, git), including long-running dev servers/watchers in the background
  • File writes and terminal commands need your approval. Always Allow in a chat approves everything else in that chat, and stays on after a reload; risky commands (rm, git push, sudo, …) still ask every time, and safe ones you list (e.g. npm test) can run without asking
  • Undo changes on any reply that edited files restores them to how they were before it
  • Type @ in the chat input to add a file to the conversation (@src/server.ts) — its contents go to the model with your message
  • 💡 Fix with NimPilot on any error in the editor, and Ask NimPilot About Selection in the right-click menu
  • Optional inline suggestions (ghost text, Tab to accept) — off by default; toggle from the NimPilot item in the status bar
  • Switch models from the chip under the chat input: NVIDIA's chat models, OpenRouter's models and GPT models through AgentRouter, grouped by provider. Picking a model switches to its provider
  • Sees the editor's errors (type errors, bad imports) right after each edit, so it fixes them immediately
  • Follows your project's own rules from a NIMPILOT.md (or AGENTS.md) in the workspace root — create one with NimPilot: Create Project Instructions File
  • Uses tools from MCP servers you configure (aiCodingAssistant.mcpServers) or that a workspace's .mcp.json lists — the file Claude Code uses, so e.g. code-review-graph works once installed; workspace servers run only in a trusted workspace, after you allow each one
  • Uses skills — folders with a SKILL.md, the same format Claude Code uses — from .nimpilot/skills or .claude/skills in the workspace or your home folder; the agent loads one when a task matches it
  • Plans multi-step work, and keeps long tasks within the model's context by summarizing finished plan steps
  • Hooks: run your formatter/linter after each agent edit and your tests after each turn (aiCodingAssistant.hooks)
  • Hands broad research ("where is X used?") to read-only subagents with a fresh context, so the main conversation only gets their short report
  • Attach an image (or paste one with Ctrl+V) — read directly by the model
  • Attach a document (PDF, Word, PowerPoint, or plain text) — extracted and indexed into a local RAG index so the model can answer questions about it
  • Search a RAG index built over your whole workspace (NimPilot: Index Workspace) for relevant code context automatically

20 one-shot AI commands, available from the Command Palette (and, where it makes sense, the editor right-click menu):

Command What it does
Generate Code Writes code from a natural-language description
Explain Code Structured Purpose/Flow/Complexity/Suggestions breakdown
Fix Code Finds and fixes bugs, with a diff view and one-click Apply to File
Refactor Code Improves readability/performance/naming, same diff + Apply flow
Generate Unit Tests JUnit/TestNG/Mockito/Jest/PyTest, your choice
Generate Documentation README/JavaDoc/function comments/API docs
Review Code Security, performance, best practices, bug detection
Generate SQL Schema, queries, optimization, indexes
Generate Regex From a plain-language description
Generate Dockerfile For the current project
Generate Kubernetes YAML Deployment/service manifests
Generate Git Commit Message From the current diff, with an option to fill the SCM input box
Explain Stack Trace Paste a trace, get a plain-language explanation
Generate REST API Scaffold endpoints from a description
Generate GraphQL API Schema + resolvers from a description
Generate Selenium Automation Page Object Model, TestNG/JUnit/Playwright/Appium
Generate API Automation Rest Assured or Postman
Generate JMeter Script Load-test plan from a description
Generate XPath / CSS Selector From a description or HTML snippet
Set API Key / Clear API Key Manage your NVIDIA, OpenRouter or AgentRouter key (stored in VS Code SecretStorage, never in settings.json)

Setup

You can use NVIDIA, OpenRouter, AgentRouter, or all of them. Each keeps its own key, so set up several and switch whenever you like.

1. Get your keys

NVIDIA NIM (free models)

  1. Go to build.nvidia.com and create an account with any email address.
  2. Verify that email address (check your inbox for the confirmation link).
  3. Verify your account with a mobile phone number when prompted. API keys unlock only after this.
  4. Open your account/profile menu, generate a new API key and copy it.

OpenRouter (hundreds of models, one key)

  1. Sign up at openrouter.ai and add credits (most models are paid; ids ending in :free are free).
  2. Open openrouter.ai/keys, create a key (it starts with sk-or-v1-) and copy it.

No other install is needed.

AgentRouter (GPT models)

  1. Sign up at agentrouter.org (NimPilot's referral link).
  2. In the AgentRouter console, create a new API key (token) and copy it.
  3. Install the Codex CLI too: see AgentRouter setup below.

2. Add the keys in the chat

  1. Press Ctrl+Shift+P (Cmd+Shift+P on Mac), run NimPilot: Open Chat.
  2. Click Settings (the cog) at the top of the chat.
  3. In the provider list, pick NVIDIA NIM, paste your NVIDIA key and click Save Key.
  4. Pick OpenRouter, paste your OpenRouter key and click Save Key.
  5. Pick Codex CLI (e.g. AgentRouter), paste your AgentRouter key and click Save Key.

Keys are stored in your OS keychain through VS Code SecretStorage, never in settings.json. You can also run NimPilot: Set API Key from the Command Palette.

3. Pick a model

Click the model chip under the chat input. NVIDIA models, OpenRouter models (only those that support tool calling, which the agent needs; type in the filter box to find one) and AgentRouter models (such as gpt-5.6-sol) are listed under their provider. Picking one switches to that provider, with its own key.

AgentRouter setup

AgentRouter only serves supported clients, so NimPilot reaches it through the Codex CLI. Installing Codex is required to use AgentRouter. All the steps in one place:

  1. Install Node.js (LTS). Check it in a terminal: node -v
  2. Install the Codex CLI: npm install -g @openai/codex. Check it: codex --version
  3. Sign up at agentrouter.org (NimPilot's referral link), create an API key (token) and copy it.
  4. In VS Code, run NimPilot: Open Chat, click Settings (the cog), pick Codex CLI (e.g. AgentRouter), paste the key and click Save Key.
  5. Pick an AgentRouter model from the model chip, such as gpt-5.6-sol.

That's all. You don't need codex login or any Codex settings: NimPilot runs Codex in its own folder and points it at AgentRouter with your key.

"The Codex CLI was not found" error? Close VS Code completely and open it again, so it picks up the new install. If it still happens, find where Codex is with which codex (where codex on Windows) and put that path in the aiCodingAssistant.codexCli.path setting, e.g. /opt/homebrew/bin/codex.

Settings

Setting Default Description
aiCodingAssistant.provider nvidia nvidia for NVIDIA NIM, openRouter for OpenRouter (no workspace indexing), or codexCli for AgentRouter through your installed Codex CLI (no embeddings or inline suggestions). Picking a model from the chip sets this for you
aiCodingAssistant.model nvidia/nemotron-3.5-super-vl-120b-a12b NVIDIA NIM model (also switchable from the chip under the chat input)
aiCodingAssistant.openRouter.model "" OpenRouter model, exactly as OpenRouter names it (e.g. anthropic/claude-sonnet-4). Empty means openai/gpt-4o (also switchable from the chip)
aiCodingAssistant.codexCli.model "" AgentRouter model, exactly as AgentRouter names it. Empty means gpt-5.6-sol (also switchable from the chip)
aiCodingAssistant.codexCli.path "" Path to the Codex CLI. Empty means codex from your PATH
aiCodingAssistant.temperature 0.2 Sampling temperature
aiCodingAssistant.maxTokens 4096 Max response tokens
aiCodingAssistant.streaming true Stream chat responses
aiCodingAssistant.modelFallback true On a model error (rate limit/5xx/forbidden), automatically retry the prompt against the rest of the free model catalog (see src/extension/providers/freeModels.ts) instead of failing
aiCodingAssistant.systemPrompt "" Extra system prompt appended to every feature's built-in one
aiCodingAssistant.inlineSuggestions.enabled false Ghost-text code suggestions while typing (uses a request per pause in typing)
aiCodingAssistant.hooks {} Commands to run automatically: afterEdit (each file the agent edits, ${file} = its path) and afterTurn (after a turn that changed files). Workspace-level hooks only run in a trusted workspace
aiCodingAssistant.autoApproveCommands [] Terminal command prefixes the agent may run without asking, e.g. ["npm test", "git status"]
aiCodingAssistant.alwaysAskCommands rm, git push, sudo, … Commands that always need approval, even in a chat with Always Allow on (also when hidden in $(…) or quotes)
aiCodingAssistant.terminalCommandTimeoutSeconds 120 How long an agent terminal command may run (servers/watchers run in the background instead)
aiCodingAssistant.checkDiagnosticsAfterEdit true Show the agent the editor's errors for each file it edits
aiCodingAssistant.useProjectInstructions true Include NIMPILOT.md / AGENTS.md in every prompt
aiCodingAssistant.skills.enabled true Offer the agent the skills in .nimpilot/skills and .claude/skills
aiCodingAssistant.mcpServers {} MCP servers whose tools the agent can use (same shape as .mcp.json)
aiCodingAssistant.mcp.loadProjectServers true Also use a trusted workspace's .mcp.json, after you allow each server
aiCodingAssistant.summarizeCompletedPlanSteps true Replace a finished plan step's tool output with a short summary
aiCodingAssistant.contextBudgetChars 120000 Size at which old tool output in a long turn is replaced with placeholders

See docs/installation.md, docs/deployment.md, and docs/security-notes.md for more.

Build from source

npm install
npm run build      # bundles the extension host + webview

Press F5 in VS Code to launch an Extension Development Host with it loaded, or package it:

npx vsce package
code --install-extension nimpilot-<version>.vsix

Testing

CI (.github/workflows/ci.yml) runs typecheck, lint, unit tests and both builds on every push and pull request, then the E2E suites in a real VS Code under xvfb, and builds and tests the IntelliJ plugin.

npm test

Vitest unit + integration suite covering providers, storage, prompts, context formatting, RAG, the agent loop and tools, the webview, and the backend REST API.

npm run test:e2e

End-to-end suites in a real VS Code Extension Development Host against a local mock model server: command registration, plan approval, memory tools, PR flow (real git), diagnostics (real TypeScript server), and command cards (a real shell: Always Allow for the chat, the IN/OUT box, opening the whole output).

The agent's model/tool calls, timings and token counts are logged to the NimPilot: Agent Log output channel; each reply's token usage is shown under it.

License

MIT — see LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft