Skip to main content
TYBA has no GitHub integration. It has your gh — and, on GitLab, your glab. No TYBA token, no OAuth, no account. If you already run gh pr create in the terminal, the button does exactly that, from the right worktree, with the push first.

How it figures out the forge

Only one thing is looked at: git remote get-url origin. This covers GitHub Enterprise and self-hosted GitLab without you configuring anything — as long as you have already logged into the CLI. Port and user@ in the remote are ignored.
A remote that is neither (Bitbucket, for example): the Deliver section says No forge detected (origin isn’t GitHub or GitLab) — only local merge is available, and the PR button doesn’t even appear.

What it requires

To open a PR through TYBA

gh (or glab) installed and authenticated.

To need nothing at all

The fallback: Push and open in browser.
Without the CLI, the dialog doesn’t show the fields: it shows gh isn’t installed and a button that pushes and opens your branch’s comparison URL in the browser. You create the PR there. Without authentication, the same — with the right message: Run “gh auth login” in the session’s terminal.
The CLI is only required to see things inside TYBA: PR state, checks, comments. Creating the PR works without it.

Where the CLI runs

Outside the jail, in an environment built by allowlist — GH_TOKEN, GITHUB_TOKEN, GH_HOST, GH_CONFIG_DIR, GLAB_TOKEN, XDG_CONFIG_HOME, proxy variables and little else. The rest of your environment does not come along. Network timeout: 30 seconds.
The agent’s session never runs the forge CLI. Push and PR are executed by TYBA, after you click — which is why the button lives inside the review, after the diff.

Opening the PR

In Deliver, the button says Open PR (GitHub) or Open MR (GitLab). The dialog asks for a title — already filled in with the session’s title — and a description. On confirm, in order: You don’t need to have pushed beforehand — create_pr does it.
Before any of that, the same lock as push: branch main or master is refused, and there is never a way around it.

Following along

With a PR open for the session’s branch, the Deliver section gains a line: state (open, merged, closed, draft), #number, an aggregate dot for the checks — green, red, or spinning amber — and a link to the forge.

The forge panel

The GitHub (or GitLab) icon in the header opens a popover with two tabs.
The 10 most recent runs — it is not history, it is “so, what now?”. A run in progress comes first; then, by date. Expanding a run lists the jobs; clicking opens it in the forge. Each run shows the branch or tag that triggered it, which is how you answer “I cut the tag, what about the release?”.While a run is going, the panel refreshes every 15 seconds. Everything idle, it stops — each tick is a gh process competing with your agents.
GitLab CI: TYBA can’t read it yet. The panel says I cannot read CI on this forge yet — which is different from “no runs”. PRs, MRs, PR checks and comments work on both forges; workflow runs and jobs, GitHub only.

After opening it

Delivered — what about the worktree? shows up: PR opened. Remove this worktree and close the session, or keep it to keep working?
Removing deletes the local branch (git branch -D) along with the worktree. The remote branch — the one the PR is using — stays. Uncommitted work does not: it’s gone, and the dialog warns you before the second click.If you are still expecting review comments, Keep is the answer.

What does not exist

See also

PR comments to the agent

The review came back. Send it straight to whoever wrote it.

Local merge

The way out without a forge.