| title | Installation |
|---|---|
| description | Install the elizaOS CLI and scaffold your first project or plugin. |
The public elizaos package installs the elizaos binary. The CLI is small on purpose: it creates and upgrades generated workspaces, shows template information, and prints versions. Running, building, and testing happens through scripts inside the generated project or plugin.
- Node.js 24+: install from nodejs.org or use a version manager.
- Bun: install from bun.sh. Generated TypeScript workspaces use Bun scripts.
- Git: required when creating a project template that includes the local
elizacheckout.
You can run the CLI without a global install:
npx elizaos@betaOr install it globally:
bun add -g elizaos@betaVerify the installed binary:
elizaos --version
elizaos versionCreate a deployable product workspace:
elizaos create my-agent-app --template project
cd my-agent-app
bun install
bun run devThe project template creates the app workspace, initializes the local eliza checkout unless you pass --skip-upstream, and writes .elizaos/template.json metadata so future template upgrades can be applied intentionally.
Useful project scripts are defined in the generated package.json:
bun run dev
bun run build
bun run test
bun run typecheck
bun run lintCreate a runtime extension:
elizaos create plugin-weather --template plugin
cd plugin-weather
bun install
bun run build
bun run testPlugins add runtime capabilities such as actions, providers, evaluators, services, routes, or app surfaces. They are consumed by projects after they are built and added as dependencies or local workspace packages.
List available templates:
elizaos info
elizaos info --template project
elizaos info --template plugin
elizaos info --language typescriptFor automation:
elizaos info --jsonRun upgrades from the root of a generated project or plugin:
elizaos upgrade --check
elizaos upgradeThe upgrade command reads .elizaos/template.json, renders the latest version of the same template, and updates managed files. Locally modified files that conflict are skipped and reported.
```bash
export PATH="$HOME/.bun/bin:$PATH"
```
You can always use `npx elizaos@beta` without a global install.
```bash
bun add -g elizaos@beta
# or
npx elizaos@beta --version
```
```bash
node --version
```
Use Node.js 24 or newer for the CLI and generated workspaces.
```bash
elizaos upgrade --check
```
If the command reports conflicts, review the listed files and apply the template changes manually where needed.