<p>I have seen many questions surrounding this topic but no good answer for what I am seeing. We have a values file like so:</p>
<pre><code>ingress:
  enabled: &quot;false&quot;
  className: &quot;&quot;
  annotations:
    {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: &quot;true&quot;
  hosts:
    - host: chart-example.local
      paths:
        - path: /
          pathType: ImplementationSpecific
</code></pre>
<p>We want to override the value of the list item &quot;host&quot;. It was my expectation that <code>--set ingress.hosts[0].host=&quot;www.myhost.com&quot;</code> would do this, but we are seeing an error stating <code>no matches found: ingress.hosts[0].host=www.myhost.com</code>.</p>
<p>What am I missing? This is Helm 3.9.2.</p>

Bryan Powell
<p>Square brackets in <code>Zsh</code> have special meanings, so if you use <code>Zsh</code> (based on your error, I think it's the case), you need just to escape them by putting <code>\</code> (backslash) before them:</p>
<pre><code>--set ingress.hosts\[0\].host=&quot;www.myhost.com&quot;
</code></pre>
<p>or by adding <code>noglob</code> before your command:</p>
<pre><code>noglob helm ...
</code></pre>
<p>You can also escape them by default by adding this alias to your <code>.zshrc</code>:</p>
<pre><code>alias helm='noglob helm'
</code></pre>
