Documentation Index
Fetch the complete documentation index at: https://docs.praison.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Interactive Runtime provides a unified core runtime that powers all interactive modes in PraisonAI:praisonai chat- Interactive chat modepraisonai chat- Interactive terminal chat modepraisonai tui launch- Full-screen TUI mode
- Session storage and continuation
- Tool dispatch and loading
- Permission/approval semantics
- Event-based architecture
Installation
Quick Start
Configuration
RuntimeConfig
| Parameter | Type | Default | Description |
|---|---|---|---|
workspace | str | ”.” | Workspace root directory |
lsp_enabled | bool | True | Enable LSP code intelligence |
acp_enabled | bool | True | Enable ACP action orchestration |
approval_mode | str | ”manual” | Approval mode: manual, auto, scoped |
trace_enabled | bool | False | Enable trace logging |
trace_file | str | None | Path to save trace file |
json_output | bool | False | Output JSON format |
timeout | float | 60.0 | Operation timeout in seconds |
model | str | None | LLM model to use |
verbose | bool | False | Verbose output |
Runtime Status
Subsystem States
| Status | Description |
|---|---|
not_started | Subsystem not initialized |
starting | Subsystem is starting |
ready | Subsystem is ready for use |
failed | Subsystem failed to start |
stopped | Subsystem has been stopped |
LSP Operations
When LSP is ready, you can use code intelligence:ACP Operations
When ACP is ready, you can create and apply action plans:Tracing
Enable tracing to capture all operations:Graceful Degradation
The runtime handles subsystem failures gracefully:- LSP fails: Code intelligence falls back to regex-based extraction
- ACP fails: Runtime enters read-only mode (no file modifications)
CLI Integration
The runtime integrates with CLI flags:Lifecycle in YAML runs (framework: praisonai)
Setting config.acp: true or config.lsp: true in YAML triggers the same InteractiveRuntime lifecycle as the Python API:
YAML Runtime Lifecycle
YAML Configuration Details
The YAML route uses defaultRuntimeConfig values with these settings:
- Workspace:
os.getcwd()(current working directory) - Approval Mode:
PRAISONAI_APPROVAL_MODEenvironment variable (default:"prompt") - Trace Enabled: Not explicitly set (uses RuntimeConfig default)
Full RuntimeConfig Control
For fullRuntimeConfig control, use the Python API directly:
For more details on agent-centric tools and InteractiveRuntime integration, see PraisonAI Agents Framework.As of PR #1658 (May 2026), ACP/LSP agent-centric tools work end-to-end in YAML runs. Earlier versions had a premature-teardown bug — upgrade to praisonai ≥ 0.0.58.
Operational Notes
Performance
- Subsystems start in parallel for faster initialization
- LSP client is lazy-loaded only when enabled
- ACP session is lightweight (in-process)
Dependencies
pylsp(optional) - For Python LSP supportpyright(optional) - Alternative Python LSP
Production Caveats
- LSP startup may take a few seconds for large workspaces
- Trace files can grow large for long sessions
- ACP session is in-memory; external storage needed for persistence
Concurrency safety
InteractiveRuntime.start() and .stop() are coroutines. The CLI boots them through the persistent background loop via the Async Bridge, so they are safe to call from sync code (e.g. inside PraisonAI._run_praisonai). Calling PraisonAI.run() from inside a running event loop raises RuntimeError instead of deadlocking — wrap your async caller around the runtime directly instead.
How sync/async crossings work in the wrapper layer
InteractiveCore (Unified Runtime)
The newInteractiveCore provides a unified runtime for all interactive modes:
CLI Flags
| Flag | Short | Description |
|---|---|---|
--model | -m | LLM model to use |
--session | -s | Session ID to resume |
--continue | -c | Continue last session |
--file | -f | Attach file(s) to prompt |
--workspace | -w | Workspace directory |
--verbose | -v | Verbose output |
--memory | Enable memory |
Session Management
Approval Modes
The runtime supports three approval modes:| Mode | Description |
|---|---|
prompt | Ask user for each action (default) |
auto | Auto-approve all actions |
reject | Reject all actions requiring approval |
Related
- Agent-Centric Tools - Tools powered by this runtime
- Debug CLI - Debug commands
- ACP - Agent Communication Protocol

