Bug report
When Fusion is enabled (fusion.enabled = true) but no Seqera Platform access token is provided (neither tower.accessToken in the config nor the TOWER_ACCESS_TOKEN environment variable), the pipeline fails silently: the process exits with code 1 but prints nothing to stdout/stderr and writes no error to .nextflow.log.
Steps to reproduce
main.nf:
process foo {
container 'ubuntu:22.04'
"""
echo hello fusion
"""
}
workflow {
foo()
}
nextflow.config:
fusion.enabled = true
wave.enabled = true
Run with no access token in the environment:
env -u TOWER_ACCESS_TOKEN nextflow run main.nf -c nextflow.config
Actual behavior
- Exit code
1
- No output on stdout/stderr
.nextflow.log ends abruptly at Observer factory (v2): TowerFactory with no error or stack trace.
Expected behavior
A clear, actionable error message explaining that a Seqera Platform access token is required.
Root cause
Enabling Fusion activates the Seqera Platform (Tower) observer, because TowerFactory.isEnabled() returns true when fusion.enabled is set (the token is needed to validate the Fusion license). The observer is built during Session.init(), and the TowerClient constructor calls getAccessToken(), which throws an AbortRunException when no token is present.
That throw happens inside Session.init(), which is executed outside the try/catch in ScriptRunner.execute() that routes failures through session.abort(e) (the path that prints the error). As a result the exception propagates straight to Launcher, where catch (AbortRunException e) { return 1 } is intentionally silent (it assumes the message was already reported) — so nothing is printed.
Environment
- Nextflow version: 26.05.0-edge and also happening in 26.04.x
Bug report
When Fusion is enabled (
fusion.enabled = true) but no Seqera Platform access token is provided (neithertower.accessTokenin the config nor theTOWER_ACCESS_TOKENenvironment variable), the pipeline fails silently: the process exits with code1but prints nothing to stdout/stderr and writes no error to.nextflow.log.Steps to reproduce
main.nf:nextflow.config:Run with no access token in the environment:
Actual behavior
1.nextflow.logends abruptly atObserver factory (v2): TowerFactorywith no error or stack trace.Expected behavior
A clear, actionable error message explaining that a Seqera Platform access token is required.
Root cause
Enabling Fusion activates the Seqera Platform (Tower) observer, because
TowerFactory.isEnabled()returnstruewhenfusion.enabledis set (the token is needed to validate the Fusion license). The observer is built duringSession.init(), and theTowerClientconstructor callsgetAccessToken(), which throws anAbortRunExceptionwhen no token is present.That throw happens inside
Session.init(), which is executed outside thetry/catchinScriptRunner.execute()that routes failures throughsession.abort(e)(the path that prints the error). As a result the exception propagates straight toLauncher, wherecatch (AbortRunException e) { return 1 }is intentionally silent (it assumes the message was already reported) — so nothing is printed.Environment