Skip to main content

First-run Credential Check

Both praisonai (bare) and praisonai run verify credentials before executing agent work. Detected env vars (any one satisfies the check): any credential key in PROVIDER_ENV_CATALOGUEOPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, GEMINI_API_KEY, GROQ_API_KEY, COHERE_API_KEY, OPENROUTER_API_KEY, OLLAMA_HOST, MISTRAL_API_KEY, DEEPSEEK_API_KEY, XAI_API_KEY, TOGETHER_API_KEY / TOGETHERAI_API_KEY, PERPLEXITYAI_API_KEY, FIREWORKS_API_KEY / FIREWORKS_AI_API_KEY (full 14-row table). Stored credentials from praisonai setup are also accepted. See First-run Onboarding for details.

Command Tree

praisonai agent create authors a new .praisonai/agents/<name>.md definition interactively or with --yes. See Create Custom Agents for the full walkthrough.

Direct Prompt Examples

The [direct prompt] entry in the tree above means a bare positional that isn’t a .yaml/.yml name routes to Typer run — the same modern engine as praisonai run "<prompt>". Flags accepted by run itself (--model, --continue, --session, --output, --stream, …) are forwarded to run intact; only a genuinely legacy-only flag (e.g. --framework, --auto, --serve) keeps the invocation on the legacy dispatcher (and now prints a one-line stderr notice when it does):
Two typo guards apply. The mistyped-verb guard on the modern dispatcher blocks a lone, non-prefix close typo of a real command (praisonai deploi, memoyr) with exit 2 and a Did you mean …? suggestion, on any invocation. The reserved-verb guard on the legacy path fires only once a legacy-only flag has already forced legacy. A plain praisonai show is not a close match, so it routes to Typer run and is sent to the model as the literal prompt show. See CLI Dispatcher → Two typo guards.
A flagless .yaml/.yml positional reaches the modern run enginepraisonai agents.yaml is equivalent to praisonai run agents.yaml, inheriting session continuity, --output modes, the credential gate and permissions. Global flags in front of it are hoisted ahead of run (praisonai --output-format json agents.yaml--output-format json run agents.yaml). Only a genuinely legacy-only flag (--auto, --serve, --n8n, -s, -f) keeps it on the legacy roles-file dispatcher. See CLI Dispatcher.

Global Flags (70+ flags)

These root-callback flags belong before the subcommand — praisonai --output-format json version, not praisonai version --output-format json. Click accepts a group-level option only ahead of the subcommand; in front of a bare prompt or .yaml target the dispatcher hoists them ahead of the synthesised run. -o / -v are shared with run and stay with it.
As of PR #3818, chat and code open their resident interactive TUI on a standalone pip install praisonai-code — no wrapper required. Default run "…" and every run --output … mode also route through the in-process Agent (PR #2853). The wrapper (pip install praisonai) adds the richer legacy dispatch for code, gateway, and channel bots. See the standalone-limits table.
Fourteen stub command groups — agents, workflow, registry, memory, skills, hooks, rules, eval, package, templates, todo, research, commit, and call — delegate to the wrapper for their legacy entry points. On a standalone install those entry points fail fast with a single-line install hint (<group> requires the full wrapper. Install the full wrapper: pip install praisonai) and exit 1 as of PR #2854 — no more Rich ImportError traceback. Native subcommands stay standalone-safe: memory learn, skills bundle/check/eligible, eval list-judges, eval list. See the mixed-group table.
Note on --tools: Comma-separated tool names (e.g., --tools tavily_search,my_tool) are now resolved via the unified ToolResolver, so any tool reachable from YAML is also reachable from the CLI.

SDK Module Reference

praisonaiagents (Core SDK)

praisonai (Wrapper/CLI)

¹ workflow auto previously raised NameError on _models_cache in every code path; fixed in PR #2147.

Quick Reference

Common Commands

Common Flag Combinations

Error Handling

The CLI provides clean error handling across all display modes.

Budget Exceeded Errors

When agents exceed their budget limits, the CLI catches BudgetExceededError and provides actionable guidance:
Error Handling Features:
  • Works across all display modes: silent (-qq), quiet (-q), default, verbose (-v), debug (-vv), --output jsonl, --output json, --output editor
  • Returns exit code 1 for budget exceeded errors
  • Includes remediation hints in error messages
  • No raw Python tracebacks in production

praisonai init

praisonai init scaffolds a .praisonai/ project structure (config.yaml, starter agent, starter command). The scaffolded model is set to match whichever provider credential is detected in your environment: When no provider credential is detected, praisonai init prints:
When a credential is detected, it prints:

praisonai session resume

praisonai session resume <id> restores full conversational state — chat history, model, and agent name — for a prior session. See the dedicated Session Resume page for full details.

praisonai usage

praisonai usage reports aggregate token and cost totals from the local session store — no network, no configuration. See the dedicated Usage CLI page for options and JSON output.

See Also