cc namespace
cc is not a Rius namespace. Rius defines only the keys below
in it, each under a documented namespace exception; every other
cc key Rius uses is upstream’s (see upstream keys).
Generated from rius-semconv 1.6.0, the Rius attribute registry, and updated on each of its releases.
Attributes
Deprecated
| Key | Type | Replaced by | Description |
|---|---|---|---|
cc.cwd | string | process.working_directory | Former spelling of process.working_directory for Claude Code: the directory a Claude Code session ran in. [3] Moved to process.working_directory, the OpenTelemetry key for the working directory. The coding-agent plugin wrote this spelling before; the Rius backend reads both for as long as traces carrying it are stored. |
cc.git_branch | string | vcs.ref.head.name | Former spelling of vcs.ref.head.name for Claude Code: the git branch a Claude Code session ran on. [4] Moved to vcs.ref.head.name, the OpenTelemetry key for the git branch. The coding-agent plugin wrote this spelling before; the Rius backend reads both for as long as traces carrying it are stored. |
cc.version | string | service.version | Former spelling of service.version for Claude Code: the Claude Code version that ran the session. [8] Moved to service.version, the OpenTelemetry key for the version. The coding-agent plugin wrote this spelling before; the Rius backend reads both for as long as traces carrying it are stored. |
Notes
[1] cc.claude_session_id: Claude Code can carry a conversation on under a new session id. The plugin
keeps the conversation one trace and one session: session.id stays the
conversation’s first id, and a turn after the move records the id it ran
under here and the id it moved from in cc.continued_from. Not
session.id with session.previous_id: those name the current session and
the one before it, and must differ, while session.id here stays the
conversation’s.
Namespace exception: Named after the coding agent that produced it (cc is Claude Code), like every key the coding-agent plugin writes for a fact only that agent has. Shipped before the plugin was registered here.
[2] cc.continued_from: Paired with cc.claude_session_id, which says why neither is
session.previous_id.
Namespace exception: Named after the coding agent that produced it (cc is Claude Code), like every key the coding-agent plugin writes for a fact only that agent has. Shipped before the plugin was registered here.
[3] cc.cwd: Kept so a reader of older coding-agent traces can tell what the key was.
[4] cc.git_branch: Kept so a reader of older coding-agent traces can tell what the key was.
[5] cc.subagent.depth: Nesting depth of a subagent, counted from the main session’s agent.
Namespace exception: Named after the coding agent that produced it (cc is Claude Code), like every key the coding-agent plugin writes for a fact only that agent has. Shipped before the plugin was registered here.
[6] cc.subagent.id: Identifies one subagent run within a session. Not gen_ai.agent.id: the
conventions keep that for the stable id of a hosted agent resource and
advise against recording in-memory agent instance ids there, which is
what this is.
Namespace exception: Named after the coding agent that produced it (cc is Claude Code), like every key the coding-agent plugin writes for a fact only that agent has. Shipped before the plugin was registered here.
[7] cc.turn.source: user when the turn opened with text the user typed, system when Claude
Code opened it (a command’s output, a reminder). Decided from the start
of the turn’s text only. The backend reads it to tell the user’s turns
apart in a session.
Namespace exception: Named after the coding agent that produced it (cc is Claude Code), like every key the coding-agent plugin writes for a fact only that agent has. Shipped before the plugin was registered here.
[8] cc.version: Kept so a reader of older coding-agent traces can tell what the key was.