Command reference
This page lists commonly used Bestie CLI commands. Run commands from the environment where the bestie package is installed, not from the docs-site repository unless you are only building documentation.
Install, onboard, verify, then chat.
bestie onboard
Manage Telegram and Zalo under the channel namespace.
bestie channels list
Use daemon for manual processes or service for OS-managed startup.
bestie service status
npm install -g bestie-agentbestie --helpbestie onboardbestie onboard --skip-provider-testbestie statusbestie logsbestie doctorLLM providers
Section titled “LLM providers”bestie llm providersbestie llm setup --provider openai --set-defaultbestie llm setup --provider anthropicbestie llm setup --provider geminibestie llm setup --provider ollamabestie llm models --provider openaibestie llm models add --model openai/gpt-4.1 --profile openai:api-keybestie llm models remove --model openai/gpt-4.1bestie llm test --model openai/gpt-4.1bestie llm profiles listbestie llm profiles show --profile openai:api-keybestie llm profiles remove --profile openai:api-keybestie llm fallbacks listbestie llm fallbacks add --model anthropic/claude-sonnet-4-5bestie llm fallbacks remove --model anthropic/claude-sonnet-4-5bestie llm setup writes provider profiles and model catalog entries. Existing primary models stay active unless you pass --set-default. Antigravity appears as a future OAuth provider, but OAuth setup is not implemented yet.
bestie chatInside terminal chat:
/help/status/memory/memory pause/memory resume/pendingAgent Workforce
Section titled “Agent Workforce”bestie agents listbestie agents hire --id docs --name "Docs Editor" --role documentation --description "Maintain local product docs."bestie agents assign --agent docs --brief "Review the onboarding guide."bestie agents tasks --agent docs --status queuedbestie agents run --agent docs --limit 1bestie agents pause docsbestie agents resume docsSee Agent Workforce for the local task-queue workflow and task status values.
Local web console
Section titled “Local web console”bestie uibestie ui --no-openbestie ui --port 8717bestie ui --port 0 --no-openThe command prints the local URL; open that URL in a browser yourself and keep the command running until you are done. Browser auto-open is not implemented yet, so --no-open currently only prints a shorter keep-running message. The local console exposes runtime status, Doctor, providers, character, memory, channels, approvals, MCP, tools, and settings against the same ~/.bestie/ runtime files.
Doctor
Section titled “Doctor”bestie doctorbestie doctor --jsonbestie doctor --fixbestie doctor --telegram-connectbestie doctor --zalo-connectbestie doctor --telegram-speech-testSkills
Section titled “Skills”Skills are reusable prompt packs loaded from ~/.bestie/skills/<skill-name>/SKILL.md and injected into chat prompts.
bestie skillsbestie skills listUpdate
Section titled “Update”bestie updatebestie update --applybestie update checks npm for a newer release. bestie update --apply runs npm install -g bestie-agent@latest.
Channels
Section titled “Channels”bestie channelsbestie channels listbestie channels statusbestie channels doctorbestie channels doctor --channel telegram --connectbestie channels doctor --channel zalo --connect --jsonLegacy top-level channel commands are replaced by bestie channels telegram and bestie channels zalo.
Telegram
Section titled “Telegram”bestie channels telegram setupbestie channels telegram whoamibestie channels telegrambestie channels telegram --oncebestie channels telegram --once --transcript ~/.bestie/logs/telegram-smoke.jsonlSupported owner slash commands include /start, /help, /status, /doctor, /providers, /memory, /memory pending, /approvals, /approve <id>, and /deny <id>.
bestie channels zalo setupbestie channels zalobestie channels zalo --oncebestie channels zalo --once --transcript ~/.bestie/logs/zalo-smoke.jsonlbestie channels zalo --transcript ~/.bestie/logs/zalo-smoke.jsonl --capture-shapeZalo is currently owner-only and text-only.
bestie voice setup-localbestie voice setup-elevenlabsbestie voice modelsbestie voice download-model smallbestie voice download-model small --confirm --usebestie channels telegram voice ... may exist as a compatibility alias, but new docs should use the top-level bestie voice ... commands because voice is a shared capability.
bestie cron addbestie cron add --name daily-priority-check --type cron_expr --schedule "0 9 * * *" --prompt "Summarize today's priorities."bestie cron listbestie cron logsbestie cron logs 3bestie cron toggle 3bestie cron remove 3bestie cron rm 3bestie cron runCron jobs run as isolated Bestie turns. Keep prompts narrow and do not put secrets in schedule prompts.
Daemon
Section titled “Daemon”bestie daemon start --channel telegrambestie daemon start --channel zalobestie daemon start --channel cronbestie daemon start --channel allbestie daemon status --channel allbestie daemon restart --channel telegrambestie daemon stop --channel allService
Section titled “Service”bestie service installbestie service statusbestie service restartbestie service uninstallThe service command manages user-level startup integration: Linux systemd, macOS launchd, or a Windows Startup shortcut. Linux uses one bestie.service for configured service targets.
Memory
Section titled “Memory”bestie memory statusbestie memory pausebestie memory resumebestie memory listbestie memory list --scope corebestie memory tiersbestie memory summarybestie memory search concisebestie memory add communication_preference "User prefers concise replies."bestie memory inspect 1bestie memory edit 1 "Updated memory text."bestie memory pin 1bestie memory unpin 1bestie memory move 1 --scope projectbestie memory supersede 1 2bestie memory forget 1bestie memory messages --limit 5 --role userbestie memory messages search project --limit 5 --role assistantbestie memory exportbestie memory clear --yesbestie memory pending --limit 5bestie memory pending search hanoi --limit 5bestie memory pending inspect 1bestie memory approve 1bestie memory reject 1bestie memory reject-all --yesbestie memory analyze --mode duplicatesbestie memory cleanup --dry-runbestie memory cleanup --apply --yesbestie memory hygiene statusbestie memory hygiene doctor --fixbestie memory hygiene trendbestie memory rebalance --dry-runbestie memory rebalance --apply --yesbestie memory maintenance install --channel telegram:123456789bestie memory maintenance statusbestie memory governance policy governedKnowledge graph
Section titled “Knowledge graph”bestie memory graph statusbestie memory graph search Bestiebestie memory graph entities --kind projectbestie memory graph relations --limit 20bestie memory graph inspect entity 1bestie memory graph inspect relation 1bestie memory graph add entity project Bestiebestie memory graph add relation 1 works_on 2 "Owner is building Bestie."bestie memory graph analyze --jsonbestie memory graph hygiene --jsonbestie memory graph review --limit 5bestie memory graph pending --limit 10bestie memory graph pending inspect 1bestie memory graph pending sanitize 1bestie memory graph approve 1bestie memory graph reject 1bestie memory graph merge entity 1 2 --yesbestie memory graph update relation 1 --confidence 0.8 --evidence "Verified evidence" --yesbestie memory graph forget relation 1 --yesbestie memory graph exportGraph writes and cleanup follow memory and delete policies. Do not store secrets as graph evidence.
bestie tools logs --lines 20bestie tools memories --limit 5bestie tools git statusbestie tools git diffbestie tools git diff --stagedbestie tools git log --limit 5bestie tools attachments cleanup --older-than 7d --kinds voice,audiobestie tools attachments cleanup --older-than 7d --kinds voice,audio --confirmAttachment cleanup is a dry run until --confirm is included.
bestie mcp listbestie mcp add remote-docs --url https://example.com/mcp --transport streamable-httpbestie mcp add remote-docs --url https://example.com/mcp --oauth-client-id bestie-localbestie mcp login remote-docsbestie mcp login remote-docs --code <code>bestie mcp show remote-docsbestie mcp test remote-docsbestie mcp test remote-docs --connectbestie mcp tools remote-docs --connectbestie mcp classify remote-docs read_file --category readbestie mcp call remote-docs read_file --read --json '{"path":"README.md"}'bestie mcp call remote-docs read_file --read --ask --json '{"path":"README.md"}'Project validation
Section titled “Project validation”Run these from the Bestie core repository:
npm run buildnpm testnpm run smokenpm run smoke:uinpm run smoke:ui:allnpm run eval:characterReal Telegram smoke is opt-in and requires a fresh owner message:
BESTIE_TELEGRAM_REAL_SMOKE=1 npm run smoke:telegram:realReal Zalo smoke is opt-in and requires configured Zalo credentials:
npm run smoke:zalo:real