TinkerIndustries

Turret

An Electron application that hosts Claude Code sessions, with modes.

Every session leaves a directory behind, so the prompt a mode assembled and the tools the model was given can be read back long after the session has moved on.

The archive

One directory per session, holding a frozen copy of the transcript, the configuration each spawn ran under, and the images and models the session produced.

FileHolds
manifest.jsonWhat is here, and where each piece came from
transcript.jsonlOne message per line
tools.jsonThe MCP servers and the tools this session was given
config/One file per distinct spawn configuration

The CLI's own transcript is not this record. The CLI owns its lifetime, and the id underneath it moves on a fork or a conversation reset. The archive is Turret's copy.

The wire log

Turret can put a proxy between a session's subprocess and the API, and write each request and each response to disk. It is off unless an environment variable turns it on. With it off nothing listens, and a session's traffic goes straight to the API.

What it writes is the wire itself: the full prompt as the model received it, every system block, every tool definition and the whole message history, alongside the full response as it streamed back. The archive holds what a session was given. This holds what actually crossed the network.

What it never shows

Cost and tokens are recorded and displayed nowhere. No spend, no token counts, no throughput, no context-window percentage. There are no budget caps. A running total in the corner changes how a person works.