{"version":"2.1.121","anchor":"bug-fixes","canonical_anchor":"bug-fixes","heading":"","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.121\/e\/bug-fixes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.121","markdown":"- Fixed path traversal detection for file operations \u2014 now correctly handles symlink-based escapes: \"{path}: parent dir escapes cwd via symlink\" replaces the simpler \"path traversal detected\" (search for `\"parent dir escapes cwd via symlink\"`)\n- Fixed daemon refusing to stop when a previous worker hadn't acknowledged: \"Couldn't stop the previous worker \u2014 supervisor may be starting, retry in a moment\" (search for `\"Couldn't stop the previous worker\"`)\n- Fixed stale roster entries after daemon restart: \"orphaned background task(s) after restart\" cleanup (search for `\"orphaned background task(s) after restart\"`)\n- Fixed MCP connection manager readiness check: \"MCP connection manager not ready \u2014 try again in a moment\" instead of crashing (search for `\"MCP connection manager not ready\"`)\n- Fixed daemon version mismatch detection: \"and CLI versions differ; restart claude\" message for stale daemon connections (search for `\"and CLI versions differ\"`)\n- Fixed `claude daemon` display-name collisions: \"[claudeai-mcp] Display-name collision on distinct upstreams\" now logged as a warning rather than failing silently (search for `\"Display-name collision on distinct upstreams\"`)"}