PicoCodeAi v3.3.3
PicoCodeAi also PicoCode is an AI coding assistant for VS Code with inline completions, chat, code actions, provider profiles, and PicoCode+ execution controls.
Important Notice
PicoCode can suggest, run, and apply code changes, but you are responsible for reviewing and validating all generated output.
Before using PicoCode on important projects:
- create a backup or use version control
- review generated edits before keeping them
- run tests or verification commands after changes
The authors do not accept responsibility for code loss, regressions, data loss, or other damage resulting from use of this extension.
New in v3.3.2
Bug Fixes
- PicoCode Chat now automatically refreshes the active VS Code workspace/folder when folders are opened, removed, or when the active editor moves to another workspace folder.
- Stale workspace URIs are ignored before chat execution, so the assistant falls back to the active editor folder or first open workspace folder.
New in v3.3.1
- Ripgrep-powered indexing: PicoCode now detects
rg in PATH and uses it to enumerate workspace files and pre-compute keyword hit counts inside collectFolderContext. On large repositories this replaces the recursive readdirSync walk with a native, .gitignore-aware scan, reducing indexing time by an order of magnitude.
- Ripgrep-accelerated file lookup:
locateFileByName (used by @filename references and explicit file mentions) now consults rg --files -g '**/<name>' first, with the JS walk as fallback.
- New setting
picocode.useRipgrep (boolean, default true). When rg is not installed, PicoCode silently falls back to the original walker.
- New command
PicoCode: Show Ripgrep Status reports detected version or installation hint.
- Status bar tooltip shows ripgrep availability at a glance.
New in v3.3.0
Bug Fixes
- Fixed crash in chat webview where the execution-mode dropdown referenced a missing element (
executionSel), which broke initial UI hydration and the change-listener wiring.
- Fixed
ReferenceError in MCP snapshot capture when an MCP server failed to start (stderrChunks was out of scope inside the catch block); the captured tail is now propagated via error.stderrTail.
- Wired
TokenTracker.recordUsage from every API call so the "Show Token Stats" command reports real data (uses provider-reported usage when available, character estimate otherwise) with a debounced save.
- Persisted chat history through
historyManager.appendHistory, so the new Export/Import commands operate on real data.
importHistory now deduplicates entries by hash instead of blindly merging duplicates.
request() and Ollama generate URL now respect base URLs that include a sub-path (e.g. http://host/ollama) via buildProviderUrl.
- Streaming SSE parsing strips trailing
\r for servers that emit \r\n line endings.
- Captured per-provider circuit breaker state (was previously global, so one bad provider tripped all the others).
runWorkspaceCommandAndCapture now uses a 50 MB exec buffer and windowsHide, preventing failures on large npm test/tsc outputs.
runCurrentFile now uses a portable runner per platform, supports tsx/ts-node fallback, and quotes paths correctly on Windows and POSIX.
sanitizeRunCommand denylist now matches whole tokens / contiguous phrases per sub-command instead of substrings, removing false positives like a path containing "del ".
adaptiveConfig.countWorkspaceFiles now has a 250 ms scan budget, fan-out cap, and cache so activation does not stall on monorepos.
New Features
- Real Claude model listing -
listModels now calls Anthropic's /v1/models (with API key) and falls back to a curated list when offline.
- Per-provider circuit breakers keyed by provider id/url for better isolation.
- Configurable MCP rounds - new
picocode.mcpMaxRounds setting controls how many tool-call cycles a single chat turn can run.
- Multi-loop rollback stack - up to 10 previous loop snapshots are kept under
rollback-stack/ for selective undo (listRollbackStack, readRollbackByName).
- GPT-4o Support - Added GPT-4o model to model capabilities.
- Multi-line Inline Completions - Support for multi-line code completions.
- Auto Language Detection - Automatic detection of user language (English/Romanian).
- History Export/Import - Export and import chat history.
- Token Usage Tracking - Track token usage and costs per model.
- Context Window Visualization - See context window usage.
- Improved Inline Completions - Better debounce and context handling.
Features
- Inline completions while you type
- Chat panel with workspace-aware context
- Fix, explain, review, and run commands from the editor
- Multi-provider model support
- PicoCode+ rules, execution policies, and auto-fix loop controls
- Local model support through Ollama and LM Studio
- Token usage tracking and statistics
- Chat history export/import
- Auto language detection (English/Romanian)
- Multi-line inline completions
Supported Providers
- Ollama-compatible endpoints
- LM Studio
- DeepSeek API
- Claude API (including Claude 3.5 Opus)
- OpenRouter API
- GPT-4o (via OpenAI-compatible endpoints)
Setup
- Install the extension from VSIX or Marketplace find PicoCodeAi.
- Open the PicoCodeAi provider configuration panel.
- Add a provider and select a model.
- Start chatting or use the editor actions.
Example LM Studio Configuration
{
"picocode.providers": [
{
"id": "lmstudio-local",
"name": "LM Studio",
"type": "lm-studio",
"url": "http://localhost:1234/v1",
"apiKey": "",
"models": [],
"defaultModel": ""
}
]
}
PicoCode+
PicoCode+ adds explicit rules and governed execution on top of the normal assistant flow.
picocode.rules: custom rules that PicoCode must always follow
picocode.executionMode: auto, strict, or off
- workspace rules files are also supported
Supported workspace rules files:
.picocode/rules.md
.picocode/rules.txt
PICOCODE_RULES.md
.picocode-rules.md
Example settings:
{
"picocode.plusMode": true,
"picocode.executionMode": "auto",
"picocode.executionAllow": ["npm run", "python -m pytest"],
"picocode.executionDeny": ["drop database", "Remove-Item -Recurse"],
"picocode.rules": [
"Never rename public APIs without confirmation.",
"Prefer minimal edits and preserve existing project style."
]
}
Commands
PicoCode: Open Chat
PicoCode: Fix Code
PicoCode: Explain Code
PicoCode: Review / Check Code
PicoCode: Run Code
PicoCode: Reload Config
PicoCode: Rollback Last Loop
PicoCode: Export History (new)
PicoCode: Import History (new)
PicoCode: Clear History (new)
PicoCode: Show Token Stats (new)
PicoCode: Show Ripgrep Status (new in v3.3.1)
Build
npm install
npm run package