Building from source without an Apple Developer account: what works, what doesn't #55
Unanswered
AgentiLoop
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This comes up a lot in issues, so pinning the answer here.
The two build paths
Option A — Xcode + Apple Developer account. Open
Agent.xcodeproj, set your Development Team, Build & Run theAgenttarget, approve the helper when prompted. Everything works.Option B — Xcode Command Line Tools only, no account.
Takes about 5 minutes. The build is ad-hoc signed.
What works on Option B
file,git,xcodebuild/analyze,index,memory,plan, sub-agentsshellfallbackWhat does NOT work on Option B
user_shell) and Launch Daemon (root_shell) helpers.SMAppServicerequires a Team ID to register them, and an ad-hoc signature doesn't have one. Agent! detects this and routes shell commands through the in-process fallback instead, so you don't lose shell access — you lose the privileged (root) path and the out-of-process isolation.That's the whole gap. If you don't need root and don't care about helper isolation, Option B is a complete build.
Troubleshooting
xcode-selectpoints at Command Line Toolssudo xcode-select -s /Applications/Xcode.app/Contents/DeveloperBUILD FAILEDright after pulling./build.sh clean && ./build.sh./build.sh releasedoes nothing usefulReleaseSecurity note
Some people ask why the helpers insist on a Team ID at all. Short answer: SMAppService already enforces signing identity, and both XPC listeners require same-team code signing derived from the app's own signature — release builds reject un-teamed clients. That's deliberate; the daemon runs as root, and the thing talking to it needs to prove it's the same app. Details in docs/SECURITY.md.
Still stuck? Reply with your macOS version, Xcode version and the
./build.shoutput.All reactions