I have a multiple Python scripts that act as geoprocessing tools. I have an ArcGIS Pro Toolbox (.atbx format) defining how to call them. The scripts are in a subdirectory of the location where the .atbx file is stored. I want to be able to move around the directory containing the .atbx file and .py files and have them go on working. According to the ArcGIS Pro documentation [Add a script tool][1]: > If your toolbox is an ArcGIS toolbox (.atbx), this behavior is managed differently. If the script is in the same directory as the .atbx file or is in a child folder from where the .atbx is stored, a relative path is maintained. If the script and .atbx file are completely separate, an absolute path is maintained. However, *I have not seen this happen as described above*. I have tried putting the .py files in various locations, including the same folder as the .atbx file. The path to the .py file is always absolute. I see that the .atbx file format is a zipped archive where each tool gets a .tool directory containing a file called `tool.script.execute.link`. I have opened this after trying various .py locations and it always shows an absolute path. I tried manually editing it to use a relative path, but the next time I modified the toolbox it switched back to an absolute path. My organisation is using **ArcGIS Pro 2.9** for compatibility reasons, if this makes a difference. My questions: 1. Do other people see ArcGIS Pro do this? 2. If I want to keep the scripts and the toolbox in a directory I can move around, what are my options? - The scripts are long and under version control, so I don't consider storing them *inside* the .atbx satisfactory. - I could use the legacy toolbox (.tbx) format, but this may be removed from some future version. - In similar circumstances I have used the Python Toolbox (.pyt) format and it has been unwieldy but functional. Should I be using that here? [1]: https://pro.arcgis.com/en/pro-app/latest/arcpy/geoprocessing_and_python/adding-a-script-tool.htm