It seems that fairly recently, Zoho's IMAP server started advertising ESEARCH capability.
And it's broken when trying to use it for text searches (with a "literal" representing text):
<tag> SEARCH RETURN (ALL) CHARSET US-ASCII TEXT {16}
Server then says:
BAD syntax: expecting 'c', found 'h'
This works though (non-E SEARCH):
<tag> SEARCH CHARSET US-ASCII TEXT {16}
And this works too (E SEARCH but for unread messages, not text):
<tag> SEARCH RETURN (ALL) UNSEEN UNDELETED
Since the server advertises ESEARCH, the command to search for text (the one failing) should work too.
Further info: