01
The flight recorder
Claude Code deletes transcripts after 30 days. kaprek reads
~/.claude/projects and keeps the black box: every past session,
served as a searchable thread view with user turns, tool calls, and subagent
transcripts.
The streaming parser handles multi-hundred-megabyte JSONL files without loading them into memory. Full-text search runs on SQLite FTS5, over redacted content only. Viewing transcripts needs nothing beyond Node; only chat and triggers need a signed-in CLI.
02
Missions and the approval inbox
A trigger starts a turn at 03:00. The agent wants to run a command you said should need asking. Nobody is there, so nothing waits: the question is filed to the inbox, the agent is told to carry on with everything else, and the turn ends.
The filed question survives the turn. It survives restarting kaprek. When you answer the next morning, exactly the approved action runs: byte-for-byte, exactly once. The same call a second time, or a call one byte different, goes back into the inbox. Unanswered questions lapse after 24 hours, quietly.
Strict modes block the work. Auto modes let the agent decide alone. kaprek parks the question and then honors your answer.
Missions keep that work together. Name a goal once, point it at a real project directory: every chat, task, and pending question of that work hangs on the mission. By default agents run jailed in kaprek's own workspace; a mission's directory is the one deliberate door out, typed by you, checked on every turn.
03
Triggers, relay, board
Scheduled triggers run prompts through your CLI unattended: on a schedule, on file changes, on clipboard matches. Every run lands in a local run and cost log.
The agent relay hands work between two CLIs. Every handoff is recorded, and after a set number of rounds a human gate stops the loop until you have looked.
The task board enforces its own discipline: a task counts as done only with a complete completion record. Seven fields, checked server-side: what triggered it, the outcome, the approach, the course with its detours, how it was verified, the effort, and what is still open.
04
What leaves your machine
kaprek binds to 127.0.0.1, has zero runtime dependencies, and operates no server of its own. No account, no telemetry.
Stays here
Chat logs, trigger configuration, the run and cost log, the board, the search index, preserved artifacts, the approval inbox. A static guard test fails the build if a network call is added to the Node code.
Goes to Anthropic or OpenAI
Everything an agent actually processes, because your installed CLI sends it under your account. Every chat message, every trigger prompt on every run. kaprek adds no destination of its own and never asks for an API key.
A trigger that runs every 30 minutes is 48 requests a day you did not individually approve. Know that before pointing one at anything sensitive.
Secret redaction is on by default: ten patterns for API keys and tokens, replaced before anything is digested or indexed. These claims are enforced by tests in the repository; read the tests instead of trusting this page.