First launch: right-click the app icon and pick Open. Gatekeeper flags unsigned apps; the right-click bypass is a one-time confirmation. Signed builds arrive with v0.2.
The chat app for loomcycle.
Install, connect, converse. LoomBoard is a thin-client chat surface for the loomcycle agentic runtime. It ships as a native desktop app for macOS, Windows, and Linux; as an npm CLI runner that opens the same UI in your browser; as an embeddable React component you drop into your own app; and as a Chrome side-panel extension that lets the assistant read and act on the current page.
There is no LoomBoard backend. The runtime owns auth, persistence, tools, and the
agent loop. LoomBoard drives one conversation and talks to loomcycle over its
/v1/* HTTP + SSE wire.
§ download the desktop app
First launch: SmartScreen shows "Windows protected your PC." Click More info then Run anyway. Signed builds arrive with v0.2.
AppImage: chmod +x loomboard_0.1.2_amd64.AppImage && ./loomboard_0.1.2_amd64.AppImage. Needs libwebkit2gtk-4.1.
Other install paths (Node CLI, embed the React component, Chrome extension)
Run in your browser via the Node CLI
Cross-platform, no build step. Starts a local server on 127.0.0.1:4173 and reverse-proxies /v1/* to whatever loomcycle you point it at, so a browser talks to any runtime with no CORS setup.
npm install -g @loomboard/app loomboard # or one-shot: npx @loomboard/app
Embed the React component in your own app
Drop <Chat> into your React tree. Peer deps: react, react-dom, @loomcycle/client.
npm install @loomboard/chat
Chrome side-panel extension
Load unpacked for now (not yet on the Chrome Web Store). Opens the loomboard chat in Chrome's side panel with a chrome-assistant agent that reads and acts on the current page: summarize, collect data, fill fields, click, navigate. Requires loomcycle ≥ v1.16.0 (client-executed tools, RFC BC).
curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard-extension-0.1.10.zip unzip loomboard-extension-0.1.10.zip -d loomboard-extension # Chrome → chrome://extensions → Developer mode → Load unpacked → pick the folder
Coming
Android + iOS (Tauri mobile scaffolded, Android debug suffix already in config). Chrome Web Store submission for the extension. Board mode (kanban over Documents + AgentTeam graphs, RFC AP). Explorer mode (Path VFS + Documents via @loomcycle/explorer).
§ 01 · what it does
Real capabilities, shipped today.
The chat surface is complete. Every listed capability is in v0.1.2 and works against a live loomcycle. No feature is described that is still in a branch.
Streamed output with tool calls + reasoning
Watch the agent think, call tools, read results, and respond. Reasoning traces flow inline from every provider that emits them: Anthropic thinking, OpenAI o-series, DeepSeek reasoner, Ollama think:true, Gemini thinking. Backed by loomcycle's EventThinking stream, fixed for every provider in v1.8.2.
Live token, throughput, and context HUD
A compact heads-up display shows tokens in / out, tokens per second, and how close the conversation is to the context window ceiling. Context compaction is one click away when the window fills.
Human-in-the-loop Interruption answers
When the agent asks a question mid-run via loomcycle's Interruption tool, the answer field appears in place. No modal, no thread break. Sub-second round-trip.
Image, PDF, DOCX attachments
Drop an image directly into the composer for vision-capable providers (Anthropic, OpenAI, Gemini, Ollama vision models). Drop a PDF or DOCX and the client extracts the text via pdfjs-dist and mammoth before sending. Big files stay in the browser, not on the runtime.
Embedded Skills + MCP catalog
The left rail hosts the loomcycle Library: on-demand Skills (RFC BA), registered MCP servers, and forkable AgentDefs, all rendered by the reusable @loomcycle/library React component. Same CRUD surface as the loomcycle Web UI.
Cost + budget awareness inline
Per-scope token budget warnings (RFC AW) surface inline in the transcript: amber banner when a soft threshold crosses, red when the hard cap denies the next run. The runtime does the enforcement; the client renders it.
§ 02 · how it works
Thin client. loomcycle owns the loop.
LoomBoard is a thin client. The desktop app is a Tauri v2 window hosting a React SPA. The npm CLI runner is the same SPA served locally with a small proxy. The Chrome extension is the SPA in a side panel with page-access content scripts. Same code path, four packaging modes.
None of the packagings holds state that the runtime does not. Bearer tokens live in the browser's local storage; the CLI proxy forwards them upstream but never reads or logs them. Conversations, transcripts, and tool invocations are persisted by the runtime, not by LoomBoard. Reload the client, restart your machine, or switch installs: your conversations follow the loomcycle you connect to.
LoomBoard talks to loomcycle over the standard /v1/* HTTP + SSE
wire via @loomcycle/client. Every capability listed above is a
client-side rendering of a loomcycle event. There is no LoomBoard-specific
API. Any client that speaks the same wire is a peer.
Read the runtime page →
§ 03 · what it looks like
Four surfaces from a live session.
Four real screenshots from the shipped v0.1.2 build. The token/throughput HUD in the top-right of each chat frame reads out live: ollama-local/qwen3.6:latest at 6.5-8.9 tokens/s. Local inference, running on my TrueNAS box.
Mermaid diagrams render inline. A local qwen3.6 producing a backend-services architecture diagram, streamed and rendered live.
LaTeX math renders inline. The assistant explaining quadratic-equation solutions with formulas rendered from the model's output.
56 seconds. Locally-hosted qwen3.6 (Ollama) on TrueNAS. The extension reads an EMAG.RO product page, then does a market scan for cheaper alternatives. Reasoning traces streaming, product data extracted from the DOM, web-search fallback circuit walking cascade providers. Not a canned demo, not a hosted-model cloud round-trip. Everything runs on the same box that hosts the loomcycle runtime.
§ 04 · coming next
What ships after v0.1.x.
-
v0.2
Signed builds. Apple Developer ID for macOS and a Windows code-signing certificate. First-launch Gatekeeper and SmartScreen dialogs go away. Same download page, no user workflow change beyond a smoother install.
-
v0.3
Board mode. A kanban view over chunked-graph Documents (RFC AK) with AgentTeam graphs (RFC AP) as the transition engine. The launch publishing plan is the first dogfood workload.
-
v0.3
Explorer mode. The Path VFS and chunked-graph Documents rendered as a filesystem tree in the left rail. Uses the reusable
@loomcycle/explorerReact component (RFC AZ) shipped in loomcycle v1.13.1. -
later
Android + iOS. Tauri mobile is scaffolded; the Android debug suffix is already in
tauri.conf.json. Mobile lands when the desktop cadence stabilises. -
later
Chrome Web Store submission. The extension zip today is a "Load unpacked" artifact. Web Store submission requires signed assets and privacy review; queued after v0.2.
§ 05 · install verification
The exact commands, and what to expect on first run.
macOS · DMG
curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard_0.1.2_universal.dmg open loomboard_0.1.2_universal.dmg
Drag loomboard.app into /Applications. On first launch, right-click the icon and pick Open; Gatekeeper shows the "developer cannot be verified" dialog once. Click Open again. From then on it launches normally.
Windows · NSIS installer
curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard_0.1.2_x64-setup.exe loomboard_0.1.2_x64-setup.exe
SmartScreen: "Windows protected your PC." Click More info, then Run anyway. The installer runs; loomboard is installed to %LOCALAPPDATA%\loomboard by default and gets a Start-menu entry.
Linux · AppImage
curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard_0.1.2_amd64.AppImage chmod +x loomboard_0.1.2_amd64.AppImage ./loomboard_0.1.2_amd64.AppImage
Needs libwebkit2gtk-4.1. On Ubuntu 24.04 and Debian 13 it is installed by default. On older distros: sudo apt install libwebkit2gtk-4.1-0.
Node CLI
npm install -g @loomboard/app loomboard # opens http://127.0.0.1:4173 in your default browser
The connection screen asks for your loomcycle base URL and bearer token. Leaving the base URL blank routes through the CLI's local /v1/* proxy to http://127.0.0.1:8787 (override with --loomcycle).
Chrome extension (unpacked)
curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard-extension-0.1.10.zip unzip loomboard-extension-0.1.10.zip -d loomboard-extension
Open chrome://extensions. Toggle Developer mode on. Click Load unpacked and select the loomboard-extension folder. Click the loomboard toolbar icon to open the side panel. Requires loomcycle ≥ v1.16.0 for client-executed tools (RFC BC).

