Skip to content

Search titles and text across the docs.

Changes, branches and pull requests

Review what the agent changed, comment on lines, then commit, switch branches, push and open a pull request from the chat.

Where in StudioComposer → work strip

Updated View as markdown

Everything about the chat's checkout sits in the work strip at the bottom left of the composer card: the branch or pull request, how much changed, and the one Git step that comes next. The Changes panel on the right shows the diff, where you can leave comments for the agent. Git runs on the computer that owns the chat, with that computer's Git and its existing SSH or HTTPS credentials. No Git hosting connection is needed for commits, branches, pull and push.

The work strip in the composer's footer: the branch name, the base branch, the diff pill and a Create PR split button with its menu open.
The work strip: the branch, the diff pill and the next Git step with its menu.

The work strip

PartWhat it shows
Branch or pull requestThe branch name, or # and the pull request's number with its state: Open, Draft, Merged or Closed, and a checks mark while CI reports. Detached HEAD when no branch is checked out. Click a pull request to open it.
Base→ and the base branch, such as → main, when you are on another branch.
Diff pillFiles changed with lines added and removed. Click it for the list of files changed since this chat started; click a file to open its diff.
Next stepOne button for the step that comes next, and a chevron, More git actions, for the rest.

The strip appears for chats whose checkout is a Git repository.

The next step

The button follows the state of the checkout:

StateButton
Uncommitted changesCommit…
The remote has commits you do not havePull, or Sync when you also have commits to push
You are on the base branchPush, disabled with Create a branch first
Commits to push, or a branch not yet on the remotePush
Pushed, no pull request yetCreate PR, or Create PR ↗ to open the provider's page
A pull request is openOpen pull request, or CI while checks report
The pull request is merged or closedView PR

The chevron holds the other actions that apply: Create branch…, Create draft PR, Open PR page in browser, Open pull request, Fetch, Switch branch…, Copy branch name and View changes.

Commit

  1. Open the commit card

    Choose Commit…. The Commit changes card opens with every changed file selected. Each file carries a letter for its change, such as added, modified, deleted, renamed or untracked.

  2. Check the selection

    Clear the files you do not want. All changes selects or clears them all, and the count shows how many are selected. The checkout can hold changes from other chats or from your editor, so review the list. The eye button, Review changes, opens the diff.

  3. Write the message

    Type it in Commit message (⌘↵ to commit).

  4. Commit

    Choose Commit N files, or press ⌘↵. Commit & Push pushes once the commit lands, when the branch can be pushed.

The Commit changes card: a list of changed files with checkboxes, All changes, the commit message field, and the Commit and Commit & Push buttons.
The Commit changes card: the selected files, the message and Commit & Push.

A commit takes whole files, from 1 to 500 per commit, with a message of up to 16,384 bytes. It does not stage parts of a file.

Switch or create a branch

Choose Switch branch… or Create branch… in the chevron menu. The Switch branch card lists local and remote branches; type in Switch to or create a branch… to filter.

  • Pick a local branch to switch to it, or a remote one to check it out as a new tracking branch.
  • Type a new name and choose Create branch to start a branch from the current commit.

Uncommitted changes come along. The switch is refused when the target branch changes a file you have edited, or when the branch is checked out In another worktree.

Pull, sync, push and fetch

  • Pull only fast-forwards. Your local changes stay in place, unless an incoming commit touches a file you have edited; then the pull is refused before anything changes.
  • Sync needs a clean checkout. It fetches, replays your commits on top of the remote branch and pushes.
  • Push sends the branch to its remote, and publishes a branch that is not there yet.
  • Fetch updates what Studio knows about the remote. The counts in the strip come from the last fetch.

Studio never force-pushes, stashes your files or resolves conflicts. When branches have diverged, or a merge or rebase is in progress, it tells you to resolve it on the computer that hosts the checkout. You can do that in the terminal.

Pull requests

Create PR opens the pull request through the GitHub CLI (gh) or the GitLab CLI (glab), signed in on the computer that owns the chat. The title is the first commit's subject and the description lists the commit subjects. Create draft PR opens it as a draft.

Without a signed-in CLI, Create PR ↗ opens the provider's new pull request page in your browser instead. CI opens the checks of a GitHub pull request or the pipelines of a GitLab merge request.

The GitHub page

Where in StudioNavigation rail → More → GitHub

The GitHub page lists pull requests and issues for your repositories, with search and filters by state and repository. Open an item to see its description, activity, checks and files. Start chat starts a chat from it. Requests use the gh login of the computer picked as GitHub desktop.

Review the changes

Open the Changes panel from the diff pill, from View changes, or with ⌘B. Its menu picks what to compare:

ScopeShows
Working treeUncommitted changes in the checkout.
Branch changesEverything on this branch against a base branch, the default branch unless you pick another.
Latest turnWhat changed since the chat's last turn started.
This sessionEverything changed since this chat's first turn, the numbers the strip shows.
HistoryThe repository's commits. Click a commit to open its own changes in a new tab.

Large and generated files start folded. Load diff loads a file that was too large to send with the rest, and Show diff opens a generated file such as a lock file. A file too large to show reads Too large to view here — open it on the device.

Comment on a line

  1. Pick the line

    Hover a line in the diff and click the + that appears beside it.

  2. Write the comment

    Type in Request a change… and choose Comment.

  3. Send

    The comments gather in the composer. They go with your next message, each with its file and line, so the agent can act on them. Sending comments alone asks the agent to Address the review comments below.