Skip to content

Doorman 0.7.1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 01:53
· 9 commits to main since this release

Fixed

  • Settings → Agents can ask Doorman no longer replaces an agent's MCP config it can't read, a server of your own named doorman, or a server list that isn't an object: that config is skipped with a message saying how to fix it, and the other agents still get the server.
  • It edits each MCP config in place — comments, trailing commas, indentation and key order kept — so VS Code mcp.json files with comments are accepted, and turning it off gives the file back byte for byte. It no longer creates stable VS Code's mcp.json on a machine with only Insiders, no longer fails on a .DS_Store in VS Code's profiles folder, writes through symlinked configs, refuses read-only ones, and finds Copilot CLI under $COPILOT_HOME.
  • The guard no longer holds an agent's calls to Doorman's own MCP tools, which only read, so "check before you run" works; the tools are marked read-only, so Codex with approval_policy=never runs them.
  • Doorman's MCP server explains each held call once, with how it ended, names pack and custom rules, says when the guard isn't installed in any agent, and answers every request before it exits.
  • The MCP gateway passes tool-call arguments through byte for byte (a non-ASCII character split across two writes is no longer turned into �), hands over a server's last reply before exiting, survives broken pipes and stops its server with it.
  • The gateway's records mask secrets in tool descriptions, schemas and results and are readable only by you.
  • The app takes the home directory from $HOME, as the guard and the CLI do; a run with a redirected HOME no longer reads or writes MCP configs in the account's real home, and a sandboxed run refuses any write that would land outside its own home.
  • The transcript store is rewritten through a temporary file after a retention prune, and the MCP config watcher keeps seeing changes after an editor saves by renaming a new file over the old one.