Use the ErrorOr pattern with the Core::System wrappers to propagate more errors from the TerminalWrapper. The run_command method, when called with WaitForExit::Yes now returns an error on command failure.