* fix(files): refresh open file content after external edits Previously, opening a file in the Files view and then editing it externally (e.g. via CLI or another editor) would show stale content. Even closing and reopening the file returned cached content — a full page reload was required. Root causes: 1. The in-memory readFile cache used path-only hits, with no metadata validation. External edits were invisible until the cache was evicted. 2. No polling mechanism existed to detect external changes to the open file. Fix: - Add mtimeMs to statFile across all runtimes (web, VS Code, desktop). - Cache layer (RuntimeAPIProvider): validate cache hits against current stat metadata (mtimeMs + size). On miss, use stat→read→stat to avoid TOCTOU. - UI layer (FilesView): poll the open file every 2s; on detected change, set loadedFilePath=null to trigger the existing load effect once (no double reload). Skip polling when tab is hidden or editor has unsaved changes. - After save, refresh the stat ref so the next poll doesn't see a spurious change from the save itself. Addresses review feedback from PR #827 (double reload + TOCTOU). * fix(files): address P2 review findings - readFreshFile retry now uses stat→read→stat to maintain TOCTOU protection during the retry path (not just the initial read). - Replace isDirty in polling effect deps with isDirtyRef to avoid unnecessary interval teardown/restart on every edit/save cycle.
OpenChamber VS Code Extension
OpenCode AI coding agent, right inside your editor. No tab-switching, no context loss.
Like the extension? There's also a desktop app and web version with even more features.
What you get
- Chat beside your code — responsive layout that adapts to narrow and wide panels
- Agent Manager — run the same prompt across multiple models in parallel, compare results side by side
- Right-click actions — add context, explain selections, and improve code in-place
- Click-to-open — file paths in tool output open directly in your editor; edit-style results land in a focused diff view
- Session editor panel — keep chat sessions open alongside files
- Theme-aware — adapts to your VS Code light, dark, and high-contrast themes
Plus everything from the shared OpenChamber UI: branchable timeline, smart tool UIs, voice mode, Git workflows, and more.
Commands
| Command | Description |
|---|---|
OpenChamber: Focus Chat |
Focus the chat panel |
OpenChamber: New Session |
Start a new chat session |
OpenChamber: Open Sidebar |
Open the OpenChamber sidebar |
OpenChamber: Open Agent Manager |
Launch parallel multi-model runs |
OpenChamber: Open Session in Editor |
Open current or new session in an editor tab |
OpenChamber: Settings |
Open extension settings |
OpenChamber: Restart API Connection |
Restart the OpenCode API process |
OpenChamber: Show OpenCode Status |
Debug info for development or bug reports |
Right-click menu
Select code in the editor, right-click, and find the OpenChamber submenu:
| Action | Description |
|---|---|
| Add to Context | Attach selection to your next prompt |
| Explain | Ask the agent to explain the selected code |
| Improve Code | Ask the agent to improve the selection in-place |
Configuration
| Setting | Default | Description |
|---|---|---|
openchamber.apiUrl |
(empty) | URL of an external OpenCode API server. Leave empty to auto-start a local instance. |
openchamber.opencodeBinary |
(empty) | Absolute path to the opencode CLI binary. Useful when PATH lookup fails. Requires window reload to apply. |
Requirements
- OpenCode CLI installed and available in PATH (or set
OPENCODE_BINARYenv var) - VS Code 1.85+
Development
bun install
bun run vscode:dev
bun run vscode:dev now starts watchers + opens an Extension Development Host automatically. Webview UI changes use Vite HMR automatically.
Optional overrides:
OPENCHAMBER_VSCODE_BIN=cursor bun run vscode:devOPENCHAMBER_VSCODE_DEV_WORKSPACE=/path/to/workspace bun run vscode:devbun run vscode:dev /path/to/workspace
To package manually:
bun run --cwd packages/vscode build
cd packages/vscode && bunx vsce package --no-dependencies
Install locally: code --install-extension packages/vscode/openchamber-*.vsix
License
MIT

