Skip to content

Data Locations

sivtr is local-first. Most data it uses is already on your machine, and generated data is written under platform config or state directories unless you explicitly export it elsewhere.

PlatformPath
Windows%APPDATA%\sivtr\config.toml
macOS~/Library/Application Support/sivtr/config.toml
Linux~/.config/sivtr/config.toml

Shell integration writes per-process structured session logs.

Shell/platformTypical path
Windows PowerShell / PowerShell 7%APPDATA%\sivtr\session_<pid>.log
Bash / Zsh$XDG_STATE_HOME/sivtr/session_<pid>.log or ~/.local/state/sivtr/session_<pid>.log
NushellNushell config/state area with a sivtr session file

These logs power:

  • sivtr import;
  • sivtr copy command-block workflows;
  • sivtr diff;
  • command-block navigation in the browser.

Captured terminal output is stored in a local SQLite history database when [history].auto_save = true.

Use CLI commands instead of editing the database directly:

Terminal window
sivtr history list
sivtr history search "panic"
sivtr history show 42

Retention is controlled by:

[history]
max_entries = 0

0 means unlimited.

sivtr reads provider-owned local data. It does not upload transcripts.

ProviderData source
Codex~/.codex/sessions rollout JSONL files
Claude CodeCurrent transcript/session environment and local Claude transcripts
HermesPrimary: $HERMES_HOME/state.db (Windows default %LOCALAPPDATA%\hermes, else ~/.hermes). Residual: sessions/*.jsonl under the same home.
OpenCodeOpenCode local database
Cursor~/.cursor/projects/**/agent-transcripts/**/*.jsonl (override home with CURSOR_HOME)
OpenClaw~/.openclaw/agents/<id>/agent/openclaw-agent.sqlite (legacy JSONL under sessions/)
Grok~/.grok/sessions/** (summary.json + chat_history.jsonl; override home with GROK_HOME)
PiPi agent session JSONL files

Provider formats differ; sivtr normalizes them into sessions and dialogue units for copy, picker, search, and show workflows.

codex export writes a copy of local Codex session files into a destination you choose:

Terminal window
sivtr codex export --dest /srv/sivtr/root-codex

The destination receives a sessions/ tree. Another account can read it by adding:

[codex]
session_dirs = ["/srv/sivtr/root-codex/sessions"]

Use read-only permissions for shared mirrors when possible.

Linux shortcut generation writes:

  • ~/.local/bin/sivtr-pick-codex;
  • ~/.local/share/applications/sivtr-pick-codex.desktop.

macOS shortcut generation writes:

  • ~/.local/bin/sivtr-pick-codex;
  • ~/Library/LaunchAgents/dev.sivtr.pick-codex.plist.

Windows hotkey state is stored under sivtr’s platform config/state area and is managed by:

Terminal window
sivtr hotkey status
sivtr hotkey stop

Cross-device remote memory uses a device-scoped daemon. Override the root with SIVTR_DATA_DIR; otherwise it is the platform config directory under sivtr (same root as data_dir()).

FilePurpose
identity.keyStable device identity for iroh
remote-state.dbSQLite peers, shares, grants, invites, mounts, audit
daemon.jsonRunning daemon control info (port, token, node id)
daemon.lockSingle-instance lock
daemon.logDaemon log file (sivtr serve logs)
Terminal window
sivtr serve status
sivtr serve logs
sivtr share list
sivtr remote list
sivtr peer list
sivtr ws list

Remote access is opt-in. Nothing is shared until sivtr share (or share add) runs. Mounts are workspace-local aliases registered with sivtr remote add. Feature guide: Remote Access.