Roadmap
What’s next — and what never will be.
Turnlog is actively built. This page is the honest version of where it’s going: order, not deadlines. Anything already released lives on the changelog.
The day a second adapter shipped, the interesting thing stopped being the adapter: one searchable history of every agent you’ve pointed at a repo. Codex sessions have shared the index — and the project timelines — with Claude Code since v0.9.0. Cursor joined them in v0.11.0, CLI and IDE both.
- —
No native module — installs that survive npm 12
The index moved into the SQLite that ships inside Node. npm 12 stopped running install scripts by default and the old native module needed one, so
npx turnloginstalled and then could not start; now there is nothing to compile, download or approve, on any npm, and the one runtime dependency left is a file watcher. The index file is unchanged. - —
A Commands screen, and sessions that rank themselves
Running commands is 40% of everything agents do, so they got the Files treatment: every command any agent ever ran, grouped across sessions with run and failure counts, plus a
cmd:operator. And the sidebar’s new notable sort ranks sessions by what the index already knows — length, cost, errors, files other sessions keep touching — no model, no homework. - —
Search by git branch, and related sessions
branch:feature/authcomposes with the whole grammar, so “everything any agent did on this branch, that errored, this week” is one query. Andlike:<session-id>answers “have I solved this before” from a session’s own rarest words — computed locally, no model involved, and free to any agent querying over MCP because it is only an operator. - —
Every repo gets a page — and a Projects screen to find them
One place per project: every agent’s sessions interleaved newest-first, who worked there and how much, the files it touched most, its tags, its spend, and a live row when something is running in it right now. The cross-agent promise stops being a filter on three screens and becomes a place you can link to.
- —
A bookmarks page, and captions to go with it
Every moment you ever marked, across every session, newest first — each with a caption in your own words, because thirty unlabelled marks are thirty message prefixes to re-read.
- —
Screenshots in the replay, split diffs, recurring failures
Images you pasted to an agent (and the ones tools handed back) render inline, decoded from the record you already have. Diffs read unified or side by side, everywhere they appear. And
is:errornow groups the same failure across runs — “this happened in 13 sessions across 3 projects” — by a mechanical rule, with no model involved. - —
Cursor support — the CLI and the IDE
cursor-agent transcripts index like any other agent’s logs; IDE chats are read from a copy of Cursor’s own database (the original is never opened), with titles, workspace projects, and the costs Cursor recorded. One timeline per repo now spans three agents.
- —
OpenAI Codex CLI support — with real costs
Rollouts under
~/.codex/sessionsindex automatically; Codex work joins your Claude Code work on the same project, with exact token counts and — since v0.11.0 — costs priced from a shipped OpenAI table. - —
turnlog doctor, folding HTML exports, context over MCPA one-paste diagnostic report; shared sessions that fold turn by turn with no script; and an MCP tool that tells an agent whether a past session was compacted before it trusts what it recalls.
- —
Agent memory over MCP
One command registers your history as a read-only MCP server; Claude Code queries how past work was done without leaving your machine.
- —
A real query language
tool:,is:error,project:,agent:,tag:,path:, plain-word dates — plus saved searches, refine chips, and opt-in deep search that matches inside words. - —
The search timeline
Every matching session as a dot on a time axis — “when did this keep coming up?” answered over the full match set.
- —
Context curve with compaction markers
How full the window was at every response, where it was compacted, and a chip on the turn where it happened.
- —
⌘K palette, keyboard spine, session tags, the Now card
Fuzzy-switch anything;
j/k/enterwalk a replay; label sessions and searchtag:billing; watch what your agents are doing this minute. - —
Chains, exports, health
Resumed conversations read as one (and are billed once); sessions leave as markdown, styled HTML, or JSON with redaction and turn ranges; the health panel makes format drift a number on screen.
Next
What is actually being worked on, in rough order of intent — not a schedule.
- 01
A project that survives being moved
A project is identified by its path today, so renaming or moving a repo quietly splits its history across two project pages. Anchoring identity on the git remote — which the logs already carry — lets a moved repo re-join itself, with a merge you confirm rather than one that happens silently.
- 02
Gemini CLI and OpenCode adapters
The next agents into the index, in whichever order demand actually shows up.
Later
Real directions, paced by whether people ask. Nothing here is started.
- 01
Commit correlation — what actually landed
A session says what an agent did; your git history says what survived. Lining the two up locally would answer “which of this work is still in the tree” without either side leaving your machine.
- 02
The demand-driven adapter tail
Aider, Copilot CLI, Amp, Crush — each one indexed when enough people actually run it. The bar is the same for all of them: a search adapter on the normalized layer, never a special case.
04 — Never
The list that doesn’t move.
Every item below would make Turnlog more valuable to build a business on, and every one of them would break the single promise the tool makes. They are not “not yet”. They are not on the list at all.
Telemetry
No usage pings, no crash reporting, no “anonymous” counters. The moment a local tool measures you, “it never leaves your machine” needs an asterisk — and asterisks are how trust dies.
Accounts
Nothing to sign up for, no license key, no login wall. Turnlog reads files that are already yours; asking who you are to do that would be theatre.
A cloud
No hosted version, no sync, no uploading an index “for convenience”. Your prompts and diffs are the most sensitive text on your disk and the safest place to keep them is where they already are.
Team sync
No shared workspaces, no seats, no org dashboards. Aggregating a team’s sessions requires a server that holds everyone’s history — the exact thing this tool exists to avoid. Sharing stays a file you export and send.
“Insights” dashboards
No productivity scores, no leaderboards, no AI summary of how you work. Turnlog reports what happened and what it cost; anything that grades a developer from their session log is a management product wearing a developer tool’s clothes.
Selling anything
No paid tier, no pro features held back, no upsell in the UI. It started as a $19 product and shipped MIT instead; every version stays installable from npm forever.
MIT · no accounts · no telemetry · no cloud · nothing for sale