NIM · OpenAI · Claude · Gemini · Groq · Sarvam · Local — free tier, no signup

Build faster with AI, on your terms.

A powerful AI coding assistant for VS Code that gives you complete control over how you use AI. Connect your favorite providers — NVIDIA NIM, OpenAI, Anthropic Claude, Google Gemini, Groq, and Sarvam AI — with your own keys in your OS keychain, run a fully local coding agent against your own models, or start instantly with no key at all. Chat, explain, refactor, debug, and edit files without leaving the editor: inline suggestions as you type, @ to point at exactly the code you mean, and a 42-tool autonomous agent that plans before it acts, checkpoints every step so you can always undo, runs in the background, and remembers your project across sessions.

5 free/day, no key Your own keys Runs local No lock-in
N NIM Code ☰ +
YOU
Add input validation to @src/api/signup.ts and write a test for it.
NIM CODE · Nemotron Super 120B
You attached the handler, so I'll add a Zod schema and generate tests.
🔧 edit_file(src/api/signup.ts)
🔧 write_file(src/api/signup.test.ts)
Done — added validation and 6 test cases
💬 Chat⚡ Agent
Ask NIM Code… (/ commands, @ files) Send
Models on tap nemotron-3-super-120b gpt-5 claude-sonnet-5 gemini-2.5-pro gpt-oss-120b sarvam-105b + your local model + any model id
42
Agent tools
14
Slash commands
1M
Token context
6
Providers + local
5/day
Free, no API key
Developer first

Why developers love it

Whether you prefer fully local AI, your own cloud API accounts, or a combination of both — you're always in control.

Run AI locally

Set up your own local coding agent powered by local models. Point NIM Code at Ollama, LM Studio, or llama.cpp — one-click presets in NIM Code: Switch LLM Endpoint — and keep your code on your machine, working without relying on cloud APIs. Local servers need no key at all.

Bring your own API keys

Use your own NVIDIA NIM, OpenAI, Anthropic Claude, Google Gemini, Groq, or Sarvam AI account. Each provider's credentials are stored securely in your operating system's keychain via VS Code SecretStorage — never in settings files, never on disk, never sent to us.

Free to start

No API key? No problem. Start instantly with Auto mode — a free AI agent with real tool support and file editing, backed by automatic multi-provider failover so it stays up even when one backend is busy. No sign-up required.

Upgrade at your pace

The free tier is 5 requests a day, resetting every midnight — so it's there whenever you want it. Once you've used today's, add your own API key and keep coding with your preferred provider at no cap. No vendor lock-in, and nothing to cancel.

One unified experience

Chat, explain code, generate code, refactor, debug, fix bugs, and edit files — all without leaving VS Code. One sidebar panel that tracks your editor theme, so there's no context switching and no copy-paste.

Switch models instantly

Choose the best model for every task — Nemotron Super 120B, GPT-5, Claude Sonnet 5, Gemini 2.5 Pro, Sarvam 105B, and more — all from a single dropdown. Add any other model id with the + button, no extension update needed.

Everything you need

Built for real coding work

A focused, fast assistant that lives in your sidebar and tracks your editor theme — no context switching, no copy-paste.

Auto mode — free, no API key

Start working the moment you install — no sign-up, no key, no credit card. Auto runs a real agent loop (file edits and terminal included) through a built-in gateway that fails over across providers automatically, so the free tier stays up even when one backend is busy. It carries a focused 17-tool roster to stay inside the gateway's limits, and gives you 5 requests a day.

Auto always uses the free tier — it ignores the model picker and any keys you have set. To run your own model with no daily cap, switch to Chat or Agent and pick it from the dropdown.

Multi-provider, multi-model chat

Pick from curated models across six providers — NVIDIA NIM, OpenAI, Anthropic, Google, Groq, and Sarvam AI — from one dropdown, or add your own model ID with the + button. Each provider uses its own API key; only the key for your selected model's provider is needed.

Autonomous agent mode

