What changed, when.
1.0.9
September 2026- Your AI Report Card
A free, shareable image built from your own confirmed and rejected answers — which past fixes you had to try more than once before they stuck, your fastest one-shot fix, the tool you kept using despite it getting things wrong, the latest you were still coding. Every line comes from `messages.verdict`, the same signal ranking already uses — read from what you actually typed next, never self-reported — so nothing on the card is invented, and a line with no data behind it is simply left off rather than shown as a hollow zero. Save it as a PNG from inside the app.
- AI Disk Usage
⌘K → “AI Disk Usage” draws a donut of where every AI tool Inventory already knows about — Cursor, Claude Code, Codex, Zed, Kiro, Antigravity, plus local model caches for Ollama and Hugging Face — has put its data on this Mac. Click a slice to drill one level into that tool's own folder. Regenerable app caches (Cache, GPUCache, Code Cache, logs) are flagged distinctly from real data like workspaceStorage, and can be moved to the Trash — never a permanent delete — with the folder's name and location re-checked on the way in, not just offered by the screen you clicked.
- No more free trial
Every earlier version gave you seven days before asking for a licence. Inventory now asks for one from the first launch — the whole app, including Your AI Report Card and AI Disk Usage above, needs a licence to use.
1.0.8
August 2026- What your agents actually cost
⌘⇧I opens a report of every request your tools have made — how many tokens, how many were served from cache, how many were written to it, and how much came back out. Your tools each record this for themselves and none records anyone else’s, so a per-tool screen can only tell you what one session cost. Inventory already reads them all, which makes it the only place a number spanning them can exist.
- Three figures that decide what to do next
How much of your input is served from cache, which is the number worth watching over time. Input tokens per output token, which decides whether context and caching are where your money goes or whether it is the other way round. And reads per cached token — writing to a cache costs a premium and reading is discounted, so that multiple is what says whether caching paid for itself. Then the same totals by model, by project and by tool.
- Counts, not estimates, and no prices
The numbers are what your providers recorded and billed, read from files they already write on your Mac. Claude Code and Codex only — the other four tools do not record what their requests cost, and the report says so rather than quietly reporting a total that omits them. There are no dollar figures anywhere: rates change, and a stale price beside exact token counts would borrow their credibility.
- One re-read on upgrade
Inventory re-reads every conversation once, the first time this version opens. That is how the token counts reach the index — they were always in your tools’ files, but nothing had been storing them. It happens by itself, and your search results and activation are unaffected. Like the portrait, the report comes with a paid licence rather than the trial.
1.0.7
August 2026- Your history, drawn
Press ⌘⇧P and Inventory draws a portrait of everything it has indexed, in a window of its own. It is a clock: angle is time of day with midnight at the top, radius is the date — the core is your oldest conversation, the rim is today. So it answers something a list cannot, which is when you actually work. The hours you never touch a keyboard read as an empty wedge, a fortnight off is a blank ring, and a project you lived inside for a month is a band of one colour.
- Every conversation keeps its rhythm
Each one is a faint spine carrying one mark per turn, placed at the moment it was really sent. The bare stretches are the pauses — the half hour you spent reading something before answering is a gap you can see — and a fast back-and-forth closes into fine hatching. Your turns are the thinner, brighter ones. Answers you later said worked are thickened; ones you rejected are fractured, ends left standing. Hover any ring to name the conversation, click it to open the transcript. Six palettes, one of them meant for print, and you can save it as a PNG or an SVG wherever you like.
- Part of the licence, not the trial
The portrait comes with a paid licence. The seven-day trial still gives you everything else in full — every source, search by meaning, quick capture, handoff and agent access — so you can still answer whether searching your own history is worth anything to you before deciding.
- Drawn on your Mac, and every mark is checkable
It is not an image model and it makes no network request — the picture is drawn here, from facts already in your index. Even the faint lunation bands, one per moon, are calculated rather than fetched. And it is drawn only from structural facts: when a conversation happened, how long it ran, how many turns it took, which tool, which project, and whether you later said the answer worked. Nothing is inferred from what your conversations were about. That was deliberate — a picture that guessed at meaning would look authoritative while being wrong in ways the person looking at it could catch.
1.0.6
August 2026- Your agents can tell when another agent is already in the same project
Two AI tools working the same repository at once, neither aware of the other, is a quiet way to get merge conflicts and decisions that contradict each other. Everything else that addresses this asks you to launch and manage your agents through its own platform. Inventory already watches what all six tools write to disk, so it can answer the question for agents you started yourself, however you happened to start them. With Agent access on, a tool checking this index at the start of a task is now also told if a different tool has been working in the same project recently — so it can say so, or check the working tree before writing, rather than editing on top of someone else's work blind.
- It stays quiet unless something is actually happening
A warning that cries wolf is worse than no warning. An editor merely being open does not count — only a tool genuinely holding a conversation is reported, so keeping an editor in one window and an agent in a terminal triggers nothing. A tool is never warned about itself, and who is asking is read from the connection rather than from the agent remembering to say. When it cannot tell — an unfamiliar tool, an unknown folder — it says nothing rather than guessing.
- The app tells you what it is doing
Results used to snap into place, an index rebuild showed a bare spinner, and a copy button gave no sign it had copied. None of that was broken, it was just silent — and silence in an app searching thousands of your own conversations reads as "did that work?" Results now arrive rather than appear, the first index shows placeholder rows shaped like what is coming instead of a spinner, every copy confirms itself the same way, and a new entry in the agent-access log highlights as it lands.
1.0.5
August 2026- You can use Inventory for 7 days before buying it
Until now the app was a wall: a licence key, or nothing. That asked people to pay to find out whether searching their own history was worth anything to them — a question no landing page can answer, because the whole point is that it is pointed at conversations you had. A new install now runs for seven days in full: every source, search by meaning, quick capture, handoff, and agent access. The countdown stays out of the way until the last three days, and when the trial ends your index stays exactly where it is.
- Your activation is harder to lose
It used to live inside the index, which is the one thing here that can be rebuilt: if Inventory ever cannot open its own database it sets that file aside and starts fresh. Your conversations come back on the next indexing pass, since they are re-read from your tools' own files. Your licence did not, and you would have been left at the activation screen hunting for a key from an email months ago. It now lives in the macOS Keychain, which survives that, and a reindex, and a reinstall. The move happens by itself.
1.0.4
August 2026- Your tools now know when you have already solved something
Search only helps if you already suspect the answer is in there, and the moment worth the most is the one where you are about to re-solve something from six weeks ago — exactly when nobody thinks to search. So Inventory no longer waits to be asked. Switch on Proactive memory under Agent access and your AI tool checks this index once at the start of a request, and is handed your own closely matching history before it starts work. It works across tools: something you worked through in Cursor can answer a question you ask in Claude Code. Off until you turn it on, behind its own toggle rather than the Agent access one — letting a tool answer questions about your history is one decision, letting it be handed that history unasked is a larger one.
- The most useful thing it says is "you already tried that"
A failed attempt leaves no commit, no file, no artifact of any kind. It exists only in the conversation where you gave up on it, which makes it the one thing your tools can never work out for themselves. Approaches you tried and rejected are surfaced first for that reason, so an agent stops confidently walking you back down a path you already abandoned.
- It stays quiet unless it is sure
A wrong search result costs you a glance; a wrong result handed to an agent is a confidently misleading instruction that steers real work. So the bar is measured rather than chosen. Against a real 42,611-passage history, meaningless text reached 0.525 similarity while genuine past questions sat around 0.635 — the bar sits at 0.70, clear of the noise rather than just above it. That means silence on roughly three requests in four, which is the intended trade: silence leaves you where you were, a false alarm makes things worse.
- Questions that name a specific thing now find it
Ask how you fixed a particular parameter in a particular project and the two words that identify it are precisely the ones a meaning-based search handles worst: unusual names get broken into fragments that resemble nothing, so on a real history the right conversation scored below the level random nonsense reaches. Inventory now pulls the distinctive terms out of your question and searches those directly, keeping the rare ones and dropping the filler. What counts as rare is judged against your own history, so it adapts to what you actually work on.
- Agent access no longer claims a tool is connected when it isn't
It checked that a setting existed, not that it still pointed anywhere. Configurations left behind by an older version, a changed port or a reset key reported as connected while every request quietly failed. Each tool is now checked against where Inventory actually answers, and anything stale is shown as needing reconnection — including a project-specific setting overriding a working one for a single folder, which is the version of this that breaks only inside one repository.
- A search for nonsense returns nothing
Typing gibberish returned five unrelated conversations, because the bar for a typed search sat inside the range meaningless text can reach on any large history.
- Search stays fast as your history grows
Ranking sorted your entire history to return five results. It now keeps only the best few as it goes, which matters more the longer you have been using this.
- The download itself is notarised, not only the app inside it
Apple checks the disk image and the app separately. The app was always notarised and the disk image was not, so a fresh download could be blocked on a Mac that had never seen it before. Both are now notarised and carry their ticket, so they open without needing to check anything online.
1.0.3
August 2026- Your AI tools can search your history themselves, over MCP
Claude Code, Cursor, Kiro, Codex, Gemini, Antigravity and Zed can now search these conversations mid-session, so a problem solved in one tool is findable from another the next day. Press ⌘⇧A, switch it on, tick the tools you want and press Connect — Inventory writes itself into each tool's own config file, keeping a backup and changing nothing else. Off until you turn it on, read-only, listening on this Mac only behind a key generated here. Every call any tool makes is listed on the same screen. A tool's CLI and its desktop app read different config files, so each is a separate entry here rather than one assumed to cover both.
- Search knows which answers actually worked
Every history search ranks by similarity, which treats the attempt you abandoned exactly like the fix that worked. Results now carry a ✓ worked or ✗ didn't work badge, read either from what you typed next or from whether the same error came back afterwards. Confirmed answers outrank rejected ones, and the MCP tools label them so an agent will not hand you back something you already rejected. No model call, nothing leaves your Mac. Deliberately quiet: on a real 500-conversation history, 2.5% of messages get a verdict. Full method and measurements at /research/verdict-index.
- Indexing no longer looks frozen around fifty conversations
Progress counts files, and Cursor keeps every conversation in one 2.6 GB database that takes about ten seconds to read — so the counters sat still and the window looked hung. Measured worst silent gap was 11 seconds; it is now 2.1. Conversations are reported as they are read. This did not make indexing faster: reading 2.6 GB takes what it takes, and the silence was the bug rather than the duration.
- ⌘⇧A opens Agent access, ⌘⇧R rebuilds the index
⌘⇧V for the clipboard scratchpad already worked but was missing from the shortcuts sheet entirely, which is why you may never have found it. Press ⌘/ for the full list.
- Existing indexes upgrade in place
This release adds a column to the index. Opening a 1.0.2 index with this build migrates it automatically, keeping every conversation, message and quick-capture note, with full-text search intact. Verdicts are computed as conversations are read, so existing ones only get one after a rebuild — press ⌘⇧R once after installing.
1.0.2
August 2026- Your index is now encrypted on disk
Until now the index was a readable file: running strings against it returned real conversation text. It is now encrypted at rest with SQLCipher, using a key generated on your Mac and kept in the macOS Keychain, never in the file itself. Measured on a real 118 MB index, the encrypted file scores 8.0000 bits per byte of entropy — the theoretical maximum, indistinguishable from random noise. Search is unaffected; decryption happens in memory as you use it.
- Existing indexes are converted automatically, without touching the original until the new one is proven
The first launch after updating writes an encrypted copy alongside your existing index, reopens it from scratch, and checks every table's row count against the original before anything is renamed. Your old file is kept as a backup rather than deleted. Interrupt it at any point — a crash, a force quit — and the original is still exactly where it was, and it simply runs again next time. A real 118 MB index of 492 conversations converts in under two seconds.
- Updates install themselves from now on
Inventory could always tell when a new version existed, but nothing acted on it — every release so far had to be downloaded by hand. It now offers the update in the app and installs it when you say so, rather than restarting you mid-search to deliver changes you have not read about. This is the last version you will need to install manually.
- The version you are running is shown in the command palette
Press ⌘K and it sits under your licence, along with whether a newer version is waiting. Previously the only way to answer "which version is this?" was to go and inspect the app bundle.
- If the key ever cannot be read, Inventory stops rather than starting over
A wrong or unavailable key and a genuinely damaged file look identical to any encrypted database, and treating the first like the second would delete a perfectly good index over a temporary Keychain problem. Inventory now tells them apart: if your index was encrypted and will not unlock, it shows a locked screen with a retry, and does not open, move, or rewrite the file at all.
1.0.1
August 2026- A tool changing its storage format can no longer delete what Inventory had already indexed from it
Inventory reads files your AI tools own, and none of them promise a stable format. When one changes shape, its parser returns zero conversations with no error at all. The indexer used to clear that file's rows before it knew the re-read had produced anything, so a format change upstream could wipe years of already-indexed history on a routine launch. Now nothing is cleared until there is something to replace it with. A source that stops parsing freezes at its last good state: you lose new conversations from it, never old ones.
- A source that stops being readable now says so, instead of quietly returning fewer results
Per-source status, with the date it last read successfully. It is deliberately not triggered by “nothing new”, because an unchanged file is skipped by design. A tool you simply have not opened this week is not a fault and will not warn you about one.
- A source that breaks repairs itself once it can be read again
A file that failed to parse is not recorded as read, so the next launch retries it. When a fix for that tool's new format ships, the source rebuilds on its own. No reindex, nothing to click.
1.0.0
August 2026- Antigravity added as a supported source
Private beta
August 2026- Search across Cursor, Claude Code, Zed, Codex and Kiro from one window
- Search by meaning alongside keyword search, with results labelled by how they were found
- Quick capture on ⌘⇧N, matched against your history the moment you save
- Clipboard scratchpad on ⌘⇧V, off by default
- Resume Claude Code and Codex sessions in the terminal with full context
- Copy a condensed primer of any conversation to continue it in another tool
- Retention window: index the last 7, 30, 90 or 365 days, or everything
- Command palette on ⌘K and a shortcuts sheet on ⌘/
Inventory offers new versions in the app and installs them when you say so, no manual download needed from 1.0.2 onward. Still on something older? Quit Inventory, then download the latest version and drag it into Applications, replacing the old one. Your index and licence both live outside the app, so nothing needs re-activating and nothing needs re-indexing. Waiting on the Windows build? Leave your email on the home page.