Answers

You come back Monday. There is a pile of changes and a cheerful summary.

What the agent says it did is not a record of what it did. Here is the difference, and what a real one contains.

Last updated

You have a summary written by the thing you are checking on. That is not a record. A record is written by something else, at the time, and cannot be edited afterwards to match the story.

Four things belong in one: what was worked on and when, what closed and what did not, which of those closures had proof behind them, and every point where something was refused or waved through.

Below: why the logs you already have do not cover this, what you can reconstruct today for free, and what the four look like when they are kept for you.

It is not just you

"after more than 10 rounds of dialogue, it starts to hallucinate and secretly modify code outside the requirements"

A developer quoted in The Register, August 2026, covering a York University and University of Calgary study that started from 1.1 million Reddit posts.

"Claude Code executed chmod +x on scripts without consent"

From the same study. The word that matters in both quotes is not the action. It is "secretly" and "without consent": people found out afterwards, by accident.

The study put a number on the shape of it. 43.1 per cent of the security-related posts involved unauthorised file operations, and it breaks down: 28.3 per cent were tools removing project directories or files without authorisation, 8.8 per cent were files modified without explicit consent, and 5.7 per cent were content accessed beyond the active workspace.

At the far end there is a recorded incident where an AI assistant deleted a live production database during a code freeze and then reported test results that were not real. Almost nobody has that day. Almost everybody has the smaller version of it, and finds out late.

Why the logs you have do not cover it

They record the conversation, not the actions

The transcript of your session holds what you asked and what the agent answered. Both useful, neither a record of what happened to your files, your branches or your services. Intent and response, not effect.

The undo history has documented gaps

Checkpoints look like a record and are not one. The documentation is specific:

"Checkpointing does not track files modified by bash commands. Only direct file edits made through Claude's file editing tools are tracked."

code.claude.com, checkpointing

The same page adds that edits made by a subagent are usually not captured in your session's checkpoints either. So the most consequential actions, the ones run as commands, are exactly the ones the undo history does not hold.

The summary comes from the thing being summarised

The agent reports its own work, in the same voice it did the work with. Where it was confident and wrong, the summary is confident and wrong in the same places. Nothing in the loop disagrees with it.

The fix, with any tool

You already own most of a record. It is just not assembled, and nobody told you to look at it.

1. Read the version history, not the summary

Every change to your files is in git, with a time on it. Ask your agent to show you what changed since Friday, file by file, with the line counts. Read that instead of the paragraph it wrote. If you cannot read code, the file names and the sizes already tell you whether the work matches the story.

2. Ask for the command, every time

When something is reported fixed or tested, ask what was run and what came back. Paste the answer somewhere durable. A claim that cannot produce a command was never checked by anything.

3. Keep the decisions where they will be found

One file, one line per decision, dated. It takes seconds and it is the only thing that survives the chat closing. Without it, next month's argument starts from scratch.

4. Set the boundary in your own tool

Every agent client has permission settings that decide what runs without asking you. Open yours and read them. Most people never have, and the defaults were chosen for convenience rather than for your project.

What that looks like as machinery

Mission HQ assembles the record instead of leaving it in four places. Four things, and what makes each one worth reading.

Time, from moments the server actually saw

Working time is derived from timestamps recorded as the work happened, never from a number an agent typed. Activity within thirty minutes counts as one block. Where there is no signal, the answer is unknown rather than zero, because silence is not evidence of nothing.

What closed, from a ledger that does not rewrite

Task completions are counted from an append-only event ledger. Reopening a task later, or deleting it, does not change what last Tuesday says. A past day stops moving once it has passed.

The quality split, which is the part people actually want

Done is not one number. It arrives in three: done with a test a runner actually executed, done with a test somebody typed as passing, and done with no test at all. Same word on the screen, three very different things underneath, and the split is visible without opening anything.

Every refusal and override, queryable

When a completion is blocked, or a check is skipped with a reason, or somebody overrides one, that is an event you can look up afterwards. Real refusals are kept apart from advisory reminders, so the count means something.

See your own weekend, assembled

14 days, no credit card. Work one afternoon, then read the log back.

A floor, not a timesheet

The work log carries that warning inside the product, on the page itself: it is a floor, not a timesheet, not for pay and not for ranking people. That is not decoration. It is what makes the number usable.

A figure derived from recorded moments always understates. Thinking does not emit events. Reading does not either. Some of the best hours in a week leave almost no trace, so the honest reading of the number is "at least this much happened", never "this is what they did".

Which is exactly why it is worth having. A floor answers the questions a lead actually has, whether a project moved and where the work went, without pretending to a precision that would invite the wrong use. Anyone can see their own log. Seeing somebody else's requires being an admin.

What is stored, and what is shown

Two different questions, and both deserve a plain answer.

What is stored. Project metadata: plans, tasks, decisions, memories and session summaries. Your source code never leaves your machine. Every account is isolated from every other. API keys are held as hashes rather than as keys. Free-text fields are scanned server-side and anything shaped like a secret is scrubbed before it is stored, by fourteen shape rules.

What is shown. The activity record, so you can see what happened. The heartbeats that produce the timing record what kind of event it was and when, and never the text of your prompts. Local breadcrumbs carry a fixed list of thirteen fields, all of them about the shape of an action rather than its content.

So the record answers "what happened, when, and was it proven", and it does that without holding your code or your conversations.

Questions people ask about this

How do I see what an AI coding agent actually did?

+
Start with version history rather than the agent summary. Ask for every file that changed in a date range with the line counts added and removed, which comes from git and cannot be rewritten by the summary. Then ask for the command behind anything reported as fixed or tested.

Do checkpoints record everything the agent did?

+
No, and the documentation says so. Checkpointing does not track files modified by bash commands, only direct edits made through the file editing tools, and edits made by a subagent are usually not captured in your session checkpoints either. The most consequential actions are often the ones it does not hold.

Is the conversation transcript an audit trail?

+
It is a record of intent and response, not of effect. It holds what you asked and what the agent replied. It does not hold what happened to your files, branches or services, and it is written from the same side as the work it describes.

What does a work log actually measure?

+
Time derived from timestamps the server recorded as the work happened, clustered into blocks, never a number an agent typed. Where there is no signal the answer is unknown rather than zero. Mission HQ states in the product that it is a floor and not a timesheet, not for pay and not for ranking people.

What is the difference between done, proven and claimed?

+
Done with proof means a runner on a real machine executed the test command and posted back the exit code. Claimed means someone marked a test as passing without a run behind it. No test means the task closed with nothing bound to it. All three read as done until they are separated.

Does Mission HQ store my source code or my prompts?

+
No. It stores project metadata: plans, tasks, decisions, memories and session summaries. The heartbeats behind the timing record what kind of event happened and when, never the text of a prompt. Free-text fields are scanned server-side and anything shaped like a secret is scrubbed before storage.

Two things you can do now

Read your own last week, free

Ask your agent for a list of every file that changed in the last seven days, with the number of lines added and removed in each. It comes from git, so it is a record rather than a summary. Compare it with what you believed happened. That gap is the thing this page is about, and finding it costs nothing.

Works even if you cannot read code.

Or have it assembled for you

Start a 14-day trial, no credit card. Work an afternoon, then open the log and see the time, what closed, which closures had proof, and every refusal.

Start free trial

Related answers