Skip to main content
praisonai daemon keeps provider clients, MCP connections, and agents hot in memory — repeated praisonai run calls reuse the already-warm agent instead of paying cold-start costs every time.

Quick Start

1

Install PraisonAI

2

Start the warm runtime in the background

3

Run prompts — they attach automatically

No flag, no env var. When the daemon is running, praisonai run forwards to it automatically. Bare prompts (praisonai "Hello") route to run, so they reuse the same warm path.
4

Check status and stop when done


How It Works


When run Falls Back to In-Process

praisonai run does not forward to the daemon when you use these flags. They are handled in-process instead: When any of these flags is set, run behaves exactly as if no daemon were running — fully backward compatible.

CLI Reference

praisonai daemon start

Start the warm runtime server.
--background spawns python -m praisonai_code.runtime as a detached process. The wrapper shim python -m praisonai.runtime remains for full-stack installs. Foreground and background modes both work on a standalone pip install praisonai-code.

praisonai daemon status

praisonai daemon stop

Sends SIGTERM to the daemon process. If the lockfile is stale (PID reuse), cleans up the lockfile instead of killing a random process.

Version compatibility

The warm runtime records its package version in the lockfile. Thin clients (praisonai run, praisonai attach) require a matching major version before reusing the runtime — a stale daemon after upgrade is ignored and the CLI falls back to in-process execution (or attach exits with code 1). After upgrading PraisonAI:
See Attach for streaming live session events from a second terminal.

Security

The daemon only binds to loopback (127.0.0.1). Any --host value that is not a loopback address is rejected at startup with exit code 1.

Troubleshooting

The lockfile exists but the PID it points to is dead. This usually happens after a crash or force-kill.Fix: Run praisonai daemon stop — it detects the stale lockfile and cleans it up automatically. Then praisonai daemon start again.
The daemon started but did not write its lockfile within the timeout.Fix: Try starting in foreground mode first (praisonai daemon start) to see error output. Common causes: port already in use, missing credentials, MCP server refusing connection.
Verify the daemon is actually running and being detected:
If the daemon is running but run is still in-process, you may be using a flag that forces in-process execution (see the fallback table above).
On some systems, background detach requires a clean environment. Try:

Models

Default model resolution — which model the daemon uses when none is specified

MCP

MCP handshake is the biggest cold-start cost that the daemon eliminates

Session Resume

For stateful multi-turn continuity (not forwarded to daemon)

CLI Reference

Full CLI flag reference

Attach

Stream live session events from another terminal