Skip to content

Introduction

Build AI agent apps with any runtime.

ClawJS is the open-source Node.js SDK and CLI for building AI agent applications across multiple runtime adapters.

ClawJS gives you one place to solve the hard parts that show up across runtimes without dropping the docs navigation context.

Why ClawJS

ClawJS gives you one place to solve the hard parts that show up across runtimes:

  • Runtime detection, install, repair, and compat tracking.
  • Workspace initialization with adapter-specific file layouts.
  • Auth, provider catalogs, and model catalogs.
  • Normalized streaming and transport fallback.
  • State snapshots for scheduler, memory, skills, and channels.

Support note: Adapter maturity differs. Check the support matrix before picking a runtime for production use.

Architecture

PackageDescription
@clawjs/coreShared types, schemas, capability maps, manifests, and snapshot shapes.
@clawjs/clawRuntime adapters, workspace management, conversations, auth, compat, doctor, and state persistence.
@clawjs/nodeCompatibility wrapper that reexports the primary SDK surface for existing integrations.
@clawjs/cliThe official CLI package with the claw and clawjs binaries for adapter-aware runtime, workspace, auth, models, sessions, memory, skills, scheduler, and channels commands.

Core Concepts

See Terminology for the canonical naming used across ClawJS docs, code, and starter PRDs.

Runtime adapters

A runtime adapter is the boundary between ClawJS and a concrete runtime. It owns probing, locations, workspace contracts, auth, models, conversations, doctor or compat, and optional subsystems.

Workspaces and agents

A workspace is the isolated operational context. An agent is the identity operating inside that workspace. Some scaffolds use the same value for workspaceId and agentId as a convenience default, but those concepts stay separate.

Capability maps

Every runtime status includes a typed capabilityMap. Capabilities are not implicit. They are marked as supported, degraded, or unsupported with a concrete strategy such as cli, gateway, config, native, or bridge.

Stable .clawjs/ layer

ClawJS keeps a stable internal layer under .clawjs/ even when runtimes disagree on file names or directory structure. Adapter-specific files are managed alongside that stable layer, not mixed into it.

Start Here

ClawJS documentation site sourced from docs/ Markdown.