macOS & Xcode Errors
Command line tools, dyld, Homebrew permissions, notarisation and Keychain.
Understanding Apple errors
macOS developer errors concentrate around three subsystems: the command line tools (xcrun and the active developer directory), the dynamic linker (dyld, library paths, and code signing), and Gatekeeper / notarisation. Apple Silicon added a fourth axis: architecture mismatches between arm64 and x86_64 binaries, which usually surface as confusing "library not loaded" or "bad CPU type" messages rather than as an explicit architecture error.
How to debug Apple errors
- Check the active developer directory first with
xcode-select -p. After every macOS or Xcode update this can point at a path that no longer exists, breaking git, compilers and package managers all at once. - For dyld errors, run
otool -L /path/to/binaryto list what it actually wants, then verify each path exists.DYLD_PRINT_LIBRARIES=1shows the resolution order at runtime. - Confirm architecture with
file /path/to/binaryanduname -m. On Apple Silicon, a Rosetta shell reportsx86_64and will silently install the wrong Homebrew prefix. - Homebrew lives at
/opt/homebrewon Apple Silicon and/usr/localon Intel. Permission errors under/usr/localon an M-series Mac almost always mean a Rosetta/native mix-up. - For Gatekeeper and notarisation, use
spctl -a -vvvto assess a bundle andxcrun notarytool logto get the actual rejection reason. The submission status alone tells you nothing useful.
Tools worth reaching for
xcode-select -potool -Lcodesign -dv --verbose=4spctl -a -vvvxcrun notarytool log
All 20 Apple errors
- App Store Connect: ITMS-91053: Missing API declaration NewSince May 2024 Apple rejects uploads that call certain "required reason" APIs, such as UserDefaults, file timestamps…
- Homebrew: Cannot install under Rosetta 2 in ARM default prefix NewThe arm64 Homebrew in /opt/homebrew refuses to run in a translated process, which is what happens when the terminal…
- Homebrew: Permission denied @ /usr/localHomebrew cannot write to its prefix because directory ownership is wrong, common on Intel Macs that use /usr/local.
- ld: symbol(s) not found for architecture arm64 NewCompilation succeeded and the linker could not find a definition for something that was declared, so the reference…
- macOS: "App" is damaged and can’t be opened. You should move it to the Bin NewGatekeeper is reporting a failed signature or notarisation check on a quarantined download, not a corrupted file. An…
- macOS: cannot be opened because the developer cannot be verified NewGatekeeper blocked something that carries the quarantine attribute and is not notarised. Anything a browser downloads…
- macOS: dyld: Library not loadedThe dynamic linker could not find a shared library at the path baked into the binary, often after a Homebrew upgrade…
- macOS: errSecAuthFailed / Keychain access deniedA code-signing or credential operation could not read the Keychain, common in CI when the keychain is locked or not in…
- macOS: notarization failed (notarytool)Apple's notary service rejected the app, usually for unsigned/un-hardened binaries, a missing secure timestamp, or…
- macOS: Operation not permitted (Full Disk Access / TCC) NewmacOS privacy protection blocked access to a protected location such as Desktop, Documents, Downloads, or another…
- macOS: xcrun: error: invalid active developer pathThe Command Line Tools path is missing or points to a removed Xcode, commonly after a macOS upgrade.
- macOS: zsh: bad CPU type in executable NewThe binary contains only Intel x86_64 code, and this Mac has an Apple silicon chip without Rosetta 2 installed. macOS…
- macOS: zsh: command not found after Homebrew install (PATH)A freshly installed CLI is not on PATH because the Homebrew shellenv was not added to the shell profile, common on…
- macOS: zsh: killed ./app (Killed: 9) on Apple silicon NewOn Apple silicon every arm64 executable must carry a valid code signature, even if only an ad hoc one, and the kernel…
- xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer NewThe active developer directory points at the standalone Command Line Tools in /Library/Developer/CommandLineTools…
- Xcode: building for 'iOS-simulator', but linking in object file built for 'iOS' NewA dependency in the project carries a device slice only, and the simulator build cannot link it even though both are…
- Xcode: Command PhaseScriptExecution failed with a nonzero exit code NewA Run Script build phase exited non zero, and Xcode reports its own wrapper rather than the script's message, which is…
- Xcode: No signing certificate "iOS Development" found NewThe project wants to sign with a development certificate whose private key is not in this Mac's keychain. The…
- Xcode: Sandbox: rsync.samba deny(1) file-write-create NewXcode 15 turned on user script sandboxing for new projects, and a build phase tried to write outside the files it…
- Xcode: SDK does not contain 'libarclite' at the path NewXcode 14.3 removed libarclite, the small library that let ARC code run on very old OS versions, so any target whose…
Other categories
- AI 35Rate limits, context windows, GPU memory and model-serving failures.
- Ansible 18Unreachable hosts, become passwords, undefined variables and Jinja2 failures.
- API 20Auth headers, payload limits, versioning, idempotency and webhook signatures.
- Auth 20OIDC, SAML, Auth0, Okta, Keycloak, passkeys and MFA failures.
- BigData 17Spark, Kafka, Airflow, Snowflake, Flink and Databricks failures.
- C# 18NuGet restore, null references, EF Core migrations, async deadlocks and Blazor…
- C++ 20Segfaults, linker errors, memory corruption and template deduction failures.
- Caching 20Cache stampedes, stale content, Varnish and CloudFront failures.
- CI/CD 18GitHub Actions, GitLab CI, Jenkins, CircleCI: permissions, runners and…
- Client 21CORS, mixed content, module resolution, memory limits and framework runtime…
- Cloud 25IAM permissions, quotas, service limits and credential failures.
- Dart 20Null safety, pub version solving and build toolchain problems.
- Database 41Connections, deadlocks, constraints, replication and memory limits.
- DNS 20NXDOMAIN, SERVFAIL, timeouts, propagation and delegation problems.
- Docker 27Daemon connectivity, disk space, image pulls, ports and architecture mismatches.
- Elixir 18GenServer timeouts, supervision failures and Mix compilation problems.
- Email 20Delivery failures, relay denial, authentication, SPF, DKIM and DMARC.
- Frontend 23Hydration mismatches, bundler resolution, layout shift and font loading.
- Git 20Merge conflicts, rejected pushes, detached HEAD, LFS and repository corruption.
- Go 19Nil map assignment, concurrent map access, context cancellation and deadlocks.
- GraphQL 19Validation, depth limits, N+1 queries and fragment problems.
- gRPC 17Status codes, deadlines, message limits, TLS and HTTP/2 transport failures.
- HTTP 494xx client errors, 5xx server errors, redirects, headers and protocol problems.
- ICMP 23Destination unreachable, time exceeded, fragmentation needed and redirects.
- Ingress 20404 default backend, missing TLS secrets, IngressClass and path matching.
- Java 19Class loading, dependency resolution, connection pools and JVM version…
- JavaScript 42npm resolution, async pitfalls, hydration, memory limits and runtime type…
- Kubernetes 34CrashLoopBackOff, ImagePullBackOff, OOMKilled, RBAC, scheduling and storage.
- Logging 18Log4j, Logback, Fluentd, Logstash and CloudWatch ingestion problems.
- MessageQueue 20Kafka, RabbitMQ, SQS, NATS and Celery: lag, rebalancing and poison messages.
- Mobile 20Gradle, CocoaPods, Xcode signing, Metro bundler and toolchain mismatches.
- Monitoring 18Prometheus scrapes, Grafana data sources, OpenTelemetry exporters and agent…
- Network 35Refused connections, timeouts, resets, MTU problems and port exhaustion.
- Performance 19GC pauses, thread pool starvation and event loop blocking.
- PHP 20Memory limits, execution timeouts, autoloading, Composer and PDO connections.
- Proxy 20nginx, Envoy, HAProxy, Traefik, Caddy and Cloudflare upstream failures.
- Python 35Imports, virtual environments, encoding, concurrency and dependency conflicts.
- Regex 17Catastrophic backtracking, back references, escaping and engine differences.
- Ruby 20Bundler, migrations, native extensions, encoding and asset compilation.
- Rust 19Borrow checker, ownership moves, trait bounds and lifetime mismatches.
- Scala 17Dependency resolution, binary compatibility and type inference failures.
- Security 25JWT validation, CSRF, OAuth grants, SELinux, SSH host keys and CSP.
- Serverless 20Lambda timeouts, package size limits, VPC networking and cold starts.
- Shell 19Command not found, permissions, quoting, expansion and Makefile syntax.
- Storage 19S3 permissions, NFS mounts, quotas, signed URLs and volume attachment.
- Svelte 20Store subscriptions, load functions and server/client boundaries.
- System 26Disk space, systemd units, file descriptors, OOM killer and scheduled jobs.
- Terraform 18State locks, provider auth, drift, dependency cycles and plan-time unknowns.
- Testing 18Jest, pytest, JUnit, Cypress and Playwright: fixtures, snapshots and timeouts.
- TLS 24Untrusted authorities, expiry, hostname mismatch, chains and cipher negotiation.
- TypeScript 19Assignability, missing declarations, strict null checks and generic constraints.
- Virtualization 20VirtualBox, VMware, Hyper-V, WSL, KVM and hypervisor conflicts.
- Web3 17Gas estimation, nonce management and reverted transactions.
- WebAssembly 17Compile errors, memory bounds and host binding mismatches.
- WebServer 20nginx, Apache, IIS and Caddy: binding, permissions, rewrites and TLS.
- Windows 20Installer failures, missing runtimes, update errors and permission problems.