# record_session_commit

Record that this session wrote this commit, so a check that goes red on it can be read back against what Balladeer told you before you started. Write `Balladeer-Session: <session id>` into the commit message or the pull-request body as well, for the people who read them; this call is what Balladeer itself joins on, because it never receives a commit message. Call it once per commit you author, after the commit exists. Recording the same pair twice records it once.

Reviewed 2026-10-01. Read the [current operating instructions](https://app.balladeer.ai/agent) and the [tool index](/docs/mcp-reference.md). This reference does not authorize the action.

## Parameters

```json
{
  "type": "object",
  "properties": {
    "session": {
      "description": "The session id `npx -y balladeer@latest session` printed for this work.",
      "type": "string",
      "pattern": "^bs_[0-9a-f]{32}$"
    },
    "commitSha": {
      "description": "The full forty-character commit SHA, exactly as `git rev-parse HEAD` prints it. An abbreviated SHA is refused: a run names the full one, and a join on a prefix is a join on a guess.",
      "type": "string",
      "pattern": "^[0-9a-f]{40}$"
    }
  },
  "required": [
    "session",
    "commitSha"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
```

## Effect annotations

```json
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
```
