Skip to content

CLI Reference

CLI Reference

Complete command reference for the aof CLI, auto-generated from the Commander command tree.

Table of Contents


aof init

Set up AOF integration with OpenClaw (plugin registration, memory, skill)

Options:

FlagDescriptionDefault
-y, --yesNon-interactive mode — accept all defaultsfalse
--skip-openclawSkip OpenClaw integration stepsfalse

aof create-project

Create a new project with standard directory structure

Arguments:

ArgumentRequiredDescription
idYes

Options:

FlagDescriptionDefault
--title <title>Project title (defaults to ID)
--type <type>Project type (swe|ops|research|admin|personal|other)"other"
--team <team>Owner team (defaults to ‘system’)"system"
--lead <lead>Owner lead (defaults to ‘system’)"system"
--parent <id>Parent project ID for hierarchical projects
--templateScaffold with memory directory and README templatefalse
--participants <agents...>Initial participant agent IDs

aof project-list

List all projects on this AOF instance

Options:

FlagDescriptionDefault
--jsonOutput as JSONfalse

aof project-add-participant

Add an agent to a project’s participant list

Arguments:

ArgumentRequiredDescription
projectYes
agentYes

aof integrate

Integration commands


aof integrate openclaw

Wire AOF plugin into OpenClaw

Options:

FlagDescriptionDefault
--config <path>Path to OpenClaw config file
--health-checkRun health check after integrationfalse

aof eject

Ejection commands


aof eject openclaw

Remove OpenClaw integration

Options:

FlagDescriptionDefault
--config <path>Path to OpenClaw config file

aof migrate-to-projects

Migrate tasks/ layout to Projects/ layout (v0 to v0.1)

Options:

FlagDescriptionDefault
--dry-runReport planned actions without making changesfalse
--skip-backupSkip pre-migration backup (NOT recommended)false

aof rollback-migration

Rollback Projects v0 migration and restore legacy layout

Options:

FlagDescriptionDefault
--dry-runReport planned actions without making changesfalse
--backup <dir>Explicit backup directory to restore from (default: latest tasks.backup-*)

aof daemon

Daemon lifecycle management (install, uninstall, stop, status)


aof daemon install

Install and start the AOF daemon under OS supervision (launchd/systemd)

Options:

FlagDescriptionDefault
--data-dir <path>Data directory (default: —root value)

aof daemon uninstall

Stop the daemon, remove the service file, and clean up

Options:

FlagDescriptionDefault
--data-dir <path>Data directory (default: —root value)

aof daemon start

Start daemon (use —foreground for development, otherwise redirects to install)

Options:

