@@ -35,7 +35,6 @@ import (
3535 "github.com/slackapi/slack-cli/internal/pkg/apps"
3636 "github.com/slackapi/slack-cli/internal/shared"
3737 "github.com/slackapi/slack-cli/internal/shared/types"
38- "github.com/slackapi/slack-cli/internal/slackdotenv"
3938 "github.com/slackapi/slack-cli/internal/slackerror"
4039 "github.com/slackapi/slack-cli/internal/slacktrace"
4140 "github.com/slackapi/slack-cli/internal/style"
@@ -309,39 +308,7 @@ func (r *LocalServer) StartDelegate(ctx context.Context) error {
309308 cmdArgs := strings .Fields (cmdStr )
310309 var cmdArgVars = cmdArgs [1 :] // omit the first item because that is the command name
311310
312- // Load .env file variables
313- dotEnv , err := slackdotenv .Read (r .clients .Fs )
314- if err != nil {
315- r .clients .IO .PrintDebug (ctx , "Warning: failed to parse .env file: %s" , err )
316- }
317- if len (dotEnv ) > 0 {
318- keys := make ([]string , 0 , len (dotEnv ))
319- for k := range dotEnv {
320- keys = append (keys , k )
321- }
322- r .clients .IO .PrintDebug (ctx , "Loaded variables from .env file: %s" , strings .Join (keys , ", " ))
323- }
324-
325- // Whatever cmd.Env is set to will be the ONLY environment variables that the `cmd` will have access to when it runs.
326- //
327- // Order of precedence from lowest to highest:
328- // 1. Provided "opts.Env" variables
329- // 2. Saved ".env" file
330- // 3. Existing shell environment
331- //
332- // > Each entry is of the form "key=value".
333- // > ...
334- // > If Env contains duplicate environment keys, only the last value in the slice for each duplicate key is used.
335- //
336- // https://pkg.go.dev/os/exec#Cmd.Env
337- var cmdEnvVars []string
338- for k , v := range sdkManagedConnectionStartHookOpts .Env {
339- cmdEnvVars = append (cmdEnvVars , k + "=" + v )
340- }
341- for k , v := range dotEnv {
342- cmdEnvVars = append (cmdEnvVars , k + "=" + v )
343- }
344- cmdEnvVars = append (cmdEnvVars , os .Environ ()... )
311+ cmdEnvVars := sdkManagedConnectionStartHookOpts .ShellEnv (ctx , r .clients .Fs , r .clients .IO )
345312 cmd := sdkManagedConnectionStartHookOpts .Exec .Command (cmdEnvVars , os .Stdout , os .Stderr , nil , cmdArgs [0 ], cmdArgVars ... )
346313
347314 // Store command reference for lifecycle management
0 commit comments