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
| Package | Description |
|---|---|
@clawjs/core | Shared types, schemas, capability maps, manifests, and snapshot shapes. |
@clawjs/claw | Runtime adapters, workspace management, conversations, auth, compat, doctor, and state persistence. |
@clawjs/node | Compatibility wrapper that reexports the primary SDK surface for existing integrations. |
@clawjs/cli | The 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
- Getting Started for the official scaffold and workspace flow.
- Terminology for the canonical product vocabulary.
- Runtime for the adapter contract and capability model.
- API Reference for the instance namespaces and runtime-facing methods.
- Public Surface for the exhaustive package export inventory.
