Skip to content
Navigate Open escClose

Extensions

Use Settings → Extensions to add panels made by other people to OpenChamber. An extension is a small page that sits on the right-hand rail, next to the built-in panels. It can show you data from another service, attach a task to the chat, and, if you allow it, start sessions, send prompts, or read files.

Extensions run on OpenChamber web and desktop. VS Code and the mobile app do not load them yet. They are not the same thing as OpenCode plugins.

Install one

Extensions marked Built-in ship with the selected OpenChamber instance. They start enabled and receive their declared permissions without a separate approval dialog. Use Disable or Enable on their card; built-ins cannot be removed or updated separately from the app. Disabling preserves their data and connected accounts, and stays in effect after app updates.

Their account settings appear in Settings → Integrations → Built-in integrations. A service may still need an API token or sign-in before it can access your account.

  1. Open Settings → Extensions.
  2. Paste one of these into the Folder, ZIP, or URL field and choose Add:
    • the absolute path of a folder on this computer
    • the path of a .zip file
    • an https link to a git repository or a zip file
    • an SSH Git address, such as [email protected]:owner/extension.git
  3. If the extension asks for any permissions, a dialog lists them. Choose Allow and enable, or Remove to take it back out.

You can also drop a .zip onto the field, or pick one with the archive button next to it; the archive is uploaded to the OpenChamber server, so this works for a remote instance too. On desktop the folder button opens a native picker, and a dropped folder installs from its path.

The extension’s icon appears on the rail. If it does not, see Troubleshooting.

A folder install runs straight from that folder, so someone developing an extension can edit and reload. A zip or a URL is copied into OpenChamber’s own data folder first; the original file is not touched.

Private repositories and Git identities

SSH installs accept [email protected]:owner/extension.git and ssh://[email protected]/owner/extension.git, with an optional #branch-or-tag. Choose Global Identity or a saved Git identity from the fingerprint menu beside the install field. The selection is kept for update checks and updates; changing that identity’s key applies to the next operation.

Global Identity uses the Git/SSH configuration and SSH agent of the user running the selected OpenChamber server. On a remote instance, the key must be available there. Unlock passphrase-protected keys in that server process’s SSH agent first. HTTPS URLs use Git’s HTTPS credentials rather than automatically switching to SSH. Git hosts must resolve to public addresses; local SSH host aliases and private-network targets are not supported.

What an extension may do

Showing a panel and reading which project and session are open needs no permission. Anything that acts on your behalf does, and you see the whole list once, when you install:

  • Send messages in your sessions: writes and sends prompts to the model, which costs tokens and can run tools.
  • Access projects and sessions: list registered projects, worktrees, and session states; create and open sessions in those projects. This does not expose conversation content.
  • Read and write project files: any file in the open project.
  • Read and write files outside the project: only the locations listed in the dialog.
  • Use your Small Model: one-off text generation outside your sessions, with the model from Settings → Sessions → Small Model. Costs tokens.
  • Connect to an external service: with the account you connect in Settings → Integrations.
  • Read a session’s conversation: only when you run the extension’s action on that session.
  • Run a local service: a separate program with your full user access. Allow it only if you trust the author.

When a newer version asks for more than you allowed, the card shows Needs approval and a Review permissions button. Until you allow the new list, that extension stays off.

Where it shows up

An extension can also offer a full-screen page, such as a task board. Open it from Extension pages above the session list. The menu appears only when an enabled, approved extension offers a page. Selecting a chat brings you back; reload, pause, removal, or switching servers closes the page too. An extension cannot open a full-screen page on its own.

Extensions can save their own data on the connected OpenChamber server without putting files in your project. The data survives reloads and is deleted when you remove the extension. A board can track agents working in different projects or worktrees, while deciding its own task statuses.

Besides its panel on the rail, an extension can add entries to menus you already use: the actions on a chat message, the menu of a session, the + menu next to the chat box, and slash commands like /task ABC-12 that attach something without opening anything. It can also give its own tools a proper icon, title, and output layout in the chat, the way OpenChamber’s built-in tools have. The extension decides which of these it offers; all of them are off until you allow the extension.

Some extensions show a live picture instead of a panel of their own: what an agent is working in on the server, such as a browser or a simulator. Click into the picture or type to take control, and the status line says You have control; the agent’s own browser actions are refused until you press Hand back to agent. Copy and paste work as usual. Another device connected at the same time sees who is in control and cannot take it over. Such an extension can add its own controls beside the picture, an address bar above it or a tool column next to it for example.

Connect its account

An extension that talks to a service gets a card at Settings → Integrations under Extension accounts. Depending on the service, the card asks for an API token, a username and token, or a client id for a sign-in flow. Choose Connect; Disconnect forgets the stored token. Extra fields the extension declares save on their own as you leave them.

The token stays on the OpenChamber server. The extension’s page never sees it.

Update

Extensions installed from a git URL can update themselves. Opening Settings → Extensions checks each of them at most once an hour; Check for updates checks right away. A card with a newer version shows Update available and an Update button. The update keeps your permissions, accounts, and settings; if the new version asks for more, the approval dialog appears again. Folder and zip installs do not update: replace them by hand.

Add #v1.2.0 or #stable to the git URL when you install to follow a tag or branch instead of the default branch.

Pause or remove

Each card has an Enabled switch. Off keeps the extension installed but hides its panel and blocks its calls. Remove deletes a zip or URL install from OpenChamber’s data folder; for a folder install it only forgets the path, your folder stays.

Build your own

Everything an extension can do, and how to make one, is in Build an extension.