Hand off multi-step tasks to a 42-tool agent. It reads, searches, writes and refactors files, runs terminal commands, queries git, and opens files in your editor — showing each tool call as it works. Independent reads run in parallel; edits and shell commands stay strictly one at a time so approval prompts can never race. Four approval modes decide how much it may do unattended, a diff preview gates every file write, checkpoints let you undo an entire run, and Plan mode blocks every mutating tool outright — including tools from connected MCP servers.

Planner Mode

In Plan mode the agent investigates read-only, then publishes a structured, numbered plan for you to review. Approve to let it execute automatically, or dismiss and refine — no filesystem or shell access until you say go.

Background agents

Dispatch a task and keep working — it runs asynchronously while you switch sessions or keep coding. Multiple runs go at once; a status-bar item and per-session badges show progress, with a notification when one finishes or needs approval.

Task queue

Line up several tasks and run them one at a time, each starting only once the previous finishes — ideal when one step depends on the last (refactor → update call sites → update tests).

Three-tier memory

Every turn loads CLAUDE.md, a git-committed .nimcode/memory.md shared with your team, and a personal cross-workspace memory the agent maintains itself — so context and conventions persist without repeating yourself.

MCP server support

Connect your own local MCP servers and their tools merge straight into the agent's roster, namespaced per server — bring your own integrations alongside the 42 built-ins. Each server carries a trust level, because nothing in the protocol says whether a third-party tool reads or writes: the default confirms every call and blocks them in Plan mode, and only a server you mark read-only runs unattended.

Slash commands

Type / for context-aware actions on your selection — explain, fix, review, refactor, test, document, and more.

Skills — prompt packages you commit

Drop a Markdown file with frontmatter into .nimcode/skills/ and it appears in the / menu for everyone who clones the repo. Placeholders pull in your selection or input, and a machine-global folder holds the ones you want everywhere.

Lifecycle hooks

Run your own shell commands around tool calls and turn completion — block risky edits, auto-format on write, or force the agent to keep going until your build passes.

Streaming, vision & polish

Token-by-token streaming with mid-generation cancel, pasted-screenshot image attachments, rendered Mermaid diagrams, a live context-budget bar, and auto-summarized long conversations.

Secure key storage

Every provider's API key — NVIDIA NIM, OpenAI, Anthropic, Google, Groq, Sarvam AI — lives in the OS keychain via VS Code SecretStorage, never in settings files or on disk.

Persistent sessions

Every conversation is saved locally. Rename, delete, and switch between sessions from the history list anytime.

While you type

Beyond the chat box

Two things that keep you out of the panel entirely — suggestions inline in your file, and a way to say exactly which code you mean.

Inline completion

Ghost-text suggestions as you type, in any language. Tab to accept. Requests are debounced, superseded the moment you keep typing, and cached near the caret, so retyping a line costs nothing. A suggestion that would duplicate the code after your cursor is discarded rather than shown.

It ships off by default, on purpose. Completion sends a request on nearly every keystroke, so switching it on for you would quietly spend your provider credits. It uses your own API key and never the free Auto quota — turn it on with NIM Code: Toggle Inline Completion, and point it at the fastest, cheapest model you have.

@-mentions — say exactly what to look at

Type @ anywhere in the composer to attach context explicitly instead of hoping retrieval guesses right. The menu completes in place, so explain @src/auth.ts against @tests/auth.test.ts works mid-sentence.

@file.tsFile contents @src/Folder listing @SymbolDefinition, via your language server @diffUncommitted changes @problemsThe Problems panel

Mentions are parsed from your message rather than tracked as you click, so a pasted path behaves identically to one picked from the menu. What you attach outranks automatic retrieval — a mentioned file is attached in full, and the auto-context block skips it instead of spending its budget echoing the same file back.

Agent mode

42 built-in tools

