From 6574dbc002d856cf2d1c2cbd0bc057fb68addb31 Mon Sep 17 00:00:00 2001 From: Maxwell Calkin Date: Sat, 7 Mar 2026 22:47:20 -0500 Subject: [PATCH] fix: create parent directory for coder_script log_path When log_path points to a directory that doesn't exist, the script fails silently. Now creates parent directories with MkdirAll before opening the log file. Fixes #21986 Co-Authored-By: Claude Opus 4.6 --- agent/agentscripts/agentscripts.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/agent/agentscripts/agentscripts.go b/agent/agentscripts/agentscripts.go index 333f0aca8eb..d75e05e5ba8 100644 --- a/agent/agentscripts/agentscripts.go +++ b/agent/agentscripts/agentscripts.go @@ -283,6 +283,10 @@ func (r *Runner) run(ctx context.Context, script codersdk.WorkspaceAgentScript, ) logger.Info(ctx, "running agent script", slog.F("script", script.Script)) + if err := r.Filesystem.MkdirAll(filepath.Dir(logPath), 0o755); err != nil { + return xerrors.Errorf("create log file directory: %w", err) + } + fileWriter, err := r.Filesystem.OpenFile(logPath, os.O_CREATE|os.O_RDWR, 0o600) if err != nil { return xerrors.Errorf("open %s script log file: %w", logPath, err)