I need to mux multiple audio, subtitles and chapters to MKV videos which are ready after encoding, and so i am use mkvmerge command line with a batch file which i made. Muxing works fine for all external files that mkvmerge finds, except with the files of chapters that are of simple format (.txt).

chcp 65001
set mkvmerge=%~d1\[encode]\tools\mkvmerge.exe
set idir1=%~d1\[encode]\ovideo
set idir2=%~d1\[encode]\audio
set idir3=%~d1\[encode]\chapters
set idir4=%~d1\[encode]\subtitle
set odir1=%~d1\[encode]\remux
FOR %%f in ("%idir1%\*.mkv") DO ("%mkvmerge%" ^
  --output ^"%odir1%\%%~nf.mkv^" ^
  --language 0:und ^
  ^"%%f^" ^
  --language 0:jpn ^
  --track-name ^"0:Japanese stereo ^(2.0^)^" ^
  ^"%idir2%\%%~nf_track2.flac^" ^
  --language 0:jpn ^
  --track-name ^"0:Japanese 8ch ^(7.1^)^" ^
  ^"%idir2%\%%~nf_track3.flac^" ^
  --language 0:jpn ^
  --track-name ^"0:Japanese 6ch ^(5.1^)^" ^
  ^"%idir2%\%%~nf_track4.flac^" ^
  --language 0:jpn ^
  --track-name ^"0:Japanese [audio descriptive] ^(2.0 ch^)^" ^
  ^"%idir2%\%%~nf_track5.flac^" ^
  --language 0:jpn ^
  --track-name ^"0:Japanese [Closed Captions]^" ^
  ^"%idir4%\%%~nf.sup^" ^  
  --chapters ^"%idir3%\%%~nf_chapters.ogm.txt^" ^
  --track-order 0:0,1:0,2:0,3:0,4:0,5:0
The command order is right and it's even almost the same as what MKVToolnix GUI command line viewer displays. How is possible that --chapters command doesn't work on CLI but works in a GUI whose biggest disadvantage is being limited to only one file per multiplex session? Or is another file that is part of the MKVToolnix package needed for mkvmerge to work fully? I don't think that's it because if you consult the mkvmerge help with --help and look for the commands related to chapters, it's there in the documentation.