Hans, The latest ctxtools.rb has: def locatedlocaltree tree = `kpsewhich --expand-path $TEXMFLOCAL`.chomp rescue nil unless tree && FileTest.directory?(tree) then tree = `kpsewhich --expand-path $TEXMF`.chomp rescue nil end return tree end I know the Windows/Unix quoting isn't sorted out, but another problem is with --expand-path. If the kpsewhich --expand-path $TEXMF line would get run here (with '$TEXMF'), it would produce /home/sanjoy/.texmf-config:/home/sanjoy/.texmf-var:/home/sanjoy/texmf:/etc/texmf:/var/lib/texmf:/usr/local/share/texmf:/usr/share/texmf:/usr/share/texmf-tetex which would eventually become the argument of an unhappy Dir.chdir(). Should localtedlocaltree() extract the first component before doing 'return tree'? -Sanjoy `Never underestimate the evil of which men of power are capable.' --Bertrand Russell, _War Crimes in Vietnam_, chapter 1.