Skip to content

Files & git

Every session pane carries a file browser and a git view, both rooted at that session's own working directory. They dock beside the terminal on a desktop and open as a full-screen sheet on a phone.

Both are read-only. There is no stage, commit, discard or checkout. That is deliberate: the agent in the terminal is the thing that changes the repository, and a second mutation path would race it. These panels answer "what did it just do", not "let me fix it myself".

FILES

A plain browser over the session's working directory: navigate, open a file, read it.

Its limits exist because a working directory can be a monorepo:

BoundValue
Entries listed per directory2000
Directory scan budget1500 ms
Maximum file read1 MiB

Scanning is parallel but capped — 8 workers overall, 3 per root — so browsing a large tree cannot starve the event loop that is also pumping your terminal.

GIT

The GIT tab shows the branch name, ahead/behind counts, and the working tree's changed paths grouped into conflicts, staged, changes and untracked. Selecting a path shows either a unified diff with both old and new line-number gutters, or the file's current contents when a diff does not apply.

The status list is capped at about 5000 entries and reports itself as truncated beyond that — it tells you it is incomplete rather than quietly showing a prefix. Every git invocation is bounded the same way: a 10-second timeout and a 4 MiB stdout budget enforced while reading, not after, so a pathological repository cannot hang or balloon the request.

Diff rendering has its own ceilings — 2 MiB / 50,000 lines of source considered, 20,000 lines or 512 KiB rendered — and a total cell budget beyond which a diff is reported as too large rather than attempted.

Why the caps are documented

These are the numbers you hit on a real repository, and a truncated view that does not say it is truncated is worse than no view. Each of these limits announces itself in the UI.

Verified against

Commit 218cf3asrc/agent_sessions/files.py § FILES_MAX_ENTRIES, FILES_SCAN_BUDGET_MS, FILES_MAX_READ; src/agent_sessions/gitpanel.py § GIT_MAX_ENTRIES, GIT_TIMEOUT_S, GIT_MAX_STDOUT, DIFF_MAX_*.

Built from v0.19.2-3-g9b83c82 · 9b83c82 · ahead of last publish: unknown