Docs · chapter 1

Which program?

Updated 14 November 2026 · version 0.17

Two programs, in the same zip. ProtoTTD records and debugs: start there. ProtoInsight compiles a recording into an index and answers analysis questions on it, for you or for an agent. Both record the same way, with the same options.

In short

ProtoTTD.exe
The time-travel debugger
A window (or a prompt) that records a program, then debugs the run forward and backward: breakpoints, memory and registers at any instant, source and types from the PDB, Python scripts. An agent can drive the window.
ProtoInsight.exe
The analysis
Compiles a capture into a bundle (functions, loops, calls, strings, data flow) and answers one question per call, in JSON: what the program reads and writes, where a value comes from, which functions matter.
FileMade byWhat it is
app.proto.capRecording (either program)The capture: every instruction of every thread, with the registers and the memory they touched. ProtoTTD reads it directly.
app.proto.bundleProtoInsight indexThe capture compiled for analysis: the index ProtoInsight's tools read. The capture is only read to make it.
run.jsonYou, or the windowHow a run is recorded: the config file.

What do you want to do?

Find your goal on the left; the right says what to use, and where it is explained.

I want to…UseChapter
Record a program from its startProtoTTD: Record, or launchRecording
Record a program that is already runningProtoTTD: Attach, or attachRecording
Record only from a certain call or instruction"trace_from"The config file
Stop the program on its own after a while"stop_after"The config file
Keep a library out of the recording"exclude_modules"The config file
Change what an instruction doesa patch rulePatch and thread rules
Record some threads onlya thread rulePatch and thread rules
Step through the run, forward and backwardProtoTTD on the captureDebugging
See my source lines and variablesProtoTTD + the PDBDebugging
Script the debuggerPython: import protottdDebugging
List what the program read, wrote and sentProtoInsight … ioAnalysis tools
Find where a value came fromProtoInsight … flow / taintAnalysis tools
Have an AI agent record, debug or analysethe Agent pane, or serveAgents and prompts

Every command

The option --config goes before the command. Each program's --help is short and points to these pages.

ProtoTTD.exe                                         # the window: Record, Attach, Open
ProtoTTD.exe record [--config run.json] <program.exe> [args]   # the window, recording it at once
ProtoTTD.exe [--config run.json] launch <program.exe> [args]   # record, headless
ProtoTTD.exe [--config run.json] attach <pid> [<tid>|all]      # record a running process, headless
ProtoTTD.exe gui <capture.proto.cap>                 # the window on a capture
ProtoTTD.exe <capture.proto.cap>                     # the debugger's prompt (.help lists its commands)
ProtoTTD.exe <capture.proto.cap> --ui                # JSON in, JSON out: one {"op":...} per line, for scripts
ProtoTTD.exe serve <capture.proto.cap>               # the daemon alone, for agents
ProtoTTD.exe install                                 # a Start menu shortcut; .proto.cap files open in the window

ProtoInsight.exe [--config run.json] launch <program.exe> [args]
ProtoInsight.exe [--config run.json] attach <pid> [<tid>|all]
ProtoInsight.exe index <capture.proto.cap> [<bundle>]     # compile a capture
ProtoInsight.exe <bundle.proto.bundle> <tool> [json]      # one analysis question
ProtoInsight.exe serve <bundle.proto.bundle> [label]      # the daemon alone, for agents
OptionEffect
--config <run.json>Everything a run is told besides what to run, in one JSON file: The config file.
-h, --helpThe short help.
-v, --versionThe version.
Free, with a limit
Everything on your machine is free, up to what a person does in an hour: 3,600 debugger commands and 600 analysis calls. Agents work through MCP, paid per call (0.25 credit). 32-bit programs are recorded with the same commands: the zip carries the 32-bit engine, used by itself.