Skip to main content
The run command manages async job execution for agents and recipes via a jobs server.
run is overloaded. praisonai run <yaml-file> runs the team through the modern agent runner (see Run CLI); praisonai run <verb> — where <verb> is submit, status, result, cancel, list, or stream — reaches the jobs API documented below. Reserved job verbs win over a same-named file in the current directory, so praisonai run submit "…" always reaches jobs even if a file called submit exists in cwd. Use an explicit path (praisonai run ./submit) to force the agent runner in that case.

Quick Start

Commands Overview

How routing works inside run

praisonai run inspects its first positional token to decide between the async-jobs API and the modern agent runner.
Free-text prompts belong to the bare-prompt shape praisonai "…" (which the CLI Dispatcher rewrites to a modern run invocation), not to praisonai run "…". Typing run explicitly with a non-file, non-verb token still falls through to the jobs argparse parser and errors with invalid choice.

Starting the Jobs Server

Before using job commands, start the jobs server:

Submit a Job

Basic Submission

Submit with Recipe

Submit with Agent File

Advanced Options

Submit Options

Check Job Status

Status Output

Get Job Result

Stream Job Progress

Stream real-time progress updates via SSE:

Stream Output

List Jobs

Cancel a Job

Idempotency

Prevent duplicate job submissions:

Idempotency Scopes

Webhooks

Configure webhooks to receive notifications when jobs complete:
Webhook payload:

Session Grouping

Group related jobs by session:

Python API

Complete Workflow Example

Scripting with JSON

See Also