Release Notes
Origin CLI release notes
New features, improvements, and fixes in the Origin CLI. Each entry covers one release and is labeled with its release date. Changes to Origin on the web and in the API are in the Origin release notes.
Pull requests
origin pr editno longer wipes a description by accident. It refuses an empty, whitespace-only, ornull--bodyor--body-file; use the new--clear-bodyflag to clear a description on purpose.origin pr viewandorigin pr listreturn each--jsonfield under the name you asked for, so--json bodyprintsbody, notdescription. Update scripts that read.descriptionafter asking forbody.- Merge-when-ready is now called auto-merge.
origin pr view,status, andrequirementsprint anAuto-mergeline,origin pr merge --autoand--disable-autosay auto-merge in their messages, andorigin pr watchlabels events[auto-merge]. Use--json autoMergein scripts;--json mergeWhenReadystill works but is deprecated. See merge.
Repositories
- Faster CloneKit downloads on more systems.
origin repo clone-fastuses its faster download engine with curl 7.75 or newer and GNU coreutils dd. When it can't, it prints a warning that says why and what to install, and the fallback engine uses bounded memory. See CloneKit in CI.
Pull requests
origin pr createopens pull requests ready for review. New pull requests open ready for review by default instead of as drafts; pass--draftor--status draftfor a draft. If your 'Never open PRs as drafts' setting or the repository's setting turns a requested draft into a ready pull request,origin pr createsays why. See create.- Agentic code owner holds read like classic approval requirements. When a ruleset uses Agentic code owner review,
origin pr requirementslists its holds under "Approvals still needed" in the same shape as classic requirements, such as "1 approving review from anyone but the author (0 so far)".
Stacks
origin stack synccleans up merged branches it used to miss. It deletes the local branches of merged and closed pull requests even afterorigin stack getstopped tracking them, unless that would lose a commit. A branch renamed withgit branch -mis kept and reported with the command that lets sync delete it. Stack commands run on a merged or closed branch point you toorigin stack sync.- Stack commands no longer throw away a rebase you're resolving.
origin stack move,delete,restack, andsyncstop with an error when a rebase or merge they didn't start is in progress, instead of aborting it and discarding your resolved conflicts. When a stack rebase hits a conflict, the message names the branch, its new parent, the conflicting files, and the commit being applied, then lists the commands to run next. - Clearer
origin stackmessages.origin stack sync,get,push,restack, anddelete-branchsay exactly what changed, for examplemoved b's parent from main to a, as on Origin.origin pr createandorigin pr editexplain when a branch's stack parent couldn't be saved in your clone and point you toorigin stack get.
Scripting
- Stack commands take
--jsonfield lists.origin stackcommands such asget,restack, andpushtake a comma-separated field list with--json, likeorigin stack get --json members,checkedOut, and a bare--jsonis a usage error that lists the fields. See JSON and exit codes.
Fixes
- Fixes to
origin stack getwith restacked branches. It fast-forwards branches that Origin restacked instead of reporting them as diverged, including in fresh clones, withcore.logAllRefUpdates=false, and withlog.showSignatureenabled.
Stacks
- Clean up merged stacks with
origin stack sync. It fast-forwards trunk, deletes your local branches whose pull requests were merged or closed, and restacks the branches that sat on them. Use--dry-runto preview or--no-restackto leave branches in place.origin stack delete-branchalso moves stacked branches onto the deleted branch's parent and tells you when it checks out a different branch. See view, get, and sync.
Pull requests
- See every owner rule on a pull request and where it stands.
origin pr requirementshas an Owner rules section with one line per rule, including rules that already passed: who can approve, how many files it covers, and whether it still needs an approval. Rules waiting on approval are listed first, and--json ownerRulesreturns the same data. - Clearer message when a pull request has nothing to merge. When a pull request's changes are already on its base branch, the merge blocker says so and suggests closing the pull request or pushing a commit with new changes.
Scripting
- Pick JSON fields for
origin rulesetand access commands.origin rulesetcommands and the repository and namespace access commands take a field list with--json, for exampleorigin repo access remove --json repo,action,subject.origin ruleset list --jsonincludes bypass actors and returns an empty list when a repository has no rulesets.
Pull requests
- See which bot owners can clear a Code Review Gate. When a Code Review Gate policy still needs approval,
origin pr requirementslists any bot owner whose approval satisfies it, with theorigin pr reviewer requestcommand to ask for that bot's review.--jsonkeeps thenativeVerdictfield on gates and approvals, so scripts can tell which ones Agentic Owners decides. - See which stacked pull requests leave the merge queue with the one you remove.
origin pr dequeuenames any pull requests queued behind the one you removed that left the merge queue with it, so you know what to queue again. - Clearer owner approval blockers in
origin pr requirements. Owner approval blockers name who must approve which paths. If the author is the only owner of the changed paths, the blocker says an approval from anyone but the author clears it. When a diff is too large for a full risk assessment, the blocker says so and suggests splitting the pull request.
Rulesets
- Admin Ruleset bypass actors use
groupinstead ofteam. Inorigin rulesetcreateandupdatespecs and in ruleset output, a group bypass actor'sactorKindis nowgroup. Specs that still sayteamfail with an error telling you to usegroup, so update any saved specs.
Fixes
- Fixes to update hints. The Origin CLI no longer prints its update hint or starts a background update check when git runs
origin credential-helperor your shell requests completions, so git and shell output stay clean.
Pull requests
- Clearer approval requirements. Blockers for required reviewers name the files that need the approval, for example "1 approval from X required for a.ts, 0 so far." When Agentic Owners decides a pull request's review,
origin pr requirementslabels it "Agentic Owners" instead of "Code Review Gate".
Repositories
- Map GitHub authors and dry-run pull request imports.
origin repo import-prsaccepts--user-map <file>to map GitHub logins to Origin users (user:<email>), apps (app:<app_id>), or the import actor (-), with an optional* -> targetcatch-all. Add--validateto check every pull request's state, author mapping, and referenced commits without importing anything.
Rulesets
- Admin GitHub ruleset import no longer creates bypass actors that grant nothing. Organization admin roles, repository roles, and
enforce_adminsare now reported as unsupported instead of becoming role bypass actors that never let anyone bypass. Ruleset commands accept onlyuser,team, andappbypass actors, andorigin ruleset updatefrom a spec removes stored role actors. Add who may bypass withorigin ruleset update.
Scripting
- Pick
origin auth statusJSON fields, and catch broken git credential setup.origin auth status --jsontakes a field list, such as--json account,team,organization, and--json helplists every field.origin auth statusalso warns when git uses the Origin credential helper for some Origin remotes but notowner/repoones, and names theorigin auth setup-gitcommand that fixes it. See authentication. - Pick the label fields you want in JSON.
origin label list,create,edit, anddeletetake a comma-separated field list with--json, such as--json name,color, matchinggh. Bare--jsonlists the fields. See labels.
Fixes
- Admin Fixes to ruleset import and branch patterns.
origin ruleset importno longer adds a require-branch-up-to-date rule when a GitHub status-check rule lists no required checks. Saving a ruleset with an invalid branch or tag pattern fails with a plain explanation of the problem and how to fix it. - Fixed git remote detection and
origin push localchecks. Commands that read your git remote recognize scp-style remotes without a user, likehost:org/repo, and no longer mistake local paths containing a colon for remotes.origin push localrejects--remote originor--remote githubbefore any other checks run. - Fixes to the transcript private-key check. The Origin CLI refuses to upload a transcript that hides a private key behind a BEGIN marker split across separate strings, including when a later string or plain-text line finishes the marker. Before, these transcripts could pass the secret check.
Pull requests
- Safer transcript uploads in
origin pr gate report.--transcript-filerefuses a transcript when a private key's BEGIN marker is split across lines, or when a line is nested too deeply to check for secrets. The help text and the "Stored transcript" message say that anyone who can read the repository can read the transcript until 30 days after the pull request closes or merges.
Rulesets
- Admin Clearer guidance when importing GitHub team reviewer rules.
origin ruleset import --from-githublists each required reviewer team with its approval count and tells you to add the requirement withorigin ruleset updateusingrequiredReviewers. It also notes when GitHub file patterns can't narrow the requirement, since Origin applies it to every pull request on the targeted branches. See rulesets. - Admin GitHub file size limits carry over on ruleset import.
origin ruleset import --from-githubconverts a GitHub push ruleset's maximum file size rule into an Origin push ruleset instead of dropping it. Limits from 1 to 100 MB carry over; other values are still reported as unsupported.
Authentication
- Origin App installation tokens last their full lifetime. When you export an Origin App installation token as
CURSOR_AUTH_TOKEN,originuses it until it expires instead of rejecting it five minutes early. Once it has expired, the CLI tells you to mint a new one.
Scripting
- Clearer errors for file and stdin flags. Flags that take a file or
-for stdin, such as--input,--body-file,--signing-key, and--public-key, require a value and fail with a usage error that names the flag and the problem, such as "does not exist" or "is not valid JSON".origin pr create --body-file -no longer competes with the push prompt for stdin.
Agents
- Teach your coding agent to use the Origin CLI.
origin agent promptprints a Markdown guide tooriginfor AI agents, matched to your installed version, with focused topics such as pull requests, review, and CI.origin agent setupinstalls a skill for Cursor, Claude Code, or Codex that points the agent to that guide, and mistyped commands suggest the closest match. See agent commands.
Pull requests
origin pr mergestops merges that would land on a closed pull request's branch. If a pull request targets the head branch of a pull request that was closed without merging,origin pr mergerefuses instead of landing your change on that branch. The message tells you how to fix it: retarget to trunk, reopen the parent and stack on it, or pass--base-okto merge anyway.- Merge-conflict status no longer shows a pull request as clean too early.
origin pr view --checks,origin pr watch, andorigin pr status -cnow say when Origin is still checking for conflicts, is checking a conflicting pull request again, needs a restack, or has nothing to merge. Before, all of these showed asnoorMERGEABLE. - Merge blockers say what to do next. Blockers in
origin pr requirementsnow give the next step, such as "Restack the stack from #N to continue." or which branch to retarget onto when a stack's base branch was deleted. A blocker on a lower pull request in the stack names that pull request. - Shorter Gates section in
origin pr requirements. It shows only the gates your pull request requires, with their status at head, plus any errors in the head's.origin/gates.ci. When nothing is required, it printsGates: none required. origin pr searchreports every invalid qualifier at once. When a search has several unknown or malformed qualifiers, the error lists all of them instead of making you fix them one at a time.
Stacks
- Checking out a stack updates its trunk and protects teammates' branches.
origin pr checkout --stackandorigin stack getfetch the stack's trunk branch and fast-forward it when it is behind. Branches for pull requests you didn't author are frozen, so stack commands won't rewrite them; runorigin stack unfreeze <branch>to take one over. See track and freeze.
Repositories
- Imported rulesets keep merge methods and merge queue exclusions.
origin ruleset import --from-githubcarries a GitHub ruleset's allowed merge and squash methods onto the imported pull request rule. Rebase is dropped with a warning. A ruleset that exempts GitHub merge queue branches also exempts Origin's merge queue branches, with a warning naming the added exclusion. See rulesets. - Faster default-branch lookup in
origin repo clone-fast. It asks the server for the repository's default branch alone instead of downloading the full list of refs, and falls back to the old lookup if that request fails.
Reliability
- Git stops with a login hint instead of asking for a username. When you aren't logged in to Origin, or your credentials expired and can't be refreshed, git operations through the Origin credential helper stop with a message to run
origin auth login. Before, git fell back to a username prompt. - Fewer failed reads right after you create a pull request. When Origin briefly reports that it is unavailable and asks the client to retry,
origincommands that only read data try again, up to four attempts, instead of failing. That covers the moments after you create a pull request, before its first version is readable. Commands that change data are never retried. - Usage errors show what you can run next. A mistyped command or missing argument prints the error with a short usage line, the commands and flags available at that level, and a pointer to
--help.-hnow works as--help, andorigin config get-channelnames the environment variable that set your channel.
Fixes
- Fixes to stack restack, checkout, and get.
origin stack getno longer fails on every run claiming--take-remoteand--keep-localwere both passed.origin stack restackrejects a branch with arestack <branch> firstmessage instead of dropping commits. Stack checkout follows branches you renamed locally and reports when the stack's base branch is gone. - Fixes to
origin pr watch. It no longer reports a failure when the server hasn't read the pull request's merge rules yet; it waits up to two minutes instead. It also stops reprinting status that hasn't changed.
- Clearer messages when a write isn't approved. When a command that needs approval is denied, expires, is cancelled, or can't be shown to anyone in Cursor, the CLI says nothing was applied and not to retry until someone can approve it. If
origin pr merge --auto --downstackfails partway through a stack, the error names the pull requests that still have merge-when-ready on and how to turn it off with--disable-auto.
origin repo set-origin-remotefinds the right Origin repository. It now asks Origin which repository mirrors your GitHub repo instead of guessing the URL from the owner and name, andorigin push localuses the same lookup when it offers to run it. If the repo isn't mirrored orghisn't signed in, it stops with an error and leaves your git remotes unchanged.
Pull requests
- See what a pull request still needs to merge.
origin pr requirementslists required gates and their status at head, needed approvals, human-only paths, the Code Review Gate, and blockers in the stack. Add--jsonfor scripts. - Safer merges and merge-when-ready status.
origin pr merge --expect-head <number>=<sha>refuses to merge if a listed pull request has moved, and--auto --downstackturns on merge-when-ready for every open pull request below this one.origin pr view,status, andrequirementsshow aMerge-when-readyline, and--json mergeWhenReadyreturns it. - Manage reviewers and labels from the CLI.
origin pr reviewer list,request, andremovemanage review requests for users, teams (org/team), and service accounts.origin pr createtakes--labeland--reviewer, and checks both before creating the pull request. - Wait on more than CI, and filter checks.
origin pr watch --untilcan wait formerged,head:<sha>, orcomment:<regex>, and--jsonreturns one result object.origin pr checks --name <pattern>limits output and the exit code to matching checks, and the output names the commit the checks ran on. - Edit and delete comments, and view one review thread.
origin pr comment editandorigin pr comment deletechange or remove a comment you wrote, and--edit-lastor--delete-lastact on your newest one.origin pr thread view <thread-id>prints a single review thread, and comment JSON now includes aurl. - Limit
origin pr diffto specific paths. List files, directories, or globs after--, as inorigin pr diff 123 -- src/ '*.md'. In pathspecs and--exclude,**now matches any depth, including the top level. - See a pull request's cloud agents.
origin pr view <number> --agentslists the cloud agents attached to a pull request, and--json agentsreturns them for scripts. - More GitHub search syntax in
origin pr search. Negated qualifiers such as-label:bug,has:qualifiers,ORbetween scopes, andmentions:now work.origin pr search --helplists every supported qualifier.
Stacks
- Server-side restacks.
origin stack restack --serverhas Origin rebase your stack and move its branches in one atomic step, so your clone force-pushes nothing. Add--dry-runto preview first.
Scripting
- More
ghJSON fields, and--json help.origin pr viewandorigin pr listaccept moreghfield names, such asbody,state,headRefName, andisDraft. Pass--json helptoorigin pr viewororigin pr listto list the fields they accept. - Set a default repository with
ORIGIN_REPO. Commands that take-R, --repofall back to theORIGIN_REPOenvironment variable, then your clone'soriginremote. - Find the Origin copy of a GitHub repository.
origin repo from-github owner/reposhows the Origin repository that mirrors a github.com repository, with its clone URL and source of truth, using yourghlogin.
Reliability
- Requests no longer hang. Origin requests time out after 60 seconds by default; set
ORIGIN_TIMEOUT_MSto change it, or0for no limit.origin pr merge --match-head-commit <sha>refuses the merge if the head has moved, and common server refusals print a suggested fix. - Shorter, clearer errors. A mistyped command prints the error and a pointer to
--helpinstead of the full help text. In a cloud agent VM,origin apistops with guidance instead of failing with a bare HTTP 401. origin auth loginshows who you signed in as. After a successful login, including with--api-key, it prints the email of the account you signed in to.
Fixes
- Fixed stack navigation and restacking.
origin stack up,down,top, andbottomnow work in single-branch and shallow clones when the target branch exists only on the remote. After a parent squash-lands,origin stack restackno longer replays trunk commits a child had merged in. - Fixed
--remotehandling. Commands that take--remotenow fail clearly when it is repeated or malformed, and a remote name starting with-is no longer read by git as an option. - Fixed pull request diffs and repo arguments.
origin pr diffshows real file modes and applies cleanly withgit apply. Repo arguments ending in.gitor/resolve correctly, andorigin pr list --minegives working steps in token sessions.
Pull requests
- Request reviewers by email.
origin pr edit --add-reviewertakes one or more emails, fails if an email doesn't match exactly one reviewer candidate, and prints who was requested. - Links to new comments.
origin pr commentprints the new comment's id and a URL that opens it. - More
gh-compatible JSON.origin pr viewandorigin pr listaccept--json headRefOid. Change output shows actions taken through an app or bot as "Name via app", and JSON output includes aperformedViafield. - Gate checks no longer count as CI.
origin pr checksignores Gate review checks when it sets its pending, failed, or no-checks exit code.origin pr viewshows "unknown" instead of "no" for CI and approvals when the target's rules can't be read. origin pr stackis removed, and so is--branchfor picking a pull request. Name a branch as the positional target instead.origin pr checkout --branchis unchanged.
Reliability
- Safer branch names.
origin pr create --pushandorigin pr checkoutuse fully qualified refs, so branch names that clash with tags work, and invalid names fail with'<name>' is not a valid branch name.origin pr create --pushalso pushes branches whose names start with-. - Automatic retries on rate limits. When Origin rate-limits a request, the CLI waits and retries, printing "Origin rate limit reached; retrying in Ns."
- Find pull requests by commit.
origin pr list --commit <sha>lists the pull requests Origin records for a commit. reviewDecisionin JSON output.origin pr view --json reviewDecisionreturns the review decision, matchinggh.- Request bodies from stdin.
origin api --input -reads the request body from stdin instead of failing with "Unknown argument: -". - CloneKit fixes.
origin repo clone-fastno longer fails with spurious EPIPE errors during parallel range downloads, and it looks up the default branch while the kit downloads instead of before.
- Team details in
origin auth status.origin auth statusprints your teams, role, and organization ids, and--jsonprints them as JSON for scripts.
- Clearer stack status.
origin pr stackshows how each pull request in a stack relates to its parent and the action that repairs it.
Repositories
- Edit repository settings.
origin repo editsets the default branch, visibility, allowed merge methods, and delete-branch-on-merge.origin repo viewshows those settings, andorigin repo list --json <fields>prints repositories as JSON with optional--jqfiltering. - Manage access from the CLI.
origin repo accessandorigin namespace accesslist, grant, change, and remove access for teams, users, and organization groups, and list the roles you can assign. On repositories in your personal namespace,origin repo accessalso lists, grants, and removes external collaborators, with Read or Write access. - Manage GitHub mirrors.
origin repo mirrorstarts a mirror transition, watches its status, syncs a ref on demand, and detaches the mirror, with--jsonoutput. - Verify a migration.
origin repo verify-migrationcompares a GitHub repository's default branch, visibility, merge settings, labels, and rulesets against its Origin copy and exits 1 on a mismatch. Use--namespaceto check every repository in a namespace. - Rulesets, labels, and apps.
origin ruleset create,update, anddeletemanage rulesets from flags or a JSON spec, andorigin ruleset import --from-githubconverts GitHub rulesets or branch protection.origin labellists, creates, edits, deletes, and bulk-imports labels.origin appmanages Origin apps, their signing keys, and webhook deliveries. - Stricter CloneKit downloads.
origin repo clone-fastchecks every range response against the kit's size. If the server stops honoring byte ranges, it downloads the pack as one file, and a range that returns the wrong number of bytes fails the kit download with an error.
Pull requests
- Set the merge commit message.
origin pr mergeaccepts--subject,--body, and--body-fileto set the commit message for a single pull request. When a stack lands as one commit, the flags are ignored instead of failing the merge. - Diffs for very large pull requests.
origin pr diffandorigin pr viewfetch the diff in pages, so very large changes no longer fail on an oversized response. - Request changes from the CLI.
origin pr review --request-changes(-r) submits a request-changes review instead of erroring. Pass exactly one of--approve,--request-changes, or--comment.
- Print your auth token. Run
origin auth tokento print the access token the CLI is configured to use. - Git authenticates with
CURSOR_AUTH_TOKEN. WhenCURSOR_AUTH_TOKENis set, git operations through the Origin credential helper use it before stored credentials, so headless jobs can export the token instead of runningorigin auth login. - Clear error for an expired token. If
CURSOR_AUTH_TOKENhas expired, the CLI stops with a message that the token must be refreshed instead of sending it and failing with a 401. - Control CloneKit fallback.
origin repo clone-fast --fallback neverexits non-zero instead of falling back togit clone, and the command now reports which phase stopped.
- Faster CI clones with CloneKit. For repositories with CloneKit turned on,
origin repo clone-fastdownloads a prebuilt clone kit, verifies it, fetches newer objects, checks out the default branch, and prints how long each phase took. - More reliable large clones.
origin repo cloneraises git's HTTP post buffer, so large fetches no longer fail with "unable to rewind rpc post data" after a dropped connection.