Go configuration with fangs
24136 1833 248 811

Trailing right bracket is stripped off values

Preflight Checklist

  • I have searched the issue tracker for an issue that matches the one I want to file, without success.
  • I am not looking for support or already pursued the available support channels without success.
  • I have checked the troubleshooting guide for my problem, without success.

Viper Version


Go Version


Config Source



Other (specify below) link

No response

Code reproducing the issue

package main

import (


func main() {
	v := viper.New()
	flags := pflag.NewFlagSet("viper-example", pflag.ExitOnError)
	flags.StringToString("bug", map[string]string{}, "Demo of bug.")
	if err := flags.Parse(os.Args[1:]); err != nil {
	m := v.GetStringMapString("bug")
	fmt.Printf("bug[foo]: %v\n", m["foo"])

Expected Behavior

When run with --bug "foo=bar]": Expected Output bug[foo]: bar]

Actual Behavior

When run with --bug "foo=bar]": Actual Output bug[foo]: bar

Steps To Reproduce

No response

Additional Information

No response


  1. 👋 Thanks for reporting!

    A maintainer will take a look at your issue shortly. 👀

    In the meantime: We are working on Viper v2 and we would love to hear your thoughts about what you like or don't like about Viper, so we can improve or fix those issues.

    ⏰ If you have a couple minutes, please take some time and share your thoughts:

    📣 If you've already given us your feedback, you can still help by spreading the news,
    either by sharing the above link or telling people about this on Twitter:

    Thank you! ❤️