slimtoolkit/slim · error
unknown sensor mode
Error message
unknown sensor mode
What it means
The sensor entrypoint (app.go) declares errUnknownMode and newExecution/newSensor return it when the sensor is invoked with a mode flag value that doesn't match any known execution mode. It is a fail-fast configuration error.
Source
Thrown at pkg/app/sensor/app.go:97
enableMondelFlagUsage = "enable monitor data event logging"
enableMondelFlagDefault = false
)
var (
getAppBom *bool = flag.Bool("appbom", getAppBomFlagDefault, getAppBomFlagUsage)
enableDebug *bool = flag.Bool("debug", enableDebugFlagDefault, enableDebugFlagUsage)
logLevel *string = flag.String("log-level", logLevelFlagDefault, logLevelFlagUsage)
logFormat *string = flag.String("log-format", logFormatFlagDefault, logFormatFlagUsage)
logFile *string = flag.String("log-file", logFileFlagDefault, logFileFlagUsage)
sensorMode *string = flag.String("mode", sensorModeFlagDefault, sensorModeFlagUsage)
commandsFile *string = flag.String("command-file", commandsFileFlagDefault, commandsFileFlagUsage)
artifactsDir *string = flag.String("artifacts-dir", artifactsDirFlagDefault, artifactsDirFlagUsage)
lifecycleHookCommand *string = flag.String("lifecycle-hook", lifecycleHookCommandFlagDefault, lifecycleHookCommandFlagUsage)
stopSignal *string = flag.String("stop-signal", stopSignalFlagDefault, stopSignalFlagUsage)
stopGracePeriod *time.Duration = flag.Duration("stop-grace-period", stopGracePeriodFlagDefault, stopGracePeriodFlagUsage)
enableMondel *bool = flag.Bool("mondel", enableMondelFlagDefault, enableMondelFlagUsage)
errUnknownMode = errors.New("unknown sensor mode")
)
func eventsFilePath() string {
return filepath.Join(*artifactsDir, "events.json")
}
func init() {
flag.BoolVar(getAppBom, "b", getAppBomFlagDefault, getAppBomFlagUsage)
flag.BoolVar(enableDebug, "d", enableDebugFlagDefault, enableDebugFlagUsage)
flag.StringVar(logLevel, "l", logLevelFlagDefault, logLevelFlagUsage)
flag.StringVar(logFormat, "f", logFormatFlagDefault, logFormatFlagUsage)
flag.StringVar(logFile, "o", logFileFlagDefault, logFileFlagUsage)
flag.StringVar(sensorMode, "m", sensorModeFlagDefault, sensorModeFlagUsage)
flag.StringVar(commandsFile, "c", commandsFileFlagDefault, commandsFileFlagUsage)
flag.StringVar(artifactsDir, "e", artifactsDirFlagDefault, artifactsDirFlagUsage)
flag.StringVar(lifecycleHookCommand, "a", lifecycleHookCommandFlagDefault, lifecycleHookCommandFlagUsage)
flag.StringVar(stopSignal, "s", stopSignalFlagDefault, stopSignalFlagUsage)
flag.DurationVar(stopGracePeriod, "w", stopGracePeriodFlagDefault, stopGracePeriodFlagUsage)View on GitHub (pinned to 81940d17fa)
Solutions
- Check the exact mode value against the supported modes in sensor/app.go
- Fix the typo or unsupported mode in the deployment args/env
- Upgrade/downgrade so sensor mode vocabulary matches the binary version
Example fix
// before args: ["--mode", "observe"] // unknown // after args: ["--mode", "monitor"] // supported mode
Defensive patterns
Strategy: validation
Validate before calling
validModes := map[string]bool{"monitor": true /*, others from sensor/app.go */}
if !validModes[sensorMode] { return fmt.Errorf("unsupported sensor mode %q", sensorMode) } Try / catch
s, err := newSensor(mode, ...)
if err != nil && errors.Is(err, errUnknownMode) {
return fmt.Errorf("fix --mode value; supported modes: see sensor docs"): %w", err
} Prevention
- Keep mode values in deployment manifests/Helm values reviewed
- Match mode vocabulary to the sensor binary version
- Use a whitelist check in wrapper scripts before launching
When it happens
Trigger: Starting the sensor container/binary with an unrecognized mode value (e.g. misspelled or unsupported --mode / MODE env) passed into newSensor/newExecution.
Common situations: Typo in the sensor mode argument; using a mode from a different version of the tool; hand-edited deployment manifests or Helm values with an invalid mode.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- No global params
- missing command
- missing event name
- ambiguous start command: cannot use [app_name,app_args] and
- error stopping target app: %w
AI-assisted analysis of slimtoolkit/slim@81940d17fa (2026-08-31).
Data as JSON: /api/errors/2766b14dccd5e64d.
Report an issue: GitHub.