Product page Support Steps
Sanary Build BridgeSBB · Xcode setup

MANUAL

Xcode setup

Connect Xcode’s Claude and Codex judging, and Antigravity observation, to SBB.

OVERVIEW

Overview

This connects Xcode’s Agents to SBB. Once connected, SBB judges the completion of Xcode’s built-in Claude and Codex, and shows the working status (working / idle) of Xcode’s built-in Claude, Codex, and Antigravity.

Antigravity is observed only. SBB does not judge it and needs no hook for it.

You stay in control.

SBB reads Xcode’s folder only after you choose and allow it. It writes an Agent’s hook only when you press that Agent’s “Set Up” or “Generate Settings File”.

BEFORE YOU START

Before you start

  • SBB is running.
  • Xcode’s CodingAssistant folder (~/Library/Developer/Xcode/CodingAssistant) exists.
  • Judging on PCC requires macOS 27 or later and a Mac and region that support Apple Intelligence. See the support FAQ for what happens when it is unavailable.

STEPS

Steps

1. Allow SBB to read the folder

  1. Open SBB’s Settings and show “Xcode” on the Connections tab.
  2. Press Enable Xcode Integration….
  3. A folder panel opens. It starts at ~/Library/Developer/Xcode/CodingAssistant and shows hidden items. Choose that folder and press Allow.
  4. The “Xcode Integration” status changes to Connected.

Only a folder whose path ends in /Library/Developer/Xcode/CodingAssistant is accepted. Any other folder is refused. SBB reads only inside the folder you choose.

SCREENSHOT

macOS’s folder panel, with the CodingAssistant folder selected

Replace with: a screenshot of the folder panel

2. Set up judging for Claude

  1. In the “Judge” section that appears after connecting, press Set Up on the Claude row.
  2. SBB adds two hooks, UserPromptSubmit and Stop, to Claude’s settings file inside the CodingAssistant folder (ClaudeAgentConfig/settings.json).
  3. Before the first change, a backup of the original file (.sbb-backup) is created.

A hook is just a command that uses the system curl to hand the content to SBB on this Mac (127.0.0.1). If it fails, for example because SBB is not running, your Agent’s work is not stopped.

3. Set up judging for Codex

  1. Press Generate Settings File on the Codex row.
  2. SBB generates Codex’s hook settings (codex/hooks.json) inside the CodingAssistant folder.
  3. The status reads Settings file generated (trust required).

Codex does not run a hook until it trusts it. You confirm that trust on the Codex side. SBB does not edit Codex’s config.toml and does not automate trust.

4. Antigravity needs no setup

Once you have allowed the folder, Antigravity is included in Xcode monitoring, and whether it is working or idle is reflected in SBB. After Antigravity finishes, it takes about 30 seconds for the display to return to idle.

CHECK

Check the connection

  • “Xcode Integration” reads Connected.
  • Xcode Monitoring (Claude / Codex / Antigravity) reads Running. If it reads Standby, another SBI Runtime (such as the VS Code extension) got there first, and monitoring is done there.
  • In the “Judge” section, Claude reads Set Up and Codex reads Settings file generated (trust required).
  • Give an Agent a short task in Xcode, and a decision notification appears when it finishes.

If the VS Code extension has already set up hooks, SBB shows Set up by the VS Code extension and adds nothing, so a result is not judged twice.

Check in SBB’s Dashboard

From the SBB menu bar icon, choose Open Dashboard to open the Dashboard. It shows today’s count of CONTINUE, FIX, and HUMAN_REQUIRED, the latest decision (with its reason or next instruction), and a history of past decisions.

SCREENSHOT

SBB Dashboard (latest decision and history)

Replace with: a screenshot of the Dashboard window

UNDO

Stop or undo

  • Stop judging: press Remove for each Agent in the Judge section. Only the items SBB added are removed.
  • Revoke the folder permission: press Disable. SBB can no longer read that folder.

If you want the hooks removed, press “Remove” for each Agent first, and then “Disable”.

TROUBLESHOOTING

Troubleshooting

The folder you chose is refused

Check that the folder’s path ends in /Library/Developer/Xcode/CodingAssistant. No other folder is accepted.

“Set Up Again…” is shown

This appears when the earlier permission can no longer be used. Choose the folder and allow it again.

“The existing settings file can't be read, so nothing was changed.” is shown

SBB does not rewrite a file it cannot read. Please check the file’s contents.

Decisions do not arrive

  • Check that SBB is running.
  • For Codex, check that you have trusted the hook on the Codex side.
  • If you always get HUMAN_REQUIRED, PCC may be unavailable. See the support FAQ.

WHAT SBB READS AND WRITES

What SBB reads and writes

What it reads

  • Claude: the session state and its working folder
  • Codex: session boundaries and process information
  • Antigravity: the working folder and file-update information (metadata) only. SBB never opens its database.

What it writes

SBB writes an Agent’s hook settings only when you press that Agent’s “Set Up” or “Generate Settings File”.

What it sends for judging

With Xcode hooks, the full text of your prompt and the Agent’s last reply are handed to SBB on this Mac, and processed on Apple’s Private Cloud Compute for the judgment. Nothing is sent to Sanary’s servers.

SBB product pageSupportVS Code setup