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.

01

Shipped

Recent highlights, one line each. The changelog has all of it →

  • —

    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 turnlog installed 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/auth composes with the whole grammar, so “everything any agent did on this branch, that errored, this week” is one query. And like:<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:error now 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/sessions index 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 MCP

    A 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/enter walk a replay; label sessions and search tag: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.

02

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.

03

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