Skip to main content
praisonai attach subscribes to a live agent session on the warm runtime and streams its events in real time from a second terminal — read-only, with multiple observers supported.

Quick Start

1

Start the warm runtime

2

Run an agent with a session id (terminal A)

3

Attach from another terminal (terminal B)


Usage


How It Works

Attaching never starts execution — it only observes. Detaching (Ctrl-C) does not stop the run on terminal A.
Events arrive over Server-Sent Events at GET /sessions/{session_id}/events with Bearer auth from the runtime lockfile. Session ids are percent-encoded on the wire. A : keep-alive comment is sent every ~15s and ignored.

Event Reference


Exit Codes


Common Patterns

Watch a long-running agent from a second terminal — start with --attach, observe progress without blocking terminal A. Pipe JSON into jqpraisonai attach my-session --json | jq 'select(.type=="run.result")'. Multiple observers — several terminals can attach to the same session concurrently; all receive the same events.

Best Practices

Run praisonai daemon start before run --attach. Without a warm runtime, attach exits with code 1.
--attach on praisonai run works for direct prompts only — not YAML files, --agent, or --command.
Ctrl-C in an attach terminal never cancels the underlying agent run.
If CLI and daemon major versions differ, attach refuses to connect. Run praisonai daemon stop && praisonai daemon start after upgrading.

Run

--attach flag for tagging warm-runtime sessions

Daemon

Warm runtime lifecycle and version handshake