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
- Remove the { silent: true } third argument from commit calls
- Use vue-devtools mutation filtering to hide noisy mutations instead
- 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
- Search codebase for 'silent: true' when migrating from Vuex 1.x
- Use devtools filters rather than silent commits
- Batch/throttle frequent mutations instead of hiding them
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
- Missing module "${moduleName}" for path "${path}".
- [vuex] ${msg}
- [vuex] state field "${moduleName}" was overridden by a modul
- [vuex] error in before action subscribers:
- [vuex] error in after action subscribers:
AI-assisted analysis of vuejs/vuex@bd907467b8 (2026-08-28).
Data as JSON: /api/errors/b0c51265f0011dcd.
Report an issue: GitHub.