session_id
A Claude Code settings key, read out of the shipped bundle. It has been in the build since v2.1.309, including the newest one read.
Analytics ids are now filtered to safe characters before being sent, with no change you'll see.
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.219.
In the changelogs
22Releases whose published page names session_id.
-
v2.1.295
mcp servegains a session tunnel mode and can return tool outputclaude mcp servehas a new--session-tunnelmode that connects through a relay, and can return tool output and relay permission asksfound in this entry's text
-
v2.1.290
Creating a cloud session now reports what was not applied
The cloud session create command now prints a notice and a list of what was not applied, also adding both to its JSON output
found in this entry's text
-
v2.1.277
session_id telemetry suppressed for remote-trigger entrypoints
Telemetry no longer records a session_id when Claude Code was started via a remote trigger
found in this entry's text
-
v2.1.269
rename_session now validates session_id and records host-authored renames
rename_session now checks the session id and logs host-initiated renames separately
found in this entry's text
-
v2.1.269
New agent-SDK control-request: rename_session
SDK control-request rename_session refined with remote/host distinction and a get_memory_dialog request added
found in this entry's text
-
v2.1.265
New CLI flag --attach-serve for desktop app helper sessions
New hidden --attach-serve flag lets the desktop app attach a helper session to a bound cloud session
found in this entry's text
-
v2.1.246
Assistant messages tell you which prompt they answer
SDK replies now carry the uuid of the prompt they answer, on the first frame.
found in this entry's text
-
v2.1.234
Permission mode changes are announced on the stream-json output
Scripted sessions now get a stream-json status message whenever the permission mode changes.
found in this entry's text
-
v2.1.232
Per-turn attribution key sent as
tk, andtkis now a reserved metadata nametkis now a reserved metadata name and stripped from your extra metadata or body.found in this entry's text
-
v2.1.229
Whitespace-only prompts are rejected for
--cloudand--environmentWhitespace-only prompts on
--cloudand--environmentare rejected instead of sent empty.found in this entry's text
-
v2.1.228
Device tools reject calls tagged with someone else's cloud session
Tools on your machine refuse calls from a cloud session other than the one being served.
found in this entry's text
-
v2.1.227
Scheduled cloud routines can show their past runs and logs
Claude can list a scheduled cloud routine's recent runs and read one run's latest log events.
found in this entry's text
-
v2.1.227
Routines tool can list past runs and fetch a run log
Claude can read a routine's past runs and detailed run log, but a server flag gates it.
found in this entry's text
-
v2.1.224
--teleportand--cloudshow up inclaude --help--teleportand--cloudnow show up inclaude --help.found in this entry's text
-
v2.1.224
Create a cloud session without a terminal
Create a cloud session straight from the command line with --environment and a prompt, optionally as JSON.
found in this entry's text
-
v2.1.224
Runner collects metrics from its child sessions and re-exports them
Set OTEL_METRICS_EXPORTER=prometheus and child sessions report through the runner, giving one scrape target per machine.
found in this entry's text
-
v2.1.219
Telemetry ids validated before sending
Analytics ids are now filtered to safe characters before being sent, with no change you'll see.
found in this entry's text
- v2.1.204
-
v2.1.193
model_refusal_no_fallbackSDK Eventfound in this entry's text
- v2.1.181
-
v2.1.91
Sandbox Unavailable Error in Stream-JSON Mode
found in this entry's text
-
v1.0.71
StatusLine Display
found in this entry's text
First cited
7The earliest release whose published evidence quoted session_id was v2.1.224, 7 Aug 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
1 further span in the ledger name it. The list above is the earliest first and stops at 6.
Presence across releases
1Build by build
1One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the settings key does. All settings keys.