# Prerequisites for Using different-ai/openwork: Complete Setup Guide

> Master the prerequisites for different-ai/openwork. Learn the essential Node.js, pnpm, Git, and OS requirements to get started with OpenWork quickly and efficiently.

- Repository: [Different AI/openwork](https://github.com/different-ai/openwork)
- Tags: how-to-guide
- Published: 2026-08-04

---

**To use OpenWork from different-ai/openwork, you need Node.js ≥ 18, pnpm (v8+), Git, and a supported operating system (macOS ≥ 10.15, Windows 10+, or recent Linux).**

OpenWork is a cross-platform **Electron** desktop application with a monorepo architecture. Whether you want to run it locally, contribute code, or package it for distribution, meeting the prerequisites ensures a smooth setup. This guide breaks down every requirement based on the source code in the repository.

## Required System Requirements

OpenWork runs on modern desktop operating systems. According to the top-level [`README.md`](https://github.com/different-ai/openwork/blob/main/README.md), the application bundles an Electron runtime that supports:

- **macOS** ≥ 10.15
- **Windows** 10 or newer
- **Recent Linux distributions**

No additional runtime installation is needed for end users who download prebuilt binaries. However, developers building from source must satisfy the toolchain requirements below.

## Node.js Version Requirement

The [`package.json`](https://github.com/different-ai/openwork/blob/main/package.json) file explicitly declares the Node.js engine constraint:

```json
"engines": {
  "node": ">=18"
}

```

Build scripts, TypeScript compilation, and development utilities all depend on Node 18 or newer. Install via your preferred method:

```bash

# Using nvm

nvm install 18
nvm use 18

# Using Homebrew (macOS)

brew install node@18

# Verify version

node --version

```

## pnpm Package Manager (Required)

OpenWork uses **pnpm workspaces** to manage its monorepo structure. The `apps/*` and `packages/*` directories are linked through pnpm; npm and yarn will not resolve workspace dependencies correctly.

Install pnpm globally:

```bash
npm i -g pnpm@latest

# Verify installation

pnpm -v

```

All subsequent dependency management and script execution use pnpm commands.

## Git and Worktree Support

Git is mandatory for two reasons:

1. **Cloning the repository** from GitHub
2. **Git worktrees** used in the development workflow (`pnpm dev`, `pnpm dev:worktree`)

Install Git via your OS package manager:

```bash

# macOS

brew install git

# Debian/Ubuntu

sudo apt install git

# Arch

sudo pacman -S git

```

## Linux-Specific Build Tools

For packaging OpenWork on Linux—specifically for the Arch AUR distribution—you need native compilation tools. The [`packaging/aur/README.md`](https://github.com/different-ai/openwork/blob/main/packaging/aur/README.md) specifies these prerequisites:

| Distribution | Required Packages |
|-------------|-------------------|
| Arch Linux | `base-devel`, `curl` |
| Debian/Ubuntu | `build-essential`, `curl` |

Install Arch prerequisites:

```bash
sudo pacman -S --needed base-devel curl

```

These tools download the Electron release and compile the PKGBUILD for system-wide installation.

## Optional Prerequisites

### OpenWork Den Server

For **team-wide sharing**, you may deploy the OpenWork Den control plane. This requires:

- A server with Node.js runtime
- Appropriate network ports open
- Docker Compose (optional, for containerized deployment)

Reference the Den server documentation for detailed setup instructions.

### AI Provider Credentials

OpenWork integrates with multiple AI providers. API keys are **never committed to the repository**—instead, create a `.env.dev` file based on the template:

```bash

# .env.dev

OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-...

```

## Complete Installation Workflow

Follow these steps to satisfy all prerequisites and run OpenWork locally:

```bash

# 1. Clone repository

git clone https://github.com/different-ai/openwork.git
cd openwork

# 2. Install pnpm (if missing)

npm i -g pnpm@latest

# 3. Install monorepo dependencies

pnpm install

# 4. Start development server

pnpm dev

```

For Arch Linux packaging:

```bash

# Navigate to AUR packaging directory

cd packaging/aur

# Validate prerequisites and build

makepkg -si

```

## Key Source Files Defining Prerequisites

| File | Purpose |
|------|---------|
| [`package.json`](https://github.com/different-ai/openwork/blob/main/package.json) | Node engine version, workspace configuration |
| [`README.md`](https://github.com/different-ai/openwork/blob/main/README.md) | OS support, quickstart instructions |
| [`dev/README.md`](https://github.com/different-ai/openwork/blob/main/dev/README.md) | Detailed development commands and profiles |
| [`packaging/aur/README.md`](https://github.com/different-ai/openwork/blob/main/packaging/aur/README.md) | Linux build prerequisites |
| `.env.dev` (template) | API key configuration for AI integrations |

## Summary

- **Operating system**: macOS ≥ 10.15, Windows 10+, or modern Linux
- **Node.js**: Version 18 or newer as declared in [`package.json`](https://github.com/different-ai/openwork/blob/main/package.json)
- **Package manager**: pnpm v8+ required for workspace functionality
- **Version control**: Git with worktree support for development workflows
- **Linux builders**: `base-devel` and `curl` (Arch) or `build-essential` (Debian/Ubuntu)
- **Optional**: Den server for team features; provider API keys for AI integrations

## Frequently Asked Questions

### Does OpenWork work with npm or yarn instead of pnpm?

No. The monorepo uses **pnpm workspaces** to link packages across `apps/` and `packages/` directories. npm and yarn lack the workspace resolution logic that `pnpm install` provides. Attempting to use alternative package managers will result in missing dependencies and failed builds.

### What happens if my Node.js version is below 18?

The build system will reject the environment. The [`package.json`](https://github.com/different-ai/openwork/blob/main/package.json) engine constraint triggers a warning or error during `pnpm install`, and TypeScript compilation may fail due to unsupported syntax or missing APIs in older Node versions.

### Is the Den server required for personal use?

No. The **OpenWork Den server** is only needed for team-wide sharing and centralized control plane functionality. Individual users can run the desktop application locally without any server infrastructure.

### Where do I place my OpenAI or Anthropic API keys?

Create a `.env.dev` file in the repository root based on the provided template. Add provider keys there—this file is **gitignored by default** to prevent accidental credential exposure.