{"version":"2.1.238","anchor":"macos-keychain-lookups-no-longer-throw-and-unreadable-config","canonical_anchor":"macos-keychain-lookups-no-longer-throw-and-unreadable-config","heading":"macOS keychain lookups no longer throw, and unreadable config files are now reported","tier":"notice","area":"Auth","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.238\/e\/macos-keychain-lookups-no-longer-throw-and-unreadable-config","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.238","markdown":"### macOS keychain lookups no longer throw, and unreadable config files are now reported\n\nKeychain lookups fail quietly instead of crashing, and unparseable config files now get reported.\n\n**What**\n\nReading credentials from the macOS keychain now returns nothing on failure instead of throwing or handing back a partial result when the lookup times out. Separately, a config file that fails to parse emits a `tengu_config_parse_error` event recording the file size, whether cached auth was available, and whether a timestamped backup exists.\n\n**Details**\n\n- The keychain lookup runs `security find-generic-password`; both a thrown error and a killed process now resolve to null.\n- The parse-error event is scheduled asynchronously and claimed once per file, so a failure reporting a failure cannot loop.\n\n**Evidence**\n\n`tengu_config_parse_error`\n\n- Area: Auth\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}