Concept · Reeve
History: commands, failures and past AI sessions
How Reeve's history tools answer from this PC's own history (the commands run, what failed, what an earlier AI session decided) and how they keep likely secrets out.
- Article
- 1209
- Applies to
- Reeve 0.17.2
- Last reviewed
- For
- For developers
What it's for#
An AI session shouldn't have to ask you what you ran, what broke yesterday, or what an earlier session decided. Four tools answer from this PC's own history instead. Reeve's page has the same answers under History.
| Tool | Reads | Answers |
|---|---|---|
commands | The transcripts your terminal AI assistant keeps on this PC (every command it ran, with folder, time and exit code; the last 30 days unless you say), PowerShell's history (every PowerShell host), and Git Bash's ~/.bash_history | Commands found by words (all of them, any case), folder or time, newest first; repeats shown once, with a count |
errors | The same transcripts, and the failed runs triage has seen | The last 7 days' failures, grouped: the same program and subcommand failing with the same error line is one group, with its count, when it was first and last seen, and an example |
sessions | The same transcripts | Without a query, the most recent sessions: when, folder, branch, prompts, pull requests and title. With one, the places where every word appears: a prompt, the assistant's words, a command run or a file changed |
session | One transcript, by id (its first 8 characters will do) | What was asked, the files changed and the commands that failed, by code; then the local model's summary of what was decided, done, and left undone |
How it decides#
Code decides everything but session's summary.
- A failure is a command the transcript records with a nonzero exit code, or a run
triagefound FAILED. A search that found nothing (grep,rg,findstr,test,diffand the like exiting 1) isn't one. - PowerShell's history keeps no folder or time, and Git Bash's keeps no folder (and times only with
HISTTIMEFORMAT). Afolderorsinceleaves those out, and says so. - Transcripts can run to tens of megabytes, so they're read as a stream, and Reeve remembers how far it read each one. A search stops after 25 seconds and says how many older sessions it left unread.
Secrets#
The history is read where it lies, and goes nowhere but the answer to the assistant that asked (and, for a summary, the local model on this PC). Before either, every command, prompt and message is redacted: likely secrets become REDACTED. That covers:
- tokens of the common providers' known shapes, and JSON web tokens;
- bearer and
Authorizationheaders; - passwords in URLs and connection strings;
- secret-named variables, keys and flags (
GITHUB_TOKEN=,"password":,--token,curl -u user:passand the like); - private keys, and any long random-looking word.
It errs toward hiding, and searches match the redacted text, so a query can't find out whether a secret was typed. It works by pattern, so a secret in a shape it doesn't know can still get through: treat the answers as you would the history itself.
What's stored#
Nothing new of the history itself. Reeve's one record is of the failed runs triage has seen: when, which log, why it failed and its first error line, redacted as written; only the newest 500 are kept.
The page's History asks Reeve with the page's own token, so another web page open in your browser can't read your history through Reeve's port.
Related articles
Is this page right?
If something on it is wrong or out of date, tell us and we'll fix the page.
Still stuck? Write to support@castellan-software.com and mention article 1209. Every version of Reeve, and what changed in it, is in its release notes.