CLI Reference
The chtbio command-line tool manages your Chat-in-Bio instance.
Global options
chtbio [OPTIONS] COMMAND [ARGS]...
| Option | Env var | Description |
|---|---|---|
--url TEXT | CHTBIO_URL | Server URL (default: http://localhost:8000) |
--api-key TEXT | CHTBIO_API_KEY | API key for authentication |
--format [table|json] | CHTBIO_OUTPUT_FORMAT | Output format |
-y, --yes | Skip all confirmations | |
--version | Show version |
Config
chtbio config init # Create config + policy files
chtbio config show # Show current configuration
chtbio config set KEY VALUE # Set a config value
chtbio config get KEY # Get a config value
Status
chtbio status # Instance overview (owner, bot, content counts)
Owner
chtbio owner get # Show owner profile
chtbio owner set [OPTIONS] # Update owner profile
Owner set options: --name, --slug, --email, --bio, --tagline, --avatar-url, --social-links (JSON), --theme-config (JSON).
Bot
chtbio bot get # Show bot configuration
chtbio bot set [OPTIONS] # Update bot configuration
Bot set options: --prompt, --greeting, --provider, --model, --temperature, --tools (JSON), --quick-actions (JSON).
Content resources
All content types follow the same pattern:
chtbio <resource> list
chtbio <resource> add [OPTIONS]
chtbio <resource> update ID [OPTIONS]
chtbio <resource> remove ID
Links
chtbio links list
chtbio links add --title "Blog" --url "https://blog.test"
chtbio links update abc123 --title "Updated"
chtbio links remove abc123
Options: --title, --url, --icon, --description, --sort-order, --is-active.
Products
chtbio products add --title "Course" --price-cents 4999 --product-type course
Options: --title, --description, --price-cents, --currency, --product-type, --external-url, --image-url.
Events
chtbio events add --title "Webinar" --start-time "2026-04-15T18:00:00+00:00"
Options: --title, --description, --start-time, --end-time, --timezone, --max-attendees.
Bookings
chtbio bookings add --day-of-week 1 --start-time "09:00:00" --end-time "09:30:00"
Options: --day-of-week, --start-time, --end-time, --duration-minutes.
FAQ
chtbio faq add --question "What do you do?" --answer "I build software."
Options: --question, --answer, --category, --sort-order.
Portfolio
chtbio portfolio add --title "Project X" --link-url "https://github.com/..."
Options: --title, --description, --image-url, --link-url, --category, --sort-order.
Integrations
chtbio integrations add --provider google --credentials "token" --scopes '["calendar"]'
Options: --provider, --credentials, --scopes (JSON), --is-active.
API Keys (RBAC)
chtbio keys list # List all keys (masked)
chtbio keys create --role editor --label "CI key" # Create new key
chtbio keys revoke KEY_ID # Revoke a key
Roles: admin (full access), editor (create/update, no delete), viewer (read-only).
Output formats
Table (default) — human-readable Rich tables:
chtbio links list
JSON — machine-readable, ideal for scripting and agents:
chtbio --format json links list
chtbio --format json status
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Error (auth, permission, not found, policy violation) |