Installation & Setup
Relevant source files
The following files were used as context for generating this wiki page:
Open Claude Cowork is a desktop chat application built using Electron.js and Node.js. It integrates the Claude Agent SDK and Composio Tool Router to provide agentic capabilities and access to over 500 external tools. The installation process involves configuring environment variables for AI providers (Anthropic or Opencode) and setting up the Composio CLI for tool integration.
The setup process is designed to be streamlined via an automated script, but it also supports manual configuration for granular control over the environment and dependencies.
Sources: README.md:1-12, README.md:25-30
Quick Setup
The project provides an automated setup script (setup.sh) that handles the installation of the Composio CLI, handles authentication, configures environment variables, and installs dependencies for both the Electron frontend and the Node.js backend.
Setup Script Logic
The script executes the following workflow:
- CLI Check: Verifies if the Composio CLI is installed; if not, it downloads and installs it.
- Authentication: Prompts the user to log in to Composio via
composio login. - Environment Initialization: Copies
.env.exampleto.env. - API Configuration: Prompts for the Anthropic API key and automatically retrieves the Composio API key from the CLI to populate
.env. - Dependency Installation: Runs
npm installin the root and theserver/directory.
Sources: setup.sh:10-92
The following diagram illustrates the automated setup flow:
The diagram shows the logic used by setup.sh to prepare the local environment for execution.
Sources: setup.sh:10-92
Prerequisites & Dependencies
Before starting the installation, ensure the following requirements are met:
- Node.js: Version 18+ is required.
- API Keys: An Anthropic API key is required for the Claude provider, and a Composio API key is required for tool routing. An Opencode API key is optional for alternative model support.
Dependency Breakdown
The project is split into two primary segments: the Electron client and the Backend server.
| Component | Package Type | Key Dependencies |
|---|---|---|
| Root (Electron) | package.json | electron, dotenv, express, @anthropic-ai/claude-agent-sdk |
| Server (Backend) | server/package.json | express, @composio/core, @opencode-ai/sdk, cors |
Sources: package.json:15-22, server/package.json:10-17, README.md:83-93
Environment Configuration
Configuration is managed via a .env file located in the project root. The backend server specifically looks for this file one directory up from its own location.
Required Variables
| Variable | Description | Source |
|---|---|---|
ANTHROPIC_API_KEY | Key for Claude Agent SDK | Anthropic Console |
COMPOSIO_API_KEY | Key for tool routing | Composio Dashboard |
OPENCODE_API_KEY | Optional key for Opencode SDK | Opencode.dev |
Sources: README.md:113-125, server/server.js:13
MCP Configuration
The system uses Model Context Protocol (MCP) for tool integration. Upon startup, the backend server automatically generates a server/opencode.json file. This file contains the remote MCP URL and headers derived from the active Composio session.
Sources: server/server.js:33-54, README.md:209-224
Starting the Application
Running the application requires two concurrent processes.
1. Backend Server
The backend must be started first to initialize the AI providers and the Composio session.
cd server
npm start
Upon startup, the server initializes the providers and creates a default Composio session.
Sources: server/server.js:174-177, README.md:135-138
2. Electron Frontend
The frontend provides the user interface and communicates with the backend via HTTP and Server-Sent Events (SSE).
# In a new terminal window
npm start
Sources: package.json:8, README.md:141-144
System Architecture Flow
The following sequence diagram shows the initialization and request flow:
The diagram represents the interaction between the frontend, backend, and external providers during setup and first use.
Sources: server/server.js:174-177, README.md:151-177, preload.js:46-70
Conclusion
Installation & Setup for Open Claude Cowork is a multi-step process that centralizes configuration through the .env file and the setup.sh script. By establishing a local backend server to manage sessions and an Electron frontend for the user interface, the system ensures that AI agent capabilities and tool integrations are properly authenticated and ready for real-time streaming.
Sources: README.md:148-185, setup.sh:101-115