From fc11a5dddcc26d8072614489f487285893f33e8d Mon Sep 17 00:00:00 2001 From: Samuel K Date: Sat, 25 Apr 2026 14:35:08 -0500 Subject: [PATCH] fix(ux): add operation context to error messages at command boundary Wrap 6 bare error returns in cmd/up.go and cmd/logs.go with fmt.Errorf so that when errors reach the top-level log.Fatal handler, users see what operation was being attempted. --- cmd/logs.go | 2 +- cmd/up.go | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cmd/logs.go b/cmd/logs.go index 9e7aa45cd..43963c79a 100644 --- a/cmd/logs.go +++ b/cmd/logs.go @@ -63,7 +63,7 @@ func (cmd *LogsCmd) Run(ctx context.Context, args []string) error { Owner: cmd.Owner, }) if err != nil { - return err + return fmt.Errorf("get workspace for logs: %w", err) } client, ok := baseClient.(clientpkg.WorkspaceClient) diff --git a/cmd/up.go b/cmd/up.go index 7f7f7b3b8..b130d17e6 100644 --- a/cmd/up.go +++ b/cmd/up.go @@ -72,7 +72,7 @@ func (cmd *UpCmd) execute(cobraCmd *cobra.Command, args []string) error { } devsyConfig, err := config.LoadConfig(cmd.Context, cmd.Provider) if err != nil { - return err + return fmt.Errorf("load devsy config: %w", err) } if devsyConfig.ContextOption(config.ContextOptionSSHStrictHostKeyChecking) == config.BoolTrue { cmd.StrictHostKeyChecking = true @@ -331,7 +331,7 @@ func (cmd *UpCmd) executeDevsyUp( ) (*workspaceContext, error) { result, err := cmd.devsyUp(ctx, devsyConfig, client) if err != nil { - return nil, err + return nil, fmt.Errorf("start workspace: %w", err) } if result == nil { return nil, fmt.Errorf("did not receive a result back from agent") @@ -439,7 +439,7 @@ func (cmd *UpCmd) devsyUp( if !cmd.Platform.Enabled { err := client.Lock(ctx) if err != nil { - return nil, err + return nil, fmt.Errorf("lock workspace: %w", err) } defer client.Unlock() } @@ -584,13 +584,13 @@ func (cmd *UpCmd) devsyUpMachine( ) (*config2.Result, error) { err := clientimplementation.StartWait(ctx, client, true) if err != nil { - return nil, err + return nil, fmt.Errorf("wait for machine: %w", err) } // compress info workspaceInfo, wInfo, err := client.AgentInfo(cmd.CLIOptions) if err != nil { - return nil, err + return nil, fmt.Errorf("get agent info: %w", err) } // create container etc.