FlagDescriptionDefault
--foregroundRun daemon in the current process (development mode)false
--data-dir <path>Data directory (default: —root value)
--gateway-url <url>OpenClaw gateway URL (default: env OPENCLAW_GATEWAY_URL or http://localhost:3000)
--gateway-token <token>OpenClaw gateway auth token (default: env OPENCLAW_GATEWAY_TOKEN)

aof daemon stop

Stop the running daemon

Options:

FlagDescriptionDefault
--timeout <seconds>Shutdown timeout in seconds"15"
--forceBypass OS supervisor and send SIGTERM directly

aof daemon status

Check daemon status

Options:

FlagDescriptionDefault
--jsonOutput raw JSON from /status endpoint

aof lint

Lint all task files for errors

Options:

FlagDescriptionDefault
--project <id>Project ID"_inbox"

aof scan

Scan and list all tasks by status

Options:

FlagDescriptionDefault
--project <id>Project ID"_inbox"

aof scheduler

Scheduler commands


aof scheduler run

Run one scheduler poll cycle

Options:

FlagDescriptionDefault
--dry-runDry-run mode (log only, no mutations)false
--project <id>Project ID"_inbox"

aof task

Task management


aof task create

Create a new pending task

Arguments:

ArgumentRequiredDescription
titleYes

Options:

FlagDescriptionDefault
-p, --priority <priority>Priority (low|normal|high|critical)"normal"
-t, --team <team>Owner team
-a, --agent <agent>Target agent
--tags <tags>Comma-separated tags
--project <id>Project ID"_inbox"
-w, --workflow <template>Workflow template name from project manifest
--no-workflowCreate bare task (skip default workflow)

aof task list

List all tasks (alias for scan)

Options:

FlagDescriptionDefault
--project <id>Project ID"_inbox"

aof task resurrect

Resurrect a task from deadletter status back to ready

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--project <id>Project ID"_inbox"

aof task promote

Promote task from backlog to ready

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--forceBypass eligibility checksfalse
--project <id>Project ID"_inbox"

aof task edit

Edit task metadata (title, priority, assignee, team, description)

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--title <title>Update task title
--priority <priority>Update priority (low|normal|high|critical)
--assignee <agent>Update assigned agent
--team <team>Update owner team
--description <description>Update task description (body)
--project <id>Project ID"_inbox"

aof task cancel

Cancel a task with optional reason

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--reason <reason>Cancellation reason
--project <id>Project ID"_inbox"

aof task close

Close a task (transition to done)

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--recover-on-failureAttempt automatic recovery on failurefalse
--project <id>Project ID"_inbox"

aof task dep

Manage task dependencies


aof task dep add

Add a dependency (task will be blocked by blocker)

Arguments:

ArgumentRequiredDescription
task-idYes
blocker-idYes

Options:

FlagDescriptionDefault
--project <id>Project ID"_inbox"

aof task dep remove

Remove a dependency

Arguments:

ArgumentRequiredDescription
task-idYes
blocker-idYes

Options:

FlagDescriptionDefault
--project <id>Project ID"_inbox"

aof task block

Block a task with a reason

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--reason <text>Reason for blocking the task
--project <id>Project ID"_inbox"

aof task unblock

Unblock a task

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--project <id>Project ID"_inbox"

aof trace

Show trace of agent activity for a task

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--debugShow full tool call details and reasoning text
--jsonOutput structured trace data as JSON
--project <id>Project ID"_inbox"

aof org

Org chart management


aof org validate

Validate org chart schema

Arguments:

ArgumentRequiredDescription
pathNo

aof org show

Display org chart

Arguments:

ArgumentRequiredDescription
pathNo

aof org lint

Lint org chart (referential integrity)

Arguments:

ArgumentRequiredDescription
pathNo

aof org drift

Detect drift between org chart and actual state

Arguments:

ArgumentRequiredDescription
pathNo

Options:

FlagDescriptionDefault
--source <source>Source for agent list: fixture | live"fixture"
--fixture <path>Path to fixture JSON file (for —source=fixture)
--vault-root <path>Vault root path

aof runbook

Runbook management and compliance


aof runbook check

Check runbook compliance for a task

Arguments:

ArgumentRequiredDescription
task-idYes

Options:

FlagDescriptionDefault
--project <id>Project ID"_inbox"

aof board

Display Kanban board

Options:

FlagDescriptionDefault
--swimlane <type>Swimlane grouping (priority|project|phase)"priority"
--syncRegenerate view files before displayfalse
--project <id>Project ID"_inbox"

aof watch

Watch a view directory for real-time updates

Arguments:

ArgumentRequiredDescription
viewTypeYes
viewPathNo

Options:

FlagDescriptionDefault
--format <format>Output format (cli|json|jsonl)"cli"
--agent <agent>Filter by agent (mailbox views only)
--project <id>Project ID"_inbox"

aof memory

Memory V2 commands


aof memory generate

Generate OpenClaw memory config from org chart

Arguments:

ArgumentRequiredDescription
pathNo

Options:

FlagDescriptionDefault
--out <path>Output path for generated config
--vault-root <path>Vault root for resolving memory pool paths

aof memory audit

Audit OpenClaw memory config against org chart

Arguments:

ArgumentRequiredDescription
pathNo

Options:

FlagDescriptionDefault
--config <path>Path to OpenClaw config file
--vault-root <path>Vault root for resolving memory pool paths

aof memory aggregate

Aggregate cold tier events into warm docs

Options:

FlagDescriptionDefault
--dry-runPreview changes without writingfalse

aof memory promote

Promote warm doc to hot tier (gated review)

Options:

FlagDescriptionDefault
--from <path>Source warm doc path
--to <path>Target hot doc path
--reviewShow diff and prompt for approvaltrue
--approveAuto-approve without reviewfalse

aof memory curate

Generate memory curation tasks based on adaptive thresholds

Options:

FlagDescriptionDefault
--policy <path>Path to curation policy file (YAML)
--org <path>Path to org chart (overrides default)
--entries <count>Manual entry count override (for lancedb)
--project <id>Project ID for task store"_inbox"
--dry-runPreview tasks without creatingfalse

aof memory import

Audit and import memories from previous memory provider (memory-core SQLite, etc.)

Options:

FlagDescriptionDefault
--source-dir <path>Directory containing *.sqlite files"/Users/xavier/.openclaw/memory"
--workspace <path>Base workspace for resolving relative file paths"/Users/xavier/.openclaw/workspace"
--dry-runReport gaps without writing any filesfalse
--agent <id>Restrict to a single agent
--no-orphansSkip orphan extraction (audit only)false

aof memory health

Show memory index health metrics

Options:

FlagDescriptionDefault
--jsonOutput as JSONfalse

aof memory rebuild

Rebuild HNSW index from SQLite

Options:

FlagDescriptionDefault
--yesSkip confirmation promptfalse

aof config

Configuration management (CLI-gated)


aof config get

Get config value (dot-notation)

Arguments:

ArgumentRequiredDescription
keyYes

aof config set

Set config value (validates + atomic write)

Arguments:

ArgumentRequiredDescription
keyYes
valueYes

Options:

FlagDescriptionDefault
--dry-runPreview change without applyingfalse

aof config validate

Validate entire config (schema + integrity)


aof metrics

Metrics and observability


aof metrics serve

Start Prometheus metrics HTTP server

Options:

FlagDescriptionDefault
-p, --port <port>HTTP port"9090"
--project <id>Project ID"_inbox"

aof notifications

Notification system testing and diagnostics


aof notifications test

Dry-run notification routing (no actual messages sent)

Options:

FlagDescriptionDefault
--event <type>Target a specific event type (e.g. task.transitioned)

aof install

Install AOF and dependencies

Options:

FlagDescriptionDefault
--no-lockfileSkip lockfile (use npm install instead of npm ci)
--strictFail if lockfile is missingfalse

aof deps

Dependency management commands


aof deps update

Update dependencies

Options:

FlagDescriptionDefault
--preserve <paths...>Paths to preserve during update["config","data","tasks","events"]
--no-lockfileSkip lockfile (use npm install instead of npm ci)

aof deps list

Show installed package versions

Options:

FlagDescriptionDefault
--prodShow only production dependenciesfalse
--devShow only dev dependenciesfalse

aof channel

Update channel management


aof channel show

Show current channel and version


aof channel set

Switch to a different channel (stable/beta/canary)

Arguments:

ArgumentRequiredDescription
nameYes

aof channel check

Check for updates on current channel

Options:

FlagDescriptionDefault
--forceForce check even if checked recentlyfalse

aof channel info

Show version info for a channel

Arguments:

ArgumentRequiredDescription
nameYes

aof update

Update AOF to latest version

Options:

FlagDescriptionDefault
--channel <name>Switch channel and update (stable/beta/canary)
--rollbackRollback to previous versionfalse
--backup <path>Backup path for rollback
--yesSkip confirmation promptfalse

aof smoke

Run post-install health checks against the AOF data directory


aof setup

Run post-installation setup (wizard, migrations, plugin wiring)

Options:

FlagDescriptionDefault
--autoFully automatic mode, no promptsfalse
--data-dir <path>AOF root directory"/Users/xavier/.aof"
--upgradeExisting installation detected, run upgrade flowfalse
--legacyLegacy installation detected at ~/.openclaw/aof/false
--openclaw-path <path>Explicit OpenClaw config path
--template <template>Org chart template (minimal or full)"minimal"