Every time I save a markdown file, I get this error.

Error on request (doAutocmd): Vim(return):Error invoking 'doAutocmd' on channel 12 (coc):

This only happens on .markdown or .md.

It is coming from Coc.nvim, though it’s not configured to operate on markdown.

:CocInfo shows

2022-01-28T11:39:04.865 INFO (pid:5429) [attach] - Request action: doAutocmd [ 1, 8 ]
2022-01-28T11:39:04.866 ERROR (pid:5429) [attach] - Request error: doAutocmd [ 1, 8 ] Mm [Error]: Request workspace/configuration failed with message: Cannot read property 'name' of null
    at Sl (/Users/me/.local/share/nvim/plugged/coc.nvim/build/index.js:36:224)
    at gp (/Users/me/.local/share/nvim/plugged/coc.nvim/build/index.js:35:11261)
    at Immediate.<anonymous> (/Users/me/.local/share/nvim/plugged/coc.nvim/build/index.js:35:11111)
    at processImmediate (internal/timers.js:461:21) {
  code: -32603,
  data: undefined
}

Checking :CocConfig, I have

{
  "eslint.autoFixOnSave": true,
}

Turning this off and restarting (:CocRestart) seems to fix the problem.

Why is coc-eslint messing with markdown?

From the docs…

eslint.probe: An array of language ids for which the extension should probe if support is installed. default: [“javascript”,”javascriptreact”,”typescript”,”typescriptreact”,”html”,”vue”,”markdown”]

For some reason, coc-eslint wants to manage markdown. Omit markdown from the list of languages in :CocConfig to fix this.

{
  "eslint.probe": [
    "javascript",
    "typescript"
  ]
}

How do you get eslint to work, though?

I dunno. That’s a separate post.