Skip to main content

Open Claude Cowork Architecture and Runtime

1. The workspace shape​

The README gives a clear project layout:

AreaPurpose
main.jsElectron main process
renderer/Desktop frontend
server/backend plus provider implementations
clawd/bundled messaging assistant
.claude/skills/local skill extensions

This is a useful architecture because the desktop and backend responsibilities stay separated.

2. The runtime mental model​

At runtime, the main desktop flow is:

  1. the Electron app captures user input,
  2. the server calls the chosen provider path,
  3. Composio Tool Router expands tool reach,
  4. streamed events return to the UI,
  5. tool inputs and outputs are visualized for the user.

3. Why the tool router matters​

The Composio layer is not incidental. It is the main reason this app can automate work across many external services from one desktop surface.

4. Why clawd/ matters​

The bundled bot assistant means the repo is really a small ecosystem, not just one app. That is helpful for contributors, but it also means you should be careful to separate desktop and bot concerns while reading the code.

5. What to read first in code​

Start with:

  1. main.js,
  2. renderer/,
  3. server/,
  4. provider implementations,
  5. clawd/ after the desktop loop is clear.