The agent loop calls these one at a time, reasoning between each step — so it stays grounded in your actual codebase. Independent reads batch and run concurrently; edits, deletes, and shell commands always run one at a time. Connect your own MCP servers to add more.

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 diff preview)
Files
edit_file
Make a targeted edit to an existing file
Files
multi_edit
Apply several edits to one file atomically
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 with line numbers
Search
find_files
Find files by glob pattern
Search
search_codebase_semantic
Natural-language search over a local embedding index
Search
outline_file
List a file's classes, functions and signatures — a tenth the size of reading it
Search
find_symbol
Jump to where a symbol is defined, via the language server
Search
find_references
Find every use of a symbol before changing its signature
Search
related_files
What imports this file, and what it imports
Repo Intel
repo_intel
Deterministic root-cause analysis, ownership, and import impact
Web
web_fetch
Fetch a URL and read its content, optionally with a prompt
Web
web_search
Keyless web search for title/URL/snippet results
Terminal
run_terminal
Execute any shell command, foreground or background
Terminal
list_background_shells
List running background shells and their status
Terminal
get_background_output
Read new output from a background shell
Terminal
kill_background_shell
Terminate a running background shell
Git
git_status
Show modified, staged & untracked files
Git
git_diff
Show uncommitted changes, scoped or staged
Git
git_log
Show recent commit history
Editor
review_code
Run a focused general or security review
Editor
get_diagnostics
Read errors & warnings from the Problems panel
Editor
open_file_in_editor
Open a file and jump to a line
Verify
verify_workspace
Run your project's build/lint/test checks before a turn ends
Artifact
artifact
Publish a rendered document, diagram, or interactive page
Planning
todo_write
Maintain a live todo checklist while it works
Planning
present_plan
Publish a structured plan for you to approve
Memory
remember
Persist a fact to cross-session personal memory
Memory
project_memory
Record shared facts into committed project memory
Nim
nim_format
Format a .nim file with nimpretty
Nim
nim_doc
Generate HTML API docs for a .nim file
Nim
nim_expand
Show what a routine compiles to after templates & destructors
Nim
nim_run
Compile and execute a .nim file with nim c -r
Nim
nim_test
Run Nim tests via testament and report pass/fail
Delegation
delegate_task
Spawn a scoped sub-agent for a self-contained task
Delegation
run_agent_team
Run a role-scoped pipeline: architect → coder/tester → reviewer
Planning
load_tools
Pull in a tool group on demand, so each turn only pays for what it needs
Skills
load_skill
Load a reusable Markdown prompt package on demand
Beyond a single turn

Autonomous engineering, with a safety net

Undo any run, catch what a fix silently broke, and hand off work too large for one chat turn — architected pipelines, not just a bigger prompt.

Checkpoints — undo any run

The agent snapshots your workspace before any step that may change files, using a private shadow git repo that never touches your own .git, index, or branches. Rewind to any point in a run, or compare what changed — works even in a folder with no repository at all.

Self-Test Until Fixed

A turn that changed files runs your project's own build, lint, and test commands before it's allowed to end. Anything newly broken is fed straight back to the agent to fix; failures your repo already had are reported, never gated on — so it never gets conscripted into someone else's bug.

Agent teams

Field a role-scoped pipeline for one substantial goal: an architect explores once and hands its brief down, a coder and tester then work in parallel inside their own path leases, and a reviewer checks the result — sequenced by host code, not a prompt instruction a model can forget. One approval covers every writer's scope up front.

Autonomous missions

Give the agent one goal and a budget, and it runs a fixed pipeline — understand → plan → implement → test → fix → security & review → commit — as a guaranteed order rather than something a full context window makes it forget. Every stage's cost is metered against the ceiling you set, unmetered local calls are reported honestly rather than shown as $0.00, and one prompt approves the scope up front with a second just for the final commit.

Artifacts

Ask for a diagram, chart, or interactive page and it renders as a card you can expand into a full editor-area panel — Markdown, SVG, Mermaid, HTML, or React. Executable kinds run sandboxed with no connect-src of their own, so generated content can never phone home.

Repo intelligence

