Skip to main content
Pipe any text into praisonai run, code, or chat and it is merged with your prompt before the agent runs.

Quick Start

1

Pipe a file into run

2

Pipe into code

3

Pipe into chat


How It Works

The prompt argument and piped stdin are merged before dispatch.

Merge Order

The prompt argument comes first, then the piped body, joined with \n.

Decision Diagram

praisonai run chooses one path per invocation — only the default text path merges piped stdin.

Skip Rules for praisonai run

praisonai run skips the stdin merge when merging a piped body would be meaningless.
  • YAML target — an existing .yaml / .yml file (case-insensitive, so AGENTS.YAML counts). Concatenating a piped body into a YAML path would be nonsense.
  • --agent — a named custom agent runs its own definition.
  • --command — a named custom command uses TARGET as $ARGUMENTS.
  • --restore — the command exits before ingestion, so ... | praisonai run --restore last never drains the pipe.
praisonai code and praisonai chat call resolve_cli_input(prompt) unconditionally at the top of the handler, so they always merge piped stdin.

Size Cap & Platform Notes

Piped input is capped at 10 MB. Larger streams are truncated to 10 MB before merging. Windows piped stdin works as of PraisonAI 2026-07-07 (PR #2705). Because Python’s select.select is socket-only on Windows, the reader now uses a stat-based pipe classifier instead. Both cmd and PowerShell redirection are supported:
Interactive terminals with no redirection continue to skip the stdin read, so a bare praisonai run still drops into the REPL. On Unix the existing select.select() guard is unchanged. To attach a file explicitly instead, --file still works on praisonai code / praisonai chat:

CI / Scripting Examples


Best Practices

The merge order is prompt then piped body, so a leading prompt produces the clearest instruction for the agent.
The YAML skip rule means a pipe into a YAML target is silently ignored. Pass context with --file or write the instruction inline.
The 10 MB cap truncates silently. Trim or tail large streams before piping.
A named agent (--agent) keeps repeatable pipelines cleaner than reshaping stdin every invocation.

Run

Run agents from files or prompts.

Code

Code assistant mode for programming tasks.

Chat

Interactive chat mode with AI agents.

CLI Dispatch

Command dispatch overview.