Files
openchamber/packages/vscode
Iuliia Ivashko eca9353382 fix(composer): keep the caret inside the normalized document
CodeMirror collapses a CRLF pair into one line break, so the document is
shorter than the string it was given. The composer derived the caret from
the JS string length, which put it past the end of the document and made
dispatch throw `RangeError: Selection points outside of document`.

Because the exception fires before the transaction applies, the document
never updates, the un-normalized text stays in React state, and the draft
persists as-is: every later visit to the session restores it and crashes
again, with no way out from the UI.

Derive the caret from the change set instead, in the controlled writeback
and in the imperative insert/replace handles.

fixes #3013

# Conflicts:
#	CHANGELOG.md
#	packages/vscode/CHANGELOG.md
2026-08-28 19:14:02 +03:00
..
2025-12-13 16:34:17 +02:00
2025-12-13 16:34:17 +02:00
2025-12-25 17:57:31 +02:00

OpenChamber VS Code Extension

GitHub stars GitHub release Discord Support the project

OpenCode AI coding agent, right inside your editor. No tab-switching, no context loss.

VS Code Extension

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_BINARY env 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:dev
  • OPENCHAMBER_VSCODE_DEV_WORKSPACE=/path/to/workspace bun run vscode:dev
  • bun 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