Deterministic answers, not model guesses: a failing stack trace resolves to a source line by arithmetic, co-change history shows what really changes together, and known failure patterns are recognized instantly — attached straight to the failing tool result, no extra round-trip to find out why.

Settings dashboard

Every one of 56 settings in one searchable editor tab, plus what VS Code's own settings UI can't do: per-provider key status, custom-model and MCP server management, and hooks validated against your live tool roster.

Slash commands

One keystroke to context

Highlight code, type a slash command, and the right system prompt is sent automatically with your selection attached.

/explainExplain the code /fixFind & fix bugs /reviewQuality review /refactorRestructure /optimizePerformance /testGenerate tests /documentAdd docs /debugDiagnose errors /commitCommit message /summarySummarize a file /securityOWASP review /migrateVersion migration /prPR title & body /remember-projectSave to project memory
Three modes, four approval levels

As hands-off as you want it

Pick a mode for what you're doing, then a Plan/Manual/Edit/Auto level for how much it can do without asking.

Auto

No API key required. A real agent — file edits and terminal included — on a focused 17-tool roster, through a gateway that fails over across providers. Always the free tier, so the model picker doesn't apply.

5 free / day
💬

Chat

Any model, any provider, no tools — quick questions, explanations, and code review without touching your files.

Requires API key

Agent

All 42 tools plus any connected MCP servers — multi-step tasks, file edits, terminal commands, delegation.

Requires API key
Approval modeFile edits & renamesDeletes & terminal
ManualAsks for approvalAsks for approval
Edit automaticallyApplies immediatelyAsks for approval
AutoApplies immediatelyAsks for approval
PlanBlocked — read-onlyBlocked — read-only
Supported models

Six providers, plus your own machine

Curated models from every provider ship in the dropdown. Add any other model ID via the + button — or point the extension at a local server and run entirely offline. No extension update needed either way.

NVIDIA NIM

default provider
AUTO · FREE
Auto — routed
built-in proxy — no key needed
Powers Auto mode's 5 free requests/day. The gateway picks the model and fails over automatically.
no key, no setup
DEFAULT
Nemotron Super 120B
nvidia/nemotron-3-super-120b-a12b
NVIDIA-tuned reasoning and code.
1M context
Llama 3.2 11B Vision
meta/llama-3.2-11b-vision-instruct
Understands pasted screenshots and images.
131K context

OpenAI

GPT-5
gpt-5
Flagship reasoning model.
400K context
GPT-5 mini
gpt-5-mini
Fast, cost-efficient reasoning.
400K context
GPT-4.1
gpt-4.1
Strong coding model, huge context.
1M context

Anthropic

Claude Opus 4.8
claude-opus-4-8
Most capable Opus-tier model for agentic work.
1M context
Claude Sonnet 5
claude-sonnet-5
Near-Opus coding quality at Sonnet cost.
1M context

Google

Gemini 2.5 Pro
gemini-2.5-pro
Strong reasoning, huge context.
1M context
Gemini 2.5 Flash
gemini-2.5-flash
Fast, cost-efficient multimodal.
1M context

Groq

fast inference
GPT-OSS 120B
openai/gpt-oss-120b
Open-weight reasoning model, Groq-hosted for speed.
131K context

Sarvam AI

Sarvam 105B
sarvam-105b
Flagship Indian-language reasoning and agentic model.
128K context

Local & self-hosted

your models, your machine — no API key
Ollama
http://localhost:11434/v1
One-click preset. Run any model you've pulled.
Keyless
LM Studio
http://localhost:1234/v1
One-click preset for the local server.
Keyless
llama.cpp server
http://localhost:8080/v1
One-click preset for the built-in server.
Keyless
Anything else
vLLM · self-hosted NIM · custom URL
Any OpenAI-compatible endpoint works as a drop-in.
Full agent support

Each provider has its own API key (NIM Code: Set API Key), stored in the OS keychain. Going local? Run NIM Code: Switch LLM Endpoint, pick a preset or type your own URL — loopback addresses skip the key requirement entirely, and every feature works identically.

