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

NIM Code

vijay janakiraman

|
630 installs
| (1) | Free
AI coding assistant for VS Code powered by NVIDIA NIM. Chat, agent mode, code generation, and slash commands across Llama, Qwen, Nemotron, and other top open-source LLMs. Free auto mode included — no API key required to get started.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NIM Code

AI coding assistant for VS Code, powered by NVIDIA NIM.

Chat, explain, refactor, and fix code with state-of-the-art models — all routed through a single NVIDIA API key. Switch between Qwen, Kimi, Nemotron, GLM, DeepSeek, and more without leaving your editor.

No API key? Start instantly with Auto mode — 30 free requests per day, no sign-up required.

VS Code Marketplace Website License: MIT VS Code


Features

✦ Auto mode — free tier, no key needed

Start chatting immediately without an NVIDIA API key. Auto mode uses a built-in proxy powered by Llama 3.1 8B via the NIM Code infrastructure.

Detail Value
Model Llama 3.1 8B Instruct
Daily limit 30 free requests (resets at midnight UTC)
API key required No
Capabilities Chat only
Counter Shown live in the chat bar: X/30 free today

Note: Auto mode is a Beta feature. For agent tools, file operations, and the full model library, switch to Chat or Agent mode with your own NVIDIA NIM key.

Multi-model chat

Pick any NVIDIA NIM model from the dropdown. Add your own model IDs through the + button — no extension update required.

Agent mode

Let NIM Code act autonomously on your workspace. It reads, searches, writes, and refactors files; runs terminal commands; queries git; runs code reviews; tracks its own progress; and opens files directly in your editor.

16 built-in agent tools:

Category Tool What it does
Files read_file Read any file in your workspace
Files list_files List files and folders in a directory
Files write_file Create or overwrite a file with generated content
Files edit_file Make a targeted edit by replacing an exact snippet of a file's content
Files delete_file Delete a file from the workspace
Files rename_file Rename or move a file within the workspace
Search search_codebase Ripgrep-powered search — returns file paths, line numbers, and matching content
Search search_codebase_semantic Natural-language search over a local embedding index of your workspace
Terminal run_terminal Execute any shell command (30 s timeout)
Git git_status Show modified, staged, and untracked files
Git git_diff Show uncommitted changes, optionally scoped to one file or staged only
Git git_log Show recent commit history
Review review_code Run a focused review (general or security) over a file or the current diff
Editor get_diagnostics Read VS Code errors and warnings from the Problems panel
Editor open_file_in_editor Open a file and jump to a specific line number
Planning todo_write Maintain a structured todo list, shown to you as a live checklist while the agent works

Right-click code actions

Select any code, then right-click (or press Ctrl+. for the Quick Fix lightbulb) to jump straight into Explain, Fix, Review, Refactor, Generate Tests, or Document — each opens the chat panel with the matching slash command pre-filled using your selection.

MCP (Model Context Protocol) support

Connect your own local MCP servers (stdio transport) via nimcode.mcpServers in Settings. Each server's tools are merged into Agent mode's tool roster, namespaced as mcp__<server>__<tool>, so the agent can call out to your own tools alongside the 16 built-ins. See Configuration.

Tool-call approval & Plan mode

Choose how much confirmation Agent mode needs before acting — Manual, Edit automatically, Auto, or Plan (read-only investigation with no file/shell access) — via the approval-mode dropdown next to the model picker. File writes show a VS Code diff editor to review before applying.

Live agent task list

For multi-step tasks, the agent maintains a visible todo checklist (via the todo_write tool) that updates in place as it works through each step, so you can follow along without reading every tool call.

Reasoning effort control

For reasoning-capable models, pick Low, Medium, or High effort from the dropdown next to the model picker to trade off response speed against depth of reasoning.

Semantic codebase search

Run NIM Code: Index Codebase for Semantic Search from the Command Palette to build a local embedding index of your workspace (via nimcode.embeddingModel). Once built, the agent's search_codebase_semantic tool can find relevant code by meaning, not just keyword — useful for "where do we handle X" style questions.

