Skip to main content
The git channel powers the workspace diff and checkpoint UI: it returns structured diffs, lists the checkpoints the agent creates as it works, and rolls files (and the conversation) back to a checkpoint or reverts a single file. Both the web app and the aether CLI use it. See the WebSocket overview for connecting. Requests carry a requestId; responses echo it. Responses are discriminated by success, with an error string on failure.

diff

Get a structured diff of the workspace.
Request
mode is optional: "main" (default) diffs against the base branch, "lastCommit" diffs against the last commit. Untracked files appear as added.
Response
Each file has status (added, modified, deleted, renamed), isBinary, additions/deletions, and hunks. Each hunk line has type (add, remove, context), content, and the relevant oldLineNumber/newLineNumber.

snapshots

List the agent’s checkpoints — points in the conversation you can restore to.
Request
limit is optional, up to 200.
Response

restore

Roll the workspace files and the conversation back to a checkpoint, identified by its messageId. History after that point is truncated.
Request
Response
Restore is destructive: it discards file changes and conversation history made after the checkpoint. After a restore the server also pushes a files refresh and a conversation.truncated agent event.

revertFile

Revert a single file to its base state. The required fields depend on fileStatus.
Modified deleted
Renamed
The response is { requestId, success }, and the server pushes a files refresh afterward.

showFile

Read a file’s contents at a specific git ref.
Request
Response

checkpoint (server push)

When the agent creates a checkpoint, the server pushes a notification with its messageId. There is no request for this.