{"version":"2.1.296","anchor":"session-info-schema-gains-claude-code-version","canonical_anchor":"session-info-schema-gains-claude-code-version","heading":"Sessions now report which Claude Code version is running them","tier":"notice","area":"Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/session-info-schema-gains-claude-code-version","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Sessions now report which Claude Code version is running them\n\nSession info and initialize replies, including Remote Control's, now carry the Claude Code version that runs the session\n\n**Unclear.** Whether this version of Claude Code actually fills in `claude_code_version` is not known.\n\n**What**\n\nApps that connect to a Claude Code session can now find out which version of Claude Code is running it.\n\n- The session info that client apps can request gains an optional `claude_code_version` field. It holds the version of the process that runs the session's turns, the same value the session reports when it starts (`system\/init`). Older versions of Claude Code leave it out.\n\n- The `initialize` reply sent to a connecting program now includes `claudeCodeVersion`, set to the build's version.\n\n- Remote Control, which lets you drive a session from another device, now includes `claude_code_version` in its initialize reply when one is available.\n\nSeparately, results from SDK-provided MCP tools can now include `tool_reference` blocks that name a tool, in some cases. Before, only text, image and document blocks were accepted.\n\n**Why**\n\nA client app attached to a session, including through Remote Control, can tell which Claude Code version it is talking to. Because older versions leave the field out, clients should handle it being missing.\n\n- Area: Sessions\n- Names: `claude_code_version`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}