Image attachments (vision)

Paste a screenshot directly into the chat input to attach it to your message — handy for sharing UI bugs, error dialogs, or design mockups. Requires a model with the vision capability (built-in or added via customModels); up to 4 images per message.

AI-generated commit messages

Click the sparkle icon in the Source Control view's title bar (or run NIM Code: Generate Commit Message) to fill the commit message box with a Conventional Commits message generated from your staged (or working-tree) diff.

Slash commands

Type / in the chat input to trigger context-aware prompts using your active editor selection:

Command Alias Description
/explain Explain what the selected code does
/fix Find and fix bugs in the selection
/review Code-review the selection for quality and correctness
/refactor /ref Restructure code for readability and maintainability
/optimize /opt Improve performance and reduce complexity
/test Generate unit tests for the selection
/document /doc Write JSDoc / docstring comments for the selection
/debug Diagnose an error or stack trace
/commit Generate a conventional commit message for the current diff
/summary Summarize what a file or directory does
/security Review code for security vulnerabilities
/migrate Migrate code to a new version or framework
/pr Generate a pull request title and description

Streaming responses

Responses stream token-by-token so you see output immediately, with full cancel support mid-stream.

Copy code blocks

Every code block in the chat output has a Copy button always visible in the header bar. Click it to copy the code to your clipboard in one click, or use Insert (appears on hover) to paste it directly at the cursor.

Token budget indicator

A context-window usage bar appears below the message list, showing how much of the model's context has been consumed by the current conversation. Color shifts from green → amber → red as you approach the limit.

Secure API key storage

Your NVIDIA NIM API key is stored in the OS keychain via VS Code SecretStorage — never in settings files or workspace storage.

Persistent sessions

All conversations are saved locally and accessible from the session list (☰). Rename, delete, or switch between sessions at any time.


Quick Start

Option A — No API key (Auto mode)

  1. Install NIM Code from the VS Code Marketplace.
  2. Click the N icon in the Activity Bar (or press Ctrl+Shift+N).
  3. The mode toggle defaults to ✦ Auto — start typing and press Enter to send.

You get 30 free requests per day. The counter in the chat bar shows how many remain.

Option B — Full access (Chat & Agent modes)

1. Get an NVIDIA NIM API key

  1. Sign up at build.nvidia.com
  2. Go to API Keys → Generate Personal Key
  3. Copy the key (starts with nvapi-)

2. Install NIM Code

Search "NIM Code" in the Extensions panel (Ctrl+Shift+X) or install from the VS Code Marketplace.

3. Set your API key

Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run:

NIM Code: Set NVIDIA NIM API Key

Paste your nvapi-… key when prompted.

4. Start chatting

Click the N icon in the Activity Bar, or press Ctrl+Shift+N / Cmd+Shift+N.


Modes

Mode Icon API key Model Tools Best for
Auto ✦ Not required Llama 3.1 8B (built-in) Chat only Quick questions, 30 free/day
Chat 💬 Required Any NIM model Chat only Q&A, explanations, code review
Agent ⚡ Required Any NIM model All 16 tools (+ MCP) Multi-step tasks, file edits

Switch modes with the segmented toggle in the chat bar. The mode hint below the toggle summarises the current capabilities.


Agent Mode

Switch the mode toggle in the chat input to ⚡ Agent. NIM Code will plan and execute multi-step tasks autonomously, showing each tool call as it runs.

Example prompts:

  • "Search for all TODO comments in .ts files and fix them one by one"
  • "Run pnpm run lint, find the errors with get_diagnostics, and fix them all"
  • "Show me git_diff, then write a conventional commit message for these changes"
  • "Read src/api/users.ts, add Zod input validation, and open the file when done"
  • "List all .test.ts files, find untested functions with search_codebase, and write the missing tests"

Tip: Use 💬 Chat mode for questions and explanations. Use ⚡ Agent for tasks that require reading or changing files.

Tool-call approval modes

