[FEATURE] Expose current session config changes for model/effort without transcript scraping
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Problem
Tools that coordinate multi-agent CLI sessions need to know when
current runtime config changes — model, effort, thinking budget. Today
the safe options are launch-time labels or agent self-report; both
drift after native slash commands like /model and /effort. We
want to avoid transcript scraping, raw prompt parsing, account
metadata, or provider API calls just to know current local session
config.
### Current limitations observed
- Built-in slash commands do not appear to expose a documented hook event.
PostToolUseis not relevant because/modeland/effortare not tools.~/.claude.jsonmay contain runtime state, but the schema is undocumented
and therefore unsafe for automation.
claude --helpexposes launch flags, but no current-session introspection
command (e.g., claude session info --json).
### Request — any one would unblock
- A
ConfigChangehook event for built-in/modeland/effortchanges,
with old/new values and source command.
- A CLI command such as
claude session info --jsonreturning current
model and effort/thinking-budget for the active session.
- A documented stable session-state schema for the same fields.
### Privacy / safety requirement
Payload should be only structured config fields — no prompt bodies,
transcript text, account identifiers, local paths, or API keys.
### Use case
Local bridge/monitoring tooling for multi-agent session coordination
needs honest telemetry provenance (declared vs actual). Currently
relies on manual agent self-report; auto-capture via hook or CLI
### Related issues
- #57111 — same root family (built-in slash commands have observability
gaps). That issue requests model-side awareness; this issue requests
external-tooling-side observability for the same commands. Both could
be unblocked by some of the same primitives (e.g., enumerating built-in
commands in a structured surface).
Proposed Solution
Any one of the following would resolve the gap. They are listed in order
of preference but Anthropic should choose the surface that fits Claude
Code's architecture best.
- ConfigChange hook event for built-in /model and /effort changes, with
payload exposing old value, new value, and source command.
- CLI introspection command such as
claude session info --jsonthat
prints the active session's current model and effort/thinking_budget
as structured fields.
- Documented stable session-state schema for ~/.claude.json (or another
well-known file) covering model, effort, and thinking_budget for the
active session, so external tools can read it safely.
Privacy requirement for any solution: payload should expose only structured
config fields. No prompt bodies, transcript text, account identifiers,
local paths, or API keys.
Alternative Solutions
_No response_
Priority
High - Significant impact on productivity
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