Thanks Aditya. What do you think of changing the default luatex-cache directory to the system's temporary directory? Consider: - The $HOME directory is sacrosanct (4784 people agree: https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1575053) - The temp directory is cleared on Linux (Unix?) system reboots; purged during regular Windows upkeep - The temp directory is writable by default - Changing the location requires calling an additional program, which isn't obvious (principle of least astonishment) My text editor invokes ConTeXt like: if( TYPESETTER.canRun() ) { env.put( "TEXMFCACHE", System.getProperty( "java.io.tmpdir" ) ); mArgs.add( TYPESETTER.getName() ); mArgs.add( .. --path .. --purge .. --batch .. --result .. --environment .. etc. ); mArgs.add( inputFilename ); } The first line ensures that "context" is an executable located in a PATH directory. The second line attempts to change the luatex-cache directory. The remaining lines configure the command-line arguments prior to running ConTeXt. Fearing flaming wrath from users, an additional mtxrun call is required, which incurs overhead: - Check for mtxrun executable - Run mtxrun each time This would work but feels like a leaky abstraction (i.e., the context executable should honour TEXMFCACHE without needing to invoke mtxrun because context creates the luatex-cache directory). Thoughts?