The Mode dropdown next to the model picker (visible in Agent mode) controls how much confirmation the agent needs before acting:

Mode File edits (write/rename) Deletes & terminal commands
Manual Asks for approval Asks for approval
Edit automatically Applies immediately Asks for approval
Auto Applies immediately Asks for approval
Plan Blocked — read-only Blocked — read-only

When a confirmation is required, NIM Code opens a VS Code diff editor (for file writes) or a prompt describing the action, with Accept/Reject buttons — reject and the agent reports it and adjusts its approach. Plan mode never touches the filesystem or shell; the agent investigates and proposes a plan as text instead.


Supported Models

NIM Code ships with six curated models. Add any model from build.nvidia.com via the + button or Settings → NIM Code → customModels — no extension update needed.

Model ID Context Best for
Llama 3.1 8B (Auto mode) Built-in proxy 128K Free tier — no key needed
GLM 5.2 z-ai/glm-5.2 131K ZhipuAI — strong reasoning and code
Nemotron Super 120B nvidia/nemotron-3-super-120b-a12b 131K NVIDIA-tuned reasoning and code
Qwen3 Next 80B (default) qwen/qwen3-next-80b-a3b-instruct 131K Fast MoE — coding and reasoning
Kimi K2.6 moonshotai/kimi-k2.6 131K Long-context multilingual model
DeepSeek V4 Flash deepseek-ai/deepseek-v4-flash 131K Fast, efficient coding assistant
Llama 3.2 11B Vision meta/llama-3.2-11b-vision-instruct 131K Understands pasted screenshots and images

Popular models to add via customModels:

Model ID Context Best for
meta/llama-3.3-70b-instruct 128K Latest Llama, strong coding
qwen/qwen2.5-coder-32b-instruct 32K Code generation
deepseek-ai/deepseek-r1 64K Step-by-step reasoning
nvidia/llama-3.1-nemotron-70b-instruct 128K NVIDIA-tuned Nemotron 70B
mistralai/mistral-large-2-instruct 128K Multilingual, strong tool use

Commands & Keyboard Shortcuts

Command Shortcut (Win/Linux) Shortcut (Mac) Description
NIM Code: Open Chat Ctrl+Shift+N Cmd+Shift+N Open or focus the NIM Code chat panel
NIM Code: New Chat Session Ctrl+Shift+L Cmd+Shift+L Start a fresh conversation
NIM Code: Set NVIDIA NIM API Key — — Save your API key securely
NIM Code: Clear NVIDIA NIM API Key — — Remove the stored key
NIM Code: Generate Commit Message — — Fill the SCM commit box from the current diff
NIM Code: Index Codebase for Semantic Search — — Build the local embedding index for search_codebase_semantic
Explain / Fix / Review / Refactor / Generate Tests / Document — (right-click or Ctrl+.) — Run a slash command on the current editor selection
Send message Enter Enter Send the typed message
New line in message Shift+Enter Shift+Enter Insert a line break without sending
Browse history ↑ / ↓ ↑ / ↓ Navigate previously sent messages

All commands are also accessible via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) — search "NIM Code".


Configuration

Open Settings (Ctrl+,) and search "NIM Code", or edit settings.json:

{
  // Base URL for the NVIDIA NIM API — change for on-premise deployments
  "nimcode.baseUrl": "https://integrate.api.nvidia.com/v1",

  // Fallback default model, overridden by defaultChatModel / defaultAgentModel
  "nimcode.defaultModel": "qwen/qwen3-next-80b-a3b-instruct",

  // Model selected automatically when Chat mode is active
  "nimcode.defaultChatModel": "qwen/qwen3-next-80b-a3b-instruct",

  // Model selected automatically when Agent mode is active — use a strong tool-use model
  "nimcode.defaultAgentModel": "qwen/qwen3-next-80b-a3b-instruct",

  // Per-request timeout in milliseconds (default: 120 000 = 2 min)
  // Increase to 300 000 for reasoning models like DeepSeek R1
  "nimcode.requestTimeoutMs": 120000,

  // Automatic retry attempts on transient errors (0–5)
  "nimcode.maxRetries": 2,

  // Sampling temperature — lower = more deterministic (0–2)
  "nimcode.temperature": 0.2,

  // In Agent mode, auto-include the active file (path + cursor snippet) as
  // context when no explicit selection is attached (default: true)
  "nimcode.agentIncludeActiveFile": true,

  // Embedding model used to build the local semantic codebase index
  // ("NIM Code: Index Codebase" command) and the search_codebase_semantic tool
  "nimcode.embeddingModel": "nvidia/nv-embedqa-e5-v5",

  // Additional models shown in the picker
  "nimcode.customModels": [
    {
      "id": "meta/llama-3.3-70b-instruct",
      "label": "Llama 3.3 70B",
      "contextWindow": 128000,
      "capabilities": ["chat", "tools"]
    }
  ]
}

