Overview
The onboarding wizard is an interactive CLI tool that guides you through configuring IronClaw for the first time. It handles database connection, security setup, LLM provider authentication, and channel configuration.Running the Wizard
First-Time Setup
Options
Setup Steps
The wizard guides you through 9 configuration steps:Step 1: Database Connection
Choose between PostgreSQL or libSQL (embedded SQLite) as your database backend.PostgreSQL
PostgreSQL
Requirements:Connection URL format:The wizard will test the connection and optionally run migrations.
- PostgreSQL 15+ server running
- pgvector extension installed
libSQL (Embedded)
libSQL (Embedded)
No external database required. libSQL provides an embedded SQLite database with optional Turso cloud sync.Local path:
~/.ironclaw/ironclaw.db (default)Optional Turso sync:- Remote replica URL:
libsql://your-db.turso.io - Auth token from Turso dashboard
Step 2: Security (Master Key)
Configure encryption for API tokens and secrets.OS Keychain
Recommended for local installsStores the master key in your system keychain (macOS Keychain, GNOME Keyring, Windows Credential Manager).The wizard generates a 256-bit key and stores it securely.
Environment Variable
For CI/Docker/VPSGenerates a key and prints an export command:Add this to your shell profile or
.env file.Skip
Disable secrets featuresChannel tokens must be set via environment variables instead of the encrypted secrets store.
On macOS, the keychain may prompt for your password twice:
- To unlock the keychain
- To authorize IronClaw access
Step 3: Inference Provider
Select your LLM provider and authenticate.- NEAR AI
- Anthropic
- OpenAI
- Ollama
- OpenRouter
- OpenAI-compatible
Default provider with multi-model access via NEAR account.Authentication:
- Browser OAuth (GitHub/Google) → NEAR AI Chat mode
- API key from cloud.near.ai → NEAR AI Cloud mode
~/.ironclaw/session.json.Step 4: Model Selection
The wizard fetches available models from your provider (with a 5-second timeout) and presents a selection menu. If model fetching fails, a static fallback list is used. You can always enter a custom model ID.Step 5: Embeddings (Semantic Search)
Enable semantic search for workspace memory using vector embeddings. Providers:- NEAR AI (if configured)
- OpenAI (if API key available)
text-embedding-3-small
If you skip this step, workspace search uses keyword matching only.
Step 6: Channel Configuration
Enable input channels for interacting with IronClaw. Available channels:- CLI/TUI (always enabled)
- HTTP Webhook server
- Telegram bot (WASM channel)
- Signal messaging (WASM channel)
- Slack bot (WASM channel)
- ngrok (recommended)
- Cloudflare Tunnel
- localtunnel
- Custom URL
Step 7: Extensions (Tools)
Install WASM tools from the extension registry. Common tools:- Web search (Google, Brave, Tavily)
- Calendar and email
- File operations
- Code execution
"default" are pre-selected. Already installed tools are also pre-checked.
Step 8: Docker Sandbox
Configure isolated container execution for untrusted code. Options:- Enable/disable sandbox
- Container image
- Resource limits
Step 9: Background Tasks (Heartbeat)
Enable periodic background execution for monitoring and maintenance. Configuration:- Interval in minutes (default: 30)
- Notification channel
- Workspace hygiene (automatic cleanup)
Settings Persistence
IronClaw uses a two-layer settings architecture:Layer 1: Bootstrap (.env file)
Settings needed before database connection are written to ~/.ironclaw/.env:
Layer 2: Database
All other settings are stored as key-value pairs in thesettings table:
Remote/VPS Setup
On remote servers, the browser OAuth flow may not work becausehttp://127.0.0.1:9876 is unreachable.
- NEAR AI Cloud API Key
- Custom Callback URL
Recommended for serversSelect option 4 in the NEAR AI auth menu and paste your API key from cloud.near.ai.No local listener needed.
Reconfiguration
You can re-run the wizard at any time:Troubleshooting
PostgreSQL connection fails
PostgreSQL connection fails
Check version:Check pgvector:Install pgvector:
- macOS:
brew install pgvector - Ubuntu:
apt install postgresql-15-pgvector - Docker: Use
pgvector/pgvector:pg15image
Keychain prompts multiple times
Keychain prompts multiple times
macOS system behavior. The keychain triggers two dialogs:
- Unlock keychain
- Authorize app access
Browser OAuth doesn't open
Browser OAuth doesn't open
On remote servers: Use NEAR AI Cloud API key instead (option 4).On local machines: Check if port 9876 is available:
Model fetching times out
Model fetching times out
The wizard falls back to a static model list. You can still select a custom model ID at the end of the list.
