OK here are my first results: the file path generated for the OKResponsePage in IOPageResponsibility.process method is wrong for OSX: I injected a throw new PageNotFoundResponsePage in the exception catching of the process method in IOPageResponsibility.cs. like this: publicboolprocess(Servers.AsynchronousServer.ClientConnectioncc,HTTPRequestrequest) { if(request.path.StartsWith(PAGE_PREFIX)) { try { OKResponsePagepage=newOKResponsePage( KSPByteReader,KSPTextReader, request.path.Substring(PAGE_PREFIX.Length)); ((Servers.MinimalHTTPServer.ClientConnection)cc).Send(page); returntrue; } catch(Exceptione) {//ALAIN thrownewPageNotFoundResponsePage( "IOPageResp::process()exception:'"+e.Message+"'<br/>"+e.StackTrace+"<br/><br/>"+ "fileName='"+request.path.Substring(PAGE_PREFIX.Length)+"'<br/>"+ "escapeFileName(fileName)='"+escapeFileName(request.path.Substring(PAGE_PREFIX.Length))+"'<br/>"+ "buildPath(escapeFileName(fileName))='"+buildPath(escapeFileName(request.path.Substring(PAGE_PREFIX.Length)))+"'<br/>" ); //returnfalse; } } returnfalse; } when I open telemachus/information.html in chrome the result is: IOPageResp::process() exception: 'Could not find a part of the path "/Volumes/RAWSTORAGE/KSP_0_22/KSP.app/GameData/Telemachus/Plugins/PluginData/Telemachus/information.html".' at System.IO.FileStream..ctor (System.String path, at System.IO.File.ReadAllText (System.String path) [0x00000] in :0 at Telemachus.IOPageResponsibility.m__9F (System.String fileName) [0x00000] in :0 at Servers.MinimalHTTPServer.HTTPResponse.m__1 (Servers.MinimalHTTPServer.ByteReader br, Servers.MinimalHTTPServer.TextReader tr, System.String filename, System.Collections.Generic.Dictionary`2& attr, Servers.MinimalHTTPServer.HTTPResponse r) [0x00000] in :0 at Servers.MinimalHTTPServer.HTTPResponse..ctor (Servers.MinimalHTTPServer.ByteReader br, Servers.MinimalHTTPServer.TextReader tr, System.String fileName) [0x00000] in :0 at Servers.MinimalHTTPServer.OKResponsePage..ctor (Servers.MinimalHTTPServer.ByteReader br, Servers.MinimalHTTPServer.TextReader tr, System.String fileName) [0x00000] in :0 at Telemachus.IOPageResponsibility.process (Servers.AsynchronousServer.ClientConnection cc, Servers.MinimalHTTPServer.HTTPRequest request) [0x00000] in :0 fileName = '/information.html' escapeFileName(fileName) = '/information.html' buildPath(escapeFileName(fileName)) = '/Volumes/RAWSTORAGE/Kerbal_Space_Program/KSP_0_22/KSP.app/Contents/../GameData/Telemachus/Plugins/PluginData/Telemachus//information.html' I suspect that the method UnityEngine.Application.datapath used in buildPath() gives a different string under Windows and OSX... since on OSX GameData folder is on the same level than KSP.app.... as a quick test I changed the static path in buildPath to: "/../../GameData/Telemachus/Plugins/PluginData/Telemachus/" ...and this worked!! I hope this helps, regards, Alain