Quick start

Running in four steps

From zero to your first answer in under two minutes — or skip straight to step 4 for Auto mode, free, no key required.

1

Get an API key (optional)

For Chat/Agent mode: get a key from any of six providers — build.nvidia.com, OpenAI, Anthropic, Google AI Studio, Groq, or Sarvam AI. Skip this for Auto mode, or if you're running local models.

2

Install NIM Code

Search "NIM Code" in the Extensions panel, or grab it from the VS Code Marketplace.

3

Set your key (optional)

Run NIM Code: Set API Key, pick a provider, and paste your key. Going local instead? Run NIM Code: Switch LLM Endpoint and pick Ollama, LM Studio, or llama.cpp — no key needed. Skip both to stay on Auto mode.

4

Start coding

Click the N icon in the Activity Bar or press Ctrl+Shift+N. The mode toggle defaults to ✦ Auto — done. Want suggestions inline as you type too? Run NIM Code: Toggle Inline Completion (needs a key).

Memory

Context that survives the session

Agent mode loads three sources of memory into its system prompt on every turn, so you stop repeating yourself.

CLAUDE.md

Project memory (read-only)

A CLAUDE.md at your workspace root — build commands, architecture, conventions — is read and injected automatically. You author it; the agent never writes to it.

.nimcode/memory.md

Team-shared project memory

Git-committed and structured by category (architecture, decisions, TODOs). The agent writes to it via the project_memory tool, auto-captures decisions on compaction, or you add entries from the memory panel or right-click menu.

remember tool

Personal, cross-workspace memory

A machine-global memory the agent maintains itself — facts and preferences that carry over to other projects on this machine, separate from any one repo.

Configurable & private

Tune it. Trust it.

Sensible defaults out of the box, with full control over models, timeouts, and where your data goes.

settings.json
{
  // Endpoint — swap for a local server to run fully offline:
  //   Ollama    http://localhost:11434/v1
  //   LM Studio http://localhost:1234/v1
  //   llama.cpp http://localhost:8080/v1   (no API key required)
  "nimcode.baseUrl": "https://integrate.api.nvidia.com/v1",

  // Default model for Agent mode — use a strong tool-use model
  "nimcode.defaultAgentModel": "nvidia/nemotron-3-super-120b-a12b",

  // Self-correction: feed fresh errors/warnings back after every edit
  "nimcode.autoDiagnostics": true,

  // Auto-pull relevant snippets from the semantic index into every request
  "nimcode.autoContext": true,

  // Git-committed, team-shared project memory (.nimcode/memory.md)
  "nimcode.projectMemory.enabled": true,

  // Inline ghost-text completion — off by default, uses your own key
  "nimcode.completion.enabled": false,
  // Empty = your chat model. Pick the fastest one you have.
  "nimcode.completion.model": "",

  // Bring your own models
  "nimcode.customModels": [
    { "id": "meta/llama-3.3-70b-instruct" }
  ]
}
API key
Each provider's key stored separately in the OS keychain. Never written to disk or settings.
Your code goes to one place
Chat data goes only to the provider you select (or your custom baseUrl) — never to us. Telemetry is one anonymous heartbeat per day of use: machine id, extension and VS Code version, OS. Never your code, prompts, file paths or keys. Off with one setting.
Strict CSP webview
The UI makes zero external network requests of its own.
Workspace-scoped
Every path the agent supplies is checked before use — absolute paths, UNC paths and .. traversal above the project root are refused.
Fully local, fully offline
Point the endpoint at Ollama, LM Studio, llama.cpp, vLLM or a self-hosted deployment and your code never leaves the machine. Local addresses need no API key, and every feature — agent, tools, memory, completion — works identically.

Ship faster with NIM Code

Perfect for developers who want the flexibility to use local models, their own AI provider accounts, or a built-in free agent — all from one modern VS Code extension. Install and run your first prompt in minutes.