vuejs/vuex · info

[vuex] mutation type: ${type}. Silent option has been remove

Error message

[vuex] mutation type: ${type}. Silent option has been removed. Use the filter functionality in the vue-devtools

What it means

Vuex historically allowed commit(type, payload, { silent: true }) to suppress devtools logging; that option was removed. Committing with options.silent in development triggers this warning. The commit itself still runs.

Source

Thrown at src/store.js:131

        console.error(`[vuex] unknown mutation type: ${type}`)
      }
      return
    }
    this._withCommit(() => {
      entry.forEach(function commitIterator (handler) {
        handler(payload)
      })
    })

    this._subscribers
      .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe
      .forEach(sub => sub(mutation, this.state))

    if (
      __DEV__ &&
      options && options.silent
    ) {
      console.warn(
        `[vuex] mutation type: ${type}. Silent option has been removed. ` +
        'Use the filter functionality in the vue-devtools'
      )
    }
  }

  dispatch (_type, _payload) {
    // check object-style dispatch
    const {
      type,
      payload
    } = unifyObjectStyle(_type, _payload)

    const action = { type, payload }
    const entry = this._actions[type]
    if (!entry) {
      if (__DEV__) {
        console.error(`[vuex] unknown action type: ${type}`)

View on GitHub (pinned to bd907467b8)

Solutions

  1. Remove the { silent: true } third argument from commit calls
  2. Use vue-devtools mutation filtering to hide noisy mutations instead
  3. If the mutation is too noisy, throttle the commit or batch values in component state and commit periodically

Example fix

// before
store.commit('updatePosition', pos, { silent: true })
// after
store.commit('updatePosition', pos) // filter 'updatePosition' in vue-devtools instead
Defensive patterns

Strategy: fallback

Validate before calling

function commitWithoutSilent(store, type, payload, options) {
  const { silent, ...rest } = options || {}
  store.commit(type, payload, Object.keys(rest).length ? rest : undefined)
}

Prevention

When it happens

Trigger: Calling store.commit('mutation', payload, { silent: true }) with __DEV__ true — usually legacy code migrated from Vuex 1.x/early 2.x or copied from old tutorials.

Common situations: Upgrading from Vuex 1.x where silent was supported; high-frequency mutations (mouse move, timers) that wanted to avoid devtools spam; copied snippet from outdated docs.

Related errors


AI-assisted analysis of vuejs/vuex@bd907467b8 (2026-08-28). Data as JSON: /api/errors/b0c51265f0011dcd. Report an issue: GitHub.