Pimp My IDE / Garage Dispatch
Back to garage
September 24, 2026 | agent sessions / local catalogs / durable work

Do not start every roll call by waking every session.

VS Code 1.139 changed how its Agents window lists a large garage full of sessions. Lightweight metadata now lives in one catalog. Full conversations stay in their own databases until somebody opens one.

The take: A durable session needs two storage paths. Keep the list cheap and the evidence deep. The index should answer "what needs me?" without loading every transcript, tool result, and patch.
Wire the Session Catalog Switchyard

The session list became a database problem.

VS Code 1.139 stores lightweight session and chat metadata in a central catalog. Earlier builds opened each conversation database while building the list. The release notes say the new path measured 0.1 seconds for the first listing and 0.15 seconds for refresh on a development machine with about 645 sessions. The prior path measured 1.3 seconds and 0.6 seconds in the same test.[1]

Those numbers are one vendor test on one machine. They are still a clean architecture clue. List operations should read list-shaped data.

The transcript did not get flattened.

VS Code says full conversation content remains isolated in each session and chat database. The catalog carries the metadata needed for listing. Old sessions migrate in the background.[1]

Open the catalog to find the job. Open the transcript to inspect the job.

This split protects two useful properties. The list stays fast as history grows. Each session remains a distinct evidence record instead of becoming one giant shared blob.

Attention belongs in the index.

The same release adds compact rows, in-place renaming, progress summaries, and automatic expansion when a session needs input or approval.[1] That is more than a density pass. It names the fields a session catalog should carry: identity, workspace, active work, progress, and human attention state.

If the operator must open a transcript to learn that a job is blocked, the index is missing an operational field.

Persistence moved outside the window.

VS Code's Agent Host is a dedicated process that owns sessions. Multiple windows can connect to one host. The host can also run remotely, while clients monitor and steer the same live session.[2]

That boundary makes the catalog more than interface cache. It becomes the operator's map to work that can outlive the window where it started. Client tools may still route through a connected client, so durable session state does not mean every capability remains available after a window closes.

Use one database per job on purpose.

SQLite documents local application storage as a different problem from a shared client-server database. It also describes separate database files for separate subdomains as a way to limit contention.[3] That supports the broad storage pattern, not VS Code's implementation details.

A session store should make deletion, export, repair, and retention legible per job. A catalog should be disposable enough to rebuild from those stores. If deleting the index destroys the work, it was never just an index.

Run the migration like a pit stop.

  1. Write the minimum catalog schema. Keep identifiers, labels, timestamps, workspace pointers, progress, and attention state.
  2. Keep transcript bodies, tool output, patches, and bulky evidence out of list reads.
  3. Backfill in the background. Measure missing, duplicate, and stale catalog rows while old stores remain authoritative.
  4. Prove that a deleted catalog can be rebuilt. Compare rebuilt rows against the session stores.
  5. Measure cold list, warm refresh, attention update, transcript open, and rebuild time on your own history.
Interactive makeover / session-list migration card

Session Catalog Switchyard.

Traditional purpose replaced: a session list backed by eager transcript reads. Better version: route list reads through a small catalog, keep deep records isolated, and write the rebuild drill before migration starts.

Route the roll call

This teaching panel records a migration plan. It does not inspect your editor, database, or session history.

List route
Migration circuits
ROUTE OPEN0 / 4 circuits
The list still wakes every session.

Move list reads to the catalog, then specify the migration and recovery controls.

Why it is better: list speed, evidence depth, migration health, and recovery stay separate. The completed panel says TEST PLAN READY. It does not claim the migration passed.

Sources read, not vibes

Open the source log
  1. Visual Studio Code 1.139 release notes: September 23 release date, central session catalog, isolated conversation databases, background migration, measurements at about 645 sessions, compact rows, progress summaries, attention expansion, and in-place renaming.
  2. VS Code, "Introducing the Agent Host for persistent, portable agent sessions": host ownership, client and host separation, multi-window synchronization, remote hosts, harness adapters, and the limit around client-contributed tools.
  3. SQLite, "Appropriate Uses For SQLite": local application storage, server-side application-specific queries, and separate database files for separate subdomains. This source supports the general storage pattern, not claims about VS Code internals.
  4. GitHub Trending, September 24, 2026 and Hacker News discussion 49826565: current scans for developer-tool and agent signals. Neither verifies the session-catalog claims above.

Source boundary: Microsoft reports the architecture and measurements for VS Code. SQLite documents a broader local-storage pattern. The switchyard is a planning aid. Real proof requires your build, session count, storage shape, migration logs, and measured timings.