isolation.cloudDOCS

GitHub: agents on issues and pull requests

Install the Isolation GitHub App, then mention @isolation in an issue or PR comment. The agent answers in comments, runs a check and opens a draft PR.

To run an AI agent from a GitHub issue comment, install the Isolation GitHub App on your GitHub organization and mention @isolation in the comment. If the issue is not yet connected to a session, the mention launches one on the workspace the repository is routed to, with that repository cloned. If it is, the mention is a message to the agent already there. The agent answers in comments, a reaction and a check run show it working, and the pull request it opens is where the loop closes.

The GitHub App

An owner or admin installs the App from the GitHub card on the Apps page, or with /app-install github, which answers with the link to open. GitHub asks which organization and which repositories, all or a selection. The App has its own bot user, isolation[bot], which is what you mention and who comments back. Isolation subscribes to issue comments and pull request review comments and reads @isolation from the body; there is no other trigger. Every delivery is verified by its signature and remembered by its id, so a redelivery never launches twice.

Two gates sit in front of everything. A comment only counts if its author is an owner, member or collaborator of the repository, because anyone can comment on a public repository and issue text is untrusted input to an agent with tools. And the author must be a member of your Isolation organization. With a connected GitHub account, Isolation already knows your login and nothing has to be typed; otherwise /app-connect github gives you a link. See organizations install, members connect.

Routes and labels

A plain GitHub App cannot be an assignee, so the "hand it over" act is a label. A route on the GitHub card maps a repository to a workspace, an environment, an agent, a default member and a trigger: a mention, or a label you name. Labelling an issue with that label is the same as typing /launch in it, run as the person who labelled it, with their role and balance. Launches are rate-limited per route.

A comment launches, a comment drives

@isolation /launch
@isolation /agent Reviewer
@isolation fix the failing test in checkout.spec.ts and open a PR
@isolation /share
@isolation /stop

A comment that opens with a slash is a command, answered by Isolation itself without a sandbox. The rest of a mention is a message to the interlocutor, the agent the issue is talking to; /agent <name> switches, and a thread with several agents and nobody picked asks once. On a pull request the same works in review comments, so "fix this" on a diff line reaches the agent from that thread. The agent pulls the rest itself: chat_context gives the issue or pull request, its state and URL, chat_history the comments. The grammar is on the commands reference.

How the agent reports back

  • An eyes reaction on your comment, the moment it is read.
  • A check run on the pull request head: queued, then in progress while the turn runs, then completed with the outcome, visible on the commit and in the merge box.
  • A draft pull request the moment the agent pushes, from the session's own branch session/<id>, marked ready for review when the agent says it is done.
  • Comments under isolation[bot], wearing the agent's name.

The merged pull request closes the loop

Merging is yours. When the pull request is merged, the work is on your default branch and the issue closes if the pull request references it. Then save and finish the session, /save and /stop, or tell the agent to; the lifecycle is on suspend, resume, finish. A later mention on the closed issue launches a fresh session through the route, with the repository at its new state, and the agent's conversation for that issue continues where it left off.

GitHub as the Git credential

The App is the organization's; the Git credential is yours. Connect your GitHub account on the Credentials page, one click, and it becomes the default credential for every HTTPS repository it can reach: the clone at launch, the agent's pushes, the draft pull request. The token never enters the sandbox. By default it stays with Isolation and an egress sidecar swaps it in on the way out; you can choose direct delivery to the server instead. Two GitHub accounts can be connected, a personal and a work login, each cloning what only it can reach. For a repository the App is installed on, the App's own installation token can clone and push as well.

/git-identity shows who your commits are from: your account's name and email, GitHub's no-reply address, or a name and email you set. All of it is on Git, SSH and custom credentials.

Questions

Can anyone who comments on my public repository launch a session?

No. Only comments whose author is an owner, member or collaborator of the repository trigger anything, and the author must be a linked member of your organization.

Is the GitHub App the same thing as connecting my GitHub account?

No. The organization installs the App once, for mentions and labels. Each member connects their own GitHub account as a Git credential, which is what clones and pushes.

Which branch does the pull request come from?

The session's own branch, session/<id>. The agent pushes it and opens a draft pull request against the repository's default branch.