> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# paths • AI Agent SDK

> Centralized Path Utilities for PraisonAI Agents.

# paths

<Badge color="blue">AI Agent</Badge>

Centralized Path Utilities for PraisonAI Agents.

All persistent data uses \~/.praisonai/ by default. Override with the
PRAISONAI\_HOME environment variable for a single-root layout.

For fresh installs (no PRAISONAI\_HOME and no existing \~/.praisonai or
\~/.praison), the XDG Base Directory specification is honoured when the
corresponding variables are set:
config -> $XDG_CONFIG_HOME/praisonai  (else ~/.config/praisonai)
    data   -&gt; $XDG\_DATA\_HOME/praisonai    (else \~/.praisonai)
state  -> $XDG_STATE_HOME/praisonai   (else ~/.local/state/praisonai)
    cache  -&gt; $XDG\_CACHE\_HOME/praisonai   (else \~/.cache/praisonai)
An existing single root (PRAISONAI\_HOME or ~~/.praisonai/~~/.praison) keeps all
classes together, preserving full backward compatibility.

This module provides a single source of truth for all data storage paths,
eliminating hardcoded paths throughout the codebase (DRY principle).

Usage:

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents.paths import get_data_dir, get_sessions_dir

# Get user data directory
data_dir = get_data_dir()  # ~/.praisonai/

# Get specific subdirectories
sessions_dir = get_sessions_dir()  # ~/.praisonai/sessions/

# Override with environment variable
# export PRAISONAI_HOME=/custom/path
# data_dir = get_data_dir()  # /custom/path/
```

Backward Compatibility:
If \~/.praisonai/ doesn't exist but \~/.praison/ does, the legacy
path will be used with a deprecation warning. Run 'praisonai migrate-data'
to migrate to the new location.

## Import

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import paths
```

## Functions

<CardGroup cols={2}>
  <Card title="get_data_dir()" icon="function" href="../functions/get_data_dir">
    Get PraisonAI data directory.
  </Card>

  <Card title="get_config_dir()" icon="function" href="../functions/get_config_dir">
    Get PraisonAI config directory (editable config, credentials, rules).
  </Card>

  <Card title="get_state_dir()" icon="function" href="../functions/get_state_dir">
    Get PraisonAI state directory (machine-local: MRU model, logs, spill).
  </Card>

  <Card title="get_sessions_dir()" icon="function" href="../functions/get_sessions_dir">
    Get sessions directory.
  </Card>

  <Card title="get_session_spill_dir()" icon="function" href="../functions/get_session_spill_dir">
    Get the session spill directory (last-resort salvage on write failure).
  </Card>

  <Card title="get_skills_dir()" icon="function" href="../functions/get_skills_dir">
    Get user skills directory.
  </Card>

  <Card title="get_plugins_dir()" icon="function" href="../functions/get_plugins_dir">
    Get user plugins directory.
  </Card>

  <Card title="get_mcp_dir()" icon="function" href="../functions/get_mcp_dir">
    Get MCP config directory.
  </Card>

  <Card title="get_docs_dir()" icon="function" href="../functions/get_docs_dir">
    Get docs directory.
  </Card>

  <Card title="get_rules_dir()" icon="function" href="../functions/get_rules_dir">
    Get rules directory.
  </Card>

  <Card title="get_permissions_dir()" icon="function" href="../functions/get_permissions_dir">
    Get permissions directory.
  </Card>

  <Card title="get_storage_dir()" icon="function" href="../functions/get_storage_dir">
    Get generic storage directory.
  </Card>

  <Card title="get_checkpoints_dir()" icon="function" href="../functions/get_checkpoints_dir">
    Get checkpoints directory.
  </Card>

  <Card title="get_snapshots_dir()" icon="function" href="../functions/get_snapshots_dir">
    Get snapshots directory.
  </Card>

  <Card title="get_learn_dir()" icon="function" href="../functions/get_learn_dir">
    Get learn directory for learning stores.
  </Card>

  <Card title="get_cache_dir()" icon="function" href="../functions/get_cache_dir">
    Get cache directory (disposable data).
  </Card>

  <Card title="get_mcp_auth_path()" icon="function" href="../functions/get_mcp_auth_path">
    Get path to MCP auth storage file.
  </Card>

  <Card title="get_memory_dir()" icon="function" href="../functions/get_memory_dir">
    Get memory directory for short/long term databases.
  </Card>

  <Card title="get_workflows_dir()" icon="function" href="../functions/get_workflows_dir">
    Get workflows directory.
  </Card>

  <Card title="get_summaries_dir()" icon="function" href="../functions/get_summaries_dir">
    Get summaries directory for RAG.
  </Card>

  <Card title="get_prp_dir()" icon="function" href="../functions/get_prp_dir">
    Get PRP (Prompt Response Pair) output directory.
  </Card>

  <Card title="get_runs_dir()" icon="function" href="../functions/get_runs_dir">
    Get runs directory for artifacts.
  </Card>

  <Card title="get_project_data_dir()" icon="function" href="../functions/get_project_data_dir">
    Get project-level data directory.
  </Card>

  <Card title="get_project_sessions_dir()" icon="function" href="../functions/get_project_sessions_dir">
    Get project-level sessions directory.
  </Card>

  <Card title="get_project_knowledge_dir()" icon="function" href="../functions/get_project_knowledge_dir">
    Get project-level knowledge directory.
  </Card>

  <Card title="get_project_summaries_dir()" icon="function" href="../functions/get_project_summaries_dir">
    Get project-level summaries directory for RAG.
  </Card>

  <Card title="get_project_prp_dir()" icon="function" href="../functions/get_project_prp_dir">
    Get project-level PRP output directory.
  </Card>

  <Card title="get_config_path()" icon="function" href="../functions/get_config_path">
    Get path to the main config.yaml file.
  </Card>

  <Card title="get_schedules_dir()" icon="function" href="../functions/get_schedules_dir">
    Get schedules directory.
  </Card>

  <Card title="get_storage_path()" icon="function" href="../functions/get_storage_path">
    Get default SQLite storage database path.
  </Card>

  <Card title="ensure_dir()" icon="function" href="../functions/ensure_dir">
    Ensure a directory exists, creating it if necessary.
  </Card>

  <Card title="get_all_paths()" icon="function" href="../functions/get_all_paths">
    Get all PraisonAI data paths.
  </Card>
</CardGroup>

### Constants

| Name               | Value              |
| ------------------ | ------------------ |
| `ENV_VAR`          | `'PRAISONAI_HOME'` |
| `DEFAULT_DIR_NAME` | `'.praisonai'`     |
| `LEGACY_DIR_NAME`  | `'.praison'`       |
| `XDG_APP_NAME`     | `'praisonai'`      |
