KV Store
A persistent, encrypted key-value store that lives across sessions. Use it for agent coordination, caching scraped data, storing workflow state, or sharing information between agents.
Operations
| Tool | Description |
|---|---|
| kv_set | Store a value in a namespace. Supports optional TTL. |
| kv_get | Retrieve a value by key from a namespace. |
| kv_list | List keys in a namespace, with optional prefix filter. |
| kv_delete | Delete a key from a namespace. |
| kv_clear | Delete all keys in a namespace. |
Basic usage
Namespaces
Namespaces organize your data and prevent key collisions. Use descriptive names:
"github-issues"— cached issue data from GitHub"deploy-state"— deployment workflow state"agent-coordination"— data shared between multiple agents"scraped-prices"— price monitoring results
Use cases
Caching scraped data
Store results from browser sessions so you don't need to re-scrape. The agent can check the KV store first and only open a browser if the data is stale.
Multi-agent coordination
When running the daemon, multiple agents share the same KV store. One agent can write results that another reads — useful for divide-and-conquer workflows.
Workflow state
Track where a multi-step workflow left off. If the agent crashes mid-workflow, it can read the KV store on restart and pick up where it stopped.
Configuration
Store agent-specific settings that persist across sessions — preferred selectors, API rate limits, or feature flags.
CLI access
The KV store is also accessible from the command line:
Storage
All KV data is stored in pagerunner's encrypted SQLite database. The encryption key lives in the macOS Keychain — values never touch the filesystem in plaintext.
Next: Secrets →