The OpenRouter provider called GET /api/v1/credits, which OpenRouter
documents as requiring a management key. Called with a normal inference
key it returns HTTP 200 and {"total_credits":0,"total_usage":0} instead
of an error, so the provider rendered "$0.00 left - $0.00 spent" for a
funded key and the !response.ok guard could never catch it.
Read GET /api/v1/key instead, which is documented as callable with any
valid API key. A key with a spending limit reports its own usage against
that limit in the window named by limit_reset, and a key without one
reports usage_monthly. Window usage is limit - limit_remaining rather
than usage, because usage is all-time and limit_remaining tracks the
current reset window. limit_remaining is also server-computed and
already honors include_byok_in_limit.
Bring the provider up to the deepseek.js standard while here: a 15s
timeout, 401 and 403 mapped to a session-expired message, parse failures
mapped to an invalid-response message, an explicit no-quota-data result,
and the aliases export that quota/DOCUMENTATION.md requires. Add the
missing openrouter.test.js and keep packages/vscode in sync.
Refs #3060
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 |
| Add Comment | Open a comment thread on the selected lines. The comment stays anchored in the editor and goes out with your next message as a context card. The gutter + does the same once the extension is active |
| 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

