Skip to content

[Bug] macOS 上 Keychain 返回 hex 编码数据导致 usage segment 无法显示 #62

@dykevinli924

Description

@dykevinli924

问题描述

在 macOS 上,usage 部分无法显示 API 使用率。

原因分析

  1. macOS 上 Claude Code 将 credentials 存储在 Keychain 中
  2. security find-generic-password -w 返回的是 hex 编码 的 JSON,而不是纯 JSON
  3. credentials.rs 中的 get_oauth_token_macos() 尝试直接用 serde_json::from_str() 解析,失败
  4. 解析失败后返回 None,而不是 fallback 到文件读取 ~/.claude/.credentials.json

复现步骤

  1. macOS 系统
  2. Claude Code 已登录(Keychain 中有 credentials)
  3. 启用 usage segment
  4. 观察状态行,usage 不显示

期望行为

  • 优先尝试解析 Keychain 返回的数据
  • 如果解析失败,fallback 到文件读取 ~/.claude/.credentials.json

环境信息

  • macOS (Apple Silicon)
  • ccline 1.0.9
  • Claude Code 最新版

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions