Skip to content

v0.21.0 | CC 2.1.42

Choose a tag to compare

@guess guess released this 15 Feb 02:55
· 169 commits to main since this release

Added

  • :thinking option — Idiomatic Elixir API for extended thinking configuration. Supports :adaptive, :disabled, and {:enabled, budget_tokens: N}. Takes precedence over the now-deprecated :max_thinking_tokens. ([fa6b39d])
  • :effort option — Control effort level per session or query with :low, :medium, or :high. ([fa6b39d])
  • caller field on ToolUseBlock — Parses the optional caller metadata from tool use content blocks. ([93de892])
  • speed field on ResultMessage usage — Captures the speed field from CLI usage data when present. ([93de892])
  • context_management on stream eventsPartialAssistantMessage now parses context_management data from stream events. ([93de892])
  • :refusal stop reasonResultMessage now parses the "refusal" stop reason from the CLI. ([a7a7cfc])

Changed

  • Bundled CLI version bumped to 2.1.42 ([789a813])
  • :max_thinking_tokens deprecated — Still works, but emits a Logger.warning directing users to the new :thinking option. ([fa6b39d])
  • Hook callback input keys atomized — Hook callbacks now receive atom-keyed maps (e.g., %{tool_name: "Bash"}) instead of string-keyed maps. ([0fcc415])

Fixed

  • :setting_sources documentation — Corrected example to use strings (["user", "project", "local"]) instead of atoms. ([bc2ba7a])