Tools

Passing path variables with the invoke script

A tool that ships example inputs or static data has to find them at run time. The invoke script tells it where its own repository is, using the @tool substitution.

@tool

invoke_app replaces @tool with the tool's directory. Pass it to your program in either of two ways.

As an argument:

-A @tool

As an environment variable:

-e TOOL_REPO_PATH=@tool

TOOL_REPO_PATH is a name of your own choosing; nothing on the platform requires it.

For the rest of the options, see Launching tools with invoke scripts.

Paths that come from the launch URL

A tool can also be launched with file and directory names in the URL, through the params argument on /tools/<alias>/invoke. Those values are checked by com_tools before a session starts: each one has to be an absolute path under a directory the hub has whitelisted, and one bad value rejects the whole launch. See Directory parameter whitelist for what is accepted and what the member sees when it is not.

Reviewed against 2.4-main @ e097e0236d on 2026-09-10.