CONTAINS being used instead of LIKE in places it shouldn't be used in database manager queries

I see that its a visual thing now, it does set it to “begins with” in the code but it’s still not usable for me. Whenever I add a “begins with” condition it breaks everything else and this appears at the bottom of the API return page instead of the data after debug is turned on:

"getInfo":{"options":{"connection":"uoserach","sql":{"type":"select","distinct":false,"columns":[{"table":"courseinfo","column":"*","field":"*"}],"table":{"name":"courseinfo"},"joins":[],"wheres":{"condition":"OR","rules":[{"condition":"AND","rules":[{"id":"courseinfo.course_code","field":"courseinfo.course_code","type":"string","operator":"begins_with","value":"1","data":{"table":"courseinfo","column":"course_code","type":"text","columnObj":{"type":"text","maxLength":65535,"primary":false,"nullable":false,"name":"course_code"}},"operation":"starts with"}],"conditional":null}],"conditional":null,"valid":true},"orders":[],"params":[{"operator":"begins_with","type":"expression","name":":P1","value":"1","test":""}],"query":"SELECT *\nFROM courseinfo\nWHERE course_code STARTS WITH :P1 \/* 1 *\/","sort":null,"dir":null},"test":true},"query":"SELECT * FROM `courseinfo` WHERE ((`course_code` starts with CONCAT(?, '%') ESCAPE '!'))","params":[{"id":"courseinfo.course_code","field":"courseinfo.course_code","type":"string","operator":"begins_with","value":"1","data":{"table":"courseinfo","column":"course_code","type":"text","columnObj":{"type":"text","maxLength":65535,"primary":false,"nullable":false,"name":"course_code"}},"operation":"starts with"}]}

Query builder: