{"version":"2.1.319","anchor":"session-rules-persisted-across-sparesrestarts-ccr-kept-ses","canonical_anchor":"session-rules-persisted-across-sparesrestarts-ccr-kept-ses","heading":"Session permission rules are saved and restored in remote sessions","tier":"notice","area":"Permissions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/session-rules-persisted-across-sparesrestarts-ccr-kept-ses","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### Session permission rules are saved and restored in remote sessions\n\nAllow, deny and ask rules made during a session are now saved to session metadata and restored on resume, with the update step moved into a helper\n\n**Unclear.** It is not clear whether saving session rules is switched on.\n\n**What**\n\nA session permission rule is an allow, deny or ask decision about a tool that applies for the current session only. Claude Code now keeps these rules across restarts of remote sessions:\n\n- Session allow, deny and ask rules are written into an internal metadata record (`ccr_kept_session_rules`) and restored when the session resumes.\n\n- The saved record is capped by size. If the lists cannot be written or restored in full, this is recorded with the reasons `lists_not_written_whole` and `lists_not_restored_whole`.\n\n- Allow rules for MCP tools (rules starting with `mcp__`, MCP being the way outside tools connect to Claude Code) are skipped.\n\n- The code that told the metadata about changes to `session_allow_rules` used to be written inline, filtering out `mcp__` rules and sending a notice when they changed. It is now a helper that looks at both permission contexts, and a new step also runs when settings are reloaded.\n\n**Why**\n\nIn a remote session that restarts or resumes, permissions you granted or refused earlier in the session can carry over instead of being asked again. Very large rule lists may not be kept in full.\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 4\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}