diff --git a/internal/pkg/commands/config.go b/internal/pkg/commands/config.go
index 59a1df1..28cb6e2 100644
--- a/internal/pkg/commands/config.go
+++ b/internal/pkg/commands/config.go
@@ -36,10 +36,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.`
 
-type CommandOptionsDump struct{}
-
 type ConfigOptions struct {
-	Commands CommandOptionsDump `command:"commands"`
 }
 
 func RegisterConfigCommands(parent *flags.Parser) {
@@ -51,8 +48,8 @@
 }
 
 func (options *ConfigOptions) Execute(args []string) error {
-	//GlobalConfig
-	ProcessGlobalOptions()
+	ReadConfig()
+	ApplyOptionOverrides(nil)
 	b, err := yaml.Marshal(GlobalConfig)
 	if err != nil {
 		return err
@@ -61,14 +58,3 @@
 	fmt.Println(string(b))
 	return nil
 }
-
-func (commands *CommandOptionsDump) Execute(args []string) error {
-	ProcessGlobalOptions()
-	b, err := yaml.Marshal(GlobalCommandOptions)
-	if err != nil {
-		return err
-	}
-	fmt.Println(copyrightNotice)
-	fmt.Println(string(b))
-	return nil
-}
