After the daemon processes aDocumentation Index
Fetch the complete documentation index at: https://theseventeen-2abbdf80.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
REQUEST, it writes a single RESPONSE line back on the same connection. Your client reads until the newline, parses the JSON, and inspects status to determine whether to proceed or handle an error.
Field reference
Always
"RESPONSE". You can use this field to validate that you are reading a response envelope and not a stale or malformed message.The outcome of the request. One of:
"success"— the operation completed. Checkresultsfor output."denied"— the daemon rejected the request for a policy reason. Checkreasonfor the specific code."error"— a lower-level failure occurred (bad JSON, OS keychain backend error). Checkreasonfor the specific code.
A machine-readable reason code. Set whenever
status is "denied" or "error". Omitted on "success". See error codes for the full list and recommended handling.An array of result objects returned for
read and search operations. Empty or omitted for write, delete, and any non-success response.Examples
Successful read
A read request that found both requested keys:Successful search (no values)
A search response returns target names and attributes only —value is absent from every result:
Successful write or delete
Write and delete operations return an emptyresults array on success:
Denied response
The daemon rejected the request due to a policy violation:Error response
A lower-level failure occurred (for example, the OS keychain was locked):Handling responses in your client
Checkstatus first, then branch:
"status": "denied" with reason unregistered_binary_pending_approval, the daemon has already closed the socket. Do not attempt to send further requests — the connection is gone. Surface a clear message to your user explaining that the binary needs to be approved via keychain-auth approve <hash>.