fpt_launch_app
Launch a DCC application in the correct ShotGrid context by routing through Toolkit's tank CLI when available, otherwise fall back to a direct app open. Resolve versions and Flame project links.
Instructions
Launch a DCC application scoped to a ShotGrid entity.
Discovery is OS-first: if the app is not installed on this machine the
tool fails immediately without consulting ShotGrid. When the owning
project has an Advanced Setup PipelineConfiguration whose tank CLI
is reachable on disk, the launch is routed through tank so Toolkit
pre-launch hooks run and the app opens in the correct context.
Otherwise the tool falls back to a direct open -a launch and
surfaces a warning — the app still opens, but without context
injection from Toolkit.
Version selection: the FPT-selected version (SG Software
version_names) is authoritative over "newest installed"; a
warning names both when the selected one is not installed locally.
MAYA / Sequence: a bare Sequence launch is step-LESS (no work
templates); the tank route resolves it to its Step Task (step
param, default Layout) so Maya boots the sequence_layout env.
FLAME (route='auto'/'direct'): NATIVE-LINK DISCOVERY drives the launch (Chat 93). The tool reads each local project's stored FPT link (shotgunProjectName, from the project metadata clib on disk — the 1:1 native relation): exactly one linked to this FPT project → opens it directly (payload fpt_linked=true); several → INCONSISTENT error (break the wrong project's link from Flame's own FPT menu); none → choice_required with the local list (each project's link included) — ask the user and re-call with flame_project=. Links are CREATED and BROKEN only from Flame's own Flow Production Tracking menu: flame-mcp's fpt_link merely reports the link (its write path was removed in Chat 98 — it triggered Flame's error report in-vivo). "already running" refusal: single-instance + project locks (close it or force=true).
Common failure modes to explain to the user if they surface:
error: "... is not installed ..."— the DCC binary is not under the expected install path. Tell the user to install it and retry.Popen succeeds but the launched process dies immediately with a tank message like
EOF when reading a lineorAuthentication ... expired. This means the ToolkittankCLI lost its cached session. The user must run<PipelineConfiguration>/tank <Entity> <id>once in an interactive terminal, authenticate via the browser, and retry. The tool cannot do this because it cannot deliver the browser approval step.Popen succeeds but tank errors with
does not exist on diskfor an engine (e.g.tk-shell v0.10.2). The pipeline config expects bundles under<config>/install/which are absent. Suggest the user addbundle_cache_fallback_rootspointing to~/Library/Caches/Shotgun/bundle_cachein the config'spipeline_configuration.yml.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |