Libreoffice localc used in batch mode returns good exit status even if the input file does not exist: $ localc --convert-to "csv:Text - txt - csv (StarCalc):44,34,76,1," nonexistent.ods Error: source file could not be loaded $ echo $? 0 Similar if the output file is not writable: $ localc --convert-to "csv:Text - txt - csv (StarCalc):44,34,76,1," --outdir /bad/dir foo.ods convert /users/kpha1/ulm/foo.ods -> /bad/dir/foo.csv using filter : Text - txt - csv (StarCalc):44,34,76,1, Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///bad/dir/foo.csv> failed: 0x507(Error Area:Io Class:Access Code:7) /tmp/portage/app-office/libreoffice-7.1.5.2/work/libreoffice-7.1.5.2/sfx2/source/doc/sfxbasemodel.cxx:3153 /tmp/portage/app-office/libreoffice-7.1.5.2/work/libreoffice-7.1.5.2/sfx2/source/doc/sfxbasemodel.cxx:1735) $ echo $? 0 Expected behaviour: Exit status should be different from 0 if there was an error.