Issue
Survey variables defined as type Secret not passed inside task (reproduced for bash script task template). The same variable defined as string or int works correctly.
Steps to reproduce
- Create a task template with type Bash.
- Add a Survey variable and set its type to Secret.
- Reference the variable in the script (e.g.
echo $MY_VAR or echo ${MY_VAR}).
- Run the task.
Example of script:
#!bin/bash
MY_VAR="$1"
echo "$MY_VAR"
Survey config:

Expected: The secret value is passed to the script (yeah, you can reveal secret in logs as it's your bash script, but cannot see it in task output debug logs + on "Re-run" popup)
Actual: The variable is empty / inaccessible.
Impact
Ansible (task execution), Other
Installation method
Docker
Database
SQLite
Browser
Chrome
Semaphore Version
2.18.12
Ansible Version
Logs & errors
No response
Manual installation - system information
No response
Configuration
No response
Additional information
Reported by a community user via support on 2026-06-16.
Issue
Survey variables defined as type Secret not passed inside task (reproduced for bash script task template). The same variable defined as string or int works correctly.
Steps to reproduce
echo $MY_VARorecho ${MY_VAR}).Example of script:
Survey config:

Expected: The secret value is passed to the script (yeah, you can reveal secret in logs as it's your bash script, but cannot see it in task output debug logs + on "Re-run" popup)
Actual: The variable is empty / inaccessible.
Impact
Ansible (task execution), Other
Installation method
Docker
Database
SQLite
Browser
Chrome
Semaphore Version
2.18.12
Ansible Version
Logs & errors
No response
Manual installation - system information
No response
Configuration
No response
Additional information
Reported by a community user via support on 2026-06-16.