Command log
yaggui runs your own git for every change it makes, and records each command in the command log. Use it to see exactly what an action did, to read Git’s full answer when something fails, or to repeat a command in a terminal.
What is recorded
Section titled “What is recorded”Every Git process yaggui starts is recorded, including the ones you did not ask for directly:
- commands you trigger (commit, checkout, fetch, push…);
- background commands, such as automatic fetches and the
git commit-graph write --reachable --changed-paths --no-progressthat speeds up the graph of large repositories (see Slow first open); - checks such as
git --versionwhen you set the Git path.
Most reads (the graph, the status, diffs) do not run Git at all: yaggui reads the repository directly, so they do not appear here.
Each entry holds:
| Field | Shown as |
|---|---|
| Command | git …, with arguments quoted for a POSIX shell such as bash or zsh |
| Status | an icon: Succeeded, Failed, Cancelled, or Could not start (the git program itself could not run) |
| Exit code | “exit {code}” when it is not 0 |
| Duration and time | how long it ran, and when it started |
| Folder | the folder it ran in (“in …”), when expanded |
| Output | Git’s standard output and standard error, when expanded |
| Repository | the repository name, when the filter is All |
Open the command log
Section titled “Open the command log”- Press ⌘J (Ctrl+J on Windows and Linux). Press it again to close the log. The shortcut can be rebound.
- Click Command log at the right of the status bar. Once commands have run it reads Log ({count}).
- In the command palette, run Toggle the command log.
- On macOS, choose View → Command Log or Help → Command Log.
- From an error, click Open command log (see below).
The log opens as a panel at the bottom of the window, above the status bar. Drag its top edge to resize it. Its size and filter are not kept after you restart yaggui.
Filter by repository
Section titled “Filter by repository”The Commands to show switch in the panel header has two choices:
- This repository (default): only the commands of the repository in the active tab.
- All: the commands of every repository, plus commands not tied to one (such as
git --version). Each entry then shows its repository name.
On the welcome tab, the log always shows All. The header also shows the number of commands listed.
Read and copy an entry
Section titled “Read and copy an entry”The newest commands are at the top. Click an entry to expand it. An expanded entry shows the folder it ran in, then two buttons:
- Copy command copies the full command line, ready to paste into a terminal.
- Copy output copies what Git printed.
Then come the standard output and the standard error. An entry with no output shows “No output.”.
Long output
Section titled “Long output”Each of the standard output and standard error is kept up to 64 KiB. Beyond that, the beginning is kept and the entry shows “Output truncated.”. To see a very long output in full, run the command yourself.
Open the log from an error
Section titled “Open the log from an error”When an error toast or panel has an Open command log button, clicking it opens the log on the last failed command: the filter switches to All if needed, and the entry is expanded and highlighted. This is the fastest way to read Git’s complete answer, for example a server’s refusal message or a hook’s output. See Error messages.
Clear the log
Section titled “Clear the log”Click Clear the log (the trash icon in the panel header). It empties the log for every repository at once, without confirmation. It has no effect on your repositories.
Limits
Section titled “Limits”- The log lives in memory only. It is never written to disk and is empty each time yaggui starts.
- yaggui keeps the last 500 commands. Older ones are dropped. During a long session, the panel can show more (up to 2000) until you close yaggui.
Privacy
Section titled “Privacy”The log shows commands as they ran, except for credentials inside URLs. If you typed a URL with a password or token in it (for example https://user:[email protected]/repo.git) when cloning or adding a remote, the secret is replaced by *** in the command, in the output and in the error details: https://user:***@example.com/repo.git, or https://***@example.com/repo.git when the URL holds only a token. SSH addresses (git@host:owner/repo.git) hold no secret and are shown as they are. Git itself still receives the real URL.
As a result, Copy command and Copy output copy the masked form: a command copied from the log does not authenticate when you run it in a terminal. Secrets that are not part of a URL, such as a token passed in an http.extraHeader setting, are not masked. Prefer a credential helper to tokens in URLs.
yaggui never adds credentials to the log itself: it never asks for or stores passwords. See Data and privacy.