Ace map · review

Changes and review

See what agents changed: diffs, lanes, commits, pull requests and checks.

testedvisualpartialbrokenuntestedmissingplannednopen gap
^680

See what a chat changed in the Diff tab

visual
  1. ^681

    The Diff tab opens itself on the first change

    tested
    Channel → tab bar

    A Diff tab opens behind the chat tab once the chat's work changes files. Closing it keeps it closed until the work is clean again.

  2. ^682

    Open a Diff tab from the tab bar

    tested
    Channel → + (New tab) → Diff

    A Diff tab for the chat's lane opens in the pane.

  3. ^683

    Open the Diff from the details sidebar

    tested
    Details sidebar → Committed / Uncommitted / Untracked row

    The chat's Diff tab comes forward, or opens beside the chat if none is open.

  4. ^684

    Read the header and the changed files

    tested
    Diff tab

    The header names the lane and its base ref (wave → origin/main), then totals for Committed, Uncommitted and Untracked work. Below it, every changed file's patch; a file in two groups names the group (README.md Committed, README.md Uncommitted).

    1 It refreshes every 2 s, but only while the tab is visible and the window is focused (apps/app/src/panels/diff.tsx:95).

    2 With the details sidebar open at 1280px, the header's totals run under the toolbar: the lane name scrolls away and Untracked's +1 -0 overlaps Rebase.

  5. ^685

    Collapse or expand files

    tested
    Diff → file header chevron, or toolbar → Collapse all diffs / Expand all diffs
  6. ^686

    Switch between unified and split diffs

    tested
    Diff → toolbar → Switch to split diff
  7. ^687

    Show the file tree and jump to a file

    visual
    Diff → toolbar → Show file tree

    Click a file in the tree, or filter it with Search.

    The tree groups files by Committed, Uncommitted and Untracked. Clicking a file scrolls to its patch.

  8. ^688

    See binary files and large untracked folders

    tested
    Diff tab

    A binary file shows as Binary, with no patch. A wholly untracked folder of more than 100 files, such as an unignored node_modules, shows as one row with its file count.

    3 The Binary and folder rows are inert: no preview or file list.

  9. ^689

    See a chat with no changes

    tested
    Diff tab

    No file changes.

^690

Read a channel's work in the details sidebar

visual
  1. ^691

    Open the details sidebar

    tested
    Channel → tab bar → Toggle details sidebar (right edge)
  2. ^692

    Read the summary, changes, branch and pull request

    partial
    Details sidebar

    The agent's summary, totals per group (each opens the Diff), the lane's branch, its pull request or Create PR, and git actions the agent can take now.

    4 The summary is cut at four lines with no way to expand.

  3. ^693

    Read the channel's facts

    tested
    Details sidebar → Channel

    Project, host, owner, model, tokens, estimated cost and when it was created.

  4. ^694

    See subagents and links from the chat

    tested
    Details sidebar → Subagents, Links

    Subagents the agent started, by their (truncated) prompt and state, and links people and agents wrote. GitHub links show as owner/repo#N.

^695

Work in lanes

visual

Lanes are Git worktrees the agent creates with the lane CLI. People work with them only by asking the agent.

  1. ^696

    Ask the agent to start a lane

    tested
    Channel → composer

    Ask, for example, Start a lane named wave and ….

    The agent runs lane new <channel>/<name> from origin's default branch, fetched first. The Diff then shows that lane.

  2. ^697

    Ask the agent to switch lanes

    tested

    Ask, for example, Switch back to the shout lane.

    The chat's working directory moves to that lane, and the Diff header and details follow it. The other lane keeps its uncommitted work.

  3. ^698

    Ask the agent to list lanes

    tested

    The agent's lane tool lists the channel's lane names.

  4. ^699

    See or switch lanes without the agent

    missing

    There's no lane list or switcher in the app. Only the Diff header shows the current lane.

^700

Commit a lane's work

visual
  1. ^701

    Click Commit

    tested
    Diff toolbar, or Details sidebar → Commit

    Shown while the lane has uncommitted or untracked work, it has no open pull request, and the chat is idle.

    The chat's agent is asked to commit the work that belongs, following the repository's conventions, without pushing.

  2. ^702

    Watch it commit

    tested

    The button reads Committing until the run ends. Then the files move to Committed and Commit goes away.

  3. ^703

    Choose which files or hunks to commit

    missing

    There's no staging. The agent decides what belongs in the commit.

  4. ^704

    Discard changes

    missing

    There's no discard or revert action in the Diff or the details sidebar.

^705

Rebase a lane onto its base

visual
  1. ^706

    See Rebase when the base moves ahead

    visual
    Diff toolbar, Details sidebar

    Rebase +N appears, with a tooltip counting the commits on the lane's base since it forked. The Diff fetches the base on open and every minute: a commit pushed from another clone showed Rebase +1 on reopening the Diff.

    5 Blocked in the 2026-10-22 study: needs a base on origin that moves ahead, such as a teammate's push.

  2. ^707

    Click Rebase

    visual

    The agent fetches, rebases, resolves conflicts and checks the build, and pushes with lane push if the lane has an open PR. The button reads Rebasing until the run ends.

^708

Push a lane

visual

There's no Push action. Work leaves the Mac only through Create PR or Update PR (lane push), so a project whose remote isn't on GitHub can't push from the app.

6 With uncommitted and untracked work in the lane, lane push refused, and the agent ran git add -A and committed everything (a binary and a 150-file folder) as Lane context to push, without asking.

  1. ^709

    Push without opening a pull request

    missing
^710

Open a pull request

visual

