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
- Open SBB’s Settings and show “Xcode” on the Connections tab.
- Press Enable Xcode Integration….
- A folder panel opens. It starts at
~/Library/Developer/Xcode/CodingAssistantand shows hidden items. Choose that folder and press Allow. - 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.
macOS’s folder panel, with the CodingAssistant folder selected
2. Set up judging for Claude
- In the “Judge” section that appears after connecting, press Set Up on the Claude row.
- SBB adds two hooks,
UserPromptSubmitandStop, to Claude’s settings file inside the CodingAssistant folder (ClaudeAgentConfig/settings.json). - 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
- Press Generate Settings File on the Codex row.
- SBB generates Codex’s hook settings (
codex/hooks.json) inside the CodingAssistant folder. - 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.
SBB Dashboard (latest decision and history)
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.