getsops/sops · error

JSON Indentation parameter smaller than -1 is not accepted

Error message

JSON Indentation parameter smaller than -1 is not accepted

What it means

Error "JSON Indentation parameter smaller than -1 is not accepted" thrown in getsops/sops.

Source

Thrown at stores/json/store.go:310

			return nil, fmt.Errorf("SOPS only supports JSON files with a top-level object (starting with '{'), not arrays or other types. Got delimiter %s instead. To encrypt this file, wrap it in an object, e.g., {\"data\": [...]}", value)
		}
	} else {
		v, nerr := normalizeJSONNumber(value)
		if nerr != nil {
			v = value
		}
		return nil, fmt.Errorf("SOPS only supports JSON files with a top-level object (starting with '{'), not other JSON types. Got %#v of type %T instead", v, v)
	}
	return store.treeBranchFromJSONDecoder(dec)
}

func (store Store) reindentJSON(in []byte) ([]byte, error) {
	var out bytes.Buffer
	indent := "\t"
	if store.config.Indent > -1 {
		indent = strings.Repeat(" ", store.config.Indent)
	} else if store.config.Indent < -1 {
		return nil, errors.New("JSON Indentation parameter smaller than -1 is not accepted")
	}
	err := json.Indent(&out, in, "", indent)
	return out.Bytes(), err
}

// LoadEncryptedFile loads an encrypted secrets file onto a sops.Tree object
func (store *Store) LoadEncryptedFile(in []byte) (sops.Tree, error) {
	branches, err := store.LoadPlainFile(in)
	if err != nil {
		return sops.Tree{}, err
	}
	branches, metadata, err := stores.ExtractMetadata(branches, stores.MetadataOpts{
		Flatten: stores.MetadataFlattenNone,
	})
	if err != nil {
		return sops.Tree{}, err
	}
	return sops.Tree{

View on GitHub (pinned to 13442bb981)

When it happens

Trigger: Thrown at stores/json/store.go:310 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of getsops/sops@13442bb981 (2026-09-01). Data as JSON: /api/errors/b8032bbf3a3b38b8. Report an issue: GitHub.