hyperledger/fabric · error

ACLs may not be specified without the required capability

Error message

ACLs may not be specified without the required capability

What it means

Channel-config validation guard: the Application group carries ACLs values, but the application capabilities (V1_2 or later, which introduce ACLs) are not enabled, so the config is rejected as inconsistent.

Source

Thrown at common/channelconfig/application.go:49

type ApplicationConfig struct {
	applicationOrgs map[string]ApplicationOrg
	protos          *ApplicationProtos
}

// NewApplicationConfig creates config from an Application config group
func NewApplicationConfig(appGroup *cb.ConfigGroup, mspConfig *MSPConfigHandler) (*ApplicationConfig, error) {
	ac := &ApplicationConfig{
		applicationOrgs: make(map[string]ApplicationOrg),
		protos:          &ApplicationProtos{},
	}

	if err := DeserializeProtoValuesFromGroup(appGroup, ac.protos); err != nil {
		return nil, errors.Wrap(err, "failed to deserialize values")
	}

	if !ac.Capabilities().ACLs() {
		if _, ok := appGroup.Values[ACLsKey]; ok {
			return nil, errors.New("ACLs may not be specified without the required capability")
		}
	}

	var err error
	for orgName, orgGroup := range appGroup.Groups {
		ac.applicationOrgs[orgName], err = NewApplicationOrgConfig(orgName, orgGroup, mspConfig)
		if err != nil {
			return nil, err
		}
	}

	return ac, nil
}

// Organizations returns a map of org ID to ApplicationOrg
func (ac *ApplicationConfig) Organizations() map[string]ApplicationOrg {
	return ac.applicationOrgs
}

View on GitHub (pinned to 2736b63f8f)

Solutions

  1. Enable an application capability that supports ACLs (e.g. V2_0) in the channel/application capabilities section
  2. Remove the ACLs block from the application config if the capability cannot be raised
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at common/channelconfig/application.go:49 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04). Data as JSON: /api/errors/b3b5aee9eec347aa. Report an issue: GitHub.