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.
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