---
title: "Git status and diff summary for each repo in the session's workspace [read]"
method: GET
path: "/sessions/{id}/workspace/changes"
---

# Git status and diff summary for each repo in the session's workspace \[read\]

`GET /sessions/{id}/workspace/changes`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/sessions/{id}/workspace/changes`
- Auth: HTTP bearer

Finds up to 10 git repositories within three levels of the workspace root and, for each, runs `git status --porcelain=v1` and `git diff --stat HEAD` inside the pod as the workspace owner, with fsmonitor, hooks, external diff drivers and textconv disabled. Each output is bounded to 200 lines. `repos` is empty when the workspace has no repository. Never wakes the pod: 409 session_parked when it is not running, 409 workspace_unsupported when its runtime has no exec or resumes a parked sandbox on contact (E2B), 503 workspace_unavailable when the read cannot run as the workspace owner.

## Path parameters

- `id` string, required

## Response `200`

OK

- object
  - `root` string
  - `repos` object[]
    - `path` string: repo directory relative to root; "." for the root itself
    - `status` string, nullable: git status --porcelain=v1 output; null when clean
    - `stat` string, nullable: git diff --stat HEAD output; null when no diff or no commit yet
  - `limit` integer: most repos reported

## Other responses

- `default`: Error — { error: { code, message, request_id } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/sessions/:id/workspace/changes/get.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/8280a065ef6a?raw)