On-premise / self-hosted NIM

"nimcode.baseUrl": "http://localhost:8000/v1"

Everything else — API key, model IDs, streaming, tool use — works identically against a local NIM deployment.


Moving the Panel to the Right Sidebar

NIM Code opens in the left Activity Bar by default. To place it on the right (like GitHub Copilot Chat):

  1. Right-click the N icon in the Activity Bar
  2. Select Move to Secondary Side Bar

VS Code remembers this permanently.


Privacy & Security

Concern How NIM Code handles it
API key Stored in the OS keychain (VS Code SecretStorage). Never written to disk or settings files.
Auto mode key Baked into the extension bundle at build time. Routed only through the NIM Code proxy — your traffic is not logged or stored.
Chat data Sent only to integrate.api.nvidia.com (or your custom baseUrl) in Chat/Agent mode. No telemetry collected.
Webview Runs under a strict Content Security Policy — no external network requests from the UI layer.
Agent file access All file operations are scoped to your VS Code workspace root.

Troubleshooting

"Set your NVIDIA NIM API key to start" banner This banner only appears in Chat or Agent mode. Switch to ✦ Auto mode to start chatting immediately with no key, or run NIM Code: Set NVIDIA NIM API Key from the Command Palette.

Auto mode daily limit reached The 30-request counter resets at midnight UTC. Switch to 💬 Chat mode with your own NVIDIA NIM API key for unlimited usage.

Slow or no response with large models (Nemotron Super 120B, Kimi K2.6) Increase nimcode.requestTimeoutMs to 300000 in Settings — large models can take several minutes on complex prompts.

Rate limit errors NIM Code retries automatically with exponential backoff. Persistent errors indicate you have reached your NVIDIA NIM free-tier limit.

search_codebase fails NIM Code uses VS Code's bundled ripgrep (rg) binary — no separate installation is needed.

Agent writes unexpected content Use 💬 Chat mode with /review first to validate the model understands your codebase before switching to ⚡ Agent.


Requirements

  • VS Code 1.90.0 or later
  • An NVIDIA NIM API key for Chat and Agent modes (Auto mode requires no key)
  • Node.js 20+ (development only)

Contributing

Bug reports and feature requests: vjwarboy13@gmail.com

Local development

pnpm install        # install all dependencies
pnpm run build      # compile extension + webview
# Press F5 in VS Code to launch the Extension Development Host

For incremental development, run these in two separate terminals:

pnpm run watch:webview      # Vite --watch for the React UI
pnpm run watch:extension    # esbuild --watch for the extension host

Scripts

Script Purpose
pnpm run build Full production build (webview + extension host)
pnpm run watch:webview Rebuild webview on file changes
pnpm run watch:extension Rebuild extension host on file changes
pnpm run typecheck Type-check both tsconfigs without emitting
pnpm run lint Run ESLint across all source files
pnpm run format Auto-format with Prettier
pnpm run test Run unit tests (Vitest)
pnpm run test:e2e Run end-to-end tests (Playwright)
pnpm run package Build and pack a .vsix installable file
pnpm run publish Publish to the VS Code Marketplace

License

MIT © 2026 Vijay

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft