Core provides scoped native GitHub operations for repositories, Issues, pull requests, comments, reviews, merge checks, Projects and Releases. Use them to connect code changes with verifiable remote outcomes, without giving a task unbounded access to your account.
Add a GitHub section to the selected Core configuration. Replace these examples with actual account/repository names and apply the configuration deliberately:
[github]
account = "my-account"
read_repositories = ["owner/reference"]
write_repositories = ["owner/project"]
read_owners = []
write_owners = []
attribution = trueWrite scope includes reads. Empty scopes grant no repository access. Prefer
exact repository scope to an owner-wide grant. Do not mix legacy repositories
with the explicit read/write forms. Core scope, App resource installation and
GitHub account authorization must all allow the operation.
Ask the assistant to inspect list_integrations, then start one explicitly
authorized connect_integration Device Flow with a saved request ID. Complete
the returned GitHub URL/code yourself, and install/approve the official Open
Machine GitHub App for the intended resources using the returned installation
URL. User identity consent alone does not grant repository access.
Read the original login ID with read_integration_login until its outcome is
known. Core owns the finite login attempt; passive reads do not start another.
No PAT, App private key, client secret or custom App registration is required.
The retired existing_gh backend is not a fallback for current runtime requests.
With the selected absolute CONFIG and STATE, probe the intended repository:
openmachine --config "$CONFIG" --state-dir "$STATE" doctor \
--github --repository owner/projectCheck the returned account, repository access and error, not just local saved connection status. Git clone/push authentication is separate from this App connection; Core does not configure a global Git credential helper.
Use OpenMachine's native GitHub connection for owner/project. Read the current
repository and open pull requests, then summarize their actual check status.
Do not create, edit, comment, review or merge anything.
For a write, authorize the specific destination and intended effect. A PR workflow normally reads the Issue and source, edits/tests in a workspace, pushes an explicit branch, creates one PR, then reviews its complete current diff/checks/discussion. Merge requires the actual current head/base and all applicable GitHub gates. Neither passing CI nor creating a PR grants merge permission.
This is not an arbitrary GitHub API proxy. It does not supply Git push, repository administration, asset upload or unlimited Project mutation through these tools. Pagination and diff truncation must be resolved before review; a partial diff cannot establish that the whole PR is safe.
Record original task/operation IDs, account binding, repository and returned Issue/PR/comment IDs. Read the actual destination after writes. An uncertain create or merge is not permission to send a duplicate. A self-review comment is not an independent approval and cannot override branch protection.
disconnect_integration uses the observed authorization revision to disable the
local connection and clean up owned credentials. It is not proof of provider-side
grant revocation; manage GitHub's authorization separately when needed.
Credentials use the pinned native backend (macOS Keychain, otherwise private
files), not your task logs. Reauthorization can be necessary after revocation,
host loss or prolonged offline periods.
Default attribution appends the product's footer to supported new GitHub content; disabling it stops new automatic footers, not removal of existing attribution. See the connection guide and GitHub reference for exact guards, current actions and original-destination recovery.
