Skip to main content
Commit and push live in the review panel, after the diff — in the order you read, not the order git executes. And both run through TYBA, outside the jail: the agent’s session never had network credentials.

The commit bar

It only exists when something is staged or modified. If it’s gone, the worktree is clean.
Only what is staged goes into the commit — it is plain git commit -m. An empty message is refused before it touches git.
There is no amend, no sign-off option, no --no-verify, and no multi-line message: the field is a single line.

Suggest the message

The button next to the field sends the staged diff to a headless agent and writes the answer into the field. You can still edit it — nothing is committed on its own.
The prompt goes through stdin.
The prompt asks for a single line, in conventional commits (type(scope): summary), in Portuguese. From the answer, TYBA takes the first non-empty line and strips surrounding quotes and backticks — if the agent decides to explain itself, the explanation is thrown away.
This is network, and it is an agent CLI running on your machine — with the staged diff inside the prompt. It only happens on an explicit click, never on its own. If the repository has code that cannot leave, don’t use the button.

Which agent answers

The one in Settings → Preferences → Review agent. And there is a catch here:
The suggestion only accepts claude or codex. If your review agent is a custom command, the suggestion falls back to claude — not to your command. The core refuses any other name before executing anything.

Push

The Push button only appears when there is at least one commit ahead of the base. It runs:
No dialog, no picking a remote, no picking a branch. origin and the branch the session is on — nothing else. On success, the footer shows Pushed ✓ for 5 seconds.

What push refuses

main and master are refused by the core, always. It does not matter who clicked: the check is on the current branch, not on who asked.On the agent’s side the same rule is even harder — git push origin main never even becomes an approval request.
Detached HEAD is refused too: with no branch, there is nothing to do with -u.

What does not exist

See also

Reading the diff

What you stage before committing.

Pull requests

The push the PR dialog does for you.

Local merge

When the destination is the base branch, not the remote.

Risk classification

Why the agent has no network credentials.