Fixed project_read not recognizing file uploads — it previously threw "No doc at" for any upload path; it now correctly dispatches to the /extracted endpoint for document-type uploads (PDF, docx) and returns a clear notice for non-document types (search for "/extracted")
Fixed daemon roster cleanup incorrectly leaving .sock.err and .sock.late files behind when the corresponding socket no longer existed — now both .err and .late orphan files are removed during roster sweeps (search for "[bg-dispatch] removed non-regular")
Improved project_delete error for file uploads — previously threw a generic "No doc at" error when trying to delete a file upload; now returns an actionable message explaining that file uploads must be removed from claude.ai (search for "is a file upload; project_delete only removes text docs")
The safety classifier unavailability notice is now dynamic — it names the specific classifier that was unavailable rather than using a generic phrase (search for "(the safety classifier)")
Remote Control session reconnection handling improved — login-triggered account changes now cleanly disconnect the Remote Control session with a clear log message (search for "Account changed via /login — disconnecting Remote Control session")