This page covers connecting OpenCode to Loom, which works differently from Claude Code and Codex because OpenCode is not set up through a plugin marketplace.
You need git and Python 3 installed. The installer stops with opencode-install: Python 3 is required to install the loom command (exit 1) if Python 3 is missing. By then it has already copied the bundle to ~/.loom/opencode and the plugin to ~/.config/opencode/plugins/loom.ts; install Python 3 and re-run to finish installing the loom command. If git is missing it stops earlier with opencode-install: git is required to install the Loom runtime; please install git and re-run.
Run loom setup and leave opencode selected. For OpenCode it runs the command below and then checks opencode mcp list.
opencode auth login <server>, where <server> is the server setup signed in to: --base, or the single origin recorded in ~/.loom/stores.toml, or LOOM_WEB_BASE, or https://loomcloud.ai (see Choosing the server). For a hosted account it is opencode auth login https://loomcloud.ai; with --base https://<your-server> it is opencode auth login https://<your-server>.http://, but a private server does not serve the OpenCode defaults over http (see the Private install note below), so the login step fails. The row then reads opencode FAILED -- opencode: install step auth login failed (exit status <n>) and setup exits with status 3. If OpenCode already lists a Loom integration, setup runs the same login again as the update and does not check where the integration came from.If setup cannot confirm the integration afterwards, the row reads opencode FAILED -- opencode: integration could not be confirmed after install (state: <state>), setup exits with status 3, and the restart line is still printed.
uv not on PATH: the row is opencode FAILED -- opencode: integration could not be confirmed after install (state: present_degraded), and opencode mcp list shows loom failed with Executable not found in $PATH: "uv".git missing: the row ends (state: absent). opencode auth login prints opencode-install: git is required to install the Loom runtime; please install git and re-run but exits 0, so the row is this one and not install step auth login failed. Nothing is installed.loom setup asks Email address: only when ~/.loom/stores.toml holds no credentialed section for the server; otherwise it prints Using your existing Loom stores for <server>; run loom login to sign in again. and goes straight to the OpenCode step. Releases before v0.674 asked on every run.opencode auth login https://loomcloud.aiOpenCode reads the organization defaults published at https://loomcloud.ai/.well-known/opencode, whose login command runs the Loom OpenCode installer. That installer:
git) and copies the OpenCode bundle to ~/.loom/opencode;~/.config/opencode/plugins/loom.ts so OpenCode discovers it;loom command is present too.The installer never fetches or prints store credentials. Your stores come from ~/.loom/stores.toml, which loom setup writes. The defaults also name an environment variable, LOOM_OPENCODE_TOKEN; the installer does not read it and you do not need to set it.
The bundle's MCP entry launches Loom's MCP server through uv run with mcp, pyzmq and fastembed, and exposes the loom-* skills.
Restart OpenCode, or reload its MCP servers, then list them:
opencode mcp listThe loom server should be listed as connected. The MCP entry runs uv. If loom shows failed with Executable not found in $PATH: "uv", put uv on your PATH (Loom keeps a copy in ~/.loom/bin; from v0.672 the installer puts that folder on your PATH for new terminals, so opening a new terminal is usually enough) and restart OpenCode.
Then ask your agent:
List my Loom stores and describe which store is the default.Not tested with a model provider account: an OpenCode agent answering this prompt.
Re-run the same login command; OpenCode has no separate update step:
opencode auth login https://loomcloud.aiFor a private server use your own origin instead: opencode auth login https://<your-server>. loom setup does this for you when you re-run it (add --base https://<your-server> for a private server). Restart OpenCode afterwards.
Delete the plugin file and the bundle, then restart OpenCode:
rm ~/.config/opencode/plugins/loom.ts
rm -r ~/.loom/opencodeopencode mcp list then shows No MCP servers configured. This was observed for an installer-only install. When OpenCode holds the saved organization defaults from a real opencode auth login (the entry for your server in ~/.local/share/opencode/auth.json), opencode mcp list instead shows loom failed with MCP error -32000: Connection closed until you also delete that entry; it then shows No MCP servers configured.
The loom command and ~/.loom/stores.toml are kept.
Removing the integration does not delete your account, your stores or ~/.loom/stores.toml.
opencode-install: git is required to install the Loom runtime; please install git and re-run: install git and re-run.opencode-install: Python 3 is required to install the loom command: install Python 3 and re-run to finish installing the loom command. The bundle in ~/.loom/opencode and the plugin at ~/.config/opencode/plugins/loom.ts are already in place by then.opencode-install: marketplace clone failed: <url>: the plugin mirror was unreachable; check your network and retry. <url> is https://loomcloud.ai/loom-plugins.git for a hosted login and https://<your-server>/loom-plugins.git when the installer was fetched from your private server (override it with LOOM_OPENCODE_BASE).loom shows failed with Executable not found in $PATH: "uv": put uv on your PATH (Loom keeps a copy in ~/.loom/bin) and restart OpenCode.loom missing from opencode mcp list: restart OpenCode and re-run opencode auth login https://loomcloud.ai (your own origin for a private server).Failed to load auth provider metadata from <your-origin>: self signed certificate from opencode auth login <your-origin>: the server's self-signed certificate is not trusted; add it to the operating system trust store (a partial trust fails later with curl: (60) SSL certificate problem or opencode-install: marketplace clone failed), see Trust the server's certificate. If the login then still fails, the server is not serving the OpenCode defaults (an http:// origin, or a release without the plugins asset). See the Private install note above.