/docs/
Talkie CLI
Access your voice memos, dictations, and workflows from the command line. Designed for agents and power users who want programmatic access to their voice data.
Installation
The CLI is available as an npm package. It reads directly from Talkie's local SQLite database — no server required.
bun add -g @talkie/app
# Or CLI only
bun add -g @talkie/cli
# Or with the one-liner (installs CLI + app)
curl -fsSL go.usetalkie.com/install | bashOnce installed, the talkie command is available globally. All commands output JSON by default when piped, and human-readable tables in the terminal.
Agent Access Answers
Can agents read Talkie data?
Yes. Agents can call the Talkie CLI to read memos, dictations, searches, workflow runs, transcription results, and local inference output as JSON.
Does the CLI need a server?
No. The CLI reads from the local Talkie library and works without a hosted API for normal memo, dictation, search, and workflow history access.
What tools compose with it?
The output is designed for jq, shell scripts, Claude Code, Codex, MCP-compatible agents, and local model CLIs.
Commands
talkie memos
List and view voice memos with transcripts, summaries, and tasks
talkie dictations
List keyboard dictations with app context metadata
talkie search
Full-text search across all recordings with powerful filters
talkie workflows
View workflow execution history with step-by-step details
talkie stats
App statistics — dictation counts, streaks, top apps
talkie engine
Manage the transcription engine — status, models, transcribe files
talkie inference
Local LLM inference — generate text, chat, manage models
For Agents
The CLI is designed for AI agent integration. All commands output structured JSON when piped, making it easy to compose with tools like jq, Claude Code, or any MCP-compatible agent.
# Feed recent memos to an agent
talkie memos --since 7d | jq '.[].text'
# Search for context on a topic
talkie search "project alpha" --type memo | jq '.[0]'
# Check workflow failures
talkie workflows --status failed | jq '.[] | {name: .workflowName, error: .errorMessage}'
# Transcribe and process a file
talkie engine transcribe recording.m4a | jq '.text'Every command supports prefix ID matching — you don't need the full UUID, just enough characters to be unique. This makes it natural for agents to reference specific recordings.