My Python Console shows a 'Access Denied' Error

Why is it happening ?


On Startup Extension Pack tries to install some default settings such as Marking Menus to the User Settings Directory of Mari.

Usually the installation will target the following directories:


Linux : ~/.config/TheFoundry/
Mac : ~/.config/TheFoundry/
Windows: C:/Users/[username]/.mari/TheFoundry/


In some cases the resolved path from Extension Pack will trigger an installation into the Mari Installation directory

instead - e.g. C:\Program Files\Mari4.6v1\Bundle\Media\Settings.


If the Mari Installation Directory is protected, as is often the case in a studio deployment, this will result in a 'Access Denied'

error in the Python Console on startup.



Fixing it automatically


Extension Pack tries to determine the Mari User Directory based on the existence of certain files.

If you have never launched Mari on your system before or wiped your user directory, the only files in existence will

be in your Mari Install directory.


If this is the cause of your problem, simply restarting Mari will fix the issue.

Fixing it manually


If the above solution did not work for you, there is another option.


Extension Pack allows you to explicitly set the User Directory Path to the Mari Settings via the included 'ResourceLocator.json' File.

Please follow the steps below to specify a different Path:



  1. Locate the 'ResourceLocator.json' File inside the Extension Pack Installation Directory



  1. Inside the 'ResourceLocator.json' File locate the Settings_Path Variable



  1. Modify the default value "Auto-Detect' to one of the following:


    • "Auto-Detect"

This is the default setting.


Extension Pack will auto detect where your Mari User Settings are stored.


    • "/myPath/mySettingsFolder"

An absolute path to a folder where Extension Pack should save its own settings to


An absolute Path to your settings folder. Please use forward slashes inside the path.


    • "~/mySettingsFolder"

A relative path to a folder inside a user directory


Paths can also contain a ~ sign to resolve a user directory


    • "$MY_ENVIRONMENT_VARIABLE"

An Environment Variable associated to a settings path


Paths can also be resolved from an Environment Variable. To use an Env Var, prefix it with a $ Sign.

Resolved paths from an Env Var can also contain a ~ sign to further resolve to a user directory.


    • "settingsPathKey"

For most users this setting is not recommended as it returns a path inside the Mari Installation Directory


Will use the User Settings Folder returned by the Python command


mari.resources.path( mari.resources.settingsPathKey())



  1. Save the json file and restart mari


  1. To restore the Location to its standard value change the value of the Settings_Path key back to "Auto-Detect"