7 Create PR is offered only when the project's origin is on GitHub (channel.repo); a local or other remote shows no PR row at all (apps/app/src/channel.tsx:227).

8 After the PR was closed on GitHub the sidebar kept offering Merge PR for 25 s; a reload showed Create PR.

  1. ^711

    See Create PR

    tested
    Diff toolbar, or Details sidebar → Create PR

    Shown when the project's origin is on GitHub, the branch has no pull request, there are changes, and the chat is idle.

  2. ^712

    Click Create PR

    tested

    The agent commits what belongs, lands it with lane push and gh pr create, following the repository's instructions and PR template. The button reads Creating PR until GitHub reports the PR.

  3. ^713

    Create a draft PR

    tested
    Create PR → ⌄ → Create draft PR

    The same, with gh pr create --draft.

    9 The UI kit's menu also has Manually create PR, but the app never passes onManualCreatePr, so it never shows (apps/app/src/panels/diff.tsx:200).

^714

Follow a pull request

partial
  1. ^715

    See the branch's pull request

    tested
    Details sidebar

    Its state icon, title and number, linking to GitHub. Ace reads it again every minute and after each run.

  2. ^716

    Expand its checks

    tested
    Details sidebar → checks summary

    Each check with its state, linking to its run; the list starts expanded when a check failed. Only open and draft PRs show checks.

  3. ^717

    Update PR

    tested

    Shown on an open PR when the lane has unpushed commits or uncommitted work.

    The agent commits what belongs and pushes with lane push.

  4. ^718

    Address review

    tested

    Shown when reviewers requested changes.

    The agent reads the reviews with gh, fixes them in the lane and pushes.

    10 No review state or Address review control; the agent addressed the reviews only when asked.

  5. ^719

    Mark a draft ready for review

    tested
    Ready for review

    The agent runs gh pr ready.

  6. ^720

    Merge PR

    tested

    Shown only when checks pass, no review blocks it, and nothing is unpushed.

    The agent runs gh pr merge, following the repository's merge instructions, or says why GitHub refused. Offered only with nothing to commit or push: an untracked file swapped it for Update PR and Close PR.

  7. ^721

    Close PR

    tested
    Close PR, or the ⌄ menu on Merge PR / Ready for review

    The agent runs gh pr close, keeping the branch.

^722

Fix failed checks

visual
  1. ^723

    See failed checks in the chat

    tested
    Channel → above the composer

    N checks failed on #PR, while the PR is open or draft.

  2. ^724

    Click Fix

    tested

    The agent finds the cause in the failed checks' logs, fixes it in the lane and pushes.

  3. ^725

    Dismiss the notice

    tested

    It hides, also after a reload, until a rerun fails again.

^726

Browse a project's issues

visual
  1. ^727

    Open Issues

    tested
    Rail → Issues

    The current project's GitHub issues, open first, with number, state, author and last update.

  2. ^728

    Switch project

    partial
    Issues sidebar → project picker

    11 All Projects from Issues jumps to Channels without saying why.

  3. ^729

    Filter by Open, Closed or All

    tested
    Issues sidebar
  4. ^730

    Search issues

    tested
    Issues → Search issues…

    Type and press Enter or the search button.

    GitHub's search results for that state. Typing alone doesn't filter.

  5. ^731

    Load more

    visual
    Bottom of the list → Load more

    50 more, up to 1,000.

  6. ^732

    Refresh from GitHub

    partial
    Header → ↻

    The list reloads. Lists are cached in the browser and refreshed in the background every 3 hours, or when the window regains focus.

    12 The first Refresh missed an issue created seconds before, and nothing shows when the list was loaded.

  7. ^733

    Open an issue on GitHub

    tested
    Issue row → title, or hover → Open on GitHub

    GitHub opens in a new tab. Issues can't be read inside Ace.

  8. ^734

    Start a channel from an issue

    tested
    Issue row → hover → Open in a channel

    A new channel starts with the agent asked to read the issue, make the change and open or update a pull request.

  9. ^735

    See a project without a GitHub remote

    partial

    This project has no GitHub remote.

    13 Switching to a project without a remote drops you on Channels with no message.

  10. ^743

    Retry when GitHub doesn't load

    visual
    Issues or PRs → Try again

    The list is replaced by a sentence (GitHub didn't find <owner/name> for this host's GitHub account. Check that the project's origin names the right repository…); Try again loads it again.

^736

Browse a project's pull requests

visual

Same list, filters, search, refresh and paging as Issues (^726).

  1. ^737

    Open Pull requests

    tested
    Rail → PRs

    Open PRs first; No open pull requests in this project. when there are none. Closed includes merged.

  2. ^738

    Continue a pull request in a channel

    tested
    PR row → hover → Open in a channel

    A new channel starts with the agent asked to continue on the PR's existing branch and push to it instead of opening a new PR.

    14 The PR channel's sidebar says No pull request and offers Create PR.

  3. ^739

    See checks and review state in the list

    missing

    Rows show state, number, author and date only. Checks and reviews appear only in a channel's details sidebar (^716).

^740

Connect GitHub

visual

Ace uses the GitHub CLI's sign-in. There's no GitHub sign-in in the app.

  1. ^741

    Use the GitHub CLI's sign-in

    tested

    Run gh auth login, or set GH_TOKEN or GITHUB_TOKEN.

    Issues, PRs and a branch's PR load with that account. The host passes the token to gh.

  2. ^742

    See whether GitHub is signed in

    visual
    First-run setup and team setup

    GitHub · <login>, or GitHub: run gh auth login.

    15 Without a signed-in gh, private projects' access checks, avatars and Issues/PRs still fail only when used (rest of githubnext/ace#540).